mirror of
https://github.com/thornAvery/kep-hack.git
synced 2026-02-06 15:45:24 +13:00
Rename battle files and split move effects Part 2
5.asm, 9.asm, and a.asm
This commit is contained in:
parent
e74dce24b4
commit
46c2a38c7c
7 changed files with 84 additions and 84 deletions
24
engine/battle/moveEffects/focus_energy_effect.asm
Normal file
24
engine/battle/moveEffects/focus_energy_effect.asm
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
FocusEnergyEffect_: ; 27f86 (9:7f86)
|
||||
ld hl, W_PLAYERBATTSTATUS2
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .notEnemy
|
||||
ld hl, W_ENEMYBATTSTATUS2
|
||||
.notEnemy
|
||||
bit GettingPumped, [hl] ; is mon already using focus energy?
|
||||
jr nz, .alreadyUsing
|
||||
set GettingPumped, [hl] ; mon is now using focus energy
|
||||
callab PlayCurrentMoveAnimation
|
||||
ld hl, GettingPumpedText
|
||||
jp PrintText
|
||||
.alreadyUsing
|
||||
ld c, $32
|
||||
call DelayFrames
|
||||
ld hl, PrintButItFailedText_
|
||||
ld b, BANK(PrintButItFailedText_)
|
||||
jp Bankswitch
|
||||
|
||||
GettingPumpedText: ; 27fb3 (9:7fb3)
|
||||
db $0a
|
||||
TX_FAR _GettingPumpedText
|
||||
db "@"
|
||||
39
engine/battle/moveEffects/leech_seed_effect.asm
Normal file
39
engine/battle/moveEffects/leech_seed_effect.asm
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
LeechSeedEffect_: ; 2bea9 (a:7ea9)
|
||||
callab MoveHitTest
|
||||
ld a, [W_MOVEMISSED] ; W_MOVEMISSED
|
||||
and a
|
||||
jr nz, .asm_2bee7
|
||||
ld hl, W_ENEMYBATTSTATUS2 ; W_ENEMYBATTSTATUS2
|
||||
ld de, wEnemyMonType1 ; wcfea (aliases: wEnemyMonType)
|
||||
ld a, [H_WHOSETURN] ; $fff3
|
||||
and a
|
||||
jr z, .asm_2bec8
|
||||
ld hl, W_PLAYERBATTSTATUS2 ; W_PLAYERBATTSTATUS2
|
||||
ld de, wBattleMonType1 ; wd019 (aliases: wBattleMonType)
|
||||
.asm_2bec8
|
||||
ld a, [de]
|
||||
cp GRASS
|
||||
jr z, .asm_2bee7
|
||||
inc de
|
||||
ld a, [de]
|
||||
cp GRASS
|
||||
jr z, .asm_2bee7
|
||||
bit Seeded, [hl]
|
||||
jr nz, .asm_2bee7
|
||||
set Seeded, [hl]
|
||||
callab PlayCurrentMoveAnimation
|
||||
ld hl, WasSeededText ; $7ef2
|
||||
jp PrintText
|
||||
.asm_2bee7
|
||||
ld c, $32
|
||||
call DelayFrames
|
||||
ld hl, EvadedAttackText ; $7ef7
|
||||
jp PrintText
|
||||
|
||||
WasSeededText: ; 2bef2 (a:7ef2)
|
||||
TX_FAR _WasSeededText
|
||||
db "@"
|
||||
|
||||
EvadedAttackText: ; 2bef7 (a:7ef7)
|
||||
TX_FAR _EvadedAttackText
|
||||
db "@"
|
||||
77
engine/battle/moveEffects/substitute_effect.asm
Normal file
77
engine/battle/moveEffects/substitute_effect.asm
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
SubstituteEffect_: ; 17dad (5:7dad)
|
||||
ld c, 50
|
||||
call DelayFrames
|
||||
ld hl, wBattleMonMaxHP
|
||||
ld de, wPlayerSubstituteHP
|
||||
ld bc, W_PLAYERBATTSTATUS2
|
||||
ld a, [H_WHOSETURN]
|
||||
and a
|
||||
jr z, .notEnemy
|
||||
ld hl, wEnemyMonMaxHP
|
||||
ld de, wEnemySubstituteHP
|
||||
ld bc, W_ENEMYBATTSTATUS2
|
||||
.notEnemy
|
||||
ld a, [bc] ;load flags
|
||||
bit HasSubstituteUp, a ;user already has substitute?
|
||||
jr nz, .alreadyHasSubstitute ;skip this code if so
|
||||
;user doesn't have a substitute [yet]
|
||||
push bc
|
||||
ld a, [hli] ;load max hp
|
||||
ld b, [hl]
|
||||
srl a ;max hp / 4, [quarter health to remove from user]
|
||||
rr b
|
||||
srl a
|
||||
rr b
|
||||
push de
|
||||
ld de, wBattleMonHP - wBattleMonMaxHP
|
||||
add hl, de ; point hl to current HP
|
||||
pop de
|
||||
ld a, b
|
||||
ld [de], a ;save copy of HP to subtract in ccd7/ccd8 [how much HP substitute has]
|
||||
ld a, [hld] ;load current hp
|
||||
sub b ;subtract [max hp / 4]
|
||||
ld d, a ;save low byte result in D
|
||||
ld a, [hl]
|
||||
sbc a, 0 ;borrow from high byte if needed
|
||||
pop bc
|
||||
jr c, .notEnoughHP ;underflow means user would be left with negative health
|
||||
;bug: note since it only brances on carry, it will possibly leave user with 0HP
|
||||
.userHasZeroOrMoreHP
|
||||
ldi [hl], a ;store high byte HP
|
||||
ld [hl], d ;store low byte HP
|
||||
ld h, b
|
||||
ld l, c
|
||||
set HasSubstituteUp, [hl] ;set bit 4 of flags, user now has substitute
|
||||
ld a, [W_OPTIONS] ;load options
|
||||
bit 7, a ;battle animation is enabled?
|
||||
ld hl, PlayCurrentMoveAnimation ;animation enabled: 0F:7BA8
|
||||
ld b, BANK(PlayCurrentMoveAnimation)
|
||||
jr z, .animationEnabled
|
||||
ld hl, AnimationSubstitute ;animation disabled: 1E:56E0
|
||||
ld b, BANK(AnimationSubstitute)
|
||||
.animationEnabled
|
||||
call Bankswitch ;jump to routine depending on animation setting
|
||||
ld hl, SubstituteText
|
||||
call PrintText
|
||||
ld hl, DrawHUDsAndHPBars
|
||||
ld b, BANK(DrawHUDsAndHPBars)
|
||||
jp Bankswitch
|
||||
.alreadyHasSubstitute
|
||||
ld hl, HasSubstituteText
|
||||
jr .printText
|
||||
.notEnoughHP
|
||||
ld hl, TooWeakSubstituteText
|
||||
.printText
|
||||
jp PrintText
|
||||
|
||||
SubstituteText: ; 17e1d (5:7e1d)
|
||||
TX_FAR _SubstituteText
|
||||
db "@"
|
||||
|
||||
HasSubstituteText: ; 17e22 (5:7e22)
|
||||
TX_FAR _HasSubstituteText
|
||||
db "@"
|
||||
|
||||
TooWeakSubstituteText: ; 17e27 (5:7e27)
|
||||
TX_FAR _TooWeakSubstituteText
|
||||
db "@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue