Merge pull request #123 from lhearachel/battle_scripts

Dump + rebuild the contents of battle scripting NARCs
This commit is contained in:
Rachel 2024-01-24 22:24:49 -08:00 committed by GitHub
commit e90979f61c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1123 changed files with 18693 additions and 2632 deletions

View File

@ -23,7 +23,7 @@ jobs:
sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/$(lsb_release -cs)/winehq-$(lsb_release -cs).sources
sudo dpkg --add-architecture i386
sudo apt-get update -y
sudo apt-get install -y --install-recommends python3-pip ninja-build winehq-stable
sudo apt-get install -y --install-recommends python3-pip ninja-build winehq-stable binutils-arm-none-eabi
pip install --user meson pyelftools
- name: Checkout Repo

View File

@ -31,7 +31,7 @@ You now have the choice between two different environments to use to build the p
3. Reopen an MSYS terminal (pink icon) and enter the following command to install the necessary packages:
```
pacman -S git meson gcc
pacman -S git meson gcc arm-none-eabi-binutils
```
Press 'Y' when prompted to confirm the installation.
@ -74,7 +74,7 @@ You now have the choice between two different environments to use to build the p
7. Certain packages are required to build the repository. Install these packages by running the following command:
```bash
sudo apt install git build-essential
sudo apt install git build-essential binutils-arm-none-eabi
```
We are not done yet, the 'meson' package is also necessary, but the version provided by apt is too outdated. To get the most recent meson version, run:
@ -108,7 +108,7 @@ These can be installed using Homebrew; if you do not have Homebrew installed, re
```
brew update
brew install meson
brew install meson arm-none-eabi-binutils
brew install --cask wine-stable
```
@ -119,6 +119,7 @@ Building the ROM requires the following packages. If you cannot find one or more
* git
* meson (>= 1.2.0)
* build-essentials (build-essential on Ubuntu)
* binutils-arm-none-eabi (arm-none-eabi-binutils on Arch Linux)
* wine (to run the mwcc executables)
* pkg-config

1239
asm/macros/btlcmd.inc Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,28 @@
"@MessageTag",
"@MoveSubscriptPointer",
"@SideEffectType",
"@Terrain"
"@Terrain",
"@BattleAnimation"
],
"btlcmd": [
"@BattleScriptVar",
"@BattlerID",
"@OpCode",
"@CheckHaveOp",
"@MessageStatusCondition",
"@TurnFlag",
"@CheckSideConditionOp",
"@SideCondition",
"@Throw",
"@Capture",
"@YesNoType"
],
"battle_lib_params": [
"@BattleContextParam",
"@BattleMonParam"
],
"battle_controller_params": [
"@AfterMoveMessageType"
]
},
"definitions": {
@ -549,6 +570,392 @@
"TERRAIN_GIRATINA",
"TERRAIN_MAX"
]
},
"@BattleAnimation": {
"type": "enum",
"values": [
"BATTLE_ANIMATION_NONE",
"BATTLE_ANIMATION_ASLEEP",
"BATTLE_ANIMATION_POISONED",
"BATTLE_ANIMATION_BURNED",
"BATTLE_ANIMATION_FROZEN",
"BATTLE_ANIMATION_PARALYZED",
"BATTLE_ANIMATION_CONFUSED",
"BATTLE_ANIMATION_INFATUATED",
"BATTLE_ANIMATION_LEVEL_UP",
"BATTLE_ANIMATION_BAG_ITEM",
"BATTLE_ANIMATION_HELD_ITEM",
"BATTLE_ANIMATION_SHINY",
"BATTLE_ANIMATION_STAT_BOOST",
"BATTLE_ANIMATION_STAT_DROP",
"BATTLE_ANIMATION_RESTORE_HP",
"BATTLE_ANIMATION_SUB_OUT",
"BATTLE_ANIMATION_SUB_IN",
"BATTLE_ANIMATION_ITEM_ESCAPE",
"BATTLE_ANIMATION_WEATHER_FOG",
"BATTLE_ANIMATION_WEATHER_RAIN",
"BATTLE_ANIMATION_WEATHER_HAIL",
"BATTLE_ANIMATION_WEATHER_SAND",
"BATTLE_ANIMATION_WEATHER_SUN",
"BATTLE_ANIMATION_UNUSED_23",
"BATTLE_ANIMATION_UNUSED_24",
"BATTLE_ANIMATION_SUBSTITUTE_IN",
"BATTLE_ANIMATION_SUBSTITUTE_OUT",
"BATTLE_ANIMATION_HAPPY",
"BATTLE_ANIMATION_EATING",
"BATTLE_ANIMATION_ANGRY",
"BATTLE_ANIMATION_DAMAGE_CURSE",
"BATTLE_ANIMATION_DAMAGE_NIGHTMARE",
"BATTLE_ANIMATION_DAMAGE_LEECH_SEED",
"BATTLE_ANIMATION_DAMAGE_BIND",
"BATTLE_ANIMATION_DAMAGE_WRAP",
"BATTLE_ANIMATION_DAMAGE_FIRE_SPIN",
"BATTLE_ANIMATION_DAMAGE_MAGMA_STORM",
"BATTLE_ANIMATION_DAMAGE_CLAMP",
"BATTLE_ANIMATION_DAMAGE_WHIRLPOOL",
"BATTLE_ANIMATION_DAMAGE_SAND_TOMB",
"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": [
"BATTLECTX_SIDE_CONDITIONS_MASK",
"BATTLECTX_SIDE_MIST_TURNS",
"BATTLECTX_SELECTED_PARTY_SLOT",
"BATTLECTX_TOTAL_TURNS",
"BATTLECTX_LEVEL_UP_MONS",
"BATTLECTX_SAFARI_ESCAPE_COUNT",
"BATTLECTX_TOTAL_FAINTED_FOR",
"BATTLECTX_TOTAL_DAMAGE_FOR",
"BATTLECTX_ACTION_FOR",
"BATTLECTX_AICTX_DEFENDER",
"BATTLECTX_SWITCHING_MASK",
"BATTLECTX_AICTX_SELECTED_TARGET",
"BATTLECTX_ACTION_TEMP_FOR",
"BATTLECTX_CONTROL_COMMAND",
"BATTLECTX_NEXT_CONTROL_COMMAND"
]
},
"@BattleMonParam": {
"type": "enum",
"values": [
"BATTLEMON_SPECIES",
"BATTLEMON_ATTACK",
"BATTLEMON_DEFENSE",
"BATTLEMON_SPEED",
"BATTLEMON_SP_ATTACK",
"BATTLEMON_SP_DEFENSE",
"BATTLEMON_MOVE_1",
"BATTLEMON_MOVE_2",
"BATTLEMON_MOVE_3",
"BATTLEMON_MOVE_4",
"BATTLEMON_HP_IV",
"BATTLEMON_ATTACK_IV",
"BATTLEMON_DEFENSE_IV",
"BATTLEMON_SPEED_IV",
"BATTLEMON_SP_ATTACK_IV",
"BATTLEMON_SP_DEFENSE_IV",
"BATTLEMON_IS_EGG",
"BATTLEMON_HAS_NICKNAME",
"BATTLEMON_HP_STAGE",
"BATTLEMON_ATTACK_STAGE",
"BATTLEMON_DEFENSE_STAGE",
"BATTLEMON_SPEED_STAGE",
"BATTLEMON_SP_ATTACK_STAGE",
"BATTLEMON_SP_DEFENSE_STAGE",
"BATTLEMON_ACCURACY_STAGE",
"BATTLEMON_EVASION_STAGE",
"BATTLEMON_ABILITY",
"BATTLEMON_TYPE_1",
"BATTLEMON_TYPE_2",
"BATTLEMON_GENDER",
"BATTLEMON_IS_SHINY",
"BATTLEMON_CUR_PP_1",
"BATTLEMON_CUR_PP_2",
"BATTLEMON_CUR_PP_3",
"BATTLEMON_CUR_PP_4",
"BATTLEMON_PP_UPS_1",
"BATTLEMON_PP_UPS_2",
"BATTLEMON_PP_UPS_3",
"BATTLEMON_PP_UPS_4",
"BATTLEMON_MAX_PP_1",
"BATTLEMON_MAX_PP_2",
"BATTLEMON_MAX_PP_3",
"BATTLEMON_MAX_PP_4",
"BATTLEMON_LEVEL",
"BATTLEMON_FRIENDSHIP",
"BATTLEMON_NICKNAME",
"BATTLEMON_NICKNAME_STRBUF",
"BATTLEMON_CUR_HP",
"BATTLEMON_MAX_HP",
"BATTLEMON_OT_NAME",
"BATTLEMON_EXP",
"BATTLEMON_PERSONALITY",
"BATTLEMON_STATUS",
"BATTLEMON_VOLATILE_STATUS",
"BATTLEMON_OT_ID",
"BATTLEMON_HELD_ITEM",
"BATTLEMON_TIMES_DAMAGED",
"BATTLEMON_TRAINER_MESSAGE_FLAGS",
"BATTLEMON_OT_GENDER",
"BATTLEMON_MOVE_EFFECTS_MASK",
"BATTLEMON_MOVE_EFFECTS_TEMP",
"BATTLEMON_DISABLED_TURNS",
"BATTLEMON_ENCORED_TURNS",
"BATTLEMON_CHARGED_TURNS",
"BATTLEMON_TAUNTED_TURNS",
"BATTLEMON_SUCCESSFUL_PROTECT_TURNS",
"BATTLEMON_PERISH_SONG_TURNS",
"BATTLEMON_ROLLOUT_COUNT",
"BATTLEMON_FURY_CUTTER_COUNT",
"BATTLEMON_STOCKPILE_COUNT",
"BATTLEMON_STOCKPILE_DEF_BOOSTS",
"BATTLEMON_STOCKPILE_SPDEF_BOOSTS",
"BATTLEMON_TRUANT",
"BATTLEMON_FLASH_FIRE",
"BATTLEMON_LOCK_ON_TARGET",
"BATTLEMON_MIMICKED_MOVE_SLOT",
"BATTLEMON_BIND_TARGET",
"BATTLEMON_MEAN_LOOK_TARGET",
"BATTLEMON_LAST_RESORT_COUNT",
"BATTLEMON_MAGNET_RISE_TURNS",
"BATTLEMON_HEAL_BLOCK_TURNS",
"BATTLEMON_EMBARGO_TURNS",
"BATTLEMON_CAN_UNBURDEN",
"BATTLEMON_METRONOME_TURNS",
"BATTLEMON_MICLE_BERRY",
"BATTLEMON_CUSTAP_BERRY",
"BATTLEMON_QUICK_CLAW",
"BATTLEMON_RECHARGE_TURN_NUMBER",
"BATTLEMON_FAKE_OUT_TURN_NUMBER",
"BATTLEMON_SLOW_START_TURN_NUMBER",
"BATTLEMON_SUBSTITUTE_HP",
"BATTLEMON_TRANSFORMED_PERSONALITY",
"BATTLEMON_DISABLED_MOVE",
"BATTLEMON_ENCORED_MOVE",
"BATTLEMON_BINDING_MOVE",
"BATTLEMON_ITEM_HP_RECOVERY",
"BATTLEMON_SLOW_START_ANNOUNCED",
"BATTLEMON_SLOW_START_FINISHED",
"BATTLEMON_FORM_NUM",
"BATTLEMON_UNUSED_99",
"BATTLEMON_TEMP"
]
},
"@AfterMoveMessageType": {
"type": "enum",
"values": [
"AFTER_MOVE_MESSAGE_ONE_HIT",
"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"
]
}
}
}
}

867
consts/global.json Normal file
View File

@ -0,0 +1,867 @@
{
"targets": {
"abilities": [
"@Ability"
],
"moves": [
"@MoveAttribute",
"@Move"
],
"pokemon": [
"@PokemonType",
"@PokemonPersonalDataParam"
],
"items": [
"@ItemHoldEffect"
],
"gender": [
"@Gender"
]
},
"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"
]
},
"@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"
]
},
"@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"
]
},
"@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"
]
},
"@Gender": {
"type": "enum",
"values": [
"GENDER_MALE",
"GENDER_FEMALE",
"GENDER_NONE"
]
}
}
}

View File

