mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-05-20 10:48:10 -05:00
76 lines
3.4 KiB
ArmAsm
76 lines
3.4 KiB
ArmAsm
.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_UNK42
|
||
IncrementGameStat BATTLER_CATEGORY_FAINTED_MON, BATTLER_TYPE_SOLO_PLAYER, GAME_STAT_UNK97
|
||
|
||
_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
|