constants.py•3.23 kB
"""Constants for the Pokémon MCP."""
POKEAPI_BASE_URL = "https://pokeapi.co/api/v2"
# Type effectiveness chart (simplified for main types)
TYPE_EFFECTIVENESS = {
"normal": {"rock": 0.5, "ghost": 0.0, "steel": 0.5},
"fire": {
"fire": 0.5,
"water": 0.5,
"grass": 2.0,
"ice": 2.0,
"bug": 2.0,
"rock": 0.5,
"dragon": 0.5,
"steel": 2.0,
},
"water": {
"fire": 2.0,
"water": 0.5,
"grass": 0.5,
"ground": 2.0,
"rock": 2.0,
"dragon": 0.5,
},
"electric": {
"water": 2.0,
"electric": 0.5,
"grass": 0.5,
"ground": 0.0,
"flying": 2.0,
"dragon": 0.5,
},
"grass": {
"fire": 0.5,
"water": 2.0,
"grass": 0.5,
"poison": 0.5,
"ground": 2.0,
"flying": 0.5,
"bug": 0.5,
"rock": 2.0,
"dragon": 0.5,
"steel": 0.5,
},
"ice": {
"fire": 0.5,
"water": 0.5,
"grass": 2.0,
"ice": 0.5,
"ground": 2.0,
"flying": 2.0,
"dragon": 2.0,
"steel": 0.5,
},
"fighting": {
"normal": 2.0,
"ice": 2.0,
"rock": 2.0,
"dark": 2.0,
"steel": 2.0,
"poison": 0.5,
"flying": 0.5,
"psychic": 0.5,
"bug": 0.5,
"ghost": 0.0,
"fairy": 0.5,
},
"poison": {
"grass": 2.0,
"poison": 0.5,
"ground": 0.5,
"rock": 0.5,
"ghost": 0.5,
"steel": 0.0,
"fairy": 2.0,
},
"ground": {
"fire": 2.0,
"electric": 2.0,
"grass": 0.5,
"poison": 2.0,
"flying": 0.0,
"bug": 0.5,
"rock": 2.0,
"steel": 2.0,
},
"flying": {
"electric": 0.5,
"grass": 2.0,
"fighting": 2.0,
"bug": 2.0,
"rock": 0.5,
"steel": 0.5,
},
"psychic": {
"fighting": 2.0,
"poison": 2.0,
"psychic": 0.5,
"dark": 0.0,
"steel": 0.5,
},
"bug": {
"fire": 0.5,
"grass": 2.0,
"fighting": 0.5,
"poison": 0.5,
"flying": 0.5,
"psychic": 2.0,
"ghost": 0.5,
"dark": 2.0,
"steel": 0.5,
"fairy": 0.5,
},
"rock": {
"fire": 2.0,
"ice": 2.0,
"fighting": 0.5,
"ground": 0.5,
"flying": 2.0,
"bug": 2.0,
"steel": 0.5,
},
"ghost": {"normal": 0.0, "psychic": 2.0, "ghost": 2.0, "dark": 0.5},
"dragon": {"dragon": 2.0, "steel": 0.5, "fairy": 0.0},
"dark": {"fighting": 0.5, "psychic": 2.0, "ghost": 2.0, "dark": 0.5, "fairy": 0.5},
"steel": {
"fire": 0.5,
"water": 0.5,
"electric": 0.5,
"ice": 2.0,
"rock": 2.0,
"fairy": 2.0,
"steel": 0.5,
},
"fairy": {
"fire": 0.5,
"fighting": 2.0,
"poison": 0.5,
"dragon": 2.0,
"dark": 2.0,
"steel": 0.5,
},
}
STATUS_PARALYSIS = "paralysis"
STATUS_BURN = "burn"
STATUS_POISON = "poison"
STATUS_EFFECTS = [STATUS_PARALYSIS, STATUS_BURN, STATUS_POISON]