Explorar o código

:memo: Add move range, native squad and img

DricomDragon hai 2 meses
pai
achega
232cd0dd92

+ 3 - 0
dev-front/src/Mech.tsx

@@ -3,6 +3,9 @@ type Mech = {
     name: string;
     kind: string;
     health: number;
+    move: number;
+    squad: string;
+    img: string;
 }
 
 export default Mech;

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 248
dev-front/src/mech/mech-data.json


+ 3 - 2
dev-front/src/mech/squad/Member.tsx

@@ -1,5 +1,4 @@
 import React from 'react';
-import logo from '../../logo.svg';
 import Mech from '../../Mech';
 import { isEmptySlot } from '../../MechUtils'
 
@@ -13,10 +12,12 @@ function Member({mech, remover} : MemberProps) {
         <div className='mech-member'>
             <h3>{mech.name}</h3>
             <div className='mech-description'>
-                <img src={logo} alt='Mech picture' />
+                <img src={mech.img} alt='Mech picture' />
                 <ul className='mech-stats'>
                     <li>Class : {mech.kind}</li>
                     <li>Health : {mech.health}</li>
+                    <li>Move range : {mech.move}</li>
+                    <li>From : {mech.squad}</li>
                 </ul>
             </div>
             <button onClick={event => remover()} disabled={isEmptySlot(mech)}>Remove</button>

+ 1 - 1
dev-front/src/mech/squad/Squad.tsx

@@ -26,7 +26,7 @@ function isSquadFull(squad: Mech[]) {
 
 function Squad({pickObservers} : {pickObservers: {[key: string] : MechObserver}}) {
 
-    const placeHolder: Mech = {id: -1, name: 'Empty slot', kind: '_', health: 0};
+    const placeHolder: Mech = {id: -1, name: 'Empty slot', kind: '_', health: 0, move: 0, squad: '_', img: logo};
     const [squadMechs, setSquadMechs] = useState([placeHolder, placeHolder, placeHolder]);
     const [squadName, setSquadName] = useState('Custom squad');
 

+ 1 - 0
sample-data/.gitignore

@@ -0,0 +1 @@
+temp/

+ 5 - 0
sample-data/README.md

@@ -0,0 +1,5 @@
+# Mech data
+
+Mech are bundled with the app to make it load faster and be server independant.
+
+This way, we can still make squads, but we just can't push them in the server.

+ 1 - 0
sample-data/class.txt

@@ -36,6 +36,7 @@ Ranged
 Science
 Prime
 Brute
+Brute
 Prime
 Ranged
 Science

+ 1 - 0
sample-data/hp.txt

@@ -36,6 +36,7 @@
 2
 3
 2
+2
 4
 2
 3

+ 42 - 0
sample-data/img_url.txt

@@ -0,0 +1,42 @@
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/cc/Mech_punch.png/revision/latest?cb=20180301131447
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4a/Mech_tank.png/revision/latest?cb=20180301131454
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/94/Mech_artillery.png/revision/latest?cb=20180301131424
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/de/Mech_judo.png/revision/latest?cb=20180301131437
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/10/Mech_dstrike.png/revision/latest?cb=20180301131425
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_grav.png/revision/latest?cb=20180301131428
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/17/Mech_jet.png/revision/latest?cb=20180301131435
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/21/Mech_rocket.png/revision/latest?cb=20180301131451
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/a/a0/Mech_pulse.png/revision/latest?cb=20180301131445
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/06/Mech_flame.png/revision/latest?cb=20180301131427
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/c5/Mech_ignite.png/revision/latest?cb=20180301131433
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_tele.png/revision/latest?cb=20180301131456
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/e/e3/Mech_laser.png/revision/latest?cb=20180301131438
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/f6/Mech_charge.png/revision/latest?cb=20180301131424
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/27/Mech_science.png/revision/latest?cb=20180301131452
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/6d/Mech_guard.png/revision/latest?cb=20180301131429
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/5/53/Mech_mirror.png/revision/latest?cb=20180301131442
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ce/Mech_ice.png/revision/latest?cb=20180301131431
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ca/Mech_electric.png/revision/latest?cb=20180301131426
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/79/Mech_wall.png/revision/latest?cb=20180301131459
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/9e/Mech_rockart.png/revision/latest?cb=20180301131449
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b4/Mech_leap.png/revision/latest?cb=20180301131440
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/78/Mech_unstable.png/revision/latest?cb=20180301131458
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4e/Mech_nano.png/revision/latest?cb=20180301131443
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/3b/Vek_beetle.png/revision/latest?cb=20180301131500
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Vek_hornet.png/revision/latest?cb=20180301131501
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/44/Vek_scarab.png/revision/latest?cb=20180301131502
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/8/80/Pierce_Mech.png/revision/latest?cb=20220720143039
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d6/Bombling_Mech.png/revision/latest?cb=20220720143147
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/91/Exchange_Mech.png/revision/latest?cb=20220720143245
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/61/Bulk_Mech.png/revision/latest?cb=20220724172704
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/7d/Arachnoid_Mech.png/revision/latest?cb=20220724173042
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/da/Slide_Mech.png/revision/latest?cb=20220724173156
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/11/Thruster_Mech.png/revision/latest?cb=20220724172719
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0f/Smog_Mech.png/revision/latest?cb=20220724172937
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b2/Control_Mech.png/revision/latest?cb=20220724173239
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Dispersal_Mech.png/revision/latest?cb=20220724172832
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/fd/Quick-Fire_Mech.png/revision/latest?cb=20220724172749
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Napalm_Mech.png/revision/latest?cb=20220724173521
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/64/Pitcher_Mech.png/revision/latest?cb=20220724172805
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Triptych_Mech.png/revision/latest?cb=20220724173118
+https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/39/Drill_Mech.png/revision/latest?cb=20220724173216

+ 1 - 0
sample-data/mech.txt

@@ -35,6 +35,7 @@ Thruster
 Smog
 Control
 Dispersal
+Quick-Fire
 Napalm
 Pitcher
 Triptych

+ 42 - 0
sample-data/move.txt

@@ -0,0 +1,42 @@
+3
+3
+3
+4
+3
+4
+4
+3
+4
+3
+3
+4
+3
+3
+4
+4
+3
+3
+3
+3
+3
+4
+3
+4
+3
+4
+3
+4
+3
+3
+3
+3
+4
+4
+3
+4
+3
+4
+4
+4
+3
+4

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 43 - 84
sample-data/reduced-table.html


+ 43 - 41
sample-data/sample.csv

@@ -1,41 +1,43 @@
-Combat,Prime,3
-Cannon,Brute,3
-Artillery,Ranged,2
-Judo,Prime,3
-Siege,Ranged,2
-Gravity,Science,3
-Jet,Brute,2
-Rocket,Ranged,3
-Pulse,Science,3
-Flame,Prime,3
-Meteor,Ranged,3
-Swap,Science,2
-Laser,Prime,3
-Charge,Brute,3
-Defense,Science,2
-Aegis,Prime,3
-Mirror,Brute,3
-Ice,Ranged,2
-Lightning,Prime,3
-Hook,Brute,3
-Boulder,Ranged,2
-Leap,Prime,3
-Unstable,Brute,3
-Nano,Science,2
-Beetle,Cyborg,3
-Hornet,Cyborg,2
-Scarab,Cyborg,2
-Pierce,Brute,3
-Bombling,Ranged,3
-Exchange,Science,2
-Bulk,Brute,3
-Arachnoid,Ranged,3
-Slide,Science,2
-Thruster,Brute,3
-Smog,Ranged,3
-Control,Science,2
-Dispersal,Prime,3
-Napalm,Brute,2
-Pitcher,Prime,4
-Triptych,Ranged,2
-Drill,Science,3
+id,name,kind,health,move,squad,img
+1,Combat,Prime,3,3,Rift Walkers,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/cc/Mech_punch.png/revision/latest?cb=20180301131447
+2,Cannon,Brute,3,3,Rift Walkers,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4a/Mech_tank.png/revision/latest?cb=20180301131454
+3,Artillery,Ranged,2,3,Rift Walkers,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/94/Mech_artillery.png/revision/latest?cb=20180301131424
+4,Judo,Prime,3,4,Steel Judoka,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/de/Mech_judo.png/revision/latest?cb=20180301131437
+5,Siege,Ranged,2,3,Steel Judoka,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/10/Mech_dstrike.png/revision/latest?cb=20180301131425
+6,Gravity,Science,3,4,Steel Judoka,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_grav.png/revision/latest?cb=20180301131428
+7,Jet,Brute,2,4,Rusting Hulks,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/17/Mech_jet.png/revision/latest?cb=20180301131435
+8,Rocket,Ranged,3,3,Rusting Hulks,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/21/Mech_rocket.png/revision/latest?cb=20180301131451
+9,Pulse,Science,3,4,Rusting Hulks,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/a/a0/Mech_pulse.png/revision/latest?cb=20180301131445
+10,Flame,Prime,3,3,Flame Behemoths,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/06/Mech_flame.png/revision/latest?cb=20180301131427
+11,Meteor,Ranged,3,3,Flame Behemoths,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/c5/Mech_ignite.png/revision/latest?cb=20180301131433
+12,Swap,Science,2,4,Flame Behemoths,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_tele.png/revision/latest?cb=20180301131456
+13,Laser,Prime,3,3,Zenith Guard,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/e/e3/Mech_laser.png/revision/latest?cb=20180301131438
+14,Charge,Brute,3,3,Zenith Guard,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/f6/Mech_charge.png/revision/latest?cb=20180301131424
+15,Defense,Science,2,4,Zenith Guard,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/27/Mech_science.png/revision/latest?cb=20180301131452
+16,Aegis,Prime,3,4,Frozen Titans,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/6d/Mech_guard.png/revision/latest?cb=20180301131429
+17,Mirror,Brute,3,3,Frozen Titans,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/5/53/Mech_mirror.png/revision/latest?cb=20180301131442
+18,Ice,Ranged,2,3,Frozen Titans,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ce/Mech_ice.png/revision/latest?cb=20180301131431
+19,Lightning,Prime,3,3,Blitzkrieg,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ca/Mech_electric.png/revision/latest?cb=20180301131426
+20,Hook,Brute,3,3,Blitzkrieg,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/79/Mech_wall.png/revision/latest?cb=20180301131459
+21,Boulder,Ranged,2,3,Blitzkrieg,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/9e/Mech_rockart.png/revision/latest?cb=20180301131449
+22,Leap,Prime,3,4,Hazardous  Mechs,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b4/Mech_leap.png/revision/latest?cb=20180301131440
+23,Unstable,Brute,3,3,Hazardous  Mechs,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/78/Mech_unstable.png/revision/latest?cb=20180301131458
+24,Nano,Science,2,4,Hazardous  Mechs,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4e/Mech_nano.png/revision/latest?cb=20180301131443
+25,Beetle,Cyborg,3,3,Secret Squad,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/3b/Vek_beetle.png/revision/latest?cb=20180301131500
+26,Hornet,Cyborg,2,4,Secret Squad,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Vek_hornet.png/revision/latest?cb=20180301131501
+27,Scarab,Cyborg,2,3,Secret Squad,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/44/Vek_scarab.png/revision/latest?cb=20180301131502
+28,Pierce,Brute,3,4,Bombermechs,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/8/80/Pierce_Mech.png/revision/latest?cb=20220720143039
+29,Bombling,Ranged,3,3,Bombermechs,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d6/Bombling_Mech.png/revision/latest?cb=20220720143147
+30,Exchange,Science,2,3,Bombermechs,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/91/Exchange_Mech.png/revision/latest?cb=20220720143245
+31,Bulk,Brute,3,3,Arachnophiles,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/61/Bulk_Mech.png/revision/latest?cb=20220724172704
+32,Arachnoid,Ranged,3,3,Arachnophiles,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/7d/Arachnoid_Mech.png/revision/latest?cb=20220724173042
+33,Slide,Science,2,4,Arachnophiles,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/da/Slide_Mech.png/revision/latest?cb=20220724173156
+34,Thruster,Brute,3,4,Mist Eaters,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/11/Thruster_Mech.png/revision/latest?cb=20220724172719
+35,Smog,Ranged,3,3,Mist Eaters,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0f/Smog_Mech.png/revision/latest?cb=20220724172937
+36,Control,Science,2,4,Mist Eaters,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b2/Control_Mech.png/revision/latest?cb=20220724173239
+37,Dispersal,Prime,3,3,Heat Sinkers,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Dispersal_Mech.png/revision/latest?cb=20220724172832
+38,Quick-Fire,Brute,2,4,Heat Sinkers,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/fd/Quick-Fire_Mech.png/revision/latest?cb=20220724172749
+39,Napalm,Brute,2,4,Heat Sinkers,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Napalm_Mech.png/revision/latest?cb=20220724173521
+40,Pitcher,Prime,4,4,Cataclysm,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/64/Pitcher_Mech.png/revision/latest?cb=20220724172805
+41,Triptych,Ranged,2,3,Cataclysm,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Triptych_Mech.png/revision/latest?cb=20220724173118
+42,Drill,Science,3,4,Cataclysm,https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/39/Drill_Mech.png/revision/latest?cb=20220724173216

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
sample-data/sample.json


+ 380 - 0
sample-data/sample_pretty.json

@@ -0,0 +1,380 @@
+[
+  {
+    "id": 1,
+    "name": "Combat",
+    "kind": "Prime",
+    "health": 3,
+    "move": 3,
+    "squad": "Rift Walkers",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/cc/Mech_punch.png/revision/latest?cb=20180301131447"
+  },
+  {
+    "id": 2,
+    "name": "Cannon",
+    "kind": "Brute",
+    "health": 3,
+    "move": 3,
+    "squad": "Rift Walkers",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4a/Mech_tank.png/revision/latest?cb=20180301131454"
+  },
+  {
+    "id": 3,
+    "name": "Artillery",
+    "kind": "Ranged",
+    "health": 2,
+    "move": 3,
+    "squad": "Rift Walkers",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/94/Mech_artillery.png/revision/latest?cb=20180301131424"
+  },
+  {
+    "id": 4,
+    "name": "Judo",
+    "kind": "Prime",
+    "health": 3,
+    "move": 4,
+    "squad": "Steel Judoka",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/de/Mech_judo.png/revision/latest?cb=20180301131437"
+  },
+  {
+    "id": 5,
+    "name": "Siege",
+    "kind": "Ranged",
+    "health": 2,
+    "move": 3,
+    "squad": "Steel Judoka",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/10/Mech_dstrike.png/revision/latest?cb=20180301131425"
+  },
+  {
+    "id": 6,
+    "name": "Gravity",
+    "kind": "Science",
+    "health": 3,
+    "move": 4,
+    "squad": "Steel Judoka",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_grav.png/revision/latest?cb=20180301131428"
+  },
+  {
+    "id": 7,
+    "name": "Jet",
+    "kind": "Brute",
+    "health": 2,
+    "move": 4,
+    "squad": "Rusting Hulks",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/17/Mech_jet.png/revision/latest?cb=20180301131435"
+  },
+  {
+    "id": 8,
+    "name": "Rocket",
+    "kind": "Ranged",
+    "health": 3,
+    "move": 3,
+    "squad": "Rusting Hulks",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/21/Mech_rocket.png/revision/latest?cb=20180301131451"
+  },
+  {
+    "id": 9,
+    "name": "Pulse",
+    "kind": "Science",
+    "health": 3,
+    "move": 4,
+    "squad": "Rusting Hulks",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/a/a0/Mech_pulse.png/revision/latest?cb=20180301131445"
+  },
+  {
+    "id": 10,
+    "name": "Flame",
+    "kind": "Prime",
+    "health": 3,
+    "move": 3,
+    "squad": "Flame Behemoths",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/06/Mech_flame.png/revision/latest?cb=20180301131427"
+  },
+  {
+    "id": 11,
+    "name": "Meteor",
+    "kind": "Ranged",
+    "health": 3,
+    "move": 3,
+    "squad": "Flame Behemoths",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/c5/Mech_ignite.png/revision/latest?cb=20180301131433"
+  },
+  {
+    "id": 12,
+    "name": "Swap",
+    "kind": "Science",
+    "health": 2,
+    "move": 4,
+    "squad": "Flame Behemoths",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_tele.png/revision/latest?cb=20180301131456"
+  },
+  {
+    "id": 13,
+    "name": "Laser",
+    "kind": "Prime",
+    "health": 3,
+    "move": 3,
+    "squad": "Zenith Guard",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/e/e3/Mech_laser.png/revision/latest?cb=20180301131438"
+  },
+  {
+    "id": 14,
+    "name": "Charge",
+    "kind": "Brute",
+    "health": 3,
+    "move": 3,
+    "squad": "Zenith Guard",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/f6/Mech_charge.png/revision/latest?cb=20180301131424"
+  },
+  {
+    "id": 15,
+    "name": "Defense",
+    "kind": "Science",
+    "health": 2,
+    "move": 4,
+    "squad": "Zenith Guard",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/27/Mech_science.png/revision/latest?cb=20180301131452"
+  },
+  {
+    "id": 16,
+    "name": "Aegis",
+    "kind": "Prime",
+    "health": 3,
+    "move": 4,
+    "squad": "Frozen Titans",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/6d/Mech_guard.png/revision/latest?cb=20180301131429"
+  },
+  {
+    "id": 17,
+    "name": "Mirror",
+    "kind": "Brute",
+    "health": 3,
+    "move": 3,
+    "squad": "Frozen Titans",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/5/53/Mech_mirror.png/revision/latest?cb=20180301131442"
+  },
+  {
+    "id": 18,
+    "name": "Ice",
+    "kind": "Ranged",
+    "health": 2,
+    "move": 3,
+    "squad": "Frozen Titans",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ce/Mech_ice.png/revision/latest?cb=20180301131431"
+  },
+  {
+    "id": 19,
+    "name": "Lightning",
+    "kind": "Prime",
+    "health": 3,
+    "move": 3,
+    "squad": "Blitzkrieg",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ca/Mech_electric.png/revision/latest?cb=20180301131426"
+  },
+  {
+    "id": 20,
+    "name": "Hook",
+    "kind": "Brute",
+    "health": 3,
+    "move": 3,
+    "squad": "Blitzkrieg",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/79/Mech_wall.png/revision/latest?cb=20180301131459"
+  },
+  {
+    "id": 21,
+    "name": "Boulder",
+    "kind": "Ranged",
+    "health": 2,
+    "move": 3,
+    "squad": "Blitzkrieg",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/9e/Mech_rockart.png/revision/latest?cb=20180301131449"
+  },
+  {
+    "id": 22,
+    "name": "Leap",
+    "kind": "Prime",
+    "health": 3,
+    "move": 4,
+    "squad": "Hazardous  Mechs",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b4/Mech_leap.png/revision/latest?cb=20180301131440"
+  },
+  {
+    "id": 23,
+    "name": "Unstable",
+    "kind": "Brute",
+    "health": 3,
+    "move": 3,
+    "squad": "Hazardous  Mechs",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/78/Mech_unstable.png/revision/latest?cb=20180301131458"
+  },
+  {
+    "id": 24,
+    "name": "Nano",
+    "kind": "Science",
+    "health": 2,
+    "move": 4,
+    "squad": "Hazardous  Mechs",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4e/Mech_nano.png/revision/latest?cb=20180301131443"
+  },
+  {
+    "id": 25,
+    "name": "Beetle",
+    "kind": "Cyborg",
+    "health": 3,
+    "move": 3,
+    "squad": "Secret Squad",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/3b/Vek_beetle.png/revision/latest?cb=20180301131500"
+  },
+  {
+    "id": 26,
+    "name": "Hornet",
+    "kind": "Cyborg",
+    "health": 2,
+    "move": 4,
+    "squad": "Secret Squad",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Vek_hornet.png/revision/latest?cb=20180301131501"
+  },
+  {
+    "id": 27,
+    "name": "Scarab",
+    "kind": "Cyborg",
+    "health": 2,
+    "move": 3,
+    "squad": "Secret Squad",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/44/Vek_scarab.png/revision/latest?cb=20180301131502"
+  },
+  {
+    "id": 28,
+    "name": "Pierce",
+    "kind": "Brute",
+    "health": 3,
+    "move": 4,
+    "squad": "Bombermechs",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/8/80/Pierce_Mech.png/revision/latest?cb=20220720143039"
+  },
+  {
+    "id": 29,
+    "name": "Bombling",
+    "kind": "Ranged",
+    "health": 3,
+    "move": 3,
+    "squad": "Bombermechs",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d6/Bombling_Mech.png/revision/latest?cb=20220720143147"
+  },
+  {
+    "id": 30,
+    "name": "Exchange",
+    "kind": "Science",
+    "health": 2,
+    "move": 3,
+    "squad": "Bombermechs",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/91/Exchange_Mech.png/revision/latest?cb=20220720143245"
+  },
+  {
+    "id": 31,
+    "name": "Bulk",
+    "kind": "Brute",
+    "health": 3,
+    "move": 3,
+    "squad": "Arachnophiles",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/61/Bulk_Mech.png/revision/latest?cb=20220724172704"
+  },
+  {
+    "id": 32,
+    "name": "Arachnoid",
+    "kind": "Ranged",
+    "health": 3,
+    "move": 3,
+    "squad": "Arachnophiles",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/7d/Arachnoid_Mech.png/revision/latest?cb=20220724173042"
+  },
+  {
+    "id": 33,
+    "name": "Slide",
+    "kind": "Science",
+    "health": 2,
+    "move": 4,
+    "squad": "Arachnophiles",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/da/Slide_Mech.png/revision/latest?cb=20220724173156"
+  },
+  {
+    "id": 34,
+    "name": "Thruster",
+    "kind": "Brute",
+    "health": 3,
+    "move": 4,
+    "squad": "Mist Eaters",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/11/Thruster_Mech.png/revision/latest?cb=20220724172719"
+  },
+  {
+    "id": 35,
+    "name": "Smog",
+    "kind": "Ranged",
+    "health": 3,
+    "move": 3,
+    "squad": "Mist Eaters",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0f/Smog_Mech.png/revision/latest?cb=20220724172937"
+  },
+  {
+    "id": 36,
+    "name": "Control",
+    "kind": "Science",
+    "health": 2,
+    "move": 4,
+    "squad": "Mist Eaters",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b2/Control_Mech.png/revision/latest?cb=20220724173239"
+  },
+  {
+    "id": 37,
+    "name": "Dispersal",
+    "kind": "Prime",
+    "health": 3,
+    "move": 3,
+    "squad": "Heat Sinkers",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Dispersal_Mech.png/revision/latest?cb=20220724172832"
+  },
+  {
+    "id": 38,
+    "name": "Quick-Fire",
+    "kind": "Brute",
+    "health": 2,
+    "move": 4,
+    "squad": "Heat Sinkers",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/fd/Quick-Fire_Mech.png/revision/latest?cb=20220724172749"
+  },
+  {
+    "id": 39,
+    "name": "Napalm",
+    "kind": "Brute",
+    "health": 2,
+    "move": 4,
+    "squad": "Heat Sinkers",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Napalm_Mech.png/revision/latest?cb=20220724173521"
+  },
+  {
+    "id": 40,
+    "name": "Pitcher",
+    "kind": "Prime",
+    "health": 4,
+    "move": 4,
+    "squad": "Cataclysm",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/64/Pitcher_Mech.png/revision/latest?cb=20220724172805"
+  },
+  {
+    "id": 41,
+    "name": "Triptych",
+    "kind": "Ranged",
+    "health": 2,
+    "move": 3,
+    "squad": "Cataclysm",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Triptych_Mech.png/revision/latest?cb=20220724173118"
+  },
+  {
+    "id": 42,
+    "name": "Drill",
+    "kind": "Science",
+    "health": 3,
+    "move": 4,
+    "squad": "Cataclysm",
+    "img": "https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/39/Drill_Mech.png/revision/latest?cb=20220724173216"
+  }
+]

+ 14 - 0
sample-data/squad.txt

@@ -0,0 +1,14 @@
+Rift Walkers
+Steel Judoka
+Rusting Hulks
+Flame Behemoths
+Zenith Guard
+Frozen Titans
+Blitzkrieg
+Hazardous  Mechs
+Secret Squad
+Bombermechs
+Arachnophiles
+Mist Eaters
+Heat Sinkers
+Cataclysm

+ 42 - 0
sample-data/squad_full.txt

@@ -0,0 +1,42 @@
+Rift Walkers
+Rift Walkers
+Rift Walkers
+Steel Judoka
+Steel Judoka
+Steel Judoka
+Rusting Hulks
+Rusting Hulks
+Rusting Hulks
+Flame Behemoths
+Flame Behemoths
+Flame Behemoths
+Zenith Guard
+Zenith Guard
+Zenith Guard
+Frozen Titans
+Frozen Titans
+Frozen Titans
+Blitzkrieg
+Blitzkrieg
+Blitzkrieg
+Hazardous  Mechs
+Hazardous  Mechs
+Hazardous  Mechs
+Secret Squad
+Secret Squad
+Secret Squad
+Bombermechs
+Bombermechs
+Bombermechs
+Arachnophiles
+Arachnophiles
+Arachnophiles
+Mist Eaters
+Mist Eaters
+Mist Eaters
+Heat Sinkers
+Heat Sinkers
+Heat Sinkers
+Cataclysm
+Cataclysm
+Cataclysm

+ 42 - 0
sample-data/temp/download.sh

@@ -0,0 +1,42 @@
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/cc/Mech_punch.png/revision/latest?cb=20180301131447' > Mech_punch.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4a/Mech_tank.png/revision/latest?cb=20180301131454' > Mech_tank.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/94/Mech_artillery.png/revision/latest?cb=20180301131424' > Mech_artillery.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/de/Mech_judo.png/revision/latest?cb=20180301131437' > Mech_judo.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/10/Mech_dstrike.png/revision/latest?cb=20180301131425' > Mech_dstrike.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_grav.png/revision/latest?cb=20180301131428' > Mech_grav.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/17/Mech_jet.png/revision/latest?cb=20180301131435' > Mech_jet.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/21/Mech_rocket.png/revision/latest?cb=20180301131451' > Mech_rocket.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/a/a0/Mech_pulse.png/revision/latest?cb=20180301131445' > Mech_pulse.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/06/Mech_flame.png/revision/latest?cb=20180301131427' > Mech_flame.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/c5/Mech_ignite.png/revision/latest?cb=20180301131433' > Mech_ignite.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/92/Mech_tele.png/revision/latest?cb=20180301131456' > Mech_tele.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/e/e3/Mech_laser.png/revision/latest?cb=20180301131438' > Mech_laser.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/f6/Mech_charge.png/revision/latest?cb=20180301131424' > Mech_charge.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/2/27/Mech_science.png/revision/latest?cb=20180301131452' > Mech_science.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/6d/Mech_guard.png/revision/latest?cb=20180301131429' > Mech_guard.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/5/53/Mech_mirror.png/revision/latest?cb=20180301131442' > Mech_mirror.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ce/Mech_ice.png/revision/latest?cb=20180301131431' > Mech_ice.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/c/ca/Mech_electric.png/revision/latest?cb=20180301131426' > Mech_electric.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/79/Mech_wall.png/revision/latest?cb=20180301131459' > Mech_wall.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/9e/Mech_rockart.png/revision/latest?cb=20180301131449' > Mech_rockart.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b4/Mech_leap.png/revision/latest?cb=20180301131440' > Mech_leap.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/78/Mech_unstable.png/revision/latest?cb=20180301131458' > Mech_unstable.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/4e/Mech_nano.png/revision/latest?cb=20180301131443' > Mech_nano.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/8/80/Pierce_Mech.png/revision/latest?cb=20220720143039' > Pierce_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/3b/Vek_beetle.png/revision/latest?cb=20180301131500' > Vek_beetle.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Vek_hornet.png/revision/latest?cb=20180301131501' > Vek_hornet.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/4/44/Vek_scarab.png/revision/latest?cb=20180301131502' > Vek_scarab.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d6/Bombling_Mech.png/revision/latest?cb=20220720143147' > Bombling_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/9/91/Exchange_Mech.png/revision/latest?cb=20220720143245' > Exchange_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/61/Bulk_Mech.png/revision/latest?cb=20220724172704' > Bulk_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/7/7d/Arachnoid_Mech.png/revision/latest?cb=20220724173042' > Arachnoid_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/da/Slide_Mech.png/revision/latest?cb=20220724173156' > Slide_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/1/11/Thruster_Mech.png/revision/latest?cb=20220724172719' > Thruster_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0f/Smog_Mech.png/revision/latest?cb=20220724172937' > Smog_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/b/b2/Control_Mech.png/revision/latest?cb=20220724173239' > Control_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Dispersal_Mech.png/revision/latest?cb=20220724172832' > Dispersal_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/f/fd/Quick-Fire_Mech.png/revision/latest?cb=20220724172749' > Quick-Fire_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/d/d9/Napalm_Mech.png/revision/latest?cb=20220724173521' > Napalm_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/6/64/Pitcher_Mech.png/revision/latest?cb=20220724172805' > Pitcher_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/0/0e/Triptych_Mech.png/revision/latest?cb=20220724173118' > Triptych_Mech.png
+curl 'https://static.wikia.nocookie.net/intothebreach_gamepedia_en/images/3/39/Drill_Mech.png/revision/latest?cb=20220724173216' > Drill_Mech.png