Merge pull request #348 from lhearachel/pokemon
Some checks failed
build / build (push) Has been cancelled

Refactor builds from res/pokemon/*/data.json
This commit is contained in:
Rachel 2025-01-21 23:07:55 -08:00 committed by GitHub
commit 08b09b8d44
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1159 changed files with 19000 additions and 25278 deletions

View File

@ -59,7 +59,7 @@ IncludeBlocks: Regroup
IncludeCategories:
- Regex: '((<.+>)|("nitro/.*\.h"))'
Priority: 1
- Regex: '"(consts|constants)/.*\.h"'
- Regex: '"(consts|constants|generated)/.*\.h"'
Priority: 2
- Regex: '"(struct_(decls|defs))/.*\.h"'
Priority: 3

2
.gitignore vendored
View File

@ -18,6 +18,8 @@
/subprojects/SDATTool/
/subprojects/knarc/
/subprojects/narc/
/subprojects/metang/
/subprojects/rapidjson-*/
# CLion folders
.idea/

View File

@ -5,16 +5,18 @@
#include "constants/battle.h"
#include "constants/items.h"
#include "constants/species.h"
#include "generated/abilities.h"
#include "generated/items.h"
#include "generated/moves.h"
#include "generated/pokemon_types.h"
#include "gmm/message_bank_battle_strings.h"
#include "battle/btlcmd.h"
.include "consts/abilities.inc"
.include "consts/battle.inc"
.include "consts/battle_subscripts.inc"
.include "consts/btlcmd.inc"
.include "consts/game_records.inc"
.include "consts/gender.inc"
.include "consts/items.inc"
.include "consts/moves.inc"
.include "consts/pokemon.inc"

View File

@ -1,15 +1,15 @@
#include "generated/items.h"
#include "generated/moves.h"
#include "generated/species.h"
#include "generated/catching_show_points_category.h"
.include "macros/movement.inc"
.include "consts/badges.inc"
.include "consts/catching_show.inc"
.include "consts/game_records.inc"
.include "consts/items.inc"
.include "consts/journal.inc"
.include "consts/map.inc"
.include "consts/moves.inc"
.include "consts/poketch.inc"
.include "consts/scrcmd.inc"
.include "consts/sdat.inc"
.include "consts/species.inc"
#include "res/trainers/trdata.naix"

View File

@ -5,11 +5,12 @@
#include "constants/battle.h"
#include "constants/items.h"
#include "constants/battle/trainer_ai.h"
#include "generated/abilities.h"
#include "generated/moves.h"
#include "generated/pokemon_types.h"
.include "consts/abilities.inc"
.include "consts/battle.inc"
.include "consts/gender.inc"
.include "consts/items.inc"
.include "consts/moves.inc"
.include "consts/pokemon.inc"
.include "consts/trainer_ai.inc"

View File

@ -1,133 +0,0 @@
{
"definitions": {
"@Ability": {
"type": "enum",
"values": [
"ABILITY_NONE",
"ABILITY_STENCH",
"ABILITY_DRIZZLE",
"ABILITY_SPEED_BOOST",
"ABILITY_BATTLE_ARMOR",
"ABILITY_STURDY",
"ABILITY_DAMP",
"ABILITY_LIMBER",
"ABILITY_SAND_VEIL",
"ABILITY_STATIC",
"ABILITY_VOLT_ABSORB",
"ABILITY_WATER_ABSORB",
"ABILITY_OBLIVIOUS",
"ABILITY_CLOUD_NINE",
"ABILITY_COMPOUND_EYES",
"ABILITY_INSOMNIA",
"ABILITY_COLOR_CHANGE",
"ABILITY_IMMUNITY",
"ABILITY_FLASH_FIRE",
"ABILITY_SHIELD_DUST",
"ABILITY_OWN_TEMPO",
"ABILITY_SUCTION_CUPS",
"ABILITY_INTIMIDATE",
"ABILITY_SHADOW_TAG",
"ABILITY_ROUGH_SKIN",
"ABILITY_WONDER_GUARD",
"ABILITY_LEVITATE",
"ABILITY_EFFECT_SPORE",
"ABILITY_SYNCHRONIZE",
"ABILITY_CLEAR_BODY",
"ABILITY_NATURAL_CURE",
"ABILITY_LIGHTNING_ROD",
"ABILITY_SERENE_GRACE",
"ABILITY_SWIFT_SWIM",
"ABILITY_CHLOROPHYLL",
"ABILITY_ILLUMINATE",
"ABILITY_TRACE",
"ABILITY_HUGE_POWER",
"ABILITY_POISON_POINT",
"ABILITY_INNER_FOCUS",
"ABILITY_MAGMA_ARMOR",
"ABILITY_WATER_VEIL",
"ABILITY_MAGNET_PULL",
"ABILITY_SOUNDPROOF",
"ABILITY_RAIN_DISH",
"ABILITY_SAND_STREAM",
"ABILITY_PRESSURE",
"ABILITY_THICK_FAT",
"ABILITY_EARLY_BIRD",
"ABILITY_FLAME_BODY",
"ABILITY_RUN_AWAY",
"ABILITY_KEEN_EYE",
"ABILITY_HYPER_CUTTER",
"ABILITY_PICKUP",
"ABILITY_TRUANT",
"ABILITY_HUSTLE",
"ABILITY_CUTE_CHARM",
"ABILITY_PLUS",
"ABILITY_MINUS",
"ABILITY_FORECAST",
"ABILITY_STICKY_HOLD",
"ABILITY_SHED_SKIN",
"ABILITY_GUTS",
"ABILITY_MARVEL_SCALE",
"ABILITY_LIQUID_OOZE",
"ABILITY_OVERGROW",
"ABILITY_BLAZE",
"ABILITY_TORRENT",
"ABILITY_SWARM",
"ABILITY_ROCK_HEAD",
"ABILITY_DROUGHT",
"ABILITY_ARENA_TRAP",
"ABILITY_VITAL_SPIRIT",
"ABILITY_WHITE_SMOKE",
"ABILITY_PURE_POWER",
"ABILITY_SHELL_ARMOR",
"ABILITY_AIR_LOCK",
"ABILITY_TANGLED_FEET",
"ABILITY_MOTOR_DRIVE",
"ABILITY_RIVALRY",
"ABILITY_STEADFAST",
"ABILITY_SNOW_CLOAK",
"ABILITY_GLUTTONY",
"ABILITY_ANGER_POINT",
"ABILITY_UNBURDEN",
"ABILITY_HEATPROOF",
"ABILITY_SIMPLE",
"ABILITY_DRY_SKIN",
"ABILITY_DOWNLOAD",
"ABILITY_IRON_FIST",
"ABILITY_POISON_HEAL",
"ABILITY_ADAPTABILITY",
"ABILITY_SKILL_LINK",
"ABILITY_HYDRATION",
"ABILITY_SOLAR_POWER",
"ABILITY_QUICK_FEET",
"ABILITY_NORMALIZE",
"ABILITY_SNIPER",
"ABILITY_MAGIC_GUARD",
"ABILITY_NO_GUARD",
"ABILITY_STALL",
"ABILITY_TECHNICIAN",
"ABILITY_LEAF_GUARD",
"ABILITY_KLUTZ",
"ABILITY_MOLD_BREAKER",
"ABILITY_SUPER_LUCK",
"ABILITY_AFTERMATH",
"ABILITY_ANTICIPATION",
"ABILITY_FOREWARN",
"ABILITY_UNAWARE",
"ABILITY_TINTED_LENS",
"ABILITY_FILTER",
"ABILITY_SLOW_START",
"ABILITY_SCRAPPY",
"ABILITY_STORM_DRAIN",
"ABILITY_ICE_BODY",
"ABILITY_SOLID_ROCK",
"ABILITY_SNOW_WARNING",
"ABILITY_HONEY_GATHER",
"ABILITY_FRISK",
"ABILITY_RECKLESS",
"ABILITY_MULTITYPE",
"ABILITY_FLOWER_GIFT",
"ABILITY_BAD_DREAMS"
]
}
}
}

View File

@ -1,34 +0,0 @@
{
"definitions": {
"@CatchingShowPointsCategory": {
"type": "enum",
"values": [
"CATCHING_SHOW_CATCHING_POINTS",
"CATCHING_SHOW_TIME_POINTS",
"CATCHING_SHOW_TYPE_POINTS",
"CATCHING_SHOW_TOTAL_POINTS"
]
},
"@PalParkLandArea": {
"type": "enum",
"values": [
"PAL_PARK_AREA_LAND_NONE",
"PAL_PARK_AREA_LAND_NORTH_WEST",
"PAL_PARK_AREA_LAND_NORTH_EAST",
"PAL_PARK_AREA_LAND_SOUTH_WEST",
"PAL_PARK_AREA_LAND_SOUTH_EAST",
"PAL_PARK_AREA_LAND_END"
]
},
"@PalParkWaterArea": {
"type": "enum",
"values": [
"PAL_PARK_AREA_WATER_NONE",
"PAL_PARK_AREA_WATER_NORTH_WEST",
"PAL_PARK_AREA_WATER_NORTH_EAST",
"PAL_PARK_AREA_WATER_SOUTH_WEST",
"PAL_PARK_AREA_WATER_SOUTH_EAST"
]
}
}
}

View File

@ -1,632 +0,0 @@
{
"definitions": {
"@ItemHoldEffect": {
"type": "enum",
"as_preproc": true,
"values": [
"HOLD_EFFECT_NONE",
"HOLD_EFFECT_HP_RESTORE",
"HOLD_EFFECT_GIRATINA_BOOST",
"HOLD_EFFECT_DIALGA_BOOST",
"HOLD_EFFECT_PALKIA_BOOST",
"HOLD_EFFECT_PRZ_RESTORE",
"HOLD_EFFECT_SLP_RESTORE",
"HOLD_EFFECT_PSN_RESTORE",
"HOLD_EFFECT_BRN_RESTORE",
"HOLD_EFFECT_FRZ_RESTORE",
"HOLD_EFFECT_PP_RESTORE",
"HOLD_EFFECT_CONFUSE_RESTORE",
"HOLD_EFFECT_STATUS_RESTORE",
"HOLD_EFFECT_HP_PCT_RESTORE",
"HOLD_EFFECT_HP_RESTORE_SPICY",
"HOLD_EFFECT_HP_RESTORE_DRY",
"HOLD_EFFECT_HP_RESTORE_SWEET",
"HOLD_EFFECT_HP_RESTORE_BITTER",
"HOLD_EFFECT_HP_RESTORE_SOUR",
"HOLD_EFFECT_WEAKEN_SE_FIRE",
"HOLD_EFFECT_WEAKEN_SE_WATER",
"HOLD_EFFECT_WEAKEN_SE_ELECTRIC",
"HOLD_EFFECT_WEAKEN_SE_GRASS",
"HOLD_EFFECT_WEAKEN_SE_ICE",
"HOLD_EFFECT_WEAKEN_SE_FIGHT",
"HOLD_EFFECT_WEAKEN_SE_POISON",
"HOLD_EFFECT_WEAKEN_SE_GROUND",
"HOLD_EFFECT_WEAKEN_SE_FLYING",
"HOLD_EFFECT_WEAKEN_SE_PSYCHIC",
"HOLD_EFFECT_WEAKEN_SE_BUG",
"HOLD_EFFECT_WEAKEN_SE_ROCK",
"HOLD_EFFECT_WEAKEN_SE_GHOST",
"HOLD_EFFECT_WEAKEN_SE_DRAGON",
"HOLD_EFFECT_WEAKEN_SE_DARK",
"HOLD_EFFECT_WEAKEN_SE_STEEL",
"HOLD_EFFECT_WEAKEN_NORMAL",
"HOLD_EFFECT_PINCH_ATK_UP",
"HOLD_EFFECT_PINCH_DEF_UP",
"HOLD_EFFECT_PINCH_SPEED_UP",
"HOLD_EFFECT_PINCH_SPATK_UP",
"HOLD_EFFECT_PINCH_SPDEF_UP",
"HOLD_EFFECT_PINCH_CRITRATE_UP",
"HOLD_EFFECT_PINCH_RANDOM_UP",
"HOLD_EFFECT_HP_RESTORE_SE",
"HOLD_EFFECT_PINCH_ACC_UP",
"HOLD_EFFECT_PINCH_PRIORITY",
"HOLD_EFFECT_RECOIL_PHYSICAL",
"HOLD_EFFECT_RECOIL_SPECIAL",
"HOLD_EFFECT_ACC_REDUCE",
"HOLD_EFFECT_STATDOWN_RESTORE",
"HOLD_EFFECT_EVS_UP_SPEED_DOWN",
"HOLD_EFFECT_EXP_SHARE",
"HOLD_EFFECT_SOMETIMES_PRIORITY",
"HOLD_EFFECT_FRIENDSHIP_UP",
"HOLD_EFFECT_HEAL_INFATUATION",
"HOLD_EFFECT_CHOICE_ATK",
"HOLD_EFFECT_SOMETIMES_FLINCH",
"HOLD_EFFECT_STRENGTHEN_BUG",
"HOLD_EFFECT_MONEY_UP",
"HOLD_EFFECT_ENCOUNTERS_DOWN",
"HOLD_EFFECT_LATI_SPECIAL",
"HOLD_EFFECT_CLAMPERL_SPATK",
"HOLD_EFFECT_CLAMPERL_SPDEF",
"HOLD_EFFECT_FLEE",
"HOLD_EFFECT_NO_EVOLVE",
"HOLD_EFFECT_MAYBE_ENDURE",
"HOLD_EFFECT_EXP_UP",
"HOLD_EFFECT_CRITRATE_UP",
"HOLD_EFFECT_STRENGTHEN_STEEL",
"HOLD_EFFECT_HP_RESTORE_GRADUAL",
"HOLD_EFFECT_EVOLVE_SEADRA",
"HOLD_EFFECT_PIKA_SPATK_UP",
"HOLD_EFFECT_STRENGTHEN_GROUND",
"HOLD_EFFECT_STRENGTHEN_ROCK",
"HOLD_EFFECT_STRENGTHEN_GRASS",
"HOLD_EFFECT_STRENGTHEN_DARK",
"HOLD_EFFECT_STRENGTHEN_FIGHT",
"HOLD_EFFECT_STRENGTHEN_ELECTRIC",
"HOLD_EFFECT_STRENGTHEN_WATER",
"HOLD_EFFECT_STRENGTHEN_FLYING",
"HOLD_EFFECT_STRENGTHEN_POISON",
"HOLD_EFFECT_STRENGTHEN_ICE",
"HOLD_EFFECT_STRENGTHEN_GHOST",
"HOLD_EFFECT_STRENGTHEN_PSYCHIC",
"HOLD_EFFECT_STRENGTHEN_FIRE",
"HOLD_EFFECT_STRENGTHEN_DRAGON",
"HOLD_EFFECT_STRENGTHEN_NORMAL",
"HOLD_EFFECT_EVOLVE_PORYGON",
"HOLD_EFFECT_HP_RESTORE_ON_DMG",
"HOLD_EFFECT_CHANSEY_CRITRATE_UP",
"HOLD_EFFECT_DITTO_DEF_UP",
"HOLD_EFFECT_CUBONE_ATK_UP",
"HOLD_EFFECT_FARFETCHD_CRITRATE_UP",
"HOLD_EFFECT_ACCURACY_UP",
"HOLD_EFFECT_POWER_UP_PHYS",
"HOLD_EFFECT_POWER_UP_SPEC",
"HOLD_EFFECT_POWER_UP_SE",
"HOLD_EFFECT_EXTEND_SCREENS",
"HOLD_EFFECT_HP_DRAIN_ON_ATK",
"HOLD_EFFECT_CHARGE_SKIP",
"HOLD_EFFECT_PSN_USER",
"HOLD_EFFECT_BRN_USER",
"HOLD_EFFECT_DITTO_SPEED_UP",
"HOLD_EFFECT_ENDURE",
"HOLD_EFFECT_ACCURACY_UP_SLOWER",
"HOLD_EFFECT_BOOST_REPEATED",
"HOLD_EFFECT_SPEED_DOWN_GROUNDED",
"HOLD_EFFECT_PRIORITY_DOWN",
"HOLD_EFFECT_RECIPROCATE_INFAT",
"HOLD_EFFECT_HP_RESTORE_PSN_TYPE",
"HOLD_EFFECT_EXTEND_HAIL",
"HOLD_EFFECT_EXTEND_SANDSTORM",
"HOLD_EFFECT_EXTEND_SUN",
"HOLD_EFFECT_EXTEND_RAIN",
"HOLD_EFFECT_EXTEND_TRAPPING",
"HOLD_EFFECT_CHOICE_SPEED",
"HOLD_EFFECT_DMG_USER_CONTACT_XFR",
"HOLD_EFFECT_LVLUP_ATK_EV_UP",
"HOLD_EFFECT_LVLUP_DEF_EV_UP",
"HOLD_EFFECT_LVLUP_SPATK_EV_UP",
"HOLD_EFFECT_LVLUP_SPDEF_EV_UP",
"HOLD_EFFECT_LVLUP_SPEED_EV_UP",
"HOLD_EFFECT_LVLUP_HP_EV_UP",
"HOLD_EFFECT_SWITCH",
"HOLD_EFFECT_LEECH_BOOST",
"HOLD_EFFECT_CHOICE_SPATK",
"HOLD_EFFECT_ARCEUS_FIRE",
"HOLD_EFFECT_ARCEUS_WATER",
"HOLD_EFFECT_ARCEUS_ELECTRIC",
"HOLD_EFFECT_ARCEUS_GRASS",
"HOLD_EFFECT_ARCEUS_ICE",
"HOLD_EFFECT_ARCEUS_FIGHTING",
"HOLD_EFFECT_ARCEUS_POISON",
"HOLD_EFFECT_ARCEUS_GROUND",
"HOLD_EFFECT_ARCEUS_FLYING",
"HOLD_EFFECT_ARCEUS_PSYCHIC",
"HOLD_EFFECT_ARCEUS_BUG",
"HOLD_EFFECT_ARCEUS_ROCK",
"HOLD_EFFECT_ARCEUS_GHOST",
"HOLD_EFFECT_ARCEUS_DRAGON",
"HOLD_EFFECT_ARCEUS_DARK",
"HOLD_EFFECT_ARCEUS_STEEL",
"HOLD_EFFECT_EVOLVE_RHYDON",
"HOLD_EFFECT_EVOLVE_ELECTABUZZ",
"HOLD_EFFECT_EVOLVE_MAGMAR",
"HOLD_EFFECT_EVOLVE_PORYGON2",
"HOLD_EFFECT_EVOLVE_DUSCLOPS"
]
},
"@Item": {
"type": "enum",
"as_preproc": true,
"values": [
"ITEM_NONE",
"ITEM_MASTER_BALL",
"ITEM_ULTRA_BALL",
"ITEM_GREAT_BALL",
"ITEM_POKE_BALL",
"ITEM_SAFARI_BALL",
"ITEM_NET_BALL",
"ITEM_DIVE_BALL",
"ITEM_NEST_BALL",
"ITEM_REPEAT_BALL",
"ITEM_TIMER_BALL",
"ITEM_LUXURY_BALL",
"ITEM_PREMIER_BALL",
"ITEM_DUSK_BALL",
"ITEM_HEAL_BALL",
"ITEM_QUICK_BALL",
"ITEM_CHERISH_BALL",
"ITEM_POTION",
"ITEM_ANTIDOTE",
"ITEM_BURN_HEAL",
"ITEM_ICE_HEAL",
"ITEM_AWAKENING",
"ITEM_PARLYZ_HEAL",
"ITEM_FULL_RESTORE",
"ITEM_MAX_POTION",
"ITEM_HYPER_POTION",
"ITEM_SUPER_POTION",
"ITEM_FULL_HEAL",
"ITEM_REVIVE",
"ITEM_MAX_REVIVE",
"ITEM_FRESH_WATER",
"ITEM_SODA_POP",
"ITEM_LEMONADE",
"ITEM_MOOMOO_MILK",
"ITEM_ENERGYPOWDER",
"ITEM_ENERGY_ROOT",
"ITEM_HEAL_POWDER",
"ITEM_REVIVAL_HERB",
"ITEM_ETHER",
"ITEM_MAX_ETHER",
"ITEM_ELIXIR",
"ITEM_MAX_ELIXIR",
"ITEM_LAVA_COOKIE",
"ITEM_BERRY_JUICE",
"ITEM_SACRED_ASH",
"ITEM_HP_UP",
"ITEM_PROTEIN",
"ITEM_IRON",
"ITEM_CARBOS",
"ITEM_CALCIUM",
"ITEM_RARE_CANDY",
"ITEM_PP_UP",
"ITEM_ZINC",
"ITEM_PP_MAX",
"ITEM_OLD_GATEAU",
"ITEM_GUARD_SPEC_",
"ITEM_DIRE_HIT",
"ITEM_X_ATTACK",
"ITEM_X_DEFENSE",
"ITEM_X_SPEED",
"ITEM_X_ACCURACY",
"ITEM_X_SPECIAL",
"ITEM_X_SP__DEF",
"ITEM_POKE_DOLL",
"ITEM_FLUFFY_TAIL",
"ITEM_BLUE_FLUTE",
"ITEM_YELLOW_FLUTE",
"ITEM_RED_FLUTE",
"ITEM_BLACK_FLUTE",
"ITEM_WHITE_FLUTE",
"ITEM_SHOAL_SALT",
"ITEM_SHOAL_SHELL",
"ITEM_RED_SHARD",
"ITEM_BLUE_SHARD",
"ITEM_YELLOW_SHARD",
"ITEM_GREEN_SHARD",
"ITEM_SUPER_REPEL",
"ITEM_MAX_REPEL",
"ITEM_ESCAPE_ROPE",
"ITEM_REPEL",
"ITEM_SUN_STONE",
"ITEM_MOON_STONE",
"ITEM_FIRE_STONE",
"ITEM_THUNDERSTONE",
"ITEM_WATER_STONE",
"ITEM_LEAF_STONE",
"ITEM_TINYMUSHROOM",
"ITEM_BIG_MUSHROOM",
"ITEM_PEARL",
"ITEM_BIG_PEARL",
"ITEM_STARDUST",
"ITEM_STAR_PIECE",
"ITEM_NUGGET",
"ITEM_HEART_SCALE",
"ITEM_HONEY",
"ITEM_GROWTH_MULCH",
"ITEM_DAMP_MULCH",
"ITEM_STABLE_MULCH",
"ITEM_GOOEY_MULCH",
"ITEM_ROOT_FOSSIL",
"ITEM_CLAW_FOSSIL",
"ITEM_HELIX_FOSSIL",
"ITEM_DOME_FOSSIL",
"ITEM_OLD_AMBER",
"ITEM_ARMOR_FOSSIL",
"ITEM_SKULL_FOSSIL",
"ITEM_RARE_BONE",
"ITEM_SHINY_STONE",
"ITEM_DUSK_STONE",
"ITEM_DAWN_STONE",
"ITEM_OVAL_STONE",
"ITEM_ODD_KEYSTONE",
"ITEM_GRISEOUS_ORB",
"ITEM_UNUSED_113",
"ITEM_UNUSED_114",
"ITEM_UNUSED_115",
"ITEM_UNUSED_116",
"ITEM_UNUSED_117",
"ITEM_UNUSED_118",
"ITEM_UNUSED_119",
"ITEM_UNUSED_120",
"ITEM_UNUSED_121",
"ITEM_UNUSED_122",
"ITEM_UNUSED_123",
"ITEM_UNUSED_124",
"ITEM_UNUSED_125",
"ITEM_UNUSED_126",
"ITEM_UNUSED_127",
"ITEM_UNUSED_128",
"ITEM_UNUSED_129",
"ITEM_UNUSED_130",
"ITEM_UNUSED_131",
"ITEM_UNUSED_132",
"ITEM_UNUSED_133",
"ITEM_UNUSED_134",
"ITEM_ADAMANT_ORB",
"ITEM_LUSTROUS_ORB",
"ITEM_GRASS_MAIL",
"ITEM_FLAME_MAIL",
"ITEM_BUBBLE_MAIL",
"ITEM_BLOOM_MAIL",
"ITEM_TUNNEL_MAIL",
"ITEM_STEEL_MAIL",
"ITEM_HEART_MAIL",
"ITEM_SNOW_MAIL",
"ITEM_SPACE_MAIL",
"ITEM_AIR_MAIL",
"ITEM_MOSAIC_MAIL",
"ITEM_BRICK_MAIL",
"ITEM_CHERI_BERRY",
"ITEM_CHESTO_BERRY",
"ITEM_PECHA_BERRY",
"ITEM_RAWST_BERRY",
"ITEM_ASPEAR_BERRY",
"ITEM_LEPPA_BERRY",
"ITEM_ORAN_BERRY",
"ITEM_PERSIM_BERRY",
"ITEM_LUM_BERRY",
"ITEM_SITRUS_BERRY",
"ITEM_FIGY_BERRY",
"ITEM_WIKI_BERRY",
"ITEM_MAGO_BERRY",
"ITEM_AGUAV_BERRY",
"ITEM_IAPAPA_BERRY",
"ITEM_RAZZ_BERRY",
"ITEM_BLUK_BERRY",
"ITEM_NANAB_BERRY",
"ITEM_WEPEAR_BERRY",
"ITEM_PINAP_BERRY",
"ITEM_POMEG_BERRY",
"ITEM_KELPSY_BERRY",
"ITEM_QUALOT_BERRY",
"ITEM_HONDEW_BERRY",
"ITEM_GREPA_BERRY",
"ITEM_TAMATO_BERRY",
"ITEM_CORNN_BERRY",
"ITEM_MAGOST_BERRY",
"ITEM_RABUTA_BERRY",
"ITEM_NOMEL_BERRY",
"ITEM_SPELON_BERRY",
"ITEM_PAMTRE_BERRY",
"ITEM_WATMEL_BERRY",
"ITEM_DURIN_BERRY",
"ITEM_BELUE_BERRY",
"ITEM_OCCA_BERRY",
"ITEM_PASSHO_BERRY",
"ITEM_WACAN_BERRY",
"ITEM_RINDO_BERRY",
"ITEM_YACHE_BERRY",
"ITEM_CHOPLE_BERRY",
"ITEM_KEBIA_BERRY",
"ITEM_SHUCA_BERRY",
"ITEM_COBA_BERRY",
"ITEM_PAYAPA_BERRY",
"ITEM_TANGA_BERRY",
"ITEM_CHARTI_BERRY",
"ITEM_KASIB_BERRY",
"ITEM_HABAN_BERRY",
"ITEM_COLBUR_BERRY",
"ITEM_BABIRI_BERRY",
"ITEM_CHILAN_BERRY",
"ITEM_LIECHI_BERRY",
"ITEM_GANLON_BERRY",
"ITEM_SALAC_BERRY",
"ITEM_PETAYA_BERRY",
"ITEM_APICOT_BERRY",
"ITEM_LANSAT_BERRY",
"ITEM_STARF_BERRY",
"ITEM_ENIGMA_BERRY",
"ITEM_MICLE_BERRY",
"ITEM_CUSTAP_BERRY",
"ITEM_JABOCA_BERRY",
"ITEM_ROWAP_BERRY",
"ITEM_BRIGHTPOWDER",
"ITEM_WHITE_HERB",
"ITEM_MACHO_BRACE",
"ITEM_EXP_SHARE",
"ITEM_QUICK_CLAW",
"ITEM_SOOTHE_BELL",
"ITEM_MENTAL_HERB",
"ITEM_CHOICE_BAND",
"ITEM_KINGS_ROCK",
"ITEM_SILVERPOWDER",
"ITEM_AMULET_COIN",
"ITEM_CLEANSE_TAG",
"ITEM_SOUL_DEW",
"ITEM_DEEPSEATOOTH",
"ITEM_DEEPSEASCALE",
"ITEM_SMOKE_BALL",
"ITEM_EVERSTONE",
"ITEM_FOCUS_BAND",
"ITEM_LUCKY_EGG",
"ITEM_SCOPE_LENS",
"ITEM_METAL_COAT",
"ITEM_LEFTOVERS",
"ITEM_DRAGON_SCALE",
"ITEM_LIGHT_BALL",
"ITEM_SOFT_SAND",
"ITEM_HARD_STONE",
"ITEM_MIRACLE_SEED",
"ITEM_BLACKGLASSES",
"ITEM_BLACK_BELT",
"ITEM_MAGNET",
"ITEM_MYSTIC_WATER",
"ITEM_SHARP_BEAK",
"ITEM_POISON_BARB",
"ITEM_NEVERMELTICE",
"ITEM_SPELL_TAG",
"ITEM_TWISTEDSPOON",
"ITEM_CHARCOAL",
"ITEM_DRAGON_FANG",
"ITEM_SILK_SCARF",
"ITEM_UPGRADE",
"ITEM_SHELL_BELL",
"ITEM_SEA_INCENSE",
"ITEM_LAX_INCENSE",
"ITEM_LUCKY_PUNCH",
"ITEM_METAL_POWDER",
"ITEM_THICK_CLUB",
"ITEM_STICK",
"ITEM_RED_SCARF",
"ITEM_BLUE_SCARF",
"ITEM_PINK_SCARF",
"ITEM_GREEN_SCARF",
"ITEM_YELLOW_SCARF",
"ITEM_WIDE_LENS",
"ITEM_MUSCLE_BAND",
"ITEM_WISE_GLASSES",
"ITEM_EXPERT_BELT",
"ITEM_LIGHT_CLAY",
"ITEM_LIFE_ORB",
"ITEM_POWER_HERB",
"ITEM_TOXIC_ORB",
"ITEM_FLAME_ORB",
"ITEM_QUICK_POWDER",
"ITEM_FOCUS_SASH",
"ITEM_ZOOM_LENS",
"ITEM_METRONOME",
"ITEM_IRON_BALL",
"ITEM_LAGGING_TAIL",
"ITEM_DESTINY_KNOT",
"ITEM_BLACK_SLUDGE",
"ITEM_ICY_ROCK",
"ITEM_SMOOTH_ROCK",
"ITEM_HEAT_ROCK",
"ITEM_DAMP_ROCK",
"ITEM_GRIP_CLAW",
"ITEM_CHOICE_SCARF",
"ITEM_STICKY_BARB",
"ITEM_POWER_BRACER",
"ITEM_POWER_BELT",
"ITEM_POWER_LENS",
"ITEM_POWER_BAND",
"ITEM_POWER_ANKLET",
"ITEM_POWER_WEIGHT",
"ITEM_SHED_SHELL",
"ITEM_BIG_ROOT",
"ITEM_CHOICE_SPECS",
"ITEM_FLAME_PLATE",
"ITEM_SPLASH_PLATE",
"ITEM_ZAP_PLATE",
"ITEM_MEADOW_PLATE",
"ITEM_ICICLE_PLATE",
"ITEM_FIST_PLATE",
"ITEM_TOXIC_PLATE",
"ITEM_EARTH_PLATE",
"ITEM_SKY_PLATE",
"ITEM_MIND_PLATE",
"ITEM_INSECT_PLATE",
"ITEM_STONE_PLATE",
"ITEM_SPOOKY_PLATE",
"ITEM_DRACO_PLATE",
"ITEM_DREAD_PLATE",
"ITEM_IRON_PLATE",
"ITEM_ODD_INCENSE",
"ITEM_ROCK_INCENSE",
"ITEM_FULL_INCENSE",
"ITEM_WAVE_INCENSE",
"ITEM_ROSE_INCENSE",
"ITEM_LUCK_INCENSE",
"ITEM_PURE_INCENSE",
"ITEM_PROTECTOR",
"ITEM_ELECTIRIZER",
"ITEM_MAGMARIZER",
"ITEM_DUBIOUS_DISC",
"ITEM_REAPER_CLOTH",
"ITEM_RAZOR_CLAW",
"ITEM_RAZOR_FANG",
"ITEM_TM01",
"ITEM_TM02",
"ITEM_TM03",
"ITEM_TM04",
"ITEM_TM05",
"ITEM_TM06",
"ITEM_TM07",
"ITEM_TM08",
"ITEM_TM09",
"ITEM_TM10",
"ITEM_TM11",
"ITEM_TM12",
"ITEM_TM13",
"ITEM_TM14",
"ITEM_TM15",
"ITEM_TM16",
"ITEM_TM17",
"ITEM_TM18",
"ITEM_TM19",
"ITEM_TM20",
"ITEM_TM21",
"ITEM_TM22",
"ITEM_TM23",
"ITEM_TM24",
"ITEM_TM25",
"ITEM_TM26",
"ITEM_TM27",
"ITEM_TM28",
"ITEM_TM29",
"ITEM_TM30",
"ITEM_TM31",
"ITEM_TM32",
"ITEM_TM33",
"ITEM_TM34",
"ITEM_TM35",
"ITEM_TM36",
"ITEM_TM37",
"ITEM_TM38",
"ITEM_TM39",
"ITEM_TM40",
"ITEM_TM41",
"ITEM_TM42",
"ITEM_TM43",
"ITEM_TM44",
"ITEM_TM45",
"ITEM_TM46",
"ITEM_TM47",
"ITEM_TM48",
"ITEM_TM49",
"ITEM_TM50",
"ITEM_TM51",
"ITEM_TM52",
"ITEM_TM53",
"ITEM_TM54",
"ITEM_TM55",
"ITEM_TM56",
"ITEM_TM57",
"ITEM_TM58",
"ITEM_TM59",
"ITEM_TM60",
"ITEM_TM61",
"ITEM_TM62",
"ITEM_TM63",
"ITEM_TM64",
"ITEM_TM65",
"ITEM_TM66",
"ITEM_TM67",
"ITEM_TM68",
"ITEM_TM69",
"ITEM_TM70",
"ITEM_TM71",
"ITEM_TM72",
"ITEM_TM73",
"ITEM_TM74",
"ITEM_TM75",
"ITEM_TM76",
"ITEM_TM77",
"ITEM_TM78",
"ITEM_TM79",
"ITEM_TM80",
"ITEM_TM81",
"ITEM_TM82",
"ITEM_TM83",
"ITEM_TM84",
"ITEM_TM85",
"ITEM_TM86",
"ITEM_TM87",
"ITEM_TM88",
"ITEM_TM89",
"ITEM_TM90",
"ITEM_TM91",
"ITEM_TM92",
"ITEM_HM01",
"ITEM_HM02",
"ITEM_HM03",
"ITEM_HM04",
"ITEM_HM05",
"ITEM_HM06",
"ITEM_HM07",
"ITEM_HM08",
"ITEM_EXPLORER_KIT",
"ITEM_LOOT_SACK",
"ITEM_RULE_BOOK",
"ITEM_POKE_RADAR",
"ITEM_POINT_CARD",
"ITEM_JOURNAL",
"ITEM_SEAL_CASE",
"ITEM_FASHION_CASE",
"ITEM_SEAL_BAG",
"ITEM_PAL_PAD",
"ITEM_WORKS_KEY",
"ITEM_OLD_CHARM",
"ITEM_GALACTIC_KEY",
"ITEM_RED_CHAIN",
"ITEM_TOWN_MAP",
"ITEM_VS_SEEKER",
"ITEM_COIN_CASE",
"ITEM_OLD_ROD",
"ITEM_GOOD_ROD",
"ITEM_SUPER_ROD",
"ITEM_SPRAYDUCK",
"ITEM_POFFIN_CASE",
"ITEM_BICYCLE",
"ITEM_SUITE_KEY",
"ITEM_OAKS_LETTER",
"ITEM_LUNAR_WING",
"ITEM_MEMBER_CARD",
"ITEM_AZURE_FLUTE",
"ITEM_S_S_TICKET",
"ITEM_CONTEST_PASS",
"ITEM_MAGMA_STONE",
"ITEM_PARCEL",
"ITEM_COUPON_1",
"ITEM_COUPON_2",
"ITEM_COUPON_3",
"ITEM_STORAGE_KEY",
"ITEM_SECRETPOTION",
"ITEM_VS_RECORDER",
"ITEM_GRACIDEA",
"ITEM_SECRET_KEY",
"MAX_ITEMS"
]
}
}
}

View File

@ -1,13 +1,13 @@
# This must be moved here during the refactor to move all constants to metang.
constgen_py = find_program('constgen_py', native: true)
consts_manifest_basenames = [
'abilities',
'badges',
'battle',
'battle_subscripts',
'btlcmd',
'catching_show',
'game_records',
'gender',
'items',
'journal',
'map',
'movement',
@ -16,9 +16,6 @@ consts_manifest_basenames = [
'poketch',
'scrcmd',
'sdat',
'shadows',
'species',
'tm_learnset',
'trainer',
'trainer_ai',
]

View File

@ -17,480 +17,6 @@
"MOVEATTRIBUTE_CONTEST_TYPE"
]
},
"@Move": {
"type": "enum",
"values": [
"MOVE_NONE",
"MOVE_POUND",
"MOVE_KARATE_CHOP",
"MOVE_DOUBLE_SLAP",
"MOVE_COMET_PUNCH",
"MOVE_MEGA_PUNCH",
"MOVE_PAY_DAY",
"MOVE_FIRE_PUNCH",
"MOVE_ICE_PUNCH",
"MOVE_THUNDER_PUNCH",
"MOVE_SCRATCH",
"MOVE_VICE_GRIP",
"MOVE_GUILLOTINE",
"MOVE_RAZOR_WIND",
"MOVE_SWORDS_DANCE",
"MOVE_CUT",
"MOVE_GUST",
"MOVE_WING_ATTACK",
"MOVE_WHIRLWIND",
"MOVE_FLY",
"MOVE_BIND",
"MOVE_SLAM",
"MOVE_VINE_WHIP",
"MOVE_STOMP",
"MOVE_DOUBLE_KICK",
"MOVE_MEGA_KICK",
"MOVE_JUMP_KICK",
"MOVE_ROLLING_KICK",
"MOVE_SAND_ATTACK",
"MOVE_HEADBUTT",
"MOVE_HORN_ATTACK",
"MOVE_FURY_ATTACK",
"MOVE_HORN_DRILL",
"MOVE_TACKLE",
"MOVE_BODY_SLAM",
"MOVE_WRAP",
"MOVE_TAKE_DOWN",
"MOVE_THRASH",
"MOVE_DOUBLE_EDGE",
"MOVE_TAIL_WHIP",
"MOVE_POISON_STING",
"MOVE_TWINEEDLE",
"MOVE_PIN_MISSILE",
"MOVE_LEER",
"MOVE_BITE",
"MOVE_GROWL",
"MOVE_ROAR",
"MOVE_SING",
"MOVE_SUPERSONIC",
"MOVE_SONIC_BOOM",
"MOVE_DISABLE",
"MOVE_ACID",
"MOVE_EMBER",
"MOVE_FLAMETHROWER",
"MOVE_MIST",
"MOVE_WATER_GUN",
"MOVE_HYDRO_PUMP",
"MOVE_SURF",
"MOVE_ICE_BEAM",
"MOVE_BLIZZARD",
"MOVE_PSYBEAM",
"MOVE_BUBBLE_BEAM",
"MOVE_AURORA_BEAM",
"MOVE_HYPER_BEAM",
"MOVE_PECK",
"MOVE_DRILL_PECK",
"MOVE_SUBMISSION",
"MOVE_LOW_KICK",
"MOVE_COUNTER",
"MOVE_SEISMIC_TOSS",
"MOVE_STRENGTH",
"MOVE_ABSORB",
"MOVE_MEGA_DRAIN",
"MOVE_LEECH_SEED",
"MOVE_GROWTH",
"MOVE_RAZOR_LEAF",
"MOVE_SOLAR_BEAM",
"MOVE_POISON_POWDER",
"MOVE_STUN_SPORE",
"MOVE_SLEEP_POWDER",
"MOVE_PETAL_DANCE",
"MOVE_STRING_SHOT",
"MOVE_DRAGON_RAGE",
"MOVE_FIRE_SPIN",
"MOVE_THUNDER_SHOCK",
"MOVE_THUNDERBOLT",
"MOVE_THUNDER_WAVE",
"MOVE_THUNDER",
"MOVE_ROCK_THROW",
"MOVE_EARTHQUAKE",
"MOVE_FISSURE",
"MOVE_DIG",
"MOVE_TOXIC",
"MOVE_CONFUSION",
"MOVE_PSYCHIC",
"MOVE_HYPNOSIS",
"MOVE_MEDITATE",
"MOVE_AGILITY",
"MOVE_QUICK_ATTACK",
"MOVE_RAGE",
"MOVE_TELEPORT",
"MOVE_NIGHT_SHADE",
"MOVE_MIMIC",
"MOVE_SCREECH",
"MOVE_DOUBLE_TEAM",
"MOVE_RECOVER",
"MOVE_HARDEN",
"MOVE_MINIMIZE",
"MOVE_SMOKE_SCREEN",
"MOVE_CONFUSE_RAY",
"MOVE_WITHDRAW",
"MOVE_DEFENSE_CURL",
"MOVE_BARRIER",
"MOVE_LIGHT_SCREEN",
"MOVE_HAZE",
"MOVE_REFLECT",
"MOVE_FOCUS_ENERGY",
"MOVE_BIDE",
"MOVE_METRONOME",
"MOVE_MIRROR_MOVE",
"MOVE_SELFDESTRUCT",
"MOVE_EGG_BOMB",
"MOVE_LICK",
"MOVE_SMOG",
"MOVE_SLUDGE",
"MOVE_BONE_CLUB",
"MOVE_FIRE_BLAST",
"MOVE_WATERFALL",
"MOVE_CLAMP",
"MOVE_SWIFT",
"MOVE_SKULL_BASH",
"MOVE_SPIKE_CANNON",
"MOVE_CONSTRICT",
"MOVE_AMNESIA",
"MOVE_KINESIS",
"MOVE_SOFTBOILED",
"MOVE_HI_JUMP_KICK",
"MOVE_GLARE",
"MOVE_DREAM_EATER",
"MOVE_POISON_GAS",
"MOVE_BARRAGE",
"MOVE_LEECH_LIFE",
"MOVE_LOVELY_KISS",
"MOVE_SKY_ATTACK",
"MOVE_TRANSFORM",
"MOVE_BUBBLE",
"MOVE_DIZZY_PUNCH",
"MOVE_SPORE",
"MOVE_FLASH",
"MOVE_PSYWAVE",
"MOVE_SPLASH",
"MOVE_ACID_ARMOR",
"MOVE_CRABHAMMER",
"MOVE_EXPLOSION",
"MOVE_FURY_SWIPES",
"MOVE_BONEMERANG",
"MOVE_REST",
"MOVE_ROCK_SLIDE",
"MOVE_HYPER_FANG",
"MOVE_SHARPEN",
"MOVE_CONVERSION",
"MOVE_TRI_ATTACK",
"MOVE_SUPER_FANG",
"MOVE_SLASH",
"MOVE_SUBSTITUTE",
"MOVE_STRUGGLE",
"MOVE_SKETCH",
"MOVE_TRIPLE_KICK",
"MOVE_THIEF",
"MOVE_SPIDER_WEB",
"MOVE_MIND_READER",
"MOVE_NIGHTMARE",
"MOVE_FLAME_WHEEL",
"MOVE_SNORE",
"MOVE_CURSE",
"MOVE_FLAIL",
"MOVE_CONVERSION_2",
"MOVE_AEROBLAST",
"MOVE_COTTON_SPORE",
"MOVE_REVERSAL",
"MOVE_SPITE",
"MOVE_POWDER_SNOW",
"MOVE_PROTECT",
"MOVE_MACH_PUNCH",
"MOVE_SCARY_FACE",
"MOVE_FAINT_ATTACK",
"MOVE_SWEET_KISS",
"MOVE_BELLY_DRUM",
"MOVE_SLUDGE_BOMB",
"MOVE_MUD_SLAP",
"MOVE_OCTAZOOKA",
"MOVE_SPIKES",
"MOVE_ZAP_CANNON",
"MOVE_FORESIGHT",
"MOVE_DESTINY_BOND",
"MOVE_PERISH_SONG",
"MOVE_ICY_WIND",
"MOVE_DETECT",
"MOVE_BONE_RUSH",
"MOVE_LOCK_ON",
"MOVE_OUTRAGE",
"MOVE_SANDSTORM",
"MOVE_GIGA_DRAIN",
"MOVE_ENDURE",
"MOVE_CHARM",
"MOVE_ROLLOUT",
"MOVE_FALSE_SWIPE",
"MOVE_SWAGGER",
"MOVE_MILK_DRINK",
"MOVE_SPARK",
"MOVE_FURY_CUTTER",
"MOVE_STEEL_WING",
"MOVE_MEAN_LOOK",
"MOVE_ATTRACT",
"MOVE_SLEEP_TALK",
"MOVE_HEAL_BELL",
"MOVE_RETURN",
"MOVE_PRESENT",
"MOVE_FRUSTRATION",
"MOVE_SAFEGUARD",
"MOVE_PAIN_SPLIT",
"MOVE_SACRED_FIRE",
"MOVE_MAGNITUDE",
"MOVE_DYNAMIC_PUNCH",
"MOVE_MEGAHORN",
"MOVE_DRAGON_BREATH",
"MOVE_BATON_PASS",
"MOVE_ENCORE",
"MOVE_PURSUIT",
"MOVE_RAPID_SPIN",
"MOVE_SWEET_SCENT",
"MOVE_IRON_TAIL",
"MOVE_METAL_CLAW",
"MOVE_VITAL_THROW",
"MOVE_MORNING_SUN",
"MOVE_SYNTHESIS",
"MOVE_MOONLIGHT",
"MOVE_HIDDEN_POWER",
"MOVE_CROSS_CHOP",
"MOVE_TWISTER",
"MOVE_RAIN_DANCE",
"MOVE_SUNNY_DAY",
"MOVE_CRUNCH",
"MOVE_MIRROR_COAT",
"MOVE_PSYCH_UP",
"MOVE_EXTREME_SPEED",
"MOVE_ANCIENT_POWER",
"MOVE_SHADOW_BALL",
"MOVE_FUTURE_SIGHT",
"MOVE_ROCK_SMASH",
"MOVE_WHIRLPOOL",
"MOVE_BEAT_UP",
"MOVE_FAKE_OUT",
"MOVE_UPROAR",
"MOVE_STOCKPILE",
"MOVE_SPIT_UP",
"MOVE_SWALLOW",
"MOVE_HEAT_WAVE",
"MOVE_HAIL",
"MOVE_TORMENT",
"MOVE_FLATTER",
"MOVE_WILL_O_WISP",
"MOVE_MEMENTO",
"MOVE_FACADE",
"MOVE_FOCUS_PUNCH",
"MOVE_SMELLING_SALT",
"MOVE_FOLLOW_ME",
"MOVE_NATURE_POWER",
"MOVE_CHARGE",
"MOVE_TAUNT",
"MOVE_HELPING_HAND",
"MOVE_TRICK",
"MOVE_ROLE_PLAY",
"MOVE_WISH",
"MOVE_ASSIST",
"MOVE_INGRAIN",
"MOVE_SUPERPOWER",
"MOVE_MAGIC_COAT",
"MOVE_RECYCLE",
"MOVE_REVENGE",
"MOVE_BRICK_BREAK",
"MOVE_YAWN",
"MOVE_KNOCK_OFF",
"MOVE_ENDEAVOR",
"MOVE_ERUPTION",
"MOVE_SKILL_SWAP",
"MOVE_IMPRISON",
"MOVE_REFRESH",
"MOVE_GRUDGE",
"MOVE_SNATCH",
"MOVE_SECRET_POWER",
"MOVE_DIVE",
"MOVE_ARM_THRUST",
"MOVE_CAMOUFLAGE",
"MOVE_TAIL_GLOW",
"MOVE_LUSTER_PURGE",
"MOVE_MIST_BALL",
"MOVE_FEATHER_DANCE",
"MOVE_TEETER_DANCE",
"MOVE_BLAZE_KICK",
"MOVE_MUD_SPORT",
"MOVE_ICE_BALL",
"MOVE_NEEDLE_ARM",
"MOVE_SLACK_OFF",
"MOVE_HYPER_VOICE",
"MOVE_POISON_FANG",
"MOVE_CRUSH_CLAW",
"MOVE_BLAST_BURN",
"MOVE_HYDRO_CANNON",
"MOVE_METEOR_MASH",
"MOVE_ASTONISH",
"MOVE_WEATHER_BALL",
"MOVE_AROMATHERAPY",
"MOVE_FAKE_TEARS",
"MOVE_AIR_CUTTER",
"MOVE_OVERHEAT",
"MOVE_ODOR_SLEUTH",
"MOVE_ROCK_TOMB",
"MOVE_SILVER_WIND",
"MOVE_METAL_SOUND",
"MOVE_GRASS_WHISTLE",
"MOVE_TICKLE",
"MOVE_COSMIC_POWER",
"MOVE_WATER_SPOUT",
"MOVE_SIGNAL_BEAM",
"MOVE_SHADOW_PUNCH",
"MOVE_EXTRASENSORY",
"MOVE_SKY_UPPERCUT",
"MOVE_SAND_TOMB",
"MOVE_SHEER_COLD",
"MOVE_MUDDY_WATER",
"MOVE_BULLET_SEED",
"MOVE_AERIAL_ACE",
"MOVE_ICICLE_SPEAR",
"MOVE_IRON_DEFENSE",
"MOVE_BLOCK",
"MOVE_HOWL",
"MOVE_DRAGON_CLAW",
"MOVE_FRENZY_PLANT",
"MOVE_BULK_UP",
"MOVE_BOUNCE",
"MOVE_MUD_SHOT",
"MOVE_POISON_TAIL",
"MOVE_COVET",
"MOVE_VOLT_TACKLE",
"MOVE_MAGICAL_LEAF",
"MOVE_WATER_SPORT",
"MOVE_CALM_MIND",
"MOVE_LEAF_BLADE",
"MOVE_DRAGON_DANCE",
"MOVE_ROCK_BLAST",
"MOVE_SHOCK_WAVE",
"MOVE_WATER_PULSE",
"MOVE_DOOM_DESIRE",
"MOVE_PSYCHO_BOOST",
"MOVE_ROOST",
"MOVE_GRAVITY",
"MOVE_MIRACLE_EYE",
"MOVE_WAKE_UP_SLAP",
"MOVE_HAMMER_ARM",
"MOVE_GYRO_BALL",
"MOVE_HEALING_WISH",
"MOVE_BRINE",
"MOVE_NATURAL_GIFT",
"MOVE_FEINT",
"MOVE_PLUCK",
"MOVE_TAILWIND",
"MOVE_ACUPRESSURE",
"MOVE_METAL_BURST",
"MOVE_U_TURN",
"MOVE_CLOSE_COMBAT",
"MOVE_PAYBACK",
"MOVE_ASSURANCE",
"MOVE_EMBARGO",
"MOVE_FLING",
"MOVE_PSYCHO_SHIFT",
"MOVE_TRUMP_CARD",
"MOVE_HEAL_BLOCK",
"MOVE_WRING_OUT",
"MOVE_POWER_TRICK",
"MOVE_GASTRO_ACID",
"MOVE_LUCKY_CHANT",
"MOVE_ME_FIRST",
"MOVE_COPYCAT",
"MOVE_POWER_SWAP",
"MOVE_GUARD_SWAP",
"MOVE_PUNISHMENT",
"MOVE_LAST_RESORT",
"MOVE_WORRY_SEED",
"MOVE_SUCKER_PUNCH",
"MOVE_TOXIC_SPIKES",
"MOVE_HEART_SWAP",
"MOVE_AQUA_RING",
"MOVE_MAGNET_RISE",
"MOVE_FLARE_BLITZ",
"MOVE_FORCE_PALM",
"MOVE_AURA_SPHERE",
"MOVE_ROCK_POLISH",
"MOVE_POISON_JAB",
"MOVE_DARK_PULSE",
"MOVE_NIGHT_SLASH",
"MOVE_AQUA_TAIL",
"MOVE_SEED_BOMB",
"MOVE_AIR_SLASH",
"MOVE_X_SCISSOR",
"MOVE_BUG_BUZZ",
"MOVE_DRAGON_PULSE",
"MOVE_DRAGON_RUSH",
"MOVE_POWER_GEM",
"MOVE_DRAIN_PUNCH",
"MOVE_VACUUM_WAVE",
"MOVE_FOCUS_BLAST",
"MOVE_ENERGY_BALL",
"MOVE_BRAVE_BIRD",
"MOVE_EARTH_POWER",
"MOVE_SWITCHEROO",
"MOVE_GIGA_IMPACT",
"MOVE_NASTY_PLOT",
"MOVE_BULLET_PUNCH",
"MOVE_AVALANCHE",
"MOVE_ICE_SHARD",
"MOVE_SHADOW_CLAW",
"MOVE_THUNDER_FANG",
"MOVE_ICE_FANG",
"MOVE_FIRE_FANG",
"MOVE_SHADOW_SNEAK",
"MOVE_MUD_BOMB",
"MOVE_PSYCHO_CUT",
"MOVE_ZEN_HEADBUTT",
"MOVE_MIRROR_SHOT",
"MOVE_FLASH_CANNON",
"MOVE_ROCK_CLIMB",
"MOVE_DEFOG",
"MOVE_TRICK_ROOM",
"MOVE_DRACO_METEOR",
"MOVE_DISCHARGE",
"MOVE_LAVA_PLUME",
"MOVE_LEAF_STORM",
"MOVE_POWER_WHIP",
"MOVE_ROCK_WRECKER",
"MOVE_CROSS_POISON",
"MOVE_GUNK_SHOT",
"MOVE_IRON_HEAD",
"MOVE_MAGNET_BOMB",
"MOVE_STONE_EDGE",
"MOVE_CAPTIVATE",
"MOVE_STEALTH_ROCK",
"MOVE_GRASS_KNOT",
"MOVE_CHATTER",
"MOVE_JUDGMENT",
"MOVE_BUG_BITE",
"MOVE_CHARGE_BEAM",
"MOVE_WOOD_HAMMER",
"MOVE_AQUA_JET",
"MOVE_ATTACK_ORDER",
"MOVE_DEFEND_ORDER",
"MOVE_HEAL_ORDER",
"MOVE_HEAD_SMASH",
"MOVE_DOUBLE_HIT",
"MOVE_ROAR_OF_TIME",
"MOVE_SPACIAL_REND",
"MOVE_LUNAR_DANCE",
"MOVE_CRUSH_GRIP",
"MOVE_MAGMA_STORM",
"MOVE_DARK_VOID",
"MOVE_SEED_FLARE",
"MOVE_OMINOUS_WIND",
"MOVE_SHADOW_FORCE",
"MAX_MOVES"
]
},
"@MoveClass": {
"type": "enum",
"values": [

View File

@ -1,146 +1,41 @@
{
"definitions": {
"@PokemonType": {
"type": "enum",
"as_preproc": true,
"values": [
"TYPE_NORMAL",
"TYPE_FIGHTING",
"TYPE_FLYING",
"TYPE_POISON",
"TYPE_GROUND",
"TYPE_ROCK",
"TYPE_BUG",
"TYPE_GHOST",
"TYPE_STEEL",
"TYPE_MYSTERY",
"TYPE_FIRE",
"TYPE_WATER",
"TYPE_GRASS",
"TYPE_ELECTRIC",
"TYPE_PSYCHIC",
"TYPE_ICE",
"TYPE_DRAGON",
"TYPE_DARK",
"NUMBER_OF_MON_TYPES"
]
},
"@PokemonPersonalDataParam": {
"@SpeciesDataParam": {
"type": "enum",
"values": [
"MON_DATA_PERSONAL_BASE_HP",
"MON_DATA_PERSONAL_BASE_ATK",
"MON_DATA_PERSONAL_BASE_DEF",
"MON_DATA_PERSONAL_BASE_SPEED",
"MON_DATA_PERSONAL_BASE_SP_ATK",
"MON_DATA_PERSONAL_BASE_SP_DEF",
"MON_DATA_PERSONAL_TYPE_1",
"MON_DATA_PERSONAL_TYPE_2",
"MON_DATA_PERSONAL_CATCH_RATE",
"MON_DATA_PERSONAL_BASE_EXP",
"MON_DATA_PERSONAL_EV_HP_YIELD",
"MON_DATA_PERSONAL_EV_ATK_YIELD",
"MON_DATA_PERSONAL_EV_DEF_YIELD",
"MON_DATA_PERSONAL_EV_SPEED_YIELD",
"MON_DATA_PERSONAL_EV_SP_ATK_YIELD",
"MON_DATA_PERSONAL_EV_SP_DEF_YIELD",
"MON_DATA_PERSONAL_ITEM1",
"MON_DATA_PERSONAL_ITEM2",
"MON_DATA_PERSONAL_GENDER",
"MON_DATA_PERSONAL_HATCH_CYCLE",
"MON_DATA_PERSONAL_BASE_FRIENDSHIP",
"MON_DATA_PERSONAL_EXP_RATE",
"MON_DATA_PERSONAL_EGG_GROUP_1",
"MON_DATA_PERSONAL_EGG_GROUP_2",
"MON_DATA_PERSONAL_ABILITY_1",
"MON_DATA_PERSONAL_ABILITY_2",
"MON_DATA_PERSONAL_GREAT_MARSH_FLEE_RATE",
"MON_DATA_PERSONAL_COLOR",
"MON_DATA_PERSONAL_FLIP_SPRITE",
"MON_DATA_PERSONAL_TM_LEARNSET_MASK_1",
"MON_DATA_PERSONAL_TM_LEARNSET_MASK_2",
"MON_DATA_PERSONAL_TM_LEARNSET_MASK_3",
"MON_DATA_PERSONAL_TM_LEARNSET_MASK_4"
]
},
"@PokemonColor": {
"type": "enum",
"values": [
"MON_COLOR_RED",
"MON_COLOR_BLUE",
"MON_COLOR_YELLOW",
"MON_COLOR_GREEN",
"MON_COLOR_BLACK",
"MON_COLOR_BROWN",
"MON_COLOR_PURPLE",
"MON_COLOR_GRAY",
"MON_COLOR_WHITE",
"MON_COLOR_PINK",
"MON_COLOR_EGG"
]
},
"@PokemonEggGroup": {
"type": "enum",
"values": [
"EGG_GROUP_NONE",
"EGG_GROUP_MONSTER",
"EGG_GROUP_WATER_1",
"EGG_GROUP_BUG",
"EGG_GROUP_FLYING",
"EGG_GROUP_FIELD",
"EGG_GROUP_FAIRY",
"EGG_GROUP_GRASS",
"EGG_GROUP_HUMAN_LIKE",
"EGG_GROUP_WATER_3",
"EGG_GROUP_MINERAL",
"EGG_GROUP_AMORPHOUS",
"EGG_GROUP_WATER_2",
"EGG_GROUP_DITTO",
"EGG_GROUP_DRAGON",
"EGG_GROUP_UNDISCOVERED"
]
},
"@PokemonEvoMethod": {
"type": "enum",
"values": [
"EVO_NONE",
"EVO_HAPPINESS",
"EVO_HAPPINESS_DAY",
"EVO_HAPPINESS_NIGHT",
"EVO_LEVEL_UP",
"EVO_TRADE",
"EVO_TRADE_WITH_ITEM",
"EVO_USE_ITEM",
"EVO_LEVEL_ATK_GT_DEF",
"EVO_LEVEL_ATK_EQ_DEF",
"EVO_LEVEL_ATK_LT_DEF",
"EVO_LEVEL_PID_LOW",
"EVO_LEVEL_PID_HIGH",
"EVO_LEVEL_NINJASK",
"EVO_LEVEL_SHEDINJA",
"EVO_BEAUTY",
"EVO_USE_ITEM_MALE",
"EVO_USE_ITEM_FEMALE",
"EVO_USE_ITEM_DAY",
"EVO_USE_ITEM_NIGHT",
"EVO_KNOW_MOVE",
"EVO_MON_IN_PARTY",
"EVO_LEVEL_MALE",
"EVO_LEVEL_FEMALE",
"EVO_ELECTRIC_FIELD",
"EVO_MOSSY_STONE",
"EVO_ICY_STONE"
]
},
"@PokemonExpRate": {
"type": "enum",
"values": [
"EXP_RATE_MEDIUM_FAST",
"EXP_RATE_ERRATIC",
"EXP_RATE_FLUCTUATING",
"EXP_RATE_MEDIUM_SLOW",
"EXP_RATE_FAST",
"EXP_RATE_SLOW"
"SPECIES_DATA_BASE_HP",
"SPECIES_DATA_BASE_ATK",
"SPECIES_DATA_BASE_DEF",
"SPECIES_DATA_BASE_SPEED",
"SPECIES_DATA_BASE_SP_ATK",
"SPECIES_DATA_BASE_SP_DEF",
"SPECIES_DATA_TYPE_1",
"SPECIES_DATA_TYPE_2",
"SPECIES_DATA_CATCH_RATE",
"SPECIES_DATA_BASE_EXP_REWARD",
"SPECIES_DATA_EV_HP_YIELD",
"SPECIES_DATA_EV_ATK_YIELD",
"SPECIES_DATA_EV_DEF_YIELD",
"SPECIES_DATA_EV_SPEED_YIELD",
"SPECIES_DATA_EV_SP_ATK_YIELD",
"SPECIES_DATA_EV_SP_DEF_YIELD",
"SPECIES_DATA_HELD_ITEM_COMMON",
"SPECIES_DATA_HELD_ITEM_RARE",
"SPECIES_DATA_GENDER_RATIO",
"SPECIES_DATA_HATCH_CYCLES",
"SPECIES_DATA_BASE_FRIENDSHIP",
"SPECIES_DATA_EXP_RATE",
"SPECIES_DATA_EGG_GROUP_1",
"SPECIES_DATA_EGG_GROUP_2",
"SPECIES_DATA_ABILITY_1",
"SPECIES_DATA_ABILITY_2",
"SPECIES_DATA_SAFARI_FLEE_RATE",
"SPECIES_DATA_BODY_COLOR",
"SPECIES_DATA_FLIP_SPRITE",
"SPECIES_DATA_TM_LEARNSET_MASK_1",
"SPECIES_DATA_TM_LEARNSET_MASK_2",
"SPECIES_DATA_TM_LEARNSET_MASK_3",
"SPECIES_DATA_TM_LEARNSET_MASK_4"
]
},
"@PokemonContestType": {
@ -154,20 +49,6 @@
"CONTEST_TYPE_MAX"
]
},
"@PokemonGenderRatio": {
"type": "aliases",
"as_preproc": true,
"values": {
"GENDER_RATIO_MALE_ONLY": 0,
"GENDER_RATIO_FEMALE_12_5": 31,
"GENDER_RATIO_FEMALE_25": 63,
"GENDER_RATIO_FEMALE_50": 127,
"GENDER_RATIO_FEMALE_75": 191,
"GENDER_RATIO_FEMALE_87_5": 223,
"GENDER_RATIO_FEMALE_ONLY": 254,
"GENDER_RATIO_NO_GENDER": 255
}
},
"@PokemonFootprintSize": {
"type": "enum",
"as_preproc": true,

View File

@ -1,13 +0,0 @@
{
"definitions": {
"@PokemonBattleShadowSize": {
"type": "enum",
"values": [
"SHADOW_SIZE_NONE",
"SHADOW_SIZE_SMALL",
"SHADOW_SIZE_MEDIUM",
"SHADOW_SIZE_LARGE"
]
}
}
}

View File

@ -1,506 +0,0 @@
{
"definitions": {
"@PokemonSpecies": {
"type": "enum",
"as_preproc": true,
"values": [
"SPECIES_NONE",
"SPECIES_BULBASAUR",
"SPECIES_IVYSAUR",
"SPECIES_VENUSAUR",
"SPECIES_CHARMANDER",
"SPECIES_CHARMELEON",
"SPECIES_CHARIZARD",
"SPECIES_SQUIRTLE",
"SPECIES_WARTORTLE",
"SPECIES_BLASTOISE",
"SPECIES_CATERPIE",
"SPECIES_METAPOD",
"SPECIES_BUTTERFREE",
"SPECIES_WEEDLE",
"SPECIES_KAKUNA",
"SPECIES_BEEDRILL",
"SPECIES_PIDGEY",
"SPECIES_PIDGEOTTO",
"SPECIES_PIDGEOT",
"SPECIES_RATTATA",
"SPECIES_RATICATE",
"SPECIES_SPEAROW",
"SPECIES_FEAROW",
"SPECIES_EKANS",
"SPECIES_ARBOK",
"SPECIES_PIKACHU",
"SPECIES_RAICHU",
"SPECIES_SANDSHREW",
"SPECIES_SANDSLASH",
"SPECIES_NIDORAN_F",
"SPECIES_NIDORINA",
"SPECIES_NIDOQUEEN",
"SPECIES_NIDORAN_M",
"SPECIES_NIDORINO",
"SPECIES_NIDOKING",
"SPECIES_CLEFAIRY",
"SPECIES_CLEFABLE",
"SPECIES_VULPIX",
"SPECIES_NINETALES",
"SPECIES_JIGGLYPUFF",
"SPECIES_WIGGLYTUFF",
"SPECIES_ZUBAT",
"SPECIES_GOLBAT",
"SPECIES_ODDISH",
"SPECIES_GLOOM",
"SPECIES_VILEPLUME",
"SPECIES_PARAS",
"SPECIES_PARASECT",
"SPECIES_VENONAT",
"SPECIES_VENOMOTH",
"SPECIES_DIGLETT",
"SPECIES_DUGTRIO",
"SPECIES_MEOWTH",
"SPECIES_PERSIAN",
"SPECIES_PSYDUCK",
"SPECIES_GOLDUCK",
"SPECIES_MANKEY",
"SPECIES_PRIMEAPE",
"SPECIES_GROWLITHE",
"SPECIES_ARCANINE",
"SPECIES_POLIWAG",
"SPECIES_POLIWHIRL",
"SPECIES_POLIWRATH",
"SPECIES_ABRA",
"SPECIES_KADABRA",
"SPECIES_ALAKAZAM",
"SPECIES_MACHOP",
"SPECIES_MACHOKE",
"SPECIES_MACHAMP",
"SPECIES_BELLSPROUT",
"SPECIES_WEEPINBELL",
"SPECIES_VICTREEBEL",
"SPECIES_TENTACOOL",
"SPECIES_TENTACRUEL",
"SPECIES_GEODUDE",
"SPECIES_GRAVELER",
"SPECIES_GOLEM",
"SPECIES_PONYTA",
"SPECIES_RAPIDASH",
"SPECIES_SLOWPOKE",
"SPECIES_SLOWBRO",
"SPECIES_MAGNEMITE",
"SPECIES_MAGNETON",
"SPECIES_FARFETCHD",
"SPECIES_DODUO",
"SPECIES_DODRIO",
"SPECIES_SEEL",
"SPECIES_DEWGONG",
"SPECIES_GRIMER",
"SPECIES_MUK",
"SPECIES_SHELLDER",
"SPECIES_CLOYSTER",
"SPECIES_GASTLY",
"SPECIES_HAUNTER",
"SPECIES_GENGAR",
"SPECIES_ONIX",
"SPECIES_DROWZEE",
"SPECIES_HYPNO",
"SPECIES_KRABBY",
"SPECIES_KINGLER",
"SPECIES_VOLTORB",
"SPECIES_ELECTRODE",
"SPECIES_EXEGGCUTE",
"SPECIES_EXEGGUTOR",
"SPECIES_CUBONE",
"SPECIES_MAROWAK",
"SPECIES_HITMONLEE",
"SPECIES_HITMONCHAN",
"SPECIES_LICKITUNG",
"SPECIES_KOFFING",
"SPECIES_WEEZING",
"SPECIES_RHYHORN",
"SPECIES_RHYDON",
"SPECIES_CHANSEY",
"SPECIES_TANGELA",
"SPECIES_KANGASKHAN",
"SPECIES_HORSEA",
"SPECIES_SEADRA",
"SPECIES_GOLDEEN",
"SPECIES_SEAKING",
"SPECIES_STARYU",
"SPECIES_STARMIE",
"SPECIES_MR_MIME",
"SPECIES_SCYTHER",
"SPECIES_JYNX",
"SPECIES_ELECTABUZZ",
"SPECIES_MAGMAR",
"SPECIES_PINSIR",
"SPECIES_TAUROS",
"SPECIES_MAGIKARP",
"SPECIES_GYARADOS",
"SPECIES_LAPRAS",
"SPECIES_DITTO",
"SPECIES_EEVEE",
"SPECIES_VAPOREON",
"SPECIES_JOLTEON",
"SPECIES_FLAREON",
"SPECIES_PORYGON",
"SPECIES_OMANYTE",
"SPECIES_OMASTAR",
"SPECIES_KABUTO",
"SPECIES_KABUTOPS",
"SPECIES_AERODACTYL",
"SPECIES_SNORLAX",
"SPECIES_ARTICUNO",
"SPECIES_ZAPDOS",
"SPECIES_MOLTRES",
"SPECIES_DRATINI",
"SPECIES_DRAGONAIR",
"SPECIES_DRAGONITE",
"SPECIES_MEWTWO",
"SPECIES_MEW",
"SPECIES_CHIKORITA",
"SPECIES_BAYLEEF",
"SPECIES_MEGANIUM",
"SPECIES_CYNDAQUIL",
"SPECIES_QUILAVA",
"SPECIES_TYPHLOSION",
"SPECIES_TOTODILE",
"SPECIES_CROCONAW",
"SPECIES_FERALIGATR",
"SPECIES_SENTRET",
"SPECIES_FURRET",
"SPECIES_HOOTHOOT",
"SPECIES_NOCTOWL",
"SPECIES_LEDYBA",
"SPECIES_LEDIAN",
"SPECIES_SPINARAK",
"SPECIES_ARIADOS",
"SPECIES_CROBAT",
"SPECIES_CHINCHOU",
"SPECIES_LANTURN",
"SPECIES_PICHU",
"SPECIES_CLEFFA",
"SPECIES_IGGLYBUFF",
"SPECIES_TOGEPI",
"SPECIES_TOGETIC",
"SPECIES_NATU",
"SPECIES_XATU",
"SPECIES_MAREEP",
"SPECIES_FLAAFFY",
"SPECIES_AMPHAROS",
"SPECIES_BELLOSSOM",
"SPECIES_MARILL",
"SPECIES_AZUMARILL",
"SPECIES_SUDOWOODO",
"SPECIES_POLITOED",
"SPECIES_HOPPIP",
"SPECIES_SKIPLOOM",
"SPECIES_JUMPLUFF",
"SPECIES_AIPOM",
"SPECIES_SUNKERN",
"SPECIES_SUNFLORA",
"SPECIES_YANMA",
"SPECIES_WOOPER",
"SPECIES_QUAGSIRE",
"SPECIES_ESPEON",
"SPECIES_UMBREON",
"SPECIES_MURKROW",
"SPECIES_SLOWKING",
"SPECIES_MISDREAVUS",
"SPECIES_UNOWN",
"SPECIES_WOBBUFFET",
"SPECIES_GIRAFARIG",
"SPECIES_PINECO",
"SPECIES_FORRETRESS",
"SPECIES_DUNSPARCE",
"SPECIES_GLIGAR",
"SPECIES_STEELIX",
"SPECIES_SNUBBULL",
"SPECIES_GRANBULL",
"SPECIES_QWILFISH",
"SPECIES_SCIZOR",
"SPECIES_SHUCKLE",
"SPECIES_HERACROSS",
"SPECIES_SNEASEL",
"SPECIES_TEDDIURSA",
"SPECIES_URSARING",
"SPECIES_SLUGMA",
"SPECIES_MAGCARGO",
"SPECIES_SWINUB",
"SPECIES_PILOSWINE",
"SPECIES_CORSOLA",
"SPECIES_REMORAID",
"SPECIES_OCTILLERY",
"SPECIES_DELIBIRD",
"SPECIES_MANTINE",
"SPECIES_SKARMORY",
"SPECIES_HOUNDOUR",
"SPECIES_HOUNDOOM",
"SPECIES_KINGDRA",
"SPECIES_PHANPY",
"SPECIES_DONPHAN",
"SPECIES_PORYGON2",
"SPECIES_STANTLER",
"SPECIES_SMEARGLE",
"SPECIES_TYROGUE",
"SPECIES_HITMONTOP",
"SPECIES_SMOOCHUM",
"SPECIES_ELEKID",
"SPECIES_MAGBY",
"SPECIES_MILTANK",
"SPECIES_BLISSEY",
"SPECIES_RAIKOU",
"SPECIES_ENTEI",
"SPECIES_SUICUNE",
"SPECIES_LARVITAR",
"SPECIES_PUPITAR",
"SPECIES_TYRANITAR",
"SPECIES_LUGIA",
"SPECIES_HO_OH",
"SPECIES_CELEBI",
"SPECIES_TREECKO",
"SPECIES_GROVYLE",
"SPECIES_SCEPTILE",
"SPECIES_TORCHIC",
"SPECIES_COMBUSKEN",
"SPECIES_BLAZIKEN",
"SPECIES_MUDKIP",
"SPECIES_MARSHTOMP",
"SPECIES_SWAMPERT",
"SPECIES_POOCHYENA",
"SPECIES_MIGHTYENA",
"SPECIES_ZIGZAGOON",
"SPECIES_LINOONE",
"SPECIES_WURMPLE",
"SPECIES_SILCOON",
"SPECIES_BEAUTIFLY",
"SPECIES_CASCOON",
"SPECIES_DUSTOX",
"SPECIES_LOTAD",
"SPECIES_LOMBRE",
"SPECIES_LUDICOLO",
"SPECIES_SEEDOT",
"SPECIES_NUZLEAF",
"SPECIES_SHIFTRY",
"SPECIES_TAILLOW",
"SPECIES_SWELLOW",
"SPECIES_WINGULL",
"SPECIES_PELIPPER",
"SPECIES_RALTS",
"SPECIES_KIRLIA",
"SPECIES_GARDEVOIR",
"SPECIES_SURSKIT",
"SPECIES_MASQUERAIN",
"SPECIES_SHROOMISH",
"SPECIES_BRELOOM",
"SPECIES_SLAKOTH",
"SPECIES_VIGOROTH",
"SPECIES_SLAKING",
"SPECIES_NINCADA",
"SPECIES_NINJASK",
"SPECIES_SHEDINJA",
"SPECIES_WHISMUR",
"SPECIES_LOUDRED",
"SPECIES_EXPLOUD",
"SPECIES_MAKUHITA",
"SPECIES_HARIYAMA",
"SPECIES_AZURILL",
"SPECIES_NOSEPASS",
"SPECIES_SKITTY",
"SPECIES_DELCATTY",
"SPECIES_SABLEYE",
"SPECIES_MAWILE",
"SPECIES_ARON",
"SPECIES_LAIRON",
"SPECIES_AGGRON",
"SPECIES_MEDITITE",
"SPECIES_MEDICHAM",
"SPECIES_ELECTRIKE",
"SPECIES_MANECTRIC",
"SPECIES_PLUSLE",
"SPECIES_MINUN",
"SPECIES_VOLBEAT",
"SPECIES_ILLUMISE",
"SPECIES_ROSELIA",
"SPECIES_GULPIN",
"SPECIES_SWALOT",
"SPECIES_CARVANHA",
"SPECIES_SHARPEDO",
"SPECIES_WAILMER",
"SPECIES_WAILORD",
"SPECIES_NUMEL",
"SPECIES_CAMERUPT",
"SPECIES_TORKOAL",
"SPECIES_SPOINK",
"SPECIES_GRUMPIG",
"SPECIES_SPINDA",
"SPECIES_TRAPINCH",
"SPECIES_VIBRAVA",
"SPECIES_FLYGON",
"SPECIES_CACNEA",
"SPECIES_CACTURNE",
"SPECIES_SWABLU",
"SPECIES_ALTARIA",
"SPECIES_ZANGOOSE",
"SPECIES_SEVIPER",
"SPECIES_LUNATONE",
"SPECIES_SOLROCK",
"SPECIES_BARBOACH",
"SPECIES_WHISCASH",
"SPECIES_CORPHISH",
"SPECIES_CRAWDAUNT",
"SPECIES_BALTOY",
"SPECIES_CLAYDOL",
"SPECIES_LILEEP",
"SPECIES_CRADILY",
"SPECIES_ANORITH",
"SPECIES_ARMALDO",
"SPECIES_FEEBAS",
"SPECIES_MILOTIC",
"SPECIES_CASTFORM",
"SPECIES_KECLEON",
"SPECIES_SHUPPET",
"SPECIES_BANETTE",
"SPECIES_DUSKULL",
"SPECIES_DUSCLOPS",
"SPECIES_TROPIUS",
"SPECIES_CHIMECHO",
"SPECIES_ABSOL",
"SPECIES_WYNAUT",
"SPECIES_SNORUNT",
"SPECIES_GLALIE",
"SPECIES_SPHEAL",
"SPECIES_SEALEO",
"SPECIES_WALREIN",
"SPECIES_CLAMPERL",
"SPECIES_HUNTAIL",
"SPECIES_GOREBYSS",
"SPECIES_RELICANTH",
"SPECIES_LUVDISC",
"SPECIES_BAGON",
"SPECIES_SHELGON",
"SPECIES_SALAMENCE",
"SPECIES_BELDUM",
"SPECIES_METANG",
"SPECIES_METAGROSS",
"SPECIES_REGIROCK",
"SPECIES_REGICE",
"SPECIES_REGISTEEL",
"SPECIES_LATIAS",
"SPECIES_LATIOS",
"SPECIES_KYOGRE",
"SPECIES_GROUDON",
"SPECIES_RAYQUAZA",
"SPECIES_JIRACHI",
"SPECIES_DEOXYS",
"SPECIES_TURTWIG",
"SPECIES_GROTLE",
"SPECIES_TORTERRA",
"SPECIES_CHIMCHAR",
"SPECIES_MONFERNO",
"SPECIES_INFERNAPE",
"SPECIES_PIPLUP",
"SPECIES_PRINPLUP",
"SPECIES_EMPOLEON",
"SPECIES_STARLY",
"SPECIES_STARAVIA",
"SPECIES_STARAPTOR",
"SPECIES_BIDOOF",
"SPECIES_BIBAREL",
"SPECIES_KRICKETOT",
"SPECIES_KRICKETUNE",
"SPECIES_SHINX",
"SPECIES_LUXIO",
"SPECIES_LUXRAY",
"SPECIES_BUDEW",
"SPECIES_ROSERADE",
"SPECIES_CRANIDOS",
"SPECIES_RAMPARDOS",
"SPECIES_SHIELDON",
"SPECIES_BASTIODON",
"SPECIES_BURMY",
"SPECIES_WORMADAM",
"SPECIES_MOTHIM",
"SPECIES_COMBEE",
"SPECIES_VESPIQUEN",
"SPECIES_PACHIRISU",
"SPECIES_BUIZEL",
"SPECIES_FLOATZEL",
"SPECIES_CHERUBI",
"SPECIES_CHERRIM",
"SPECIES_SHELLOS",
"SPECIES_GASTRODON",
"SPECIES_AMBIPOM",
"SPECIES_DRIFLOON",
"SPECIES_DRIFBLIM",
"SPECIES_BUNEARY",
"SPECIES_LOPUNNY",
"SPECIES_MISMAGIUS",
"SPECIES_HONCHKROW",
"SPECIES_GLAMEOW",
"SPECIES_PURUGLY",
"SPECIES_CHINGLING",
"SPECIES_STUNKY",
"SPECIES_SKUNTANK",
"SPECIES_BRONZOR",
"SPECIES_BRONZONG",
"SPECIES_BONSLY",
"SPECIES_MIME_JR",
"SPECIES_HAPPINY",
"SPECIES_CHATOT",
"SPECIES_SPIRITOMB",
"SPECIES_GIBLE",
"SPECIES_GABITE",
"SPECIES_GARCHOMP",
"SPECIES_MUNCHLAX",
"SPECIES_RIOLU",
"SPECIES_LUCARIO",
"SPECIES_HIPPOPOTAS",
"SPECIES_HIPPOWDON",
"SPECIES_SKORUPI",
"SPECIES_DRAPION",
"SPECIES_CROAGUNK",
"SPECIES_TOXICROAK",
"SPECIES_CARNIVINE",
"SPECIES_FINNEON",
"SPECIES_LUMINEON",
"SPECIES_MANTYKE",
"SPECIES_SNOVER",
"SPECIES_ABOMASNOW",
"SPECIES_WEAVILE",
"SPECIES_MAGNEZONE",
"SPECIES_LICKILICKY",
"SPECIES_RHYPERIOR",
"SPECIES_TANGROWTH",
"SPECIES_ELECTIVIRE",
"SPECIES_MAGMORTAR",
"SPECIES_TOGEKISS",
"SPECIES_YANMEGA",
"SPECIES_LEAFEON",
"SPECIES_GLACEON",
"SPECIES_GLISCOR",
"SPECIES_MAMOSWINE",
"SPECIES_PORYGON_Z",
"SPECIES_GALLADE",
"SPECIES_PROBOPASS",
"SPECIES_DUSKNOIR",
"SPECIES_FROSLASS",
"SPECIES_ROTOM",
"SPECIES_UXIE",
"SPECIES_MESPRIT",
"SPECIES_AZELF",
"SPECIES_DIALGA",
"SPECIES_PALKIA",
"SPECIES_HEATRAN",
"SPECIES_REGIGIGAS",
"SPECIES_GIRATINA",
"SPECIES_CRESSELIA",
"SPECIES_PHIONE",
"SPECIES_MANAPHY",
"SPECIES_DARKRAI",
"SPECIES_SHAYMIN",
"SPECIES_ARCEUS",
"SPECIES_EGG",
"SPECIES_BAD_EGG"
]
}
}
}

View File

@ -1,111 +0,0 @@
{
"definitions": {
"@TMLearnsetFlags": {
"type": "flags",
"values": [
"TM00",
"TM01",
"TM02",
"TM03",
"TM04",
"TM05",
"TM06",
"TM07",
"TM08",
"TM09",
"TM10",
"TM11",
"TM12",
"TM13",
"TM14",
"TM15",
"TM16",
"TM17",
"TM18",
"TM19",
"TM20",
"TM21",
"TM22",
"TM23",
"TM24",
"TM25",
"TM26",
"TM27",
"TM28",
"TM29",
"TM30",
"TM31",
"TM32",
"TM33",
"TM34",
"TM35",
"TM36",
"TM37",
"TM38",
"TM39",
"TM40",
"TM41",
"TM42",
"TM43",
"TM44",
"TM45",
"TM46",
"TM47",
"TM48",
"TM49",
"TM50",
"TM51",
"TM52",
"TM53",
"TM54",
"TM55",
"TM56",
"TM57",
"TM58",
"TM59",
"TM60",
"TM61",
"TM62",
"TM63",
"TM64",
"TM65",
"TM66",
"TM67",
"TM68",
"TM69",
"TM70",
"TM71",
"TM72",
"TM73",
"TM74",
"TM75",
"TM76",
"TM77",
"TM78",
"TM79",
"TM80",
"TM81",
"TM82",
"TM83",
"TM84",
"TM85",
"TM86",
"TM87",
"TM88",
"TM89",
"TM90",
"TM91",
"TM92",
"HM01",
"HM02",
"HM03",
"HM04",
"HM05",
"HM06",
"HM07",
"HM08"
],
"composites": {}
}
}
}

View File

@ -2,230 +2,278 @@ import json
import pathlib
homedir = pathlib.Path(__file__).resolve().parent
builddir = homedir / 'build'
builddir = homedir / "build"
arm7_c_flags = [
'arm-none-eabi-gcc',
'-c',
'-O3',
'-std=c99',
'-mcpu=arm7tdmi',
'-mfloat-abi=soft',
'-nostdinc',
'-D_NITRO',
'-DSDK_4M',
'-DSDK_ARM7',
'-DSDK_CODE_ARM',
'-DSDK_CW',
'-DSDK_CW_FORCE_EXPORT_SUPPORT',
'-DSDK_FINALROM',
'-DSDK_TS',
"arm-none-eabi-gcc",
"-c",
"-O3",
"-std=c99",
"-mcpu=arm7tdmi",
"-mfloat-abi=soft",
"-nostdinc",
"-D_NITRO",
"-DSDK_4M",
"-DSDK_ARM7",
"-DSDK_CODE_ARM",
"-DSDK_CW",
"-DSDK_CW_FORCE_EXPORT_SUPPORT",
"-DSDK_FINALROM",
"-DSDK_TS",
]
arm9_c_flags = [
'arm-none-eabi-gcc',
'-c',
'-O3',
'-std=c99',
'-mcpu=arm946e-s',
'-mfloat-abi=soft',
'-nostdinc',
'-D_NITRO',
'-DLINK_PPWLOBBY',
'-DNNS_FINALROM',
'-DSDK_4M',
'-DSDK_ARM9',
'-DSDK_CODE_ARM',
'-DSDK_CW',
'-DSDK_CW_FORCE_EXPORT_SUPPORT',
'-DSDK_FINALROM',
'-DSDK_TS',
"arm-none-eabi-gcc",
"-c",
"-O3",
"-std=c99",
"-mcpu=arm946e-s",
"-mfloat-abi=soft",
"-nostdinc",
"-D_NITRO",
"-DLINK_PPWLOBBY",
"-DNNS_FINALROM",
"-DSDK_4M",
"-DSDK_ARM9",
"-DSDK_CODE_ARM",
"-DSDK_CW",
"-DSDK_CW_FORCE_EXPORT_SUPPORT",
"-DSDK_FINALROM",
"-DSDK_TS",
"-DPOKEPLATINUM_GENERATED_ENUM",
"-DPM_KEEP_ASSERTS",
"-DGAME_VERSION=PLATINUM",
"-DGAME_LANGUAGE=ENGLISH",
]
asm_commands = [
{
'directory': builddir,
'arguments': [
'arm-none-eabi-as',
'-mcpu=arm946e-s',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": [
"arm-none-eabi-as",
"-mcpu=arm946e-s",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'asm').rglob('*.s')
"file": file.resolve(),
}
for file in (homedir / "asm").rglob("*.s")
]
nitrosdk_c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'subprojects/NitroSDK-4.2.30001').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "subprojects/NitroSDK-4.2.30001").rglob("*.c")
]
nitrosystem_c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
f'-I{homedir}/subprojects/NitroSystem-071126.1/include',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
f"-I{homedir}/subprojects/NitroSystem-071126.1/include",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'subprojects/NitroSystem-071126.1').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "subprojects/NitroSystem-071126.1").rglob("*.c")
]
nitrowifi_c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
f'-I{homedir}/subprojects/NitroSystem-071126.1/include',
f'-I{homedir}/subprojects/NitroWiFi-2.1.30003/include',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
f"-I{homedir}/subprojects/NitroSystem-071126.1/include",
f"-I{homedir}/subprojects/NitroWiFi-2.1.30003/include",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'subprojects/NitroWiFi-2.1.30003').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "subprojects/NitroWiFi-2.1.30003").rglob("*.c")
]
nitrodwc_c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
f'-I{homedir}/subprojects/NitroSystem-071126.1/include',
f'-I{homedir}/subprojects/NitroWiFi-2.1.30003/include',
f'-I{homedir}/subprojects/NitroDWC-2.2.30008/include',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
f"-I{homedir}/subprojects/NitroSystem-071126.1/include",
f"-I{homedir}/subprojects/NitroWiFi-2.1.30003/include",
f"-I{homedir}/subprojects/NitroDWC-2.2.30008/include",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'subprojects/NitroDWC-2.2.30008').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "subprojects/NitroDWC-2.2.30008").rglob("*.c")
]
libvct_c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
f'-I{homedir}/subprojects/NitroSystem-071126.1/include',
f'-I{homedir}/subprojects/NitroWiFi-2.1.30003/include',
f'-I{homedir}/subprojects/NitroDWC-2.2.30008/include',
f'-I{homedir}/subprojects/libvct-1.3.1/include',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
f"-I{homedir}/subprojects/NitroSystem-071126.1/include",
f"-I{homedir}/subprojects/NitroWiFi-2.1.30003/include",
f"-I{homedir}/subprojects/NitroDWC-2.2.30008/include",
f"-I{homedir}/subprojects/libvct-1.3.1/include",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'subprojects/libvct-1.3.1').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "subprojects/libvct-1.3.1").rglob("*.c")
]
libcrypto_c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
f'-I{homedir}/subprojects/NitroSystem-071126.1/include',
f'-I{homedir}/subprojects/NitroWiFi-2.1.30003/include',
f'-I{homedir}/subprojects/NitroDWC-2.2.30008/include',
f'-I{homedir}/subprojects/libvct-1.3.1/include',
f'-I{homedir}/subprojects/libcrypto/include',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
f"-I{homedir}/subprojects/NitroSystem-071126.1/include",
f"-I{homedir}/subprojects/NitroWiFi-2.1.30003/include",
f"-I{homedir}/subprojects/NitroDWC-2.2.30008/include",
f"-I{homedir}/subprojects/libvct-1.3.1/include",
f"-I{homedir}/subprojects/libcrypto/include",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'subprojects/libcrypto').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "subprojects/libcrypto").rglob("*.c")
]
ppwlobby_c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
f'-I{homedir}/subprojects/NitroSystem-071126.1/include',
f'-I{homedir}/subprojects/NitroWiFi-2.1.30003/include',
f'-I{homedir}/subprojects/NitroDWC-2.2.30008/include',
f'-I{homedir}/subprojects/libvct-1.3.1/include',
f'-I{homedir}/subprojects/libcrypto/include',
f'-I{homedir}/subprojects/ppwlobby/include',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
f"-I{homedir}/subprojects/NitroSystem-071126.1/include",
f"-I{homedir}/subprojects/NitroWiFi-2.1.30003/include",
f"-I{homedir}/subprojects/NitroDWC-2.2.30008/include",
f"-I{homedir}/subprojects/libvct-1.3.1/include",
f"-I{homedir}/subprojects/libcrypto/include",
f"-I{homedir}/subprojects/ppwlobby/include",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'subprojects/ppwlobby').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "subprojects/ppwlobby").rglob("*.c")
]
c_commands = [
{
'directory': builddir,
'arguments': arm9_c_flags + [
f'-I{homedir}/tools/cw/include/MSL_C',
f'-I{homedir}/tools/cw/include/MSL_Extras',
f'-I{homedir}/subprojects/NitroSDK-4.2.30001/include',
f'-I{builddir}/subprojects/NitroSDK-4.2.30001/gen',
f'-I{homedir}/subprojects/NitroSystem-071126.1/include',
f'-I{homedir}/subprojects/NitroWiFi-2.1.30003/include',
f'-I{homedir}/subprojects/NitroDWC-2.2.30008/include',
f'-I{homedir}/subprojects/libvct-1.3.1/include',
f'-I{homedir}/subprojects/libcrypto/include',
f'-I{homedir}/subprojects/ppwlobby/include',
f'-I{homedir}/lib/gds/include',
f'-I{homedir}/lib/spl/include',
f'-iquote{homedir}',
f'-iquote{homedir}/include',
f'-iquote{homedir}/build', # Meson includes this implicitly
f'-iquote{homedir}/build/res', # knarc-generated NAIX headers
f'-iquote{homedir}/build/res/text', # GMM-generated headers
f'-include{homedir}/include/pch/global_pch.h',
'-mthumb',
'-o',
file.with_suffix('.o'),
file.resolve()
"directory": builddir,
"arguments": arm9_c_flags
+ [
f"-I{homedir}/tools/cw/include/MSL_C",
f"-I{homedir}/tools/cw/include/MSL_Extras",
f"-I{homedir}/subprojects/NitroSDK-4.2.30001/include",
f"-I{builddir}/subprojects/NitroSDK-4.2.30001/gen",
f"-I{homedir}/subprojects/NitroSystem-071126.1/include",
f"-I{homedir}/subprojects/NitroWiFi-2.1.30003/include",
f"-I{homedir}/subprojects/NitroDWC-2.2.30008/include",
f"-I{homedir}/subprojects/libvct-1.3.1/include",
f"-I{homedir}/subprojects/libcrypto/include",
f"-I{homedir}/subprojects/ppwlobby/include",
f"-I{homedir}/lib/gds/include",
f"-I{homedir}/lib/spl/include",
f"-iquote{homedir}",
f"-iquote{homedir}/include",
f"-iquote{homedir}/build", # Meson includes this implicitly
f"-iquote{homedir}/build/res", # knarc-generated NAIX headers
f"-iquote{homedir}/build/res/text", # GMM-generated headers
f"-include{homedir}/include/pch/global_pch.h",
"-mthumb",
"-o",
file.with_suffix(".o"),
file.resolve(),
],
'file': file.resolve()
} for file in (homedir / 'src').rglob('*.c')
"file": file.resolve(),
}
for file in (homedir / "src").rglob("*.c")
]
with open('compile_commands.json', 'w') as ofp:
datagen_cpp_commands = [
{
"directory": builddir,
"arguments": [
"g++",
f"-I{homedir}/subprojects/narc/lib/include", # NARC packing
f"-I{homedir}/subprojects/rapidjson-1.1.0/include", # JSON parser
f"-I{homedir}/tools/datagen", # base header file
f"-I{homedir}/include", # source includes
f"-I{builddir}", # metang-generated headers (constants)
"-std=c++17",
"-Wno-deprecated-declarations",
file.with_suffix(".o"),
file.resolve(),
],
"file": file.resolve(),
}
for file in (homedir / "tools" / "datagen").rglob("*.cpp")
]
with open("compile_commands.json", "w") as ofp:
json.dump(
asm_commands + nitrosdk_c_commands + nitrosystem_c_commands
+ nitrowifi_c_commands + nitrodwc_c_commands + libvct_c_commands
+ libcrypto_c_commands + ppwlobby_c_commands + c_commands,
asm_commands
+ nitrosdk_c_commands
+ nitrosystem_c_commands
+ nitrowifi_c_commands
+ nitrodwc_c_commands
+ libvct_c_commands
+ libcrypto_c_commands
+ ppwlobby_c_commands
+ c_commands
+ datagen_cpp_commands,
ofp,
default=str,
indent=4
indent=4,
)

