refactored data downloader

This commit is contained in:
cdemeyer-teachx
2025-08-20 08:30:07 +09:00
parent dd61d27d98
commit cc78d15068
44 changed files with 248241 additions and 7816 deletions

3
.gitignore vendored
View File

@@ -117,4 +117,5 @@ Thumbs.db
*.dmg
# Logs
*.log
*.log
.specstory/

30688
data/all_moves.json Normal file

File diff suppressed because it is too large Load Diff

5777
data/moves/generation-i.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

12680
data/moves/generation-iii.json Normal file

File diff suppressed because it is too large Load Diff

16635
data/moves/generation-iv.json Normal file

File diff suppressed because it is too large Load Diff

30688
data/moves/generation-ix.json Normal file

File diff suppressed because it is too large Load Diff

19855
data/moves/generation-v.json Normal file

File diff suppressed because it is too large Load Diff

22025
data/moves/generation-vi.json Normal file

File diff suppressed because it is too large Load Diff

26260
data/moves/generation-vii.json Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,221 +0,0 @@
{
"2": {
"id": 2,
"name": "ivysaur",
"types": [
"grass",
"poison"
],
"base_stats": {
"hp": 60,
"attack": 62,
"defense": 63,
"special_attack": 80,
"special_defense": 80,
"speed": 60
},
"abilities": [
"overgrow",
"chlorophyll"
],
"moves": [
14,
15,
20,
22,
29,
33,
34,
36,
38,
45,
46,
70,
72,
73,
74,
75,
76,
77,
79,
80,
81,
92,
99,
102,
104,
111,
113,
115,
117,
133,
148,
156,
164,
173,
174,
182,
188,
189,
200,
202,
203,
204,
206,
207,
210,
213,
214,
216,
218,
219,
230,
235,
237,
241,
249,
263,
267,
270,
275,
282,
290,
311,
331,
345,
363,
388,
402,
412,
437,
438,
445,
447,
474,
491,
496,
497,
520,
526,
580,
590,
803,
851,
885
],
"weight": 130,
"height": 10,
"base_experience": 142
},
"1": {
"id": 1,
"name": "bulbasaur",
"types": [
"grass",
"poison"
],
"base_stats": {
"hp": 45,
"attack": 49,
"defense": 49,
"special_attack": 65,
"special_defense": 65,
"speed": 45
},
"abilities": [
"overgrow",
"chlorophyll"
],
"moves": [
13,
14,
15,
20,
22,
29,
33,
34,
36,
38,
45,
70,
72,
73,
74,
75,
76,
77,
79,
80,
81,
92,
99,
102,
104,
111,
113,
115,
117,
124,
130,
133,
148,
156,
164,
173,
174,
182,
188,
189,
200,
202,
203,
204,
206,
207,
210,
213,
214,
216,
218,
219,
230,
235,
237,
241,
249,
263,
267,
270,
275,
282,
290,
311,
320,
331,
345,
363,
388,
402,
412,
437,
438,
445,
447,
474,
491,
496,
497,
520,
526,
580,
590,
803,
851,
885
],
"weight": 69,
"height": 7,
"base_experience": 64
}
}

View File

@@ -1,412 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0
}
]

View File

@@ -1,494 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-i"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-i"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 0.0,
"generation": "generation-i"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-i"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-i"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 1.0,
"generation": "generation-i"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-i"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-i"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 1.0,
"generation": "generation-i"
}
]

View File

@@ -1,650 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-ii"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-ii"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-ii"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ii"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ii"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-ii"
}
]

View File

@@ -1,650 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-iii"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-iii"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-iii"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iii"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iii"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-iii"
}
]

View File

@@ -1,650 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-iv"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-iv"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-iv"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-iv"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-iv"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-iv"
}
]

View File

@@ -1,722 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "poison",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "bug",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "dragon",
"defending_type": "fairy",
"damage_factor": 0.0,
"generation": "generation-ix"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "dark",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "steel",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fairy",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fairy",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fairy",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-ix"
},
{
"attacking_type": "fairy",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fairy",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-ix"
},
{
"attacking_type": "fairy",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-ix"
}
]

View File

@@ -1,662 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-v"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-v"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ghost",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-v"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "dark",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-v"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-v"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-v"
}
]

View File

@@ -1,722 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "poison",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "bug",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "dragon",
"defending_type": "fairy",
"damage_factor": 0.0,
"generation": "generation-vi"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "dark",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "steel",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fairy",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fairy",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fairy",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-vi"
},
{
"attacking_type": "fairy",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fairy",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vi"
},
{
"attacking_type": "fairy",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vi"
}
]

