pokeheartgold/files/battledata/script/subscript/subscript_0175_PivotMove.s
2024-08-02 22:24:22 -04:00

76 lines
3.4 KiB
ArmAsm
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.include "macros/btlcmd.inc"
.data
_000:
CheckBlackOut BATTLER_CATEGORY_DEFENDER, _172
TryReplaceFaintedMon BATTLER_CATEGORY_ATTACKER, TRUE, _172
TriggerAbilityOnHit _010
CallFromVar BSCRIPT_VAR_TEMP_DATA
_010:
TriggerHeldItemOnPivotMove _014
CallFromVar BSCRIPT_VAR_TEMP_DATA
_014:
CompareMonDataToValue OPCODE_NEQ, BATTLER_CATEGORY_DEFENDER, BMON_DATA_HP, 0, _079
CompareMonDataToValue OPCODE_FLAG_NOT, BATTLER_CATEGORY_DEFENDER, BMON_DATA_STATUS2, STATUS2_DESTINY_BOND, _079
IfSameSide BATTLER_CATEGORY_ATTACKER, BATTLER_CATEGORY_DEFENDER, _079
CompareMonDataToValue OPCODE_EQU, BATTLER_CATEGORY_ATTACKER, BMON_DATA_HP, 0, _079
// {0} took {1} down with it!
PrintMessage msg_0197_00391, TAG_NICKNAME_NICKNAME, BATTLER_CATEGORY_DEFENDER, BATTLER_CATEGORY_ATTACKER
UpdateMonDataFromVar OPCODE_GET, BATTLER_CATEGORY_ATTACKER, BMON_DATA_HP, BSCRIPT_VAR_HP_CALC
UpdateVar OPCODE_MUL, BSCRIPT_VAR_HP_CALC, -1
UpdateVarFromVar OPCODE_SET, BSCRIPT_VAR_MSG_BATTLER_TEMP, BSCRIPT_VAR_BATTLER_ATTACKER
UpdateVar OPCODE_FLAG_ON, BSCRIPT_VAR_BATTLE_STATUS, BATTLE_STATUS_NO_BLINK
Call BATTLE_SUBSCRIPT_UPDATE_HP
PlayFaintAnimation
Wait
HealthbarSlideOut BATTLER_CATEGORY_FAINTED_MON
// {0} fainted!
PrintMessage msg_0197_00030, TAG_NICKNAME, BATTLER_CATEGORY_FAINTED_MON
Wait
WaitButtonABTime 30
IncrementGameStat BATTLER_CATEGORY_FAINTED_MON, BATTLER_TYPE_SOLO_ENEMY, GAME_STAT_OPPONENT_MON_FAINTED
IncrementGameStat BATTLER_CATEGORY_FAINTED_MON, BATTLER_TYPE_SOLO_PLAYER, GAME_STAT_PLAYER_MON_FAINTED
_079:
UpdateVarFromVar OPCODE_GET, BSCRIPT_VAR_BATTLER_FAINTED, BSCRIPT_VAR_LAST_BATTLER_ID
UpdateVarFromVar OPCODE_SET, BSCRIPT_VAR_BATTLER_FAINTED, BSCRIPT_VAR_BATTLER_TARGET
CompareMonDataToValue OPCODE_NEQ, BATTLER_CATEGORY_DEFENDER, BMON_DATA_HP, 0, _103
TryGrudge _103
// {0}s {1} lost all its PP due to the grudge!
PrintMessage msg_0197_00568, TAG_NICKNAME_MOVE, BATTLER_CATEGORY_ATTACKER, BATTLER_CATEGORY_MSG_TEMP
Wait
WaitButtonABTime 30
_103:
UpdateVarFromVar OPCODE_SET, BSCRIPT_VAR_BATTLER_FAINTED, BSCRIPT_VAR_LAST_BATTLER_ID
CompareMonDataToValue OPCODE_EQU, BATTLER_CATEGORY_ATTACKER, BMON_DATA_HP, 0, _172
UpdateVarFromVar OPCODE_SET, BSCRIPT_VAR_BATTLER_SWITCH, BSCRIPT_VAR_BATTLER_ATTACKER
// {0} went back to {1}!
PrintMessage msg_0197_01067, TAG_NICKNAME_TRNAME, BATTLER_CATEGORY_SWITCHED_MON, BATTLER_CATEGORY_SWITCHED_MON
Wait
WaitButtonABTime 30
Call BATTLE_SUBSCRIPT_PURSUIT
CompareMonDataToValue OPCODE_EQU, BATTLER_CATEGORY_ATTACKER, BMON_DATA_HP, 0, _172
TryRestoreStatusOnSwitch BATTLER_CATEGORY_ATTACKER, _141
UpdateMonData OPCODE_SET, BATTLER_CATEGORY_ATTACKER, BMON_DATA_STATUS, STATUS_NONE
_141:
UpdateVar OPCODE_FLAG_OFF, BSCRIPT_VAR_BATTLE_STATUS, BATTLE_STATUS_MOVE_ANIMATIONS_OFF
UpdateVar OPCODE_SET, BSCRIPT_VAR_MOVE_EFFECT_CHANCE, 1
PlayMoveAnimation BATTLER_CATEGORY_ATTACKER
Wait
DeletePokemon BATTLER_CATEGORY_ATTACKER
Wait
HealthbarSlideOut BATTLER_CATEGORY_ATTACKER
Wait
UpdateVar OPCODE_FLAG_ON, BSCRIPT_VAR_BATTLE_STATUS_2, BATTLE_STATUS2_UTURN
UpdateVar OPCODE_FLAG_OFF, BSCRIPT_VAR_BATTLE_STATUS, BATTLE_STATUS_SYNCRONIZE
UpdateVar OPCODE_SET, BSCRIPT_VAR_ATTACKER_SELF_TURN_STATUS_FLAGS, SELF_TURN_FLAG_CLEAR
GoToSubscript BATTLE_SUBSCRIPT_SHOW_PARTY_LIST
_172:
End