124
generated/abilities.txt Normal file
View File

@ -0,0 +1,124 @@
ABILITY_NONE
ABILITY_STENCH
ABILITY_DRIZZLE
ABILITY_SPEED_BOOST
ABILITY_BATTLE_ARMOR
ABILITY_STURDY
ABILITY_DAMP
ABILITY_LIMBER
ABILITY_SAND_VEIL
ABILITY_STATIC
ABILITY_VOLT_ABSORB
ABILITY_WATER_ABSORB
ABILITY_OBLIVIOUS
ABILITY_CLOUD_NINE
ABILITY_COMPOUND_EYES
ABILITY_INSOMNIA
ABILITY_COLOR_CHANGE
ABILITY_IMMUNITY
ABILITY_FLASH_FIRE
ABILITY_SHIELD_DUST
ABILITY_OWN_TEMPO
ABILITY_SUCTION_CUPS
ABILITY_INTIMIDATE
ABILITY_SHADOW_TAG
ABILITY_ROUGH_SKIN
ABILITY_WONDER_GUARD
ABILITY_LEVITATE
ABILITY_EFFECT_SPORE
ABILITY_SYNCHRONIZE
ABILITY_CLEAR_BODY
ABILITY_NATURAL_CURE
ABILITY_LIGHTNING_ROD
ABILITY_SERENE_GRACE
ABILITY_SWIFT_SWIM
ABILITY_CHLOROPHYLL
ABILITY_ILLUMINATE
ABILITY_TRACE
ABILITY_HUGE_POWER
ABILITY_POISON_POINT
ABILITY_INNER_FOCUS
ABILITY_MAGMA_ARMOR
ABILITY_WATER_VEIL
ABILITY_MAGNET_PULL
ABILITY_SOUNDPROOF
ABILITY_RAIN_DISH
ABILITY_SAND_STREAM
ABILITY_PRESSURE
ABILITY_THICK_FAT
ABILITY_EARLY_BIRD
ABILITY_FLAME_BODY
ABILITY_RUN_AWAY
ABILITY_KEEN_EYE
ABILITY_HYPER_CUTTER
ABILITY_PICKUP
ABILITY_TRUANT
ABILITY_HUSTLE
ABILITY_CUTE_CHARM
ABILITY_PLUS
ABILITY_MINUS
ABILITY_FORECAST
ABILITY_STICKY_HOLD
ABILITY_SHED_SKIN
ABILITY_GUTS
ABILITY_MARVEL_SCALE
ABILITY_LIQUID_OOZE
ABILITY_OVERGROW
ABILITY_BLAZE
ABILITY_TORRENT
ABILITY_SWARM
ABILITY_ROCK_HEAD
ABILITY_DROUGHT
ABILITY_ARENA_TRAP
ABILITY_VITAL_SPIRIT
ABILITY_WHITE_SMOKE
ABILITY_PURE_POWER
ABILITY_SHELL_ARMOR
ABILITY_AIR_LOCK
ABILITY_TANGLED_FEET
ABILITY_MOTOR_DRIVE
ABILITY_RIVALRY
ABILITY_STEADFAST
ABILITY_SNOW_CLOAK
ABILITY_GLUTTONY
ABILITY_ANGER_POINT
ABILITY_UNBURDEN
ABILITY_HEATPROOF
ABILITY_SIMPLE
ABILITY_DRY_SKIN
ABILITY_DOWNLOAD
ABILITY_IRON_FIST
ABILITY_POISON_HEAL
ABILITY_ADAPTABILITY
ABILITY_SKILL_LINK
ABILITY_HYDRATION
ABILITY_SOLAR_POWER
ABILITY_QUICK_FEET
ABILITY_NORMALIZE
ABILITY_SNIPER
ABILITY_MAGIC_GUARD
ABILITY_NO_GUARD
ABILITY_STALL
ABILITY_TECHNICIAN
ABILITY_LEAF_GUARD
ABILITY_KLUTZ
ABILITY_MOLD_BREAKER
ABILITY_SUPER_LUCK
ABILITY_AFTERMATH
ABILITY_ANTICIPATION
ABILITY_FOREWARN
ABILITY_UNAWARE
ABILITY_TINTED_LENS
ABILITY_FILTER
ABILITY_SLOW_START
ABILITY_SCRAPPY
ABILITY_STORM_DRAIN
ABILITY_ICE_BODY
ABILITY_SOLID_ROCK
ABILITY_SNOW_WARNING
ABILITY_HONEY_GATHER
ABILITY_FRISK
ABILITY_RECKLESS
ABILITY_MULTITYPE
ABILITY_FLOWER_GIFT
ABILITY_BAD_DREAMS

View File

@ -0,0 +1,4 @@
CATCHING_SHOW_CATCHING_POINTS
CATCHING_SHOW_TIME_POINTS
CATCHING_SHOW_TYPE_POINTS
CATCHING_SHOW_TOTAL_POINTS

16
generated/egg_groups.txt Normal file
View File

@ -0,0 +1,16 @@
EGG_GROUP_NONE
EGG_GROUP_MONSTER
EGG_GROUP_WATER_1
EGG_GROUP_BUG
EGG_GROUP_FLYING
EGG_GROUP_FIELD
EGG_GROUP_FAIRY
EGG_GROUP_GRASS
EGG_GROUP_HUMAN_LIKE
EGG_GROUP_WATER_3
EGG_GROUP_MINERAL
EGG_GROUP_AMORPHOUS
EGG_GROUP_WATER_2
EGG_GROUP_DITTO
EGG_GROUP_DRAGON
EGG_GROUP_UNDISCOVERED

View File

@ -0,0 +1,27 @@
EVO_NONE
EVO_LEVEL_HAPPINESS
EVO_LEVEL_HAPPINESS_DAY
EVO_LEVEL_HAPPINESS_NIGHT
EVO_LEVEL
EVO_TRADE
EVO_TRADE_WITH_HELD_ITEM
EVO_USE_ITEM
EVO_LEVEL_ATK_GT_DEF
EVO_LEVEL_ATK_EQ_DEF
EVO_LEVEL_ATK_LT_DEF
EVO_LEVEL_PID_LOW
EVO_LEVEL_PID_HIGH
EVO_LEVEL_NINJASK
EVO_LEVEL_SHEDINJA
EVO_LEVEL_BEAUTY
EVO_USE_ITEM_MALE
EVO_USE_ITEM_FEMALE
EVO_LEVEL_WITH_HELD_ITEM_DAY
EVO_LEVEL_WITH_HELD_ITEM_NIGHT
EVO_LEVEL_KNOW_MOVE
EVO_LEVEL_SPECIES_IN_PARTY
EVO_LEVEL_MALE
EVO_LEVEL_FEMALE
EVO_LEVEL_MAGNETIC_FIELD
EVO_LEVEL_MOSS_ROCK
EVO_LEVEL_ICE_ROCK

6
generated/exp_rates.txt Normal file
View File

@ -0,0 +1,6 @@
EXP_RATE_MEDIUM_FAST
EXP_RATE_ERRATIC
EXP_RATE_FLUCTUATING
EXP_RATE_MEDIUM_SLOW
EXP_RATE_FAST
EXP_RATE_SLOW

View File

@ -0,0 +1,8 @@
GENDER_RATIO_MALE_ONLY = 0
GENDER_RATIO_FEMALE_12_5 = 31
GENDER_RATIO_FEMALE_25 = 63
GENDER_RATIO_FEMALE_50 = 127
GENDER_RATIO_FEMALE_75 = 191
GENDER_RATIO_FEMALE_87_5 = 223
GENDER_RATIO_FEMALE_ONLY = 254
GENDER_RATIO_NO_GENDER = 255

View File

@ -0,0 +1,147 @@
HOLD_EFFECT_NONE
HOLD_EFFECT_HP_RESTORE
HOLD_EFFECT_GIRATINA_BOOST
HOLD_EFFECT_DIALGA_BOOST
HOLD_EFFECT_PALKIA_BOOST
HOLD_EFFECT_PRZ_RESTORE
HOLD_EFFECT_SLP_RESTORE
HOLD_EFFECT_PSN_RESTORE
HOLD_EFFECT_BRN_RESTORE
HOLD_EFFECT_FRZ_RESTORE
HOLD_EFFECT_PP_RESTORE
HOLD_EFFECT_CONFUSE_RESTORE
HOLD_EFFECT_STATUS_RESTORE
HOLD_EFFECT_HP_PCT_RESTORE
HOLD_EFFECT_HP_RESTORE_SPICY
HOLD_EFFECT_HP_RESTORE_DRY
HOLD_EFFECT_HP_RESTORE_SWEET
HOLD_EFFECT_HP_RESTORE_BITTER
HOLD_EFFECT_HP_RESTORE_SOUR
HOLD_EFFECT_WEAKEN_SE_FIRE
HOLD_EFFECT_WEAKEN_SE_WATER
HOLD_EFFECT_WEAKEN_SE_ELECTRIC
HOLD_EFFECT_WEAKEN_SE_GRASS
HOLD_EFFECT_WEAKEN_SE_ICE
HOLD_EFFECT_WEAKEN_SE_FIGHT
HOLD_EFFECT_WEAKEN_SE_POISON
HOLD_EFFECT_WEAKEN_SE_GROUND
HOLD_EFFECT_WEAKEN_SE_FLYING
HOLD_EFFECT_WEAKEN_SE_PSYCHIC
HOLD_EFFECT_WEAKEN_SE_BUG
HOLD_EFFECT_WEAKEN_SE_ROCK
HOLD_EFFECT_WEAKEN_SE_GHOST
HOLD_EFFECT_WEAKEN_SE_DRAGON
HOLD_EFFECT_WEAKEN_SE_DARK
HOLD_EFFECT_WEAKEN_SE_STEEL
HOLD_EFFECT_WEAKEN_NORMAL
HOLD_EFFECT_PINCH_ATK_UP
HOLD_EFFECT_PINCH_DEF_UP
HOLD_EFFECT_PINCH_SPEED_UP
HOLD_EFFECT_PINCH_SPATK_UP
HOLD_EFFECT_PINCH_SPDEF_UP
HOLD_EFFECT_PINCH_CRITRATE_UP
HOLD_EFFECT_PINCH_RANDOM_UP
HOLD_EFFECT_HP_RESTORE_SE
HOLD_EFFECT_PINCH_ACC_UP
HOLD_EFFECT_PINCH_PRIORITY
HOLD_EFFECT_RECOIL_PHYSICAL
HOLD_EFFECT_RECOIL_SPECIAL
HOLD_EFFECT_ACC_REDUCE
HOLD_EFFECT_STATDOWN_RESTORE
HOLD_EFFECT_EVS_UP_SPEED_DOWN
HOLD_EFFECT_EXP_SHARE
HOLD_EFFECT_SOMETIMES_PRIORITY
HOLD_EFFECT_FRIENDSHIP_UP
HOLD_EFFECT_HEAL_INFATUATION
HOLD_EFFECT_CHOICE_ATK
HOLD_EFFECT_SOMETIMES_FLINCH
HOLD_EFFECT_STRENGTHEN_BUG
HOLD_EFFECT_MONEY_UP
HOLD_EFFECT_ENCOUNTERS_DOWN
HOLD_EFFECT_LATI_SPECIAL
HOLD_EFFECT_CLAMPERL_SPATK
HOLD_EFFECT_CLAMPERL_SPDEF
HOLD_EFFECT_FLEE
HOLD_EFFECT_NO_EVOLVE
HOLD_EFFECT_MAYBE_ENDURE
HOLD_EFFECT_EXP_UP
HOLD_EFFECT_CRITRATE_UP
HOLD_EFFECT_STRENGTHEN_STEEL
HOLD_EFFECT_HP_RESTORE_GRADUAL
HOLD_EFFECT_EVOLVE_SEADRA
HOLD_EFFECT_PIKA_SPATK_UP
HOLD_EFFECT_STRENGTHEN_GROUND
HOLD_EFFECT_STRENGTHEN_ROCK
HOLD_EFFECT_STRENGTHEN_GRASS
HOLD_EFFECT_STRENGTHEN_DARK
HOLD_EFFECT_STRENGTHEN_FIGHT
HOLD_EFFECT_STRENGTHEN_ELECTRIC
HOLD_EFFECT_STRENGTHEN_WATER
HOLD_EFFECT_STRENGTHEN_FLYING
HOLD_EFFECT_STRENGTHEN_POISON
HOLD_EFFECT_STRENGTHEN_ICE
HOLD_EFFECT_STRENGTHEN_GHOST
HOLD_EFFECT_STRENGTHEN_PSYCHIC
HOLD_EFFECT_STRENGTHEN_FIRE
HOLD_EFFECT_STRENGTHEN_DRAGON
HOLD_EFFECT_STRENGTHEN_NORMAL
HOLD_EFFECT_EVOLVE_PORYGON
HOLD_EFFECT_HP_RESTORE_ON_DMG
HOLD_EFFECT_CHANSEY_CRITRATE_UP
HOLD_EFFECT_DITTO_DEF_UP
HOLD_EFFECT_CUBONE_ATK_UP
HOLD_EFFECT_FARFETCHD_CRITRATE_UP
HOLD_EFFECT_ACCURACY_UP
HOLD_EFFECT_POWER_UP_PHYS
HOLD_EFFECT_POWER_UP_SPEC
HOLD_EFFECT_POWER_UP_SE
HOLD_EFFECT_EXTEND_SCREENS
HOLD_EFFECT_HP_DRAIN_ON_ATK
HOLD_EFFECT_CHARGE_SKIP
HOLD_EFFECT_PSN_USER
HOLD_EFFECT_BRN_USER
HOLD_EFFECT_DITTO_SPEED_UP
HOLD_EFFECT_ENDURE
HOLD_EFFECT_ACCURACY_UP_SLOWER
HOLD_EFFECT_BOOST_REPEATED
HOLD_EFFECT_SPEED_DOWN_GROUNDED
HOLD_EFFECT_PRIORITY_DOWN
HOLD_EFFECT_RECIPROCATE_INFAT
HOLD_EFFECT_HP_RESTORE_PSN_TYPE
HOLD_EFFECT_EXTEND_HAIL
HOLD_EFFECT_EXTEND_SANDSTORM
HOLD_EFFECT_EXTEND_SUN
HOLD_EFFECT_EXTEND_RAIN
HOLD_EFFECT_EXTEND_TRAPPING
HOLD_EFFECT_CHOICE_SPEED
HOLD_EFFECT_DMG_USER_CONTACT_XFR
HOLD_EFFECT_LVLUP_ATK_EV_UP
HOLD_EFFECT_LVLUP_DEF_EV_UP
HOLD_EFFECT_LVLUP_SPATK_EV_UP
HOLD_EFFECT_LVLUP_SPDEF_EV_UP
HOLD_EFFECT_LVLUP_SPEED_EV_UP
HOLD_EFFECT_LVLUP_HP_EV_UP
HOLD_EFFECT_SWITCH
HOLD_EFFECT_LEECH_BOOST
HOLD_EFFECT_CHOICE_SPATK
HOLD_EFFECT_ARCEUS_FIRE
HOLD_EFFECT_ARCEUS_WATER
HOLD_EFFECT_ARCEUS_ELECTRIC
HOLD_EFFECT_ARCEUS_GRASS
HOLD_EFFECT_ARCEUS_ICE
HOLD_EFFECT_ARCEUS_FIGHTING
HOLD_EFFECT_ARCEUS_POISON
HOLD_EFFECT_ARCEUS_GROUND
HOLD_EFFECT_ARCEUS_FLYING
HOLD_EFFECT_ARCEUS_PSYCHIC
HOLD_EFFECT_ARCEUS_BUG
HOLD_EFFECT_ARCEUS_ROCK
HOLD_EFFECT_ARCEUS_GHOST
HOLD_EFFECT_ARCEUS_DRAGON
HOLD_EFFECT_ARCEUS_DARK
HOLD_EFFECT_ARCEUS_STEEL
HOLD_EFFECT_EVOLVE_RHYDON
HOLD_EFFECT_EVOLVE_ELECTABUZZ
HOLD_EFFECT_EVOLVE_MAGMAR
HOLD_EFFECT_EVOLVE_PORYGON2
HOLD_EFFECT_EVOLVE_DUSCLOPS

469
generated/items.txt Normal file
View File

@ -0,0 +1,469 @@
ITEM_NONE
ITEM_MASTER_BALL
ITEM_ULTRA_BALL
ITEM_GREAT_BALL
ITEM_POKE_BALL
ITEM_SAFARI_BALL
ITEM_NET_BALL
ITEM_DIVE_BALL
ITEM_NEST_BALL
ITEM_REPEAT_BALL
ITEM_TIMER_BALL
ITEM_LUXURY_BALL
ITEM_PREMIER_BALL
ITEM_DUSK_BALL
ITEM_HEAL_BALL
ITEM_QUICK_BALL
ITEM_CHERISH_BALL
ITEM_POTION
ITEM_ANTIDOTE
ITEM_BURN_HEAL
ITEM_ICE_HEAL
ITEM_AWAKENING
ITEM_PARLYZ_HEAL
ITEM_FULL_RESTORE
ITEM_MAX_POTION
ITEM_HYPER_POTION
ITEM_SUPER_POTION
ITEM_FULL_HEAL
ITEM_REVIVE
ITEM_MAX_REVIVE
ITEM_FRESH_WATER
ITEM_SODA_POP
ITEM_LEMONADE
ITEM_MOOMOO_MILK
ITEM_ENERGYPOWDER
ITEM_ENERGY_ROOT
ITEM_HEAL_POWDER
ITEM_REVIVAL_HERB
ITEM_ETHER
ITEM_MAX_ETHER
ITEM_ELIXIR
ITEM_MAX_ELIXIR
ITEM_LAVA_COOKIE
ITEM_BERRY_JUICE
ITEM_SACRED_ASH
ITEM_HP_UP
ITEM_PROTEIN
ITEM_IRON
ITEM_CARBOS
ITEM_CALCIUM
ITEM_RARE_CANDY
ITEM_PP_UP
ITEM_ZINC
ITEM_PP_MAX
ITEM_OLD_GATEAU
ITEM_GUARD_SPEC_
ITEM_DIRE_HIT
ITEM_X_ATTACK
ITEM_X_DEFENSE
ITEM_X_SPEED
ITEM_X_ACCURACY
ITEM_X_SPECIAL
ITEM_X_SP__DEF
ITEM_POKE_DOLL
ITEM_FLUFFY_TAIL
ITEM_BLUE_FLUTE
ITEM_YELLOW_FLUTE
ITEM_RED_FLUTE
ITEM_BLACK_FLUTE
ITEM_WHITE_FLUTE
ITEM_SHOAL_SALT
ITEM_SHOAL_SHELL
ITEM_RED_SHARD
ITEM_BLUE_SHARD
ITEM_YELLOW_SHARD
ITEM_GREEN_SHARD
ITEM_SUPER_REPEL
ITEM_MAX_REPEL
ITEM_ESCAPE_ROPE
ITEM_REPEL
ITEM_SUN_STONE
ITEM_MOON_STONE
ITEM_FIRE_STONE
ITEM_THUNDERSTONE
ITEM_WATER_STONE
ITEM_LEAF_STONE
ITEM_TINYMUSHROOM
ITEM_BIG_MUSHROOM
ITEM_PEARL
ITEM_BIG_PEARL
ITEM_STARDUST
ITEM_STAR_PIECE
ITEM_NUGGET
ITEM_HEART_SCALE
ITEM_HONEY
ITEM_GROWTH_MULCH
ITEM_DAMP_MULCH
ITEM_STABLE_MULCH
ITEM_GOOEY_MULCH
ITEM_ROOT_FOSSIL
ITEM_CLAW_FOSSIL
ITEM_HELIX_FOSSIL
ITEM_DOME_FOSSIL
ITEM_OLD_AMBER
ITEM_ARMOR_FOSSIL
ITEM_SKULL_FOSSIL
ITEM_RARE_BONE
ITEM_SHINY_STONE
ITEM_DUSK_STONE
ITEM_DAWN_STONE
ITEM_OVAL_STONE
ITEM_ODD_KEYSTONE
ITEM_GRISEOUS_ORB
ITEM_UNUSED_113
ITEM_UNUSED_114
ITEM_UNUSED_115
ITEM_UNUSED_116
ITEM_UNUSED_117
ITEM_UNUSED_118
ITEM_UNUSED_119
ITEM_UNUSED_120
ITEM_UNUSED_121
ITEM_UNUSED_122
ITEM_UNUSED_123
ITEM_UNUSED_124
ITEM_UNUSED_125
ITEM_UNUSED_126
ITEM_UNUSED_127
ITEM_UNUSED_128
ITEM_UNUSED_129
ITEM_UNUSED_130
ITEM_UNUSED_131
ITEM_UNUSED_132
ITEM_UNUSED_133
ITEM_UNUSED_134
ITEM_ADAMANT_ORB
ITEM_LUSTROUS_ORB
ITEM_GRASS_MAIL
ITEM_FLAME_MAIL
ITEM_BUBBLE_MAIL
ITEM_BLOOM_MAIL
ITEM_TUNNEL_MAIL
ITEM_STEEL_MAIL
ITEM_HEART_MAIL
ITEM_SNOW_MAIL
ITEM_SPACE_MAIL
ITEM_AIR_MAIL
ITEM_MOSAIC_MAIL
ITEM_BRICK_MAIL
ITEM_CHERI_BERRY
ITEM_CHESTO_BERRY
ITEM_PECHA_BERRY
ITEM_RAWST_BERRY
ITEM_ASPEAR_BERRY
ITEM_LEPPA_BERRY
ITEM_ORAN_BERRY
ITEM_PERSIM_BERRY
ITEM_LUM_BERRY
ITEM_SITRUS_BERRY
ITEM_FIGY_BERRY
ITEM_WIKI_BERRY
ITEM_MAGO_BERRY
ITEM_AGUAV_BERRY
ITEM_IAPAPA_BERRY
ITEM_RAZZ_BERRY
ITEM_BLUK_BERRY
ITEM_NANAB_BERRY
ITEM_WEPEAR_BERRY
ITEM_PINAP_BERRY
ITEM_POMEG_BERRY
ITEM_KELPSY_BERRY
ITEM_QUALOT_BERRY
ITEM_HONDEW_BERRY
ITEM_GREPA_BERRY
ITEM_TAMATO_BERRY
ITEM_CORNN_BERRY
ITEM_MAGOST_BERRY
ITEM_RABUTA_BERRY
ITEM_NOMEL_BERRY
ITEM_SPELON_BERRY
ITEM_PAMTRE_BERRY
ITEM_WATMEL_BERRY
ITEM_DURIN_BERRY
ITEM_BELUE_BERRY
ITEM_OCCA_BERRY
ITEM_PASSHO_BERRY
ITEM_WACAN_BERRY
ITEM_RINDO_BERRY
ITEM_YACHE_BERRY
ITEM_CHOPLE_BERRY
ITEM_KEBIA_BERRY
ITEM_SHUCA_BERRY
ITEM_COBA_BERRY
ITEM_PAYAPA_BERRY
ITEM_TANGA_BERRY
ITEM_CHARTI_BERRY
ITEM_KASIB_BERRY
ITEM_HABAN_BERRY
ITEM_COLBUR_BERRY
ITEM_BABIRI_BERRY
ITEM_CHILAN_BERRY
ITEM_LIECHI_BERRY
ITEM_GANLON_BERRY
ITEM_SALAC_BERRY
ITEM_PETAYA_BERRY
ITEM_APICOT_BERRY
ITEM_LANSAT_BERRY
ITEM_STARF_BERRY
ITEM_ENIGMA_BERRY
ITEM_MICLE_BERRY
ITEM_CUSTAP_BERRY
ITEM_JABOCA_BERRY
ITEM_ROWAP_BERRY
ITEM_BRIGHTPOWDER
ITEM_WHITE_HERB
ITEM_MACHO_BRACE
ITEM_EXP_SHARE
ITEM_QUICK_CLAW
ITEM_SOOTHE_BELL
ITEM_MENTAL_HERB
ITEM_CHOICE_BAND
ITEM_KINGS_ROCK
ITEM_SILVERPOWDER
ITEM_AMULET_COIN
ITEM_CLEANSE_TAG
ITEM_SOUL_DEW
ITEM_DEEPSEATOOTH
ITEM_DEEPSEASCALE
ITEM_SMOKE_BALL
ITEM_EVERSTONE
ITEM_FOCUS_BAND
ITEM_LUCKY_EGG
ITEM_SCOPE_LENS
ITEM_METAL_COAT
ITEM_LEFTOVERS
ITEM_DRAGON_SCALE
ITEM_LIGHT_BALL
ITEM_SOFT_SAND
ITEM_HARD_STONE
ITEM_MIRACLE_SEED
ITEM_BLACKGLASSES
ITEM_BLACK_BELT
ITEM_MAGNET
ITEM_MYSTIC_WATER
ITEM_SHARP_BEAK
ITEM_POISON_BARB
ITEM_NEVERMELTICE
ITEM_SPELL_TAG
ITEM_TWISTEDSPOON
ITEM_CHARCOAL
ITEM_DRAGON_FANG
ITEM_SILK_SCARF
ITEM_UPGRADE
ITEM_SHELL_BELL
ITEM_SEA_INCENSE
ITEM_LAX_INCENSE
ITEM_LUCKY_PUNCH
ITEM_METAL_POWDER
ITEM_THICK_CLUB
ITEM_STICK
ITEM_RED_SCARF
ITEM_BLUE_SCARF
ITEM_PINK_SCARF
ITEM_GREEN_SCARF
ITEM_YELLOW_SCARF
ITEM_WIDE_LENS
ITEM_MUSCLE_BAND
ITEM_WISE_GLASSES
ITEM_EXPERT_BELT
ITEM_LIGHT_CLAY
ITEM_LIFE_ORB
ITEM_POWER_HERB
ITEM_TOXIC_ORB
ITEM_FLAME_ORB
ITEM_QUICK_POWDER
ITEM_FOCUS_SASH
ITEM_ZOOM_LENS
ITEM_METRONOME
ITEM_IRON_BALL
ITEM_LAGGING_TAIL
ITEM_DESTINY_KNOT
ITEM_BLACK_SLUDGE
ITEM_ICY_ROCK
ITEM_SMOOTH_ROCK
ITEM_HEAT_ROCK
ITEM_DAMP_ROCK
ITEM_GRIP_CLAW
ITEM_CHOICE_SCARF
ITEM_STICKY_BARB
ITEM_POWER_BRACER
ITEM_POWER_BELT
ITEM_POWER_LENS
ITEM_POWER_BAND
ITEM_POWER_ANKLET
ITEM_POWER_WEIGHT
ITEM_SHED_SHELL
ITEM_BIG_ROOT
ITEM_CHOICE_SPECS
ITEM_FLAME_PLATE
ITEM_SPLASH_PLATE
ITEM_ZAP_PLATE
ITEM_MEADOW_PLATE
ITEM_ICICLE_PLATE
ITEM_FIST_PLATE
ITEM_TOXIC_PLATE
ITEM_EARTH_PLATE
ITEM_SKY_PLATE
ITEM_MIND_PLATE
ITEM_INSECT_PLATE
ITEM_STONE_PLATE
ITEM_SPOOKY_PLATE
ITEM_DRACO_PLATE
ITEM_DREAD_PLATE
ITEM_IRON_PLATE
ITEM_ODD_INCENSE
ITEM_ROCK_INCENSE
ITEM_FULL_INCENSE
ITEM_WAVE_INCENSE
ITEM_ROSE_INCENSE
ITEM_LUCK_INCENSE
ITEM_PURE_INCENSE
ITEM_PROTECTOR
ITEM_ELECTIRIZER
ITEM_MAGMARIZER
ITEM_DUBIOUS_DISC
ITEM_REAPER_CLOTH
ITEM_RAZOR_CLAW
ITEM_RAZOR_FANG
ITEM_TM01
ITEM_TM02
ITEM_TM03
ITEM_TM04
ITEM_TM05
ITEM_TM06
ITEM_TM07
ITEM_TM08
ITEM_TM09
ITEM_TM10
ITEM_TM11
ITEM_TM12
ITEM_TM13
ITEM_TM14
ITEM_TM15
ITEM_TM16
ITEM_TM17
ITEM_TM18
ITEM_TM19
ITEM_TM20
ITEM_TM21
ITEM_TM22
ITEM_TM23
ITEM_TM24
ITEM_TM25
ITEM_TM26
ITEM_TM27
ITEM_TM28
ITEM_TM29
ITEM_TM30
ITEM_TM31
ITEM_TM32
ITEM_TM33
ITEM_TM34
ITEM_TM35
ITEM_TM36
ITEM_TM37
ITEM_TM38
ITEM_TM39
ITEM_TM40
ITEM_TM41
ITEM_TM42
ITEM_TM43
ITEM_TM44
ITEM_TM45
ITEM_TM46
ITEM_TM47
ITEM_TM48
ITEM_TM49
ITEM_TM50
ITEM_TM51
ITEM_TM52
ITEM_TM53
ITEM_TM54
ITEM_TM55
ITEM_TM56
ITEM_TM57
ITEM_TM58
ITEM_TM59
ITEM_TM60
ITEM_TM61
ITEM_TM62
ITEM_TM63
ITEM_TM64
ITEM_TM65
ITEM_TM66
ITEM_TM67
ITEM_TM68
ITEM_TM69
ITEM_TM70
ITEM_TM71
ITEM_TM72
ITEM_TM73
ITEM_TM74
ITEM_TM75
ITEM_TM76
ITEM_TM77
ITEM_TM78
ITEM_TM79
ITEM_TM80
ITEM_TM81
ITEM_TM82
ITEM_TM83
ITEM_TM84
ITEM_TM85
ITEM_TM86
ITEM_TM87
ITEM_TM88
ITEM_TM89
ITEM_TM90
ITEM_TM91
ITEM_TM92
ITEM_HM01
ITEM_HM02
ITEM_HM03
ITEM_HM04
ITEM_HM05
ITEM_HM06
ITEM_HM07
ITEM_HM08
ITEM_EXPLORER_KIT
ITEM_LOOT_SACK
ITEM_RULE_BOOK
ITEM_POKE_RADAR
ITEM_POINT_CARD
ITEM_JOURNAL
ITEM_SEAL_CASE
ITEM_FASHION_CASE
ITEM_SEAL_BAG
ITEM_PAL_PAD
ITEM_WORKS_KEY
ITEM_OLD_CHARM
ITEM_GALACTIC_KEY
ITEM_RED_CHAIN
ITEM_TOWN_MAP
ITEM_VS_SEEKER
ITEM_COIN_CASE
ITEM_OLD_ROD
ITEM_GOOD_ROD
ITEM_SUPER_ROD
ITEM_SPRAYDUCK
ITEM_POFFIN_CASE
ITEM_BICYCLE
ITEM_SUITE_KEY
ITEM_OAKS_LETTER
ITEM_LUNAR_WING
ITEM_MEMBER_CARD
ITEM_AZURE_FLUTE
ITEM_S_S_TICKET
ITEM_CONTEST_PASS
ITEM_MAGMA_STONE
ITEM_PARCEL
ITEM_COUPON_1
ITEM_COUPON_2
ITEM_COUPON_3
ITEM_STORAGE_KEY
ITEM_SECRETPOTION
ITEM_VS_RECORDER
ITEM_GRACIDEA
ITEM_SECRET_KEY
MAX_ITEMS

59
generated/meson.build Normal file
View File

@ -0,0 +1,59 @@
# This build file defines sets of constants which are used throughout the code
# base, both in the ROM's source code and in internal tooling. We generate these
# constants to ensure that they have a particular set of characteristics, are
# easily validated in data files representing them as strings, and can be easily
# parsed by simple string manipulations.
# This must be declared here instead of in tools/meson.build, as some tools depend
# on metang-generated constants.
metang_exe = find_program('metang', native: true)
enum_generators = {
'abilities': ['--tag-name', 'Ability'],
'catching_show_points_category': ['--tag-name', 'CatchingShowPointsCategory'],
'egg_groups': ['--tag-name', 'EggGroup'],
'evolution_methods': ['--tag-name', 'EvolutionMethod'],
'exp_rates': ['--tag-name', 'ExpRate'],
'gender_ratios': ['--tag-name', 'GenderRatio'],
'item_hold_effects': ['--tag-name', 'ItemHoldEffect'],
'items': ['--tag-name', 'Item'],
'moves': ['--tag-name', 'Move'],
'pal_park_land_area': ['--tag-name', 'PalParkLandArea'],
'pal_park_water_area': ['--tag-name', 'PalParkWaterArea'],
'pokemon_colors': ['--tag-name', 'PokemonColor'],
'pokemon_types': ['--tag-name', 'PokemonType'],
'shadow_sizes': ['--tag-name', 'ShadowSize'],
'species': ['--tag-name', 'Species'],
}
foreach gen_key : enum_generators.keys()
gen_h = gen_key + '.h'
gen_py = gen_key + '.py'
gen_file = files(gen_key + '.txt')
gen_args = enum_generators.get(gen_key)
c_consts_generators += custom_target(gen_h,
output: gen_h,
input: gen_file,
command: [
metang_exe, 'enum',
gen_args,
'--guard', 'POKEPLATINUM_GENERATED',
'--output', '@OUTPUT@',
'@INPUT@',
]
)
py_consts_generators += custom_target(gen_py,
output: gen_py,
input: gen_file,
command: [
metang_exe, 'enum',
gen_args,
'--output', '@OUTPUT@',
'--lang', 'py',
'@INPUT@',
]
)
endforeach
species_txt = files('species.txt')

469
generated/moves.txt Normal file
View File

@ -0,0 +1,469 @@
MOVE_NONE
MOVE_POUND
MOVE_KARATE_CHOP
MOVE_DOUBLE_SLAP
MOVE_COMET_PUNCH
MOVE_MEGA_PUNCH
MOVE_PAY_DAY
MOVE_FIRE_PUNCH
MOVE_ICE_PUNCH
MOVE_THUNDER_PUNCH
MOVE_SCRATCH
MOVE_VICE_GRIP
MOVE_GUILLOTINE
MOVE_RAZOR_WIND
MOVE_SWORDS_DANCE
MOVE_CUT
MOVE_GUST
MOVE_WING_ATTACK
MOVE_WHIRLWIND
MOVE_FLY
MOVE_BIND
MOVE_SLAM
MOVE_VINE_WHIP
MOVE_STOMP
MOVE_DOUBLE_KICK
MOVE_MEGA_KICK
MOVE_JUMP_KICK
MOVE_ROLLING_KICK
MOVE_SAND_ATTACK
MOVE_HEADBUTT
MOVE_HORN_ATTACK
MOVE_FURY_ATTACK
MOVE_HORN_DRILL
MOVE_TACKLE
MOVE_BODY_SLAM
MOVE_WRAP
MOVE_TAKE_DOWN
MOVE_THRASH
MOVE_DOUBLE_EDGE
MOVE_TAIL_WHIP
MOVE_POISON_STING
MOVE_TWINEEDLE
MOVE_PIN_MISSILE
MOVE_LEER
MOVE_BITE
MOVE_GROWL
MOVE_ROAR
MOVE_SING
MOVE_SUPERSONIC
MOVE_SONIC_BOOM
MOVE_DISABLE
MOVE_ACID
MOVE_EMBER
MOVE_FLAMETHROWER
MOVE_MIST
MOVE_WATER_GUN
MOVE_HYDRO_PUMP
MOVE_SURF
MOVE_ICE_BEAM
MOVE_BLIZZARD
MOVE_PSYBEAM
MOVE_BUBBLE_BEAM
MOVE_AURORA_BEAM
MOVE_HYPER_BEAM
MOVE_PECK
MOVE_DRILL_PECK
MOVE_SUBMISSION
MOVE_LOW_KICK
MOVE_COUNTER
MOVE_SEISMIC_TOSS
MOVE_STRENGTH
MOVE_ABSORB
MOVE_MEGA_DRAIN
MOVE_LEECH_SEED
MOVE_GROWTH
MOVE_RAZOR_LEAF
MOVE_SOLAR_BEAM
MOVE_POISON_POWDER
MOVE_STUN_SPORE
MOVE_SLEEP_POWDER
MOVE_PETAL_DANCE
MOVE_STRING_SHOT
MOVE_DRAGON_RAGE
MOVE_FIRE_SPIN
MOVE_THUNDER_SHOCK
MOVE_THUNDERBOLT
MOVE_THUNDER_WAVE
MOVE_THUNDER
MOVE_ROCK_THROW
MOVE_EARTHQUAKE
MOVE_FISSURE
MOVE_DIG
MOVE_TOXIC
MOVE_CONFUSION
MOVE_PSYCHIC
MOVE_HYPNOSIS
MOVE_MEDITATE
MOVE_AGILITY
MOVE_QUICK_ATTACK
MOVE_RAGE
MOVE_TELEPORT
MOVE_NIGHT_SHADE
MOVE_MIMIC
MOVE_SCREECH
MOVE_DOUBLE_TEAM
MOVE_RECOVER
MOVE_HARDEN
MOVE_MINIMIZE
MOVE_SMOKE_SCREEN
MOVE_CONFUSE_RAY
MOVE_WITHDRAW
MOVE_DEFENSE_CURL
MOVE_BARRIER
MOVE_LIGHT_SCREEN
MOVE_HAZE
MOVE_REFLECT
MOVE_FOCUS_ENERGY
MOVE_BIDE
MOVE_METRONOME
MOVE_MIRROR_MOVE
MOVE_SELFDESTRUCT
MOVE_EGG_BOMB
MOVE_LICK
MOVE_SMOG
MOVE_SLUDGE
MOVE_BONE_CLUB
MOVE_FIRE_BLAST
MOVE_WATERFALL
MOVE_CLAMP
MOVE_SWIFT
MOVE_SKULL_BASH
MOVE_SPIKE_CANNON
MOVE_CONSTRICT
MOVE_AMNESIA
MOVE_KINESIS
MOVE_SOFTBOILED
MOVE_HI_JUMP_KICK
MOVE_GLARE
MOVE_DREAM_EATER
MOVE_POISON_GAS
MOVE_BARRAGE
MOVE_LEECH_LIFE
MOVE_LOVELY_KISS
MOVE_SKY_ATTACK
MOVE_TRANSFORM
MOVE_BUBBLE
MOVE_DIZZY_PUNCH
MOVE_SPORE
MOVE_FLASH
MOVE_PSYWAVE
MOVE_SPLASH
MOVE_ACID_ARMOR
MOVE_CRABHAMMER
MOVE_EXPLOSION
MOVE_FURY_SWIPES
MOVE_BONEMERANG
MOVE_REST
MOVE_ROCK_SLIDE
MOVE_HYPER_FANG
MOVE_SHARPEN
MOVE_CONVERSION
MOVE_TRI_ATTACK
MOVE_SUPER_FANG
MOVE_SLASH
MOVE_SUBSTITUTE
MOVE_STRUGGLE
MOVE_SKETCH
MOVE_TRIPLE_KICK
MOVE_THIEF
MOVE_SPIDER_WEB
MOVE_MIND_READER
MOVE_NIGHTMARE
MOVE_FLAME_WHEEL
MOVE_SNORE
MOVE_CURSE
MOVE_FLAIL
MOVE_CONVERSION_2
MOVE_AEROBLAST
MOVE_COTTON_SPORE
MOVE_REVERSAL
MOVE_SPITE
MOVE_POWDER_SNOW
MOVE_PROTECT
MOVE_MACH_PUNCH
MOVE_SCARY_FACE
MOVE_FAINT_ATTACK
MOVE_SWEET_KISS
MOVE_BELLY_DRUM
MOVE_SLUDGE_BOMB
MOVE_MUD_SLAP
MOVE_OCTAZOOKA
MOVE_SPIKES
MOVE_ZAP_CANNON
MOVE_FORESIGHT
MOVE_DESTINY_BOND
MOVE_PERISH_SONG
MOVE_ICY_WIND
MOVE_DETECT
MOVE_BONE_RUSH
MOVE_LOCK_ON
MOVE_OUTRAGE
MOVE_SANDSTORM
MOVE_GIGA_DRAIN
MOVE_ENDURE
MOVE_CHARM
MOVE_ROLLOUT
MOVE_FALSE_SWIPE
MOVE_SWAGGER
MOVE_MILK_DRINK
MOVE_SPARK
MOVE_FURY_CUTTER
MOVE_STEEL_WING
MOVE_MEAN_LOOK
MOVE_ATTRACT
MOVE_SLEEP_TALK
MOVE_HEAL_BELL
MOVE_RETURN
MOVE_PRESENT
MOVE_FRUSTRATION
MOVE_SAFEGUARD
MOVE_PAIN_SPLIT
MOVE_SACRED_FIRE
MOVE_MAGNITUDE
MOVE_DYNAMIC_PUNCH
MOVE_MEGAHORN
MOVE_DRAGON_BREATH
MOVE_BATON_PASS
MOVE_ENCORE
MOVE_PURSUIT
MOVE_RAPID_SPIN
MOVE_SWEET_SCENT
MOVE_IRON_TAIL
MOVE_METAL_CLAW
MOVE_VITAL_THROW
MOVE_MORNING_SUN
MOVE_SYNTHESIS
MOVE_MOONLIGHT
MOVE_HIDDEN_POWER
MOVE_CROSS_CHOP
MOVE_TWISTER
MOVE_RAIN_DANCE
MOVE_SUNNY_DAY
MOVE_CRUNCH
MOVE_MIRROR_COAT
MOVE_PSYCH_UP
MOVE_EXTREME_SPEED
MOVE_ANCIENT_POWER
MOVE_SHADOW_BALL
MOVE_FUTURE_SIGHT
MOVE_ROCK_SMASH
MOVE_WHIRLPOOL
MOVE_BEAT_UP
MOVE_FAKE_OUT
MOVE_UPROAR
MOVE_STOCKPILE
MOVE_SPIT_UP
MOVE_SWALLOW
MOVE_HEAT_WAVE
MOVE_HAIL
MOVE_TORMENT
MOVE_FLATTER
MOVE_WILL_O_WISP
MOVE_MEMENTO
MOVE_FACADE
MOVE_FOCUS_PUNCH
MOVE_SMELLING_SALT
MOVE_FOLLOW_ME
MOVE_NATURE_POWER
MOVE_CHARGE
MOVE_TAUNT
MOVE_HELPING_HAND
MOVE_TRICK
MOVE_ROLE_PLAY
MOVE_WISH
MOVE_ASSIST
MOVE_INGRAIN
MOVE_SUPERPOWER
MOVE_MAGIC_COAT
MOVE_RECYCLE
MOVE_REVENGE
MOVE_BRICK_BREAK
MOVE_YAWN
MOVE_KNOCK_OFF
MOVE_ENDEAVOR
MOVE_ERUPTION
MOVE_SKILL_SWAP
MOVE_IMPRISON
MOVE_REFRESH
MOVE_GRUDGE
MOVE_SNATCH
MOVE_SECRET_POWER
MOVE_DIVE
MOVE_ARM_THRUST
MOVE_CAMOUFLAGE
MOVE_TAIL_GLOW
MOVE_LUSTER_PURGE
MOVE_MIST_BALL
MOVE_FEATHER_DANCE
MOVE_TEETER_DANCE
MOVE_BLAZE_KICK
MOVE_MUD_SPORT
MOVE_ICE_BALL
MOVE_NEEDLE_ARM
MOVE_SLACK_OFF
MOVE_HYPER_VOICE
MOVE_POISON_FANG
MOVE_CRUSH_CLAW
MOVE_BLAST_BURN
MOVE_HYDRO_CANNON
MOVE_METEOR_MASH
MOVE_ASTONISH
MOVE_WEATHER_BALL
MOVE_AROMATHERAPY
MOVE_FAKE_TEARS
MOVE_AIR_CUTTER
MOVE_OVERHEAT
MOVE_ODOR_SLEUTH
MOVE_ROCK_TOMB
MOVE_SILVER_WIND
MOVE_METAL_SOUND
MOVE_GRASS_WHISTLE
MOVE_TICKLE
MOVE_COSMIC_POWER
MOVE_WATER_SPOUT
MOVE_SIGNAL_BEAM
MOVE_SHADOW_PUNCH
MOVE_EXTRASENSORY
MOVE_SKY_UPPERCUT
MOVE_SAND_TOMB
MOVE_SHEER_COLD
MOVE_MUDDY_WATER
MOVE_BULLET_SEED
MOVE_AERIAL_ACE
MOVE_ICICLE_SPEAR
MOVE_IRON_DEFENSE
MOVE_BLOCK
MOVE_HOWL
MOVE_DRAGON_CLAW
MOVE_FRENZY_PLANT
MOVE_BULK_UP
MOVE_BOUNCE
MOVE_MUD_SHOT
MOVE_POISON_TAIL
MOVE_COVET
MOVE_VOLT_TACKLE
MOVE_MAGICAL_LEAF
MOVE_WATER_SPORT
MOVE_CALM_MIND
MOVE_LEAF_BLADE
MOVE_DRAGON_DANCE
MOVE_ROCK_BLAST
MOVE_SHOCK_WAVE
MOVE_WATER_PULSE
MOVE_DOOM_DESIRE
MOVE_PSYCHO_BOOST
MOVE_ROOST
MOVE_GRAVITY
MOVE_MIRACLE_EYE
MOVE_WAKE_UP_SLAP
MOVE_HAMMER_ARM
MOVE_GYRO_BALL
MOVE_HEALING_WISH
MOVE_BRINE
MOVE_NATURAL_GIFT
MOVE_FEINT
MOVE_PLUCK
MOVE_TAILWIND
MOVE_ACUPRESSURE
MOVE_METAL_BURST
MOVE_U_TURN
MOVE_CLOSE_COMBAT
MOVE_PAYBACK
MOVE_ASSURANCE
MOVE_EMBARGO
MOVE_FLING
MOVE_PSYCHO_SHIFT
MOVE_TRUMP_CARD
MOVE_HEAL_BLOCK
MOVE_WRING_OUT
MOVE_POWER_TRICK
MOVE_GASTRO_ACID
MOVE_LUCKY_CHANT
MOVE_ME_FIRST
MOVE_COPYCAT
MOVE_POWER_SWAP
MOVE_GUARD_SWAP
MOVE_PUNISHMENT
MOVE_LAST_RESORT
MOVE_WORRY_SEED
MOVE_SUCKER_PUNCH
MOVE_TOXIC_SPIKES
MOVE_HEART_SWAP
MOVE_AQUA_RING
MOVE_MAGNET_RISE
MOVE_FLARE_BLITZ
MOVE_FORCE_PALM
MOVE_AURA_SPHERE
MOVE_ROCK_POLISH
MOVE_POISON_JAB
MOVE_DARK_PULSE
MOVE_NIGHT_SLASH
MOVE_AQUA_TAIL
MOVE_SEED_BOMB
MOVE_AIR_SLASH
MOVE_X_SCISSOR
MOVE_BUG_BUZZ
MOVE_DRAGON_PULSE
MOVE_DRAGON_RUSH
MOVE_POWER_GEM
MOVE_DRAIN_PUNCH
MOVE_VACUUM_WAVE
MOVE_FOCUS_BLAST
MOVE_ENERGY_BALL
MOVE_BRAVE_BIRD
MOVE_EARTH_POWER
MOVE_SWITCHEROO
MOVE_GIGA_IMPACT
MOVE_NASTY_PLOT
MOVE_BULLET_PUNCH
MOVE_AVALANCHE
MOVE_ICE_SHARD
MOVE_SHADOW_CLAW
MOVE_THUNDER_FANG
MOVE_ICE_FANG
MOVE_FIRE_FANG
MOVE_SHADOW_SNEAK
MOVE_MUD_BOMB
MOVE_PSYCHO_CUT
MOVE_ZEN_HEADBUTT
MOVE_MIRROR_SHOT
MOVE_FLASH_CANNON
MOVE_ROCK_CLIMB
MOVE_DEFOG
MOVE_TRICK_ROOM
MOVE_DRACO_METEOR
MOVE_DISCHARGE
MOVE_LAVA_PLUME
MOVE_LEAF_STORM
MOVE_POWER_WHIP
MOVE_ROCK_WRECKER
MOVE_CROSS_POISON
MOVE_GUNK_SHOT
MOVE_IRON_HEAD
MOVE_MAGNET_BOMB
MOVE_STONE_EDGE
MOVE_CAPTIVATE
MOVE_STEALTH_ROCK
MOVE_GRASS_KNOT
MOVE_CHATTER
MOVE_JUDGMENT
MOVE_BUG_BITE
MOVE_CHARGE_BEAM
MOVE_WOOD_HAMMER
MOVE_AQUA_JET
MOVE_ATTACK_ORDER
MOVE_DEFEND_ORDER
MOVE_HEAL_ORDER
MOVE_HEAD_SMASH
MOVE_DOUBLE_HIT
MOVE_ROAR_OF_TIME
MOVE_SPACIAL_REND
MOVE_LUNAR_DANCE
MOVE_CRUSH_GRIP
MOVE_MAGMA_STORM
MOVE_DARK_VOID
MOVE_SEED_FLARE
MOVE_OMINOUS_WIND
MOVE_SHADOW_FORCE
MAX_MOVES

View File

@ -0,0 +1,6 @@
PAL_PARK_AREA_LAND_NONE
PAL_PARK_AREA_LAND_NORTH_WEST
PAL_PARK_AREA_LAND_NORTH_EAST
PAL_PARK_AREA_LAND_SOUTH_WEST
PAL_PARK_AREA_LAND_SOUTH_EAST
PAL_PARK_AREA_LAND_END

View File

@ -0,0 +1,5 @@
PAL_PARK_AREA_WATER_NONE
PAL_PARK_AREA_WATER_NORTH_WEST
PAL_PARK_AREA_WATER_NORTH_EAST
PAL_PARK_AREA_WATER_SOUTH_WEST
PAL_PARK_AREA_WATER_SOUTH_EAST

View File

@ -0,0 +1,12 @@
MON_COLOR_RED
MON_COLOR_BLUE
MON_COLOR_YELLOW
MON_COLOR_GREEN
MON_COLOR_BLACK
MON_COLOR_BROWN
MON_COLOR_PURPLE
MON_COLOR_GRAY
MON_COLOR_WHITE
MON_COLOR_PINK
MON_COLOR_EGG
NUM_MON_COLORS

View File

@ -0,0 +1,19 @@
TYPE_NORMAL
TYPE_FIGHTING
TYPE_FLYING
TYPE_POISON
TYPE_GROUND
TYPE_ROCK
TYPE_BUG
TYPE_GHOST
TYPE_STEEL
TYPE_MYSTERY
TYPE_FIRE
TYPE_WATER
TYPE_GRASS
TYPE_ELECTRIC
TYPE_PSYCHIC
TYPE_ICE
TYPE_DRAGON
TYPE_DARK
NUM_POKEMON_TYPES

View File

@ -0,0 +1,4 @@
SHADOW_SIZE_NONE
SHADOW_SIZE_SMALL
SHADOW_SIZE_MEDIUM
SHADOW_SIZE_LARGE

496
generated/species.txt Normal file
View File

@ -0,0 +1,496 @@
SPECIES_NONE
SPECIES_BULBASAUR
SPECIES_IVYSAUR
SPECIES_VENUSAUR
SPECIES_CHARMANDER
SPECIES_CHARMELEON
SPECIES_CHARIZARD
SPECIES_SQUIRTLE
SPECIES_WARTORTLE
SPECIES_BLASTOISE
SPECIES_CATERPIE
SPECIES_METAPOD
SPECIES_BUTTERFREE
SPECIES_WEEDLE
SPECIES_KAKUNA
SPECIES_BEEDRILL
SPECIES_PIDGEY
SPECIES_PIDGEOTTO
SPECIES_PIDGEOT
SPECIES_RATTATA
SPECIES_RATICATE
SPECIES_SPEAROW
SPECIES_FEAROW
SPECIES_EKANS
SPECIES_ARBOK
SPECIES_PIKACHU
SPECIES_RAICHU
SPECIES_SANDSHREW
SPECIES_SANDSLASH
SPECIES_NIDORAN_F
SPECIES_NIDORINA
SPECIES_NIDOQUEEN
SPECIES_NIDORAN_M
SPECIES_NIDORINO
SPECIES_NIDOKING
SPECIES_CLEFAIRY
SPECIES_CLEFABLE
SPECIES_VULPIX
SPECIES_NINETALES
SPECIES_JIGGLYPUFF
SPECIES_WIGGLYTUFF
SPECIES_ZUBAT
SPECIES_GOLBAT
SPECIES_ODDISH
SPECIES_GLOOM
SPECIES_VILEPLUME
SPECIES_PARAS
SPECIES_PARASECT
SPECIES_VENONAT
SPECIES_VENOMOTH
SPECIES_DIGLETT
SPECIES_DUGTRIO
SPECIES_MEOWTH
SPECIES_PERSIAN
SPECIES_PSYDUCK
SPECIES_GOLDUCK
SPECIES_MANKEY
SPECIES_PRIMEAPE
SPECIES_GROWLITHE
SPECIES_ARCANINE
SPECIES_POLIWAG
SPECIES_POLIWHIRL
SPECIES_POLIWRATH
SPECIES_ABRA
SPECIES_KADABRA
SPECIES_ALAKAZAM
SPECIES_MACHOP
SPECIES_MACHOKE
SPECIES_MACHAMP
SPECIES_BELLSPROUT
SPECIES_WEEPINBELL
SPECIES_VICTREEBEL
SPECIES_TENTACOOL
SPECIES_TENTACRUEL
SPECIES_GEODUDE
SPECIES_GRAVELER
SPECIES_GOLEM
SPECIES_PONYTA
SPECIES_RAPIDASH
SPECIES_SLOWPOKE
SPECIES_SLOWBRO
SPECIES_MAGNEMITE
SPECIES_MAGNETON
SPECIES_FARFETCHD
SPECIES_DODUO
SPECIES_DODRIO
SPECIES_SEEL
SPECIES_DEWGONG
SPECIES_GRIMER
SPECIES_MUK
SPECIES_SHELLDER
SPECIES_CLOYSTER
SPECIES_GASTLY
SPECIES_HAUNTER
SPECIES_GENGAR
SPECIES_ONIX
SPECIES_DROWZEE
SPECIES_HYPNO
SPECIES_KRABBY
SPECIES_KINGLER
SPECIES_VOLTORB
SPECIES_ELECTRODE
SPECIES_EXEGGCUTE
SPECIES_EXEGGUTOR
SPECIES_CUBONE
SPECIES_MAROWAK
SPECIES_HITMONLEE
SPECIES_HITMONCHAN
SPECIES_LICKITUNG
SPECIES_KOFFING
SPECIES_WEEZING
SPECIES_RHYHORN
SPECIES_RHYDON
SPECIES_CHANSEY
SPECIES_TANGELA
SPECIES_KANGASKHAN
SPECIES_HORSEA
SPECIES_SEADRA
SPECIES_GOLDEEN
SPECIES_SEAKING
SPECIES_STARYU
SPECIES_STARMIE
SPECIES_MR_MIME
SPECIES_SCYTHER
SPECIES_JYNX
SPECIES_ELECTABUZZ
SPECIES_MAGMAR
SPECIES_PINSIR
SPECIES_TAUROS
SPECIES_MAGIKARP
SPECIES_GYARADOS
SPECIES_LAPRAS
SPECIES_DITTO
SPECIES_EEVEE
SPECIES_VAPOREON
SPECIES_JOLTEON
SPECIES_FLAREON
SPECIES_PORYGON
SPECIES_OMANYTE
SPECIES_OMASTAR
SPECIES_KABUTO
SPECIES_KABUTOPS
SPECIES_AERODACTYL
SPECIES_SNORLAX
SPECIES_ARTICUNO
SPECIES_ZAPDOS
SPECIES_MOLTRES
SPECIES_DRATINI
SPECIES_DRAGONAIR
SPECIES_DRAGONITE
SPECIES_MEWTWO
SPECIES_MEW
SPECIES_CHIKORITA
SPECIES_BAYLEEF
SPECIES_MEGANIUM
SPECIES_CYNDAQUIL
SPECIES_QUILAVA
SPECIES_TYPHLOSION
SPECIES_TOTODILE
SPECIES_CROCONAW
SPECIES_FERALIGATR
SPECIES_SENTRET
SPECIES_FURRET
SPECIES_HOOTHOOT
SPECIES_NOCTOWL
SPECIES_LEDYBA
SPECIES_LEDIAN
SPECIES_SPINARAK
SPECIES_ARIADOS
SPECIES_CROBAT
SPECIES_CHINCHOU
SPECIES_LANTURN
SPECIES_PICHU
SPECIES_CLEFFA
SPECIES_IGGLYBUFF
SPECIES_TOGEPI
SPECIES_TOGETIC
SPECIES_NATU
SPECIES_XATU
SPECIES_MAREEP
SPECIES_FLAAFFY
SPECIES_AMPHAROS
SPECIES_BELLOSSOM
SPECIES_MARILL
SPECIES_AZUMARILL
SPECIES_SUDOWOODO
SPECIES_POLITOED
SPECIES_HOPPIP
SPECIES_SKIPLOOM
SPECIES_JUMPLUFF
SPECIES_AIPOM
SPECIES_SUNKERN
SPECIES_SUNFLORA
SPECIES_YANMA
SPECIES_WOOPER
SPECIES_QUAGSIRE
SPECIES_ESPEON
SPECIES_UMBREON
SPECIES_MURKROW
SPECIES_SLOWKING
SPECIES_MISDREAVUS
SPECIES_UNOWN
SPECIES_WOBBUFFET
SPECIES_GIRAFARIG
SPECIES_PINECO
SPECIES_FORRETRESS
SPECIES_DUNSPARCE
SPECIES_GLIGAR
SPECIES_STEELIX
SPECIES_SNUBBULL
SPECIES_GRANBULL
SPECIES_QWILFISH
SPECIES_SCIZOR
SPECIES_SHUCKLE
SPECIES_HERACROSS
SPECIES_SNEASEL
SPECIES_TEDDIURSA
SPECIES_URSARING
SPECIES_SLUGMA
SPECIES_MAGCARGO
SPECIES_SWINUB
SPECIES_PILOSWINE
SPECIES_CORSOLA
SPECIES_REMORAID
SPECIES_OCTILLERY
SPECIES_DELIBIRD
SPECIES_MANTINE
SPECIES_SKARMORY
SPECIES_HOUNDOUR
SPECIES_HOUNDOOM
SPECIES_KINGDRA
SPECIES_PHANPY
SPECIES_DONPHAN
SPECIES_PORYGON2
SPECIES_STANTLER
SPECIES_SMEARGLE
SPECIES_TYROGUE
SPECIES_HITMONTOP
SPECIES_SMOOCHUM
SPECIES_ELEKID
SPECIES_MAGBY
SPECIES_MILTANK
SPECIES_BLISSEY
SPECIES_RAIKOU
SPECIES_ENTEI
SPECIES_SUICUNE
SPECIES_LARVITAR
SPECIES_PUPITAR
SPECIES_TYRANITAR
SPECIES_LUGIA
SPECIES_HO_OH
SPECIES_CELEBI
SPECIES_TREECKO
SPECIES_GROVYLE
SPECIES_SCEPTILE
SPECIES_TORCHIC
SPECIES_COMBUSKEN
SPECIES_BLAZIKEN
SPECIES_MUDKIP
SPECIES_MARSHTOMP
SPECIES_SWAMPERT
SPECIES_POOCHYENA
SPECIES_MIGHTYENA
SPECIES_ZIGZAGOON
SPECIES_LINOONE
SPECIES_WURMPLE
SPECIES_SILCOON
SPECIES_BEAUTIFLY
SPECIES_CASCOON
SPECIES_DUSTOX
SPECIES_LOTAD
SPECIES_LOMBRE
SPECIES_LUDICOLO
SPECIES_SEEDOT
SPECIES_NUZLEAF
SPECIES_SHIFTRY
SPECIES_TAILLOW
SPECIES_SWELLOW
SPECIES_WINGULL
SPECIES_PELIPPER
SPECIES_RALTS
SPECIES_KIRLIA
SPECIES_GARDEVOIR
SPECIES_SURSKIT
SPECIES_MASQUERAIN
SPECIES_SHROOMISH
SPECIES_BRELOOM
SPECIES_SLAKOTH
SPECIES_VIGOROTH
SPECIES_SLAKING
SPECIES_NINCADA
SPECIES_NINJASK
SPECIES_SHEDINJA
SPECIES_WHISMUR
SPECIES_LOUDRED
SPECIES_EXPLOUD
SPECIES_MAKUHITA
SPECIES_HARIYAMA
SPECIES_AZURILL
SPECIES_NOSEPASS
SPECIES_SKITTY
SPECIES_DELCATTY
SPECIES_SABLEYE
SPECIES_MAWILE
SPECIES_ARON
SPECIES_LAIRON
SPECIES_AGGRON
SPECIES_MEDITITE
SPECIES_MEDICHAM
SPECIES_ELECTRIKE
SPECIES_MANECTRIC
SPECIES_PLUSLE
SPECIES_MINUN
SPECIES_VOLBEAT
SPECIES_ILLUMISE
SPECIES_ROSELIA
SPECIES_GULPIN
SPECIES_SWALOT
SPECIES_CARVANHA
SPECIES_SHARPEDO
SPECIES_WAILMER
SPECIES_WAILORD
SPECIES_NUMEL
SPECIES_CAMERUPT
SPECIES_TORKOAL
SPECIES_SPOINK
SPECIES_GRUMPIG
SPECIES_SPINDA
SPECIES_TRAPINCH
SPECIES_VIBRAVA
SPECIES_FLYGON
SPECIES_CACNEA
SPECIES_CACTURNE
SPECIES_SWABLU
SPECIES_ALTARIA
SPECIES_ZANGOOSE
SPECIES_SEVIPER
SPECIES_LUNATONE
SPECIES_SOLROCK
SPECIES_BARBOACH
SPECIES_WHISCASH
SPECIES_CORPHISH
SPECIES_CRAWDAUNT
SPECIES_BALTOY
SPECIES_CLAYDOL
SPECIES_LILEEP
SPECIES_CRADILY
SPECIES_ANORITH
SPECIES_ARMALDO
SPECIES_FEEBAS
SPECIES_MILOTIC
SPECIES_CASTFORM
SPECIES_KECLEON
SPECIES_SHUPPET
SPECIES_BANETTE
SPECIES_DUSKULL
SPECIES_DUSCLOPS
SPECIES_TROPIUS
SPECIES_CHIMECHO
SPECIES_ABSOL
SPECIES_WYNAUT
SPECIES_SNORUNT
SPECIES_GLALIE
SPECIES_SPHEAL
SPECIES_SEALEO
SPECIES_WALREIN
SPECIES_CLAMPERL
SPECIES_HUNTAIL
SPECIES_GOREBYSS
SPECIES_RELICANTH
SPECIES_LUVDISC
SPECIES_BAGON
SPECIES_SHELGON
SPECIES_SALAMENCE
SPECIES_BELDUM
SPECIES_METANG
SPECIES_METAGROSS
SPECIES_REGIROCK
SPECIES_REGICE
SPECIES_REGISTEEL
SPECIES_LATIAS
SPECIES_LATIOS
SPECIES_KYOGRE
SPECIES_GROUDON
SPECIES_RAYQUAZA
SPECIES_JIRACHI
SPECIES_DEOXYS
SPECIES_TURTWIG
SPECIES_GROTLE
SPECIES_TORTERRA
SPECIES_CHIMCHAR
SPECIES_MONFERNO
SPECIES_INFERNAPE
SPECIES_PIPLUP
SPECIES_PRINPLUP
SPECIES_EMPOLEON
SPECIES_STARLY
SPECIES_STARAVIA
SPECIES_STARAPTOR
SPECIES_BIDOOF
SPECIES_BIBAREL
SPECIES_KRICKETOT
SPECIES_KRICKETUNE
SPECIES_SHINX
SPECIES_LUXIO
SPECIES_LUXRAY
SPECIES_BUDEW
SPECIES_ROSERADE
SPECIES_CRANIDOS
SPECIES_RAMPARDOS
SPECIES_SHIELDON
SPECIES_BASTIODON
SPECIES_BURMY
SPECIES_WORMADAM
SPECIES_MOTHIM
SPECIES_COMBEE
SPECIES_VESPIQUEN
SPECIES_PACHIRISU
SPECIES_BUIZEL
SPECIES_FLOATZEL
SPECIES_CHERUBI
SPECIES_CHERRIM
SPECIES_SHELLOS
SPECIES_GASTRODON
SPECIES_AMBIPOM
SPECIES_DRIFLOON
SPECIES_DRIFBLIM
SPECIES_BUNEARY
SPECIES_LOPUNNY
SPECIES_MISMAGIUS
SPECIES_HONCHKROW
SPECIES_GLAMEOW
SPECIES_PURUGLY
SPECIES_CHINGLING
SPECIES_STUNKY
SPECIES_SKUNTANK
SPECIES_BRONZOR
SPECIES_BRONZONG
SPECIES_BONSLY
SPECIES_MIME_JR
SPECIES_HAPPINY
SPECIES_CHATOT
SPECIES_SPIRITOMB
SPECIES_GIBLE
SPECIES_GABITE
SPECIES_GARCHOMP
SPECIES_MUNCHLAX
SPECIES_RIOLU
SPECIES_LUCARIO
SPECIES_HIPPOPOTAS
SPECIES_HIPPOWDON
SPECIES_SKORUPI
SPECIES_DRAPION
SPECIES_CROAGUNK
SPECIES_TOXICROAK
SPECIES_CARNIVINE
SPECIES_FINNEON
SPECIES_LUMINEON
SPECIES_MANTYKE
SPECIES_SNOVER
SPECIES_ABOMASNOW
SPECIES_WEAVILE
SPECIES_MAGNEZONE
SPECIES_LICKILICKY
SPECIES_RHYPERIOR
SPECIES_TANGROWTH
SPECIES_ELECTIVIRE
SPECIES_MAGMORTAR
SPECIES_TOGEKISS
SPECIES_YANMEGA
SPECIES_LEAFEON
SPECIES_GLACEON
SPECIES_GLISCOR
SPECIES_MAMOSWINE
SPECIES_PORYGON_Z
SPECIES_GALLADE
SPECIES_PROBOPASS
SPECIES_DUSKNOIR
SPECIES_FROSLASS
SPECIES_ROTOM
SPECIES_UXIE
SPECIES_MESPRIT
SPECIES_AZELF
SPECIES_DIALGA
SPECIES_PALKIA
SPECIES_HEATRAN
SPECIES_REGIGIGAS
SPECIES_GIRATINA
SPECIES_CRESSELIA
SPECIES_PHIONE
SPECIES_MANAPHY
SPECIES_DARKRAI
SPECIES_SHAYMIN
SPECIES_ARCEUS
SPECIES_EGG
SPECIES_BAD_EGG

