diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-09 16:12:17 -0500 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-09 16:12:17 -0500 |
commit | 6382790a1d04b5a1f101d9a6615da3f2f3ebcd8d (patch) | |
tree | 14f3c1243e7d67a8507e5928bb0ea815a1513944 | |
parent | bc8636d68805116ef126feecc07cde63238490da (diff) |
Terser damage calculation constants
-rw-r--r-- | constants/battle_constants.asm | 4 | ||||
-rw-r--r-- | engine/battle/effect_commands.asm | 27 |
2 files changed, 15 insertions, 16 deletions
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index db9eaabe..2a4821a6 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -10,10 +10,6 @@ NUM_MOVES EQU 4 BASE_STAT_LEVEL EQU 7 MAX_STAT_LEVEL EQU 13 -; damage limits before type effectiveness -MIN_NEUTRAL_DAMAGE EQU 2 -MAX_NEUTRAL_DAMAGE EQU 999 - ; turns that sleep lasts REST_SLEEP_TURNS EQU 2 TREEMON_SLEEP_TURNS EQU 7 diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm index 2641a00e..548b7c81 100644 --- a/engine/battle/effect_commands.asm +++ b/engine/battle/effect_commands.asm @@ -3060,8 +3060,11 @@ BattleCommand_DamageCalc: ; Critical hits call .CriticalMultiplier -; Update wCurDamage. -; Capped at MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE: 999 - 2 = 997. +; Update wCurDamage. Max 999 (capped at 997, then add 2). +MAX_DAMAGE EQU 999 +MIN_DAMAGE EQU 2 +DAMAGE_CAP EQU MAX_DAMAGE - MIN_DAMAGE + ld hl, wCurDamage ld b, [hl] ldh a, [hQuotient + 3] @@ -3083,14 +3086,14 @@ BattleCommand_DamageCalc: jr nz, .Cap ldh a, [hQuotient + 2] - cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + cp HIGH(DAMAGE_CAP + 1) jr c, .dont_cap_2 - cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + 1 + cp HIGH(DAMAGE_CAP + 1) + 1 jr nc, .Cap ldh a, [hQuotient + 3] - cp LOW(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + cp LOW(DAMAGE_CAP + 1) jr nc, .Cap .dont_cap_2 @@ -3108,28 +3111,28 @@ BattleCommand_DamageCalc: jr c, .Cap ld a, [hl] - cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + cp HIGH(DAMAGE_CAP + 1) jr c, .dont_cap_3 - cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + 1 + cp HIGH(DAMAGE_CAP + 1) + 1 jr nc, .Cap inc hl ld a, [hld] - cp LOW(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + cp LOW(DAMAGE_CAP + 1) jr c, .dont_cap_3 .Cap: - ld a, HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) + ld a, HIGH(DAMAGE_CAP) ld [hli], a - ld a, LOW(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) + ld a, LOW(DAMAGE_CAP) ld [hld], a .dont_cap_3 -; Add back MIN_NEUTRAL_DAMAGE (capping at 999). +; Add back MIN_DAMAGE (capping at 999). inc hl ld a, [hl] - add MIN_NEUTRAL_DAMAGE + add MIN_DAMAGE ld [hld], a jr nc, .dont_floor inc [hl] |