comment drain HP effect

This commit is contained in:
YamaArashi 2015-02-07 13:40:14 -08:00
parent 83023cda19
commit 72265ab92a
3 changed files with 33 additions and 29 deletions

View file

@ -6,26 +6,28 @@ DrainHPEffect_: ; 783f (1:783f)
ld a, [hl] ld a, [hl]
rr a rr a
ld [hld], a ld [hld], a
or [hl] or [hl] ; is damage 0?
jr nz, .asm_784f jr nz, .getAttackerHP
; if damage is 0, increase to 1 so that the attacker gains at least 1 HP
inc hl inc hl
inc [hl] inc [hl]
.asm_784f .getAttackerHP
ld hl, wBattleMonHP ; wd015 ld hl, wBattleMonHP
ld de, wBattleMonMaxHP ; wd023 ld de, wBattleMonMaxHP
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN]
and a and a
jp z, Func_7861 jp z, .addDamageToAttackerHP
ld hl, wEnemyMonHP ld hl, wEnemyMonHP
ld de, wEnemyMonMaxHP ld de, wEnemyMonMaxHP
.addDamageToAttackerHP
Func_7861: ; 7861 (1:7861)
ld bc, wHPBarOldHP+1 ld bc, wHPBarOldHP+1
; copy current HP to wHPBarOldHP
ld a, [hli] ld a, [hli]
ld [bc], a ld [bc], a
ld a, [hl] ld a, [hl]
dec bc dec bc
ld [bc], a ld [bc], a
; copy max HP to wHPBarMaxHP
ld a, [de] ld a, [de]
dec bc dec bc
ld [bc], a ld [bc], a
@ -33,7 +35,8 @@ Func_7861: ; 7861 (1:7861)
ld a, [de] ld a, [de]
dec bc dec bc
ld [bc], a ld [bc], a
ld a, [wd0d8] ; add damage to attacker's HP and copy new HP to wHPBarNewHP
ld a, [W_DAMAGE + 1]
ld b, [hl] ld b, [hl]
add b add b
ld [hld], a ld [hld], a
@ -43,7 +46,8 @@ Func_7861: ; 7861 (1:7861)
adc b adc b
ld [hli], a ld [hli], a
ld [wHPBarNewHP+1], a ld [wHPBarNewHP+1], a
jr c, .asm_7890 jr c, .capToMaxHP ; if HP > 65,535, cap to max HP
; compare HP with max HP
ld a, [hld] ld a, [hld]
ld b, a ld b, a
ld a, [de] ld a, [de]
@ -54,8 +58,8 @@ Func_7861: ; 7861 (1:7861)
ld a, [de] ld a, [de]
inc de inc de
sbc b sbc b
jr nc, .asm_789c jr nc, .next
.asm_7890 .capToMaxHP
ld a, [de] ld a, [de]
ld [hld], a ld [hld], a
ld [wHPBarNewHP], a ld [wHPBarNewHP], a
@ -64,31 +68,31 @@ Func_7861: ; 7861 (1:7861)
ld [hli], a ld [hli], a
ld [wHPBarNewHP+1], a ld [wHPBarNewHP+1], a
inc de inc de
.asm_789c .next
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN]
and a and a
hlCoord 10, 9 hlCoord 10, 9
ld a, $1 ld a, $1
jr z, .asm_78aa jr z, .next2
hlCoord 2, 2 hlCoord 2, 2
xor a xor a
.asm_78aa .next2
ld [wListMenuID], a ; wListMenuID ld [wListMenuID], a
predef UpdateHPBar2 predef UpdateHPBar2
predef DrawPlayerHUDAndHPBar predef DrawPlayerHUDAndHPBar
predef DrawEnemyHUDAndHPBar predef DrawEnemyHUDAndHPBar
callab ReadPlayerMonCurHPAndStatus callab ReadPlayerMonCurHPAndStatus
ld hl, SuckedHealthText ; $78dc ld hl, SuckedHealthText
ld a, [H_WHOSETURN] ; $fff3 ld a, [H_WHOSETURN]
and a and a
ld a, [W_PLAYERMOVEEFFECT] ; wcfd3 ld a, [W_PLAYERMOVEEFFECT]
jr z, .asm_78d2 jr z, .next3
ld a, [W_ENEMYMOVEEFFECT] ld a, [W_ENEMYMOVEEFFECT]
.asm_78d2 .next3
cp DREAM_EATER_EFFECT cp DREAM_EATER_EFFECT
jr nz, .asm_78d9 jr nz, .printText
ld hl, DreamWasEatenText ld hl, DreamWasEatenText
.asm_78d9 .printText
jp PrintText jp PrintText
SuckedHealthText: ; 78dc (1:78dc) SuckedHealthText: ; 78dc (1:78dc)

View file

@ -3554,7 +3554,7 @@ CheckPlayerStatusConditions: ; 3d854 (f:5854)
ld a,[hld] ld a,[hld]
add a add a
ld b,a ld b,a
ld [wd0d8],a ld [W_DAMAGE + 1],a
ld a,[hl] ld a,[hl]
rl a ; double the damage rl a ; double the damage
ld [W_DAMAGE],a ld [W_DAMAGE],a
@ -6053,7 +6053,7 @@ CheckEnemyStatusConditions: ; 3e88f (f:688f)
ld a, [hld] ld a, [hld]
add a add a
ld b, a ld b, a
ld [wd0d8], a ld [W_DAMAGE + 1], a
ld a, [hl] ld a, [hl]
rl a rl a
ld [W_DAMAGE], a ld [W_DAMAGE], a

View file

@ -1269,9 +1269,9 @@ W_MONHPADDING:: ; d0d7
W_DAMAGE:: ; d0d7 W_DAMAGE:: ; d0d7
ds 1 ds 2
wd0d8:: ds 3 ds 2
wRepelRemainingSteps:: ; wd0db wRepelRemainingSteps:: ; wd0db
ds 1 ds 1