summaryrefslogtreecommitdiff
path: root/engine/battle/5.asm
diff options
context:
space:
mode:
authorxCrystal <rgr.crystal@gmail.com>2015-04-01 11:41:20 +0200
committerxCrystal <rgr.crystal@gmail.com>2015-04-01 17:05:43 +0200
commit46c2a38c7c55ff01e8787dfd624cb1c771248b6c (patch)
tree6b8590d765cbb93f40fdb59d39f3a3e5d8ddb28e /engine/battle/5.asm
parente74dce24b4bbb0d0d23a1724932b289050b66d4a (diff)
Rename battle files and split move effects Part 2
5.asm, 9.asm, and a.asm
Diffstat (limited to 'engine/battle/5.asm')
-rwxr-xr-xengine/battle/5.asm77
1 files changed, 0 insertions, 77 deletions
diff --git a/engine/battle/5.asm b/engine/battle/5.asm
deleted file mode 100755
index ef3e1362..00000000
--- a/engine/battle/5.asm
+++ /dev/null
@@ -1,77 +0,0 @@
-SubstituteEffectHandler: ; 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 "@"