Atomize individual generated constants-headers

This commit is contained in:
Rachel 2024-05-18 21:46:24 -07:00
parent 04d9ea4cfa
commit f6cfe2d046
60 changed files with 2496 additions and 2550 deletions

View File

@ -8,16 +8,14 @@
#include "gmm/pl_msg_0368.h"
#include "battle/btlcmd.h"
.include "consts/generated/asm/abilities.inc"
.include "consts/generated/asm/battle.inc"
.include "consts/generated/asm/battle_controller_params.inc"
.include "consts/generated/asm/battle_lib_params.inc"
.include "consts/generated/asm/battle_subscripts.inc"
.include "consts/generated/asm/btlcmd.inc"
.include "consts/generated/asm/gender.inc"
.include "consts/generated/asm/items.inc"
.include "consts/generated/asm/moves.inc"
.include "consts/generated/asm/pokemon.inc"
.include "consts/abilities.inc"
.include "consts/battle.inc"
.include "consts/battle_subscripts.inc"
.include "consts/btlcmd.inc"
.include "consts/gender.inc"
.include "consts/items.inc"
.include "consts/moves.inc"
.include "consts/pokemon.inc"
.equ FALSE 0
.equ TRUE 1

View File

@ -1,4 +1,4 @@
.include "consts/generated/asm/movement.inc"
.include "consts/movement.inc"
.macro MoveAction_000 length=1
.short MOVEMENT_ACTION_0

View File

@ -6,15 +6,13 @@
#include "constants/items.h"
#include "constants/battle/trainer_ai.h"
.include "consts/generated/asm/abilities.inc"
.include "consts/generated/asm/battle.inc"
.include "consts/generated/asm/battle_controller_params.inc"
.include "consts/generated/asm/battle_lib_params.inc"
.include "consts/generated/asm/gender.inc"
.include "consts/generated/asm/items.inc"
.include "consts/generated/asm/moves.inc"
.include "consts/generated/asm/pokemon.inc"
.include "consts/generated/asm/trainer_ai.inc"
.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"
.include "macros/aicmd.inc"
.text

133
consts/abilities.json Normal file
View File