View File

@@ -1,722 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "poison",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "bug",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "dragon",
"defending_type": "fairy",
"damage_factor": 0.0,
"generation": "generation-vii"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "dark",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "steel",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fairy",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fairy",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fairy",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-vii"
},
{
"attacking_type": "fairy",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fairy",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-vii"
},
{
"attacking_type": "fairy",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-vii"
}
]

View File

@@ -1,722 +0,0 @@
[
{
"attacking_type": "normal",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "normal",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "normal",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fire",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "water",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "water",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "water",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "water",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "water",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "electric",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "electric",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "electric",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "electric",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "electric",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "electric",
"defending_type": "ground",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "water",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "grass",
"defending_type": "dragon",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "ground",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ice",
"defending_type": "ice",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "normal",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fighting",
"defending_type": "ghost",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "poison",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "poison",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "poison",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "poison",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "poison",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "poison",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "poison",
"defending_type": "steel",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "steel",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "electric",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "bug",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "grass",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ground",
"defending_type": "flying",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "flying",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "flying",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "flying",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "flying",
"defending_type": "rock",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "flying",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "flying",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "psychic",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "psychic",
"defending_type": "poison",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "psychic",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "psychic",
"defending_type": "psychic",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "psychic",
"defending_type": "dark",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "grass",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "flying",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "ghost",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "bug",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "rock",
"defending_type": "flying",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "rock",
"defending_type": "bug",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "rock",
"defending_type": "fire",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "rock",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "rock",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "rock",
"defending_type": "ground",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "rock",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ghost",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ghost",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "ghost",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "ghost",
"defending_type": "normal",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "dragon",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "dragon",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "dragon",
"defending_type": "fairy",
"damage_factor": 0.0,
"generation": "generation-viii"
},
{
"attacking_type": "dark",
"defending_type": "ghost",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "dark",
"defending_type": "psychic",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "dark",
"defending_type": "fighting",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "dark",
"defending_type": "dark",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "dark",
"defending_type": "fairy",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "steel",
"defending_type": "rock",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "steel",
"defending_type": "ice",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "steel",
"defending_type": "fairy",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "steel",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "steel",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "steel",
"defending_type": "water",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "steel",
"defending_type": "electric",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fairy",
"defending_type": "fighting",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fairy",
"defending_type": "dragon",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fairy",
"defending_type": "dark",
"damage_factor": 2.0,
"generation": "generation-viii"
},
{
"attacking_type": "fairy",
"defending_type": "poison",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fairy",
"defending_type": "steel",
"damage_factor": 0.5,
"generation": "generation-viii"
},
{
"attacking_type": "fairy",
"defending_type": "fire",
"damage_factor": 0.5,
"generation": "generation-viii"
}
]

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -0,0 +1,479 @@
{
"normal": {
"double_damage_from": [
"fighting"
],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [
"rock",
"steel"
],
"no_damage_from": [
"ghost"
],
"no_damage_to": [
"ghost"
]
},
"fighting": {
"double_damage_from": [
"flying",
"psychic",
"fairy"
],
"double_damage_to": [
"normal",
"rock",
"steel",
"ice",
"dark"
],
"half_damage_from": [
"rock",
"bug",
"dark"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"psychic",
"fairy"
],
"no_damage_from": [],
"no_damage_to": [
"ghost"
]
},
"flying": {
"double_damage_from": [
"rock",
"electric",
"ice"
],
"double_damage_to": [
"fighting",
"bug",
"grass"
],
"half_damage_from": [
"fighting",
"bug",
"grass"
],
"half_damage_to": [
"rock",
"steel",
"electric"
],
"no_damage_from": [
"ground"
],
"no_damage_to": []
},
"poison": {
"double_damage_from": [
"ground",
"psychic"
],
"double_damage_to": [
"grass",
"fairy"
],
"half_damage_from": [
"fighting",
"poison",
"bug",
"grass",
"fairy"
],
"half_damage_to": [
"poison",
"ground",
"rock",
"ghost"
],
"no_damage_from": [],
"no_damage_to": [
"steel"
]
},
"ground": {
"double_damage_from": [
"water",
"grass",
"ice"
],
"double_damage_to": [
"poison",
"rock",
"steel",
"fire",
"electric"
],
"half_damage_from": [
"poison",
"rock"
],
"half_damage_to": [
"bug",
"grass"
],
"no_damage_from": [
"electric"
],
"no_damage_to": [
"flying"
]
},
"rock": {
"double_damage_from": [
"fighting",
"ground",
"steel",
"water",
"grass"
],
"double_damage_to": [
"flying",
"bug",
"fire",
"ice"
],
"half_damage_from": [
"normal",
"flying",
"poison",
"fire"
],
"half_damage_to": [
"fighting",
"ground",
"steel"
],
"no_damage_from": [],
"no_damage_to": []
},
"bug": {
"double_damage_from": [
"flying",
"rock",
"fire"
],
"double_damage_to": [
"grass",
"psychic",
"dark"
],
"half_damage_from": [
"fighting",
"ground",
"grass"
],
"half_damage_to": [
"fighting",
"flying",
"poison",
"ghost",
"steel",
"fire",
"fairy"
],
"no_damage_from": [],
"no_damage_to": []
},
"ghost": {
"double_damage_from": [
"ghost",
"dark"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"poison",
"bug"
],
"half_damage_to": [
"dark"
],
"no_damage_from": [
"normal",
"fighting"
],
"no_damage_to": [
"normal"
]
},
"steel": {
"double_damage_from": [
"fighting",
"ground",
"fire"
],
"double_damage_to": [
"rock",
"ice",
"fairy"
],
"half_damage_from": [
"normal",
"flying",
"rock",
"bug",
"steel",
"grass",
"psychic",
"ice",
"dragon",
"fairy"
],
"half_damage_to": [
"steel",
"fire",
"water",
"electric"
],
"no_damage_from": [
"poison"
],
"no_damage_to": []
},
"fire": {
"double_damage_from": [
"ground",
"rock",
"water"
],
"double_damage_to": [
"bug",
"steel",
"grass",
"ice"
],
"half_damage_from": [
"bug",
"steel",
"fire",
"grass",
"ice",
"fairy"
],
"half_damage_to": [
"rock",
"fire",
"water",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"water": {
"double_damage_from": [
"grass",
"electric"
],
"double_damage_to": [
"ground",
"rock",
"fire"
],
"half_damage_from": [
"steel",
"fire",
"water",
"ice"
],
"half_damage_to": [
"water",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"grass": {
"double_damage_from": [
"flying",
"poison",
"bug",
"fire",
"ice"
],
"double_damage_to": [
"ground",
"rock",
"water"
],
"half_damage_from": [
"ground",
"water",
"grass",
"electric"
],
"half_damage_to": [
"flying",
"poison",
"bug",
"steel",
"fire",
"grass",
"dragon"
],
"no_damage_from": [],
"no_damage_to": []
},
"electric": {
"double_damage_from": [
"ground"
],
"double_damage_to": [
"flying",
"water"
],
"half_damage_from": [
"flying",
"steel",
"electric"
],
"half_damage_to": [
"grass",
"electric",
"dragon"
],
"no_damage_from": [],
"no_damage_to": [
"ground"
]
},
"psychic": {
"double_damage_from": [
"bug",
"ghost",
"dark"
],
"double_damage_to": [
"fighting",
"poison"
],
"half_damage_from": [
"fighting",
"psychic"
],
"half_damage_to": [
"steel",
"psychic"
],
"no_damage_from": [],
"no_damage_to": [
"dark"
]
},
"ice": {
"double_damage_from": [
"fighting",
"rock",
"steel",
"fire"
],
"double_damage_to": [
"flying",
"ground",
"grass",
"dragon"
],
"half_damage_from": [
"ice"
],
"half_damage_to": [
"steel",
"fire",
"water",
"ice"
],
"no_damage_from": [],
"no_damage_to": []
},
"dragon": {
"double_damage_from": [
"ice",
"dragon",
"fairy"
],
"double_damage_to": [
"dragon"
],
"half_damage_from": [
"fire",
"water",
"grass",
"electric"
],
"half_damage_to": [
"steel"
],
"no_damage_from": [],
"no_damage_to": [
"fairy"
]
},
"dark": {
"double_damage_from": [
"fighting",
"bug",
"fairy"
],
"double_damage_to": [
"ghost",
"psychic"
],
"half_damage_from": [
"ghost",
"dark"
],
"half_damage_to": [
"fighting",
"dark",
"fairy"
],
"no_damage_from": [
"psychic"
],
"no_damage_to": []
},
"fairy": {
"double_damage_from": [
"poison",
"steel"
],
"double_damage_to": [
"fighting",
"dragon",
"dark"
],
"half_damage_from": [
"fighting",
"bug",
"dark"
],
"half_damage_to": [
"poison",
"steel",
"fire"
],
"no_damage_from": [
"dragon"
],
"no_damage_to": []
},
"stellar": {
"double_damage_from": [],
"double_damage_to": [],
"half_damage_from": [],
"half_damage_to": [],
"no_damage_from": [],
"no_damage_to": []
}
}

View File

@@ -1,8 +0,0 @@
# Configure the project
cmake -B build -S .
# Build the project (includes tests)
cmake --build build
# Run all tests
cmake --build build --target test

View File

@@ -1,305 +1,208 @@
# Pokemon Data Downloader
# Pokemon Data Tools
A comprehensive tool for downloading Pokemon battle data from the PokeAPI using the `pokebase` library. This tool supports segmented downloading, data validation, and exports data in JSON format optimized for the C++ Pokemon battle simulator.
This directory contains tools for downloading and processing Pokemon data from the PokeAPI.
## Features
## Pokemon Downloader (`pokemon_downloader.py`)
- **Segmented Downloads**: Download specific ranges of Pokemon or moves for testing and incremental data collection
- **Concurrent Processing**: Multi-threaded downloads with configurable worker counts
- **Data Validation**: Built-in JSON schema validation for data integrity
- **Rate Limiting**: Respectful API usage with automatic rate limiting
- **Progress Tracking**: Beautiful progress bars and detailed logging
- **Battle-Ready Data**: Exports complete Pokemon stats, moves, types, and effectiveness data
- **CLI Interface**: Easy-to-use command-line interface with multiple commands
A comprehensive tool for downloading generation-specific Pokemon data from the PokeAPI.
## Installation
### Features
1. Install dependencies:
```bash
cd /testbed
pip install -r tools/requirements.txt
```
- **Type Effectiveness**: Downloads type matchup charts for each generation
- **Pokemon Data**: Downloads Pokemon species data including stats, types, and abilities
- **Moves Data**: Downloads move information filtered by generation availability
- **Progress Tracking**: Uses progress bars and detailed logging
- **Error Handling**: Robust error handling with retry logic
- **Flexible Output**: Configurable output directory structure
2. The tool is ready to use! No additional setup required.
### Usage
## Quick Start
### Download a Small Set of Pokemon (Testing)
#### Basic Usage
```bash
# Download first 5 Pokemon with their moves
python -m tools.data.pokemon_downloader download-pokemon --start 1 --end 5 --include-moves
# Download all data for all generations
python pokemon_downloader.py --all-generations --all-data-types
# Download specific Pokemon (Pikachu)
python -m tools.data.pokemon_downloader download-pokemon --start 25 --end 25 --include-moves
# Download specific generations and data types
python pokemon_downloader.py --generations generation-i,generation-ii --data-types types,pokemon
# Download only type effectiveness for Generation I
python pokemon_downloader.py --generations generation-i --data-types types
```
### Download Specific Moves
#### Command Line Options
- `--generations`: Comma-separated list of generations (generation-i, generation-ii, etc.)
- `--all-generations`: Download data for all available generations
- `--data-types`: Comma-separated list of data types (types, pokemon, moves)
- `--all-data-types`: Download all data types
- `--output-dir`: Output directory (default: data)
#### Examples
```bash
# Download first 10 moves
python -m tools.data.pokemon_downloader download-moves --move-ids "1,2,3,4,5,6,7,8,9,10"
# Download Pokemon and moves for Generation I and II
python tools/data/pokemon_downloader.py \
--generations generation-i,generation-ii \
--data-types pokemon,moves \
--output-dir data
# Download all type effectiveness data
python tools/data/pokemon_downloader.py \
--all-generations \
--data-types types
```
### Download Type Effectiveness Data
### Output Structure
```bash
# Download complete type effectiveness chart
python -m tools.data.pokemon_downloader download-types
The tool creates the following directory structure:
```
data/
├── types/
│ ├── generation-i.json
│ ├── generation-ii.json
│ └── ...
├── pokemon/
│ ├── generation-i.json
│ ├── generation-ii.json
│ └── ...
└── moves/
├── generation-i.json
├── generation-ii.json
└── ...
```
### Download Complete Gen 1 Dataset
### Data Formats
```bash
# Download all Gen 1 Pokemon (1-151) with moves and type data
python -m tools.data.pokemon_downloader download-complete --start 1 --end 151
```
## CLI Commands
### Global Options
- `--output-dir`: Directory to save downloaded data (default: `data`)
- `--cache-dir`: Directory for API response caching (default: `.cache`)
- `--no-validation`: Disable data validation before saving
### Commands
#### `download-pokemon`
Download Pokemon data for a specific ID range.
```bash
python -m tools.data.pokemon_downloader download-pokemon [OPTIONS]
```
Options:
- `--start`: Starting Pokemon ID (default: 1)
- `--end`: Ending Pokemon ID (default: 10)
- `--workers`: Number of concurrent workers (default: 5)
- `--include-moves`: Also download moves for these Pokemon
#### `download-moves`
Download specific moves by ID.
```bash
python -m tools.data.pokemon_downloader download-moves --move-ids "1,2,3,4,5"
```
Options:
- `--move-ids`: Comma-separated list of move IDs
- `--workers`: Number of concurrent workers (default: 5)
#### `download-types`
Download type effectiveness data.
```bash
python -m tools.data.pokemon_downloader download-types
```
#### `download-complete`
Download complete dataset (Pokemon, moves, and type effectiveness).
```bash
python -m tools.data.pokemon_downloader download-complete [OPTIONS]
```
Options:
- `--start`: Starting Pokemon ID (default: 1)
- `--end`: Ending Pokemon ID (default: 151 for Gen 1)
- `--workers`: Number of concurrent workers (default: 5)
## Data Structure
### Pokemon Data Format
#### Type Effectiveness (`types/generation-X.json`)
```json
{
"1": {
"id": 1,
"name": "bulbasaur",
"types": ["grass", "poison"],
"base_stats": {
"hp": 45,
"attack": 49,
"defense": 49,
"special_attack": 65,
"special_defense": 65,
"speed": 45
},
"abilities": ["overgrow", "chlorophyll"],
"moves": [1, 2, 3, 4, ...],
"weight": 69,
"height": 7,
"base_experience": 64
"fire": {
"double_damage_from": ["water", "ground", "rock"],
"double_damage_to": ["grass", "ice", "bug", "steel"],
"half_damage_from": ["fire", "water", "rock", "dragon"],
"half_damage_to": ["fire", "water", "rock", "dragon"],
"no_damage_from": ["fire"],
"no_damage_to": ["fire"]
}
}
```
### Move Data Format
```json
{
"1": {
"id": 1,
"name": "pound",
"type": "normal",
"power": 40,
"accuracy": 100,
"pp": 35,
"priority": 0,
"damage_class": "physical",
"effect_id": null,
"effect_chance": null,
"target": "selected-pokemon",
"description": "Inflicts regular damage."
}
}
```
### Type Effectiveness Format
#### Pokemon Data (`pokemon/generation-X.json`)
```json
[
{
"attacking_type": "fire",
"defending_type": "grass",
"damage_factor": 2.0
},
{
"attacking_type": "water",
"defending_type": "fire",
"damage_factor": 2.0
"id": 1,
"name": "bulbasaur",
"types": ["grass", "poison"],
"stats": {
"hp": 45,
"attack": 49,
"defense": 49,
"special-attack": 65,
"special-defense": 65,
"speed": 45
},
"abilities": [...],
"species": {
"generation": "generation-i",
"is_legendary": false,
"is_mythical": false
}
}
]
```
## Examples
#### Moves Data (`moves/generation-X.json`)
### Basic Usage (Python API)
```python
from pathlib import Path
from tools.data.pokemon_downloader import PokemonDownloader
# Initialize downloader
downloader = PokemonDownloader(
output_dir=Path("my_pokemon_data"),
validate_data=True
)
# Download first 10 Pokemon
pokemon_data = downloader.download_pokemon_batch(1, 10)
downloader.save_pokemon_data(pokemon_data, "starter_pokemon.json")
# Download some moves
move_ids = [1, 2, 3, 4, 5] # Pound, Karate Chop, etc.
moves_data = downloader.download_moves_batch(move_ids)
downloader.save_moves_data(moves_data, "basic_moves.json")
# Download type effectiveness
effectiveness = downloader.download_type_effectiveness()
downloader.save_type_effectiveness(effectiveness, "types.json")
```json
[
{
"id": 1,
"name": "pound",
"power": 40,
"pp": 35,
"accuracy": 100,
"type": "normal",
"damage_class": "physical",
"generation": "generation-i"
}
]
```
### Testing Small Segments
### Dependencies
```python
# Test with just 3 Pokemon
python tools/data/test_downloader.py
The tool requires the following Python packages (available in `tools/requirements.txt`):
- `requests` - HTTP requests to PokeAPI
- `tqdm` - Progress bars
- `argparse` - Command line argument parsing (built-in)
### API Rate Limiting
The tool includes:
- Retry logic with exponential backoff
- Respectful request timing
- User-agent identification
- Error handling for rate limits
### New Features (Latest Update)
**Efficient Moves Download:**
- Downloads all moves once and saves to `data/all_moves.json`
- Subsequent generations filter from this master file instead of re-downloading
- Dramatically reduces API calls and download time
**Smart Caching:**
- Checks if data files already exist and contain expected amount of data
- Skips re-downloading if files are present and valid
- Supports partial downloads (e.g., if some Pokemon are missing, only downloads missing ones)
**File Structure:**
```
data/
├── all_moves.json # Complete moves database (all generations)
├── types/
│ ├── generation-i.json # Type effectiveness for each generation
│ ├── generation-ii.json
│ └── ...
├── pokemon/
│ ├── generation-i.json # Pokemon data for each generation
│ ├── generation-ii.json
│ └── ...
└── moves/
├── generation-i.json # Moves available in each generation
├── generation-ii.json # (filtered from all_moves.json)
└── ...
```
### Custom Data Validation
### Performance Improvements
```python
from tools.data.schemas import DataValidator
- **Moves**: Downloads all 900+ moves once, then filters per generation
- **Caching**: Checks file existence and validity before downloading
- **Batch Processing**: Downloads complete datasets efficiently
- **Resume Support**: Can continue interrupted downloads
validator = DataValidator()
### Usage Examples with Caching
# Validate Pokemon data
errors = validator.validate_pokemon_collection(pokemon_data)
if errors:
print("Validation errors:", errors)
```
## Performance Considerations
- **Rate Limiting**: The tool implements 100ms delays between API calls to be respectful
- **Concurrent Workers**: Default of 5 workers balances speed with API courtesy
- **Caching**: API responses are cached to avoid redundant requests
- **Memory Usage**: Large datasets are processed in batches to manage memory
## Recommended Usage Patterns
### For Development/Testing
```bash
# Start small - download just a few Pokemon
python -m tools.data.pokemon_downloader download-pokemon --start 1 --end 3 --include-moves
# First run - downloads all data
python tools/data/pokemon_downloader.py --all-generations --all-data-types
# Test specific Pokemon you're interested in
python -m tools.data.pokemon_downloader download-pokemon --start 25 --end 25 --include-moves # Pikachu
# Subsequent runs - uses cached data (much faster!)
python tools/data/pokemon_downloader.py --all-generations --all-data-types
# Only downloads missing data
python tools/data/pokemon_downloader.py --generations generation-v --data-types pokemon
```
### For Production Data
```bash
# Download by generations or batches
python -m tools.data.pokemon_downloader download-pokemon --start 1 --end 50 --include-moves
python -m tools.data.pokemon_downloader download-pokemon --start 51 --end 100 --include-moves
python -m tools.data.pokemon_downloader download-pokemon --start 101 --end 151 --include-moves
### Notes
# Always download type effectiveness data
python -m tools.data.pokemon_downloader download-types
```
### For Complete Gen 1 Dataset
```bash
# One command for everything (will take several minutes)
python -m tools.data.pokemon_downloader download-complete --start 1 --end 151
```
## Data Validation
The tool includes comprehensive JSON schema validation:
- **Pokemon Data**: Validates stats, types, abilities, and structure
- **Move Data**: Validates power, accuracy, PP, and damage classes
- **Type Effectiveness**: Validates damage multipliers and type names
- **Generation 1 Focus**: Ensures only valid Gen 1 types and data
Validation errors are displayed during save operations but don't prevent saving (warnings only).
## Integration with C++ Battle Simulator
The exported JSON files are designed to be easily consumed by the C++ battle simulator:
1. **Pokemon Data**: Direct mapping to Pokemon class properties
2. **Move Data**: Complete move information for battle calculations
3. **Type Effectiveness**: Lookup table for damage calculations
4. **Consistent IDs**: All data uses consistent Pokemon and move IDs
## Troubleshooting
### Common Issues
1. **Network Errors**: The tool retries failed requests automatically
2. **Rate Limiting**: Built-in delays prevent API rate limiting
3. **Memory Usage**: Large downloads are processed in batches
4. **Validation Warnings**: Usually safe to ignore, indicate minor data inconsistencies
### Getting Help
- Run tests: `python tools/data/test_downloader.py`
- Check logs: The tool provides detailed logging for debugging
- Validate data: Use `--no-validation` flag if validation is too strict
## Contributing
To extend the downloader:
1. Add new data structures to `pokemon_downloader.py`
2. Update validation schemas in `schemas.py`
3. Add tests to `test_downloader.py`
4. Update this documentation
## License
This tool is part of the Pokemon Battle Simulator project and follows the same license terms.
- Some Pokemon and moves appear in multiple generations
- Type effectiveness is consistent across generations in the base game
- The tool respects the PokeAPI fair use policy
- Data is cached locally to avoid repeated API calls
- `all_moves.json` contains the complete moves database for efficient filtering

View File

@@ -1,228 +1,94 @@
#!/usr/bin/env python3
"""
Example usage of the Pokemon Data Downloader.
Example usage of the Pokemon Data Downloader
This script demonstrates various ways to use the Pokemon downloader
for different scenarios and use cases.
This script demonstrates how to use the pokemon_downloader.py tool
to download different types of Pokemon data from the PokeAPI.
"""
import subprocess
import sys
from pathlib import Path
# Add the tools directory to Python path for imports
sys.path.insert(0, str(Path(__file__).parent.parent))
def run_command(cmd, description):
"""Run a command and print the description."""
print(f"\n{'='*60}")
print(f"Running: {description}")
print(f"Command: {' '.join(cmd)}")
print(f"{'='*60}")
from data.pokemon_downloader import PokemonDownloader
from data.schemas import DataValidator
from rich.console import Console
from rich.panel import Panel
from rich.table import Table
console = Console()
def example_basic_download():
"""Example 1: Basic Pokemon download."""
console.print(Panel.fit("Example 1: Basic Pokemon Download", style="bold blue"))
# Create downloader with custom output directory
downloader = PokemonDownloader(output_dir=Path("example_data"))
# Download first 3 Pokemon (Bulbasaur, Ivysaur, Venusaur)
console.print("Downloading first 3 Pokemon...")
pokemon_data = downloader.download_pokemon_batch(1, 3, max_workers=2)
if pokemon_data:
# Save to file
downloader.save_pokemon_data(pokemon_data, "starter_pokemon.json")
# Display summary
table = downloader.get_stats_summary(pokemon_data)
console.print(table)
console.print("✅ Basic download complete!\n")
def example_moves_download():
"""Example 2: Download specific moves."""
console.print(Panel.fit("Example 2: Download Specific Moves", style="bold blue"))
downloader = PokemonDownloader(output_dir=Path("example_data"))
# Download some classic moves
classic_moves = [1, 2, 33, 34, 36] # Pound, Karate Chop, Tackle, Body Slam, Take Down
console.print(f"Downloading {len(classic_moves)} classic moves...")
moves_data = downloader.download_moves_batch(classic_moves, max_workers=3)
if moves_data:
downloader.save_moves_data(moves_data, "classic_moves.json")
# Show move details
table = Table(title="Downloaded Moves")
table.add_column("Name", style="cyan")
table.add_column("Type", style="green")
table.add_column("Power", style="magenta")
table.add_column("Accuracy", style="yellow")
for move in moves_data.values():
power_str = str(move.power) if move.power else ""
accuracy_str = str(move.accuracy) if move.accuracy else ""
table.add_row(
move.name.title(),
move.type.title(),
power_str,
accuracy_str
)
console.print(table)
console.print("✅ Moves download complete!\n")
def example_validation():
"""Example 3: Data validation."""
console.print(Panel.fit("Example 3: Data Validation", style="bold blue"))
validator = DataValidator()
# Create sample Pokemon data for validation
sample_pokemon = {
"25": { # Pikachu
"id": 25,
"name": "pikachu",
"types": ["electric"],
"base_stats": {
"hp": 35,
"attack": 55,
"defense": 40,
"special_attack": 50,
"special_defense": 50,
"speed": 90
},
"abilities": ["static", "lightning-rod"],
"moves": [1, 2, 3, 4, 5],
"weight": 60,
"height": 4,
"base_experience": 112
}
}
# Validate the data
errors = validator.validate_pokemon_collection(sample_pokemon)
if errors:
console.print(f"❌ Validation found {len(errors)} errors:")
for error in errors:
console.print(f" - {error}")
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode == 0:
print("✓ Success!")
if result.stdout:
print("Output:", result.stdout)
else:
console.print("✅ Sample Pokemon data is valid!")
console.print("✅ Validation example complete!\n")
def example_type_effectiveness():
"""Example 4: Download type effectiveness data."""
console.print(Panel.fit("Example 4: Type Effectiveness", style="bold blue"))
downloader = PokemonDownloader(output_dir=Path("example_data"))
console.print("Downloading type effectiveness data...")
effectiveness_data = downloader.download_type_effectiveness()
if effectiveness_data:
downloader.save_type_effectiveness(effectiveness_data, "type_chart.json")
# Show some interesting type matchups
table = Table(title="Sample Type Effectiveness")
table.add_column("Attacking Type", style="cyan")
table.add_column("Defending Type", style="green")
table.add_column("Effectiveness", style="magenta")
# Show super effective matchups
super_effective = [e for e in effectiveness_data if e.damage_factor == 2.0][:5]
for entry in super_effective:
table.add_row(
entry.attacking_type.title(),
entry.defending_type.title(),
"Super Effective (2x)"
)
console.print(table)
console.print(f"Total effectiveness entries: {len(effectiveness_data)}")
console.print("✅ Type effectiveness download complete!\n")
def example_integrated_workflow():
"""Example 5: Integrated workflow - Pokemon with their moves."""
console.print(Panel.fit("Example 5: Integrated Workflow", style="bold blue"))
downloader = PokemonDownloader(output_dir=Path("example_data"))
# Download a specific Pokemon (Charizard)
console.print("Downloading Charizard (ID: 6)...")
pokemon_data = downloader.download_pokemon_batch(6, 6, max_workers=1)
if pokemon_data:
charizard = pokemon_data[6]
console.print(f"✅ Downloaded {charizard.name.title()}")
console.print(f" - Types: {', '.join(charizard.types)}")
console.print(f" - Base stats total: {sum(charizard.base_stats.__dict__.values())}")
console.print(f" - Can learn {len(charizard.moves)} moves")
# Download first 15 moves that Charizard can learn
charizard_moves = charizard.moves[:15]
console.print(f"\nDownloading {len(charizard_moves)} of Charizard's moves...")
moves_data = downloader.download_moves_batch(charizard_moves, max_workers=3)
if moves_data:
# Save both datasets
downloader.save_pokemon_data(pokemon_data, "charizard.json")
downloader.save_moves_data(moves_data, "charizard_moves.json")
# Show some moves
console.print("\nSample moves Charizard can learn:")
for move_id, move in list(moves_data.items())[:5]:
power_str = f"{move.power} power" if move.power else "status move"
console.print(f" - {move.name.title()} ({move.type} type, {power_str})")
console.print("✅ Integrated workflow complete!\n")
print("✗ Failed!")
if result.stderr:
print("Error:", result.stderr)
sys.exit(1)
def main():
"""Run all examples."""
console.print(Panel.fit(
"🔥 Pokemon Data Downloader Examples",
style="bold red"
))
console.print("This script demonstrates various usage patterns for the Pokemon downloader.\n")
# Run examples
try:
example_basic_download()
example_moves_download()
example_validation()
example_type_effectiveness()
example_integrated_workflow()
console.print(Panel.fit(
"🎉 All examples completed successfully!\n\n"
"Check the 'example_data' directory for downloaded files.\n"
"You can now use these patterns in your own projects.",
style="bold green"
))
except KeyboardInterrupt:
console.print("\n⚠️ Examples interrupted by user")
except Exception as e:
console.print(f"\n❌ Error running examples: {e}")
return 1
return 0
"""Demonstrate various usage examples of the Pokemon downloader."""
print("Pokemon Data Downloader - Usage Examples")
print("=========================================")
# Ensure we're in the right directory
if not Path("tools/data/pokemon_downloader.py").exists():
print("Error: Please run this script from the project root directory")
sys.exit(1)
# Example 1: Download type effectiveness for Generation I
run_command([
"python", "tools/data/pokemon_downloader.py",
"--generations", "generation-i",
"--data-types", "types"
], "Download type effectiveness for Generation I")
# Example 2: Download Pokemon data for multiple generations
run_command([
"python", "tools/data/pokemon_downloader.py",
"--generations", "generation-i,generation-ii",
"--data-types", "pokemon"
], "Download Pokemon data for Generations I and II")
# Example 3: Download moves data for Generation I
run_command([
"python", "tools/data/pokemon_downloader.py",
"--generations", "generation-i",
"--data-types", "moves"
], "Download moves data for Generation I")
# Example 4: Download all data types for one generation
run_command([
"python", "tools/data/pokemon_downloader.py",
"--generations", "generation-i",
"--all-data-types"
], "Download all data types for Generation I")
# Example 5: Download specific data to custom directory
custom_dir = "my_pokemon_data"
run_command([
"python", "tools/data/pokemon_downloader.py",
"--generations", "generation-i",
"--data-types", "types",
"--output-dir", custom_dir
], f"Download type data to custom directory: {custom_dir}")
# Show help
print(f"\n{'='*60}")
print("Available command line options:")
print(f"{'='*60}")
subprocess.run([
"python", "tools/data/pokemon_downloader.py", "--help"
])
print(f"\n{'='*60}")
print("Examples completed successfully!")
print("Check the 'data' directory for downloaded files.")
print(f"{'='*60}")
if __name__ == "__main__":
sys.exit(main())
main()

1128
tools/data/pokemon_downloader.py Normal file → Executable file

File diff suppressed because it is too large Load Diff