type effectiveness per generation
This commit is contained in:
494
data/type_effectiveness_generation-i.json
Normal file
494
data/type_effectiveness_generation-i.json
Normal file
@@ -0,0 +1,494 @@
|
||||
[
|
||||
{
|
||||
"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": 0.5,
|
||||
"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": 0.5,
|
||||
"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": 0.5,
|
||||
"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": 2.0,
|
||||
"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": 0.5,
|
||||
"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": 0.5,
|
||||
"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": 0.5,
|
||||
"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": 2.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": 0.5,
|
||||
"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": 2.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": 2.0,
|
||||
"generation": "generation-i"
|
||||
}
|
||||
]
|
||||
650
data/type_effectiveness_generation-ii.json
Normal file
650
data/type_effectiveness_generation-ii.json
Normal file
@@ -0,0 +1,650 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
650
data/type_effectiveness_generation-iii.json
Normal file
650
data/type_effectiveness_generation-iii.json
Normal file
@@ -0,0 +1,650 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
650
data/type_effectiveness_generation-iv.json
Normal file
650
data/type_effectiveness_generation-iv.json
Normal file
@@ -0,0 +1,650 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
722
data/type_effectiveness_generation-ix.json
Normal file
722
data/type_effectiveness_generation-ix.json
Normal file
@@ -0,0 +1,722 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
662
data/type_effectiveness_generation-v.json
Normal file
662
data/type_effectiveness_generation-v.json
Normal file
@@ -0,0 +1,662 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
722
data/type_effectiveness_generation-vi.json
Normal file
722
data/type_effectiveness_generation-vi.json
Normal file
@@ -0,0 +1,722 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
722
data/type_effectiveness_generation-vii.json
Normal file
722
data/type_effectiveness_generation-vii.json
Normal file
@@ -0,0 +1,722 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
722
data/type_effectiveness_generation-viii.json
Normal file
722
data/type_effectiveness_generation-viii.json
Normal file
@@ -0,0 +1,722 @@
|
||||
[
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
@@ -1,158 +0,0 @@
|
||||
{
|
||||
"6": {
|
||||
"id": 6,
|
||||
"name": "charizard",
|
||||
"types": [
|
||||
"fire",
|
||||
"flying"
|
||||
],
|
||||
"base_stats": {
|
||||
"hp": 78,
|
||||
"attack": 84,
|
||||
"defense": 78,
|
||||
"special_attack": 109,
|
||||
"special_defense": 85,
|
||||
"speed": 100
|
||||
},
|
||||
"abilities": [
|
||||
"blaze",
|
||||
"solar-power"
|
||||
],
|
||||
"moves": [
|
||||
5,
|
||||
7,
|
||||
9,
|
||||
10,
|
||||
14,
|
||||
15,
|
||||
17,
|
||||
19,
|
||||
25,
|
||||
29,
|
||||
34,
|
||||
36,
|
||||
38,
|
||||
43,
|
||||
44,
|
||||
45,
|
||||
46,
|
||||
52,
|
||||
53,
|
||||
63,
|
||||
66,
|
||||
68,
|
||||
69,
|
||||
70,
|
||||
76,
|
||||
82,
|
||||
83,
|
||||
89,
|
||||
90,
|
||||
91,
|
||||
92,
|
||||
99,
|
||||
102,
|
||||
104,
|
||||
108,
|
||||
111,
|
||||
115,
|
||||
117,
|
||||
126,
|
||||
129,
|
||||
130,
|
||||
154,
|
||||
156,
|
||||
157,
|
||||
163,
|
||||
164,
|
||||
173,
|
||||
174,
|
||||
182,
|
||||
184,
|
||||
187,
|
||||
189,
|
||||
200,
|
||||
201,
|
||||
203,
|
||||
206,
|
||||
207,
|
||||
210,
|
||||
211,
|
||||
213,
|
||||
214,
|
||||
216,
|
||||
218,
|
||||
223,
|
||||
225,
|
||||
231,
|
||||
232,
|
||||
237,
|
||||
239,
|
||||
241,
|
||||
242,
|
||||
246,
|
||||
249,
|
||||
251,
|
||||
257,
|
||||
261,
|
||||
263,
|
||||
264,
|
||||
270,
|
||||
280,
|
||||
290,
|
||||
299,
|
||||
307,
|
||||
311,
|
||||
314,
|
||||
315,
|
||||
317,
|
||||
332,
|
||||
337,
|
||||
349,
|
||||
355,
|
||||
363,
|
||||
366,
|
||||
374,
|
||||
394,
|
||||
403,
|
||||
406,
|
||||
407,
|
||||
411,
|
||||
416,
|
||||
421,
|
||||
424,
|
||||
432,
|
||||
445,
|
||||
466,
|
||||
468,
|
||||
481,
|
||||
488,
|
||||
496,
|
||||
497,
|
||||
507,
|
||||
510,
|
||||
512,
|
||||
517,
|
||||
519,
|
||||
523,
|
||||
525,
|
||||
526,
|
||||
535,
|
||||
542,
|
||||
590,
|
||||
595,
|
||||
612,
|
||||
693,
|
||||
784,
|
||||
799,
|
||||
814,
|
||||
815,
|
||||
851,
|
||||
913,
|
||||
915
|
||||
],
|
||||
"weight": 905,
|
||||
"height": 17,
|
||||
"base_experience": 240
|
||||
}
|
||||
}
|
||||
@@ -1,212 +0,0 @@
|
||||
{
|
||||
"5": {
|
||||
"id": 5,
|
||||
"name": "mega-punch",
|
||||
"type": "normal",
|
||||
"power": 80,
|
||||
"accuracy": 85,
|
||||
"pp": 20,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Inflicts regular damage with no additional effect."
|
||||
},
|
||||
"7": {
|
||||
"id": 7,
|
||||
"name": "fire-punch",
|
||||
"type": "fire",
|
||||
"power": 75,
|
||||
"accuracy": 100,
|
||||
"pp": 15,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": 10,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Has a 10% chance to burn the target."
|
||||
},
|
||||
"9": {
|
||||
"id": 9,
|
||||
"name": "thunder-punch",
|
||||
"type": "electric",
|
||||
"power": 75,
|
||||
"accuracy": 100,
|
||||
"pp": 15,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": 10,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Has a 10% chance to paralyze the target."
|
||||
},
|
||||
"10": {
|
||||
"id": 10,
|
||||
"name": "scratch",
|
||||
"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 with no additional effect."
|
||||
},
|
||||
"17": {
|
||||
"id": 17,
|
||||
"name": "wing-attack",
|
||||
"type": "flying",
|
||||
"power": 60,
|
||||
"accuracy": 100,
|
||||
"pp": 35,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Inflicts regular damage with no additional effect."
|
||||
},
|
||||
"14": {
|
||||
"id": 14,
|
||||
"name": "swords-dance",
|
||||
"type": "normal",
|
||||
"power": null,
|
||||
"accuracy": null,
|
||||
"pp": 20,
|
||||
"priority": 0,
|
||||
"damage_class": "status",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "user",
|
||||
"description": "Raises the user's Attack by two stages."
|
||||
},
|
||||
"15": {
|
||||
"id": 15,
|
||||
"name": "cut",
|
||||
"type": "normal",
|
||||
"power": 50,
|
||||
"accuracy": 95,
|
||||
"pp": 30,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Inflicts regular damage with no additional effect."
|
||||
},
|
||||
"19": {
|
||||
"id": 19,
|
||||
"name": "fly",
|
||||
"type": "flying",
|
||||
"power": 90,
|
||||
"accuracy": 95,
|
||||
"pp": 15,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "User flies high into the air, dodging all attacks, and hits next turn."
|
||||
},
|
||||
"25": {
|
||||
"id": 25,
|
||||
"name": "mega-kick",
|
||||
"type": "normal",
|
||||
"power": 120,
|
||||
"accuracy": 75,
|
||||
"pp": 5,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Inflicts regular damage with no additional effect."
|
||||
},
|
||||
"29": {
|
||||
"id": 29,
|
||||
"name": "headbutt",
|
||||
"type": "normal",
|
||||
"power": 70,
|
||||
"accuracy": 100,
|
||||
"pp": 15,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": 30,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Has a 30% chance to make the target flinch."
|
||||
},
|
||||
"34": {
|
||||
"id": 34,
|
||||
"name": "body-slam",
|
||||
"type": "normal",
|
||||
"power": 85,
|
||||
"accuracy": 100,
|
||||
"pp": 15,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": 30,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Has a 30% chance to paralyze the target."
|
||||
},
|
||||
"36": {
|
||||
"id": 36,
|
||||
"name": "take-down",
|
||||
"type": "normal",
|
||||
"power": 90,
|
||||
"accuracy": 85,
|
||||
"pp": 20,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "User receives 1/4 the damage it inflicts in recoil."
|
||||
},
|
||||
"43": {
|
||||
"id": 43,
|
||||
"name": "leer",
|
||||
"type": "normal",
|
||||
"power": null,
|
||||
"accuracy": 100,
|
||||
"pp": 30,
|
||||
"priority": 0,
|
||||
"damage_class": "status",
|
||||
"effect_id": null,
|
||||
"effect_chance": 100,
|
||||
"target": "all-opponents",
|
||||
"description": "Lowers the target's Defense by one stage."
|
||||
},
|
||||
"38": {
|
||||
"id": 38,
|
||||
"name": "double-edge",
|
||||
"type": "normal",
|
||||
"power": 120,
|
||||
"accuracy": 100,
|
||||
"pp": 15,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "User receives 1/3 the damage inflicted in recoil."
|
||||
},
|
||||
"44": {
|
||||
"id": 44,
|
||||
"name": "bite",
|
||||
"type": "dark",
|
||||
"power": 60,
|
||||
"accuracy": 100,
|
||||
"pp": 25,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": 30,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Has a 30% chance to make the target flinch."
|
||||
}
|
||||
}
|
||||
@@ -1,72 +0,0 @@
|
||||
{
|
||||
"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 with no additional effect."
|
||||
},
|
||||
"2": {
|
||||
"id": 2,
|
||||
"name": "karate-chop",
|
||||
"type": "fighting",
|
||||
"power": 50,
|
||||
"accuracy": 100,
|
||||
"pp": 25,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Has an increased chance for a critical hit."
|
||||
},
|
||||
"33": {
|
||||
"id": 33,
|
||||
"name": "tackle",
|
||||
"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 with no additional effect."
|
||||
},
|
||||
"34": {
|
||||
"id": 34,
|
||||
"name": "body-slam",
|
||||
"type": "normal",
|
||||
"power": 85,
|
||||
"accuracy": 100,
|
||||
"pp": 15,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": 30,
|
||||
"target": "selected-pokemon",
|
||||
"description": "Has a 30% chance to paralyze the target."
|
||||
},
|
||||
"36": {
|
||||
"id": 36,
|
||||
"name": "take-down",
|
||||
"type": "normal",
|
||||
"power": 90,
|
||||
"accuracy": 85,
|
||||
"pp": 20,
|
||||
"priority": 0,
|
||||
"damage_class": "physical",
|
||||
"effect_id": null,
|
||||
"effect_chance": null,
|
||||
"target": "selected-pokemon",
|
||||
"description": "User receives 1/4 the damage it inflicts in recoil."
|
||||
}
|
||||
}
|
||||
@@ -1,342 +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
|
||||
},
|
||||
"3": {
|
||||
"id": 3,
|
||||
"name": "venusaur",
|
||||
"types": [
|
||||
"grass",
|
||||
"poison"
|
||||
],
|
||||
"base_stats": {
|
||||
"hp": 80,
|
||||
"attack": 82,
|
||||
"defense": 83,
|
||||
"special_attack": 100,
|
||||
"special_defense": 100,
|
||||
"speed": 80
|
||||
},
|
||||
"abilities": [
|
||||
"overgrow",
|
||||
"chlorophyll"
|
||||
],
|
||||
"moves": [
|
||||
14,
|
||||
15,
|
||||
20,
|
||||
22,
|
||||
29,
|
||||
33,
|
||||
34,
|
||||
36,
|
||||
38,
|
||||
45,
|
||||
46,
|
||||
63,
|
||||
70,
|
||||
72,
|
||||
73,
|
||||
74,
|
||||
75,
|
||||
76,
|
||||
77,
|
||||
79,
|
||||
80,
|
||||
81,
|
||||
89,
|
||||
92,
|
||||
99,
|
||||
102,
|
||||
104,
|
||||
111,
|
||||
113,
|
||||
115,
|
||||
117,
|
||||
133,
|
||||
148,
|
||||
156,
|
||||
164,
|
||||
173,
|
||||
174,
|
||||
182,
|
||||
184,
|
||||
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,
|
||||
335,
|
||||
338,
|
||||
345,
|
||||
363,
|
||||
388,
|
||||
398,
|
||||
402,
|
||||
412,
|
||||
414,
|
||||
416,
|
||||
431,
|
||||
437,
|
||||
438,
|
||||
445,
|
||||
447,
|
||||
474,
|
||||
491,
|
||||
496,
|
||||
497,
|
||||
520,
|
||||
523,
|
||||
526,
|
||||
572,
|
||||
580,
|
||||
590,
|
||||
707,
|
||||
803,
|
||||
805,
|
||||
851,
|
||||
885
|
||||
],
|
||||
"weight": 1000,
|
||||
"height": 20,
|
||||
"base_experience": 236
|
||||
}
|
||||
}
|
||||
@@ -89,6 +89,7 @@ class TypeEffectiveness:
|
||||
attacking_type: str
|
||||
defending_type: str
|
||||
damage_factor: float # 0.0, 0.5, 1.0, 2.0
|
||||
generation: str # generation name (e.g., "generation-i", "generation-ii")
|
||||
|
||||
|
||||
class PokemonDownloader:
|
||||
@@ -235,59 +236,159 @@ class PokemonDownloader:
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to download move {move_id}: {e}")
|
||||
return None
|
||||
|
||||
def download_type_effectiveness(self) -> List[TypeEffectiveness]:
|
||||
|
||||
def download_type_effectiveness(self, target_generation: str = "generation-i") -> List[TypeEffectiveness]:
|
||||
"""
|
||||
Download type effectiveness data.
|
||||
|
||||
Download type effectiveness data for a specific generation.
|
||||
|
||||
Args:
|
||||
target_generation: Generation to get effectiveness for (default: "generation-i")
|
||||
|
||||
Returns:
|
||||
List of TypeEffectiveness objects
|
||||
List of TypeEffectiveness objects for the specified generation
|
||||
"""
|
||||
effectiveness_data = []
|
||||
|
||||
|
||||
try:
|
||||
# Get all types (Gen 1 has 15 types)
|
||||
gen1_types = [
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon'
|
||||
# First, build a cache of type generations to avoid repeated API calls
|
||||
console.print("🔍 Building type generation cache...")
|
||||
type_generations = self._build_type_generation_cache()
|
||||
|
||||
# Filter types that exist in the target generation
|
||||
target_gen_index = self._generation_order.index(target_generation)
|
||||
valid_types = [
|
||||
type_name for type_name, gen_name in type_generations.items()
|
||||
if self._generation_order.index(gen_name) <= target_gen_index
|
||||
]
|
||||
|
||||
for type_name in gen1_types:
|
||||
type_data = self._safe_api_call(pb.type_, type_name)
|
||||
|
||||
# Double damage to
|
||||
for relation in type_data.damage_relations.double_damage_to:
|
||||
if relation.name in gen1_types:
|
||||
|
||||
console.print(f"📊 Processing {len(valid_types)} types for {target_generation}")
|
||||
|
||||
for type_name in valid_types:
|
||||
try:
|
||||
type_data = self._safe_api_call(pb.type_, type_name)
|
||||
|
||||
# Process current damage relations for the target generation
|
||||
current_relations = self._get_damage_relations_for_generation(
|
||||
type_data, target_generation, type_generations
|
||||
)
|
||||
|
||||
# Add current generation effectiveness data
|
||||
for defending_type, damage_factor in current_relations.items():
|
||||
effectiveness_data.append(TypeEffectiveness(
|
||||
attacking_type=type_name,
|
||||
defending_type=relation.name,
|
||||
damage_factor=2.0
|
||||
defending_type=defending_type,
|
||||
damage_factor=damage_factor,
|
||||
generation=target_generation
|
||||
))
|
||||
|
||||
# Half damage to
|
||||
for relation in type_data.damage_relations.half_damage_to:
|
||||
if relation.name in gen1_types:
|
||||
effectiveness_data.append(TypeEffectiveness(
|
||||
attacking_type=type_name,
|
||||
defending_type=relation.name,
|
||||
damage_factor=0.5
|
||||
))
|
||||
|
||||
# No damage to
|
||||
for relation in type_data.damage_relations.no_damage_to:
|
||||
if relation.name in gen1_types:
|
||||
effectiveness_data.append(TypeEffectiveness(
|
||||
attacking_type=type_name,
|
||||
defending_type=relation.name,
|
||||
damage_factor=0.0
|
||||
))
|
||||
|
||||
|
||||
except Exception as e:
|
||||
logger.warning(f"Failed to process type {type_name}: {e}")
|
||||
continue
|
||||
|
||||
console.print(f"✅ Processed {len(effectiveness_data)} type effectiveness entries")
|
||||
return effectiveness_data
|
||||
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to download type effectiveness: {e}")
|
||||
return []
|
||||
|
||||
def _build_type_generation_cache(self) -> Dict[str, str]:
|
||||
"""
|
||||
Build a cache of type names to their generation.
|
||||
|
||||
Returns:
|
||||
Dictionary mapping type name to generation name
|
||||
"""
|
||||
type_generations = {}
|
||||
|
||||
# List of all known Pokemon types across all generations
|
||||
all_types = [
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel',
|
||||
'fairy'
|
||||
]
|
||||
|
||||
for type_name in all_types:
|
||||
try:
|
||||
type_data = self._safe_api_call(pb.type_, type_name)
|
||||
type_generations[type_name] = type_data.generation.name
|
||||
except Exception as e:
|
||||
logger.warning(f"Failed to get generation for type {type_name}: {e}")
|
||||
continue
|
||||
|
||||
return type_generations
|
||||
|
||||
@property
|
||||
def _generation_order(self) -> List[str]:
|
||||
"""Get the order of generations for comparison."""
|
||||
return [
|
||||
'generation-i', 'generation-ii', 'generation-iii', 'generation-iv',
|
||||
'generation-v', 'generation-vi', 'generation-vii', 'generation-viii',
|
||||
'generation-ix'
|
||||
]
|
||||
|
||||
def _get_damage_relations_for_generation(self, type_data, target_generation: str, type_generations: Dict[str, str]) -> Dict[str, float]:
|
||||
"""
|
||||
Extract damage relations for a specific generation from type data.
|
||||
|
||||
Args:
|
||||
type_data: Type data from PokeAPI
|
||||
target_generation: Target generation name
|
||||
type_generations: Cache of type names to their generation
|
||||
|
||||
Returns:
|
||||
Dictionary mapping defending type to damage factor
|
||||
"""
|
||||
relations = {}
|
||||
|
||||
# Check if we need historical data
|
||||
if type_data.generation.name == target_generation:
|
||||
# Current generation - use current damage relations
|
||||
damage_relations = type_data.damage_relations
|
||||
else:
|
||||
# Look for historical data
|
||||
damage_relations = None
|
||||
for past_relation in type_data.past_damage_relations:
|
||||
if past_relation.generation.name == target_generation:
|
||||
damage_relations = past_relation.damage_relations
|
||||
break
|
||||
|
||||
# If no historical data found, use current relations
|
||||
if damage_relations is None:
|
||||
damage_relations = type_data.damage_relations
|
||||
|
||||
# Extract damage factors, filtering by generation
|
||||
target_gen_index = self._generation_order.index(target_generation)
|
||||
|
||||
if hasattr(damage_relations, 'double_damage_to'):
|
||||
for relation in damage_relations.double_damage_to:
|
||||
# Only include types that exist in the target generation
|
||||
defending_gen = type_generations.get(relation.name)
|
||||
if defending_gen:
|
||||
defending_gen_index = self._generation_order.index(defending_gen)
|
||||
if defending_gen_index <= target_gen_index:
|
||||
relations[relation.name] = 2.0
|
||||
|
||||
if hasattr(damage_relations, 'half_damage_to'):
|
||||
for relation in damage_relations.half_damage_to:
|
||||
# Only include types that exist in the target generation
|
||||
defending_gen = type_generations.get(relation.name)
|
||||
if defending_gen:
|
||||
defending_gen_index = self._generation_order.index(defending_gen)
|
||||
if defending_gen_index <= target_gen_index:
|
||||
relations[relation.name] = 0.5
|
||||
|
||||
if hasattr(damage_relations, 'no_damage_to'):
|
||||
for relation in damage_relations.no_damage_to:
|
||||
# Only include types that exist in the target generation
|
||||
defending_gen = type_generations.get(relation.name)
|
||||
if defending_gen:
|
||||
defending_gen_index = self._generation_order.index(defending_gen)
|
||||
if defending_gen_index <= target_gen_index:
|
||||
relations[relation.name] = 0.0
|
||||
|
||||
return relations
|
||||
|
||||
def download_pokemon_batch(self, start_id: int, end_id: int, max_workers: int = 5) -> Dict[int, PokemonData]:
|
||||
"""
|
||||
@@ -572,65 +673,101 @@ def download_moves(ctx, move_ids, workers):
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option('--generation', default='generation-i', help='Target generation for type effectiveness')
|
||||
@click.pass_context
|
||||
def download_types(ctx):
|
||||
def download_types(ctx, generation):
|
||||
"""Download type effectiveness data."""
|
||||
downloader = ctx.obj['downloader']
|
||||
|
||||
|
||||
console.print(Panel.fit(
|
||||
"🔽 Downloading type effectiveness data",
|
||||
f"🔽 Downloading type effectiveness data for {generation}",
|
||||
style="bold blue"
|
||||
))
|
||||
|
||||
effectiveness_data = downloader.download_type_effectiveness()
|
||||
|
||||
|
||||
effectiveness_data = downloader.download_type_effectiveness(generation)
|
||||
|
||||
if effectiveness_data:
|
||||
downloader.save_type_effectiveness(effectiveness_data)
|
||||
filename = f"type_effectiveness_{generation}.json"
|
||||
downloader.save_type_effectiveness(effectiveness_data, filename)
|
||||
console.print(f"✅ Successfully downloaded {len(effectiveness_data)} type effectiveness entries")
|
||||
else:
|
||||
console.print("❌ Failed to download type effectiveness data")
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option('--generations', default='generation-i,generation-ii,generation-iii,generation-iv,generation-v,generation-vi,generation-vii,generation-viii,generation-ix',
|
||||
help='Comma-separated list of generations to download')
|
||||
@click.option('--workers', default=3, help='Number of concurrent workers')
|
||||
@click.pass_context
|
||||
def download_types_multi(ctx, generations, workers):
|
||||
"""Download type effectiveness data for multiple generations."""
|
||||
downloader = ctx.obj['downloader']
|
||||
|
||||
generation_list = [gen.strip() for gen in generations.split(',')]
|
||||
console.print(Panel.fit(
|
||||
f"🔽 Downloading type effectiveness for {len(generation_list)} generations",
|
||||
style="bold blue"
|
||||
))
|
||||
|
||||
total_entries = 0
|
||||
for generation in generation_list:
|
||||
console.print(f"\n📊 Processing {generation}...")
|
||||
|
||||
effectiveness_data = downloader.download_type_effectiveness(generation)
|
||||
|
||||
if effectiveness_data:
|
||||
filename = f"type_effectiveness_{generation}.json"
|
||||
downloader.save_type_effectiveness(effectiveness_data, filename)
|
||||
total_entries += len(effectiveness_data)
|
||||
console.print(f"✅ Saved {len(effectiveness_data)} entries for {generation}")
|
||||
else:
|
||||
console.print(f"❌ Failed to download data for {generation}")
|
||||
|
||||
console.print(f"\n🎉 Downloaded type effectiveness for {len(generation_list)} generations ({total_entries} total entries)")
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.option('--start', default=1, help='Starting Pokemon ID')
|
||||
@click.option('--end', default=151, help='Ending Pokemon ID (151 for Gen 1)')
|
||||
@click.option('--workers', default=5, help='Number of concurrent workers')
|
||||
@click.option('--generation', default='generation-i', help='Target generation for type effectiveness')
|
||||
@click.pass_context
|
||||
def download_complete(ctx, start, end, workers):
|
||||
def download_complete(ctx, start, end, workers, generation):
|
||||
"""Download complete dataset (Pokemon, moves, and type effectiveness)."""
|
||||
downloader = ctx.obj['downloader']
|
||||
|
||||
|
||||
console.print(Panel.fit(
|
||||
f"🔽 Downloading complete Pokemon dataset ({start}-{end})",
|
||||
f"🔽 Downloading complete Pokemon dataset ({start}-{end}) for {generation}",
|
||||
style="bold blue"
|
||||
))
|
||||
|
||||
|
||||
# Download Pokemon
|
||||
pokemon_data = downloader.download_pokemon_batch(start, end, workers)
|
||||
|
||||
|
||||
if pokemon_data:
|
||||
downloader.save_pokemon_data(pokemon_data, f"pokemon_complete_{start}_{end}.json")
|
||||
|
||||
|
||||
# Get all unique moves
|
||||
all_move_ids = set()
|
||||
for pokemon in pokemon_data.values():
|
||||
all_move_ids.update(pokemon.moves)
|
||||
|
||||
|
||||
# Download moves
|
||||
if all_move_ids:
|
||||
moves_data = downloader.download_moves_batch(list(all_move_ids), workers)
|
||||
if moves_data:
|
||||
downloader.save_moves_data(moves_data, f"moves_complete_{start}_{end}.json")
|
||||
|
||||
# Download type effectiveness
|
||||
effectiveness_data = downloader.download_type_effectiveness()
|
||||
|
||||
# Download type effectiveness for specified generation
|
||||
effectiveness_data = downloader.download_type_effectiveness(generation)
|
||||
if effectiveness_data:
|
||||
downloader.save_type_effectiveness(effectiveness_data, "type_effectiveness_complete.json")
|
||||
|
||||
filename = f"type_effectiveness_complete_{generation}.json"
|
||||
downloader.save_type_effectiveness(effectiveness_data, filename)
|
||||
|
||||
# Show final summary
|
||||
summary_table = downloader.get_stats_summary(pokemon_data)
|
||||
console.print(summary_table)
|
||||
|
||||
|
||||
console.print("🎉 Complete dataset download finished!")
|
||||
else:
|
||||
console.print("❌ Failed to download Pokemon data")
|
||||
|
||||
@@ -111,9 +111,10 @@ TYPE_EFFECTIVENESS_ENTRY_SCHEMA = {
|
||||
"damage_factor": {
|
||||
"type": "number",
|
||||
"enum": [0.0, 0.5, 1.0, 2.0] # Only valid damage multipliers
|
||||
}
|
||||
},
|
||||
"generation": {"type": "string", "minLength": 1} # Generation name (e.g., "generation-i")
|
||||
},
|
||||
"required": ["attacking_type", "defending_type", "damage_factor"],
|
||||
"required": ["attacking_type", "defending_type", "damage_factor", "generation"],
|
||||
"additionalProperties": False
|
||||
}
|
||||
|
||||
@@ -124,13 +125,58 @@ TYPE_EFFECTIVENESS_SCHEMA = {
|
||||
"uniqueItems": True
|
||||
}
|
||||
|
||||
# Valid Generation 1 types for additional validation
|
||||
GEN1_TYPES = {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon'
|
||||
# Valid types by generation for additional validation
|
||||
GENERATION_TYPES = {
|
||||
'generation-i': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon'
|
||||
},
|
||||
'generation-ii': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel'
|
||||
},
|
||||
'generation-iii': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel'
|
||||
},
|
||||
'generation-iv': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel'
|
||||
},
|
||||
'generation-v': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel'
|
||||
},
|
||||
'generation-vi': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel', 'fairy'
|
||||
},
|
||||
'generation-vii': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel', 'fairy'
|
||||
},
|
||||
'generation-viii': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel', 'fairy'
|
||||
},
|
||||
'generation-ix': {
|
||||
'normal', 'fire', 'water', 'electric', 'grass', 'ice',
|
||||
'fighting', 'poison', 'ground', 'flying', 'psychic',
|
||||
'bug', 'rock', 'ghost', 'dragon', 'dark', 'steel', 'fairy'
|
||||
}
|
||||
}
|
||||
|
||||
# Backward compatibility
|
||||
GEN1_TYPES = GENERATION_TYPES['generation-i']
|
||||
|
||||
|
||||
class DataValidator:
|
||||
"""Validator class for Pokemon data using JSON schemas."""
|
||||
@@ -260,27 +306,30 @@ class DataValidator:
|
||||
def validate_type_effectiveness(self, effectiveness_data: List[Dict[str, Any]]) -> List[str]:
|
||||
"""
|
||||
Validate type effectiveness data.
|
||||
|
||||
|
||||
Args:
|
||||
effectiveness_data: List of type effectiveness entries
|
||||
|
||||
|
||||
Returns:
|
||||
List of validation error messages (empty if valid)
|
||||
"""
|
||||
errors = []
|
||||
|
||||
|
||||
# Schema validation
|
||||
for error in self.type_effectiveness_validator.iter_errors(effectiveness_data):
|
||||
errors.append(f"Schema error: {error.message}")
|
||||
|
||||
# Additional validation
|
||||
|
||||
# Additional validation using generation-specific types
|
||||
for i, entry in enumerate(effectiveness_data):
|
||||
if 'attacking_type' in entry and entry['attacking_type'] not in GEN1_TYPES:
|
||||
errors.append(f"Entry {i}: Invalid attacking type '{entry['attacking_type']}'")
|
||||
|
||||
if 'defending_type' in entry and entry['defending_type'] not in GEN1_TYPES:
|
||||
errors.append(f"Entry {i}: Invalid defending type '{entry['defending_type']}'")
|
||||
|
||||
generation = entry.get('generation', 'generation-i')
|
||||
valid_types = GENERATION_TYPES.get(generation, GEN1_TYPES)
|
||||
|
||||
if 'attacking_type' in entry and entry['attacking_type'] not in valid_types:
|
||||
errors.append(f"Entry {i}: Invalid attacking type '{entry['attacking_type']}' for {generation}")
|
||||
|
||||
if 'defending_type' in entry and entry['defending_type'] not in valid_types:
|
||||
errors.append(f"Entry {i}: Invalid defending type '{entry['defending_type']}' for {generation}")
|
||||
|
||||
return errors
|
||||
|
||||
def validate_file(self, file_path: Path, data_type: str) -> List[str]:
|
||||
|
||||
Reference in New Issue
Block a user