2018-06-24 14:09:41 +00:00
|
|
|
BattleCommand_Present:
|
2015-11-07 03:36:06 +00:00
|
|
|
; present
|
|
|
|
|
|
|
|
ld a, [wLinkMode]
|
|
|
|
cp LINK_COLOSSEUM
|
|
|
|
jr z, .colosseum_skippush
|
|
|
|
push bc
|
|
|
|
push de
|
|
|
|
.colosseum_skippush
|
|
|
|
|
|
|
|
call BattleCommand_Stab
|
|
|
|
|
|
|
|
ld a, [wLinkMode]
|
|
|
|
cp LINK_COLOSSEUM
|
|
|
|
jr z, .colosseum_skippop
|
|
|
|
pop de
|
|
|
|
pop bc
|
|
|
|
.colosseum_skippop
|
|
|
|
|
|
|
|
ld a, [wTypeMatchup]
|
|
|
|
and a
|
|
|
|
jp z, AnimateFailedMove
|
2018-01-23 22:39:09 +00:00
|
|
|
ld a, [wAttackMissed]
|
2015-11-07 03:36:06 +00:00
|
|
|
and a
|
|
|
|
jp nz, AnimateFailedMove
|
|
|
|
|
|
|
|
push bc
|
|
|
|
call BattleRandom
|
|
|
|
ld b, a
|
2018-01-26 02:34:42 +00:00
|
|
|
ld hl, PresentPower
|
2015-11-07 03:36:06 +00:00
|
|
|
ld c, 0
|
|
|
|
.next
|
|
|
|
ld a, [hli]
|
2018-01-11 03:53:42 +00:00
|
|
|
cp -1
|
2018-06-25 01:39:23 +00:00
|
|
|
jr z, .heal_effect
|
2015-11-07 03:36:06 +00:00
|
|
|
cp b
|
2018-06-25 01:39:23 +00:00
|
|
|
jr nc, .got_power
|
2015-11-07 03:36:06 +00:00
|
|
|
inc c
|
|
|
|
inc hl
|
2018-06-25 01:39:23 +00:00
|
|
|
jr .next
|
2015-11-07 03:36:06 +00:00
|
|
|
|
|
|
|
.got_power
|
|
|
|
ld a, c
|
2020-08-30 00:35:49 +00:00
|
|
|
ld [wBattleAnimParam], a
|
2015-11-07 03:36:06 +00:00
|
|
|
call AnimateCurrentMoveEitherSide
|
|
|
|
ld d, [hl]
|
|
|
|
pop bc
|
|
|
|
ret
|
|
|
|
|
|
|
|
.heal_effect
|
|
|
|
pop bc
|
2020-08-30 00:35:49 +00:00
|
|
|
ld a, $3 ; heal animation
|
|
|
|
ld [wBattleAnimParam], a
|
2015-11-07 03:36:06 +00:00
|
|
|
call AnimateCurrentMove
|
|
|
|
call BattleCommand_SwitchTurn
|
|
|
|
ld hl, AICheckPlayerMaxHP
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hBattleTurn]
|
2015-11-07 03:36:06 +00:00
|
|
|
and a
|
2018-06-25 01:39:23 +00:00
|
|
|
jr z, .got_hp_fn_pointer
|
2015-11-07 03:36:06 +00:00
|
|
|
ld hl, AICheckEnemyMaxHP
|
|
|
|
.got_hp_fn_pointer
|
2019-01-12 20:17:20 +00:00
|
|
|
ld a, BANK(AICheckPlayerMaxHP) ; aka BANK(AICheckEnemyMaxHP)
|
2015-11-07 03:36:06 +00:00
|
|
|
rst FarCall
|
2018-06-25 01:39:23 +00:00
|
|
|
jr c, .already_fully_healed
|
2015-11-07 03:36:06 +00:00
|
|
|
|
|
|
|
ld hl, GetQuarterMaxHP
|
|
|
|
call CallBattleCore
|
|
|
|
call BattleCommand_SwitchTurn
|
|
|
|
ld hl, RestoreHP
|
|
|
|
call CallBattleCore
|
|
|
|
call BattleCommand_SwitchTurn
|
|
|
|
ld hl, RegainedHealthText
|
2019-04-08 12:15:10 +00:00
|
|
|
call StdBattleTextbox
|
2015-11-07 03:36:06 +00:00
|
|
|
call BattleCommand_SwitchTurn
|
|
|
|
call UpdateOpponentInParty
|
2018-06-25 01:39:23 +00:00
|
|
|
jr .do_animation
|
2015-11-07 03:36:06 +00:00
|
|
|
|
|
|
|
.already_fully_healed
|
|
|
|
call BattleCommand_SwitchTurn
|
|
|
|
call _CheckBattleScene
|
2018-06-25 01:39:23 +00:00
|
|
|
jr nc, .do_animation
|
2015-11-07 03:36:06 +00:00
|
|
|
call AnimateFailedMove
|
2020-10-30 03:23:57 +00:00
|
|
|
ld hl, PresentFailedText
|
2019-04-08 12:15:10 +00:00
|
|
|
call StdBattleTextbox
|
2015-11-07 03:36:06 +00:00
|
|
|
.do_animation
|
|
|
|
jp EndMoveEffect
|
|
|
|
|
2018-01-26 16:01:15 +00:00
|
|
|
INCLUDE "data/moves/present_power.asm"
|