You've already forked pokecrystal-board
mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2025-04-09 05:44:44 -07:00
Split battle/ into data/ and engine/ components
This commit is contained in:
93
engine/battle/effect_commands/present.asm
Executable file
93
engine/battle/effect_commands/present.asm
Executable file
@ -0,0 +1,93 @@
|
||||
BattleCommand_Present: ; 37874
|
||||
; 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
|
||||
ld a, [AttackMissed]
|
||||
and a
|
||||
jp nz, AnimateFailedMove
|
||||
|
||||
push bc
|
||||
call BattleRandom
|
||||
ld b, a
|
||||
ld hl, .PresentPower
|
||||
ld c, 0
|
||||
.next
|
||||
ld a, [hli]
|
||||
cp $ff
|
||||
jr z, .heal_effect ; 378a4 $11
|
||||
cp b
|
||||
jr nc, .got_power ; 378a7 $4
|
||||
inc c
|
||||
inc hl
|
||||
jr .next ; 378ab $f4
|
||||
|
||||
.got_power
|
||||
ld a, c
|
||||
ld [wPresentPower], a
|
||||
call AnimateCurrentMoveEitherSide
|
||||
ld d, [hl]
|
||||
pop bc
|
||||
ret
|
||||
|
||||
.heal_effect
|
||||
pop bc
|
||||
ld a, $3
|
||||
ld [wPresentPower], a
|
||||
call AnimateCurrentMove
|
||||
call BattleCommand_SwitchTurn
|
||||
ld hl, AICheckPlayerMaxHP
|
||||
ld a, [hBattleTurn]
|
||||
and a
|
||||
jr z, .got_hp_fn_pointer ; 378c9 $3
|
||||
ld hl, AICheckEnemyMaxHP
|
||||
.got_hp_fn_pointer
|
||||
ld a, BANK(AICheckPlayerMaxHP)
|
||||
rst FarCall
|
||||
jr c, .already_fully_healed ; 378d1 $20
|
||||
|
||||
ld hl, GetQuarterMaxHP
|
||||
call CallBattleCore
|
||||
call BattleCommand_SwitchTurn
|
||||
ld hl, RestoreHP
|
||||
call CallBattleCore
|
||||
call BattleCommand_SwitchTurn
|
||||
ld hl, RegainedHealthText
|
||||
call StdBattleTextBox
|
||||
call BattleCommand_SwitchTurn
|
||||
call UpdateOpponentInParty
|
||||
jr .do_animation ; 378f1 $11
|
||||
|
||||
.already_fully_healed
|
||||
call BattleCommand_SwitchTurn
|
||||
call _CheckBattleScene
|
||||
jr nc, .do_animation ; 378f9 $9
|
||||
call AnimateFailedMove
|
||||
ld hl, RefusedGiftText
|
||||
call StdBattleTextBox
|
||||
.do_animation
|
||||
jp EndMoveEffect
|
||||
|
||||
.PresentPower:
|
||||
db 40 percent, 40
|
||||
db 70 percent + 1, 80
|
||||
db 80 percent, 120
|
||||
db $ff
|
||||
; 3790e
|
Reference in New Issue
Block a user