mirror of
https://github.com/pret/pokeplatinum.git
synced 2026-07-04 00:51:34 -05:00
81 lines
2.9 KiB
ArmAsm
81 lines
2.9 KiB
ArmAsm
#include "macros/btlcmd.inc"
|
||
|
||
.data
|
||
|
||
_000:
|
||
CheckIgnorableAbility CHECK_HAVE, BTLSCR_SIDE_EFFECT_MON, ABILITY_MAGMA_ARMOR, _128
|
||
CheckIgnoreWeather _011
|
||
CompareVarToValue OPCODE_FLAG_SET, BTLVAR_FIELD_CONDITIONS, FIELD_CONDITION_SUNNY, _095
|
||
|
||
_011:
|
||
CompareVarToValue OPCODE_NEQ, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _021
|
||
CheckIgnorableAbility CHECK_HAVE, BTLSCR_SIDE_EFFECT_MON, ABILITY_SHIELD_DUST, _095
|
||
|
||
_021:
|
||
CompareVarToValue OPCODE_NEQ, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_DIRECT, _028
|
||
PrintAttackMessage
|
||
Wait
|
||
|
||
_028:
|
||
CheckSubstitute BTLSCR_SIDE_EFFECT_MON, _095
|
||
CompareMonDataToValue OPCODE_FLAG_SET, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_STATUS, MON_CONDITION_FREEZE, _106
|
||
CompareMonDataToValue OPCODE_EQU, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_TYPE_1, TYPE_ICE, _115
|
||
CompareMonDataToValue OPCODE_EQU, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_TYPE_2, TYPE_ICE, _115
|
||
CompareMonDataToValue OPCODE_NEQ, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_STATUS, MON_CONDITION_NONE, _095
|
||
CompareVarToValue OPCODE_FLAG_SET, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_MISSED|MOVE_STATUS_SEMI_INVULNERABLE, _095
|
||
CompareVarToValue OPCODE_FLAG_SET, BTLVAR_SIDE_CONDITIONS_EFFECT_MON, SIDE_CONDITION_SAFEGUARD, _139
|
||
CompareVarToValue OPCODE_NEQ, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_DIRECT, _073
|
||
PlayMoveAnimation BTLSCR_ATTACKER
|
||
Wait
|
||
|
||
_073:
|
||
PlayBattleAnimation BTLSCR_SIDE_EFFECT_MON, BATTLE_ANIMATION_FROZEN
|
||
Wait
|
||
UpdateMonData OPCODE_FLAG_ON, BTLSCR_SIDE_EFFECT_MON, BATTLEMON_STATUS, MON_CONDITION_FREEZE
|
||
UnlockMoveChoice BTLSCR_SIDE_EFFECT_MON
|
||
// {0} was frozen solid!
|
||
PrintMessage pl_msg_00000368_00101, TAG_NICKNAME, BTLSCR_SIDE_EFFECT_MON
|
||
Wait
|
||
SetHealthbarStatus BTLSCR_SIDE_EFFECT_MON, BATTLE_ANIMATION_FROZEN
|
||
WaitButtonABTime 30
|
||
End
|
||
|
||
_095:
|
||
CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _157
|
||
WaitButtonABTime 30
|
||
Call BATTLE_SUBSCRIPT_BUT_IT_FAILED
|
||
GoTo _157
|
||
|
||
_106:
|
||
CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _157
|
||
WaitButtonABTime 30
|
||
GoTo _150
|
||
|
||
_115:
|
||
CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _157
|
||
WaitButtonABTime 30
|
||
// It doesn’t affect {0}...
|
||
PrintMessage pl_msg_00000368_00027, TAG_NICKNAME, BTLSCR_SIDE_EFFECT_MON
|
||
GoTo _150
|
||
|
||
_128:
|
||
CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _157
|
||
PrintAttackMessage
|
||
Wait
|
||
WaitButtonABTime 30
|
||
GoTo _150
|
||
|
||
_139:
|
||
CompareVarToValue OPCODE_EQU, BTLVAR_SIDE_EFFECT_TYPE, SIDE_EFFECT_TYPE_INDIRECT, _157
|
||
WaitButtonABTime 30
|
||
// {0} is protected by Safeguard!
|
||
PrintMessage pl_msg_00000368_00200, TAG_NICKNAME, BTLSCR_SIDE_EFFECT_MON
|
||
|
||
_150:
|
||
Wait
|
||
WaitButtonABTime 30
|
||
UpdateVar OPCODE_FLAG_ON, BTLVAR_MOVE_STATUS_FLAGS, MOVE_STATUS_NO_MORE_WORK
|
||
|
||
_157:
|
||
End
|