summaryrefslogtreecommitdiff
path: root/battle
diff options
context:
space:
mode:
Diffstat (limited to 'battle')
-rw-r--r--battle/core.asm262
-rw-r--r--battle/effect_commands.asm96
2 files changed, 185 insertions, 173 deletions
diff --git a/battle/core.asm b/battle/core.asm
index 7e85e996d..30d53c7d5 100644
--- a/battle/core.asm
+++ b/battle/core.asm
@@ -63,7 +63,7 @@ Function3c000: ; 3c000
xor a
ld [CurPartyMon], a
.asm_3c06b
- call Function3d887
+ call CheckIfPartyHasPkmnToBattleWith
jr nz, .asm_3c076
ld hl, CurPartyMon
inc [hl]
@@ -71,7 +71,7 @@ Function3c000: ; 3c000
.asm_3c076
ld a, [CurBattleMon]
- ld [wc71a], a
+ ld [LastPlayerMon], a
ld a, [CurPartyMon]
ld [CurBattleMon], a
inc a
@@ -89,7 +89,7 @@ Function3c000: ; 3c000
call Function3d57a
call Function3da0d
call ResetPlayerStatLevels
- call Function3f26d
+ call SendOutPkmnText
call NewBattleMonStatus
call BreakAttraction
call Function3db5f
@@ -121,7 +121,7 @@ Function3c000: ; 3c000
-Function3c0e5: ; 3c0e5
+WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
call Function30b4
ld a, [wd0ee]
and $c0
@@ -131,15 +131,18 @@ Function3c0e5: ; 3c0e5
and a
ld hl, BattleText_WildFled
jr z, .asm_3c115
+
ld a, [wd0ee]
and $c0
ld [wd0ee], a
ld hl, BattleText_EnemyFled
call Function3d2e0
jr nc, .asm_3c115
+
ld hl, wcd2a
bit 4, [hl]
jr nz, .asm_3c118
+
ld hl, BattleText_LinkErrorBattleCanceled
.asm_3c115
@@ -297,9 +300,9 @@ Function3c1d6: ; 3c1d6
.asm_3c21e
call Function3c8eb
call Function3c93c
- call Function3ca8f
- call Function3cafb
- call Function3cb36
+ call HanleDefrost
+ call HandleSafeguard
+ call HandleScreens
call Function3de97
call Function3dcf9
call UpdateBattleMonInParty
@@ -447,7 +450,7 @@ Function3c300: ; 3c300
ret
.asm_3c30f
- call Function3c0e5
+ call WildFled_EnemyFled_LinkBattleCanceled
scf
ret
; 3c314
@@ -936,7 +939,7 @@ GetMoveEffect: ; 3c5ec
Function3c5fe: ; 3c5fe
call Function309d
call Function3c543
- jp c, Function3c0e5
+ jp c, WildFled_EnemyFled_LinkBattleCanceled
call SetEnemyTurn
ld a, $1
ld [wc70f], a
@@ -1005,7 +1008,7 @@ Function3c664: ; 3c664
jr c, .asm_3c6be
call Function309d
call Function3c543
- jp c, Function3c0e5
+ jp c, WildFled_EnemyFled_LinkBattleCanceled
call Function3c6de
call Function3d2e0
ret c
@@ -1529,7 +1532,7 @@ Function3c93c: ; 3c93c
call SwitchTurnCore
call Function3ddc8
call SwitchTurnCore
- ld hl, BattleText_0x80899
+ ld hl, BattleText_UserRecoveredPPUsing
jp StdBattleTextBox
; 3ca26
@@ -1591,7 +1594,7 @@ Function3ca26: ; 3ca26
jp UpdateEnemyMonInParty
; 3ca8f
-Function3ca8f: ; 3ca8f
+HanleDefrost: ; 3ca8f
ld a, [$ffcb]
cp $1
jr z, .asm_3ca9a
@@ -1649,7 +1652,7 @@ Function3ca8f: ; 3ca8f
jp StdBattleTextBox
; 3cafb
-Function3cafb: ; 3cafb
+HandleSafeguard: ; 3cafb
ld a, [$ffcb]
cp $1
jr z, .asm_3cb06
@@ -1683,12 +1686,11 @@ Function3cafb: ; 3cafb
.asm_3cb2e
ld [hBattleTurn], a
- ld hl, BattleText_0x808d2
+ ld hl, BattleText_SafeguardFaded
jp StdBattleTextBox
-; 3cb36
-Function3cb36: ; 3cb36
+HandleScreens: ; 3cb36
ld a, [$ffcb]
cp 1
jr z, .Both
@@ -1740,7 +1742,7 @@ FadeLightScreen: ; 3cb80
res SCREENS_LIGHT_SCREEN, [hl]
push hl
push de
- ld hl, BattleText_0x808e7
+ ld hl, BattleText_PkmnnLightScreenFell
call StdBattleTextBox
pop de
pop hl
@@ -1851,13 +1853,13 @@ endr
; 3cc2d
.WeatherMessages
- dw BattleText_0x8091f
- dw BattleText_0x80938
- dw BattleText_0x80951
+ dw BattleText_RainContinuesToFall
+ dw BattleText_TheSunlightIsStrong
+ dw BattleText_TheSandstormRages
.WeatherEndedMessages
- dw BattleText_0x80967
- dw BattleText_0x8097a
- dw BattleText_0x8098f
+ dw BattleText_TheRainStopped
+ dw BattleText_TheSunlightFaded
+ dw BattleText_TheSandstormSubsided
; 3cc39
Function3cc39: ; 3cc39
@@ -2144,19 +2146,19 @@ Function3cd55: ; 3cd55
.asm_3cda4
call Function3d227
call Function3d2e0
- jp c, Function3c0e5
+ jp c, WildFled_EnemyFled_LinkBattleCanceled
ld a, $1
ld [wd0ec], a
call Function3cf4a
- jp z, Function3c0e5
+ jp z, WildFled_EnemyFled_LinkBattleCanceled
jr Function3cdca
.asm_3cdba
ld a, $1
ld [wd0ec], a
call Function3cf4a
- jp z, Function3c0e5
+ jp z, WildFled_EnemyFled_LinkBattleCanceled
xor a
ld [wd0ec], a
ret
@@ -2357,7 +2359,7 @@ Function3cef1: ; 3cef1
hlcoord 9, 7
lb bc, 5, 11
call ClearBox
- ld hl, BattleText_0x80a75
+ ld hl, BattleText_PkmnFainted
jp StdBattleTextBox
; 3cf14
@@ -2371,7 +2373,7 @@ Function3cf14: ; 3cf14
hlcoord 1, 0
lb bc, 4, 10
call ClearBox
- ld hl, BattleText_0x809a8
+ ld hl, BattleText_EnemyPkmnFainted
jp StdBattleTextBox
; 3cf35
@@ -2455,16 +2457,18 @@ Function3cfa4: ; 3cfa4
ld a, b
call z, Function3d0ea
callab Battle_GetTrainerName
- ld hl, BattleText_0x809da
+ ld hl, BattleText_EnemyWasDefeated
call StdBattleTextBox
call IsMobileBattle
jr z, .asm_3cff5
ld a, [InLinkBattle]
and a
ret nz
+
ld a, [InBattleTowerBattle]
bit 0, a
jr nz, .asm_3d006
+
call Function3ebd8
ld c, $28
call DelayFrames
@@ -2785,14 +2789,14 @@ Function3d14e: ; 3d14e
.asm_3d190
call Function3d227
call Function3d2e0
- jp c, Function3c0e5
+ jp c, WildFled_EnemyFled_LinkBattleCanceled
ld a, c
and a
ret nz
ld a, $1
ld [wd0ec], a
call Function3cf4a
- jp z, Function3c0e5
+ jp z, WildFled_EnemyFled_LinkBattleCanceled
jp Function3cdca
; 3d1aa
@@ -2841,7 +2845,7 @@ Function3d1f8: ; 3d1f8
and a
dec a
ret nz
- ld hl, BattleText_0x80a83
+ ld hl, BattleText_UseNextMon
call StdBattleTextBox
.asm_3d20a
lb bc, 1, 7
@@ -2898,7 +2902,7 @@ Function3d227: ; 3d227
.asm_3d26c
call ClearSprites
ld a, [CurBattleMon]
- ld [wc71a], a
+ ld [LastPlayerMon], a
ld a, [CurPartyMon]
ld [CurBattleMon], a
call Function3d581
@@ -2910,7 +2914,7 @@ Function3d227: ; 3d227
call WriteBackup
call ClearSGB
call Function32f9
- call Function3f26d
+ call SendOutPkmnText
call NewBattleMonStatus
call BreakAttraction
call Function3db5f
@@ -2926,13 +2930,13 @@ Function3d227: ; 3d227
Function3d2b3: ; 3d2b3
ld a, [CurBattleMon]
- ld [wc71a], a
+ ld [LastPlayerMon], a
ld a, [CurPartyMon]
ld [CurBattleMon], a
call Function3d581
call Function3da0d
call ResetPlayerStatLevels
- call Function3f26d
+ call SendOutPkmnText
call NewBattleMonStatus
call BreakAttraction
call Function3db5f
@@ -2946,10 +2950,13 @@ Function3d2b3: ; 3d2b3
Function3d2e0: ; 3d2e0
ld a, [InLinkBattle]
cp $4
- jr nz, .asm_3d2ef
+ jr nz, .asm_3d2ef ; It's not a mobile battle
+
ld a, [wcd2b]
and a
jr z, .asm_3d2ef
+
+; We have a mobile battle and something else happened
scf
ret
@@ -3001,7 +3008,7 @@ PickPartyMonInBattle: ; 3d33c
call Function3d313
call Function3d329
ret c
- call Function3d887
+ call CheckIfPartyHasPkmnToBattleWith
jr z, .loop
xor a
ret
@@ -3649,7 +3656,7 @@ Function3d74b: ; 3d74b
ld a, [CurPartyMon]
push af
callab Battle_GetTrainerName
- ld hl, BattleText_0x80aca
+ ld hl, BattleText_EnemyIsAboutToUseWillPlayerChangePkmn
call StdBattleTextBox
lb bc, 1, 7
call PlaceYesNoBox
@@ -3660,7 +3667,7 @@ Function3d74b: ; 3d74b
call PickSwitchMonInBattle
jr c, .asm_3d791
ld a, [CurBattleMon]
- ld [wc71a], a
+ ld [LastPlayerMon], a
ld a, [CurPartyMon]
ld [CurBattleMon], a
call ClearPalettes
@@ -3807,13 +3814,14 @@ Function3d873: ; 3d873
; 3d887
-Function3d887: ; 3d887
+CheckIfPartyHasPkmnToBattleWith: ; 3d887
ld a, [CurPartyMon]
ld hl, PartyMon1HP
call GetPartyLocation
ld a, [hli]
or [hl]
ret nz
+
ld a, [wd264]
and a
jr nz, .asm_3d8b1
@@ -3824,9 +3832,10 @@ Function3d887: ; 3d887
add hl, bc
ld a, [hl]
cp EGG
- ld hl, BattleText_0x80b26
+ ld hl, BattleText_AnEGGCantBattle
jr z, .asm_3d8ae
- ld hl, BattleText_0x80b0b
+
+ ld hl, BattleText_TheresNoWillToBattle
.asm_3d8ae
call StdBattleTextBox
@@ -3891,29 +3900,30 @@ Function3d8b3: ; 3d8b3
inc a
ld [wd267], a
ld a, [hli]
- ld [$ffb5], a
+ ld [hStringCmpString2 + 0], a
ld a, [hl]
- ld [$ffb6], a
+ ld [hStringCmpString2 + 1], a
ld a, [de]
inc de
- ld [$ffb1], a
+ ld [hStringCmpString1 + 0], a
ld a, [de]
- ld [$ffb2], a
+ ld [hStringCmpString1 + 1], a
call Function30b4
- ld de, $ffb5
- ld hl, $ffb1
+ ld de, hStringCmpString2
+ ld hl, hStringCmpString1
ld c, $2
call StringCmp
jr nc, .asm_3d9a2
+
xor a
ld [hMultiplicand], a
ld a, $20
ld [hMultiplier], a
call Multiply
- ld a, [$ffb5]
- ld [hProduct], a
- ld a, [$ffb6]
- ld [hMultiplicand], a
+ ld a, [hProduct + 2]
+ ld [hDividend + 0], a
+ ld a, [hProduct + 3]
+ ld [hDividend + 1], a
ld a, [$ffb1]
ld b, a
ld a, [$ffb2]
@@ -3923,10 +3933,10 @@ Function3d8b3: ; 3d8b3
rr a
and a
jr z, .asm_3d9a2
- ld [hMultiplier], a
+ ld [hDivisor], a
ld b, $2
call Divide
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
and a
jr nz, .asm_3d9a2
ld a, [wd267]
@@ -3935,7 +3945,7 @@ Function3d8b3: ; 3d8b3
dec c
jr z, .asm_3d97a
ld b, $1e
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
add b
ld [$ffb6], a
jr c, .asm_3d9a2
@@ -3949,15 +3959,15 @@ Function3d8b3: ; 3d8b3
jr nc, .asm_3d9a2
ld a, $1
ld [wd0ec], a
- ld hl, BattleText_0x80b3b
+ ld hl, BattleText_CantEscape2
jr .asm_3d995
.asm_3d98d
- ld hl, BattleText_0x80ba0
+ ld hl, BattleText_CantEscape
jr .asm_3d995
.asm_3d992
- ld hl, BattleText_0x80b49
+ ld hl, BattleText_TheresNoEscapeFromTrainerBattle
.asm_3d995
call StdBattleTextBox
@@ -4002,7 +4012,7 @@ Function3d8b3: ; 3d8b3
call WaitPlaySFX
pop de
call WaitSFX
- ld hl, BattleText_0x80b77
+ ld hl, BattleText_GotAwaySafely
call StdBattleTextBox
call WaitSFX
call Function309d
@@ -4173,7 +4183,7 @@ endr
Function3db32: ; 3db32
call ClearSprites
ld a, [CurBattleMon]
- ld [wc71a], a
+ ld [LastPlayerMon], a
ld a, [CurPartyMon]
ld [CurBattleMon], a
call Function3d581
@@ -4342,7 +4352,7 @@ Function3dc5b: ; 3dc5b
and a
jr z, .asm_3dc7e
ld hl, DoEnemyTurn
- ld a, [wc71a]
+ ld a, [LastPlayerMon]
ld [CurBattleMon], a
.asm_3dc7e
ld a, BANK(DoPlayerTurn)
@@ -4360,7 +4370,7 @@ Function3dc5b: ; 3dc5b
and a
jr z, .asm_3dcc0
- ld a, [wc71a]
+ ld a, [LastPlayerMon]
call UpdateBattleMon
ld hl, BattleMonHP
ld a, [hli]
@@ -4377,7 +4387,7 @@ Function3dc5b: ; 3dc5b
ld b, $0
predef FlagPredef
call Function3d43b
- ld hl, BattleText_0x80a75
+ ld hl, BattleText_PkmnFainted
jr .asm_3dcdf
.asm_3dcc0
@@ -4393,7 +4403,7 @@ Function3dc5b: ; 3dc5b
call PlaySFX
call WaitSFX
call Function3d432
- ld hl, BattleText_0x809a8
+ ld hl, BattleText_EnemyPkmnFainted
.asm_3dcdf
call StdBattleTextBox
@@ -5004,17 +5014,18 @@ DrawEnemyHUD: ; 3e043
ld hl, EnemyMonHP
ld a, [hli]
- ld [$ffb5], a
+ ld [hMultiplicand + 1], a
ld a, [hld]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
or [hl]
jr nz, .asm_3e0d1
+
ld c, a
ld e, a
ld d, HP_BAR_LENGTH
jp .asm_3e11a
-.asm_3e0d1
+.asm_3e0d1
xor a
ld [hMultiplicand], a
ld a, HP_BAR_LENGTH_PX
@@ -5033,11 +5044,11 @@ DrawEnemyHUD: ; 3e043
rr a
srl b
rr a
- ld [hMultiplier], a
- ld a, [$ffb5]
+ ld [hDivisor], a
+ ld a, [hProduct + 2]
ld b, a
srl b
- ld a, [$ffb6]
+ ld a, [hProduct + 3]
rr a
srl b
rr a
@@ -5047,13 +5058,13 @@ DrawEnemyHUD: ; 3e043
.asm_3e105
ld a, [$ffb5]
- ld [hProduct], a
+ ld [hDividend + 0], a
ld a, [$ffb6]
- ld [hMultiplicand], a
+ ld [hDividend + 1], a
ld a, $2
ld b, a
call Divide
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld e, a
ld a, HP_BAR_LENGTH
ld d, a
@@ -5389,10 +5400,10 @@ Function3e358: ; 3e358
jp Function3e299
.asm_3e381
- call Function3d887
+ call CheckIfPartyHasPkmnToBattleWith
jp z, Function3e299
ld a, [CurBattleMon]
- ld [wc71a], a
+ ld [LastPlayerMon], a
ld a, $2
ld [wd0ec], a
call ClearPalettes
@@ -5438,7 +5449,7 @@ Function3e3ad: ; 3e3ad
jp c, .asm_3e3ca
cp $f
jr nz, .asm_3e3e9
- call Function3c0e5
+ call WildFled_EnemyFled_LinkBattleCanceled
ret
.asm_3e3e9
@@ -5487,7 +5498,7 @@ BattleMonEntrance: ; 3e40b
call Function3d581
call Function3da0d
call ResetPlayerStatLevels
- call Function3f26d
+ call SendOutPkmnText
call NewBattleMonStatus
call BreakAttraction
call Function3db5f
@@ -7029,25 +7040,25 @@ Function3ecb7: ; 3ecb7
ld b, 0
add hl, bc
xor a
- ld [hMultiplicand], a
+ ld [hMultiplicand + 0], a
ld a, [de]
- ld [$ffb5], a
+ ld [hMultiplicand + 1], a
inc de
ld a, [de]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
ld a, [hli]
ld [hMultiplier], a
call Multiply
ld a, [hl]
- ld [hMultiplier], a
+ ld [hDivisor], a
ld b, $4
call Divide
pop hl
; Cap at 999.
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
sub 999 % $100
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
sbc 999 / $100
jp c, .asm_3ed1e
@@ -7411,15 +7422,15 @@ endr
dec c
jr nz, .asm_3ee7c
xor a
- ld [hMultiplicand], a
- ld [$ffb5], a
+ ld [hMultiplicand + 0], a
+ ld [hMultiplicand + 1], a
ld a, [EnemyMonBaseExp]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
ld a, [EnemyMonLevel]
ld [hMultiplier], a
call Multiply
ld a, $7
- ld [hMultiplier], a
+ ld [hDivisor], a
ld b, $4
call Divide
pop bc
@@ -7961,36 +7972,37 @@ Function3f22c: ; 3f22c
ld a, $1
ld [hBGMapMode], a
ret
-; 3f26d
-
-Function3f26d: ; 3f26d
-; SendOutMonText?
+SendOutPkmnText: ; 3f26d
ld a, [InLinkBattle]
and a
jr z, .asm_3f27c
- ld hl, UnknownText_0x3f2d1
- ld a, [wd264]
+
+ ld hl, JumpText_GoPkmn ; If we're in a LinkBattle print just "Go <PlayerMon>"
+
+ ld a, [wd264] ; besides this variable is set. which stands for ???
and a
jr nz, .asm_3f2ce
.asm_3f27c
+; Depending on the HP of the enemy Pkmn, the game prints a different text
ld hl, EnemyMonHP
ld a, [hli]
or [hl]
- ld hl, UnknownText_0x3f2d1
+ ld hl, JumpText_GoPkmn
jr z, .asm_3f2ce
+
xor a
- ld [hMultiplicand], a
+ ld [hMultiplicand + 0], a
ld hl, EnemyMonHP
ld a, [hli]
ld [wc6ea], a
- ld [$ffb5], a
+ ld [hMultiplicand + 1], a
ld a, [hl]
ld [wc6eb], a
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
ld a, $19
ld [hMultiplier], a
call Multiply
@@ -8003,55 +8015,55 @@ Function3f26d: ; 3f26d
rr b
ld a, b
ld b, $4
- ld [hMultiplier], a
+ ld [hDivisor], a
call Divide
- ld a, [$ffb6]
- ld hl, UnknownText_0x3f2d1
+ ld a, [hQuotient + 2]
+ ld hl, JumpText_GoPkmn
cp $46
jr nc, .asm_3f2ce
- ld hl, UnknownText_0x3f2d8
+ ld hl, JumpText_DoItPkmn
cp $28
jr nc, .asm_3f2ce
- ld hl, UnknownText_0x3f2df
+ ld hl, JumpText_GoForItPkmn
cp $a
jr nc, .asm_3f2ce
- ld hl, UnknownText_0x3f2e6
+ ld hl, JumpText_YourFoesWeakGetmPkmn
.asm_3f2ce
jp BattleTextBox
; 3f2d1
-UnknownText_0x3f2d1: ; 3f2d1
- text_jump UnknownText_0x1c02df
+JumpText_GoPkmn: ; 3f2d1
+ text_jump Text_GoPkmn
start_asm
- jr Function3f2eb
+ jr Function_TextJump_BattleMonNick01
; 3f2d6
-UnknownText_0x3f2d8: ; 3f2d8
- text_jump UnknownText_0x1c02e6
+JumpText_DoItPkmn: ; 3f2d8
+ text_jump Text_DoItPkmn
start_asm
- jr Function3f2eb
+ jr Function_TextJump_BattleMonNick01
; 3f2dd
-UnknownText_0x3f2df: ; 3f2df
- text_jump UnknownText_0x1c02f0
+JumpText_GoForItPkmn: ; 3f2df
+ text_jump Text_GoForItPkmn
start_asm
- jr Function3f2eb
+ jr Function_TextJump_BattleMonNick01
; 3f2e4
-UnknownText_0x3f2e6: ; 3f2e6
- text_jump UnknownText_0x1c02fe
+JumpText_YourFoesWeakGetmPkmn: ; 3f2e6
+ text_jump Text_YourFoesWeakGetmPkmn
start_asm
; 3f2eb
-Function3f2eb: ; 3f2eb
- ld hl, UnknownText_0x3f2ef
+Function_TextJump_BattleMonNick01: ; 3f2eb
+ ld hl, TextJump_BattleMonNick01
ret
; 3f2ef
-UnknownText_0x3f2ef: ; 3f2ef
- text_jump UnknownText_0x1c0317
+TextJump_BattleMonNick01: ; 3f2ef
+ text_jump Text_BattleMonNick01
db "@"
; 3f2f4
@@ -8075,12 +8087,12 @@ Function3f2ff: ; 3f2ff
dec hl
ld a, [de]
sub b
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
dec de
ld b, [hl]
ld a, [de]
sbc b
- ld [$ffb5], a
+ ld [hMultiplicand + 1], a
ld a, $19
ld [hMultiplier], a
call Multiply
@@ -8093,11 +8105,11 @@ Function3f2ff: ; 3f2ff
rr b
ld a, b
ld b, $4
- ld [hMultiplier], a
+ ld [hDivisor], a
call Divide
pop bc
pop de
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld hl, UnknownText_0x3f348
and a
ret z
@@ -8260,10 +8272,10 @@ Function3f39c: ; 3f39c
.asm_3f40c
ld a, c
- ld [hMultiplier], a
+ ld [hDivisor], a
ld b, $4
call Divide
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld b, a
ld a, $40
sub b
diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm
index 15598120b..fd35756ee 100644
--- a/battle/effect_commands.asm
+++ b/battle/effect_commands.asm
@@ -1458,37 +1458,37 @@ BattleCommand07: ; 346d2
ld [AttackMissed], a
xor a
.asm_34775
- ld [$ffb7], a
+ ld [hMultiplier], a
add b
ld [TypeModifier], a
xor a
- ld [$ffb4], a
+ ld [hMultiplicand + 0], a
ld hl, CurDamage
ld a, [hli]
- ld [$ffb5], a
+ ld [hMultiplicand + 1], a
ld a, [hld]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
call Multiply
- ld a, [$ffb4]
+ ld a, [hProduct + 1]
ld b, a
- ld a, [$ffb5]
+ ld a, [hProduct + 2]
or b
ld b, a
- ld a, [$ffb6]
+ ld a, [hProduct + 3]
or b
jr z, .asm_347ab
ld a, $a
- ld [$ffb7], a
+ ld [hDivisor], a
ld b, $4
call Divide
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
ld b, a
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
or b
jr nz, .asm_347ab
@@ -1572,11 +1572,11 @@ Function347d3: ; 347d3
jr .asm_347e7
.asm_3480b
xor a
- ld [$ffb3], a
- ld [$ffb4], a
- ld [$ffb5], a
+ ld [hDividend + 0], a
+ ld [hMultiplicand + 0], a
+ ld [hMultiplicand + 1], a
ld a, [hli]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
ld a, [wd265]
ld [hMultiplier], a
call Multiply
@@ -1586,7 +1586,7 @@ Function347d3: ; 347d3
ld b, 4
call Divide
pop bc
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld [wd265], a
jr .asm_347e7
@@ -2305,12 +2305,12 @@ BattleCommand08: ; 34cfd
.go
; Start with the maximum damage.
xor a
- ld [$ffb4], a
+ ld [hMultiplicand + 0], a
dec hl
ld a, [hli]
- ld [$ffb5], a
+ ld [hMultiplicand + 1], a
ld a, [hl]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
; Multiply by 85-100%...
.loop
@@ -2319,20 +2319,20 @@ BattleCommand08: ; 34cfd
cp $d9 ; 85%
jr c, .loop
- ld [$ffb7], a
+ ld [hMultiplier], a
call Multiply
; ...divide by 100%...
ld a, $ff ; 100%
- ld [$ffb7], a
+ ld [hDivisor], a
ld b, $4
call Divide
; ...to get .85-1.00x damage.
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
ld hl, CurDamage
ld [hli], a
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld [hl], a
ret
; 34d32
@@ -2594,10 +2594,10 @@ BattleCommand09: ; 34d32
sub c
ld c, a
xor a
- ld [$ffb4], a
- ld [$ffb5], a
+ ld [hMultiplicand + 0], a
+ ld [hMultiplicand + 1], a
ld a, [hl]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
push hl
ld d, $2
@@ -2611,15 +2611,15 @@ BattleCommand09: ; 34d32
add hl, bc
pop bc
ld a, [hli]
- ld [$ffb7], a
+ ld [hMultiplier], a
call Multiply
ld a, [hl]
- ld [$ffb7], a
+ ld [hDivisor], a
ld b, $4
call Divide
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld b, a
- ld a, [$ffb5]
+ ld a, [hQuotient + 1]
or b
jr nz, .asm_34ea2
ld [$ffb5], a
@@ -4344,18 +4344,18 @@ BattleCommand3f: ; 35726
.asm_3579d
xor a
ld [$ffb3], a
- ld [$ffb4], a
+ ld [hMultiplicand + 0], a
ld a, [hli]
- ld [$ffb5], a
+ ld [hMultiplicand + 1], a
ld a, [hli]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
ld a, $30
- ld [$ffb7], a
+ ld [hMultiplier], a
call Multiply
ld a, [hli]
ld b, a
ld a, [hl]
- ld [$ffb7], a
+ ld [hDivisor], a
ld a, b
and a
jr z, .asm_357d6
@@ -4365,22 +4365,22 @@ BattleCommand3f: ; 35726
rr a
srl b
rr a
- ld [$ffb7], a
- ld a, [$ffb5]
+ ld [hDivisor], a
+ ld a, [hProduct + 2]
ld b, a
srl b
- ld a, [$ffb6]
+ ld a, [hProduct + 3]
rr a
srl b
rr a
- ld [$ffb6], a
+ ld [hDividend + 3], a
ld a, b
- ld [$ffb5], a
+ ld [hDividend + 2], a
.asm_357d6
ld b, $4
call Divide
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld b, a
ld hl, .FlailPower
@@ -6874,7 +6874,7 @@ rept 2
endr
xor a
- ld [hMultiplicand], a
+ ld [hMultiplicand + 0], a
ld a, [de]
ld [hMultiplicand + 1], a
inc de
@@ -9470,7 +9470,7 @@ BattleCommand60: ; 3784b
ld hl, EnemyMonHappiness
.ok
xor a
- ld [hMultiplicand], a
+ ld [hMultiplicand + 0], a
ld [hMultiplicand + 1], a
ld a, [hl]
ld [hMultiplicand + 2], a
@@ -9595,18 +9595,18 @@ BattleCommand63: ; 3790e
.asm_3791a
ld a, $ff
sub [hl]
- ld [$ffb6], a
+ ld [hMultiplicand + 2], a
xor a
- ld [$ffb4], a
- ld [$ffb5], a
+ ld [hMultiplicand + 0], a
+ ld [hMultiplicand + 1], a
ld a, 10
- ld [$ffb7], a
+ ld [hMultiplier], a
call Multiply
ld a, 25
- ld [$ffb7], a
+ ld [hDivisor], a
ld b, 4
call Divide
- ld a, [$ffb6]
+ ld a, [hQuotient + 2]
ld d, a
pop bc
ret