summaryrefslogtreecommitdiff
path: root/include/constants/battle_script_commands.h
diff options
context:
space:
mode:
authorjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-31 07:57:24 +0800
committerjiangzhengwenjz <jiangzhengwenjzw@qq.com>2019-07-31 07:58:09 +0800
commitc88c9c6edfb7122524b319e4601c5d2b97bf06ca (patch)
tree993b2d8b016f11b6d80aa48f1e9a0134b4a8fa3e /include/constants/battle_script_commands.h
parent353fe5e797e9855714cb9215f9d73cbfb769e2bc (diff)
progress #1 on porting battle_util
Diffstat (limited to 'include/constants/battle_script_commands.h')
-rw-r--r--include/constants/battle_script_commands.h134
1 files changed, 134 insertions, 0 deletions
diff --git a/include/constants/battle_script_commands.h b/include/constants/battle_script_commands.h
new file mode 100644
index 000000000..894bd13b6
--- /dev/null
+++ b/include/constants/battle_script_commands.h
@@ -0,0 +1,134 @@
+#ifndef GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
+#define GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H
+
+// Battle Scripting and BattleCommunication addresses
+#define sPAINSPLIT_HP gBattleScripting
+#define sBIDE_DMG gBattleScripting + 4
+#define sMULTIHIT_STRING gBattleScripting + 8
+#define sDMG_MULTIPLIER gBattleScripting + 0xE
+#define sTWOTURN_STRINGID gBattleScripting + 0xF
+#define sB_ANIM_ARG1 gBattleScripting + 0x10
+#define sB_ANIM_ARG2 gBattleScripting + 0x11
+#define sTRIPLE_KICK_POWER gBattleScripting + 0x12
+#define sMOVEEND_STATE gBattleScripting + 0x14
+#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15
+#define sMULTIHIT_EFFECT gBattleScripting + 0x16
+#define sBATTLER gBattleScripting + 0x17
+#define sB_ANIM_TURN gBattleScripting + 0x18
+#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19
+#define sSTATCHANGER gBattleScripting + 0x1A
+#define sSTAT_ANIM_PLAYED gBattleScripting + 0x1B
+#define sGIVEEXP_STATE gBattleScripting + 0x1C
+#define sBATTLE_STYLE gBattleScripting + 0x1D
+#define sLVLBOX_STATE gBattleScripting + 0x1E
+#define sLEARNMOVE_STATE gBattleScripting + 0x1F
+#define sFIELD_20 gBattleScripting + 0x20
+#define sRESHOW_MAIN_STATE gBattleScripting + 0x21
+#define sRESHOW_HELPER_STATE gBattleScripting + 0x22
+#define sFIELD_23 gBattleScripting + 0x23
+#define sWINDOWS_TYPE gBattleScripting + 0x24
+#define sMULTIPLAYER_ID gBattleScripting + 0x25
+#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26
+
+#define cEFFECT_CHOOSER gBattleCommunication + 3
+#define cMULTISTRING_CHOOSER gBattleCommunication + 5
+
+// Battle Script defines for getting the wanted battler
+#define BS_TARGET 0
+#define BS_ATTACKER 1
+#define BS_EFFECT_BATTLER 2
+#define BS_FAINTED 3
+#define BS_BATTLER_0 7
+#define BS_ATTACKER_WITH_PARTNER 4 // for atk98_status_icon_update
+#define BS_ATTACKER_SIDE 8 // for atk1E_jumpifability
+#define BS_NOT_ATTACKER_SIDE 9 // for atk1E_jumpifability
+#define BS_SCRIPTING 10
+#define BS_PLAYER1 11
+#define BS_OPPONENT1 12
+#define BS_PLAYER2 13
+#define BS_OPPONENT2 14
+
+// atk 01, accuracy calc
+#define NO_ACC_CALC 0xFFFE
+#define NO_ACC_CALC_CHECK_LOCK_ON 0xFFFF
+#define ACC_CURR_MOVE 0
+
+// compare operands
+#define CMP_EQUAL 0x0
+#define CMP_NOT_EQUAL 0x1
+#define CMP_GREATER_THAN 0x2
+#define CMP_LESS_THAN 0x3
+#define CMP_COMMON_BITS 0x4
+#define CMP_NO_COMMON_BITS 0x5
+
+// atk76, various
+#define VARIOUS_CANCEL_MULTI_TURN_MOVES 0
+#define VARIOUS_SET_MAGIC_COAT_TARGET 1
+#define VARIOUS_IS_RUNNING_IMPOSSIBLE 2
+#define VARIOUS_GET_MOVE_TARGET 3
+#define VARIOUS_RESET_INTIMIDATE_TRACE_BITS 5
+#define VARIOUS_UPDATE_CHOICE_MOVE_ON_LVL_UP 6
+#define VARIOUS_ARENA_JUDGMENT_WINDOW 9
+#define VARIOUS_ARENA_OPPONENT_MON_LOST 10
+#define VARIOUS_ARENA_PLAYER_MON_LOST 11
+#define VARIOUS_ARENA_BOTH_MONS_LOST 12
+#define VARIOUS_EMIT_YESNOBOX 13
+#define VARIOUS_ARENA_JUDGMENT_STRING 16
+#define VARIOUS_ARENA_WAIT_STRING 17
+#define VARIOUS_WAIT_CRY 18
+#define VARIOUS_RETURN_OPPONENT_MON1 19
+#define VARIOUS_RETURN_OPPONENT_MON2 20
+#define VARIOUS_VOLUME_DOWN 21
+#define VARIOUS_VOLUME_UP 22
+#define VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT 23
+#define VARIOUS_SET_TELEPORT_OUTCOME 25
+#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
+
+// atk80, dmg manipulation
+#define ATK80_DMG_CHANGE_SIGN 0
+#define ATK80_DMG_HALF_BY_TWO_NOT_MORE_THAN_HALF_MAX_HP 1
+#define ATK80_DMG_DOUBLED 2
+
+// atk4F, a flag used for the jumpifcantswitch command
+#define ATK4F_DONT_CHECK_STATUSES 0x80
+
+// statchange defines
+#define STAT_CHANGE_BS_PTR 0x1
+#define STAT_CHANGE_NOT_PROTECT_AFFECTED 0x20
+
+// atk48
+#define ATK48_STAT_NEGATIVE 0x1
+#define ATK48_STAT_BY_TWO 0x2
+#define ATK48_ONLY_MULTIPLE 0x4
+#define ATK48_DONT_CHECK_LOWER 0x8
+
+// atk49, moveend cases
+#define ATK49_RAGE 0
+#define ATK49_DEFROST 1
+#define ATK49_SYNCHRONIZE_TARGET 2
+#define ATK49_MOVE_END_ABILITIES 3
+#define ATK49_STATUS_IMMUNITY_ABILITIES 4
+#define ATK49_SYNCHRONIZE_ATTACKER 5
+#define ATK49_CHOICE_MOVE 6
+#define ATK49_CHANGED_ITEMS 7
+#define ATK49_ATTACKER_INVISIBLE 8
+#define ATK49_ATTACKER_VISIBLE 9
+#define ATK49_TARGET_VISIBLE 10
+#define ATK49_ITEM_EFFECTS_ALL 11
+#define ATK49_KINGSROCK_SHELLBELL 12
+#define ATK49_SUBSTITUTE 13
+#define ATK49_UPDATE_LAST_MOVES 14
+#define ATK49_MIRROR_MOVE 15
+#define ATK49_NEXT_TARGET 16
+#define ATK49_COUNT 17
+
+#define BIT_HP 0x1
+#define BIT_ATK 0x2
+#define BIT_DEF 0x4
+#define BIT_SPEED 0x8
+#define BIT_SPATK 0x10
+#define BIT_SPDEF 0x20
+#define BIT_ACC 0x40
+#define BIT_EVASION 0x80
+
+#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H