diff options
Diffstat (limited to 'battle')
-rw-r--r-- | battle/ai/items.asm | 10 | ||||
-rw-r--r-- | battle/anim_commands.asm | 4 | ||||
-rw-r--r-- | battle/anim_objects.asm | 14 | ||||
-rw-r--r-- | battle/bg_effects.asm | 146 | ||||
-rw-r--r-- | battle/core.asm | 14 | ||||
-rw-r--r-- | battle/effect_commands.asm | 86 |
6 files changed, 138 insertions, 136 deletions
diff --git a/battle/ai/items.asm b/battle/ai/items.asm index 46f04bf65..c56f389ca 100644 --- a/battle/ai/items.asm +++ b/battle/ai/items.asm @@ -787,17 +787,17 @@ Function38511: ; 38511 ; 3851e Function3851e: ; 3851e - ld [hMultiplier], a + ld [hDivisor], a ld hl, EnemyMonMaxHP ld a, [hli] - ld [hProduct], a + ld [hDividend], a ld a, [hl] - ld [hMultiplicand], a + ld [hDividend + 1], a ld b, $2 call Divide - ld a, [$ffb6] + ld a, [hQuotient + 2] ld c, a - ld a, [$ffb5] + ld a, [hQuotient + 1] ld b, a ld hl, EnemyMonHP + 1 ld a, [hld] diff --git a/battle/anim_commands.asm b/battle/anim_commands.asm index a7cbd8236..80b9bf41d 100644 --- a/battle/anim_commands.asm +++ b/battle/anim_commands.asm @@ -240,14 +240,14 @@ Functioncc220: ; cc220 ld a, $80 ld [hBGMapAddress], a ld a, $9a - ld [$ffd7], a + ld [hBGMapAddress + 1], a call Function3200 ld a, $60 ld [hWY], a xor a ld [hBGMapAddress], a ld a, $98 - ld [$ffd7], a + ld [hBGMapAddress + 1], a call BattleAnimDelayFrame ret ; cc23d diff --git a/battle/anim_objects.asm b/battle/anim_objects.asm index 5bf3e7c01..5c4c43525 100644 --- a/battle/anim_objects.asm +++ b/battle/anim_objects.asm @@ -1696,9 +1696,9 @@ Functioncd677: ; cd677 (33:5677) ld a, $42 ld [hLCDStatCustom], a ; $ff00+$c6 ld a, $58 - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld a, $5e - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ret Functioncd687: ; cd687 (33:5687) @@ -1712,7 +1712,7 @@ Functioncd687: ; cd687 (33:5687) jr nc, .asm_cd69b call Functionce72c xor a - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ret .asm_cd69b dec a @@ -1730,7 +1730,7 @@ Functioncd687: ; cd687 (33:5687) add [hl] sub $10 ret c - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld hl, $9 add hl, bc ld a, [hl] @@ -1754,8 +1754,8 @@ Functioncd6c6: ; cd6c6 (33:56c6) jr c, asm_cd6da xor a ld [hLCDStatCustom], a ; $ff00+$c6 - ld [$ffc7], a - ld [$ffc8], a + ld [hLCDStatCustom + 1], a + ld [hLCDStatCustom + 2], a Functioncd6d6: ; cd6d6 (33:56d6) call Functioncc9bd @@ -1767,7 +1767,7 @@ endr ld [hl], a sub $10 ret c - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ret Functioncd6e3: ; cd6e3 (33:56e3) diff --git a/battle/bg_effects.asm b/battle/bg_effects.asm index a2fd9f731..5b22308f2 100644 --- a/battle/bg_effects.asm +++ b/battle/bg_effects.asm @@ -932,7 +932,7 @@ Functionc8565: ; c8565 (32:4565) ld hl, w5_d422 ld bc, $0 .asm_c8580 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] cp e jr nc, .asm_c858b push hl @@ -969,9 +969,9 @@ Functionc85a2: ; c85a2 (32:45a2) ld a, $42 ld [hLCDStatCustom], a ; $ff00+$c6 xor a - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld a, $5e - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld de, $202 call Functionc8f2e ret @@ -1044,9 +1044,9 @@ Functionc8610: ; c8610 (32:4610) ld a, $43 ld [hLCDStatCustom], a ; $ff00+$c6 xor a - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld a, $5f - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld de, $605 call Functionc8f2e ld hl, $3 @@ -1140,9 +1140,9 @@ Functionc8698: ; c8698 (32:4698) call Functionc8eca ld a, $43 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $2 add hl, bc ld [hl], $0 @@ -1196,9 +1196,9 @@ Functionc86ea: ; c86ea (32:46ea) inc a ld d, a ld h, $d2 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld l, a - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] sub l srl a push af @@ -1238,7 +1238,7 @@ Functionc8712: ; c8712 (32:4712) ld d, $2 call Functionc8f2e ld h, $d2 - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] ld l, a ld [hl], $0 dec l @@ -1246,7 +1246,7 @@ Functionc8712: ; c8712 (32:4712) ret Functionc8732: ; c8732 (32:4732) - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] ld l, a ld h, $d2 ld e, l @@ -1256,11 +1256,11 @@ Functionc8732: ; c8732 (32:4732) ld a, [de] dec de ld [hld], a - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] cp l jr nz, .asm_c873a ld [hl], $90 - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] ld l, a ld a, [hl] cp $1 @@ -1296,9 +1296,9 @@ Functionc876a: ; c876a (32:476a) call Functionc8eca ld a, $42 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $2 add hl, bc ld [hl], $1 @@ -1347,9 +1347,9 @@ Functionc87b2: ; c87b2 (32:47b2) call Functionc8eca ld a, $42 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $2 add hl, bc ld [hl], $2 @@ -1371,9 +1371,9 @@ Functionc87cf: ; c87cf (32:47cf) call Functionc80e5 Functionc87de: ; c87de (32:47de) - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld l, a - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] sub l dec a ld hl, $2 @@ -1416,9 +1416,9 @@ Functionc8810: ; c8810 (32:4810) call Functionc8eca ld a, $43 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $3 add hl, bc ld [hl], $0 @@ -1451,9 +1451,9 @@ Functionc8842: ; c8842 (32:4842) call Functionc8eca ld a, $43 call Functionc8ef4 - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $3 add hl, bc ld [hl], $0 @@ -1524,16 +1524,16 @@ Functionc88a5: ; c88a5 (32:48a5) pop af jp Functionc900b .asm_c88b7 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld d, a - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] sub d ld d, a ld h, LYOverridesBackup / $100 ld a, [hSCY] ; $ff00+$d0 or a jr nz, .asm_c88d0 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] or a jr z, .asm_c88d6 dec a @@ -1541,14 +1541,14 @@ Functionc88a5: ; c88a5 (32:48a5) ld [hl], $0 jr .asm_c88d6 .asm_c88d0 - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] dec a ld l, a ld [hl], $0 .asm_c88d6 ld a, [hSCY] ; $ff00+$d0 ld l, a - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] sub l jr nc, .asm_c88e0 xor a @@ -1581,9 +1581,9 @@ Functionc88f6: ; c88f6 (32:48f6) call Functionc8eca ld a, $43 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $3 add hl, bc ld [hl], $0 @@ -1628,9 +1628,9 @@ Functionc8933: ; c8933 (32:4933) call Functionc8eca ld a, $43 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $3 add hl, bc ld [hl], $0 @@ -1668,9 +1668,9 @@ Functionc896d: ; c896d (32:496d) call Functionc8eca ld a, $43 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a xor a ld hl, $2 add hl, bc @@ -1767,9 +1767,9 @@ Functionc89f7: ; c89f7 (32:49f7) call Functionc8eca ld a, $42 call Functionc8ef4 - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $2 add hl, bc ld [hl], $1 @@ -1824,14 +1824,14 @@ Functionc8a49: ; c8a49 (32:4a49) call Functionc8ecb ld a, $47 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a - ld a, [$ffc7] + ld [hLCDStatCustom + 2], a + ld a, [hLCDStatCustom + 1] ld l, a ld h, $d2 .asm_c8a60 - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] cp l jr z, .asm_c8a69 xor a @@ -1854,9 +1854,9 @@ Functionc8a70: ; c8a70 (32:4a70) ld hl, $3 add hl, bc ld [hl], $0 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] inc a - ld [$ffc7], a + ld [hLCDStatCustom + 1], a call Functionc80e5 ret @@ -1864,7 +1864,7 @@ Functionc8a88: ; c8a88 (32:4a88) call Functionc8ab0 jr nc, .asm_c8a96 call Functionc8a9a - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] dec a ld l, a ld [hl], e @@ -1875,9 +1875,9 @@ Functionc8a88: ; c8a88 (32:4a88) Functionc8a9a: ; c8a9a (32:4a9a) ld e, a - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld l, a - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] sub l srl a ld h, $d2 @@ -1971,9 +1971,9 @@ Functionc8b0e: ; c8b0e (32:4b0e) ld a, $47 ld [hLCDStatCustom], a ; $ff00+$c6 xor a - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld a, $60 - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ret Functionc8b22: ; c8b22 (32:4b22) @@ -2221,9 +2221,9 @@ Functionc8c68: ; c8c68 (32:4c68) call Functionc8eca ld a, $43 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $2 add hl, bc ld [hl], $1 @@ -2268,9 +2268,9 @@ Functionc8cab: ; c8cab (32:4cab) ld a, $43 ld [hLCDStatCustom], a ; $ff00+$c6 xor a - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld a, $37 - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $3 add hl, bc ld [hl], $0 @@ -2431,9 +2431,9 @@ Functionc8d8b: ; c8d8b (32:4d8b) call Functionc8ecb ld a, $47 call Functionc8ede - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] inc a - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ld hl, $3 add hl, bc ld a, [hl] @@ -2669,9 +2669,9 @@ Functionc8ede: ; c8ede (32:4ede) ld de, $2f5e .asm_c8eed ld a, d - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld a, e - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ret Functionc8ef4: ; c8ef4 (32:4ef4) @@ -2684,15 +2684,15 @@ Functionc8ef4: ; c8ef4 (32:4ef4) ld de, $2d5e .asm_c8f03 ld a, d - ld [$ffc7], a + ld [hLCDStatCustom + 1], a ld a, e - ld [$ffc8], a + ld [hLCDStatCustom + 2], a ret Functionc8f0a: ; c8f0a (32:4f0a) xor a - ld [$ffc7], a - ld [$ffc8], a + ld [hLCDStatCustom + 1], a + ld [hLCDStatCustom + 2], a call Functionc8eca xor a ld [hLCDStatCustom], a ; $ff00+$c6 @@ -2706,8 +2706,8 @@ Functionc8f19: ; c8f19 (32:4f19) ld [rBGP], a ; $ff00+$47 ld [wcfc7], a ld [wcfc9], a - ld [$ffc7], a - ld [$ffc8], a + ld [hLCDStatCustom + 1], a + ld [hLCDStatCustom + 2], a call Functionc8eca ret @@ -2723,10 +2723,10 @@ Functionc8f2e: ; c8f2e (32:4f2e) ld [BattleAnimTemps + 3], a ld bc, LYOverridesBackup .asm_c8f43 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] cp c jr nc, .asm_c8f58 - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] cp c jr c, .asm_c8f58 ld a, [BattleAnimTemps + 2] @@ -2800,14 +2800,14 @@ Functionc8f9a: ; c8f9a (32:4f9a) call Functionc905d ld e, a pop hl - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] cp c jr c, .asm_c8fcf ld a, e ld [bc], a inc bc .asm_c8fcf - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] cp l jr nc, .asm_c8fd6 ld [hl], e @@ -2824,7 +2824,7 @@ Functionc8f9a: ; c8f9a (32:4f9a) ret Functionc8fe4: ; c8fe4 (32:4fe4) - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld e, a ld a, [BattleAnimTemps] add e @@ -2834,13 +2834,13 @@ Functionc8fe4: ; c8fe4 (32:4fe4) Functionc8fef: ; c8fef (32:4fef) push bc - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld l, a inc a ld e, a ld h, $d2 ld d, h - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] sub l and a jr z, .asm_c9009 @@ -2862,9 +2862,9 @@ Functionc8fef: ; c8fef (32:4fef) Functionc900b: ; c900b (32:500b) push af ld h, $d2 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld l, a - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] sub l ld d, a pop af @@ -2877,14 +2877,14 @@ Functionc900b: ; c900b (32:500b) Functionc901b: ; c901b (32:501b) push af ld e, a - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld l, a - ld a, [$ffc8] + ld a, [hLCDStatCustom + 2] sub l sub e ld d, a ld h, $d2 - ld a, [$ffc7] + ld a, [hLCDStatCustom + 1] ld l, a ld a, $90 .asm_c902c diff --git a/battle/core.asm b/battle/core.asm index c7f0e7bb5..287ad4120 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -3233,7 +3233,7 @@ Function3d444: ; 3d444 Function3d490: ; 3d490 - ld [$ffaf], a + ld [hConnectionStripLength], a ld c, a .asm_3d493 push bc @@ -3257,7 +3257,7 @@ Function3d490: ; 3d490 ; 3d4ae Function3d4ae: ; 3d4ae - ld a, [$ffaf] + ld a, [hConnectionStripLength] ld c, a cp $8 jr nz, .back @@ -9442,7 +9442,7 @@ Function3fc30: ; 3fc30 Function3fc5b: ; 3fc5b ld hl, Sprites xor a - ld [$ffaf], a + ld [hConnectionStripLength], a ld b, $6 ld e, $a8 .asm_3fc65 @@ -9453,10 +9453,10 @@ Function3fc5b: ; 3fc5b inc hl ld [hl], e inc hl - ld a, [$ffaf] + ld a, [hConnectionStripLength] ld [hli], a inc a - ld [$ffaf], a + ld [hConnectionStripLength], a ld a, $1 ld [hli], a ld a, d @@ -9464,9 +9464,9 @@ Function3fc5b: ; 3fc5b ld d, a dec c jr nz, .asm_3fc69 - ld a, [$ffaf] + ld a, [hConnectionStripLength] add $3 - ld [$ffaf], a + ld [hConnectionStripLength], a ld a, e add $8 ld e, a diff --git a/battle/effect_commands.asm b/battle/effect_commands.asm index e0bd41859..1b8d8b9fc 100644 --- a/battle/effect_commands.asm +++ b/battle/effect_commands.asm @@ -1390,7 +1390,7 @@ BattleCommand07: ; 346d2 cp c jr z, .stab - jr .asm_3473a + jr .SkipStab .stab ld hl, CurDamage + 1 @@ -1412,13 +1412,13 @@ BattleCommand07: ; 346d2 ld hl, TypeModifier set 7, [hl] -.asm_3473a +.SkipStab ld a, BATTLE_VARS_MOVE_TYPE call GetBattleVar ld b, a ld hl, TypeMatchup -.asm_34743 +.TypesLoop ld a, [hli] cp $ff @@ -1426,38 +1426,39 @@ BattleCommand07: ; 346d2 ; foresight cp $fe - jr nz, .asm_34757 + jr nz, .SkipForesightCheck ld a, BATTLE_VARS_SUBSTATUS1_OPP call GetBattleVar bit SUBSTATUS_IDENTIFIED, a jr nz, .end - jr .asm_34743 + jr .TypesLoop -.asm_34757 +.SkipForesightCheck cp b - jr nz, .asm_347b3 + jr nz, .SkipType ld a, [hl] cp d - jr z, .asm_34763 + jr z, .GotMatchup cp e - jr z, .asm_34763 - jr .asm_347b3 + jr z, .GotMatchup + jr .SkipType -.asm_34763 +.GotMatchup push hl push bc inc hl ld a, [TypeModifier] and %10000000 ld b, a +; If the target is immune to the move, treat it as a miss and calculate the damage as 0 ld a, [hl] and a - jr nz, .asm_34775 + jr nz, .NotImmune inc a ld [AttackMissed], a xor a -.asm_34775 +.NotImmune ld [hMultiplier], a add b ld [TypeModifier], a @@ -1480,34 +1481,35 @@ BattleCommand07: ; 346d2 ld b, a ld a, [hProduct + 3] or b - jr z, .asm_347ab + jr z, .ok ; This is a very convoluted way to get back that we've essentially dealt no damage. - ld a, $a +; Take the product and divide it by 10. + ld a, 10 ld [hDivisor], a - ld b, $4 + ld b, 4 call Divide ld a, [hQuotient + 1] ld b, a ld a, [hQuotient + 2] or b - jr nz, .asm_347ab + jr nz, .ok - ld a, $1 - ld [$ffb6], a + ld a, 1 + ld [hMultiplicand + 2], a -.asm_347ab - ld a, [$ffb5] +.ok + ld a, [hMultiplicand + 1] ld [hli], a - ld a, [$ffb6] + ld a, [hMultiplicand + 2] ld [hl], a pop bc pop hl -.asm_347b3 +.SkipType rept 2 inc hl endr - jr .asm_34743 + jr .TypesLoop .end call Function347c8 @@ -1545,32 +1547,32 @@ Function347d3: ; 347d3 ld a, 10 ; 1.0 ld [wd265], a ld hl, TypeMatchup -.asm_347e7 +.TypesLoop ld a, [hli] cp $ff - jr z, .asm_3482f + jr z, .End cp $fe - jr nz, .asm_347fb + jr nz, .Next ld a, BATTLE_VARS_SUBSTATUS1_OPP call GetBattleVar bit SUBSTATUS_IDENTIFIED, a - jr nz, .asm_3482f - jr .asm_347e7 -.asm_347fb + jr nz, .End + jr .TypesLoop +.Next cp d - jr nz, .asm_34807 + jr nz, .Nope ld a, [hli] cp b - jr z, .asm_3480b + jr z, .Yup cp c - jr z, .asm_3480b - jr .asm_34808 -.asm_34807 + jr z, .Yup + jr .Nope2 +.Nope inc hl -.asm_34808 +.Nope2 inc hl - jr .asm_347e7 -.asm_3480b + jr .TypesLoop +.Yup xor a ld [hDividend + 0], a ld [hMultiplicand + 0], a @@ -1588,9 +1590,9 @@ Function347d3: ; 347d3 pop bc ld a, [hQuotient + 2] ld [wd265], a - jr .asm_347e7 + jr .TypesLoop -.asm_3482f +.End pop bc pop de pop hl @@ -1603,14 +1605,14 @@ BattleCommanda3: ; 34833 ld a, [wd265] and a ld a, 10 ; 1.0 - jr nz, .asm_3484a + jr nz, .skip call ResetDamage xor a ld [TypeModifier], a inc a ld [AttackMissed], a ret -.asm_3484a +.skip ld [wd265], a ret ; 3484e |