@ -1,17 +1,17 @@
consts_manifests = files(
'battle.json'
'battle.json',
'global.json',
'narc_files.json',
)
gen_consts_includes = include_directories('.')
gen_consts_root = meson.current_build_dir() / 'generated'
gen_c_consts_root = gen_consts_root / 'c'
gen_asm_consts_root = gen_consts_root / 'asm'
generated_c_consts = custom_target('gen_c_consts',
custom_target('generated_consts_c',
build_by_default: true,
capture: true,
output: 'gen_c_consts',
output: 'generated_consts_c',
input: consts_manifests,
command: [
constgen_py,
@ -20,3 +20,16 @@ generated_c_consts = custom_target('gen_c_consts',
'-l', 'c'
]
)
generated_consts_asm = custom_target('generated_consts_asm',
build_by_default: true,
capture: true,
output: 'generated_consts_asm',
input: consts_manifests,
command: [
constgen_py,
'-f', '@INPUT@',
'-r', gen_asm_consts_root,
'-l', 'asm'
]
)

311
consts/narc_files.json Normal file
View File

@ -0,0 +1,311 @@
{
"targets": {
"battle_subscripts": [
"@BattleSubscriptNARC"
]
},
"definitions": {
"@BattleSubscriptNARC": {
"type": "enum",
"values": [
"BATTLE_SUBSCRIPT_START_ENCOUNTER",
"BATTLE_SUBSCRIPT_USE_MOVE",
"BATTLE_SUBSCRIPT_UPDATE_HP",
"BATTLE_SUBSCRIPT_ESCAPE",
"BATTLE_SUBSCRIPT_BATTLE_WON",
"BATTLE_SUBSCRIPT_BATTLE_LOST",
"BATTLE_SUBSCRIPT_FAINT_MON",
"BATTLE_SUBSCRIPT_MISSED",
"BATTLE_SUBSCRIPT_ESCAPE_FAILED",
"BATTLE_SUBSCRIPT_SWITCH_POKEMON",
"BATTLE_SUBSCRIPT_SHOW_PARTY_LIST",
"BATTLE_SUBSCRIPT_THROW_POKEBALL",
"BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE",
"BATTLE_SUBSCRIPT_VANISH_ON_CHARGE_TURN",
"BATTLE_SUBSCRIPT_FLINCH_MON",
"BATTLE_SUBSCRIPT_FLINCHED",
"BATTLE_SUBSCRIPT_CRITICAL_HIT",
"BATTLE_SUBSCRIPT_HIT_X_TIMES",
"BATTLE_SUBSCRIPT_FALL_ASLEEP",
"BATTLE_SUBSCRIPT_WAKE_UP",
"BATTLE_SUBSCRIPT_SLEEPING",
"BATTLE_SUBSCRIPT_MOVE_FOLLOWUP_MESSAGE",
"BATTLE_SUBSCRIPT_POISON",
"BATTLE_SUBSCRIPT_POISON_DAMAGE",
"BATTLE_SUBSCRIPT_DRAIN_HALF_DAMAGE_DEALT",
"BATTLE_SUBSCRIPT_BURN",
"BATTLE_SUBSCRIPT_BURN_DAMAGE",
"BATTLE_SUBSCRIPT_FREEZE",
"BATTLE_SUBSCRIPT_FROZEN",
"BATTLE_SUBSCRIPT_THAW_OUT",
"BATTLE_SUBSCRIPT_DEFROSTED_BY_MOVE",
"BATTLE_SUBSCRIPT_PARALYZE",
"BATTLE_SUBSCRIPT_FULLY_PARALYZED",
"BATTLE_SUBSCRIPT_DREAM_EATER",
"BATTLE_SUBSCRIPT_RESET_ALL_STAT_STAGES",
"BATTLE_SUBSCRIPT_BIDE_START",
"BATTLE_SUBSCRIPT_BIDE_END",
"BATTLE_SUBSCRIPT_CONFUSE",
"BATTLE_SUBSCRIPT_CONFUSED",
"BATTLE_SUBSCRIPT_HURT_SELF_IN_CONFUSION",
"BATTLE_SUBSCRIPT_SNAP_OUT_OF_CONFUSION",
"BATTLE_SUBSCRIPT_TRAINER_MESSAGE",
"BATTLE_SUBSCRIPT_NO_PP",
"BATTLE_SUBSCRIPT_STRUGGLE",
"BATTLE_SUBSCRIPT_THRASH",
"BATTLE_SUBSCRIPT_CONVERSION",
"BATTLE_SUBSCRIPT_RECOVER_HALF_MAX_HP",
"BATTLE_SUBSCRIPT_BADLY_POISON",
"BATTLE_SUBSCRIPT_PAY_DAY",
"BATTLE_SUBSCRIPT_LIGHT_SCREEN",
"BATTLE_SUBSCRIPT_MOVE_EFFECT_END",
"BATTLE_SUBSCRIPT_THRASH_END",
"BATTLE_SUBSCRIPT_REFLECT",
"BATTLE_SUBSCRIPT_ANIMATION_PREPARED_MESSAGE",
"BATTLE_SUBSCRIPT_MIST",
"BATTLE_SUBSCRIPT_REST",
"BATTLE_SUBSCRIPT_UPROAR",
"BATTLE_SUBSCRIPT_SHOW_PREPARED_MESSAGE",
"BATTLE_SUBSCRIPT_BIND_START",
"BATTLE_SUBSCRIPT_BIND_EFFECT",
"BATTLE_SUBSCRIPT_BIND_END",
"BATTLE_SUBSCRIPT_CRASH_ON_MISS",
"BATTLE_SUBSCRIPT_FOCUS_ENERGY",
"BATTLE_SUBSCRIPT_RECOIL_1_4",
"BATTLE_SUBSCRIPT_RECHARGE_TURN",
"BATTLE_SUBSCRIPT_RECHARGING",
"BATTLE_SUBSCRIPT_SET_RAGE_FLAG",
"BATTLE_SUBSCRIPT_MIMIC",
"BATTLE_SUBSCRIPT_LEECH_SEED_START",
"BATTLE_SUBSCRIPT_LEECH_SEED_EFFECT",
"BATTLE_SUBSCRIPT_DISABLE_START",
"BATTLE_SUBSCRIPT_MOVE_IS_DISABLED",
"BATTLE_SUBSCRIPT_DISABLE_END",
"BATTLE_SUBSCRIPT_ENCORE_START",
"BATTLE_SUBSCRIPT_ENCORE_END",
"BATTLE_SUBSCRIPT_BUT_IT_FAILED",
"BATTLE_SUBSCRIPT_ATTACK_MESSAGE_AND_ANIMATION",
"BATTLE_SUBSCRIPT_PAIN_SPLIT",
"BATTLE_SUBSCRIPT_CONVERSION_2",
"BATTLE_SUBSCRIPT_LOCK_ON",
"BATTLE_SUBSCRIPT_SKETCH",
"BATTLE_SUBSCRIPT_FEINT",
"BATTLE_SUBSCRIPT_DESTINY_BOND",
"BATTLE_SUBSCRIPT_FAINT_CHECK_DESTINY_BOND",
"BATTLE_SUBSCRIPT_REDUCE_TARGET_PP",
"BATTLE_SUBSCRIPT_STEAL_ITEM",
"BATTLE_SUBSCRIPT_MEAN_LOOK",
"BATTLE_SUBSCRIPT_PROTECT",
"BATTLE_SUBSCRIPT_HEAL_BELL",
"BATTLE_SUBSCRIPT_TRY_SUBSTITUTE",
"BATTLE_SUBSCRIPT_HIT_SUBSTITUTE",
"BATTLE_SUBSCRIPT_FORCE_TARGET_TO_SWITCH_OR_FLEE",
"BATTLE_SUBSCRIPT_TRANSFORM_INTO_TARGET",
"BATTLE_SUBSCRIPT_NIGHTMARE_START",
"BATTLE_SUBSCRIPT_NIGHTMARE_EFFECT",
"BATTLE_SUBSCRIPT_MINIMIZE",
"BATTLE_SUBSCRIPT_CURSE_NORMAL",
"BATTLE_SUBSCRIPT_CURSE_GHOST",
"BATTLE_SUBSCRIPT_CURSE_DAMAGE",
"BATTLE_SUBSCRIPT_HAZARDS_CHECK",
"BATTLE_SUBSCRIPT_FORESIGHT",
"BATTLE_SUBSCRIPT_PERISH_SONG_START",
"BATTLE_SUBSCRIPT_CONTINUE_PERISH_SONG",
"BATTLE_SUBSCRIPT_WEATHER_START",
"BATTLE_SUBSCRIPT_WEATHER_CONTINUES",
"BATTLE_SUBSCRIPT_SWAGGER",
"BATTLE_SUBSCRIPT_INFATUATE",
"BATTLE_SUBSCRIPT_INFATUATED",
"BATTLE_SUBSCRIPT_IMMOBILIZED_BY_LOVE",
"BATTLE_SUBSCRIPT_SAFEGUARD_START",
"BATTLE_SUBSCRIPT_SAFEGUARD_END",
"BATTLE_SUBSCRIPT_RECOVER_HP",
"BATTLE_SUBSCRIPT_PRESENT_HEAL",
"BATTLE_SUBSCRIPT_MAGNITUDE",
"BATTLE_SUBSCRIPT_BATON_PASS",
"BATTLE_SUBSCRIPT_RAPID_SPIN",
"BATTLE_SUBSCRIPT_BREAK_BIND_EFFECT",
"BATTLE_SUBSCRIPT_BLOW_AWAY_HAZARDS",
"BATTLE_SUBSCRIPT_GIVE_TARGET_OWN_STATUS",
"BATTLE_SUBSCRIPT_BOOST_ALL_STATS",
"BATTLE_SUBSCRIPT_BELLY_DRUM",
"BATTLE_SUBSCRIPT_FUTURE_SIGHT_DAMAGE",
"BATTLE_SUBSCRIPT_TELEPORT",
"BATTLE_SUBSCRIPT_FUTURE_SIGHT_START",
"BATTLE_SUBSCRIPT_STOCKPILE",
"BATTLE_SUBSCRIPT_SWALLOW",
"BATTLE_SUBSCRIPT_PRINT_MESSAGE_AND_PLAY_ANIMATION",
"BATTLE_SUBSCRIPT_TORMENT_START",
"BATTLE_SUBSCRIPT_FLATTER",
"BATTLE_SUBSCRIPT_MEMENTO",
"BATTLE_SUBSCRIPT_HEAL_TARGET_PARALYSIS",
"BATTLE_SUBSCRIPT_CHARGE",
"BATTLE_SUBSCRIPT_TAUNT_START",
"BATTLE_SUBSCRIPT_MOVE_FAIL_TAUNTED",
"BATTLE_SUBSCRIPT_EXCHANGE_ITEMS",
"BATTLE_SUBSCRIPT_COPY_ABILITY",
"BATTLE_SUBSCRIPT_WISH_HEAL",
"BATTLE_SUBSCRIPT_INGRAIN_HEAL",
"BATTLE_SUBSCRIPT_USER_ATK_AND_DEF_DOWN_1_STAGE",
"BATTLE_SUBSCRIPT_MAGIC_COAT",
"BATTLE_SUBSCRIPT_BREAK_SCREENS",
"BATTLE_SUBSCRIPT_YAWN",
"BATTLE_SUBSCRIPT_KNOCK_OFF",
"BATTLE_SUBSCRIPT_EXCHANGE_ABILITIES",
"BATTLE_SUBSCRIPT_MOVE_IS_IMPRISONED",
"BATTLE_SUBSCRIPT_RECOVER_PSN_PRZ_BRN",
"BATTLE_SUBSCRIPT_SNATCH",
"BATTLE_SUBSCRIPT_RECOIL_1_3",
"BATTLE_SUBSCRIPT_TARGET_ATK_AND_DEF_DOWN_1_STAGE",
"BATTLE_SUBSCRIPT_USER_DEF_AND_SPDEF_UP_1_STAGE",
"BATTLE_SUBSCRIPT_USER_ATK_AND_DEF_UP_1_STAGE",
"BATTLE_SUBSCRIPT_USER_SPATK_AND_SPDEF_UP_1_STAGE",
"BATTLE_SUBSCRIPT_USER_ATK_AND_SPEED_UP_1_STAGE",
"BATTLE_SUBSCRIPT_PURSUIT",
"BATTLE_SUBSCRIPT_ROOST",
"BATTLE_SUBSCRIPT_HEAL_TARGET_SLEEP",
"BATTLE_SUBSCRIPT_GRAVITY_START",
"BATTLE_SUBSCRIPT_MOVE_FAIL_GRAVITY",
"BATTLE_SUBSCRIPT_MIRACLE_EYE",
"BATTLE_SUBSCRIPT_HEALING_WISH",
"BATTLE_SUBSCRIPT_TAILWIND_START",
"BATTLE_SUBSCRIPT_USER_DEF_AND_SPDEF_DOWN_1_STAGE",
"BATTLE_SUBSCRIPT_USER_SWAP_ATK_AND_DEF",
"BATTLE_SUBSCRIPT_SUPPRESS_TARGET_ABILITY",
"BATTLE_SUBSCRIPT_LUCKY_CHANT_START",
"BATTLE_SUBSCRIPT_EXCHANGE_ATK_AND_SPATK_STAGES",
"BATTLE_SUBSCRIPT_EXCHANGE_DEF_AND_SPDEF_STAGES",
"BATTLE_SUBSCRIPT_GIVE_TARGET_INSOMNIA",
"BATTLE_SUBSCRIPT_EXCHANGE_ALL_STAT_STAGES",
"BATTLE_SUBSCRIPT_AQUA_RING_HEAL",
"BATTLE_SUBSCRIPT_RECOIL_1_3_CHANCE_TO_BURN",
"BATTLE_SUBSCRIPT_DEFOG",
"BATTLE_SUBSCRIPT_DEFOG_MESSAGE",
"BATTLE_SUBSCRIPT_HEAL_BLOCK_START",
"BATTLE_SUBSCRIPT_MOVE_IS_HEAL_BLOCKED",
"BATTLE_SUBSCRIPT_ATTACK_THEN_SWITCH_OUT",
"BATTLE_SUBSCRIPT_MOVE_FAIL_MISSED",
"BATTLE_SUBSCRIPT_MOLD_BREAKER",
"BATTLE_SUBSCRIPT_ABILITY_RESTORES_HP",
"BATTLE_SUBSCRIPT_ABSORB_AND_BOOST_FIRE_TYPE_MOVES",
"BATTLE_SUBSCRIPT_LIGHTNING_ROD_REDIRECTED",
"BATTLE_SUBSCRIPT_BLOCKED_BY_SOUNDPROOF",
"BATTLE_SUBSCRIPT_ABSORB_AND_SPEED_UP_1_STAGE",
"BATTLE_SUBSCRIPT_DRIZZLE",
"BATTLE_SUBSCRIPT_SAND_STREAM",
"BATTLE_SUBSCRIPT_DROUGHT",
"BATTLE_SUBSCRIPT_INTIMIDATE",
"BATTLE_SUBSCRIPT_TRACE",
"BATTLE_SUBSCRIPT_COLOR_CHANGE",
"BATTLE_SUBSCRIPT_ROUGH_SKIN",
"BATTLE_SUBSCRIPT_ABILITY_RESTORE_STATUS",
"BATTLE_SUBSCRIPT_LOAFING_AROUND",
"BATTLE_SUBSCRIPT_ABILITY_HP_RESTORE_GRADUAL",
"BATTLE_SUBSCRIPT_AFTERMATH",
"BATTLE_SUBSCRIPT_ANTICIPATION",
"BATTLE_SUBSCRIPT_FOREWARN",
"BATTLE_SUBSCRIPT_SLOW_START",
"BATTLE_SUBSCRIPT_SLOW_START_END",
"BATTLE_SUBSCRIPT_HELD_ITEM_HP_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_PRZ_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_SLP_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_PSN_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_BRN_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_FRZ_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_PP_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_CNF_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_MULTI_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_DISLIKE_FLAVOR",
"BATTLE_SUBSCRIPT_HELD_ITEM_RAISE_STAT",
"BATTLE_SUBSCRIPT_HELD_ITEM_RAISE_CRIT",
"BATTLE_SUBSCRIPT_HELD_ITEM_SHARPLY_RAISE_STAT",
"BATTLE_SUBSCRIPT_HELD_ITEM_STATDOWN_RESTORE",
"BATTLE_SUBSCRIPT_HELD_ITEM_HEAL_INFATUATION",
"BATTLE_SUBSCRIPT_RESTORE_A_LITTLE_HP",
"BATTLE_SUBSCRIPT_LOSE_HP_FROM_ITEM",
"BATTLE_SUBSCRIPT_LOSE_HP_FROM_ITEM_WITH_MESSAGE",
"BATTLE_SUBSCRIPT_TRANSFER_STICKY_BARB",
"BATTLE_SUBSCRIPT_ITEM_SKIP_CHARGE_TURN",
"BATTLE_SUBSCRIPT_EMBARGO_START",
"BATTLE_SUBSCRIPT_PLUCK",
"BATTLE_SUBSCRIPT_FLING",
"BATTLE_SUBSCRIPT_ABILITY_FORBIDS_STATUS",
"BATTLE_SUBSCRIPT_ESCAPE_ITEM",
"BATTLE_SUBSCRIPT_BATTLE_ITEM",
"BATTLE_SUBSCRIPT_BAG_ITEM_HP_RESTORE",
"BATTLE_SUBSCRIPT_BAG_ITEM_PP_RESTORE",
"BATTLE_SUBSCRIPT_RECOIL_1_3_CHANCE_TO_PARALYZE",
"BATTLE_SUBSCRIPT_SAFARI_THROW_BAIT",
"BATTLE_SUBSCRIPT_SAFARI_THROW_ROCK",
"BATTLE_SUBSCRIPT_SAFARI_ESCAPE",
"BATTLE_SUBSCRIPT_ENEMY_ESCAPE",
"BATTLE_SUBSCRIPT_REPLACE_FAINTED",
"BATTLE_SUBSCRIPT_TIGHTEN_FOCUS",
"BATTLE_SUBSCRIPT_TAILWIND_END",
"BATTLE_SUBSCRIPT_RAINING_END",
"BATTLE_SUBSCRIPT_SANDSTORM_END",
"BATTLE_SUBSCRIPT_SUNNY_END",
"BATTLE_SUBSCRIPT_HAILING_END",
"BATTLE_SUBSCRIPT_GRAVITY_END",
"BATTLE_SUBSCRIPT_CANNOT_HEAL",
"BATTLE_SUBSCRIPT_UPROAR_CONTINUES",
"BATTLE_SUBSCRIPT_UPROAR_END",
"BATTLE_SUBSCRIPT_MAGNET_RISE_END",
"BATTLE_SUBSCRIPT_HEAL_BLOCK_END",
"BATTLE_SUBSCRIPT_EMBARGO_END",
"BATTLE_SUBSCRIPT_RAGE_IS_BUILDING",
"BATTLE_SUBSCRIPT_RECOIL_1_2",
"BATTLE_SUBSCRIPT_BURN_OR_FLINCH",
"BATTLE_SUBSCRIPT_FREEZE_OR_FLINCH",
"BATTLE_SUBSCRIPT_PARALYZE_OR_FLINCH",
"BATTLE_SUBSCRIPT_LUCKY_CHANT_END",
"BATTLE_SUBSCRIPT_TRICK_ROOM_END",
"BATTLE_SUBSCRIPT_SNOW_WARNING",
"BATTLE_SUBSCRIPT_FRISK",
"BATTLE_SUBSCRIPT_DISOBEY_WHILE_ASLEEP",
"BATTLE_SUBSCRIPT_DISOBEY_DO_NOTHING",
"BATTLE_SUBSCRIPT_DISOBEY_ORDERS",
"BATTLE_SUBSCRIPT_DISOBEY_SLEEP",
"BATTLE_SUBSCRIPT_DISOBEY_HIT_SELF",
"BATTLE_SUBSCRIPT_CHARGE_MOVE_CLEANUP",
"BATTLE_SUBSCRIPT_CHATTER",
"BATTLE_SUBSCRIPT_LUNAR_DANCE",
"BATTLE_SUBSCRIPT_FORM_CHANGE",
"BATTLE_SUBSCRIPT_BAD_DREAMS",
"BATTLE_SUBSCRIPT_TYPE_RESIST_BERRY",
"BATTLE_SUBSCRIPT_HELD_ITEM_TEMP_ACC_UP",
"BATTLE_SUBSCRIPT_HELD_ITEM_RECOIL_WHEN_HIT",
"BATTLE_SUBSCRIPT_USE_POTION",
"BATTLE_SUBSCRIPT_USE_STATUS_RECOVERY",
"BATTLE_SUBSCRIPT_USE_STAT_BOOSTER",
"BATTLE_SUBSCRIPT_USE_GUARD_SPEC",
"BATTLE_SUBSCRIPT_OVERWORLD_RAIN",
"BATTLE_SUBSCRIPT_OVERWORLD_HAIL",
"BATTLE_SUBSCRIPT_OVERWORLD_SAND",
"BATTLE_SUBSCRIPT_OVERWORLD_FOG",
"BATTLE_SUBSCRIPT_THROW_SAFARI_BALL",
"BATTLE_SUBSCRIPT_GRANT_EXP",
"BATTLE_SUBSCRIPT_AFTER_SELFDESTRUCT",
"BATTLE_SUBSCRIPT_CHECK_QUICK_CLAW",
"BATTLE_SUBSCRIPT_PUSH_ATTACKER_AND_DEFENDER",
"BATTLE_SUBSCRIPT_POP_ATTACKER_AND_DEFENDER",
"BATTLE_SUBSCRIPT_NO_TARGET",
"BATTLE_SUBSCRIPT_BIDE_NO_TARGET",
"BATTLE_SUBSCRIPT_LINK_WIN_LOSE",
"BATTLE_SUBSCRIPT_ESCAPE_SUCCESS",
"BATTLE_SUBSCRIPT_PRESSURE",
"BATTLE_SUBSCRIPT_ENEMY_ESCAPE_FAILED",
"BATTLE_SUBSCRIPT_VANISH_OFF",
"BATTLE_SUBSCRIPT_TAUNT_END",
"BATTLE_SUBSCRIPT_USE_FULL_RESTORE",
"BATTLE_SUBSCRIPT_PLUCK_CHECK",
"BATTLE_SUBSCRIPT_WAIT_MOVE_ANIMATION",
"BATTLE_SUBSCRIPT_POWER_HERB_SKULL_BASH",
"BATTLE_SUBSCRIPT_CHECK_SHAYMIN_FORM",
"BATTLE_SUBSCRIPT_OVERWORLD_SUN",
"BATTLE_SUBSCRIPT_OVERWORLD_TRICK_ROOM",
"BATTLE_SUBSCRIPT_GIRATINA_FORM_CHANGE"
]
}
}
}

View File

@ -10,126 +10,7 @@
#include "battle/battle_message.h"
#include "battle/btlcmd.h"
enum BattleContextParam {
BATTLECTX_SIDE_CONDITIONS_MASK = 0,
BATTLECTX_SIDE_MIST_TURNS,
BATTLECTX_SELECTED_PARTY_SLOT,
BATTLECTX_TOTAL_TURNS,
BATTLECTX_LEVEL_UP_MONS,
BATTLECTX_SAFARI_ESCAPE_COUNT,
BATTLECTX_TOTAL_FAINTED_FOR,
BATTLECTX_TOTAL_DAMAGE_FOR,
BATTLECTX_ACTION_FOR,
BATTLECTX_AICTX_DEFENDER,
BATTLECTX_SWITCHING_MASK,
BATTLECTX_AICTX_SELECTED_TARGET,
BATTLECTX_ACTION_TEMP_FOR,
BATTLECTX_CONTROL_COMMAND,
BATTLECTX_NEXT_CONTROL_COMMAND
};
enum BattleMonParam {
BATTLEMON_SPECIES = 0,
BATTLEMON_ATTACK,
BATTLEMON_DEFENSE,
BATTLEMON_SPEED,
BATTLEMON_SP_ATTACK,
BATTLEMON_SP_DEFENSE,
BATTLEMON_MOVE_1,
BATTLEMON_MOVE_2,
BATTLEMON_MOVE_3,
BATTLEMON_MOVE_4,
BATTLEMON_HP_IV,
BATTLEMON_ATTACK_IV,
BATTLEMON_DEFENSE_IV,
BATTLEMON_SPEED_IV,
BATTLEMON_SP_ATTACK_IV,
BATTLEMON_SP_DEFENSE_IV,
BATTLEMON_IS_EGG,
BATTLEMON_HAS_NICKNAME,
BATTLEMON_HP_STAGE,
BATTLEMON_ATTACK_STAGE,
BATTLEMON_DEFENSE_STAGE,
BATTLEMON_SPEED_STAGE,
BATTLEMON_SP_ATTACK_STAGE,
BATTLEMON_SP_DEFENSE_STAGE,
BATTLEMON_ACCURACY_STAGE,
BATTLEMON_EVASION_STAGE,
BATTLEMON_ABILITY,
BATTLEMON_TYPE_1,
BATTLEMON_TYPE_2,
BATTLEMON_GENDER,
BATTLEMON_IS_SHINY,
BATTLEMON_CUR_PP_1,
BATTLEMON_CUR_PP_2,
BATTLEMON_CUR_PP_3,
BATTLEMON_CUR_PP_4,
BATTLEMON_PP_UPS_1,
BATTLEMON_PP_UPS_2,
BATTLEMON_PP_UPS_3,
BATTLEMON_PP_UPS_4,
BATTLEMON_MAX_PP_1,
BATTLEMON_MAX_PP_2,
BATTLEMON_MAX_PP_3,
BATTLEMON_MAX_PP_4,
BATTLEMON_LEVEL,
BATTLEMON_FRIENDSHIP,
BATTLEMON_NICKNAME,
BATTLEMON_NICKNAME_STRBUF,
BATTLEMON_CUR_HP,
BATTLEMON_MAX_HP,
BATTLEMON_OT_NAME,
BATTLEMON_EXP,
BATTLEMON_PERSONALITY,
BATTLEMON_STATUS,
BATTLEMON_VOLATILE_STATUS,
BATTLEMON_OT_ID,
BATTLEMON_HELD_ITEM,
BATTLEMON_TIMES_DAMAGED,
BATTLEMON_TRAINER_MESSAGE_FLAGS,
BATTLEMON_OT_GENDER,
BATTLEMON_MOVE_EFFECTS_MASK,
BATTLEMON_MOVE_EFFECTS_TEMP,
BATTLEMON_DISABLED_TURNS,
BATTLEMON_ENCORED_TURNS,
BATTLEMON_CHARGED_TURNS,
BATTLEMON_TAUNTED_TURNS,
BATTLEMON_SUCCESSFUL_PROTECT_TURNS,
BATTLEMON_PERISH_SONG_TURNS,
BATTLEMON_ROLLOUT_COUNT,
BATTLEMON_FURY_CUTTER_COUNT,
BATTLEMON_STOCKPILE_COUNT,
BATTLEMON_STOCKPILE_DEF_BOOSTS,
BATTLEMON_STOCKPILE_SPDEF_BOOSTS,
BATTLEMON_TRUANT,
BATTLEMON_FLASH_FIRE,
BATTLEMON_LOCK_ON_TARGET,
BATTLEMON_MIMICKED_MOVE_SLOT,
BATTLEMON_BIND_TARGET,
BATTLEMON_MEAN_LOOK_TARGET,
BATTLEMON_LAST_RESORT_COUNT,
BATTLEMON_MAGNET_RISE_TURNS,
BATTLEMON_HEAL_BLOCK_TURNS,
BATTLEMON_EMBARGO_TURNS,
BATTLEMON_CAN_UNBURDEN,
BATTLEMON_METRONOME_TURNS,
BATTLEMON_MICLE_BERRY,
BATTLEMON_CUSTAP_BERRY,
BATTLEMON_QUICK_CLAW,
BATTLEMON_RECHARGE_TURN_NUMBER,
BATTLEMON_FAKE_OUT_TURN_NUMBER,
BATTLEMON_SLOW_START_TURN_NUMBER,
BATTLEMON_SUBSTITUTE_HP,
BATTLEMON_TRANSFORMED_PERSONALITY,
BATTLEMON_DISABLED_MOVE,
BATTLEMON_ENCORED_MOVE,
BATTLEMON_BINDING_MOVE,
BATTLEMON_ITEM_HP_RECOVERY,
BATTLEMON_SLOW_START_ANNOUNCED,
BATTLEMON_SLOW_START_FINISHED,
BATTLEMON_FORM_NUM,
BATTLEMON_TEMP = 100,
};
#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
@ -441,7 +322,7 @@ void Battler_UnlockMoveChoice(BattleSystem *battleSys, BattleContext *battleCtx,
* @param battler
* @return A value representing the battler's status non-volatile status.
*/
enum StatusEffect Battler_StatusCondition(BattleContext *battleCtx, int battler);
enum BattleAnimation Battler_StatusCondition(BattleContext *battleCtx, int battler);
/**
* @brief Check if the given trainer has a trainer message to be shown.

View File

@ -1,198 +1,19 @@
#ifndef POKEPLATINUM_BATTLE_BTLCMD_H
#define POKEPLATINUM_BATTLE_BTLCMD_H
enum BattleScriptVars {
BTLVAR_BATTLE_TYPE = 0,
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,
};
#ifndef __ASM_PM_
#include "consts/generated/c/btlcmd.h"
#endif
// TODO: move these to constgen
#define TRAINER_MESSAGE_LOSE 1
#define TRAINER_MESSAGE_LOSE_1 4
#define TRAINER_MESSAGE_LOSE_2 8
#define TRAINER_MESSAGE_WIN 100
#define BTLSCR_ALL_BATTLERS 0
#define BTLSCR_ATTACKER 1
#define BTLSCR_DEFENDER 2
#define BTLSCR_PLAYER 3
#define BTLSCR_ENEMY 4
#define BTLSCR_FAINTED_MON 5
#define BTLSCR_SWITCHED_MON 6
#define BTLSCR_SIDE_EFFECT_MON 7
#define BTLSCR_ABILITY_MON 8
#define BTLSCR_PLAYER_SLOT_1 9
#define BTLSCR_ENEMY_SLOT_1 10
#define BTLSCR_PLAYER_SLOT_2 11
#define BTLSCR_ENEMY_SLOT_2 12
// 13 undefined
#define BTLSCR_MSG_ATTACKER 14
#define BTLSCR_MSG_DEFENDER 15
#define BTLSCR_ATTACKER_PARTNER 16
#define BTLSCR_DEFENDER_PARTNER 17
#define BTLSCR_FORCED_OUT 18
#define BTLSCR_ATTACKER_ENEMY 19
#define BTLSCR_DEFENDER_ENEMY 20
#define BTLSCR_MSG_BATTLER_TEMP 21
#define BTLSCR_SWITCHED_MON_AFTER 22
#define BTLSCR_MSG_TEMP (0xFF)
#define WEATHER_EFFECT_HYDRATION 1
#define WEATHER_EFFECT_SOLAR_POWER 2
enum OpCode {
IFOP_EQU = 0,
IFOP_NEQ,
IFOP_GT,
IFOP_LTE,
IFOP_FLAG_SET,
IFOP_FLAG_NOT,
IFOP_AND,
VALOP_SET,
VALOP_ADD,
VALOP_SUB,
VALOP_FLAG_ON,
VALOP_FLAG_OFF,
VALOP_MUL,
VALOP_DIV,
VALOP_LSH,
VALOP_RSH,
VALOP_FLAG_INDEX,
VALOP_GET,
VALOP_SUB_TO_ZERO,
VALOP_XOR,
VALOP_AND,
};
enum CheckHaveOp {
CHECK_HAVE,
CHECK_NOT_HAVE,
};
enum StatusEffect {
STATUS_EFFECT_NONE = 0,
STATUS_EFFECT_SLEEP,
STATUS_EFFECT_POISON,
STATUS_EFFECT_BURN,
STATUS_EFFECT_FREEZE,
STATUS_EFFECT_PARALYSIS,
STATUS_EFFECT_LEVEL_UP = 8,
STATUS_EFFECT_STAGE_UP = 12,
STATUS_EFFECT_STAGE_DOWN,
STATUS_EFFECT_CHANGE_FORM_OUT = 15,
STATUS_EFFECT_CHANGE_FORM_IN,
STATUS_EFFECT_ITEM_ESCAPE,
STATUS_EFFECT_WEATHER_FOG,
STATUS_EFFECT_WEATHER_RAIN,
STATUS_EFFECT_WEATHER_HAIL,
STATUS_EFFECT_WEATHER_SAND,
STATUS_EFFECT_WEATHER_SUN,
STATUS_EFFECT_SUBSTITUTE_ON = 25,
STATUS_EFFECT_SUBSTITUTE_OFF,
};
enum MessageStatusCondition {
MSGCOND_SLEEP = 0,
MSGCOND_POISON,
MSGCOND_BURN,
MSGCOND_PARALYSIS,
MSGCOND_FREEZE,
MSGCOND_CONFUSION,
MSGCOND_INFATUATION,
};
enum TurnFlag {
TURN_FLAG_STRUGGLING = 0,
TURN_FLAG_PP_DECREMENTED,
TURN_FLAG_PROTECTING,
TURN_FLAG_HELPING_HAND,
TURN_FLAG_MAGIC_COAT,
TURN_FLAG_SNATCHING,
TURN_FLAG_ROOSTING,
};
enum CheckSideConditionOp {
CHECK_SIDE_COND_VAL_ZERO = 0,
CHECK_SIDE_COND_VAL_NOT_ZERO,
CHECK_SIDE_COND_CLEAR,
};
enum SideCondition {
SIDE_COND_REFLECT_TURNS = 0,
SIDE_COND_LIGHT_SCREEN_TURNS,
SIDE_COND_MIST_TURNS,
SIDE_COND_SAFEGUARD_TURNS,
SIDE_COND_SPIKES_LAYERS,
SIDE_COND_TOXIC_SPIKES_LAYERS,
};
#endif // POKEPLATINUM_BATTLE_BTLCMD_H

View File

@ -1,131 +0,0 @@
#ifndef POKEPLATINUM_CONSTANTS_ABILITIES_H
#define POKEPLATINUM_CONSTANTS_ABILITIES_H
enum Ability {
ABILITY_NONE = 0,
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,
};
#endif // POKEPLATINUM_CONSTANTS_ABILITIES_H

View File

@ -1,17 +1,33 @@
#ifndef POKEPLATINUM_CONSTANTS_BATTLE_H
#define POKEPLATINUM_CONSTANTS_BATTLE_H
#ifndef __ASM_PM_
#include "consts/generated/c/battle.h"
enum BattleActions {
BATTLE_ACTION_PICK_COMMAND = 0,
BATTLE_ACTION_CHOOSE_TARGET,
BATTLE_ACTION_TEMP_VALUE,
BATTLE_ACTION_SELECTED_COMMAND,
MAX_BATTLE_ACTIONS
};
enum BattlerBootState {
BATTLER_BOOT_STATE_NORMAL = 0,
BATTLER_BOOT_STATE_AI,
BATTLER_BOOT_STATE_LINK,
};
#endif
#include "constants/battle/condition.h"
#include "constants/battle/message_tags.h"
#include "constants/battle/moves.h"
#include "constants/battle/scripts.h"
#include "constants/battle/side_effects.h"
#include "constants/battle/system_control.h"
#include "constants/battle/terrain.h"
#include "constants/battle/turn_flags.h"
#include "consts/generated/c/battle.h"
#define BATTLE_TYPE_SINGLES (0 << 0)
#define BATTLE_TYPE_WILD_MON (0 << 0)
#define BATTLE_TYPE_TRAINER (1 << 0)
@ -147,19 +163,4 @@
#define NO_PARTNER_SLOT_1 (1 << 2)
#define NO_PARTNER_SLOT_2 (1 << 3)
enum BattleActions {
BATTLE_ACTION_PICK_COMMAND = 0,
BATTLE_ACTION_CHOOSE_TARGET,
BATTLE_ACTION_TEMP_VALUE,
BATTLE_ACTION_SELECTED_COMMAND,
MAX_BATTLE_ACTIONS
};
enum BattlerBootState {
BATTLER_BOOT_STATE_NORMAL = 0,
BATTLER_BOOT_STATE_AI,
BATTLER_BOOT_STATE_LINK,
};
#endif // POKEPLATINUM_CONSTANTS_BATTLE_H

View File

@ -2,31 +2,51 @@
#define POKEPLATINUM_CONSTANTS_BATTLE_CONDITION_H
#define MON_CONDITION_NONE 0
#define MON_CONDITION_SLEEP ((1 << 0) | (1 << 1) | (1 << 2)) // counter for the number of sleep turns remaining
#define MON_CONDITION_SLEEP_0 (1 << 0)
#define MON_CONDITION_SLEEP_1 (1 << 1)
#define MON_CONDITION_SLEEP_2 (1 << 2)
#define MON_CONDITION_POISON (1 << 3)
#define MON_CONDITION_BURN (1 << 4)
#define MON_CONDITION_FREEZE (1 << 5)
#define MON_CONDITION_PARALYSIS (1 << 6)
#define MON_CONDITION_TOXIC (1 << 7)
#define MON_CONDITION_TOXIC_COUNTER ((1 << 8) | (1 << 9) | (1 << 10) | (1 << 11)) // counter for increasing Toxic damage
#define MON_CONDITION_TOXIC_COUNT_INC ((1 << 8)) // increment value for the Toxic counter
#define MON_CONDITION_TOXIC_COUNTER_0 (1 << 8)
#define MON_CONDITION_TOXIC_COUNTER_1 (1 << 9)
#define MON_CONDITION_TOXIC_COUNTER_2 (1 << 10)
#define MON_CONDITION_TOXIC_COUNTER_3 (1 << 11)
#define MON_CONDITION_TOXIC_COUNT_INC MON_CONDITION_TOXIC_COUNTER_0
#define MON_CONDITION_SLEEP (MON_CONDITION_SLEEP_0 | MON_CONDITION_SLEEP_1 | MON_CONDITION_SLEEP_2)
#define MON_CONDITION_TOXIC_COUNTER (MON_CONDITION_TOXIC_COUNTER_0 | MON_CONDITION_TOXIC_COUNTER_1 | MON_CONDITION_TOXIC_COUNTER_2 | MON_CONDITION_TOXIC_COUNTER_3)
#define MON_CONDITION_ANY_POISON (MON_CONDITION_POISON | MON_CONDITION_TOXIC | MON_CONDITION_TOXIC_COUNTER)
#define MON_CONDITION_ANY (MON_CONDITION_SLEEP | MON_CONDITION_POISON | MON_CONDITION_BURN | MON_CONDITION_FREEZE | MON_CONDITION_PARALYSIS | MON_CONDITION_TOXIC)
#define MON_CONDITION_NOT_SLEEP ~MON_CONDITION_SLEEP
#define MON_CONDITION_CAN_SYNCHRONIZE (MON_CONDITION_POISON | MON_CONDITION_BURN | MON_CONDITION_PARALYSIS)
#define MON_CONDITION_FACADE_BOOST (MON_CONDITION_TOXIC | MON_CONDITION_POISON | MON_CONDITION_BURN | MON_CONDITION_PARALYSIS)
#define VOLATILE_CONDITION_NONE 0
#define VOLATILE_CONDITION_CONFUSION ((1 << 0) | (1 << 1) | (1 << 2)) // counter for the number of confusion turns remaining
#define VOLATILE_CONDITION_CONFUSION_0 (1 << 0)
#define VOLATILE_CONDITION_CONFUSION_1 (1 << 1)
#define VOLATILE_CONDITION_CONFUSION_2 (1 << 2)
#define VOLATILE_CONDITION_FLINCH (1 << 3)
#define VOLATILE_CONDITION_UPROAR ((1 << 4) | (1 << 5) | (1 << 6)) // counter for the number of Uproar turns remaining
#define VOLATILE_CONDITION_UPROAR_0 (1 << 4)
#define VOLATILE_CONDITION_UPROAR_1 (1 << 5)
#define VOLATILE_CONDITION_UPROAR_2 (1 << 6)
// unused flag: 1 << 7
#define VOLATILE_CONDITION_BIDE ((1 << 8) | (1 << 9)) // counter for the number of Bide turns remaining
#define VOLATILE_CONDITION_THRASH ((1 << 10) | (1 << 11)) // counter for the number of Thrash turns remaining
#define VOLATILE_CONDITION_BIDE_0 (1 << 8)
#define VOLATILE_CONDITION_BIDE_1 (1 << 9)
#define VOLATILE_CONDITION_THRASH_0 (1 << 10)
#define VOLATILE_CONDITION_THRASH_1 (1 << 11)
#define VOLATILE_CONDITION_MOVE_LOCKED (1 << 12)
#define VOLATILE_CONDITION_BIND ((1 << 13) | (1 << 14) | (1 << 15)) // counter for the number of Bind turns remaining
#define VOLATILE_CONDITION_ATTRACT ((1 << 16) | (1 << 17) | (1 << 18) | (1 << 19)) // each bit here defines which battlers the mon is infatuated with
#define VOLATILE_CONDITION_BIND_0 (1 << 13)
#define VOLATILE_CONDITION_BIND_1 (1 << 14)
#define VOLATILE_CONDITION_BIND_2 (1 << 15)
#define VOLATILE_CONDITION_ATTRACT_0 (1 << 16)
#define VOLATILE_CONDITION_ATTRACT_1 (1 << 17)
#define VOLATILE_CONDITION_ATTRACT_2 (1 << 18)
#define VOLATILE_CONDITION_ATTRACT_3 (1 << 19)
#define VOLATILE_CONDITION_FOCUS_ENERGY (1 << 20)
#define VOLATILE_CONDITION_TRANSFORM (1 << 21)
#define VOLATILE_CONDITION_RECHARGING (1 << 22)
@ -40,6 +60,13 @@
#define VOLATILE_CONDITION_DEFENSE_CURL (1 << 30)
#define VOLATILE_CONDITION_TORMENT (1 << 31)
#define VOLATILE_CONDITION_CONFUSION (VOLATILE_CONDITION_CONFUSION_0 | VOLATILE_CONDITION_CONFUSION_1 | VOLATILE_CONDITION_CONFUSION_2)
#define VOLATILE_CONDITION_UPROAR (VOLATILE_CONDITION_UPROAR_0 | VOLATILE_CONDITION_UPROAR_1 | VOLATILE_CONDITION_UPROAR_2)
#define VOLATILE_CONDITION_BIDE (VOLATILE_CONDITION_BIDE_0 | VOLATILE_CONDITION_BIDE_1)
#define VOLATILE_CONDITION_THRASH (VOLATILE_CONDITION_THRASH_0 | VOLATILE_CONDITION_THRASH_1)
#define VOLATILE_CONDITION_BIND (VOLATILE_CONDITION_BIND_0 | VOLATILE_CONDITION_BIND_1 | VOLATILE_CONDITION_BIND_2)
#define VOLATILE_CONDITION_ATTRACT (VOLATILE_CONDITION_ATTRACT_0 | VOLATILE_CONDITION_ATTRACT_1 | VOLATILE_CONDITION_ATTRACT_2 | VOLATILE_CONDITION_ATTRACT_3)
#define VOLATILE_CONDITION_BATON_PASSED (VOLATILE_CONDITION_FOCUS_ENERGY \
| VOLATILE_CONDITION_MEAN_LOOK \
| VOLATILE_CONDITION_CONFUSION \
@ -55,21 +82,27 @@
#define VOLATILE_CONDITION_BIND_SHIFT 13
#define VOLATILE_CONDITION_ATTRACT_SHIFT 16
#define SIDE_CONDITION_REFLECT (1 << 0)
#define SIDE_CONDITION_LIGHT_SCREEN (1 << 1)
#define SIDE_CONDITION_SPIKES (1 << 2)
#define SIDE_CONDITION_SAFEGUARD (1 << 3)
#define SIDE_CONDITION_FUTURE_SIGHT (1 << 4)
#define SIDE_CONDITION_WISH (1 << 5)
#define SIDE_CONDITION_MIST (1 << 6)
#define SIDE_CONDITION_STEALTH_ROCK (1 << 7)
#define SIDE_CONDITION_TAILWIND ((1 << 8) | (1 << 9)) // counter for the number of Tailwind turns remaining
#define SIDE_CONDITION_TOXIC_SPIKES (1 << 10)
#define SIDE_CONDITION_REFLECT (1 << 0)
#define SIDE_CONDITION_LIGHT_SCREEN (1 << 1)
#define SIDE_CONDITION_SPIKES (1 << 2)
#define SIDE_CONDITION_SAFEGUARD (1 << 3)
#define SIDE_CONDITION_FUTURE_SIGHT (1 << 4)
#define SIDE_CONDITION_WISH (1 << 5)
#define SIDE_CONDITION_MIST (1 << 6)
#define SIDE_CONDITION_STEALTH_ROCK (1 << 7)
#define SIDE_CONDITION_TAILWIND_0 (1 << 8)
#define SIDE_CONDITION_TAILWIND_1 (1 << 9)
#define SIDE_CONDITION_TOXIC_SPIKES (1 << 10)
// unused flag: 1 << 11
#define SIDE_CONDITION_LUCKY_CHANT ((1 << 12) | (1 << 13) | (1 << 14)) // counter for the number of Lucky Chant turns remaining
#define SIDE_CONDITION_LUCKY_CHANT_0 (1 << 12)
#define SIDE_CONDITION_LUCKY_CHANT_1 (1 << 13)
#define SIDE_CONDITION_LUCKY_CHANT_2 (1 << 14)
#define SIDE_CONDITION_TAILWIND_SHIFT (1 << 8)
#define SIDE_CONDITION_LUCKY_CHANT_SHIFT (1 << 12)
#define SIDE_CONDITION_TAILWIND (SIDE_CONDITION_TAILWIND_0 | SIDE_CONDITION_TAILWIND_1)
#define SIDE_CONDITION_LUCKY_CHANT (SIDE_CONDITION_LUCKY_CHANT_0 | SIDE_CONDITION_LUCKY_CHANT_1 | SIDE_CONDITION_LUCKY_CHANT_2)
#define SIDE_CONDITION_TAILWIND_SHIFT SIDE_CONDITION_TAILWIND_0
#define SIDE_CONDITION_LUCKY_CHANT_SHIFT SIDE_CONDITION_LUCKY_CHANT_0
#define FIELD_CONDITION_RAINING_TEMP (1 << 0)
#define FIELD_CONDITION_RAINING_PERM (1 << 1)
@ -80,9 +113,13 @@
#define FIELD_CONDITION_HAILING_TEMP (1 << 6)
#define FIELD_CONDITION_HAILING_PERM (1 << 7)
#define FIELD_CONDITION_UPROAR ((1 << 8) | (1 << 9) | (1 << 10) | (1 << 11)) // mask for which clients are in an Uproar
#define FIELD_CONDITION_GRAVITY ((1 << 12) | (1 << 13) | (1 << 14)) // counter for the number of Gravity turns remaining
#define FIELD_CONDITION_GRAVITY_0 (1 << 12)
#define FIELD_CONDITION_GRAVITY_1 (1 << 13)
#define FIELD_CONDITION_GRAVITY_2 (1 << 14)
#define FIELD_CONDITION_DEEP_FOG (1 << 15)
#define FIELD_CONDITION_TRICK_ROOM ((1 << 16) | (1 << 17) | (1 << 18)) // counter for the number of Trick Room turns remaining
#define FIELD_CONDITION_TRICK_ROOM_0 (1 << 16)
#define FIELD_CONDITION_TRICK_ROOM_1 (1 << 17)
#define FIELD_CONDITION_TRICK_ROOM_2 (1 << 18)
#define FIELD_CONDITION_RAINING (FIELD_CONDITION_RAINING_TEMP | FIELD_CONDITION_RAINING_PERM)
#define FIELD_CONDITION_SANDSTORM (FIELD_CONDITION_SANDSTORM_TEMP | FIELD_CONDITION_SANDSTORM_PERM)
@ -99,6 +136,11 @@
| FIELD_CONDITION_DEEP_FOG)
#define FIELD_CONDITION_CASTFORM (FIELD_CONDITION_RAINING | FIELD_CONDITION_SUNNY | FIELD_CONDITION_HAILING)
#define FIELD_CONDITION_GRAVITY (FIELD_CONDITION_GRAVITY_0 | FIELD_CONDITION_GRAVITY_1 | FIELD_CONDITION_GRAVITY_2)
#define FIELD_CONDITION_GRAVITY_INIT (FIELD_CONDITION_GRAVITY_0 | FIELD_CONDITION_GRAVITY_2)
#define FIELD_CONDITION_TRICK_ROOM (FIELD_CONDITION_TRICK_ROOM_0 | FIELD_CONDITION_TRICK_ROOM_1 | FIELD_CONDITION_TRICK_ROOM_2)
#define FIELD_CONDITION_TRICK_ROOM_INIT (FIELD_CONDITION_TRICK_ROOM_0 | FIELD_CONDITION_TRICK_ROOM_2)
#define FIELD_CONDITION_UPROAR_SHIFT 8
#define FIELD_CONDITION_GRAVITY_SHIFT 12
#define FIELD_CONDITION_TRICK_ROOM_SHIFT 16
@ -125,4 +167,4 @@
#define OVERWORLD_WEATHER_HARSH_SUN 1001
#define OVERWORLD_WEATHER_TRICK_ROOM 1002
#endif // POKEPLATINUM_CONSTANTS_BATTLE_CONDITION_H
#endif // POKEPLATINUM_CONSTANTS_BATTLE_CONDITION_H

View File

@ -3,6 +3,5 @@
#define TAG_SIDE_LOCAL_MESSAGE (1 << 6) // adjust the message for the side's source (e.g. "The foe's X used Y!")
#define TAG_GLOBAL_MESSAGE (1 << 7) // do not perform any message adjustment for a calling side
#define TAG_IGNORE_SIDES ~(TAG_USE_DIRECTION | TAG_SKIP_DIRECTION)
#endif // POKEPLATINUM_CONSTANTS_BATTLE_MESSAGE_TAGS_H

View File

@ -2,16 +2,19 @@
#define POKEPLATINUM_CONSTANTS_BATTLE_MOVES_H
#define MOVE_EFFECT_NONE 0
#define MOVE_EFFECT_LEECH_SEED_RECIPIENT ((1 << 0) | (1 << 1)) // each bit defines which opponent receives the healing effect
#define MOVE_EFFECT_LEECH_SEED_RECIPIENT_0 (1 << 0)
#define MOVE_EFFECT_LEECH_SEED_RECIPIENT_1 (1 << 1)
#define MOVE_EFFECT_LEECH_SEED (1 << 2)
#define MOVE_EFFECT_LOCK_ON ((1 << 3) | (1 << 4)) // counter for the number of Lock On turns remaining
#define MOVE_EFFECT_LOCK_ON_0 (1 << 3)
#define MOVE_EFFECT_LOCK_ON_1 (1 << 4)
#define MOVE_EFFECT_PERISH_SONG (1 << 5)
#define MOVE_EFFECT_AIRBORNE (1 << 6) // Fly, Bounce
#define MOVE_EFFECT_UNDERGROUND (1 << 7) // Dig
#define MOVE_EFFECT_MINIMIZE (1 << 8)
#define MOVE_EFFECT_CHARGE (1 << 9)
#define MOVE_EFFECT_INGRAIN (1 << 10)
#define MOVE_EFFECT_YAWN ((1 << 11) | (1 << 12))
#define MOVE_EFFECT_YAWN_0 (1 << 11)
#define MOVE_EFFECT_YAWN_1 (1 << 12)
#define MOVE_EFFECT_IMPRISON (1 << 13) // applied to mons which use Imprison
#define MOVE_EFFECT_GRUDGE (1 << 14)
#define MOVE_EFFECT_NO_CRITICAL (1 << 15) // checked for, but never set
@ -31,25 +34,17 @@
#define MOVE_EFFECT_SHADOW_FORCE (1 << 29)
#define MOVE_EFFECT_IMPRISONED (1 << 30) // applied to mons which are affected by Imprison
#define MOVE_EFFECT_SEMI_INVULNERABLE (MOVE_EFFECT_AIRBORNE \
| MOVE_EFFECT_UNDERGROUND \
| MOVE_EFFECT_UNDERWATER \
| MOVE_EFFECT_SHADOW_FORCE)
#define MOVE_EFFECT_BATON_PASSED (MOVE_EFFECT_LEECH_SEED_RECIPIENT \
| MOVE_EFFECT_LEECH_SEED \
| MOVE_EFFECT_LOCK_ON \
| MOVE_EFFECT_PERISH_SONG \
| MOVE_EFFECT_INGRAIN \
| MOVE_EFFECT_MUD_SPORT \
| MOVE_EFFECT_WATER_SPORT \
| MOVE_EFFECT_NO_CRITICAL \
| MOVE_EFFECT_POWER_TRICK \
| MOVE_EFFECT_AQUA_RING \
| MOVE_EFFECT_ABILITY_SUPPRESSED \
| MOVE_EFFECT_EMBARGO \
| MOVE_EFFECT_HEAL_BLOCK \
| MOVE_EFFECT_MAGNET_RISE)
#define MOVE_EFFECT_NO_WEATHER_DAMAGE (MOVE_EFFECT_UNDERGROUND | MOVE_EFFECT_UNDERWATER)
#define MOVE_EFFECT_LEECH_SEED_RECIPIENT (MOVE_EFFECT_LEECH_SEED_RECIPIENT_0 | MOVE_EFFECT_LEECH_SEED_RECIPIENT_1)
#define MOVE_EFFECT_LOCK_ON (MOVE_EFFECT_LOCK_ON_0 | MOVE_EFFECT_LOCK_ON_1)
#define MOVE_EFFECT_YAWN (MOVE_EFFECT_YAWN_0 | MOVE_EFFECT_YAWN_1)
#define MOVE_EFFECT_SEMI_INVULNERABLE (MOVE_EFFECT_AIRBORNE | MOVE_EFFECT_UNDERGROUND | MOVE_EFFECT_UNDERWATER | MOVE_EFFECT_SHADOW_FORCE)
#define MOVE_EFFECT_BATON_PASSED (MOVE_EFFECT_LEECH_SEED_RECIPIENT | MOVE_EFFECT_LEECH_SEED | MOVE_EFFECT_LOCK_ON | MOVE_EFFECT_PERISH_SONG | MOVE_EFFECT_INGRAIN \
| MOVE_EFFECT_MUD_SPORT | MOVE_EFFECT_WATER_SPORT | MOVE_EFFECT_NO_CRITICAL | MOVE_EFFECT_POWER_TRICK|MOVE_EFFECT_AQUA_RING \
| MOVE_EFFECT_ABILITY_SUPPRESSED | MOVE_EFFECT_EMBARGO | MOVE_EFFECT_HEAL_BLOCK | MOVE_EFFECT_MAGNET_RISE)
#define MOVE_EFFECT_NO_WEATHER_DAMAGE (MOVE_EFFECT_UNDERGROUND | MOVE_EFFECT_UNDERWATER)
#define MOVE_EFFECT_LOCK_ON_SHIFT 3
#define MOVE_EFFECT_YAWN_SHIFT 11
@ -80,23 +75,11 @@
#define MOVE_STATUS_NO_MORE_WORK (1 << 31)
#define MOVE_STATUS_DID_NOT_HIT (MOVE_STATUS_MISSED \
| MOVE_STATUS_INEFFECTIVE \
| MOVE_STATUS_FAILED \
| MOVE_STATUS_LEVITATED \
| MOVE_STATUS_ONE_HIT_KO_FAILED \
| MOVE_STATUS_MULTI_HIT_DISRUPTED \
| MOVE_STATUS_PROTECTED \
| MOVE_STATUS_SEMI_INVULNERABLE \
| MOVE_STATUS_LOST_FOCUS \
| MOVE_STATUS_WONDER_GUARD \
| MOVE_STATUS_STURDY \
| MOVE_STATUS_MAGNET_RISE)
#define MOVE_STATUS_NO_EFFECTS (MOVE_STATUS_DID_NOT_HIT \
| MOVE_STATUS_NO_PP \
| MOVE_STATUS_NO_MORE_WORK)
#define MOVE_STATUS_DID_NOT_HIT (MOVE_STATUS_MISSED | MOVE_STATUS_INEFFECTIVE | MOVE_STATUS_FAILED | MOVE_STATUS_LEVITATED \
| MOVE_STATUS_ONE_HIT_KO_FAILED | MOVE_STATUS_MULTI_HIT_DISRUPTED | MOVE_STATUS_PROTECTED | MOVE_STATUS_SEMI_INVULNERABLE \
| MOVE_STATUS_LOST_FOCUS | MOVE_STATUS_WONDER_GUARD | MOVE_STATUS_STURDY | MOVE_STATUS_MAGNET_RISE)
#define MOVE_STATUS_NO_EFFECTS (MOVE_STATUS_DID_NOT_HIT | MOVE_STATUS_NO_PP | MOVE_STATUS_NO_MORE_WORK)
#define MOVE_STATUS_DID_NOT_AFFECT (MOVE_STATUS_INEFFECTIVE | MOVE_STATUS_WONDER_GUARD)
#define MOVE_STATUS_IMMUNE (MOVE_STATUS_DID_NOT_AFFECT | MOVE_STATUS_LEVITATED | MOVE_STATUS_MAGNET_RISE)
#define MOVE_STATUS_GENERAL_MISS (MOVE_STATUS_MISSED | MOVE_STATUS_SEMI_INVULNERABLE)
@ -115,10 +98,7 @@
#define RANGE_USER_OR_ALLY (1 << 9)
#define RANGE_SINGLE_TARGET_ME_FIRST (1 << 10)
#define RANGE_MY_SIDE (RANGE_SINGLE_TARGET_SPECIAL \
| RANGE_USER \
| RANGE_FIELD \
| RANGE_USER_OR_ALLY)
#define RANGE_MY_SIDE (RANGE_SINGLE_TARGET_SPECIAL | RANGE_USER | RANGE_FIELD | RANGE_USER_OR_ALLY)
#define MOVE_FLAG_MAKES_CONTACT (1 << 0)
#define MOVE_FLAG_CAN_PROTECT (1 << 1)
@ -129,4 +109,4 @@
#define MOVE_FLAG_HIDES_HP_GAUGES (1 << 6)
#define MOVE_FLAG_HIDES_SHADOWS (1 << 7)
#endif // POKEPLATINUM_CONSTANTS_BATTLE_MOVES_H
#endif // POKEPLATINUM_CONSTANTS_BATTLE_MOVES_H

View File

@ -1,12 +0,0 @@
#ifndef POKEPLATINUM_CONSTANTS_BATTLE_SCRIPTS_H
#define POKEPLATINUM_CONSTANTS_BATTLE_SCRIPTS_H
enum {
BATTLE_SCRIPT_ANIMATION_DEEP_FOG = 18,
BATTLE_SCRIPT_ANIMATION_RAINING,
BATTLE_SCRIPT_ANIMATION_HAILING,
BATTLE_SCRIPT_ANIMATION_SANDSTORM,
BATTLE_SCRIPT_ANIMATION_SUNNY,
};
#endif // POKEPLATINUM_CONSTANTS_BATTLE_SCRIPTS_H

View File

@ -11,15 +11,10 @@
#define MOVE_SIDE_EFFECT_TO_ATTACKER (1 << 30)
#define MOVE_SIDE_EFFECT_TO_DEFENDER (1 << 31)
#define MOVE_SIDE_EFFECT_FLAGS (MOVE_SIDE_EFFECT_BREAK_SCREENS \
| MOVE_SIDE_EFFECT_CHECK_SUBSTITUTE \
| MOVE_SIDE_EFFECT_CHECK_HP_AND_SUBSTITUTE \
| MOVE_SIDE_EFFECT_PROBABILISTIC \
| MOVE_SIDE_EFFECT_CANNOT_PREVENT \
| MOVE_SIDE_EFFECT_CHECK_HP \
| MOVE_SIDE_EFFECT_ON_HIT \
| MOVE_SIDE_EFFECT_TO_ATTACKER \
| MOVE_SIDE_EFFECT_TO_DEFENDER)
#define MOVE_SIDE_EFFECT_FLAGS (MOVE_SIDE_EFFECT_BREAK_SCREENS | MOVE_SIDE_EFFECT_CHECK_SUBSTITUTE | MOVE_SIDE_EFFECT_CHECK_HP_AND_SUBSTITUTE \
| MOVE_SIDE_EFFECT_PROBABILISTIC | MOVE_SIDE_EFFECT_CANNOT_PREVENT | MOVE_SIDE_EFFECT_CHECK_HP \
| MOVE_SIDE_EFFECT_ON_HIT | MOVE_SIDE_EFFECT_TO_ATTACKER | MOVE_SIDE_EFFECT_TO_DEFENDER)
#define MOVE_SIDE_EFFECT_SUBSCRIPT_POINTER (~MOVE_SIDE_EFFECT_FLAGS)
#endif // POKEPLATINUM_CONSTANTS_BATTLE_SIDE_EFFECTS_H

View File

@ -28,51 +28,41 @@
#define SYSCTL_MON_FAINTED ((1 << 24) | (1 << 25) | (1 << 26) | (1 << 27))
#define SYSCTL_MON_SELFDESTRUCTED ((1 << 28) | (1 << 29) | (1 << 30) | (1 << 31))
#define SYSCTL_INIT (~(SYSCTL_SKIP_ATTACK_MESSAGE \
| SYSCTL_CHECK_LOOP_ONLY_ONCE \
| SYSCTL_HIT_DURING_FLY \
| SYSCTL_HIT_DURING_DIG \
| SYSCTL_HIT_DURING_DIVE \
| SYSCTL_FIRST_OF_MULTI_TURN \
| SYSCTL_SKIP_SPRITE_BLINK \
| SYSCTL_TRY_SYNCHRONIZE_STATUS \
| SYSCTL_BATON_PASS \
| SYSCTL_LAST_OF_MULTI_TURN \
| SYSCTL_NONSTANDARD_ACC_CHECK \
| SYSCTL_IGNORE_TYPE_CHECKS \
| SYSCTL_CRASH_DAMAGE \
| SYSCTL_MOVE_HIT \
| SYSCTL_PLAYED_MOVE_ANIMATION \
| SYSCTL_IGNORE_IMMUNITIES \
| SYSCTL_MULTI_HIT_SKIP_MESSAGE \
| SYSCTL_FAIL_STAT_STAGE_CHANGE \
| SYSCTL_MESSAGE_AFTER_MISS \
| SYSCTL_HIT_DURING_SHADOW_FORCE \
| SYSCTL_REUSE_LAST_MOVE \
| SYSCTL_TURN_OFF_MESSAGES \
| SYSCTL_APPLY_SECONDARY_EFFECT))
#define SYSCTL_INIT_P1 (SYSCTL_SKIP_ATTACK_MESSAGE | SYSCTL_CHECK_LOOP_ONLY_ONCE | SYSCTL_HIT_DURING_FLY \
| SYSCTL_HIT_DURING_DIG | SYSCTL_HIT_DURING_DIVE | SYSCTL_FIRST_OF_MULTI_TURN \
| SYSCTL_SKIP_SPRITE_BLINK | SYSCTL_TRY_SYNCHRONIZE_STATUS | SYSCTL_BATON_PASS \
| SYSCTL_LAST_OF_MULTI_TURN | SYSCTL_NONSTANDARD_ACC_CHECK | SYSCTL_IGNORE_TYPE_CHECKS)
#define SYSCTL_INIT_P2 (SYSCTL_CRASH_DAMAGE | SYSCTL_MOVE_HIT | SYSCTL_PLAYED_MOVE_ANIMATION \
| SYSCTL_IGNORE_IMMUNITIES | SYSCTL_MULTI_HIT_SKIP_MESSAGE | SYSCTL_FAIL_STAT_STAGE_CHANGE \
| SYSCTL_MESSAGE_AFTER_MISS | SYSCTL_HIT_DURING_SHADOW_FORCE | SYSCTL_REUSE_LAST_MOVE \
| SYSCTL_TURN_OFF_MESSAGES | SYSCTL_APPLY_SECONDARY_EFFECT)
#define SYSCTL_INIT (~(SYSCTL_INIT_P1 | SYSCTL_INIT_P2))
#define SYSCTL_MON_FAINTED_SHIFT 24
#define SYSCTL_MON_SELFDESTRUCTED_SHIFT 28
#define SYSCTL_NO_EXPERIENCE_GIVEN (1 << 0)
#define SYSCTL_UPDATE_STAT_STAGES (1 << 1)
#define SYSCTL_ATTACK_MESSAGE_SHOWN (1 << 2)
#define SYSCTL_MAGIC_COAT_REFLECTED (1 << 3)
#define SYSCTL_UTURN_ACTIVE (1 << 4)
#define SYSCTL_FIRST_DAMAGE_MSG_SHOWN (1 << 5)
#define SYSCTL_MOVE_SUCCEEDED (1 << 6) // this only reflects that the move is executed, not whether it hit or missed
#define SYSCTL_STAT_STAGE_CHANGE_SHOWN (1 << 7)
#define SYSCTL_RECOVER_HP_VISUAL (1 << 8)
#define SYSCTL_FORM_CHANGE (1 << 26)
#define SYSCTL_RECALC_MON_STATS (1 << 27)
#define SYSCTL_LINK_WAITING ((1 << 24) | (1 << 25) | SYSCTL_FORM_CHANGE | (1 << 27))
#define SYSCTL_LINK_WAITING ((1 << 24) | (1 << 25) | SYSCTL_FORM_CHANGE | SYSCTL_RECALC_MON_STATS)
#define SYSCTL_PAYOUT_EXP ((1 << 28) | (1 << 29) | (1 << 30) | (1 << 31))
#define SYSCTL_INIT2 (~(SYSCTL_UPDATE_STAT_STAGES \
| SYSCTL_ATTACK_MESSAGE_SHOWN \
| SYSCTL_MAGIC_COAT_REFLECTED \
| SYSCTL_UTURN_ACTIVE \
| SYSCTL_MOVE_SUCCEEDED \
| SYSCTL_RECOVER_HP_VISUAL))
#define SYSCTL_INIT2 (~(SYSCTL_UPDATE_STAT_STAGES \
| SYSCTL_ATTACK_MESSAGE_SHOWN \
| SYSCTL_MAGIC_COAT_REFLECTED \
| SYSCTL_UTURN_ACTIVE \
| SYSCTL_MOVE_SUCCEEDED \
| SYSCTL_RECOVER_HP_VISUAL))
#define SYSCTL_LINK_WAITING_SHIFT 24
#define SYSCTL_PAYOUT_EXP_SHIFT 28
@ -88,6 +78,12 @@
#define SYSCTL_HIT_MULTIPLE_TARGETS (SYSCTL_SKIP_OBEDIENCE_CHECK | SYSCTL_SKIP_STATUS_CHECK | SYSCTL_SKIP_PP_DECREMENT)
#define SYSCTL_TWO_HITS (SYSCTL_SKIP_OBEDIENCE_CHECK | SYSCTL_SKIP_STATUS_CHECK | SYSCTL_SKIP_PP_DECREMENT)
#define SYSCTL_TRIPLE_KICK (SYSCTL_SKIP_OBEDIENCE_CHECK \
| SYSCTL_SKIP_STATUS_CHECK \
| SYSCTL_SKIP_PP_DECREMENT \
| SYSCTL_SKIP_IMMUNITY_TRIGGERS \
| SYSCTL_SKIP_ACCURACY_OVERRIDES \
| SYSCTL_SKIP_STOLEN_CHECK)
#define SYSCTL_MULTI_HIT_MOVE (SYSCTL_SKIP_OBEDIENCE_CHECK \
| SYSCTL_SKIP_STATUS_CHECK \
| SYSCTL_SKIP_PP_DECREMENT \

View File

@ -1,6 +1,7 @@
#ifndef POKEPLATINUM_CONSTANTS_BATTLE_TURN_FLAGS_H
#define POKEPLATINUM_CONSTANTS_BATTLE_TURN_FLAGS_H
#define SELF_TURN_FLAG_CLEAR 0
// unused: 1 << 0
#define SELF_TURN_FLAG_PLUCK_BERRY (1 << 1)
#define SELF_TURN_FLAG_INFATUATED (1 << 2)

View File

@ -1,10 +0,0 @@
#ifndef POKEPLATINUM_CONSTANTS_GENDER_H
#define POKEPLATINUM_CONSTANTS_GENDER_H
enum Gender {
GENDER_MALE,
GENDER_FEMALE,
GENDER_NONE
};
#endif // POKEPLATINUM_CONSTANTS_GENDER_H

View File

@ -1,15 +1,8 @@
#ifndef POKEPLATINUM_CONSTANTS_ITEMS_H
#define POKEPLATINUM_CONSTANTS_ITEMS_H
#define POCKET_ITEMS 0
#define POCKET_MEDICINE 1
#define POCKET_BALLS 2
#define POCKET_TMHMS 3
#define POCKET_BERRIES 4
#define POCKET_MAIL 5
#define POCKET_BATTLE_ITEMS 6
#define POCKET_KEY_ITEMS 7
#define POCKET_MAX 8
#ifndef __ASM_PM_
#include "consts/generated/c/items.h"
enum {
BATTLE_POCKET_RECOVER_HP = 0,
@ -29,6 +22,17 @@ enum {
ITEM_TYPE_MAX
};
#endif // __ASM_PM_
#define POCKET_ITEMS 0
#define POCKET_MEDICINE 1
#define POCKET_BALLS 2
#define POCKET_TMHMS 3
#define POCKET_BERRIES 4
#define POCKET_MAIL 5
#define POCKET_BATTLE_ITEMS 6
#define POCKET_KEY_ITEMS 7
#define POCKET_MAX 8
#define ITEM_RECOVER_CONFUSION (1 << 0)
#define ITEM_RECOVER_PARALYSIS (1 << 1)
@ -42,154 +46,6 @@ enum {
| ITEM_RECOVER_FREEZE \
| ITEM_RECOVER_PARALYSIS)
#define HOLD_EFFECT_NONE 0
#define HOLD_EFFECT_HP_RESTORE 1
#define HOLD_EFFECT_GIRATINA_BOOST 2
#define HOLD_EFFECT_DIALGA_BOOST 3
#define HOLD_EFFECT_PALKIA_BOOST 4
#define HOLD_EFFECT_PRZ_RESTORE 5
#define HOLD_EFFECT_SLP_RESTORE 6
#define HOLD_EFFECT_PSN_RESTORE 7
#define HOLD_EFFECT_BRN_RESTORE 8
#define HOLD_EFFECT_FRZ_RESTORE 9
#define HOLD_EFFECT_PP_RESTORE 10
#define HOLD_EFFECT_CONFUSE_RESTORE 11
#define HOLD_EFFECT_STATUS_RESTORE 12
#define HOLD_EFFECT_HP_PCT_RESTORE 13
#define HOLD_EFFECT_HP_RESTORE_SPICY 14
#define HOLD_EFFECT_HP_RESTORE_DRY 15
#define HOLD_EFFECT_HP_RESTORE_SWEET 16
#define HOLD_EFFECT_HP_RESTORE_BITTER 17
#define HOLD_EFFECT_HP_RESTORE_SOUR 18
#define HOLD_EFFECT_WEAKEN_SE_FIRE 19
#define HOLD_EFFECT_WEAKEN_SE_WATER 20
#define HOLD_EFFECT_WEAKEN_SE_ELECTRIC 21
#define HOLD_EFFECT_WEAKEN_SE_GRASS 22
#define HOLD_EFFECT_WEAKEN_SE_ICE 23
#define HOLD_EFFECT_WEAKEN_SE_FIGHT 24
#define HOLD_EFFECT_WEAKEN_SE_POISON 25
#define HOLD_EFFECT_WEAKEN_SE_GROUND 26
#define HOLD_EFFECT_WEAKEN_SE_FLYING 27
#define HOLD_EFFECT_WEAKEN_SE_PSYCHIC 28
#define HOLD_EFFECT_WEAKEN_SE_BUG 29
#define HOLD_EFFECT_WEAKEN_SE_ROCK 30
#define HOLD_EFFECT_WEAKEN_SE_GHOST 31
#define HOLD_EFFECT_WEAKEN_SE_DRAGON 32
#define HOLD_EFFECT_WEAKEN_SE_DARK 33
#define HOLD_EFFECT_WEAKEN_SE_STEEL 34
#define HOLD_EFFECT_WEAKEN_NORMAL 35
#define HOLD_EFFECT_PINCH_ATK_UP 36
#define HOLD_EFFECT_PINCH_DEF_UP 37
#define HOLD_EFFECT_PINCH_SPEED_UP 38
#define HOLD_EFFECT_PINCH_SPATK_UP 39
#define HOLD_EFFECT_PINCH_SPDEF_UP 40
#define HOLD_EFFECT_PINCH_CRITRATE_UP 41
#define HOLD_EFFECT_PINCH_RANDOM_UP 42
#define HOLD_EFFECT_HP_RESTORE_SE 43
#define HOLD_EFFECT_PINCH_ACC_UP 44
#define HOLD_EFFECT_PINCH_PRIORITY 45
#define HOLD_EFFECT_RECOIL_PHYSICAL 46
#define HOLD_EFFECT_RECOIL_SPECIAL 47
#define HOLD_EFFECT_ACC_REDUCE 48
#define HOLD_EFFECT_STATDOWN_RESTORE 49
#define HOLD_EFFECT_EVS_UP_SPEED_DOWN 50
#define HOLD_EFFECT_EXP_SHARE 51
#define HOLD_EFFECT_SOMETIMES_PRIORITY 52
#define HOLD_EFFECT_FRIENDSHIP_UP 53
#define HOLD_EFFECT_HEAL_INFATUATION 54
#define HOLD_EFFECT_CHOICE_ATK 55
#define HOLD_EFFECT_SOMETIMES_FLINCH 56
#define HOLD_EFFECT_STRENGTHEN_BUG 57
#define HOLD_EFFECT_MONEY_UP 58
#define HOLD_EFFECT_ENCOUNTERS_DOWN 59
#define HOLD_EFFECT_LATI_SPECIAL 60
#define HOLD_EFFECT_CLAMPERL_SPATK 61
#define HOLD_EFFECT_CLAMPERL_SPDEF 62
#define HOLD_EFFECT_FLEE 63
#define HOLD_EFFECT_NO_EVOLVE 64
#define HOLD_EFFECT_MAYBE_ENDURE 65
#define HOLD_EFFECT_EXP_UP 66
#define HOLD_EFFECT_CRITRATE_UP 67
#define HOLD_EFFECT_STRENGTHEN_STEEL 68
#define HOLD_EFFECT_HP_RESTORE_GRADUAL 69
#define HOLD_EFFECT_EVOLVE_SEADRA 70
#define HOLD_EFFECT_PIKA_SPATK_UP 71
#define HOLD_EFFECT_STRENGTHEN_GROUND 72
#define HOLD_EFFECT_STRENGTHEN_ROCK 73
#define HOLD_EFFECT_STRENGTHEN_GRASS 74
#define HOLD_EFFECT_STRENGTHEN_DARK 75
#define HOLD_EFFECT_STRENGTHEN_FIGHT 76
#define HOLD_EFFECT_STRENGTHEN_ELECTRIC 77
#define HOLD_EFFECT_STRENGTHEN_WATER 78
#define HOLD_EFFECT_STRENGTHEN_FLYING 79
#define HOLD_EFFECT_STRENGTHEN_POISON 80
#define HOLD_EFFECT_STRENGTHEN_ICE 81
#define HOLD_EFFECT_STRENGTHEN_GHOST 82
#define HOLD_EFFECT_STRENGTHEN_PSYCHIC 83
#define HOLD_EFFECT_STRENGTHEN_FIRE 84
#define HOLD_EFFECT_STRENGTHEN_DRAGON 85
#define HOLD_EFFECT_STRENGTHEN_NORMAL 86
#define HOLD_EFFECT_EVOLVE_PORYGON 87
#define HOLD_EFFECT_HP_RESTORE_ON_DMG 88
#define HOLD_EFFECT_CHANSEY_CRITRATE_UP 89
#define HOLD_EFFECT_DITTO_DEF_UP 90
#define HOLD_EFFECT_CUBONE_ATK_UP 91
#define HOLD_EFFECT_FARFETCHD_CRITRATE_UP 92
#define HOLD_EFFECT_ACCURACY_UP 93
#define HOLD_EFFECT_POWER_UP_PHYS 94
#define HOLD_EFFECT_POWER_UP_SPEC 95
#define HOLD_EFFECT_POWER_UP_SE 96
#define HOLD_EFFECT_EXTEND_SCREENS 97
#define HOLD_EFFECT_HP_DRAIN_ON_ATK 98
#define HOLD_EFFECT_CHARGE_SKIP 99
#define HOLD_EFFECT_PSN_USER 100
#define HOLD_EFFECT_BRN_USER 101
#define HOLD_EFFECT_DITTO_SPEED_UP 102
#define HOLD_EFFECT_ENDURE 103
#define HOLD_EFFECT_ACCURACY_UP_SLOWER 104
#define HOLD_EFFECT_BOOST_REPEATED 105
#define HOLD_EFFECT_SPEED_DOWN_GROUNDED 106
#define HOLD_EFFECT_PRIORITY_DOWN 107
#define HOLD_EFFECT_RECIPROCATE_INFAT 108
#define HOLD_EFFECT_HP_RESTORE_PSN_TYPE 109
#define HOLD_EFFECT_EXTEND_HAIL 110
#define HOLD_EFFECT_EXTEND_SANDSTORM 111
#define HOLD_EFFECT_EXTEND_SUN 112
#define HOLD_EFFECT_EXTEND_RAIN 113
#define HOLD_EFFECT_EXTEND_TRAPPING 114
#define HOLD_EFFECT_CHOICE_SPEED 115
#define HOLD_EFFECT_DMG_USER_CONTACT_XFR 116
#define HOLD_EFFECT_LVLUP_ATK_EV_UP 117
#define HOLD_EFFECT_LVLUP_DEF_EV_UP 118
#define HOLD_EFFECT_LVLUP_SPATK_EV_UP 119
#define HOLD_EFFECT_LVLUP_SPDEF_EV_UP 120
#define HOLD_EFFECT_LVLUP_SPEED_EV_UP 121
#define HOLD_EFFECT_LVLUP_HP_EV_UP 122
#define HOLD_EFFECT_SWITCH 123
#define HOLD_EFFECT_LEECH_BOOST 124
#define HOLD_EFFECT_CHOICE_SPATK 125
#define HOLD_EFFECT_ARCEUS_FIRE 126
#define HOLD_EFFECT_ARCEUS_WATER 127
#define HOLD_EFFECT_ARCEUS_ELECTRIC 128
#define HOLD_EFFECT_ARCEUS_GRASS 129
#define HOLD_EFFECT_ARCEUS_ICE 130
#define HOLD_EFFECT_ARCEUS_FIGHTING 131
#define HOLD_EFFECT_ARCEUS_POISON 132
#define HOLD_EFFECT_ARCEUS_GROUND 133
#define HOLD_EFFECT_ARCEUS_FLYING 134
#define HOLD_EFFECT_ARCEUS_PSYCHIC 135
#define HOLD_EFFECT_ARCEUS_BUG 136
#define HOLD_EFFECT_ARCEUS_ROCK 137
#define HOLD_EFFECT_ARCEUS_GHOST 138
#define HOLD_EFFECT_ARCEUS_DRAGON 139
#define HOLD_EFFECT_ARCEUS_DARK 140
#define HOLD_EFFECT_ARCEUS_STEEL 141
#define HOLD_EFFECT_EVOLVE_RHYDON 142
#define HOLD_EFFECT_EVOLVE_ELECTABUZZ 143
#define HOLD_EFFECT_EVOLVE_MAGMAR 144
#define HOLD_EFFECT_EVOLVE_PORYGON2 145
#define HOLD_EFFECT_EVOLVE_DUSCLOPS 146
#define FLING_EFFECT_NONE 0
#define FLING_EFFECT_PRZ_RESTORE 1
#define FLING_EFFECT_SLP_RESTORE 2

View File

@ -1,484 +1,14 @@
#ifndef POKEPLATINUM_CONSTANTS_MOVES_H
#define POKEPLATINUM_CONSTANTS_MOVES_H
#include "consts/generated/c/moves.h"
#define LEARNED_MOVES_MAX 4
#define CLASS_PHYSICAL 0
#define CLASS_SPECIAL 1
#define CLASS_STATUS 2
enum {
MOVE_NONE = 0,
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,
NUM_MOVES = MOVE_SHADOW_FORCE,
MAX_MOVES
};
#define NUM_MOVES MOVE_SHADOW_FORCE
#endif //POKEPLATINUM_CONSTANTS_MOVES_H

View File

@ -1,303 +0,0 @@
#ifndef POKEPLATINUM_NARC_FILES_BATTLE_SKILL_SUBSEQ_H
#define POKEPLATINUM_NARC_FILES_BATTLE_SKILL_SUBSEQ_H
enum NARCFilesBattleSubSeq {
BATTLE_SUBSEQ_START_ENCOUNTER = 0,
BATTLE_SUBSEQ_USE_MOVE,
BATTLE_SUBSEQ_UPDATE_HP,
BATTLE_SUBSEQ_ESCAPE,
BATTLE_SUBSEQ_BATTLE_WON,
BATTLE_SUBSEQ_BATTLE_LOST,
BATTLE_SUBSEQ_FAINT_MON,
BATTLE_SUBSEQ_MISSED,
BATTLE_SUBSEQ_ESCAPE_FAILED,
BATTLE_SUBSEQ_SWITCH_POKEMON,
BATTLE_SUBSEQ_SHOW_PARTY_LIST,
BATTLE_SUBSEQ_THROW_POKEBALL,
BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
BATTLE_SUBSEQ_VANISH_ON_CHARGE_TURN,
BATTLE_SUBSEQ_FLINCH_MON,
BATTLE_SUBSEQ_FLINCHED,
BATTLE_SUBSEQ_CRITICAL_HIT,
BATTLE_SUBSEQ_HIT_X_TIMES,
BATTLE_SUBSEQ_FALL_ASLEEP,
BATTLE_SUBSEQ_WAKE_UP,
BATTLE_SUBSEQ_SLEEPING,
BATTLE_SUBSEQ_MOVE_FOLLOWUP_MESSAGE,
BATTLE_SUBSEQ_POISON,
BATTLE_SUBSEQ_POISON_DAMAGE,
BATTLE_SUBSEQ_DRAIN_HALF_DAMAGE_DEALT,
BATTLE_SUBSEQ_BURN,
BATTLE_SUBSEQ_BURN_DAMAGE,
BATTLE_SUBSEQ_FREEZE,
BATTLE_SUBSEQ_FROZEN,
BATTLE_SUBSEQ_THAW_OUT,
BATTLE_SUBSEQ_DEFROSTED_BY_MOVE,
BATTLE_SUBSEQ_PARALYZE,
BATTLE_SUBSEQ_FULLY_PARALYZED,
BATTLE_SUBSEQ_DREAM_EATER,
BATTLE_SUBSEQ_RESET_ALL_STAT_STAGES,
BATTLE_SUBSEQ_BIDE_START,
BATTLE_SUBSEQ_BIDE_END,
BATTLE_SUBSEQ_CONFUSE,
BATTLE_SUBSEQ_CONFUSED,
BATTLE_SUBSEQ_HURT_SELF_IN_CONFUSION,
BATTLE_SUBSEQ_SNAP_OUT_OF_CONFUSION,
BATTLE_SUBSEQ_TRAINER_MESSAGE,
BATTLE_SUBSEQ_NO_PP,
BATTLE_SUBSEQ_STRUGGLE,
BATTLE_SUBSEQ_THRASH,
BATTLE_SUBSEQ_CONVERSION,
BATTLE_SUBSEQ_RECOVER_HALF_MAX_HP,
BATTLE_SUBSEQ_BADLY_POISON,
BATTLE_SUBSEQ_PAY_DAY,
BATTLE_SUBSEQ_LIGHT_SCREEN,
BATTLE_SUBSEQ_MOVE_EFFECT_END,
BATTLE_SUBSEQ_THRASH_END,
BATTLE_SUBSEQ_REFLECT,
BATTLE_SUBSEQ_MIST = 54,
BATTLE_SUBSEQ_REST,
BATTLE_SUBSEQ_UPROAR,
BATTLE_SUBSEQ_BIND_START = 58,
BATTLE_SUBSEQ_BIND_EFFECT,
BATTLE_SUBSEQ_BIND_END,
BATTLE_SUBSEQ_FOCUS_ENERGY = 62,
BATTLE_SUBSEQ_RECOIL_1_4,
BATTLE_SUBSEQ_RECHARGE_TURN,
BATTLE_SUBSEQ_RECHARGING,
BATTLE_SUBSEQ_SET_RAGE_FLAG,
BATTLE_SUSBEQ_MIMIC,
BATTLE_SUBSEQ_LEECH_SEED_START,
BATTLE_SUBSEQ_LEECH_SEED_EFFECT,
BATTLE_SUBSEQ_DISABLE_START,
BATTLE_SUBSEQ_MOVE_IS_DISABLED,
BATTLE_SUBSEQ_DISABLE_END,
BATTLE_SUBSEQ_ENCORE_START,
BATTLE_SUBSEQ_ENCORE_END,
BATTLE_SUBSEQ_PAIN_SPLIT = 77,
BATTLE_SUBSEQ_CONVERSION_2,
BATTLE_SUBSEQ_LOCK_ON,
BATTLE_SUBSEQ_SKETCH,
BATTLE_SUBSEQ_FEINT,
BATTLE_SUBSEQ_DESTINY_BOND,
BATTLE_SUBSEQ_FAINT_CHECK_DESTINY_BOND,
BATTLE_SUBSEQ_REDUCE_TARGET_PP,
BATTLE_SUBSEQ_STEAL_ITEM,
BATTLE_SUBSEQ_MEAN_LOOK,
BATTLE_SUBSEQ_PROTECT,
BATTLE_SUBSEQ_HEAL_BELL,
BATTLE_SUBSEQ_TRY_SUBSTITUTE,
BATTLE_SUBSEQ_HIT_SUBSTITUTE,
BATTLE_SUBSEQ_FORCE_TARGET_TO_SWITCH_OR_FLEE,
BATTLE_SUSBEQ_TRANSFORM_INTO_TARGET,
BATTLE_SUBSEQ_NIGHTMARE_START,
BATTLE_SUBSEQ_NIGHTMARE_EFFECT,
BATTLE_SUBSEQ_MINIMIZE,
BATTLE_SUBSEQ_CURSE_NORMAL,
BATTLE_SUBSEQ_CURSE_GHOST,
BATTLE_SUBSEQ_CURSE_DAMAGE,
BATTLE_SUBSEQ_HAZARDS_CHECK,
BATTLE_SUBSEQ_FORESIGHT,
BATTLE_SUBSEQ_PERISH_SONG_START,
BATTLE_SUBSEQ_CONTINUE_PERISH_SONG,
BATTLE_SUBSEQ_WEATHER_START,
BATTLE_SUBSEQ_WEATHER_CONTINUES,
BATTLE_SUBSEQ_SWAGGER,
BATTLE_SUBSEQ_INFATUATE,
BATTLE_SUBSEQ_INFATUATED,
BATTLE_SUBSEQ_IMMOBILIZED_BY_LOVE,
BATTLE_SUBSEQ_SAFEGUARD_START,
BATTLE_SUBSEQ_SAFEGUARD_END,
BATTLE_SUBSEQ_PRESENT_HEAL = 112,
BATTLE_SUBSEQ_MAGNITUDE,
BATTLE_SUBSEQ_BATON_PASS,
BATTLE_SUBSEQ_RAPID_SPIN,
BATTLE_SUBSEQ_BREAK_BIND_EFFECT,
BATTLE_SUBSEQ_BLOW_AWAY_HAZARDS,
BATTLE_SUBSEQ_GIVE_TARGET_OWN_STATUS,
BATTLE_SUBSEQ_BOOST_ALL_STATS,
BATTLE_SUBSEQ_BELLY_DRUM,
BATTLE_SUBSEQ_FUTURE_SIGHT_DAMAGE,
BATTLE_SUBSEQ_TELEPORT,
BATTLE_SUBSEQ_FUTURE_SIGHT_START,
BATTLE_SUBSEQ_STOCKPILE,
BATTLE_SUBSEQ_SWALLOW,
BATTLE_SUBSEQ_PRINT_MESSAGE_AND_PLAY_ANIMATION,
BATTLE_SUBSEQ_TORMENT_START,
BATTLE_SUBSEQ_FLATTER,
BATTLE_SUBSEQ_MEMENTO,
BATTLE_SUBSEQ_HEAL_TARGET_PARALYSIS,
BATTLE_SUBSEQ_CHARGE,
BATTLE_SUBSEQ_TAUNT_START,
BATTLE_SUBSEQ_MOVE_FAIL_TAUNTED,
BATTLE_SUBSEQ_EXCHANGE_ITEMS,
BATTLE_SUBSEQ_COPY_ABILITY,
BATTLE_SUBSEQ_WISH_HEAL,
BATTLE_SUBSEQ_INGRAIN_HEAL,
BATTLE_SUBSEQ_USER_ATK_AND_DEF_DOWN_1_STAGE,
BATTLE_SUBSEQ_MAGIC_COAT,
BATTLE_SUBSEQ_BREAK_SCREENS,
BATTLE_SUBSEQ_YAWN,
BATTLE_SUBSEQ_KNOCK_OFF,
BATTLE_SUBSEQ_EXCHANGE_ABILITIES,
BATTLE_SUBSEQ_MOVE_IS_IMPRISONED,
BATTLE_SUBSEQ_RECOVER_PSN_PRZ_BRN,
BATTLE_SUBSEQ_SNATCH,
BATTLE_SUBSEQ_RECOIL_1_3,
BATTLE_SUBSEQ_TARGET_ATK_AND_DEF_DOWN_1_STAGE,
BATTLE_SUBSEQ_USER_DEF_AND_SPDEF_UP_1_STAGE = 149,
BATTLE_SUBSEQ_USER_ATK_AND_DEF_UP_1_STAGE,
BATTLE_SUBSEQ_USER_SPATK_AND_SPDEF_UP_1_STAGE,
BATTLE_SUBSEQ_USER_ATK_AND_SPEED_UP_1_STAGE,
BATTLE_SUBSEQ_PURSUIT,
BATTLE_SUBSEQ_ROOST,
BATTLE_SUBSEQ_HEAL_TARGET_SLEEP,
BATTLE_SUBSEQ_GRAVITY_START,
BATTLE_SUBSEQ_MOVE_FAIL_GRAVITY,
BATTLE_SUBSEQ_MIRACLE_EYE,
BATTLE_SUBSEQ_HEALING_WISH,
BATTLE_SUBSEQ_TAILWIND_START,
BATTLE_SUBSEQ_USER_DEF_AND_SPDEF_DOWN_1_STAGE,
BATTLE_SUBSEQ_USER_SWAP_ATK_AND_DEF,
BATTLE_SUBSEQ_SUPPRESS_TARGET_ABILITY,
BATTLE_SUBSEQ_LUCKY_CHANT_START,
BATTLE_SUBSEQ_EXCHANGE_ATK_AND_SPATK_STAGES,
BATTLE_SUBSEQ_EXCHANGE_DEF_AND_SPDEF_STAGES,
BATTLE_SUBSEQ_GIVE_TARGET_INSOMNIA,
BATTLE_SUBSEQ_EXCHANGE_ALL_STAT_STAGES,
BATTLE_SUBSEQ_AQUA_RING_HEAL,
BATTLE_SUBSEQ_RECOIL_1_3_CHANCE_TO_BURN,
BATTLE_SUBSEQ_DEFOG,
BATTLE_SUBSEQ_HEAL_BLOCK_START = 173,
BATTLE_SUBSEQ_MOVE_IS_HEAL_BLOCKED,
BATTLE_SUBSEQ_ATTACK_THEN_SWITCH_OUT,
BATTLE_SUBSEQ_MOLD_BREAKER = 177,
BATTLE_SUBSEQ_ABILITY_RESTORES_HP,
BATTLE_SUBSEQ_ABSORB_AND_BOOST_FIRE_TYPE_MOVES,
BATTLE_SUBSEQ_LIGHTNING_ROD_REDIRECTED,
BATTLE_SUBSEQ_BLOCKED_BY_SOUNDPROOF,
BATTLE_SUBSEQ_ABSORB_AND_SPEED_UP_1_STAGE,
BATTLE_SUBSEQ_DRIZZLE,
BATTLE_SUBSEQ_SAND_STREAM,
BATTLE_SUBSEQ_DROUGHT,
BATTLE_SUBSEQ_INTIMIDATE,
BATTLE_SUBSEQ_TRACE,
BATTLE_SUBSEQ_COLOR_CHANGE,
BATTLE_SUBSEQ_ROUGH_SKIN,
BATTLE_SUBSEQ_ABILITY_RESTORE_STATUS,
BATTLE_SUBSEQ_LOAFING_AROUND,
BATTLE_SUBSEQ_AFTERMATH = 193,
BATTLE_SUBSEQ_ANTICIPATION,
BATTLE_SUBSEQ_FOREWARN,
BATTLE_SUBSEQ_SLOW_START,
BATTLE_SUBSEQ_SLOW_START_END,
BATTLE_SUBSEQ_HELD_ITEM_HP_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_PRZ_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_SLP_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_PSN_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_BRN_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_FRZ_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_PP_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_CNF_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_MULTI_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_DISLIKE_FLAVOR,
BATTLE_SUBSEQ_HELD_ITEM_RAISE_STAT,
BATTLE_SUBSEQ_HELD_ITEM_RAISE_CRIT,
BATTLE_SUBSEQ_HELD_ITEM_SHARPLY_RAISE_STAT,
BATTLE_SUBSEQ_HELD_ITEM_STATDOWN_RESTORE,
BATTLE_SUBSEQ_HELD_ITEM_HEAL_INFATUATION,
BATTLE_SUBSEQ_RESTORE_A_LITTLE_HP,
BATTLE_SUBSEQ_LOSE_HP_FROM_ITEM,
BATTLE_SUBSEQ_LOSE_HP_FROM_ITEM_WITH_MESSAGE,
BATTLE_SUBSEQ_TRANSFER_STICKY_BARB = 216,
BATTLE_SUBSEQ_EMBARGO_START = 218,
BATTLE_SUBSEQ_PLUCK,
BATTLE_SUBSEQ_FLING,
BATTLE_SUBSEQ_ABILITY_FORBIDS_STATUS,
BATTLE_SUBSEQ_ESCAPE_ITEM,
BATTLE_SUBSEQ_BATTLE_ITEM,
BATTLE_SUBSEQ_RECOIL_1_3_CHANCE_TO_PARALYZE = 226,
BATTLE_SUBSEQ_SAFARI_THROW_BAIT,
BATTLE_SUBSEQ_SAFARI_THROW_ROCK,
BATTLE_SUBSEQ_SAFARI_ESCAPE,
BATTLE_SUBSEQ_ENEMY_ESCAPE,
BATTLE_SUBSEQ_REPLACE_FAINTED,
BATTLE_SUBSEQ_TIGHTEN_FOCUS,
BATTLE_SUBSEQ_TAILWIND_END,
BATTLE_SUBSEQ_RAINING_END,
BATTLE_SUBSEQ_SANDSTORM_END,
BATTLE_SUBSEQ_SUNNY_END,
BATTLE_SUBSEQ_HAILING_END,
BATTLE_SUBSEQ_GRAVITY_END,
BATTLE_SUBSEQ_CANNOT_HEAL,
BATTLE_SUBSEQ_UPROAR_CONTINUES,
BATTLE_SUBSEQ_UPROAR_END,
BATTLE_SUBSEQ_MAGNET_RISE_END,
BATTLE_SUBSEQ_HEAL_BLOCK_END,
BATTLE_SUBSEQ_EMBARGO_END,
BATTLE_SUBSEQ_RAGE_IS_BUILDING,
BATTLE_SUBSEQ_RECOIL_1_2,
BATTLE_SUBSEQ_BURN_OR_FLINCH,
BATTLE_SUBSEQ_FREEZE_OR_FLINCH,
BATTLE_SUBSEQ_PARALYZE_OR_FLINCH,
BATTLE_SUBSEQ_LUCKY_CHANT_END = 250,
BATTLE_SUBSEQ_TRICK_ROOM_END,
BATTLE_SUBSEQ_SNOW_WARNING,
BATTLE_SUBSEQ_FRISK,
BATTLE_SUBSEQ_DISOBEY_WHILE_ASLEEP,
BATTLE_SUBSEQ_DISOBEY_DO_NOTHING,
BATTLE_SUBSEQ_DISOBEY_ORDERS,
BATTLE_SUBSEQ_DISOBEY_SLEEP,
BATTLE_SUBSEQ_DISOBEY_HIT_SELF,
BATTLE_SUBSEQ_CHATTER = 260,
BATTLE_SUBSEQ_LUNAR_DANCE,
BATTLE_SUBSEQ_FORM_CHANGE,
BATTLE_SUBSEQ_BAD_DREAMS,
BATTLE_SUBSEQ_HELD_ITEM_TEMP_ACC_UP = 265,
BATTLE_SUBSEQ_HELD_ITEM_RECOIL_WHEN_HIT,
BATTLE_SUBSEQ_USE_POTION,
BATTLE_SUBSEQ_USE_STATUS_RECOVERY,
BATTLE_SUBSEQ_USE_STAT_BOOSTER,
BATTLE_SUBSEQ_USE_GUARD_SPEC,
BATTLE_SUBSEQ_OVERWORLD_RAIN,
BATTLE_SUBSEQ_OVERWORLD_HAIL,
BATTLE_SUBSEQ_OVERWORLD_SAND,
BATTLE_SUBSEQ_OVERWORLD_FOG,
BATTLE_SUBSEQ_THROW_SAFARI_BALL,
BATTLE_SUBSEQ_GRANT_EXP,
BATTLE_SUBSEQ_AFTER_SELFDESTRUCT,
BATTLE_SUBSEQ_CHECK_QUICK_CLAW,
BATTLE_SUBSEQ_NO_TARGET = 281,
BATTLE_SUBSEQ_BIDE_NO_TARGET,
BATTLE_SUBSEQ_PRESSURE = 285,
BATTLE_SUBSEQ_ENEMY_ESCAPE_FAILED,
BATTLE_SUBSEQ_VANISH_OFF,
BATTLE_SUBSEQ_TAUNT_END = 288,
BATTLE_SUBSEQ_USE_FULL_RESTORE,
BATTLE_SUBSEQ_WAIT_MOVE_ANIMATION = 291,
BATTLE_SUBSEQ_CHECK_SHAYMIN_FORM = 293,
BATTLE_SUBSEQ_OVERWORLD_SUN,
BATTLE_SUBSEQ_OVERWORLD_TRICK_ROOM,
BATTLE_SUBSEQ_GIRATINA_FORM_CHANGE,
};
#endif // POKEPLATINUM_NARC_FILES_BATTLE_SKILL_SUBSEQ_H

View File

@ -1,32 +1,7 @@
#ifndef POKEPLATINUM_CONSTANTS_POKEMON_H
#define POKEPLATINUM_CONSTANTS_POKEMON_H
/**
* @brief Pokemon Types
* (Can't make this an enum yet due to issues with csv2bin)
*/
// enum PokemonType {
#define TYPE_NORMAL 0
#define TYPE_FIGHTING 1
#define TYPE_FLYING 2
#define TYPE_POISON 3
#define TYPE_GROUND 4
#define TYPE_ROCK 5
#define TYPE_BUG 6
#define TYPE_GHOST 7
#define TYPE_STEEL 8
#define TYPE_MYSTERY 9
#define TYPE_FIRE 10
#define TYPE_WATER 11
#define TYPE_GRASS 12
#define TYPE_ELECTRIC 13
#define TYPE_PSYCHIC 14
#define TYPE_ICE 15
#define TYPE_DRAGON 16
#define TYPE_DARK 17
#define NUMBER_OF_MON_TYPES 18
#define TYPE_NONE 255
// };
#include "consts/generated/c/pokemon.h" // defs for PokemonType and PokemonPersonalDataParam
/**
* @brief Pokemon Stats
@ -239,43 +214,4 @@ enum PokemonDataParam {
MON_DATA_179,
};
/**
* @brief PokemonPersonalData Parameters
*/
enum PokemonPersonalDataParam {
MON_DATA_PERSONAL_BASE_HP = 0,
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,
};
#endif // POKEPLATINUM_CONSTANTS_POKEMON_H

View File

@ -1,150 +1,152 @@
#include "constants/battle/side_effects.h"
#include "constants/narc_files/battle_skill_subseq.h"
#include "consts/generated/c/battle.h"
#include "consts/generated/c/battle_subscripts.h"
static const int sSideEffectSubscripts[] = {
[MOVE_SUBSCRIPT_PTR_NONE] = NULL,
[MOVE_SUBSCRIPT_PTR_SLEEP] = BATTLE_SUBSEQ_FALL_ASLEEP,
[MOVE_SUBSCRIPT_PTR_POISON] = BATTLE_SUBSEQ_POISON,
[MOVE_SUBSCRIPT_PTR_BURN] = BATTLE_SUBSEQ_BURN,
[MOVE_SUBSCRIPT_PTR_FREEZE] = BATTLE_SUBSEQ_FREEZE,
[MOVE_SUBSCRIPT_PTR_PARALYZE] = BATTLE_SUBSEQ_PARALYZE,
[MOVE_SUBSCRIPT_PTR_BADLY_POISON] = BATTLE_SUBSEQ_BADLY_POISON,
[MOVE_SUBSCRIPT_PTR_CONFUSE] = BATTLE_SUBSEQ_CONFUSE,
[MOVE_SUBSCRIPT_PTR_FLINCH] = BATTLE_SUBSEQ_FLINCH_MON,
[MOVE_SUBSCRIPT_PTR_REST] = BATTLE_SUBSEQ_REST,
[MOVE_SUBSCRIPT_PTR_UPROAR] = BATTLE_SUBSEQ_UPROAR,
[MOVE_SUBSCRIPT_PTR_PAY_DAY] = BATTLE_SUBSEQ_PAY_DAY,
[MOVE_SUBSCRIPT_PTR_VANISH_CHARGE_TURN] = BATTLE_SUBSEQ_VANISH_ON_CHARGE_TURN,
[MOVE_SUBSCRIPT_PTR_BIND_TARGET] = BATTLE_SUBSEQ_BIND_START,
[MOVE_SUBSCRIPT_PTR_QUARTER_RECOIL] = BATTLE_SUBSEQ_RECOIL_1_4,
[MOVE_SUBSCRIPT_PTR_ATTACK_UP_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_UP_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_UP_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_UP_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_UP_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_UP_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_DOWN_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_DOWN_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_DOWN_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_DOWN_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_DOWN_1_STAGE] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_RECHARGE_TURN] = BATTLE_SUBSEQ_RECHARGE_TURN,
[MOVE_SUBSCRIPT_PTR_SET_RAGE_FLAG] = BATTLE_SUBSEQ_SET_RAGE_FLAG,
[MOVE_SUBSCRIPT_PTR_STEAL_ITEM] = BATTLE_SUBSEQ_STEAL_ITEM,
[MOVE_SUBSCRIPT_PTR_MEAN_LOOK] = BATTLE_SUBSEQ_MEAN_LOOK,
[MOVE_SUBSCRIPT_PTR_NIGHTMARE_START] = BATTLE_SUBSEQ_NIGHTMARE_START,
[MOVE_SUBSCRIPT_PTR_BOOST_ALL_STATS] = BATTLE_SUBSEQ_BOOST_ALL_STATS,
[MOVE_SUBSCRIPT_PTR_RAPID_SPIN] = BATTLE_SUBSEQ_RAPID_SPIN,
[MOVE_SUBSCRIPT_PTR_HEAL_TARGET_PARALYSIS] = BATTLE_SUBSEQ_HEAL_TARGET_PARALYSIS,
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_DEF_DOWN_1_STAGE] = BATTLE_SUBSEQ_USER_ATK_AND_DEF_DOWN_1_STAGE,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3] = BATTLE_SUBSEQ_RECOIL_1_3,
[MOVE_SUBSCRIPT_PTR_ATTACK_UP_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_UP_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_UP_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_UP_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_UP_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_UP_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_DOWN_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_DOWN_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_DOWN_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_DOWN_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_DOWN_2_STAGES] = BATTLE_SUBSEQ_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_THRASH] = BATTLE_SUBSEQ_THRASH,
[MOVE_SUBSCRIPT_PTR_KNOCK_OFF] = BATTLE_SUBSEQ_KNOCK_OFF,
[MOVE_SUBSCRIPT_PTR_USER_DEF_AND_SPDEF_UP_1_STAGE] = BATTLE_SUBSEQ_USER_DEF_AND_SPDEF_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_DEF_UP_1_STAGE] = BATTLE_SUBSEQ_USER_ATK_AND_DEF_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_TARGET_ATK_AND_DEF_DOWN_1_STAGE] = BATTLE_SUBSEQ_TARGET_ATK_AND_DEF_DOWN_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_SPATK_AND_SPDEF_UP_1_STAGE] = BATTLE_SUBSEQ_USER_SPATK_AND_SPDEF_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_SPEED_UP_1_STAGE] = BATTLE_SUBSEQ_USER_ATK_AND_SPEED_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_DRAIN_HALF_DAMAGE_DEALT] = BATTLE_SUBSEQ_DRAIN_HALF_DAMAGE_DEALT,
[MOVE_SUBSCRIPT_PTR_DREAM_EATER] = BATTLE_SUBSEQ_DREAM_EATER,
[MOVE_SUBSCRIPT_PTR_RESET_ALL_STAT_STAGES] = BATTLE_SUBSEQ_RESET_ALL_STAT_STAGES,
[MOVE_SUBSCRIPT_PTR_BIDE_START] = BATTLE_SUBSEQ_BIDE_START,
[MOVE_SUBSCRIPT_PTR_STRUGGLE] = BATTLE_SUBSEQ_STRUGGLE,
[MOVE_SUBSCRIPT_PTR_CONVERSION] = BATTLE_SUBSEQ_CONVERSION,
[MOVE_SUBSCRIPT_PTR_RECOVER_HALF_MAX_HP] = BATTLE_SUBSEQ_RECOVER_HALF_MAX_HP,
[MOVE_SUBSCRIPT_PTR_LIGHT_SCREEN] = BATTLE_SUBSEQ_LIGHT_SCREEN,
[MOVE_SUBSCRIPT_PTR_REFLECT] = BATTLE_SUBSEQ_REFLECT,
[MOVE_SUBSCRIPT_PTR_MIST] = BATTLE_SUBSEQ_MIST,
[MOVE_SUBSCRIPT_PTR_FOCUS_ENERGY] = BATTLE_SUBSEQ_FOCUS_ENERGY,
[MOVE_SUBSCRIPT_PTR_MIMIC] = BATTLE_SUSBEQ_MIMIC,
[MOVE_SUBSCRIPT_PTR_LEECH_SEED_START] = BATTLE_SUBSEQ_LEECH_SEED_START,
[MOVE_SUBSCRIPT_PTR_DISABLE_START] = BATTLE_SUBSEQ_DISABLE_START,
[MOVE_SUBSCRIPT_PTR_ENCORE_START] = BATTLE_SUBSEQ_ENCORE_START,
[MOVE_SUBSCRIPT_PTR_PAIN_SPLIT] = BATTLE_SUBSEQ_PAIN_SPLIT,
[MOVE_SUBSCRIPT_PTR_CONVERSION_2] = BATTLE_SUBSEQ_CONVERSION_2,
[MOVE_SUBSCRIPT_PTR_LOCK_ON] = BATTLE_SUBSEQ_LOCK_ON,
[MOVE_SUBSCRIPT_PTR_SKETCH] = BATTLE_SUBSEQ_SKETCH,
[MOVE_SUBSCRIPT_PTR_FEINT] = BATTLE_SUBSEQ_FEINT,
[MOVE_SUBSCRIPT_PTR_DESTINY_BOND] = BATTLE_SUBSEQ_DESTINY_BOND,
[MOVE_SUBSCRIPT_PTR_REDUCE_TARGET_PP] = BATTLE_SUBSEQ_REDUCE_TARGET_PP,
[MOVE_SUBSCRIPT_PTR_PROTECT] = BATTLE_SUBSEQ_PROTECT,
[MOVE_SUBSCRIPT_PTR_HEAL_BELL] = BATTLE_SUBSEQ_HEAL_BELL,
[MOVE_SUBSCRIPT_PTR_TRY_SUBSTITUTE] = BATTLE_SUBSEQ_TRY_SUBSTITUTE,
[MOVE_SUBSCRIPT_PTR_FORCE_TARGET_TO_SWITCH_OR_FLEE] = BATTLE_SUBSEQ_FORCE_TARGET_TO_SWITCH_OR_FLEE,
[MOVE_SUBSCRIPT_PTR_TRANSFORM_INTO_TARGET] = BATTLE_SUSBEQ_TRANSFORM_INTO_TARGET,
[MOVE_SUBSCRIPT_PTR_MINIMIZE] = BATTLE_SUBSEQ_MINIMIZE,
[MOVE_SUBSCRIPT_PTR_CURSE_NORMAL] = BATTLE_SUBSEQ_CURSE_NORMAL,
[MOVE_SUBSCRIPT_PTR_CURSE_GHOST] = BATTLE_SUBSEQ_CURSE_GHOST,
[MOVE_SUBSCRIPT_PTR_PRINT_MESSAGE_AND_PLAY_ANIMATION] = BATTLE_SUBSEQ_PRINT_MESSAGE_AND_PLAY_ANIMATION,
[MOVE_SUBSCRIPT_PTR_FORESIGHT] = BATTLE_SUBSEQ_FORESIGHT,
[MOVE_SUBSCRIPT_PTR_PERISH_SONG_START] = BATTLE_SUBSEQ_PERISH_SONG_START,
[MOVE_SUBSCRIPT_PTR_WEATHER_START] = BATTLE_SUBSEQ_WEATHER_START,
[MOVE_SUBSCRIPT_PTR_SWAGGER] = BATTLE_SUBSEQ_SWAGGER,
[MOVE_SUBSCRIPT_PTR_INFATUATE] = BATTLE_SUBSEQ_INFATUATE,
[MOVE_SUBSCRIPT_PTR_SAFEGUARD_START] = BATTLE_SUBSEQ_SAFEGUARD_START,
[MOVE_SUBSCRIPT_PTR_PRESENT_HEAL] = BATTLE_SUBSEQ_PRESENT_HEAL,
[MOVE_SUBSCRIPT_PTR_MAGNITUDE] = BATTLE_SUBSEQ_MAGNITUDE,
[MOVE_SUBSCRIPT_PTR_BATON_PASS] = BATTLE_SUBSEQ_BATON_PASS,
[MOVE_SUBSCRIPT_PTR_BELLY_DRUM] = BATTLE_SUBSEQ_BELLY_DRUM,
[MOVE_SUBSCRIPT_PTR_TELEPORT] = BATTLE_SUBSEQ_TELEPORT,
[MOVE_SUBSCRIPT_PTR_FUTURE_SIGHT_START] = BATTLE_SUBSEQ_FUTURE_SIGHT_START,
[MOVE_SUBSCRIPT_PTR_STOCKPILE] = BATTLE_SUBSEQ_STOCKPILE,
[MOVE_SUBSCRIPT_PTR_SWALLOW] = BATTLE_SUBSEQ_SWALLOW,
[MOVE_SUBSCRIPT_PTR_TORMENT_START] = BATTLE_SUBSEQ_TORMENT_START,
[MOVE_SUBSCRIPT_PTR_FLATTER] = BATTLE_SUBSEQ_FLATTER,
[MOVE_SUBSCRIPT_PTR_MEMENTO] = BATTLE_SUBSEQ_MEMENTO,
[MOVE_SUBSCRIPT_PTR_CHARGE] = BATTLE_SUBSEQ_CHARGE,
[MOVE_SUBSCRIPT_PTR_TAUNT_START] = BATTLE_SUBSEQ_TAUNT_START,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ITEMS] = BATTLE_SUBSEQ_EXCHANGE_ITEMS,
[MOVE_SUBSCRIPT_PTR_COPY_ABILITY] = BATTLE_SUBSEQ_COPY_ABILITY,
[MOVE_SUBSCRIPT_PTR_BREAK_SCREENS] = BATTLE_SUBSEQ_BREAK_SCREENS,
[MOVE_SUBSCRIPT_PTR_YAWN] = BATTLE_SUBSEQ_YAWN,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ABILITIES] = BATTLE_SUBSEQ_EXCHANGE_ABILITIES,
[MOVE_SUBSCRIPT_PTR_RECOVER_PSN_PRZ_BRN] = BATTLE_SUBSEQ_RECOVER_PSN_PRZ_BRN,
[MOVE_SUBSCRIPT_PTR_ROOST] = BATTLE_SUBSEQ_ROOST,
[MOVE_SUBSCRIPT_PTR_HEAL_TARGET_SLEEP] = BATTLE_SUBSEQ_HEAL_TARGET_SLEEP,
[MOVE_SUBSCRIPT_PTR_GRAVITY_START] = BATTLE_SUBSEQ_GRAVITY_START,
[MOVE_SUBSCRIPT_PTR_MIRACLE_EYE] = BATTLE_SUBSEQ_MIRACLE_EYE,
[MOVE_SUBSCRIPT_PTR_HEALING_WISH] = BATTLE_SUBSEQ_HEALING_WISH,
[MOVE_SUBSCRIPT_PTR_TAILWIND_START] = BATTLE_SUBSEQ_TAILWIND_START,
[MOVE_SUBSCRIPT_PTR_USER_DEF_AND_SPDEF_DOWN_1_STAGE] = BATTLE_SUBSEQ_USER_DEF_AND_SPDEF_DOWN_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_SWAP_ATK_AND_DEF] = BATTLE_SUBSEQ_USER_SWAP_ATK_AND_DEF,
[MOVE_SUBSCRIPT_PTR_SUPPRESS_TARGET_ABILITY] = BATTLE_SUBSEQ_SUPPRESS_TARGET_ABILITY,
[MOVE_SUBSCRIPT_PTR_LUCKY_CHANT_START] = BATTLE_SUBSEQ_LUCKY_CHANT_START,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ATK_AND_SPATK_STAGES] = BATTLE_SUBSEQ_EXCHANGE_ATK_AND_SPATK_STAGES,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_DEF_AND_SPDEF_STAGES] = BATTLE_SUBSEQ_EXCHANGE_DEF_AND_SPDEF_STAGES,
[MOVE_SUBSCRIPT_PTR_GIVE_TARGET_INSOMNIA] = BATTLE_SUBSEQ_GIVE_TARGET_INSOMNIA,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ALL_STAT_STAGES] = BATTLE_SUBSEQ_EXCHANGE_ALL_STAT_STAGES,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3_CHANCE_TO_BURN] = BATTLE_SUBSEQ_RECOIL_1_3_CHANCE_TO_BURN,
[MOVE_SUBSCRIPT_PTR_DEFOG] = BATTLE_SUBSEQ_DEFOG,
[MOVE_SUBSCRIPT_PTR_HEAL_BLOCK_START] = BATTLE_SUBSEQ_HEAL_BLOCK_START,
[MOVE_SUBSCRIPT_PTR_ATTACK_THEN_SWITCH_OUT] = BATTLE_SUBSEQ_ATTACK_THEN_SWITCH_OUT,
[MOVE_SUBSCRIPT_PTR_EMBARGO_START] = BATTLE_SUBSEQ_EMBARGO_START,
[MOVE_SUBSCRIPT_PTR_PLUCK] = BATTLE_SUBSEQ_PLUCK,
[MOVE_SUBSCRIPT_PTR_FLING] = BATTLE_SUBSEQ_FLING,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3_CHANCE_TO_PARALYZE] = BATTLE_SUBSEQ_RECOIL_1_3_CHANCE_TO_PARALYZE,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_2] = BATTLE_SUBSEQ_RECOIL_1_2,
[MOVE_SUBSCRIPT_PTR_BURN_OR_FLINCH] = BATTLE_SUBSEQ_BURN_OR_FLINCH,
[MOVE_SUBSCRIPT_PTR_FREEZE_OR_FLINCH] = BATTLE_SUBSEQ_FREEZE_OR_FLINCH,
[MOVE_SUBSCRIPT_PTR_PARALYZE_OR_FLINCH] = BATTLE_SUBSEQ_PARALYZE_OR_FLINCH,
[MOVE_SUBSCRIPT_PTR_CHATTER] = BATTLE_SUBSEQ_CHATTER,
[MOVE_SUBSCRIPT_PTR_LUNAR_DANCE] = BATTLE_SUBSEQ_LUNAR_DANCE,
[MOVE_SUBSCRIPT_PTR_GIVE_TARGET_OWN_STATUS] = BATTLE_SUBSEQ_GIVE_TARGET_OWN_STATUS,
[MOVE_SUBSCRIPT_PTR_SLEEP] = BATTLE_SUBSCRIPT_FALL_ASLEEP,
[MOVE_SUBSCRIPT_PTR_POISON] = BATTLE_SUBSCRIPT_POISON,
[MOVE_SUBSCRIPT_PTR_BURN] = BATTLE_SUBSCRIPT_BURN,
[MOVE_SUBSCRIPT_PTR_FREEZE] = BATTLE_SUBSCRIPT_FREEZE,
[MOVE_SUBSCRIPT_PTR_PARALYZE] = BATTLE_SUBSCRIPT_PARALYZE,
[MOVE_SUBSCRIPT_PTR_BADLY_POISON] = BATTLE_SUBSCRIPT_BADLY_POISON,
[MOVE_SUBSCRIPT_PTR_CONFUSE] = BATTLE_SUBSCRIPT_CONFUSE,
[MOVE_SUBSCRIPT_PTR_FLINCH] = BATTLE_SUBSCRIPT_FLINCH_MON,
[MOVE_SUBSCRIPT_PTR_REST] = BATTLE_SUBSCRIPT_REST,
[MOVE_SUBSCRIPT_PTR_UPROAR] = BATTLE_SUBSCRIPT_UPROAR,
[MOVE_SUBSCRIPT_PTR_PAY_DAY] = BATTLE_SUBSCRIPT_PAY_DAY,
[MOVE_SUBSCRIPT_PTR_VANISH_CHARGE_TURN] = BATTLE_SUBSCRIPT_VANISH_ON_CHARGE_TURN,
[MOVE_SUBSCRIPT_PTR_BIND_TARGET] = BATTLE_SUBSCRIPT_BIND_START,
[MOVE_SUBSCRIPT_PTR_QUARTER_RECOIL] = BATTLE_SUBSCRIPT_RECOIL_1_4,
[MOVE_SUBSCRIPT_PTR_ATTACK_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_UP_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_RECHARGE_TURN] = BATTLE_SUBSCRIPT_RECHARGE_TURN,
[MOVE_SUBSCRIPT_PTR_SET_RAGE_FLAG] = BATTLE_SUBSCRIPT_SET_RAGE_FLAG,
[MOVE_SUBSCRIPT_PTR_STEAL_ITEM] = BATTLE_SUBSCRIPT_STEAL_ITEM,
[MOVE_SUBSCRIPT_PTR_MEAN_LOOK] = BATTLE_SUBSCRIPT_MEAN_LOOK,
[MOVE_SUBSCRIPT_PTR_NIGHTMARE_START] = BATTLE_SUBSCRIPT_NIGHTMARE_START,
[MOVE_SUBSCRIPT_PTR_BOOST_ALL_STATS] = BATTLE_SUBSCRIPT_BOOST_ALL_STATS,
[MOVE_SUBSCRIPT_PTR_RAPID_SPIN] = BATTLE_SUBSCRIPT_RAPID_SPIN,
[MOVE_SUBSCRIPT_PTR_HEAL_TARGET_PARALYSIS] = BATTLE_SUBSCRIPT_HEAL_TARGET_PARALYSIS,
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_DEF_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_USER_ATK_AND_DEF_DOWN_1_STAGE,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3] = BATTLE_SUBSCRIPT_RECOIL_1_3,
[MOVE_SUBSCRIPT_PTR_ATTACK_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_UP_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SPEED_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_ATTACK_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_SP_DEFENSE_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_ACCURACY_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_EVASION_DOWN_2_STAGES] = BATTLE_SUBSCRIPT_UPDATE_STAT_STAGE,
[MOVE_SUBSCRIPT_PTR_THRASH] = BATTLE_SUBSCRIPT_THRASH,
[MOVE_SUBSCRIPT_PTR_KNOCK_OFF] = BATTLE_SUBSCRIPT_KNOCK_OFF,
[MOVE_SUBSCRIPT_PTR_USER_DEF_AND_SPDEF_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_DEF_AND_SPDEF_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_DEF_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_ATK_AND_DEF_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_TARGET_ATK_AND_DEF_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_TARGET_ATK_AND_DEF_DOWN_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_SPATK_AND_SPDEF_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_SPATK_AND_SPDEF_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_ATK_AND_SPEED_UP_1_STAGE] = BATTLE_SUBSCRIPT_USER_ATK_AND_SPEED_UP_1_STAGE,
[MOVE_SUBSCRIPT_PTR_DRAIN_HALF_DAMAGE_DEALT] = BATTLE_SUBSCRIPT_DRAIN_HALF_DAMAGE_DEALT,
[MOVE_SUBSCRIPT_PTR_DREAM_EATER] = BATTLE_SUBSCRIPT_DREAM_EATER,
[MOVE_SUBSCRIPT_PTR_RESET_ALL_STAT_STAGES] = BATTLE_SUBSCRIPT_RESET_ALL_STAT_STAGES,
[MOVE_SUBSCRIPT_PTR_BIDE_START] = BATTLE_SUBSCRIPT_BIDE_START,
[MOVE_SUBSCRIPT_PTR_STRUGGLE] = BATTLE_SUBSCRIPT_STRUGGLE,
[MOVE_SUBSCRIPT_PTR_CONVERSION] = BATTLE_SUBSCRIPT_CONVERSION,
[MOVE_SUBSCRIPT_PTR_RECOVER_HALF_MAX_HP] = BATTLE_SUBSCRIPT_RECOVER_HALF_MAX_HP,
[MOVE_SUBSCRIPT_PTR_LIGHT_SCREEN] = BATTLE_SUBSCRIPT_LIGHT_SCREEN,
[MOVE_SUBSCRIPT_PTR_REFLECT] = BATTLE_SUBSCRIPT_REFLECT,
[MOVE_SUBSCRIPT_PTR_MIST] = BATTLE_SUBSCRIPT_MIST,
[MOVE_SUBSCRIPT_PTR_FOCUS_ENERGY] = BATTLE_SUBSCRIPT_FOCUS_ENERGY,
[MOVE_SUBSCRIPT_PTR_MIMIC] = BATTLE_SUBSCRIPT_MIMIC,
[MOVE_SUBSCRIPT_PTR_LEECH_SEED_START] = BATTLE_SUBSCRIPT_LEECH_SEED_START,
[MOVE_SUBSCRIPT_PTR_DISABLE_START] = BATTLE_SUBSCRIPT_DISABLE_START,
[MOVE_SUBSCRIPT_PTR_ENCORE_START] = BATTLE_SUBSCRIPT_ENCORE_START,
[MOVE_SUBSCRIPT_PTR_PAIN_SPLIT] = BATTLE_SUBSCRIPT_PAIN_SPLIT,
[MOVE_SUBSCRIPT_PTR_CONVERSION_2] = BATTLE_SUBSCRIPT_CONVERSION_2,
[MOVE_SUBSCRIPT_PTR_LOCK_ON] = BATTLE_SUBSCRIPT_LOCK_ON,
[MOVE_SUBSCRIPT_PTR_SKETCH] = BATTLE_SUBSCRIPT_SKETCH,
[MOVE_SUBSCRIPT_PTR_FEINT] = BATTLE_SUBSCRIPT_FEINT,
[MOVE_SUBSCRIPT_PTR_DESTINY_BOND] = BATTLE_SUBSCRIPT_DESTINY_BOND,
[MOVE_SUBSCRIPT_PTR_REDUCE_TARGET_PP] = BATTLE_SUBSCRIPT_REDUCE_TARGET_PP,
[MOVE_SUBSCRIPT_PTR_PROTECT] = BATTLE_SUBSCRIPT_PROTECT,
[MOVE_SUBSCRIPT_PTR_HEAL_BELL] = BATTLE_SUBSCRIPT_HEAL_BELL,
[MOVE_SUBSCRIPT_PTR_TRY_SUBSTITUTE] = BATTLE_SUBSCRIPT_TRY_SUBSTITUTE,
[MOVE_SUBSCRIPT_PTR_FORCE_TARGET_TO_SWITCH_OR_FLEE] = BATTLE_SUBSCRIPT_FORCE_TARGET_TO_SWITCH_OR_FLEE,
[MOVE_SUBSCRIPT_PTR_TRANSFORM_INTO_TARGET] = BATTLE_SUBSCRIPT_TRANSFORM_INTO_TARGET,
[MOVE_SUBSCRIPT_PTR_MINIMIZE] = BATTLE_SUBSCRIPT_MINIMIZE,
[MOVE_SUBSCRIPT_PTR_CURSE_NORMAL] = BATTLE_SUBSCRIPT_CURSE_NORMAL,
[MOVE_SUBSCRIPT_PTR_CURSE_GHOST] = BATTLE_SUBSCRIPT_CURSE_GHOST,
[MOVE_SUBSCRIPT_PTR_PRINT_MESSAGE_AND_PLAY_ANIMATION] = BATTLE_SUBSCRIPT_PRINT_MESSAGE_AND_PLAY_ANIMATION,
[MOVE_SUBSCRIPT_PTR_FORESIGHT] = BATTLE_SUBSCRIPT_FORESIGHT,
[MOVE_SUBSCRIPT_PTR_PERISH_SONG_START] = BATTLE_SUBSCRIPT_PERISH_SONG_START,
[MOVE_SUBSCRIPT_PTR_WEATHER_START] = BATTLE_SUBSCRIPT_WEATHER_START,
[MOVE_SUBSCRIPT_PTR_SWAGGER] = BATTLE_SUBSCRIPT_SWAGGER,
[MOVE_SUBSCRIPT_PTR_INFATUATE] = BATTLE_SUBSCRIPT_INFATUATE,
[MOVE_SUBSCRIPT_PTR_SAFEGUARD_START] = BATTLE_SUBSCRIPT_SAFEGUARD_START,
[MOVE_SUBSCRIPT_PTR_PRESENT_HEAL] = BATTLE_SUBSCRIPT_PRESENT_HEAL,
[MOVE_SUBSCRIPT_PTR_MAGNITUDE] = BATTLE_SUBSCRIPT_MAGNITUDE,
[MOVE_SUBSCRIPT_PTR_BATON_PASS] = BATTLE_SUBSCRIPT_BATON_PASS,
[MOVE_SUBSCRIPT_PTR_BELLY_DRUM] = BATTLE_SUBSCRIPT_BELLY_DRUM,
[MOVE_SUBSCRIPT_PTR_TELEPORT] = BATTLE_SUBSCRIPT_TELEPORT,
[MOVE_SUBSCRIPT_PTR_FUTURE_SIGHT_START] = BATTLE_SUBSCRIPT_FUTURE_SIGHT_START,
[MOVE_SUBSCRIPT_PTR_STOCKPILE] = BATTLE_SUBSCRIPT_STOCKPILE,
[MOVE_SUBSCRIPT_PTR_SWALLOW] = BATTLE_SUBSCRIPT_SWALLOW,
[MOVE_SUBSCRIPT_PTR_TORMENT_START] = BATTLE_SUBSCRIPT_TORMENT_START,
[MOVE_SUBSCRIPT_PTR_FLATTER] = BATTLE_SUBSCRIPT_FLATTER,
[MOVE_SUBSCRIPT_PTR_MEMENTO] = BATTLE_SUBSCRIPT_MEMENTO,
[MOVE_SUBSCRIPT_PTR_CHARGE] = BATTLE_SUBSCRIPT_CHARGE,
[MOVE_SUBSCRIPT_PTR_TAUNT_START] = BATTLE_SUBSCRIPT_TAUNT_START,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ITEMS] = BATTLE_SUBSCRIPT_EXCHANGE_ITEMS,
[MOVE_SUBSCRIPT_PTR_COPY_ABILITY] = BATTLE_SUBSCRIPT_COPY_ABILITY,
[MOVE_SUBSCRIPT_PTR_BREAK_SCREENS] = BATTLE_SUBSCRIPT_BREAK_SCREENS,
[MOVE_SUBSCRIPT_PTR_YAWN] = BATTLE_SUBSCRIPT_YAWN,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ABILITIES] = BATTLE_SUBSCRIPT_EXCHANGE_ABILITIES,
[MOVE_SUBSCRIPT_PTR_RECOVER_PSN_PRZ_BRN] = BATTLE_SUBSCRIPT_RECOVER_PSN_PRZ_BRN,
[MOVE_SUBSCRIPT_PTR_ROOST] = BATTLE_SUBSCRIPT_ROOST,
[MOVE_SUBSCRIPT_PTR_HEAL_TARGET_SLEEP] = BATTLE_SUBSCRIPT_HEAL_TARGET_SLEEP,
[MOVE_SUBSCRIPT_PTR_GRAVITY_START] = BATTLE_SUBSCRIPT_GRAVITY_START,
[MOVE_SUBSCRIPT_PTR_MIRACLE_EYE] = BATTLE_SUBSCRIPT_MIRACLE_EYE,
[MOVE_SUBSCRIPT_PTR_HEALING_WISH] = BATTLE_SUBSCRIPT_HEALING_WISH,
[MOVE_SUBSCRIPT_PTR_TAILWIND_START] = BATTLE_SUBSCRIPT_TAILWIND_START,
[MOVE_SUBSCRIPT_PTR_USER_DEF_AND_SPDEF_DOWN_1_STAGE] = BATTLE_SUBSCRIPT_USER_DEF_AND_SPDEF_DOWN_1_STAGE,
[MOVE_SUBSCRIPT_PTR_USER_SWAP_ATK_AND_DEF] = BATTLE_SUBSCRIPT_USER_SWAP_ATK_AND_DEF,
[MOVE_SUBSCRIPT_PTR_SUPPRESS_TARGET_ABILITY] = BATTLE_SUBSCRIPT_SUPPRESS_TARGET_ABILITY,
[MOVE_SUBSCRIPT_PTR_LUCKY_CHANT_START] = BATTLE_SUBSCRIPT_LUCKY_CHANT_START,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ATK_AND_SPATK_STAGES] = BATTLE_SUBSCRIPT_EXCHANGE_ATK_AND_SPATK_STAGES,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_DEF_AND_SPDEF_STAGES] = BATTLE_SUBSCRIPT_EXCHANGE_DEF_AND_SPDEF_STAGES,
[MOVE_SUBSCRIPT_PTR_GIVE_TARGET_INSOMNIA] = BATTLE_SUBSCRIPT_GIVE_TARGET_INSOMNIA,
[MOVE_SUBSCRIPT_PTR_EXCHANGE_ALL_STAT_STAGES] = BATTLE_SUBSCRIPT_EXCHANGE_ALL_STAT_STAGES,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3_CHANCE_TO_BURN] = BATTLE_SUBSCRIPT_RECOIL_1_3_CHANCE_TO_BURN,
[MOVE_SUBSCRIPT_PTR_DEFOG] = BATTLE_SUBSCRIPT_DEFOG,
[MOVE_SUBSCRIPT_PTR_HEAL_BLOCK_START] = BATTLE_SUBSCRIPT_HEAL_BLOCK_START,
[MOVE_SUBSCRIPT_PTR_ATTACK_THEN_SWITCH_OUT] = BATTLE_SUBSCRIPT_ATTACK_THEN_SWITCH_OUT,
[MOVE_SUBSCRIPT_PTR_EMBARGO_START] = BATTLE_SUBSCRIPT_EMBARGO_START,
[MOVE_SUBSCRIPT_PTR_PLUCK] = BATTLE_SUBSCRIPT_PLUCK,
[MOVE_SUBSCRIPT_PTR_FLING] = BATTLE_SUBSCRIPT_FLING,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_3_CHANCE_TO_PARALYZE] = BATTLE_SUBSCRIPT_RECOIL_1_3_CHANCE_TO_PARALYZE,
[MOVE_SUBSCRIPT_PTR_RECOIL_1_2] = BATTLE_SUBSCRIPT_RECOIL_1_2,
[MOVE_SUBSCRIPT_PTR_BURN_OR_FLINCH] = BATTLE_SUBSCRIPT_BURN_OR_FLINCH,
[MOVE_SUBSCRIPT_PTR_FREEZE_OR_FLINCH] = BATTLE_SUBSCRIPT_FREEZE_OR_FLINCH,
[MOVE_SUBSCRIPT_PTR_PARALYZE_OR_FLINCH] = BATTLE_SUBSCRIPT_PARALYZE_OR_FLINCH,
[MOVE_SUBSCRIPT_PTR_CHATTER] = BATTLE_SUBSCRIPT_CHATTER,
[MOVE_SUBSCRIPT_PTR_LUNAR_DANCE] = BATTLE_SUBSCRIPT_LUNAR_DANCE,
[MOVE_SUBSCRIPT_PTR_GIVE_TARGET_OWN_STATUS] = BATTLE_SUBSCRIPT_GIVE_TARGET_OWN_STATUS,
};