View File

@ -192,7 +192,7 @@ u32 BattleSystem_BattleStatus(BattleSystem *battleSys);
enum Time BattleSystem_Time(BattleSystem *battleSys);
int ov16_0223EC04(BattleSystem *battleSys);
u8 ov16_0223EC58(BattleSystem *battleSys, int param1, u8 param2);
u16 ov16_0223ECC4(FieldBattleDTO *param0, int *param1, int *param2);
u16 Battle_FindEvolvingPartyMember(FieldBattleDTO *param0, int *param1, int *param2);
u8 ov16_0223ED60(BattleSystem *battleSys);
u8 ov16_0223ED6C(BattleSystem *battleSys);
int BattleSystem_NumSafariBalls(BattleSystem *battleSys);

View File

@ -1,9 +1,10 @@
#ifndef POKEPLATINUM_CONSTANTS_ITEMS_H
#define POKEPLATINUM_CONSTANTS_ITEMS_H
#ifndef __ASM_PM_
#include "consts/items.h"
#include "generated/item_hold_effects.h"
#include "generated/items.h"
#ifndef __ASM_PM_
enum {
BATTLE_ITEM_CATEGORY_RECOVER_HP = 0,
BATTLE_ITEM_CATEGORY_RECOVER_STATUS,

View File

@ -2,6 +2,7 @@
#define POKEPLATINUM_CONSTANTS_MOVES_H
#include "consts/moves.h"
#include "generated/moves.h"
#define LEARNED_MOVES_MAX 4

View File

@ -1,7 +1,8 @@
#ifndef POKEPLATINUM_CONSTANTS_POKEMON_H
#define POKEPLATINUM_CONSTANTS_POKEMON_H
#include "consts/pokemon.h" // defs for PokemonType and PokemonPersonalDataParam
#include "consts/pokemon.h" // defs for SpeciesDataParam
#include "generated/pokemon_types.h" // PokemonType
/**
* @brief Pokemon Stats
@ -30,9 +31,7 @@ enum {
#define MAX_POKEMON_MARKINGS 6
#define MAX_POKEMON_LEVEL 100
#define LEARNSET_NO_MOVE_TO_LEARN 0
#define LEARNSET_MOVE_ALREADY_KNOWN 0xFFFE
#define LEARNSET_ALL_SLOTS_FILLED 0xFFFF
#define EVOLVE_FRIENDSHIP_THRESHOLD 220
/**
* @brief Pokemon Data Parameters

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_CONSTANTS_SPECIES_H
#define POKEPLATINUM_CONSTANTS_SPECIES_H
#include "consts/species.h"
#include "generated/species.h"
#define KANTO_DEX_COUNT (SPECIES_MEW - SPECIES_NONE)
#define JOHTO_DEX_COUNT (SPECIES_CELEBI - SPECIES_MEW)

View File

@ -1,6 +1,8 @@
#ifndef POKEPLATINUM_MAP_HEADER_H
#define POKEPLATINUM_MAP_HEADER_H
#include "generated/evolution_methods.h"
typedef struct {
u8 unk_00;
u8 unk_01;
@ -58,6 +60,6 @@ BOOL MapHeader_IsTrophyGarden(const u32 headerID);
BOOL MapHeader_IsAmitySquare(const u32 headerID);
BOOL MapHeader_IsAzureFluteAllowed(const u32 headerID);
BOOL MapHeader_IsPokemonCenter2F(const u32 headerID);
enum PokemonEvoMethod MapHeader_GetMapEvolutionMethod(u32 headerID);
enum EvolutionMethod MapHeader_GetMapEvolutionMethod(u32 headerID);
#endif // POKEPLATINUM_MAP_HEADER_H

View File

@ -16,6 +16,8 @@
#define NELEMS(a) (sizeof(a) / sizeof(*(a)))
#define XtOffset(pointer_type, field) ((unsigned int)&(((pointer_type)NULL)->field))
#define ALIGN_4 __attribute__((aligned(4)))
typedef struct {
int x;
int y;

View File

@ -14,6 +14,7 @@
#include "struct_defs/archived_sprite.h"
#include "struct_defs/chatot_cry.h"
#include "struct_defs/pokemon.h"
#include "struct_defs/species.h"
#include "struct_defs/sprite_animation_frame.h"
#include "overlay005/struct_ov5_021DE5D0.h"
@ -31,48 +32,12 @@
#define FACE_BACK 0
#define FACE_FRONT 2
/**
* @brief Pokemon Personal data structure. This contains data that is the same across all pokemon of the same species/form
*/
typedef struct PokemonPersonalData {
u8 baseHp; //!< The pokemons base HP stat
u8 baseAtk; //!< The pokemons base Attack stat
u8 baseDef; //!< The pokemons base Defense stat
u8 baseSpeed; //!< The pokemons base Speed stat
u8 baseSpAtk; //!< The pokemons base Special Attack stat
u8 baseSpDef; //!< The pokemons base Special Defense stat
u8 type1; //!< The pokemons first type
u8 type2; //!< The pokemons second type
u8 catchRate; //!< The pokemons catch rate
u8 baseExp; //!< A factor in determining experience yield when defeating this pokemon
u16 evHpYield : 2; //!< How many HP EVs will be gained when defeating this pokemon
u16 evAtkYield : 2; //!< How many Attack EVs will be gained when defeating this pokemon
u16 evDefYield : 2; //!< How many Defense EVs will be gained when defeating this pokemon
u16 evSpeedYield : 2; //!< How many Speed EVs will be gained when defeating this pokemon
u16 evSpAtkYield : 2; //!< How many Special Attack EVs will be gained when defeating this pokemon
u16 evSpDefYield : 2; //!< How many Special Defense EVs will be gained when defeating this pokemon
// u16 padding : 4;
u16 item1; //!< Common held item when this pokemon is encountered in the wild
u16 item2; //!< Rare held item when this pokemon is encountered in the wild
u8 gender; //!< The pokemons gender ratio, except for special values, a higher value will result in more females and a lower value will result in more males appearing
u8 hatchCycles; //!< How long eggs of this pokemon will take to hatch. In Gen.IV One cycle is 255 steps
u8 baseFriendship; //!< The pokemons base Friendship stat
u8 expRate; //!< The experience rate category of the pokemon. This sets which formula is used to determine the pokemons level based on its experience
u8 eggGroup1; //!< The pokemons first egg group
u8 eggGroup2; //!< The pokemons second egg group
u8 ability1; //!< The pokemons first possible ability
u8 ability2; //!< The pokemons second possible ability
u8 greatMarshFleeRate; //!< The pokemons base flee rate in the Great Marsh safari zone
u8 color : 7; //!< The pokemons color category
u8 flipSprite : 1;
// u16 padding;
u32 tmLearnsetMask1; //!< Bitflags for whether this pokemon can learn a TM (TM1 -> TM32)
u32 tmLearnsetMask2; //!< Bitflags for whether this pokemon can learn a TM (TM33 -> TM64)
u32 tmLearnsetMask3; //!< Bitflags for whether this pokemon can learn a TM (TM65 -> TM92, HM1 -> HM4)
u32 tmLearnsetMask4; //!< Bitflags for whether this pokemon can learn a TM (HM5 -> HM8, rest unused)
} PokemonPersonalData;
enum EvolutionClass {
EVO_CLASS_BY_LEVEL = 0,
EVO_CLASS_BY_TRADE,
EVO_CLASS_UNUSED_02,
EVO_CLASS_BY_ITEM,
};
/**
* @brief Zeros out a Pokemon data structure, then encrypts the result
@ -207,58 +172,58 @@ void BoxPokemon_SetValue(BoxPokemon *boxMon, enum PokemonDataParam param, const
void Pokemon_IncreaseValue(Pokemon *mon, enum PokemonDataParam param, int value);
/**
* @brief Gets a PokemonPersonalData based on a pokemon species and form
* @brief Gets a SpeciesData based on a pokemon species and form
*
* @param monSpecies
* @param monForm
* @param heapID The index of the heap that the PokemonPersonalData should be loaded into
* @return PokemonPersonalData*
* @param heapID The index of the heap that the SpeciesData should be loaded into
* @return SpeciesData*
*/
PokemonPersonalData *PokemonPersonalData_FromMonForm(int monSpecies, int monForm, int heapID);
SpeciesData *SpeciesData_FromMonForm(int monSpecies, int monForm, int heapID);
/**
* @brief Gets a PokemonPersonalData based on a pokemon species
* @brief Gets a SpeciesData based on a pokemon species
*
* @param monSpecies
* @param heapID The index of the heap that the PokemonPersonalData should be loaded into
* @return PokemonPersonalData*
* @param heapID The index of the heap that the SpeciesData should be loaded into
* @return SpeciesData*
*/
PokemonPersonalData *PokemonPersonalData_FromMonSpecies(int monSpecies, int heapID);
SpeciesData *SpeciesData_FromMonSpecies(int monSpecies, int heapID);
/**
* @brief Gets a value from a PokemonPersonalData structure
* @brief Gets a value from a SpeciesData structure
*
* @param monPersonalData
* @param speciesData
* @param param What value to get
* @return The requested value
*/
u32 PokemonPersonalData_GetValue(PokemonPersonalData *monPersonalData, enum PokemonPersonalDataParam param);
u32 SpeciesData_GetValue(SpeciesData *speciesData, enum SpeciesDataParam param);
/**
* @brief Frees a PokemonPersonalData structure from the heap
* @brief Frees a SpeciesData structure from the heap
*
* @param monPersonalData
* @param speciesData
*/
void PokemonPersonalData_Free(PokemonPersonalData *monPersonalData);
void SpeciesData_Free(SpeciesData *speciesData);
/**
* @brief Loads a PokemonPersonalData based on its species and form and gets a value from it
* @brief Loads a SpeciesData based on its species and form and gets a value from it
*
* @param monSpecies
* @param monForm
* @param param What value to get
* @return The requested value
*/
u32 PokemonPersonalData_GetFormValue(int monSpecies, int monForm, enum PokemonPersonalDataParam param);
u32 SpeciesData_GetFormValue(int monSpecies, int monForm, enum SpeciesDataParam param);
/**
* @brief Loads a PokemonPersonalData based on its species and gets a value from it
* @brief Loads a SpeciesData based on its species and gets a value from it
*
* @param monSpecies
* @param param What value to get
* @return The requested value
*/
u32 PokemonPersonalData_GetSpeciesValue(int monSpecies, enum PokemonPersonalDataParam param);
u32 SpeciesData_GetSpeciesValue(int monSpecies, enum SpeciesDataParam param);
/**
* @brief Gets how much progress a Pokemon has made towards its next level as a percentage
@ -321,12 +286,12 @@ u32 Pokemon_GetSpeciesLevelAt(u16 monSpecies, u32 monExp);
/**
* @brief Gets the level of a pokemon based on its personal data and exp
*
* @param monPersonalData
* @param speciesData
* @param unused_monSpecies unused
* @param monExp
* @return The pokemons level
*/
u32 PokemonPersonalData_GetLevelAt(PokemonPersonalData *monPersonalData, u16 unused_monSpecies, u32 monExp);
u32 SpeciesData_GetLevelAt(SpeciesData *speciesData, u16 unused_monSpecies, u32 monExp);
/**
* @brief Gets the nature of a Pokemon based on its personality value
@ -389,14 +354,14 @@ u8 BoxPokemon_GetGender(BoxPokemon *boxMon);
u8 Pokemon_GetGenderOf(u16 monSpecies, u32 monPersonality);
/**
* @brief Gets the gender of a pokemon based on its PokemonPersonalData and personality value
* @brief Gets the gender of a pokemon based on its SpeciesData and personality value
*
* @param monPersonalData
* @param speciesData
* @param unused_monSpecies unused
* @param monPersonality
* @return The pokemons gender
*/
u8 PokemonPersonalData_GetGenderOf(PokemonPersonalData *monPersonalData, u16 unused_monSpecies, u32 monPersonality);
u8 SpeciesData_GetGenderOf(SpeciesData *speciesData, u16 unused_monSpecies, u32 monPersonality);
/**
* @brief Gets whether a BoxPokemon is shiny based on its Original Trainer ID and its personality value
@ -558,7 +523,7 @@ u8 BoxPokemon_GetForm(BoxPokemon *boxMon);
BoxPokemon *Pokemon_GetBoxPokemon(Pokemon *mon);
BOOL Pokemon_ShouldLevelUp(Pokemon *mon);
u16 sub_02076B94(Party *party, Pokemon *mon, u8 evoTypeList, u16 evoParam, int *evoTypeResult);
u16 Pokemon_GetEvolutionTargetSpecies(Party *party, Pokemon *mon, u8 evoClass, u16 evoParam, int *evoTypeResult);
u16 sub_02076F84(const u16 monSpecies);
u16 sub_02076FD4(const u16 monSpecies);

View File

@ -1,9 +1,9 @@
#ifndef POKEPLATINUM_STRING_TEMPLATE_H
#define POKEPLATINUM_STRING_TEMPLATE_H
#include "consts/abilities.h"
#include "consts/gender.h"
#include "consts/moves.h"
#include "generated/abilities.h"
#include "struct_decls/struct_020797DC_decl.h"
#include "struct_defs/trainer_data.h"

View File

@ -15,9 +15,9 @@ typedef struct PokeSpriteFaceData {
typedef struct ArchivedPokeSpriteData {
PokeSpriteFaceData faces[MAX_FACES]; ///< Data for each display-face of the Pokemon's sprite.
s8 yOffset; ///< Vertical offset of the Pokemon's sprite for either face.
s8 yOffset; ///< Additional vertical offset of the Pokemon's front-face sprite.
s8 xOffsetShadow; ///< Horizontal offset for the shadow sprite beneath the Pokemon's sprite.
u8 shadowSize; ///< Size of the shadow sprite beneath the Pokemon's sprite. TODO: enum
u8 shadowSize; ///< Size of the shadow sprite beneath the Pokemon's sprite.
} ArchivedPokeSpriteData;
#endif // POKEPLATINUM_ARCHIVED_POKE_SPRITE_DATA_H

View File

@ -0,0 +1,89 @@
#ifndef POKEPLATINUM_SPECIES_H
#define POKEPLATINUM_SPECIES_H
#define MAX_ABILITIES 2
#define MAX_EGG_GROUPS 2
#define MAX_TYPES 2
#define MAX_EVOLUTIONS 7
#define MAX_LEARNSET_ENTRIES 20
#define LEARNSET_NO_MOVE_TO_LEARN 0
#define LEARNSET_MOVE_ALREADY_KNOWN 0xFFFE
#define LEARNSET_ALL_SLOTS_FILLED 0xFFFF
#define LEARNSET_SENTINEL_ENTRY 0xFFFF
typedef struct SpeciesBaseStats {
u8 hp;
u8 attack;
u8 defense;
u8 speed;
u8 spAttack;
u8 spDefense;
} SpeciesBaseStats;
typedef struct SpeciesEVYields {
u16 hp : 2;
u16 attack : 2;
u16 defense : 2;
u16 speed : 2;
u16 spAttack : 2;
u16 spDefense : 2;
} SpeciesEVYields;
typedef struct SpeciesWildHeldItems {
u16 common;
u16 rare;
} SpeciesWildHeldItems;
typedef struct SpeciesData {
SpeciesBaseStats baseStats;
u8 types[MAX_TYPES];
u8 catchRate;
u8 baseExpReward;
SpeciesEVYields evYields;
SpeciesWildHeldItems wildHeldItems;
u8 genderRatio;
u8 hatchCycles;
u8 baseFriendship;
u8 expRate;
u8 eggGroups[MAX_EGG_GROUPS];
u8 abilities[MAX_ABILITIES];
u8 safariFleeRate;
u8 bodyColor : 7;
u8 flipSprite : 1;
// u16 padding;
u32 tmLearnsetMasks[4]; // Bitflags for whether this pokemon can learn a TM
} SpeciesData;
typedef struct SpeciesEvolution {
u16 method;
u16 param;
u16 targetSpecies;
} SpeciesEvolution;
typedef struct SpeciesLearnsetEntry {
u16 move : 9;
u16 level : 7;
} SpeciesLearnsetEntry;
// This struct is not explicitly used; it is provided to document and enforce the size of
// the learnset entries.
typedef struct SpeciesLearnset {
ALIGN_4 SpeciesLearnsetEntry entries[MAX_LEARNSET_ENTRIES + 1];
} SpeciesLearnset;
typedef struct SpeciesPalPark {
u8 landArea;
u8 waterArea;
u8 catchingPoints;
u8 rarity;
union {
u8 asU8[2];
u16 asU16;
} unused;
} SpeciesPalPark;
#endif // POKEPLATINUM_SPECIES_H

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_TUTOR_MOVESETS_H
#define POKEPLATINUM_TUTOR_MOVESETS_H
#include "consts/moves.h"
#include "generated/moves.h"
enum TutorLocation {
TUTOR_LOCATION_ROUTE_212 = 0,

View File

@ -13,6 +13,7 @@ fs = import('fs')
### INCLUDE PATHS ###
############################################################
public_includes = include_directories('include', 'asm', 'res')
toplevel_includes = include_directories('.')
############################################################
@ -31,7 +32,8 @@ c_args = [
'-char', 'signed',
'-nosyspath',
'-stdinc',
'-sym', 'on'
'-sym', 'on',
'-DPOKEPLATINUM_GENERATED_ENUM',
]
if get_option('gdb_debugging')
@ -114,6 +116,13 @@ libsyscall_dep = dependency('libsyscall')
ppwlobby_dep = dependency('ppwlobby')
############################################################
### CONSTS ###
############################################################
subdir('consts')
subdir('generated')
############################################################
### TOOLS ###
############################################################
@ -132,12 +141,6 @@ subdir('platinum.us')
subdir('lib')
############################################################
### CONSTS ###
############################################################
subdir('consts')
############################################################
### FILE SYSTEM ###
############################################################
@ -159,6 +162,7 @@ main = executable('main',
naix_headers,
gen_species_headers,
tutorable_moves_h,
species_learnsets_by_tutor_h,
],
c_args: [
pokeplatinum_args,

View File

@ -11,20 +11,20 @@ _000:
UpdateMonData OPCODE_SET, BTLSCR_DEFENDER, BATTLEMON_FORM_NUM, 0
UpdateVar OPCODE_SET, BTLVAR_SCRIPT_TEMP, 0
CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_DEFENDER, BATTLEMON_PERSONALITY, 1, _049
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, MON_DATA_PERSONAL_ABILITY_1
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, SPECIES_DATA_ABILITY_1
GoTo _062
_049:
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, MON_DATA_PERSONAL_ABILITY_2
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, SPECIES_DATA_ABILITY_2
CompareVarToValue OPCODE_NEQ, BTLVAR_SCRIPT_TEMP, 0, _062
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, MON_DATA_PERSONAL_ABILITY_1
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, SPECIES_DATA_ABILITY_1
_062:
UpdateVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS_2, SYSCTL_RECALC_MON_STATS
UpdateMonDataFromVar OPCODE_SET, BTLSCR_DEFENDER, BATTLEMON_ABILITY, BTLVAR_CALC_TEMP
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, MON_DATA_PERSONAL_TYPE_1
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, SPECIES_DATA_TYPE_1
UpdateMonDataFromVar OPCODE_SET, BTLSCR_DEFENDER, BATTLEMON_TYPE_1, BTLVAR_CALC_TEMP
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, MON_DATA_PERSONAL_TYPE_2
LoadArchivedMonData SPECIES_SHAYMIN, BTLVAR_SCRIPT_TEMP, SPECIES_DATA_TYPE_2
UpdateMonDataFromVar OPCODE_SET, BTLSCR_DEFENDER, BATTLEMON_TYPE_2, BTLVAR_CALC_TEMP
UpdateVarFromVar OPCODE_SET, BTLVAR_MSG_BATTLER_TEMP, BTLVAR_DEFENDER
Call BATTLE_SUBSCRIPT_FORM_CHANGE

View File

@ -7,11 +7,11 @@ _000:
UpdateMonData OPCODE_SET, BTLSCR_MSG_BATTLER_TEMP, BATTLEMON_FORM_NUM, 0
UpdateVar OPCODE_SET, BTLVAR_SCRIPT_TEMP, 0
CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_MSG_BATTLER_TEMP, BATTLEMON_PERSONALITY, 1, _024
LoadArchivedMonData SPECIES_GIRATINA, BTLVAR_SCRIPT_TEMP, MON_DATA_PERSONAL_ABILITY_1
LoadArchivedMonData SPECIES_GIRATINA, BTLVAR_SCRIPT_TEMP, SPECIES_DATA_ABILITY_1
GoTo _028
_024:
LoadArchivedMonData SPECIES_GIRATINA, BTLVAR_SCRIPT_TEMP, MON_DATA_PERSONAL_ABILITY_2
LoadArchivedMonData SPECIES_GIRATINA, BTLVAR_SCRIPT_TEMP, SPECIES_DATA_ABILITY_2
_028:
UpdateMonDataFromVar OPCODE_SET, BTLSCR_MSG_BATTLER_TEMP, BATTLEMON_ABILITY, BTLVAR_CALC_TEMP

View File

@ -38,8 +38,9 @@ pl_item_data_narc = custom_target('pl_item_data.narc',
'--pad', '0xFF',
'-i', '@SOURCE_ROOT@/include',
'-i', '@SOURCE_ROOT@/build',
]
],
depends: [ c_consts_generators, ],
)
nitrofs_files += nuts_data_narc
nitrofs_files += pl_item_data_narc
nitrofs_files += pl_item_data_narc

View File

@ -1,12 +1,12 @@
item:skip:constants/items.h:ITEM_
price:u16
holdEffect:u8:consts/items.h:HOLD_EFFECT_
holdEffect:u8:generated/item_hold_effects.h:HOLD_EFFECT_
holdEffectParam:u8
pluckEffect:u8
flingEffect:u8
flingPower:u8
naturalGiftPower:u8
naturalGiftType:u16.5:consts/pokemon.h:TYPE_
naturalGiftType:u16.5:generated/pokemon_types.h:TYPE_
prevent_toss:u16.1:bool
selectable:u16.1:bool
fieldPocket:u16.4:constants/items.h:POCKET_

View File

@ -8,10 +8,7 @@
"special_attack": 92,
"special_defense": 85
},
"types": [
"TYPE_GRASS",
"TYPE_ICE"
],
"types": [ "TYPE_GRASS", "TYPE_ICE" ],
"catch_rate": 60,
"base_exp_reward": 214,
"ev_yields": {
@ -30,21 +27,30 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_MONSTER",
"EGG_GROUP_GRASS"
],
"abilities": [
"ABILITY_SNOW_WARNING",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_WHITE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_MONSTER", "EGG_GROUP_GRASS" ],
"abilities": [ "ABILITY_SNOW_WARNING", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_WHITE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_ICE_PUNCH" ],
[ 1, "MOVE_POWDER_SNOW" ],
[ 1, "MOVE_LEER" ],
[ 1, "MOVE_RAZOR_LEAF" ],
[ 1, "MOVE_ICY_WIND" ],
[ 5, "MOVE_RAZOR_LEAF" ],
[ 9, "MOVE_ICY_WIND" ],
[ 13, "MOVE_GRASS_WHISTLE" ],
[ 17, "MOVE_SWAGGER" ],
[ 21, "MOVE_MIST" ],
[ 26, "MOVE_ICE_SHARD" ],
[ 31, "MOVE_INGRAIN" ],
[ 36, "MOVE_WOOD_HAMMER" ],
[ 47, "MOVE_BLIZZARD" ],
[ 58, "MOVE_SHEER_COLD" ]
],
"by_tm": [
"TM01",
"TM03",
"TM06",
@ -91,26 +97,7 @@
"HM06",
"HM08"
],
"level_up": {
"1": [
"MOVE_ICE_PUNCH",
"MOVE_POWDER_SNOW",
"MOVE_LEER",
"MOVE_RAZOR_LEAF",
"MOVE_ICY_WIND"
],
"5": "MOVE_RAZOR_LEAF",
"9": "MOVE_ICY_WIND",
"13": "MOVE_GRASS_WHISTLE",
"17": "MOVE_SWAGGER",
"21": "MOVE_MIST",
"26": "MOVE_ICE_SHARD",
"31": "MOVE_INGRAIN",
"36": "MOVE_WOOD_HAMMER",
"47": "MOVE_BLIZZARD",
"58": "MOVE_SHEER_COLD"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_ICY_WIND",
"MOVE_ICE_PUNCH",
@ -120,9 +107,10 @@
"MOVE_SEED_BOMB"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 22,
@ -139,11 +127,11 @@
"entry_text": "They appear when the snow flowers\nbloom. When the petals fall, they\nretreat to places unknown again.",
"category": "Frost Tree Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 70,
"rarity": 20,
"unused": 2063
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 105,
"special_defense": 55
},
"types": [
"TYPE_PSYCHIC",
"TYPE_PSYCHIC"
],
"types": [ "TYPE_PSYCHIC", "TYPE_PSYCHIC" ],
"catch_rate": 200,
"base_exp_reward": 75,
"ev_yields": {
@ -30,21 +27,16 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_MEDIUM_SLOW",
"egg_groups": [
"EGG_GROUP_HUMAN_LIKE",
"EGG_GROUP_HUMAN_LIKE"
],
"abilities": [
"ABILITY_SYNCHRONIZE",
"ABILITY_INNER_FOCUS"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BROWN",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_HUMAN_LIKE", "EGG_GROUP_HUMAN_LIKE" ],
"abilities": [ "ABILITY_SYNCHRONIZE", "ABILITY_INNER_FOCUS" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BROWN",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_TELEPORT" ]
],
"by_tm": [
"TM01",
"TM04",
"TM06",
@ -90,10 +82,7 @@
"TM90",
"TM92"
],
"level_up": {
"1": "MOVE_TELEPORT"
},
"tutor": [
"by_tutor": [
"MOVE_THUNDER_PUNCH",
"MOVE_FIRE_PUNCH",
"MOVE_ICE_PUNCH",
@ -106,14 +95,14 @@
},
"evolutions": [
[
"EVO_LEVEL_UP",
"EVO_LEVEL",
16,
"SPECIES_KADABRA"
]
],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 9,
@ -130,11 +119,11 @@
"entry_text": "Using its psychic power is such a\nstrain on its brain that it needs\nto sleep for 18 hours a day.",
"category": "Psi Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_SOUTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 50,
"rarity": 30,
"unused": 2570
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 75,
"special_defense": 60
},
"types": [
"TYPE_DARK",
"TYPE_DARK"
],
"types": [ "TYPE_DARK", "TYPE_DARK" ],
"catch_rate": 30,
"base_exp_reward": 174,
"ev_yields": {
@ -30,21 +27,33 @@
"hatch_cycles": 25,
"base_friendship": 35,
"exp_rate": "EXP_RATE_MEDIUM_SLOW",
"egg_groups": [
"EGG_GROUP_FIELD",
"EGG_GROUP_FIELD"
],
"abilities": [
"ABILITY_PRESSURE",
"ABILITY_SUPER_LUCK"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_WHITE",
"flip_sprite": true
},
"egg_groups": [ "EGG_GROUP_FIELD", "EGG_GROUP_FIELD" ],
"abilities": [ "ABILITY_PRESSURE", "ABILITY_SUPER_LUCK" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_WHITE",
"flip_sprite": true,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_SCRATCH" ],
[ 1, "MOVE_FEINT" ],
[ 4, "MOVE_LEER" ],
[ 9, "MOVE_TAUNT" ],
[ 12, "MOVE_QUICK_ATTACK" ],
[ 17, "MOVE_RAZOR_WIND" ],
[ 20, "MOVE_PURSUIT" ],
[ 25, "MOVE_SWORDS_DANCE" ],
[ 28, "MOVE_BITE" ],
[ 33, "MOVE_DOUBLE_TEAM" ],
[ 36, "MOVE_SLASH" ],
[ 41, "MOVE_FUTURE_SIGHT" ],
[ 44, "MOVE_SUCKER_PUNCH" ],
[ 49, "MOVE_DETECT" ],
[ 52, "MOVE_NIGHT_SLASH" ],
[ 57, "MOVE_ME_FIRST" ],
[ 60, "MOVE_PSYCHO_CUT" ],
[ 65, "MOVE_PERISH_SONG" ]
],
"by_tm": [
"TM03",
"TM04",
"TM06",
@ -102,29 +111,7 @@
"HM04",
"HM06"
],
"level_up": {
"1": [
"MOVE_SCRATCH",
"MOVE_FEINT"
],
"4": "MOVE_LEER",
"9": "MOVE_TAUNT",
"12": "MOVE_QUICK_ATTACK",
"17": "MOVE_RAZOR_WIND",
"20": "MOVE_PURSUIT",
"25": "MOVE_SWORDS_DANCE",
"28": "MOVE_BITE",
"33": "MOVE_DOUBLE_TEAM",
"36": "MOVE_SLASH",
"41": "MOVE_FUTURE_SIGHT",
"44": "MOVE_SUCKER_PUNCH",
"49": "MOVE_DETECT",
"52": "MOVE_NIGHT_SLASH",
"57": "MOVE_ME_FIRST",
"60": "MOVE_PSYCHO_CUT",
"65": "MOVE_PERISH_SONG"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_ICY_WIND",
@ -138,9 +125,10 @@
"MOVE_SWIFT"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 12,
@ -157,11 +145,11 @@
"entry_text": "Rumored to sense disasters with its\nhorn, it became a target. It fled\ndeep into the mountains.",
"category": "Disaster Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 80,
"rarity": 10,
"unused": 4112
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 60,
"special_defense": 75
},
"types": [
"TYPE_ROCK",
"TYPE_FLYING"
],
"types": [ "TYPE_ROCK", "TYPE_FLYING" ],
"catch_rate": 45,
"base_exp_reward": 202,
"ev_yields": {
@ -30,21 +27,31 @@
"hatch_cycles": 35,
"base_friendship": 70,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_FLYING",
"EGG_GROUP_FLYING"
],
"abilities": [
"ABILITY_ROCK_HEAD",
"ABILITY_PRESSURE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_PURPLE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_FLYING", "EGG_GROUP_FLYING" ],
"abilities": [ "ABILITY_ROCK_HEAD", "ABILITY_PRESSURE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_PURPLE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_ICE_FANG" ],
[ 1, "MOVE_FIRE_FANG" ],
[ 1, "MOVE_THUNDER_FANG" ],
[ 1, "MOVE_WING_ATTACK" ],
[ 1, "MOVE_SUPERSONIC" ],
[ 1, "MOVE_BITE" ],
[ 1, "MOVE_SCARY_FACE" ],
[ 9, "MOVE_ROAR" ],
[ 17, "MOVE_AGILITY" ],
[ 25, "MOVE_ANCIENT_POWER" ],
[ 33, "MOVE_CRUNCH" ],
[ 41, "MOVE_TAKE_DOWN" ],
[ 49, "MOVE_IRON_HEAD" ],
[ 57, "MOVE_HYPER_BEAM" ],
[ 65, "MOVE_ROCK_SLIDE" ],
[ 73, "MOVE_GIGA_IMPACT" ]
],
"by_tm": [
"TM02",
"TM05",
"TM06",
@ -90,27 +97,7 @@
"HM05",
"HM06"
],
"level_up": {
"1": [
"MOVE_ICE_FANG",
"MOVE_FIRE_FANG",
"MOVE_THUNDER_FANG",
"MOVE_WING_ATTACK",
"MOVE_SUPERSONIC",
"MOVE_BITE",
"MOVE_SCARY_FACE"
],
"9": "MOVE_ROAR",
"17": "MOVE_AGILITY",
"25": "MOVE_ANCIENT_POWER",
"33": "MOVE_CRUNCH",
"41": "MOVE_TAKE_DOWN",
"49": "MOVE_IRON_HEAD",
"57": "MOVE_HYPER_BEAM",
"65": "MOVE_ROCK_SLIDE",
"73": "MOVE_GIGA_IMPACT"
},
"tutor": [
"by_tutor": [
"MOVE_IRON_HEAD",
"MOVE_AQUA_TAIL",
"MOVE_OMINOUS_WIND",
@ -123,9 +110,10 @@
"MOVE_SWIFT"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 18,
@ -142,11 +130,11 @@
"entry_text": "A Pokémon that roamed the skies\nin the dinosaur era. Its teeth are\nlike saw blades.",
"category": "Fossil Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 70,
"rarity": 20,
"unused": 4363
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 60,
"special_defense": 60
},
"types": [
"TYPE_STEEL",
"TYPE_ROCK"
],
"types": [ "TYPE_STEEL", "TYPE_ROCK" ],
"catch_rate": 45,
"base_exp_reward": 205,
"ev_yields": {
@ -30,21 +27,32 @@
"hatch_cycles": 35,
"base_friendship": 35,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_MONSTER",
"EGG_GROUP_MONSTER"
],
"abilities": [
"ABILITY_STURDY",
"ABILITY_ROCK_HEAD"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_GRAY",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_MONSTER", "EGG_GROUP_MONSTER" ],
"abilities": [ "ABILITY_STURDY", "ABILITY_ROCK_HEAD" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_GRAY",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_TACKLE" ],
[ 1, "MOVE_HARDEN" ],
[ 1, "MOVE_MUD_SLAP" ],
[ 1, "MOVE_HEADBUTT" ],
[ 4, "MOVE_HARDEN" ],
[ 8, "MOVE_MUD_SLAP" ],
[ 11, "MOVE_HEADBUTT" ],
[ 15, "MOVE_METAL_CLAW" ],
[ 18, "MOVE_IRON_DEFENSE" ],
[ 22, "MOVE_ROAR" ],
[ 25, "MOVE_TAKE_DOWN" ],
[ 29, "MOVE_IRON_HEAD" ],
[ 34, "MOVE_PROTECT" ],
[ 40, "MOVE_METAL_SOUND" ],
[ 48, "MOVE_IRON_TAIL" ],
[ 57, "MOVE_DOUBLE_EDGE" ],
[ 65, "MOVE_METAL_BURST" ]
],
"by_tm": [
"TM01",
"TM02",
"TM03",
@ -104,28 +112,7 @@
"HM06",
"HM08"
],
"level_up": {
"1": [
"MOVE_TACKLE",
"MOVE_HARDEN",
"MOVE_MUD_SLAP",
"MOVE_HEADBUTT"
],
"4": "MOVE_HARDEN",
"8": "MOVE_MUD_SLAP",
"11": "MOVE_HEADBUTT",
"15": "MOVE_METAL_CLAW",
"18": "MOVE_IRON_DEFENSE",
"22": "MOVE_ROAR",
"25": "MOVE_TAKE_DOWN",
"29": "MOVE_IRON_HEAD",
"34": "MOVE_PROTECT",
"40": "MOVE_METAL_SOUND",
"48": "MOVE_IRON_TAIL",
"57": "MOVE_DOUBLE_EDGE",
"65": "MOVE_METAL_BURST"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_ICY_WIND",
@ -147,9 +134,10 @@
"MOVE_UPROAR"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_LARGE"
"has": true,
"size": "FOOTPRINT_LARGE"
},
"pokedex_data": {
"height": 21,
@ -166,11 +154,11 @@
"entry_text": "While seeking iron for food, it\ndigs tunnels by breaking through\nbedrock with its steel horns.",
"category": "Iron Armor Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 80,
"rarity": 10,
"unused": 2830
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 40,
"special_defense": 55
},
"types": [
"TYPE_NORMAL",
"TYPE_NORMAL"
],
"types": [ "TYPE_NORMAL", "TYPE_NORMAL" ],
"catch_rate": 45,
"base_exp_reward": 94,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_FAST",
"egg_groups": [
"EGG_GROUP_FIELD",
"EGG_GROUP_FIELD"
],
"abilities": [
"ABILITY_RUN_AWAY",
"ABILITY_PICKUP"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_PURPLE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_FIELD", "EGG_GROUP_FIELD" ],
"abilities": [ "ABILITY_RUN_AWAY", "ABILITY_PICKUP" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_PURPLE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_SCRATCH" ],
[ 1, "MOVE_TAIL_WHIP" ],
[ 4, "MOVE_SAND_ATTACK" ],
[ 8, "MOVE_ASTONISH" ],
[ 11, "MOVE_BATON_PASS" ],
[ 15, "MOVE_TICKLE" ],
[ 18, "MOVE_FURY_SWIPES" ],
[ 22, "MOVE_SWIFT" ],
[ 25, "MOVE_SCREECH" ],
[ 29, "MOVE_AGILITY" ],
[ 32, "MOVE_DOUBLE_HIT" ],
[ 36, "MOVE_FLING" ],
[ 39, "MOVE_NASTY_PLOT" ],
[ 43, "MOVE_LAST_RESORT" ]
],
"by_tm": [
"TM01",
"TM03",
"TM06",
@ -88,25 +93,7 @@
"HM04",
"HM06"
],
"level_up": {
"1": [
"MOVE_SCRATCH",
"MOVE_TAIL_WHIP"
],
"4": "MOVE_SAND_ATTACK",
"8": "MOVE_ASTONISH",
"11": "MOVE_BATON_PASS",
"15": "MOVE_TICKLE",
"18": "MOVE_FURY_SWIPES",
"22": "MOVE_SWIFT",
"25": "MOVE_SCREECH",
"29": "MOVE_AGILITY",
"32": "MOVE_DOUBLE_HIT",
"36": "MOVE_FLING",
"39": "MOVE_NASTY_PLOT",
"43": "MOVE_LAST_RESORT"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_THUNDER_PUNCH",
@ -125,14 +112,14 @@
},
"evolutions": [
[
"EVO_KNOW_MOVE",
"EVO_LEVEL_KNOW_MOVE",
"MOVE_DOUBLE_HIT",
"SPECIES_AMBIPOM"
]
],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 8,
@ -149,11 +136,11 @@
"entry_text": "It lives high among the treetops.\nIt can use its tail as freely and\ncleverly as its hands.",
"category": "Long Tail Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 70,
"rarity": 20,
"unused": 1285
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 135,
"special_defense": 85
},
"types": [
"TYPE_PSYCHIC",
"TYPE_PSYCHIC"
],
"types": [ "TYPE_PSYCHIC", "TYPE_PSYCHIC" ],
"catch_rate": 50,
"base_exp_reward": 186,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_MEDIUM_SLOW",
"egg_groups": [
"EGG_GROUP_HUMAN_LIKE",
"EGG_GROUP_HUMAN_LIKE"
],
"abilities": [
"ABILITY_SYNCHRONIZE",
"ABILITY_INNER_FOCUS"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BROWN",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_HUMAN_LIKE", "EGG_GROUP_HUMAN_LIKE" ],
"abilities": [ "ABILITY_SYNCHRONIZE", "ABILITY_INNER_FOCUS" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BROWN",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_TELEPORT" ],
[ 1, "MOVE_KINESIS" ],
[ 1, "MOVE_CONFUSION" ],
[ 16, "MOVE_CONFUSION" ],
[ 18, "MOVE_DISABLE" ],
[ 22, "MOVE_MIRACLE_EYE" ],
[ 24, "MOVE_PSYBEAM" ],
[ 28, "MOVE_REFLECT" ],
[ 30, "MOVE_RECOVER" ],
[ 34, "MOVE_PSYCHO_CUT" ],
[ 36, "MOVE_CALM_MIND" ],
[ 40, "MOVE_PSYCHIC" ],
[ 42, "MOVE_FUTURE_SIGHT" ],
[ 46, "MOVE_TRICK" ]
],
"by_tm": [
"TM01",
"TM04",
"TM06",
@ -93,25 +98,7 @@
"TM90",
"TM92"
],
"level_up": {
"1": [
"MOVE_TELEPORT",
"MOVE_KINESIS",
"MOVE_CONFUSION"
],
"16": "MOVE_CONFUSION",
"18": "MOVE_DISABLE",
"22": "MOVE_MIRACLE_EYE",
"24": "MOVE_PSYBEAM",
"28": "MOVE_REFLECT",
"30": "MOVE_RECOVER",
"34": "MOVE_PSYCHO_CUT",
"36": "MOVE_CALM_MIND",
"40": "MOVE_PSYCHIC",
"42": "MOVE_FUTURE_SIGHT",
"46": "MOVE_TRICK"
},
"tutor": [
"by_tutor": [
"MOVE_THUNDER_PUNCH",
"MOVE_FIRE_PUNCH",
"MOVE_ICE_PUNCH",
@ -122,9 +109,10 @@
"MOVE_KNOCK_OFF"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 15,
@ -141,11 +129,11 @@
"entry_text": "The spoons clutched in its hands\nare said to have been created by\nits psychic powers.",
"category": "Psi Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_SOUTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 90,
"rarity": 3,
"unused": 2570
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 70,
"special_defense": 105
},
"types": [
"TYPE_DRAGON",
"TYPE_FLYING"
],
"types": [ "TYPE_DRAGON", "TYPE_FLYING" ],
"catch_rate": 45,
"base_exp_reward": 188,
"ev_yields": {
@ -30,21 +27,33 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_ERRATIC",
"egg_groups": [
"EGG_GROUP_FLYING",
"EGG_GROUP_DRAGON"
],
"abilities": [
"ABILITY_NATURAL_CURE",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BLUE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_FLYING", "EGG_GROUP_DRAGON" ],
"abilities": [ "ABILITY_NATURAL_CURE", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BLUE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_PLUCK" ],
[ 1, "MOVE_PECK" ],
[ 1, "MOVE_GROWL" ],
[ 1, "MOVE_ASTONISH" ],
[ 1, "MOVE_SING" ],
[ 5, "MOVE_ASTONISH" ],
[ 9, "MOVE_SING" ],
[ 13, "MOVE_FURY_ATTACK" ],
[ 18, "MOVE_SAFEGUARD" ],
[ 23, "MOVE_MIST" ],
[ 28, "MOVE_TAKE_DOWN" ],
[ 32, "MOVE_NATURAL_GIFT" ],
[ 35, "MOVE_DRAGON_BREATH" ],
[ 39, "MOVE_DRAGON_DANCE" ],
[ 46, "MOVE_REFRESH" ],
[ 54, "MOVE_DRAGON_PULSE" ],
[ 62, "MOVE_PERISH_SONG" ],
[ 70, "MOVE_SKY_ATTACK" ]
],
"by_tm": [
"TM02",
"TM05",
"TM06",
@ -85,29 +94,7 @@
"HM02",
"HM06"
],
"level_up": {
"1": [
"MOVE_PLUCK",
"MOVE_PECK",
"MOVE_GROWL",
"MOVE_ASTONISH",
"MOVE_SING"
],
"5": "MOVE_ASTONISH",
"9": "MOVE_SING",
"13": "MOVE_FURY_ATTACK",
"18": "MOVE_SAFEGUARD",
"23": "MOVE_MIST",
"28": "MOVE_TAKE_DOWN",
"32": "MOVE_NATURAL_GIFT",
"35": "MOVE_DRAGON_BREATH",
"39": "MOVE_DRAGON_DANCE",
"46": "MOVE_REFRESH",
"54": "MOVE_DRAGON_PULSE",
"62": "MOVE_PERISH_SONG",
"70": "MOVE_SKY_ATTACK"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_OMINOUS_WIND",
"MOVE_SNORE",
@ -119,9 +106,10 @@
"MOVE_UPROAR"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_LARGE"
"has": true,
"size": "FOOTPRINT_LARGE"
},
"pokedex_data": {
"height": 11,
@ -138,11 +126,11 @@
"entry_text": "If it bonds with a person, it will\ngently envelop the friend with its\nsoft wings, then hum.",
"category": "Humming Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_SOUTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 80,
"rarity": 10,
"unused": 4367
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 60,
"special_defense": 66
},
"types": [
"TYPE_NORMAL",
"TYPE_NORMAL"
],
"types": [ "TYPE_NORMAL", "TYPE_NORMAL" ],
"catch_rate": 45,
"base_exp_reward": 186,
"ev_yields": {
@ -30,21 +27,31 @@
"hatch_cycles": 20,
"base_friendship": 100,
"exp_rate": "EXP_RATE_FAST",
"egg_groups": [
"EGG_GROUP_FIELD",
"EGG_GROUP_FIELD"
],
"abilities": [
"ABILITY_TECHNICIAN",
"ABILITY_PICKUP"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_PURPLE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_FIELD", "EGG_GROUP_FIELD" ],
"abilities": [ "ABILITY_TECHNICIAN", "ABILITY_PICKUP" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_PURPLE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_SCRATCH" ],
[ 1, "MOVE_TAIL_WHIP" ],
[ 1, "MOVE_SAND_ATTACK" ],
[ 1, "MOVE_ASTONISH" ],
[ 4, "MOVE_SAND_ATTACK" ],
[ 8, "MOVE_ASTONISH" ],
[ 11, "MOVE_BATON_PASS" ],
[ 15, "MOVE_TICKLE" ],
[ 18, "MOVE_FURY_SWIPES" ],
[ 22, "MOVE_SWIFT" ],
[ 25, "MOVE_SCREECH" ],
[ 29, "MOVE_AGILITY" ],
[ 32, "MOVE_DOUBLE_HIT" ],
[ 36, "MOVE_FLING" ],
[ 39, "MOVE_NASTY_PLOT" ],
[ 43, "MOVE_LAST_RESORT" ]
],
"by_tm": [
"TM01",
"TM03",
"TM06",
@ -90,27 +97,7 @@
"HM04",
"HM06"
],
"level_up": {
"1": [
"MOVE_SCRATCH",
"MOVE_TAIL_WHIP",
"MOVE_SAND_ATTACK",
"MOVE_ASTONISH"
],
"4": "MOVE_SAND_ATTACK",
"8": "MOVE_ASTONISH",
"11": "MOVE_BATON_PASS",
"15": "MOVE_TICKLE",
"18": "MOVE_FURY_SWIPES",
"22": "MOVE_SWIFT",
"25": "MOVE_SCREECH",
"29": "MOVE_AGILITY",
"32": "MOVE_DOUBLE_HIT",
"36": "MOVE_FLING",
"39": "MOVE_NASTY_PLOT",
"43": "MOVE_LAST_RESORT"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_THUNDER_PUNCH",
@ -127,9 +114,10 @@
"MOVE_UPROAR"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 12,
@ -146,11 +134,11 @@
"entry_text": "Split into two, the tails are so\nadept at handling and doing things,\nAMBIPOM rarely uses its hands.",
"category": "Long Tail Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NONE",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NORTH_EAST",
"catching_points": 50,
"rarity": 30,
"unused": 771
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 115,
"special_defense": 90
},
"types": [
"TYPE_ELECTRIC",
"TYPE_ELECTRIC"
],
"types": [ "TYPE_ELECTRIC", "TYPE_ELECTRIC" ],
"catch_rate": 45,
"base_exp_reward": 194,
"ev_yields": {
@ -30,21 +27,31 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_MEDIUM_SLOW",
"egg_groups": [
"EGG_GROUP_MONSTER",
"EGG_GROUP_FIELD"
],
"abilities": [
"ABILITY_STATIC",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_YELLOW",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_MONSTER", "EGG_GROUP_FIELD" ],
"abilities": [ "ABILITY_STATIC", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_YELLOW",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_FIRE_PUNCH" ],
[ 1, "MOVE_TACKLE" ],
[ 1, "MOVE_GROWL" ],
[ 1, "MOVE_THUNDER_SHOCK" ],
[ 1, "MOVE_THUNDER_WAVE" ],
[ 5, "MOVE_GROWL" ],
[ 10, "MOVE_THUNDER_SHOCK" ],
[ 14, "MOVE_THUNDER_WAVE" ],
[ 20, "MOVE_COTTON_SPORE" ],
[ 25, "MOVE_CHARGE" ],
[ 30, "MOVE_THUNDER_PUNCH" ],
[ 34, "MOVE_DISCHARGE" ],
[ 42, "MOVE_SIGNAL_BEAM" ],
[ 51, "MOVE_LIGHT_SCREEN" ],
[ 59, "MOVE_POWER_GEM" ],
[ 68, "MOVE_THUNDER" ]
],
"by_tm": [
"TM01",
"TM06",
"TM10",
@ -80,27 +87,7 @@
"HM06",
"HM08"
],
"level_up": {
"1": [
"MOVE_FIRE_PUNCH",
"MOVE_TACKLE",
"MOVE_GROWL",
"MOVE_THUNDER_SHOCK",
"MOVE_THUNDER_WAVE"
],
"5": "MOVE_GROWL",
"10": "MOVE_THUNDER_SHOCK",
"14": "MOVE_THUNDER_WAVE",
"20": "MOVE_COTTON_SPORE",
"25": "MOVE_CHARGE",
"30": "MOVE_THUNDER_PUNCH",
"34": "MOVE_DISCHARGE",
"42": "MOVE_SIGNAL_BEAM",
"51": "MOVE_LIGHT_SCREEN",
"59": "MOVE_POWER_GEM",
"68": "MOVE_THUNDER"
},
"tutor": [
"by_tutor": [
"MOVE_THUNDER_PUNCH",
"MOVE_FIRE_PUNCH",
"MOVE_SNORE",
@ -110,9 +97,10 @@
"MOVE_SWIFT"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 14,
@ -129,11 +117,11 @@
"entry_text": "The tip of its tail shines brightly.\nIn the olden days, people sent\nsignals using the tails light.",
"category": "Light Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_SOUTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 80,
"rarity": 10,
"unused": 1799
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 40,
"special_defense": 50
},
"types": [
"TYPE_ROCK",
"TYPE_BUG"
],
"types": [ "TYPE_ROCK", "TYPE_BUG" ],
"catch_rate": 45,
"base_exp_reward": 99,
"ev_yields": {
@ -30,21 +27,27 @@
"hatch_cycles": 30,
"base_friendship": 70,
"exp_rate": "EXP_RATE_ERRATIC",
"egg_groups": [
"EGG_GROUP_WATER_3",
"EGG_GROUP_WATER_3"
],
"abilities": [
"ABILITY_BATTLE_ARMOR",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_GRAY",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_WATER_3", "EGG_GROUP_WATER_3" ],
"abilities": [ "ABILITY_BATTLE_ARMOR", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_GRAY",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_SCRATCH" ],
[ 1, "MOVE_HARDEN" ],
[ 7, "MOVE_MUD_SPORT" ],
[ 13, "MOVE_WATER_GUN" ],
[ 19, "MOVE_METAL_CLAW" ],
[ 25, "MOVE_PROTECT" ],
[ 31, "MOVE_ANCIENT_POWER" ],
[ 37, "MOVE_FURY_CUTTER" ],
[ 43, "MOVE_SLASH" ],
[ 49, "MOVE_ROCK_BLAST" ],
[ 55, "MOVE_CRUSH_CLAW" ],
[ 61, "MOVE_X_SCISSOR" ]
],
"by_tm": [
"TM03",
"TM06",
"TM10",
@ -77,23 +80,7 @@
"HM01",
"HM06"
],
"level_up": {
"1": [
"MOVE_SCRATCH",
"MOVE_HARDEN"
],
"7": "MOVE_MUD_SPORT",
"13": "MOVE_WATER_GUN",
"19": "MOVE_METAL_CLAW",
"25": "MOVE_PROTECT",
"31": "MOVE_ANCIENT_POWER",
"37": "MOVE_FURY_CUTTER",
"43": "MOVE_SLASH",
"49": "MOVE_ROCK_BLAST",
"55": "MOVE_CRUSH_CLAW",
"61": "MOVE_X_SCISSOR"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_SNORE",
@ -105,14 +92,14 @@
},
"evolutions": [
[
"EVO_LEVEL_UP",
"EVO_LEVEL",
40,
"SPECIES_ARMALDO"
]
],
"footprint": {
"has_footprint": false,
"footprint_size": "FOOTPRINT_LARGE"
"has": false,
"size": "FOOTPRINT_LARGE"
},
"pokedex_data": {
"height": 7,
@ -129,11 +116,11 @@
"entry_text": "A Pokémon ancestor that was\nreanimated from a fossil. It lived\nin the sea and hunted with claws.",
"category": "Old Shrimp Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NONE",
"pal_park_water_area": "PAL_PARK_AREA_WATER_SOUTH_EAST",
"catching_points": 70,
"rarity": 20,
"unused": 1035
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 65,
"special_defense": 79
},
"types": [
"TYPE_POISON",
"TYPE_POISON"
],
"types": [ "TYPE_POISON", "TYPE_POISON" ],
"catch_rate": 90,
"base_exp_reward": 147,
"ev_yields": {
@ -30,21 +27,35 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_MEDIUM_FAST",
"egg_groups": [
"EGG_GROUP_FIELD",
"EGG_GROUP_DRAGON"
],
"abilities": [
"ABILITY_INTIMIDATE",
"ABILITY_SHED_SKIN"
],
"great_marsh_flee_rate": 60,
"sprite": {
"color": "MON_COLOR_PURPLE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_FIELD", "EGG_GROUP_DRAGON" ],
"abilities": [ "ABILITY_INTIMIDATE", "ABILITY_SHED_SKIN" ],
"safari_flee_rate": 60,
"body_color": "MON_COLOR_PURPLE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_ICE_FANG" ],
[ 1, "MOVE_THUNDER_FANG" ],
[ 1, "MOVE_FIRE_FANG" ],
[ 1, "MOVE_WRAP" ],
[ 1, "MOVE_LEER" ],
[ 1, "MOVE_POISON_STING" ],
[ 1, "MOVE_BITE" ],
[ 4, "MOVE_POISON_STING" ],
[ 9, "MOVE_BITE" ],
[ 12, "MOVE_GLARE" ],
[ 17, "MOVE_SCREECH" ],
[ 20, "MOVE_ACID" ],
[ 22, "MOVE_CRUNCH" ],
[ 28, "MOVE_STOCKPILE" ],
[ 28, "MOVE_SWALLOW" ],
[ 28, "MOVE_SPIT_UP" ],
[ 34, "MOVE_MUD_BOMB" ],
[ 42, "MOVE_GASTRO_ACID" ],
[ 48, "MOVE_HAZE" ],
[ 56, "MOVE_GUNK_SHOT" ]
],
"by_tm": [
"TM06",
"TM10",
"TM11",
@ -80,33 +91,7 @@
"TM90",
"HM04"
],
"level_up": {
"1": [
"MOVE_ICE_FANG",
"MOVE_THUNDER_FANG",
"MOVE_FIRE_FANG",
"MOVE_WRAP",
"MOVE_LEER",
"MOVE_POISON_STING",
"MOVE_BITE"
],
"4": "MOVE_POISON_STING",
"9": "MOVE_BITE",
"12": "MOVE_GLARE",
"17": "MOVE_SCREECH",
"20": "MOVE_ACID",
"22": "MOVE_CRUNCH",
"28": [
"MOVE_STOCKPILE",
"MOVE_SWALLOW",
"MOVE_SPIT_UP"
],
"34": "MOVE_MUD_BOMB",
"42": "MOVE_GASTRO_ACID",
"48": "MOVE_HAZE",
"56": "MOVE_GUNK_SHOT"
},
"tutor": [
"by_tutor": [
"MOVE_AQUA_TAIL",
"MOVE_GASTRO_ACID",
"MOVE_SNORE",
@ -115,9 +100,10 @@
"MOVE_SEED_BOMB"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": false,
"footprint_size": "FOOTPRINT_LARGE"
"has": false,
"size": "FOOTPRINT_LARGE"
},
"pokedex_data": {
"height": 35,
@ -134,11 +120,11 @@
"entry_text": "The pattern on its belly is for\nintimidation. It constricts foes\nwhile they are frozen in fear.",
"category": "Cobra Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 50,
"rarity": 30,
"unused": 1542
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 100,
"special_defense": 80
},
"types": [
"TYPE_FIRE",
"TYPE_FIRE"
],
"types": [ "TYPE_FIRE", "TYPE_FIRE" ],
"catch_rate": 75,
"base_exp_reward": 213,
"ev_yields": {
@ -30,21 +27,21 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_FIELD",
"EGG_GROUP_FIELD"
],
"abilities": [
"ABILITY_INTIMIDATE",
"ABILITY_FLASH_FIRE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BROWN",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_FIELD", "EGG_GROUP_FIELD" ],
"abilities": [ "ABILITY_INTIMIDATE", "ABILITY_FLASH_FIRE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BROWN",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_THUNDER_FANG" ],
[ 1, "MOVE_BITE" ],
[ 1, "MOVE_ROAR" ],
[ 1, "MOVE_FIRE_FANG" ],
[ 1, "MOVE_ODOR_SLEUTH" ],
[ 39, "MOVE_EXTREME_SPEED" ]
],
"by_tm": [
"TM05",
"TM06",
"TM10",
@ -79,17 +76,7 @@
"HM06",
"HM08"
],
"level_up": {
"1": [
"MOVE_THUNDER_FANG",
"MOVE_BITE",
"MOVE_ROAR",
"MOVE_FIRE_FANG",
"MOVE_ODOR_SLEUTH"
],
"39": "MOVE_EXTREME_SPEED"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_IRON_HEAD",
"MOVE_SNORE",
@ -98,9 +85,10 @@
"MOVE_SWIFT"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_LARGE"
"has": true,
"size": "FOOTPRINT_LARGE"
},
"pokedex_data": {
"height": 19,
@ -117,11 +105,11 @@
"entry_text": "Its proud and regal appearance\nhas captured the hearts of\npeople since long ago.",
"category": "Legendary Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_SOUTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 80,
"rarity": 10,
"unused": 514
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 120,
"special_defense": 120
},
"types": [
"TYPE_NORMAL",
"TYPE_NORMAL"
],
"types": [ "TYPE_NORMAL", "TYPE_NORMAL" ],
"catch_rate": 3,
"base_exp_reward": 255,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 120,
"base_friendship": 0,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_UNDISCOVERED",
"EGG_GROUP_UNDISCOVERED"
],
"abilities": [
"ABILITY_MULTITYPE",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_GRAY",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_UNDISCOVERED", "EGG_GROUP_UNDISCOVERED" ],
"abilities": [ "ABILITY_MULTITYPE", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_GRAY",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_SEISMIC_TOSS" ],
[ 1, "MOVE_COSMIC_POWER" ],
[ 1, "MOVE_NATURAL_GIFT" ],
[ 1, "MOVE_PUNISHMENT" ],
[ 10, "MOVE_GRAVITY" ],
[ 20, "MOVE_EARTH_POWER" ],
[ 30, "MOVE_HYPER_VOICE" ],
[ 40, "MOVE_EXTREME_SPEED" ],
[ 50, "MOVE_REFRESH" ],
[ 60, "MOVE_FUTURE_SIGHT" ],
[ 70, "MOVE_RECOVER" ],
[ 80, "MOVE_HYPER_BEAM" ],
[ 90, "MOVE_PERISH_SONG" ],
[ 100, "MOVE_JUDGMENT" ]
],
"by_tm": [
"TM02",
"TM03",
"TM04",
@ -125,25 +130,7 @@
"HM07",
"HM08"
],
"level_up": {
"1": [
"MOVE_SEISMIC_TOSS",
"MOVE_COSMIC_POWER",
"MOVE_NATURAL_GIFT",
"MOVE_PUNISHMENT"
],
"10": "MOVE_GRAVITY",
"20": "MOVE_EARTH_POWER",
"30": "MOVE_HYPER_VOICE",
"40": "MOVE_EXTREME_SPEED",
"50": "MOVE_REFRESH",
"60": "MOVE_FUTURE_SIGHT",
"70": "MOVE_RECOVER",
"80": "MOVE_HYPER_BEAM",
"90": "MOVE_PERISH_SONG",
"100": "MOVE_JUDGMENT"
},
"tutor": [
"by_tutor": [
"MOVE_DIVE",
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
@ -165,9 +152,10 @@
"MOVE_SWIFT"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_SMALL"
"has": true,
"size": "FOOTPRINT_SMALL"
},
"pokedex_data": {
"height": 32,
@ -184,11 +172,11 @@
"entry_text": "It is said to have emerged from an\negg in a place where there was\nnothing, then shaped the world.",
"category": "Alpha Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 100,
"rarity": 1,
"unused": 1285
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 60,
"special_defense": 60
},
"types": [
"TYPE_BUG",
"TYPE_POISON"
],
"types": [ "TYPE_BUG", "TYPE_POISON" ],
"catch_rate": 90,
"base_exp_reward": 134,
"ev_yields": {
@ -30,21 +27,32 @@
"hatch_cycles": 15,
"base_friendship": 70,
"exp_rate": "EXP_RATE_FAST",
"egg_groups": [
"EGG_GROUP_BUG",
"EGG_GROUP_BUG"
],
"abilities": [
"ABILITY_SWARM",
"ABILITY_INSOMNIA"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_RED",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_BUG", "EGG_GROUP_BUG" ],
"abilities": [ "ABILITY_SWARM", "ABILITY_INSOMNIA" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_RED",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_BUG_BITE" ],
[ 1, "MOVE_POISON_STING" ],
[ 1, "MOVE_STRING_SHOT" ],
[ 1, "MOVE_SCARY_FACE" ],
[ 1, "MOVE_CONSTRICT" ],
[ 5, "MOVE_SCARY_FACE" ],
[ 8, "MOVE_CONSTRICT" ],
[ 12, "MOVE_LEECH_LIFE" ],
[ 15, "MOVE_NIGHT_SHADE" ],
[ 19, "MOVE_SHADOW_SNEAK" ],
[ 23, "MOVE_FURY_SWIPES" ],
[ 28, "MOVE_SUCKER_PUNCH" ],
[ 32, "MOVE_SPIDER_WEB" ],
[ 37, "MOVE_AGILITY" ],
[ 41, "MOVE_PIN_MISSILE" ],
[ 46, "MOVE_PSYCHIC" ],
[ 50, "MOVE_POISON_JAB" ]
],
"by_tm": [
"TM06",
"TM10",
"TM11",
@ -73,36 +81,16 @@
"TM87",
"TM90"
],
"level_up": {
"1": [
"MOVE_BUG_BITE",
"MOVE_POISON_STING",
"MOVE_STRING_SHOT",
"MOVE_SCARY_FACE",
"MOVE_CONSTRICT"
],
"5": "MOVE_SCARY_FACE",
"8": "MOVE_CONSTRICT",
"12": "MOVE_LEECH_LIFE",
"15": "MOVE_NIGHT_SHADE",
"19": "MOVE_SHADOW_SNEAK",
"23": "MOVE_FURY_SWIPES",
"28": "MOVE_SUCKER_PUNCH",
"32": "MOVE_SPIDER_WEB",
"37": "MOVE_AGILITY",
"41": "MOVE_PIN_MISSILE",
"46": "MOVE_PSYCHIC",
"50": "MOVE_POISON_JAB"
},
"tutor": [
"by_tutor": [
"MOVE_SIGNAL_BEAM",
"MOVE_BOUNCE",
"MOVE_SUCKER_PUNCH"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_SMALL"
"has": true,
"size": "FOOTPRINT_SMALL"
},
"pokedex_data": {
"height": 11,
@ -119,11 +107,11 @@
"entry_text": "It attaches silk to its prey and\nsets it free. Later, it tracks the\nsilk to the prey and its friends.",
"category": "Long Leg Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_SOUTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 50,
"rarity": 30,
"unused": 1540
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 70,
"special_defense": 80
},
"types": [
"TYPE_ROCK",
"TYPE_BUG"
],
"types": [ "TYPE_ROCK", "TYPE_BUG" ],
"catch_rate": 45,
"base_exp_reward": 199,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 30,
"base_friendship": 70,
"exp_rate": "EXP_RATE_ERRATIC",
"egg_groups": [
"EGG_GROUP_WATER_3",
"EGG_GROUP_WATER_3"
],
"abilities": [
"ABILITY_BATTLE_ARMOR",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_GRAY",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_WATER_3", "EGG_GROUP_WATER_3" ],
"abilities": [ "ABILITY_BATTLE_ARMOR", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_GRAY",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_SCRATCH" ],
[ 1, "MOVE_HARDEN" ],
[ 1, "MOVE_MUD_SPORT" ],
[ 1, "MOVE_WATER_GUN" ],
[ 7, "MOVE_MUD_SPORT" ],
[ 13, "MOVE_WATER_GUN" ],
[ 19, "MOVE_METAL_CLAW" ],
[ 25, "MOVE_PROTECT" ],
[ 31, "MOVE_ANCIENT_POWER" ],
[ 37, "MOVE_FURY_CUTTER" ],
[ 46, "MOVE_SLASH" ],
[ 55, "MOVE_ROCK_BLAST" ],
[ 67, "MOVE_CRUSH_CLAW" ],
[ 73, "MOVE_X_SCISSOR" ]
],
"by_tm": [
"TM03",
"TM06",
"TM10",
@ -84,25 +89,7 @@
"HM04",
"HM06"
],
"level_up": {
"1": [
"MOVE_SCRATCH",
"MOVE_HARDEN",
"MOVE_MUD_SPORT",
"MOVE_WATER_GUN"
],
"7": "MOVE_MUD_SPORT",
"13": "MOVE_WATER_GUN",
"19": "MOVE_METAL_CLAW",
"25": "MOVE_PROTECT",
"31": "MOVE_ANCIENT_POWER",
"37": "MOVE_FURY_CUTTER",
"46": "MOVE_SLASH",
"55": "MOVE_ROCK_BLAST",
"67": "MOVE_CRUSH_CLAW",
"73": "MOVE_X_SCISSOR"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_SUPERPOWER",
@ -114,9 +101,10 @@
"MOVE_KNOCK_OFF"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 15,
@ -133,11 +121,11 @@
"entry_text": "It went ashore after evolving.\nIts entire body is clad in a sturdy\narmor.",
"category": "Plate Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NONE",
"pal_park_water_area": "PAL_PARK_AREA_WATER_SOUTH_EAST",
"catching_points": 80,
"rarity": 10,
"unused": 1035
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 40,
"special_defense": 40
},
"types": [
"TYPE_STEEL",
"TYPE_ROCK"
],
"types": [ "TYPE_STEEL", "TYPE_ROCK" ],
"catch_rate": 180,
"base_exp_reward": 96,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 35,
"base_friendship": 35,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_MONSTER",
"EGG_GROUP_MONSTER"
],
"abilities": [
"ABILITY_STURDY",
"ABILITY_ROCK_HEAD"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_GRAY",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_MONSTER", "EGG_GROUP_MONSTER" ],
"abilities": [ "ABILITY_STURDY", "ABILITY_ROCK_HEAD" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_GRAY",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_TACKLE" ],
[ 4, "MOVE_HARDEN" ],
[ 8, "MOVE_MUD_SLAP" ],
[ 11, "MOVE_HEADBUTT" ],
[ 15, "MOVE_METAL_CLAW" ],
[ 18, "MOVE_IRON_DEFENSE" ],
[ 22, "MOVE_ROAR" ],
[ 25, "MOVE_TAKE_DOWN" ],
[ 29, "MOVE_IRON_HEAD" ],
[ 32, "MOVE_PROTECT" ],
[ 36, "MOVE_METAL_SOUND" ],
[ 39, "MOVE_IRON_TAIL" ],
[ 43, "MOVE_DOUBLE_EDGE" ],
[ 46, "MOVE_METAL_BURST" ]
],
"by_tm": [
"TM03",
"TM05",
"TM06",
@ -80,23 +85,7 @@
"HM04",
"HM06"
],
"level_up": {
"1": "MOVE_TACKLE",
"4": "MOVE_HARDEN",
"8": "MOVE_MUD_SLAP",
"11": "MOVE_HEADBUTT",
"15": "MOVE_METAL_CLAW",
"18": "MOVE_IRON_DEFENSE",
"22": "MOVE_ROAR",
"25": "MOVE_TAKE_DOWN",
"29": "MOVE_IRON_HEAD",
"32": "MOVE_PROTECT",
"36": "MOVE_METAL_SOUND",
"39": "MOVE_IRON_TAIL",
"43": "MOVE_DOUBLE_EDGE",
"46": "MOVE_METAL_BURST"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_ROLLOUT",
@ -114,14 +103,14 @@
},
"evolutions": [
[
"EVO_LEVEL_UP",
"EVO_LEVEL",
32,
"SPECIES_LAIRON"
]
],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 4,
@ -138,11 +127,11 @@
"entry_text": "It usually lives deep in mountains.\nHowever, hunger may drive it to\neat railroad tracks and cars.",
"category": "Iron Armor Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 50,
"rarity": 30,
"unused": 2830
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 95,
"special_defense": 125
},
"types": [
"TYPE_ICE",
"TYPE_FLYING"
],
"types": [ "TYPE_ICE", "TYPE_FLYING" ],
"catch_rate": 3,
"base_exp_reward": 215,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 80,
"base_friendship": 35,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_UNDISCOVERED",
"EGG_GROUP_UNDISCOVERED"
],
"abilities": [
"ABILITY_PRESSURE",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BLUE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_UNDISCOVERED", "EGG_GROUP_UNDISCOVERED" ],
"abilities": [ "ABILITY_PRESSURE", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BLUE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_GUST" ],
[ 1, "MOVE_POWDER_SNOW" ],
[ 8, "MOVE_MIST" ],
[ 15, "MOVE_ICE_SHARD" ],
[ 22, "MOVE_MIND_READER" ],
[ 29, "MOVE_ANCIENT_POWER" ],
[ 36, "MOVE_AGILITY" ],
[ 43, "MOVE_ICE_BEAM" ],
[ 50, "MOVE_REFLECT" ],
[ 57, "MOVE_ROOST" ],
[ 64, "MOVE_TAILWIND" ],
[ 71, "MOVE_BLIZZARD" ],
[ 78, "MOVE_SHEER_COLD" ],
[ 85, "MOVE_HAIL" ]
],
"by_tm": [
"TM03",
"TM05",
"TM06",
@ -80,25 +85,7 @@
"HM05",
"HM06"
],
"level_up": {
"1": [
"MOVE_GUST",
"MOVE_POWDER_SNOW"
],
"8": "MOVE_MIST",
"15": "MOVE_ICE_SHARD",
"22": "MOVE_MIND_READER",
"29": "MOVE_ANCIENT_POWER",
"36": "MOVE_AGILITY",
"43": "MOVE_ICE_BEAM",
"50": "MOVE_REFLECT",
"57": "MOVE_ROOST",
"64": "MOVE_TAILWIND",
"71": "MOVE_BLIZZARD",
"78": "MOVE_SHEER_COLD",
"85": "MOVE_HAIL"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_ICY_WIND",
"MOVE_OMINOUS_WIND",
@ -110,9 +97,10 @@
"MOVE_SWIFT"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 17,
@ -129,11 +117,11 @@
"entry_text": "A legendary bird Pokémon.\nIt can create blizzards by\nfreezing moisture in the air.",
"category": "Freeze Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 90,
"rarity": 3,
"unused": 4365
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 125,
"special_defense": 70
},
"types": [
"TYPE_PSYCHIC",
"TYPE_PSYCHIC"
],
"types": [ "TYPE_PSYCHIC", "TYPE_PSYCHIC" ],
"catch_rate": 3,
"base_exp_reward": 210,
"ev_yields": {
@ -30,21 +27,27 @@
"hatch_cycles": 80,
"base_friendship": 140,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_UNDISCOVERED",
"EGG_GROUP_UNDISCOVERED"
],
"abilities": [
"ABILITY_LEVITATE",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BLUE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_UNDISCOVERED", "EGG_GROUP_UNDISCOVERED" ],
"abilities": [ "ABILITY_LEVITATE", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BLUE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_REST" ],
[ 1, "MOVE_CONFUSION" ],
[ 6, "MOVE_IMPRISON" ],
[ 16, "MOVE_DETECT" ],
[ 21, "MOVE_SWIFT" ],
[ 31, "MOVE_UPROAR" ],
[ 36, "MOVE_FUTURE_SIGHT" ],
[ 46, "MOVE_NASTY_PLOT" ],
[ 51, "MOVE_EXTRASENSORY" ],
[ 61, "MOVE_LAST_RESORT" ],
[ 66, "MOVE_NATURAL_GIFT" ],
[ 76, "MOVE_EXPLOSION" ]
],
"by_tm": [
"TM03",
"TM04",
"TM06",
@ -95,23 +98,7 @@
"TM90",
"TM92"
],
"level_up": {
"1": [
"MOVE_REST",
"MOVE_CONFUSION"
],
"6": "MOVE_IMPRISON",
"16": "MOVE_DETECT",
"21": "MOVE_SWIFT",
"31": "MOVE_UPROAR",
"36": "MOVE_FUTURE_SIGHT",
"46": "MOVE_NASTY_PLOT",
"51": "MOVE_EXTRASENSORY",
"61": "MOVE_LAST_RESORT",
"66": "MOVE_NATURAL_GIFT",
"76": "MOVE_EXPLOSION"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_THUNDER_PUNCH",
"MOVE_FIRE_PUNCH",
@ -127,9 +114,10 @@
"MOVE_UPROAR"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_SMALL"
"has": true,
"size": "FOOTPRINT_SMALL"
},
"pokedex_data": {
"height": 3,
@ -146,11 +134,11 @@
"entry_text": "When AZELF flew, people gained the\ndetermination to do things.\nIt was the birth of willpower.",
"category": "Willpower Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_SOUTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 90,
"rarity": 3,
"unused": 1285
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 50,
"special_defense": 80
},
"types": [
"TYPE_WATER",
"TYPE_WATER"
],
"types": [ "TYPE_WATER", "TYPE_WATER" ],
"catch_rate": 75,
"base_exp_reward": 153,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 10,
"base_friendship": 70,
"exp_rate": "EXP_RATE_FAST",
"egg_groups": [
"EGG_GROUP_WATER_1",
"EGG_GROUP_FAIRY"
],
"abilities": [
"ABILITY_THICK_FAT",
"ABILITY_HUGE_POWER"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BLUE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_WATER_1", "EGG_GROUP_FAIRY" ],
"abilities": [ "ABILITY_THICK_FAT", "ABILITY_HUGE_POWER" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BLUE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_TACKLE" ],
[ 1, "MOVE_DEFENSE_CURL" ],
[ 1, "MOVE_TAIL_WHIP" ],
[ 1, "MOVE_WATER_GUN" ],
[ 2, "MOVE_DEFENSE_CURL" ],
[ 7, "MOVE_TAIL_WHIP" ],
[ 10, "MOVE_WATER_GUN" ],
[ 15, "MOVE_ROLLOUT" ],
[ 20, "MOVE_BUBBLE_BEAM" ],
[ 27, "MOVE_AQUA_RING" ],
[ 33, "MOVE_DOUBLE_EDGE" ],
[ 40, "MOVE_RAIN_DANCE" ],
[ 47, "MOVE_AQUA_TAIL" ],
[ 54, "MOVE_HYDRO_PUMP" ]
],
"by_tm": [
"TM01",
"TM03",
"TM06",
@ -80,25 +85,7 @@
"HM06",
"HM07"
],
"level_up": {
"1": [
"MOVE_TACKLE",
"MOVE_DEFENSE_CURL",
"MOVE_TAIL_WHIP",
"MOVE_WATER_GUN"
],
"2": "MOVE_DEFENSE_CURL",
"7": "MOVE_TAIL_WHIP",
"10": "MOVE_WATER_GUN",
"15": "MOVE_ROLLOUT",
"20": "MOVE_BUBBLE_BEAM",
"27": "MOVE_AQUA_RING",
"33": "MOVE_DOUBLE_EDGE",
"40": "MOVE_RAIN_DANCE",
"47": "MOVE_AQUA_TAIL",
"54": "MOVE_HYDRO_PUMP"
},
"tutor": [
"by_tutor": [
"MOVE_DIVE",
"MOVE_MUD_SLAP",
"MOVE_ICY_WIND",
@ -112,9 +99,10 @@
"MOVE_SWIFT"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 8,
@ -131,11 +119,11 @@
"entry_text": "It can spend all day in water,\nsince it can inhale and store\na large volume of air.",
"category": "Aqua Rabbit Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NONE",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NORTH_EAST",
"catching_points": 70,
"rarity": 20,
"unused": 771
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 20,
"special_defense": 40
},
"types": [
"TYPE_NORMAL",
"TYPE_NORMAL"
],
"types": [ "TYPE_NORMAL", "TYPE_NORMAL" ],
"catch_rate": 150,
"base_exp_reward": 33,
"ev_yields": {
@ -30,21 +27,21 @@
"hatch_cycles": 10,
"base_friendship": 70,
"exp_rate": "EXP_RATE_FAST",
"egg_groups": [
"EGG_GROUP_UNDISCOVERED",
"EGG_GROUP_UNDISCOVERED"
],
"abilities": [
"ABILITY_THICK_FAT",
"ABILITY_HUGE_POWER"
],
"great_marsh_flee_rate": 120,
"sprite": {
"color": "MON_COLOR_BLUE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_UNDISCOVERED", "EGG_GROUP_UNDISCOVERED" ],
"abilities": [ "ABILITY_THICK_FAT", "ABILITY_HUGE_POWER" ],
"safari_flee_rate": 120,
"body_color": "MON_COLOR_BLUE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_SPLASH" ],
[ 2, "MOVE_CHARM" ],
[ 7, "MOVE_TAIL_WHIP" ],
[ 10, "MOVE_BUBBLE" ],
[ 15, "MOVE_SLAM" ],
[ 18, "MOVE_WATER_GUN" ]
],
"by_tm": [
"TM03",
"TM06",
"TM07",
@ -70,15 +67,7 @@
"HM03",
"HM07"
],
"level_up": {
"1": "MOVE_SPLASH",
"2": "MOVE_CHARM",
"7": "MOVE_TAIL_WHIP",
"10": "MOVE_BUBBLE",
"15": "MOVE_SLAM",
"18": "MOVE_WATER_GUN"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_ICY_WIND",
"MOVE_ROLLOUT",
@ -90,14 +79,11 @@
]
},
"evolutions": [
[
"EVO_HAPPINESS",
"SPECIES_MARILL"
]
[ "EVO_LEVEL_HAPPINESS", "SPECIES_MARILL" ]
],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 2,
@ -114,11 +100,11 @@
"entry_text": "Its tail bounces like a rubber ball.\nIt flings that tail around to fight\nopponents bigger than itself.",
"category": "Polka Dot Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NONE",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NORTH_EAST",
"catching_points": 80,
"rarity": 10,
"unused": 1285
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 10,
"special_defense": 10
},
"types": [
"TYPE_NORMAL",
"TYPE_NORMAL"
],
"types": [ "TYPE_NORMAL", "TYPE_NORMAL" ],
"catch_rate": 3,
"base_exp_reward": 255,
"ev_yields": {
@ -30,23 +27,16 @@
"hatch_cycles": 120,
"base_friendship": 0,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_UNDISCOVERED",
"EGG_GROUP_UNDISCOVERED"
],
"abilities": [
"ABILITY_NONE",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_EGG",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_UNDISCOVERED", "EGG_GROUP_UNDISCOVERED" ],
"abilities": [ "ABILITY_NONE", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_EGG",
"flip_sprite": false,
"learnset": {
"tms": [],
"level_up": {
"1": "MOVE_SPLASH"
}
}
"by_level": [
[ 1, "MOVE_SPLASH" ]
],
"by_tm": [ ]
},
"evolutions": [ ]
}

View File

@ -1 +1 @@
personal_files += files('data.json')
species_data_files += files('data.json')

View File

@ -8,10 +8,7 @@
"special_attack": 40,
"special_defense": 30
},
"types": [
"TYPE_DRAGON",
"TYPE_DRAGON"
],
"types": [ "TYPE_DRAGON", "TYPE_DRAGON" ],
"catch_rate": 45,
"base_exp_reward": 89,
"ev_yields": {
@ -30,21 +27,27 @@
"hatch_cycles": 40,
"base_friendship": 35,
"exp_rate": "EXP_RATE_SLOW",
"egg_groups": [
"EGG_GROUP_DRAGON",
"EGG_GROUP_DRAGON"
],
"abilities": [
"ABILITY_ROCK_HEAD",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BLUE",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_DRAGON", "EGG_GROUP_DRAGON" ],
"abilities": [ "ABILITY_ROCK_HEAD", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BLUE",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_RAGE" ],
[ 5, "MOVE_BITE" ],
[ 10, "MOVE_LEER" ],
[ 16, "MOVE_HEADBUTT" ],
[ 20, "MOVE_FOCUS_ENERGY" ],
[ 25, "MOVE_EMBER" ],
[ 31, "MOVE_DRAGON_BREATH" ],
[ 35, "MOVE_ZEN_HEADBUTT" ],
[ 40, "MOVE_SCARY_FACE" ],
[ 46, "MOVE_CRUNCH" ],
[ 50, "MOVE_DRAGON_CLAW" ],
[ 55, "MOVE_DOUBLE_EDGE" ]
],
"by_tm": [
"TM02",
"TM05",
"TM06",
@ -77,21 +80,7 @@
"HM04",
"HM06"
],
"level_up": {
"1": "MOVE_RAGE",
"5": "MOVE_BITE",
"10": "MOVE_LEER",
"16": "MOVE_HEADBUTT",
"20": "MOVE_FOCUS_ENERGY",
"25": "MOVE_EMBER",
"31": "MOVE_DRAGON_BREATH",
"35": "MOVE_ZEN_HEADBUTT",
"40": "MOVE_SCARY_FACE",
"46": "MOVE_CRUNCH",
"50": "MOVE_DRAGON_CLAW",
"55": "MOVE_DOUBLE_EDGE"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_FURY_CUTTER",
"MOVE_SNORE",
@ -102,14 +91,14 @@
},
"evolutions": [
[
"EVO_LEVEL_UP",
"EVO_LEVEL",
30,
"SPECIES_SHELGON"
]
],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_MEDIUM"
"has": true,
"size": "FOOTPRINT_MEDIUM"
},
"pokedex_data": {
"height": 6,
@ -126,11 +115,11 @@
"entry_text": "Dreaming of one day flying, it\npractices by leaping off cliffs\nevery day.",
"category": "Rock Head Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 50,
"rarity": 30,
"unused": 3855
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 40,
"special_defense": 70
},
"types": [
"TYPE_GROUND",
"TYPE_PSYCHIC"
],
"types": [ "TYPE_GROUND", "TYPE_PSYCHIC" ],
"catch_rate": 255,
"base_exp_reward": 58,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_MEDIUM_FAST",
"egg_groups": [
"EGG_GROUP_MINERAL",
"EGG_GROUP_MINERAL"
],
"abilities": [
"ABILITY_LEVITATE",
"ABILITY_NONE"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BROWN",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_MINERAL", "EGG_GROUP_MINERAL" ],
"abilities": [ "ABILITY_LEVITATE", "ABILITY_NONE" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BROWN",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_CONFUSION" ],
[ 3, "MOVE_HARDEN" ],
[ 5, "MOVE_RAPID_SPIN" ],
[ 7, "MOVE_MUD_SLAP" ],
[ 11, "MOVE_PSYBEAM" ],
[ 15, "MOVE_ROCK_TOMB" ],
[ 19, "MOVE_SELFDESTRUCT" ],
[ 25, "MOVE_ANCIENT_POWER" ],
[ 31, "MOVE_POWER_TRICK" ],
[ 37, "MOVE_SANDSTORM" ],
[ 45, "MOVE_COSMIC_POWER" ],
[ 53, "MOVE_EARTH_POWER" ],
[ 61, "MOVE_HEAL_BLOCK" ],
[ 71, "MOVE_EXPLOSION" ]
],
"by_tm": [
"TM04",
"TM06",
"TM10",
@ -87,23 +92,7 @@
"TM90",
"TM92"
],
"level_up": {
"1": "MOVE_CONFUSION",
"3": "MOVE_HARDEN",
"5": "MOVE_RAPID_SPIN",
"7": "MOVE_MUD_SLAP",
"11": "MOVE_PSYBEAM",
"15": "MOVE_ROCK_TOMB",
"19": "MOVE_SELFDESTRUCT",
"25": "MOVE_ANCIENT_POWER",
"31": "MOVE_POWER_TRICK",
"37": "MOVE_SANDSTORM",
"45": "MOVE_COSMIC_POWER",
"53": "MOVE_EARTH_POWER",
"61": "MOVE_HEAL_BLOCK",
"71": "MOVE_EXPLOSION"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_SNORE",
"MOVE_ANCIENT_POWER",
@ -115,14 +104,14 @@
},
"evolutions": [
[
"EVO_LEVEL_UP",
"EVO_LEVEL",
36,
"SPECIES_CLAYDOL"
]
],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_SMALL"
"has": true,
"size": "FOOTPRINT_SMALL"
},
"pokedex_data": {
"height": 5,
@ -139,11 +128,11 @@
"entry_text": "It moves by spinning on its foot.\nIt is a rare Pokémon that was\ndiscovered in ancient ruins.",
"category": "Clay Doll Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_EAST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 50,
"rarity": 30,
"unused": 2568
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 83,
"special_defense": 63
},
"types": [
"TYPE_GHOST",
"TYPE_GHOST"
],
"types": [ "TYPE_GHOST", "TYPE_GHOST" ],
"catch_rate": 45,
"base_exp_reward": 179,
"ev_yields": {
@ -30,21 +27,32 @@
"hatch_cycles": 25,
"base_friendship": 35,
"exp_rate": "EXP_RATE_FAST",
"egg_groups": [
"EGG_GROUP_AMORPHOUS",
"EGG_GROUP_AMORPHOUS"
],
"abilities": [
"ABILITY_INSOMNIA",
"ABILITY_FRISK"
],
"great_marsh_flee_rate": 0,
"sprite": {
"color": "MON_COLOR_BLACK",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_AMORPHOUS", "EGG_GROUP_AMORPHOUS" ],
"abilities": [ "ABILITY_INSOMNIA", "ABILITY_FRISK" ],
"safari_flee_rate": 0,
"body_color": "MON_COLOR_BLACK",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_KNOCK_OFF" ],
[ 1, "MOVE_SCREECH" ],
[ 1, "MOVE_NIGHT_SHADE" ],
[ 1, "MOVE_CURSE" ],
[ 8, "MOVE_SCREECH" ],
[ 5, "MOVE_NIGHT_SHADE" ],
[ 13, "MOVE_CURSE" ],
[ 16, "MOVE_SPITE" ],
[ 20, "MOVE_SHADOW_SNEAK" ],
[ 23, "MOVE_WILL_O_WISP" ],
[ 28, "MOVE_FAINT_ATTACK" ],
[ 31, "MOVE_SHADOW_BALL" ],
[ 35, "MOVE_SUCKER_PUNCH" ],
[ 42, "MOVE_EMBARGO" ],
[ 51, "MOVE_SNATCH" ],
[ 58, "MOVE_GRUDGE" ],
[ 66, "MOVE_TRICK" ]
],
"by_tm": [
"TM04",
"TM06",
"TM10",
@ -89,28 +97,7 @@
"TM90",
"TM92"
],
"level_up": {
"1": [
"MOVE_KNOCK_OFF",
"MOVE_SCREECH",
"MOVE_NIGHT_SHADE",
"MOVE_CURSE"
],
"8": "MOVE_SCREECH",
"5": "MOVE_NIGHT_SHADE",
"13": "MOVE_CURSE",
"16": "MOVE_SPITE",
"20": "MOVE_SHADOW_SNEAK",
"23": "MOVE_WILL_O_WISP",
"28": "MOVE_FAINT_ATTACK",
"31": "MOVE_SHADOW_BALL",
"35": "MOVE_SUCKER_PUNCH",
"42": "MOVE_EMBARGO",
"51": "MOVE_SNATCH",
"58": "MOVE_GRUDGE",
"66": "MOVE_TRICK"
},
"tutor": [
"by_tutor": [
"MOVE_MUD_SLAP",
"MOVE_ICY_WIND",
"MOVE_OMINOUS_WIND",
@ -120,9 +107,10 @@
"MOVE_SUCKER_PUNCH"
]
},
"evolutions": [ ],
"footprint": {
"has_footprint": true,
"footprint_size": "FOOTPRINT_SMALL"
"has": true,
"size": "FOOTPRINT_SMALL"
},
"pokedex_data": {
"height": 11,
@ -139,11 +127,11 @@
"entry_text": "A doll that became a Pokémon over\nits grudge from being junked. It\nseeks the child that disowned it.",
"category": "Marionette Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NORTH_WEST",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NONE",
"catching_points": 70,
"rarity": 20,
"unused": 3084
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

View File

@ -8,10 +8,7 @@
"special_attack": 46,
"special_defense": 41
},
"types": [
"TYPE_WATER",
"TYPE_GROUND"
],
"types": [ "TYPE_WATER", "TYPE_GROUND" ],
"catch_rate": 190,
"base_exp_reward": 92,
"ev_yields": {
@ -30,21 +27,29 @@
"hatch_cycles": 20,
"base_friendship": 70,
"exp_rate": "EXP_RATE_MEDIUM_FAST",
"egg_groups": [
"EGG_GROUP_WATER_2",
"EGG_GROUP_WATER_2"
],
"abilities": [
"ABILITY_OBLIVIOUS",
"ABILITY_ANTICIPATION"
],
"great_marsh_flee_rate": 120,
"sprite": {
"color": "MON_COLOR_GRAY",
"flip_sprite": false
},
"egg_groups": [ "EGG_GROUP_WATER_2", "EGG_GROUP_WATER_2" ],
"abilities": [ "ABILITY_OBLIVIOUS", "ABILITY_ANTICIPATION" ],
"safari_flee_rate": 120,
"body_color": "MON_COLOR_GRAY",
"flip_sprite": false,
"learnset": {
"tms": [
"by_level": [
[ 1, "MOVE_MUD_SLAP" ],
[ 6, "MOVE_MUD_SPORT" ],
[ 6, "MOVE_WATER_SPORT" ],
[ 10, "MOVE_WATER_GUN" ],
[ 14, "MOVE_MUD_BOMB" ],
[ 18, "MOVE_AMNESIA" ],
[ 22, "MOVE_WATER_PULSE" ],
[ 26, "MOVE_MAGNITUDE" ],
[ 31, "MOVE_REST" ],
[ 31, "MOVE_SNORE" ],
[ 35, "MOVE_AQUA_TAIL" ],
[ 39, "MOVE_EARTHQUAKE" ],
[ 43, "MOVE_FUTURE_SIGHT" ],
[ 47, "MOVE_FISSURE" ]
],
"by_tm": [
"TM03",
"TM06",
"TM07",
@ -72,27 +77,7 @@
"HM03",
"HM07"
],
"level_up": {
"1": "MOVE_MUD_SLAP",
"6": [
"MOVE_MUD_SPORT",
"MOVE_WATER_SPORT"
],
"10": "MOVE_WATER_GUN",
"14": "MOVE_MUD_BOMB",
"18": "MOVE_AMNESIA",
"22": "MOVE_WATER_PULSE",
"26": "MOVE_MAGNITUDE",
"31": [
"MOVE_REST",
"MOVE_SNORE"
],
"35": "MOVE_AQUA_TAIL",
"39": "MOVE_EARTHQUAKE",
"43": "MOVE_FUTURE_SIGHT",
"47": "MOVE_FISSURE"
},
"tutor": [
"by_tutor": [
"MOVE_DIVE",
"MOVE_MUD_SLAP",
"MOVE_ICY_WIND",
@ -104,14 +89,14 @@
},
"evolutions": [
[
"EVO_LEVEL_UP",
"EVO_LEVEL",
30,
"SPECIES_WHISCASH"
]
],
"footprint": {
"has_footprint": false,
"footprint_size": "FOOTPRINT_LARGE"
"has": false,
"size": "FOOTPRINT_LARGE"
},
"pokedex_data": {
"height": 4,
@ -128,11 +113,11 @@
"entry_text": "Its slimy body is hard to grasp. In\none region, it is said to have been\nborn from hardened mud.",
"category": "Whiskers Pokémon"
},
"catching_show_data": {
"catching_show": {
"pal_park_land_area": "PAL_PARK_AREA_LAND_NONE",
"pal_park_water_area": "PAL_PARK_AREA_WATER_NORTH_EAST",
"catching_points": 50,
"rarity": 30,
"unused": 2051
}
}
}

View File

@ -1,4 +1,4 @@
personal_files += files('data.json')
species_data_files += files('data.json')
poke_icon_files += files('icon.png')

Some files were not shown because too many files have changed in this diff Show More