@ -0,0 +1,133 @@
{
"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,38 +1,4 @@
{
"targets": {
"battle": [
"@BattleEffect",
"@MessageTag",
"@MoveSubscriptPointer",
"@SideEffectType",
"@Terrain",
"@BattleAnimation",
"@MoveRange",
"@MoveFlags",
"@BattleStat",
"@CompareSpeedResult"
],
"btlcmd": [
"@BattleScriptVar",
"@BattlerID",
"@OpCode",
"@CheckHaveOp",
"@MessageStatusCondition",
"@TurnFlag",
"@CheckSideConditionOp",
"@SideCondition",
"@Throw",
"@Capture",
"@YesNoType"
],
"battle_lib_params": [
"@BattleContextParam",
"@BattleMonParam"
],
"battle_controller_params": [
"@AfterMoveMessageType"
]
},
"definitions": {
"@BattleEffect": {
"type": "enum",
@ -621,185 +587,6 @@
"BATTLE_ANIMATION_DAMAGE_INGRAIN"
]
},
"@BattleScriptVar": {
"type": "enum",
"values": [
"BTLVAR_BATTLE_TYPE",
"BTLVAR_CRITICAL_BOOSTS",
"BTLVAR_SIDE_EFFECT_FLAGS_DIRECT",
"BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT",
"BTLVAR_SIDE_EFFECT_FLAGS_ABILITY",
"BTLVAR_SIDE_EFFECT_TYPE",
"BTLVAR_BATTLE_CTX_STATUS",
"BTLVAR_FIELD_CONDITIONS",
"BTLVAR_POWER_MULTI",
"BTLVAR_CALC_TEMP",
"BTLVAR_MOVE_STATUS_FLAGS",
"BTLVAR_SIDE_CONDITIONS_ATTACKER",
"BTLVAR_SIDE_CONDITIONS_DEFENDER",
"BTLVAR_SIDE_CONDITIONS_EFFECT_MON",
"BTLVAR_DAMAGE",
"BTLVAR_ATTACKER",
"BTLVAR_DEFENDER",
"BTLVAR_SIDE_EFFECT_MON",
"BTLVAR_FAINTED_MON",
"BTLVAR_SWITCHED_MON",
"BTLVAR_MSG_BATTLER_TEMP",
"BTLVAR_ATTACKER_STORED_DAMAGE",
"BTLVAR_MSG_TEMP",
"BTLVAR_PAY_DAY_COUNT",
"BTLVAR_CURRENT_MOVE",
"BTLVAR_TOTAL_TURNS",
"BTLVAR_MSG_ATTACKER",
"BTLVAR_MSG_DEFENDER",
"BTLVAR_MOVE_TEMP",
"BTLVAR_LAST_BATTLER_ID",
"BTLVAR_MOVE_POWER",
"BTLVAR_AFTER_MOVE_MESSAGE_TYPE",
"BTLVAR_HP_CALC_TEMP",
"BTLVAR_RESULT_MASK",
"BTLVAR_SIDE_EFFECT_PARAM",
"BTLVAR_MSG_MOVE_TEMP",
"BTLVAR_MSG_ITEM_TEMP",
"BTLVAR_MSG_ABILITY_TEMP",
"BTLVAR_WEATHER_TURNS",
"BTLVAR_BATTLER_SPEED_TEMP",
"BTLVAR_MULTI_HIT_LOOP",
"BTLVAR_ATTACKER_PHYSICAL_DAMAGE_MASK",
"BTLVAR_ATTACKER_SPECIAL_DAMAGE_MASK",
"BTLVAR_SCRIPT_TEMP",
"BTLVAR_CRITICAL_MUL",
"BTLVAR_ATTACKER_LAST_DAMAGE_TAKEN",
"BTLVAR_DEFENDER_LAST_DAMAGE_TAKEN",
"BTLVAR_ATTACKER_SELF_TURN_STATUS_FLAGS",
"BTLVAR_DEFENDER_SELF_TURN_STATUS_FLAGS",
"BTLVAR_SIDE_EFFECT_MON_SELF_TURN_STATUS_FLAGS",
"BTLVAR_FLING_TEMP",
"BTLVAR_FLING_SCRIPT",
"BTLVAR_BATTLE_SYS_STATUS",
"BTLVAR_ATTACKER_LOCKED_MOVE",
"BTLVAR_HIT_DAMAGE",
"BTLVAR_NUM_SAFARI_BALLS",
"BTLVAR_SWITCHED_MON_TEMP",
"BTLVAR_MOVE_TYPE",
"BTLVAR_MOVE_EFFECT_CHANCE",
"BTLVAR_REGULATION_FLAG",
"BTLVAR_BATTLE_CTX_STATUS_2",
"BTLVAR_TURN_ORDER_COUNTER",
"BTLVAR_MAX_BATTLERS",
"BTLVAR_ATTACKER_TEMP",
"BTLVAR_DEFENDER_TEMP",
"BTLVAR_DEFENDER_PHYSICAL_DAMAGE_TAKEN",
"BTLVAR_MSG_BATTLER_TEMP_ASSURANCE_DAMAGE_MASK",
"BTLVAR_DEFENDER_ASSURANCE_DAMAGE_MASK",
"BTLVAR_ATTACKER_SHELL_BELL_DAMAGE_DEALT",
"BTLVAR_WAITING_BATTLERS"
]
},
"@BattlerID": {
"type": "enum",
"values": [
"BTLSCR_ALL_BATTLERS",
"BTLSCR_ATTACKER",
"BTLSCR_DEFENDER",
"BTLSCR_PLAYER",
"BTLSCR_ENEMY",
"BTLSCR_FAINTED_MON",
"BTLSCR_SWITCHED_MON",
"BTLSCR_SIDE_EFFECT_MON",
"BTLSCR_ABILITY_MON",
"BTLSCR_PLAYER_SLOT_1",
"BTLSCR_ENEMY_SLOT_1",
"BTLSCR_PLAYER_SLOT_2",
"BTLSCR_ENEMY_SLOT_2",
"BTLSCR_UNUSED_13",
"BTLSCR_MSG_ATTACKER",
"BTLSCR_MSG_DEFENDER",
"BTLSCR_ATTACKER_PARTNER",
"BTLSCR_DEFENDER_PARTNER",
"BTLSCR_FORCED_OUT",
"BTLSCR_ATTACKER_ENEMY",
"BTLSCR_DEFENDER_ENEMY",
"BTLSCR_MSG_BATTLER_TEMP",
"BTLSCR_SWITCHED_MON_AFTER"
]
},
"@OpCode": {
"type": "enum",
"values": [
"OPCODE_EQU",
"OPCODE_NEQ",
"OPCODE_GT",
"OPCODE_LTE",
"OPCODE_FLAG_SET",
"OPCODE_FLAG_NOT",
"OPCODE_AND",
"OPCODE_SET",
"OPCODE_ADD",
"OPCODE_SUB",
"OPCODE_FLAG_ON",
"OPCODE_FLAG_OFF",
"OPCODE_MUL",
"OPCODE_DIV",
"OPCODE_LEFT_SHIFT",
"OPCODE_RIGHT_SHIFT",
"OPCODE_FLAG_INDEX",
"OPCODE_GET",
"OPCODE_SUB_TO_ZERO",
"OPCODE_BITWISE_XOR",
"OPCODE_BITWISE_AND"
]
},
"@CheckHaveOp": {
"type": "enum",
"values": [
"CHECK_HAVE",
"CHECK_NOT_HAVE"
]
},
"@MessageStatusCondition": {
"type": "enum",
"values": [
"MSGCOND_SLEEP",
"MSGCOND_POISON",
"MSGCOND_BURN",
"MSGCOND_PARALYSIS",
"MSGCOND_FREEZE",
"MSGCOND_CONFUSION",
"MSGCOND_INFATUATION"
]
},
"@TurnFlag": {
"type": "enum",
"values": [
"TURN_FLAG_STRUGGLING",
"TURN_FLAG_PP_DECREMENTED",
"TURN_FLAG_PROTECTING",
"TURN_FLAG_HELPING_HAND",
"TURN_FLAG_MAGIC_COAT",
"TURN_FLAG_SNATCHING",
"TURN_FLAG_ROOSTING"
]
},
"@CheckSideConditionOp": {
"type": "enum",
"values": [
"CHECK_SIDE_COND_VAL_ZERO",
"CHECK_SIDE_COND_VAL_NOT_ZERO",
"CHECK_SIDE_COND_CLEAR"
]
},
"@SideCondition": {
"type": "enum",
"values": [
"SIDE_COND_REFLECT_TURNS",
"SIDE_COND_LIGHT_SCREEN_TURNS",
"SIDE_COND_MIST_TURNS",
"SIDE_COND_SAFEGUARD_TURNS",
"SIDE_COND_SPIKES_LAYERS",
"SIDE_COND_TOXIC_SPIKES_LAYERS"
]
},
"@BattleContextParam": {
"type": "enum",
"values": [
@ -933,34 +720,6 @@
"AFTER_MOVE_MESSAGE_MULTI_HIT"
]
},
"@Throw": {
"type": "enum",
"values": [
"BTLSCR_THROW_POKE_BALL",
"BTLSCR_THROW_SAFARI_BALL",
"BTLSCR_THROW_SAFARI_ROCK",
"BTLSCR_THROW_SAFARI_BAIT",
"BTLSCR_THROW_PARK_BALL"
]
},
"@Capture": {
"type": "enum",
"values": [
"CAPTURE_NORMAL",
"CAPTURE_SAFARI"
]
},
"@YesNoType": {
"type": "enum",
"values": [
"YES_NO_BASIC",
"YES_NO_FORGET_MOVE",
"YES_NO_GIVE_UP_ON_MOVE",
"YES_NO_NEXT_MON",
"YES_NO_CHANGE_MON",
"YES_NO_GIVE_NICKNAME"
]
},
"@MoveRange": {
"type": "flags",
"values": [

View File

@ -1,9 +1,4 @@
{
"targets": {
"battle_subscripts": [
"@BattleSubscriptNARC"
]
},
"definitions": {
"@BattleSubscriptNARC": {
"type": "enum",

211
consts/btlcmd.json Normal file
View File

@ -0,0 +1,211 @@
{
"definitions": {
"@BattleScriptVar": {
"type": "enum",
"values": [
"BTLVAR_BATTLE_TYPE",
"BTLVAR_CRITICAL_BOOSTS",
"BTLVAR_SIDE_EFFECT_FLAGS_DIRECT",
"BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT",
"BTLVAR_SIDE_EFFECT_FLAGS_ABILITY",
"BTLVAR_SIDE_EFFECT_TYPE",
"BTLVAR_BATTLE_CTX_STATUS",
"BTLVAR_FIELD_CONDITIONS",
"BTLVAR_POWER_MULTI",
"BTLVAR_CALC_TEMP",
"BTLVAR_MOVE_STATUS_FLAGS",
"BTLVAR_SIDE_CONDITIONS_ATTACKER",
"BTLVAR_SIDE_CONDITIONS_DEFENDER",
"BTLVAR_SIDE_CONDITIONS_EFFECT_MON",
"BTLVAR_DAMAGE",
"BTLVAR_ATTACKER",
"BTLVAR_DEFENDER",
"BTLVAR_SIDE_EFFECT_MON",
"BTLVAR_FAINTED_MON",
"BTLVAR_SWITCHED_MON",
"BTLVAR_MSG_BATTLER_TEMP",
"BTLVAR_ATTACKER_STORED_DAMAGE",
"BTLVAR_MSG_TEMP",
"BTLVAR_PAY_DAY_COUNT",
"BTLVAR_CURRENT_MOVE",
"BTLVAR_TOTAL_TURNS",
"BTLVAR_MSG_ATTACKER",
"BTLVAR_MSG_DEFENDER",
"BTLVAR_MOVE_TEMP",
"BTLVAR_LAST_BATTLER_ID",
"BTLVAR_MOVE_POWER",
"BTLVAR_AFTER_MOVE_MESSAGE_TYPE",
"BTLVAR_HP_CALC_TEMP",
"BTLVAR_RESULT_MASK",
"BTLVAR_SIDE_EFFECT_PARAM",
"BTLVAR_MSG_MOVE_TEMP",
"BTLVAR_MSG_ITEM_TEMP",
"BTLVAR_MSG_ABILITY_TEMP",
"BTLVAR_WEATHER_TURNS",
"BTLVAR_BATTLER_SPEED_TEMP",
"BTLVAR_MULTI_HIT_LOOP",
"BTLVAR_ATTACKER_PHYSICAL_DAMAGE_MASK",
"BTLVAR_ATTACKER_SPECIAL_DAMAGE_MASK",
"BTLVAR_SCRIPT_TEMP",
"BTLVAR_CRITICAL_MUL",
"BTLVAR_ATTACKER_LAST_DAMAGE_TAKEN",
"BTLVAR_DEFENDER_LAST_DAMAGE_TAKEN",
"BTLVAR_ATTACKER_SELF_TURN_STATUS_FLAGS",
"BTLVAR_DEFENDER_SELF_TURN_STATUS_FLAGS",
"BTLVAR_SIDE_EFFECT_MON_SELF_TURN_STATUS_FLAGS",
"BTLVAR_FLING_TEMP",
"BTLVAR_FLING_SCRIPT",
"BTLVAR_BATTLE_SYS_STATUS",
"BTLVAR_ATTACKER_LOCKED_MOVE",
"BTLVAR_HIT_DAMAGE",
"BTLVAR_NUM_SAFARI_BALLS",
"BTLVAR_SWITCHED_MON_TEMP",
"BTLVAR_MOVE_TYPE",
"BTLVAR_MOVE_EFFECT_CHANCE",
"BTLVAR_REGULATION_FLAG",
"BTLVAR_BATTLE_CTX_STATUS_2",
"BTLVAR_TURN_ORDER_COUNTER",
"BTLVAR_MAX_BATTLERS",
"BTLVAR_ATTACKER_TEMP",
"BTLVAR_DEFENDER_TEMP",
"BTLVAR_DEFENDER_PHYSICAL_DAMAGE_TAKEN",
"BTLVAR_MSG_BATTLER_TEMP_ASSURANCE_DAMAGE_MASK",
"BTLVAR_DEFENDER_ASSURANCE_DAMAGE_MASK",
"BTLVAR_ATTACKER_SHELL_BELL_DAMAGE_DEALT",
"BTLVAR_WAITING_BATTLERS"
]
},
"@BattlerID": {
"type": "enum",
"values": [
"BTLSCR_ALL_BATTLERS",
"BTLSCR_ATTACKER",
"BTLSCR_DEFENDER",
"BTLSCR_PLAYER",
"BTLSCR_ENEMY",
"BTLSCR_FAINTED_MON",
"BTLSCR_SWITCHED_MON",
"BTLSCR_SIDE_EFFECT_MON",
"BTLSCR_ABILITY_MON",
"BTLSCR_PLAYER_SLOT_1",
"BTLSCR_ENEMY_SLOT_1",
"BTLSCR_PLAYER_SLOT_2",
"BTLSCR_ENEMY_SLOT_2",
"BTLSCR_UNUSED_13",
"BTLSCR_MSG_ATTACKER",
"BTLSCR_MSG_DEFENDER",
"BTLSCR_ATTACKER_PARTNER",
"BTLSCR_DEFENDER_PARTNER",
"BTLSCR_FORCED_OUT",
"BTLSCR_ATTACKER_ENEMY",
"BTLSCR_DEFENDER_ENEMY",
"BTLSCR_MSG_BATTLER_TEMP",
"BTLSCR_SWITCHED_MON_AFTER"
]
},
"@OpCode": {
"type": "enum",
"values": [
"OPCODE_EQU",
"OPCODE_NEQ",
"OPCODE_GT",
"OPCODE_LTE",
"OPCODE_FLAG_SET",
"OPCODE_FLAG_NOT",
"OPCODE_AND",
"OPCODE_SET",
"OPCODE_ADD",
"OPCODE_SUB",
"OPCODE_FLAG_ON",
"OPCODE_FLAG_OFF",
"OPCODE_MUL",
"OPCODE_DIV",
"OPCODE_LEFT_SHIFT",
"OPCODE_RIGHT_SHIFT",
"OPCODE_FLAG_INDEX",
"OPCODE_GET",
"OPCODE_SUB_TO_ZERO",
"OPCODE_BITWISE_XOR",
"OPCODE_BITWISE_AND"
]
},
"@CheckHaveOp": {
"type": "enum",
"values": [
"CHECK_HAVE",
"CHECK_NOT_HAVE"
]
},
"@MessageStatusCondition": {
"type": "enum",
"values": [
"MSGCOND_SLEEP",
"MSGCOND_POISON",
"MSGCOND_BURN",
"MSGCOND_PARALYSIS",
"MSGCOND_FREEZE",
"MSGCOND_CONFUSION",
"MSGCOND_INFATUATION"
]
},
"@TurnFlag": {
"type": "enum",
"values": [
"TURN_FLAG_STRUGGLING",
"TURN_FLAG_PP_DECREMENTED",
"TURN_FLAG_PROTECTING",
"TURN_FLAG_HELPING_HAND",
"TURN_FLAG_MAGIC_COAT",
"TURN_FLAG_SNATCHING",
"TURN_FLAG_ROOSTING"
]
},
"@CheckSideConditionOp": {
"type": "enum",
"values": [
"CHECK_SIDE_COND_VAL_ZERO",
"CHECK_SIDE_COND_VAL_NOT_ZERO",
"CHECK_SIDE_COND_CLEAR"
]
},
"@SideCondition": {
"type": "enum",
"values": [
"SIDE_COND_REFLECT_TURNS",
"SIDE_COND_LIGHT_SCREEN_TURNS",
"SIDE_COND_MIST_TURNS",
"SIDE_COND_SAFEGUARD_TURNS",
"SIDE_COND_SPIKES_LAYERS",
"SIDE_COND_TOXIC_SPIKES_LAYERS"
]
},
"@Throw": {
"type": "enum",
"values": [
"BTLSCR_THROW_POKE_BALL",
"BTLSCR_THROW_SAFARI_BALL",
"BTLSCR_THROW_SAFARI_ROCK",
"BTLSCR_THROW_SAFARI_BAIT",
"BTLSCR_THROW_PARK_BALL"
]
},
"@Capture": {
"type": "enum",
"values": [
"CAPTURE_NORMAL",
"CAPTURE_SAFARI"
]
},
"@YesNoType": {
"type": "enum",
"values": [
"YES_NO_BASIC",
"YES_NO_FORGET_MOVE",
"YES_NO_GIVE_UP_ON_MOVE",
"YES_NO_NEXT_MON",
"YES_NO_CHANGE_MON",
"YES_NO_GIVE_NICKNAME"
]
}
}
}

12
consts/gender.json Normal file
View File

@ -0,0 +1,12 @@
{
"definitions": {
"@Gender": {
"type": "enum",
"values": [
"GENDER_MALE",
"GENDER_FEMALE",
"GENDER_NONE"
]
}
}
}

File diff suppressed because it is too large Load Diff

632
consts/items.json Normal file
View File

@ -0,0 +1,632 @@
{
"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,9 +1,4 @@
{
"targets": {
"map": [
"@MapHeader"
]
},
"definitions": {
"@MapHeader": {
"type": "enum",

View File

@ -1,50 +1,68 @@
consts_manifests = files(
'battle.json',
'global.json',
'narc_files.json',
'trainer.json',
'sprites.json',
'movement.json',
'map.json',
)
consts_manifest_basenames = [
'abilities',
'battle',
'battle_subscripts',
'btlcmd',
'gender',
'items',
'map',
'movement',
'moves',
'pokemon',
'shadows',
'species',
'tm_learnset',
'trainer',
'trainer_ai',
]
gen_consts_root = meson.current_build_dir() / 'generated'
gen_c_consts_root = gen_consts_root / 'c'
gen_asm_consts_root = gen_consts_root / 'asm'
gen_py_consts_root = gen_consts_root / 'py'
generated_consts_root = meson.current_build_dir()
consts_manifests = []
generated_c_headers = []
generated_asm_headers = []
generated_py_headers = []
generated_consts_c = custom_target('generated_consts_c',
capture: true,
output: 'generated_consts_c',
input: consts_manifests,
command: [
constgen_py,
'-f', '@INPUT@',
'-r', gen_c_consts_root,
'-l', 'c'
]
)
c_consts_generators = []
asm_consts_generators = []
py_consts_generators = []
generated_consts_asm = custom_target('generated_consts_asm',
capture: true,
output: 'generated_consts_asm',
input: consts_manifests,
command: [
constgen_py,
'-f', '@INPUT@',
'-r', gen_asm_consts_root,
'-l', 'asm'
]
)
foreach basename : consts_manifest_basenames
manifest = basename + '.json'
c_header = basename + '.h'
asm_header = basename + '.inc'
py_header = basename + '.py'
c_consts_generators += custom_target(
input: manifest,
output: c_header,
command: [
constgen_py,
'--file', '@INPUT@',
'--root', generated_consts_root,
'--lang', 'c'
]
)
asm_consts_generators += custom_target(
input: manifest,
output: asm_header,
command: [
constgen_py,
'--file', '@INPUT@',
'--root', generated_consts_root,
'--lang', 'asm'
]
)
py_consts_generators += custom_target(
input: manifest,
output: py_header,
command: [
constgen_py,
'--file', '@INPUT@',
'--root', generated_consts_root,
'--lang', 'py'
]
)
endforeach
generated_consts_py = custom_target('generated_consts_py',
capture: true,
output: 'generated_consts_py',
input: consts_manifests,
command: [
constgen_py,
'-f', '@INPUT@',
'-r', gen_py_consts_root,
'-l', 'py'
]
)

View File

View File

@ -1,9 +1,4 @@
{
"targets": {
"movement": [
"@MovementAction"
]
},
"definitions": {
"@MovementAction": {
"type": "enum",

503
consts/moves.json Normal file
View File

@ -0,0 +1,503 @@
{
"definitions": {
"@MoveAttribute": {
"type": "enum",
"values": [
"MOVEATTRIBUTE_EFFECT",
"MOVEATTRIBUTE_CLASS",
"MOVEATTRIBUTE_POWER",
"MOVEATTRIBUTE_TYPE",
"MOVEATTRIBUTE_ACCURACY",
"MOVEATTRIBUTE_PP",
"MOVEATTRIBUTE_EFFECT_CHANCE",
"MOVEATTRIBUTE_RANGE",
"MOVEATTRIBUTE_PRIORTY",
"MOVEATTRIBUTE_FLAGS",
"MOVEATTRIBUTE_CONTEST_EFFECT",
"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": [
"CLASS_PHYSICAL",
"CLASS_SPECIAL",
"CLASS_STATUS"
]
}
}
}

171
consts/pokemon.json Normal file
View File

@ -0,0 +1,171 @@
{
"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": {
"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"
]
},
"@PokemonContestType": {
"type": "enum",
"values": [
"CONTEST_TYPE_COOL",
"CONTEST_TYPE_CUTE",
"CONTEST_TYPE_BEAUTY",
"CONTEST_TYPE_SMART",
"CONTEST_TYPE_TOUGH"
]
},
"@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
}
}
}
}

View File

@ -1,9 +1,4 @@
{
"targets": {
"shadows": [
"@PokemonBattleShadowSize"
]
},
"definitions": {
"@PokemonBattleShadowSize": {
"type": "enum",
@ -15,4 +10,4 @@
]
}
}
}
}

506
consts/species.json Normal file
View File

@ -0,0 +1,506 @@
{
"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"
]
}
}
}

111
consts/tm_learnset.json Normal file
View File

@ -0,0 +1,111 @@
{
"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

@ -1,16 +1,4 @@
{
"targets": {
"trainer": [
"@TrainerClass"
],
"trainer_ai": [
"@LoadTypeTarget",
"@AIWeather",
"@CheckEffect",
"@CheckLevel",
"@AIFlag"
]
},
"definitions": {
"@TrainerClass": {
"type": "enum",
@ -121,84 +109,6 @@
"TRAINER_CLASS_DP_PLAYER_MALE_2",
"TRAINER_CLASS_DP_PLAYER_FEMALE_2"
]
},
"@LoadTypeTarget": {
"type": "enum",
"values": [
"LOAD_DEFENDER_TYPE_1",
"LOAD_ATTACKER_TYPE_1",
"LOAD_DEFENDER_TYPE_2",
"LOAD_ATTACKER_TYPE_2",
"LOAD_MOVE_TYPE",
"LOAD_DEFENDER_PARTNER_TYPE_1",
"LOAD_ATTACKER_PARTNER_TYPE_1",
"LOAD_DEFENDER_PARTNER_TYPE_2",
"LOAD_ATTACKER_PARTNER_TYPE_2"
]
},
"@AIWeather": {
"type": "enum",
"values": [
"AI_WEATHER_CLEAR",
"AI_WEATHER_SUNNY",
"AI_WEATHER_RAINING",
"AI_WEATHER_SANDSTORM",
"AI_WEATHER_HAILING",
"AI_WEATHER_DEEP_FOG"
]
},
"@CheckEffect": {
"type": "enum",
"values": [
"CHECK_DISABLE",
"CHECK_ENCORE"
]
},
"@CheckLevel": {
"type": "enum",
"values": [
"CHECK_HIGHER_THAN_TARGET",
"CHECK_LOWER_THAN_TARGET",
"CHECK_EQUAL_TO_TARGET"
]
},
"@AIFlag": {
"type": "flags",
"values": [
"AI_FLAG_NONE",
"AI_FLAG_BASIC",
"AI_FLAG_EVAL_ATTACK",
"AI_FLAG_EXPERT",
"AI_FLAG_SETUP_FIRST_TURN",
"AI_FLAG_RISKY",
"AI_FLAG_DAMAGE_PRIORITY",
"AI_FLAG_BATON_PASS",
"AI_FLAG_TAG_STRATEGY",
"AI_FLAG_CHECK_HP",
"AI_FLAG_WEATHER",
"AI_FLAG_HARRASSMENT",
"AI_FLAG_UNUSED_11",
"AI_FLAG_UNUSED_12",
"AI_FLAG_UNUSED_13",
"AI_FLAG_UNUSED_14",
"AI_FLAG_UNUSED_15",
"AI_FLAG_UNUSED_16",
"AI_FLAG_UNUSED_17",
"AI_FLAG_UNUSED_18",
"AI_FLAG_UNUSED_19",
"AI_FLAG_UNUSED_20",
"AI_FLAG_UNUSED_21",
"AI_FLAG_UNUSED_22",
"AI_FLAG_UNUSED_23",
"AI_FLAG_UNUSED_24",
"AI_FLAG_UNUSED_25",
"AI_FLAG_UNUSED_26",
"AI_FLAG_UNUSED_27",
"AI_FLAG_UNUSED_28",
"AI_FLAG_ROAMING_POKEMON",
"AI_FLAG_SAFARI",
"AI_FLAG_CATCH_TUTORIAL"
]
}
}
}

82
consts/trainer_ai.json Normal file
View File

@ -0,0 +1,82 @@
{
"definitions": {
"@LoadTypeTarget": {
"type": "enum",
"values": [
"LOAD_DEFENDER_TYPE_1",
"LOAD_ATTACKER_TYPE_1",
"LOAD_DEFENDER_TYPE_2",
"LOAD_ATTACKER_TYPE_2",
"LOAD_MOVE_TYPE",
"LOAD_DEFENDER_PARTNER_TYPE_1",
"LOAD_ATTACKER_PARTNER_TYPE_1",
"LOAD_DEFENDER_PARTNER_TYPE_2",
"LOAD_ATTACKER_PARTNER_TYPE_2"
]
},
"@AIWeather": {
"type": "enum",
"values": [
"AI_WEATHER_CLEAR",
"AI_WEATHER_SUNNY",
"AI_WEATHER_RAINING",
"AI_WEATHER_SANDSTORM",
"AI_WEATHER_HAILING",
"AI_WEATHER_DEEP_FOG"
]
},
"@CheckEffect": {
"type": "enum",
"values": [
"CHECK_DISABLE",
"CHECK_ENCORE"
]
},
"@CheckLevel": {
"type": "enum",
"values": [
"CHECK_HIGHER_THAN_TARGET",
"CHECK_LOWER_THAN_TARGET",
"CHECK_EQUAL_TO_TARGET"
]
},
"@AIFlag": {
"type": "flags",
"values": [
"AI_FLAG_NONE",
"AI_FLAG_BASIC",
"AI_FLAG_EVAL_ATTACK",
"AI_FLAG_EXPERT",
"AI_FLAG_SETUP_FIRST_TURN",
"AI_FLAG_RISKY",
"AI_FLAG_DAMAGE_PRIORITY",
"AI_FLAG_BATON_PASS",
"AI_FLAG_TAG_STRATEGY",
"AI_FLAG_CHECK_HP",
"AI_FLAG_WEATHER",
"AI_FLAG_HARRASSMENT",
"AI_FLAG_UNUSED_11",
"AI_FLAG_UNUSED_12",
"AI_FLAG_UNUSED_13",
"AI_FLAG_UNUSED_14",
"AI_FLAG_UNUSED_15",
"AI_FLAG_UNUSED_16",
"AI_FLAG_UNUSED_17",
"AI_FLAG_UNUSED_18",
"AI_FLAG_UNUSED_19",
"AI_FLAG_UNUSED_20",
"AI_FLAG_UNUSED_21",
"AI_FLAG_UNUSED_22",
"AI_FLAG_UNUSED_23",
"AI_FLAG_UNUSED_24",
"AI_FLAG_UNUSED_25",
"AI_FLAG_UNUSED_26",
"AI_FLAG_UNUSED_27",
"AI_FLAG_UNUSED_28",
"AI_FLAG_ROAMING_POKEMON",
"AI_FLAG_SAFARI",
"AI_FLAG_CATCH_TUTORIAL"
]
}
}
}

View File

@ -1,6 +1,7 @@
#ifndef POKEPLATINUM_BATTLE_BATTLE_LIB_H
#define POKEPLATINUM_BATTLE_BATTLE_LIB_H
#include "constants/battle.h"
#include "constants/sound.h"
#include "pokemon.h"
@ -10,8 +11,6 @@
#include "battle/battle_message.h"
#include "battle/btlcmd.h"
#include "consts/generated/c/battle_lib_params.h" // defs for BattleContextParam and BattleMonParam
enum CountAbilityMode {
COUNT_ALL_BATTLERS_OUR_SIDE = 0, //< Count all the battlers on our side with the ability
COUNT_ALIVE_BATTLERS_OUR_SIDE, //< Count all alive battlers on our side with the ability

View File

@ -2,7 +2,7 @@
#define POKEPLATINUM_BATTLE_BTLCMD_H
#ifndef __ASM_PM_
#include "consts/generated/c/btlcmd.h"
#include "consts/btlcmd.h"
#endif
// TODO: move these to constgen

View File

@ -2,7 +2,7 @@
#define POKEPLATINUM_CONSTANTS_BATTLE_H
#ifndef __ASM_PM_
#include "consts/generated/c/battle.h"
#include "consts/battle.h"
enum BattleActions {
BATTLE_ACTION_PICK_COMMAND = 0,

View File

@ -2,7 +2,7 @@
#define POKEPLATINUM_CONSTANTS_BATTLE_TRAINER_AI_H
#ifndef __ASM_PM_
#include "consts/generated/c/trainer_ai.h"
#include "consts/trainer_ai.h"
enum AIActionChoice {
AI_ENEMY_ATTACK_1 = 0,

View File

@ -2,7 +2,7 @@
#define POKEPLATINUM_CONSTANTS_ITEMS_H
#ifndef __ASM_PM_
#include "consts/generated/c/items.h"
#include "consts/items.h"
enum {
BATTLE_POCKET_RECOVER_HP = 0,

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_CONSTANTS_MOVES_H
#define POKEPLATINUM_CONSTANTS_MOVES_H
#include "consts/generated/c/moves.h"
#include "consts/moves.h"
#define LEARNED_MOVES_MAX 4

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_CONSTANTS_POKEMON_H
#define POKEPLATINUM_CONSTANTS_POKEMON_H
#include "consts/generated/c/pokemon.h" // defs for PokemonType and PokemonPersonalDataParam
#include "consts/pokemon.h" // defs for PokemonType and PokemonPersonalDataParam
/**
* @brief Pokemon Stats

View File

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

View File

@ -1,4 +1,4 @@
#include "consts/generated/c/map.h"
#include "consts/map.h"
static const MapHeader sMapHeaders[] = {
[MAP_HEADER_EVERYWHERE] = {

View File

@ -1,7 +1,7 @@
#include "constants/battle/side_effects.h"
#include "battle/scripts/sub_seq.naix"
#include "consts/generated/c/battle.h"
#include "consts/battle.h"
static const int sSideEffectSubscripts[] = {
[MOVE_SUBSCRIPT_PTR_NONE] = NULL,

View File

@ -1,4 +1,4 @@
#include "consts/generated/c/gender.h"
#include "consts/gender.h"
#include "constants/trainer.h"
static const u8 sTrainerClassGender[] = {

View File

@ -1,7 +1,7 @@
#ifndef POKEPLATINUM_MOVE_TABLE_H
#define POKEPLATINUM_MOVE_TABLE_H
#include "consts/generated/c/moves.h" // def for MoveAttribute
#include "consts/moves.h" // def for MoveAttribute
typedef struct MoveContestData {
u8 effect;

View File

@ -1,9 +1,9 @@
#ifndef POKEPLATINUM_STRING_TEMPLATE_H
#define POKEPLATINUM_STRING_TEMPLATE_H
#include "consts/generated/c/abilities.h"
#include "consts/generated/c/gender.h"
#include "consts/generated/c/moves.h"
#include "consts/abilities.h"
#include "consts/gender.h"
#include "consts/moves.h"
#include "pokemon.h"
#include "savedata.h"

View File

@ -143,7 +143,8 @@ main = executable('main',
sources: [
pokeplatinum_c,
pokeplatinum_asm,
generated_consts_c,
c_consts_generators,
asm_consts_generators,
naix_headers,
],
c_args: [

View File

@ -481,7 +481,7 @@ pl_waza_tbl_narc = custom_target('pl_waza_tbl.narc',
output: 'pl_waza_tbl.narc',
input: pl_waza_tbl_data_srcs,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
movedata_py,
'--knarc', knarc_exe,

View File

@ -20,8 +20,8 @@ s_to_bin_gen = generator(make_script_bin_sh,
],
depends: [
pl_msg_narc, # for GMM headers
generated_consts_asm, # for ASM headers
generated_consts_c, # for C headers
asm_consts_generators, # for ASM headers
c_consts_generators, # for C headers
],
output: '@BASENAME@'
)

View File

@ -188,7 +188,7 @@ pl_enc_tbl_narc = custom_target('pl_enc_data.narc',
output: 'pl_enc_data.narc',
input: pl_enc_data_srcs,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
encounters_py,
'--knarc', knarc_exe,

View File

@ -539,7 +539,7 @@ events_narc = custom_target('zone_event.narc',
output: 'zone_event.narc',
input: events_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
events_py,
'--knarc', knarc_exe,

View File

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

View File

@ -613,7 +613,7 @@ wotbl_narc = custom_target('wotbl.narc',
output: 'wotbl.narc',
input: personal_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
pokemon_wotbl_data_py,
'--knarc', knarc_exe,
@ -627,7 +627,7 @@ pl_personal_narc = custom_target('pl_personal.narc',
output: 'pl_personal.narc',
input: personal_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
pokemon_personal_data_py,
'--knarc', knarc_exe,
@ -641,7 +641,7 @@ evo_narc = custom_target('evo.narc',
output: 'evo.narc',
input: personal_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
evo_py,
'--knarc', knarc_exe,
@ -705,7 +705,7 @@ height_narc = custom_target('height.narc',
output: 'height.narc',
input: personal_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
make_height_py,
'--knarc', knarc_exe,
@ -720,7 +720,7 @@ pl_poke_data_narc = custom_target('pl_poke_data.narc',
output: 'pl_poke_data.narc',
input: personal_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
pl_poke_data_py,
'--knarc', knarc_exe,

View File

@ -9,7 +9,7 @@ trdata_narc = custom_target('trdata.narc',
output: 'trdata.narc',
input: trainer_data_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
trainer_data_py,
'--mode', 'data',
@ -24,7 +24,7 @@ trpoke_narc = custom_target('trpoke.narc',
output: 'trpoke.narc',
input: trainer_data_files,
env: json2bin_env,
depends: [ generated_consts_py ],
depends: [ py_consts_generators ],
command: [
trainer_data_py,
'--mode', 'poke',

View File

@ -1,8 +1,7 @@
#include <nitro.h>
#include <string.h>
#include "consts/generated/c/abilities.h"
#include "consts/generated/c/battle_controller_params.h"
#include "consts/abilities.h"
#include "constants/battle.h"
#include "constants/heap.h"

View File

@ -1,7 +1,7 @@
#include <nitro.h>
#include <string.h>
#include "consts/generated/c/gender.h"
#include "consts/gender.h"
#include "constants/pokemon.h"
#include "constants/species.h"

View File

@ -1,8 +1,8 @@
#include <nitro.h>
#include <string.h>
#include "consts/generated/c/abilities.h"
#include "consts/generated/c/gender.h"
#include "consts/abilities.h"
#include "consts/gender.h"
#include "constants/battle.h"
#include "constants/flavor.h"

View File

@ -1,8 +1,8 @@
#include <nitro.h>
#include <string.h>
#include "consts/generated/c/abilities.h"
#include "consts/generated/c/gender.h"
#include "consts/abilities.h"
#include "consts/gender.h"
#include "constants/battle.h"
#include "constants/heap.h"

View File

@ -3,7 +3,7 @@
#include <nitro.h>
#include <string.h>
#include "consts/generated/c/battle.h"
#include "consts/battle.h"
#include "battle/common.h"
#include "constants/battle.h"

View File

@ -4,7 +4,7 @@
#include "pch/global_pch.h"
#include "assert.h"
#include "consts/generated/c/abilities.h"
#include "consts/abilities.h"
#include "constants/battle.h"
#include "constants/items.h"
#include "constants/species.h"

View File

@ -1,8 +1,8 @@
#include <nitro.h>
#include <string.h>
#include "consts/generated/c/abilities.h"
#include "consts/generated/c/gender.h"
#include "consts/abilities.h"
#include "consts/gender.h"
#include "constants/charcode.h"
#include "constants/heap.h"

View File

@ -5,9 +5,9 @@
#include <nitro.h>
#include <string.h>
#include "consts/generated/c/abilities.h"
#include "consts/generated/c/gender.h"
#include "consts/generated/c/moves.h"
#include "consts/abilities.h"
#include "consts/gender.h"
#include "consts/moves.h"
#include "gmm/pl_msg_0213.h"
#include "gmm/pl_msg_0361.h"

View File

@ -2,7 +2,7 @@
import pathlib
import json2bin as j2b
from consts.generated.py import species
from consts import species
SCHEMA = j2b.Parser().register('land_rate', 4, j2b.parse_int)

View File

@ -3,7 +3,7 @@ from collections.abc import Sequence
import pathlib
import json2bin as j2b
from consts.generated.py import (
from consts import (
items,
moves,
pokemon,

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python3
import pathlib
from consts.generated.py import (
from consts import (
battle,
moves,
pokemon

View File

@ -2,7 +2,7 @@
import pathlib
import json2bin as j2b
from consts.generated.py import (
from consts import (
species,
shadows
)

View File

@ -3,7 +3,7 @@ import pathlib
import json2bin as j2b
from consts.generated.py import (
from consts import (
abilities,
items,
pokemon,

View File

@ -2,7 +2,7 @@
import pathlib
import json2bin as j2b
from consts.generated.py import (
from consts import (
moves,
species
)

View File

@ -2,7 +2,7 @@
from collections.abc import Mapping, Sequence
import pathlib, functools
from consts.generated.py import (
from consts import (
items,
moves,
species,

View File

@ -4,7 +4,7 @@ import json
import pathlib
import subprocess
from consts.generated.py.pokemon import PokemonGenderRatio
from consts.pokemon import PokemonGenderRatio
argparser = argparse.ArgumentParser(

View File

@ -4,7 +4,7 @@ import json
import pathlib
import subprocess
from consts.generated.py.species import PokemonSpecies
from consts.species import PokemonSpecies
argparser = argparse.ArgumentParser(

View File

@ -4,7 +4,7 @@ import json
import pathlib
import subprocess
from consts.generated.py.species import PokemonSpecies
from consts.species import PokemonSpecies
argparser = argparse.ArgumentParser(