View File

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

View File

@ -1,6 +1,8 @@
#ifndef POKEPLATINUM_MOVE_TABLE_H
#define POKEPLATINUM_MOVE_TABLE_H
#include "consts/generated/c/moves.h" // def for MoveAttribute
typedef struct MoveContestData {
u8 effect;
u8 type;
@ -21,21 +23,6 @@ typedef struct MoveTable {
MoveContestData contest;
} MoveTable;
enum MoveAttribute {
MOVEATTRIBUTE_EFFECT = 0,
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,
};
/**
* @brief Load the full move table into a destination buffer.
*

View File

@ -121,18 +121,18 @@ subdir('platinum.us')
subdir('lib')
############################################################
### FILE SYSTEM ###
############################################################
subdir('res')
############################################################
### CONSTS ###
############################################################
subdir('consts')
############################################################
### FILE SYSTEM ###
############################################################
subdir('res')
############################################################
### ARM9 BINARY ###
############################################################

View File

@ -242,9 +242,15 @@ RomSpec
File battle/graphic/vs_demo_gra.narc
File wazaeffect/we.arc
File wazaeffect/we_sub.narc
File battle/skill/be_seq.narc
File battle/skill/sub_seq.narc
File battle/skill/waza_seq.narc
Root /battle/skill
HostRoot res/battle/scripts
File be_seq.narc
File sub_seq.narc
File waza_seq.narc
Root /
HostRoot res/prebuilt
File wazaeffect/effectclact/wecell.narc
File wazaeffect/effectclact/wecellanm.narc
File wazaeffect/effectclact/wechar.narc

View File

@ -1 +1,2 @@
subdir('moves')
subdir('moves')
subdir('scripts')

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_SLEEP
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_POISON
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_DRAIN_HALF_DAMAGE_DEALT
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_BURN
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_FREEZE
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_PARALYZE
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,32 @@
.include "macros/btlcmd.inc"
.data
_000:
CheckIgnorableAbility CHECK_HAVE, BTLSCR_ALL_BATTLERS, ABILITY_DAMP, _038
CompareVarToValue OPCODE_FLAG_SET, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_MON_SELFDESTRUCTED, _035
UpdateVar OPCODE_SET, BTLVAR_CALC_TEMP, 0x10000000
UpdateVarFromVar OPCODE_LEFT_SHIFT, BTLVAR_CALC_TEMP, BTLVAR_ATTACKER
UpdateVarFromVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS, BTLVAR_CALC_TEMP
UpdateMonData OPCODE_SET, BTLSCR_ATTACKER, BATTLEMON_CUR_HP, 0
UpdateVar OPCODE_SET, BTLVAR_HP_CALC_TEMP, 32767
UpdateHealthBar BTLSCR_ATTACKER
Wait
Call BATTLE_SUBSCRIPT_ATTACK_MESSAGE_AND_ANIMATION
_035:
CalcCrit
CalcDamage
End
_038:
PrintAttackMessage
Wait
WaitButtonABTime 30
// {0}s {1} prevents {2} from using {3}!
PrintMessage pl_msg_00000368_00628, TAG_NICKNAME_ABILITY_NICKNAME_MOVE, BTLSCR_ABILITY_MON, BTLSCR_ABILITY_MON, BTLSCR_ATTACKER, BTLSCR_ATTACKER
Wait
WaitButtonABTime 30
UpdateVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_CHECK_LOOP_ONLY_ONCE
UpdateVar OPCODE_FLAG_ON, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_NO_MORE_WORK
End

View File

@ -0,0 +1,22 @@
.include "macros/btlcmd.inc"
.data
_000:
CheckSubstitute BTLSCR_DEFENDER, _015
CompareMonDataToValue OPCODE_FLAG_NOT, BTLSCR_DEFENDER, BATTLEMON_STATUS, MON_CONDITION_SLEEP, _015
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_DREAM_EATER
CalcCrit
CalcDamage
End
_015:
PrintAttackMessage
Wait
WaitButtonABTime 30
// {0} wasnt affected!
PrintMessage pl_msg_00000368_00060, TAG_NICKNAME, BTLSCR_DEFENDER
Wait
WaitButtonABTime 30
UpdateVar OPCODE_FLAG_ON, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_NO_MORE_WORK
End

View File

@ -0,0 +1,15 @@
.include "macros/btlcmd.inc"
.data
_000:
PrintAttackMessage
Wait
WaitButtonABTime 30
SetMirrorMove
// Mirror Move failed!
PrintMessage pl_msg_00000368_00798, TAG_NONE
Wait
WaitButtonABTime 30
UpdateVar OPCODE_FLAG_ON, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_NO_MORE_WORK
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_ATTACK_UP_1_STAGE
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_DEFENSE_UP_1_STAGE
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_1_STAGE
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_EVASION_UP_1_STAGE
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_1_STAGE
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_1_STAGE
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_SPEED_DOWN_1_STAGE
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_ACCURACY_DOWN_1_STAGE
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_EVASION_DOWN_1_STAGE
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_RESET_ALL_STAT_STAGES
End

View File

@ -0,0 +1,13 @@
.include "macros/btlcmd.inc"
.data
_000:
CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_ATTACKER, BATTLEMON_VOLATILE_STATUS, VOLATILE_CONDITION_MOVE_LOCKED, _015
CompareVarToValue OPCODE_FLAG_SET, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_LAST_OF_MULTI_TURN, _015
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_BIDE_START
End
_015:
UpdateVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_SKIP_ATTACK_MESSAGE
End

View File

@ -0,0 +1,12 @@
.include "macros/btlcmd.inc"
.data
_000:
CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_ATTACKER, BATTLEMON_VOLATILE_STATUS, VOLATILE_CONDITION_THRASH, _009
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_THRASH
_009:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_FORCE_TARGET_TO_SWITCH_OR_FLEE
End

View File

@ -0,0 +1,10 @@
.include "macros/btlcmd.inc"
.data
_000:
SetMultiHit 0, SYSCTL_MULTI_HIT_MOVE
UpdateVar OPCODE_SET, BTLVAR_AFTER_MOVE_MESSAGE_TYPE, AFTER_MOVE_MESSAGE_MULTI_HIT
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_CONVERSION
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_FLINCH
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_RECOVER_HALF_MAX_HP
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_BADLY_POISON
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_CHECK_SUBSTITUTE|MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_PAY_DAY
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_LIGHT_SCREEN
End

View File

@ -0,0 +1,11 @@
.include "macros/btlcmd.inc"
.data
_000:
Random 2, 3
UpdateVar OPCODE_ADD, BTLVAR_CALC_TEMP, 0x80000000
UpdateVarFromVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, BTLVAR_CALC_TEMP
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_REST
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
TryOHKOMove
End

View File

@ -0,0 +1,24 @@
.include "macros/btlcmd.inc"
.data
_000:
CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_ATTACKER, BATTLEMON_VOLATILE_STATUS, VOLATILE_CONDITION_MOVE_LOCKED, _031
CompareVarToValue OPCODE_FLAG_SET, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_LAST_OF_MULTI_TURN, _031
CheckItemHoldEffect CHECK_HAVE, BTLSCR_ATTACKER, HOLD_EFFECT_CHARGE_SKIP, _024
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_VANISH_CHARGE_TURN
UpdateVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_SKIP_ATTACK_MESSAGE|SYSCTL_CHECK_LOOP_ONLY_ONCE|SYSCTL_FIRST_OF_MULTI_TURN
End
_024:
Call BATTLE_SUBSCRIPT_ITEM_SKIP_CHARGE_TURN
CompareVarToValue OPCODE_EQU, BTLVAR_DEFENDER, BATTLER_NONE, _037
_031:
UpdateVar OPCODE_ADD, BTLVAR_CRITICAL_BOOSTS, 1
CalcCrit
CalcDamage
_037:
Call BATTLE_SUBSCRIPT_CHARGE_MOVE_CLEANUP
End

View File

@ -0,0 +1,10 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_IGNORE_TYPE_CHECKS
UpdateMonDataFromVar OPCODE_GET, BTLSCR_DEFENDER, BATTLEMON_CUR_HP, BTLVAR_DAMAGE
UpdateVar OPCODE_MUL, BTLVAR_DAMAGE, -1
DivideVarByValue BTLVAR_DAMAGE, 2
End

View File

@ -0,0 +1,13 @@
.include "macros/btlcmd.inc"
.data
_000:
CompareVarToValue OPCODE_FLAG_SET, BTLVAR_REGULATION_FLAG, 1, _013
UpdateVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_IGNORE_TYPE_CHECKS
UpdateVar OPCODE_SET, BTLVAR_DAMAGE, -40
End
_013:
UpdateVar OPCODE_FLAG_ON, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_FAILED
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_CHECK_HP_AND_SUBSTITUTE|MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_BIND_TARGET
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_ADD, BTLVAR_CRITICAL_BOOSTS, 1
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,10 @@
.include "macros/btlcmd.inc"
.data
_000:
SetMultiHit 2, SYSCTL_MULTI_HIT_MOVE
UpdateVar OPCODE_SET, BTLVAR_AFTER_MOVE_MESSAGE_TYPE, AFTER_MOVE_MESSAGE_MULTI_HIT
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,13 @@
.include "macros/btlcmd.inc"
.data
_000:
CheckAbility CHECK_NOT_HAVE, BTLSCR_ATTACKER, ABILITY_RECKLESS, _008
UpdateVar OPCODE_SET, BTLVAR_POWER_MULTI, 12
_008:
UpdateVar OPCODE_FLAG_ON, BTLVAR_BATTLE_CTX_STATUS, SYSCTL_CRASH_DAMAGE
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_MIST
End

View File

@ -0,0 +1,12 @@
.include "macros/btlcmd.inc"
.data
_000:
CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_ATTACKER, BATTLEMON_VOLATILE_STATUS, VOLATILE_CONDITION_FOCUS_ENERGY, _010
UpdateVar OPCODE_FLAG_ON, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_FOCUS_ENERGY
End
_010:
UpdateVar OPCODE_FLAG_ON, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_FAILED
End

View File

@ -0,0 +1,13 @@
.include "macros/btlcmd.inc"
.data
_000:
CheckAbility CHECK_NOT_HAVE, BTLSCR_ATTACKER, ABILITY_RECKLESS, _008
UpdateVar OPCODE_SET, BTLVAR_POWER_MULTI, 12
_008:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_QUARTER_RECOIL
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_CONFUSE
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_ATTACK_UP_2_STAGES
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_DEFENSE_UP_2_STAGES
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_SPEED_UP_2_STAGES
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_SP_ATTACK_UP_2_STAGES
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_ATTACKER|MOVE_SUBSCRIPT_PTR_SP_DEFENSE_UP_2_STAGES
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_CHECK_HP|MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_TRANSFORM_INTO_TARGET
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_2_STAGES
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_2_STAGES
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_SPEED_DOWN_2_STAGES
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_SP_DEFENSE_DOWN_2_STAGES
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,8 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_ON_HIT|MOVE_SUBSCRIPT_PTR_REFLECT
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_POISON
End

View File

@ -0,0 +1,7 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_DIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_PARALYZE
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_ATTACK_DOWN_1_STAGE
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_DEFENSE_DOWN_1_STAGE
CalcCrit
CalcDamage
End

View File

@ -0,0 +1,9 @@
.include "macros/btlcmd.inc"
.data
_000:
CalcCrit
CalcDamage
UpdateVar OPCODE_SET, BTLVAR_SIDE_EFFECT_FLAGS_INDIRECT, MOVE_SIDE_EFFECT_TO_DEFENDER|MOVE_SUBSCRIPT_PTR_SPEED_DOWN_1_STAGE
End

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