pokeemerald/include/constants/battle_script_commands.h

136 lines
5.5 KiB
C
Raw Normal View History

2018-02-08 11:17:41 +01:00
#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
2018-10-21 20:13:12 +02:00
#define sBATTLER_WITH_ABILITY gBattleScripting + 0x15
2018-02-08 11:17:41 +01:00
#define sMULTIHIT_EFFECT gBattleScripting + 0x16
2018-10-21 20:13:12 +02:00
#define sBATTLER gBattleScripting + 0x17
2018-02-08 11:17:41 +01:00
#define sB_ANIM_TURN gBattleScripting + 0x18
#define sB_ANIM_TARGETS_HIT gBattleScripting + 0x19
#define sSTATCHANGER gBattleScripting + 0x1A
2018-07-29 15:33:16 +02:00
#define sSTAT_ANIM_PLAYED gBattleScripting + 0x1B
2018-02-08 11:17:41 +01:00
#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
2018-10-21 20:13:12 +02:00
#define sWINDOWS_TYPE gBattleScripting + 0x24
2018-02-08 11:17:41 +01:00
#define sMULTIPLAYER_ID gBattleScripting + 0x25
2018-10-21 20:13:12 +02:00
#define sSPECIAL_TRAINER_BATTLE_TYPE gBattleScripting + 0x26
2018-02-08 11:17:41 +01:00
#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
2018-07-01 11:15:42 +02:00
#define BS_BATTLER_0 7
2019-09-27 08:46:33 +02:00
#define BS_ATTACKER_WITH_PARTNER 4 // for Cmd_updatestatusicon
2019-09-15 23:58:12 +02:00
#define BS_ATTACKER_SIDE 8 // for Cmd_jumpifability
#define BS_NOT_ATTACKER_SIDE 9 // for Cmd_jumpifability
2018-02-08 11:17:41 +01:00
#define BS_SCRIPTING 10
#define BS_PLAYER1 11
#define BS_OPPONENT1 12
#define BS_PLAYER2 13
#define BS_OPPONENT2 14
2019-09-27 08:46:33 +02:00
// Cmd_accuracycheck
2018-02-08 11:17:41 +01:00
#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
2019-09-27 08:46:33 +02:00
// Cmd_various
2018-02-08 11:17:41 +01:00
#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
2018-11-11 18:33:16 +01:00
#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
2018-02-08 11:17:41 +01:00
#define VARIOUS_EMIT_YESNOBOX 13
2018-11-11 18:33:16 +01:00
#define VARIOUS_ARENA_JUDGMENT_STRING 16
#define VARIOUS_ARENA_WAIT_STRING 17
2018-02-08 11:17:41 +01:00
#define VARIOUS_WAIT_CRY 18
#define VARIOUS_RETURN_OPPONENT_MON1 19
#define VARIOUS_RETURN_OPPONENT_MON2 20
2018-08-25 21:04:12 +02:00
#define VARIOUS_VOLUME_DOWN 21
#define VARIOUS_VOLUME_UP 22
2018-11-11 18:33:16 +01:00
#define VARIOUS_SET_ALREADY_STATUS_MOVE_ATTEMPT 23
2018-02-08 11:17:41 +01:00
#define VARIOUS_SET_TELEPORT_OUTCOME 25
#define VARIOUS_PLAY_TRAINER_DEFEATED_MUSIC 26
2019-09-27 08:46:33 +02:00
// Cmd_manipulatedmg
2019-09-15 23:58:12 +02:00
#define DMG_CHANGE_SIGN 0
#define DMG_RECOIL_FROM_MISS 1
#define DMG_DOUBLED 2
2018-02-08 11:17:41 +01:00
2019-09-27 08:46:33 +02:00
// Cmd_jumpifcantswitch
2019-09-15 23:58:12 +02:00
#define SWITCH_IGNORE_ESCAPE_PREVENTION 0x80
2018-02-08 11:17:41 +01:00
2019-09-27 08:46:33 +02:00
// Cmd_statbuffchange
#define STAT_BUFF_ALLOW_PTR 0x1 // If set, allow use of jumpptr. Set in every use of statbuffchange
#define STAT_BUFF_NOT_PROTECT_AFFECTED 0x20
2018-02-08 11:17:41 +01:00
2019-09-27 08:46:33 +02:00
// stat change flags for Cmd_playstatchangeanimation
2019-08-23 14:46:21 +02:00
#define STAT_CHANGE_NEGATIVE 0x1
#define STAT_CHANGE_BY_TWO 0x2
2019-09-15 23:58:12 +02:00
#define STAT_CHANGE_SKIP_NEXT_ANIM 0x4
#define STAT_CHANGE_IGNORE_ABILITY 0x8
2018-02-08 11:17:41 +01:00
2019-09-27 08:46:33 +02:00
// stat flags for Cmd_playstatchangeanimation
#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
// cases for Cmd_moveend
2019-08-23 14:46:21 +02:00
#define MOVEEND_RAGE 0
#define MOVEEND_DEFROST 1
#define MOVEEND_SYNCHRONIZE_TARGET 2
2019-09-15 23:58:12 +02:00
#define MOVEEND_CONTACT_ABILITIES 3
#define MOVEEND_IMMUNITY_ABILITIES 4
2019-08-23 14:46:21 +02:00
#define MOVEEND_SYNCHRONIZE_ATTACKER 5
#define MOVEEND_CHOICE_MOVE 6
#define MOVEEND_CHANGED_ITEMS 7
#define MOVEEND_ATTACKER_INVISIBLE 8
#define MOVEEND_ATTACKER_VISIBLE 9
#define MOVEEND_TARGET_VISIBLE 10
#define MOVEEND_ITEM_EFFECTS_ALL 11
#define MOVEEND_KINGSROCK_SHELLBELL 12
#define MOVEEND_SUBSTITUTE 13
#define MOVEEND_UPDATE_LAST_MOVES 14
#define MOVEEND_MIRROR_MOVE 15
#define MOVEEND_NEXT_TARGET 16
#define MOVEEND_COUNT 17
2019-03-30 12:37:18 +01:00
2018-02-08 11:17:41 +01:00
#endif // GUARD_CONSTANTS_BATTLE_SCRIPT_COMMANDS_H