diff options
Diffstat (limited to 'engine/battle/unused_stats_functions.asm')
-rw-r--r-- | engine/battle/unused_stats_functions.asm | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/engine/battle/unused_stats_functions.asm b/engine/battle/unused_stats_functions.asm new file mode 100644 index 00000000..23ddbc20 --- /dev/null +++ b/engine/battle/unused_stats_functions.asm @@ -0,0 +1,62 @@ +; does nothing since no stats are ever selected (barring glitches) +DoubleSelectedStats: ; 39680 (e:5680) + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerStatsToDouble] + ld hl, wBattleMonAttack + 1 + jr z, .notEnemyTurn + ld a, [wEnemyStatsToDouble] + ld hl, wEnemyMonAttack + 1 +.notEnemyTurn + ld c, 4 + ld b, a +.loop + srl b + call c, .doubleStat + inc hl + inc hl + dec c + ret z + jr .loop + +.doubleStat + ld a, [hl] + add a + ld [hld], a + ld a, [hl] + rl a + ld [hli], a + ret + +; does nothing since no stats are ever selected (barring glitches) +HalveSelectedStats: ; 396a7 (e:56a7) + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerStatsToHalve] + ld hl, wBattleMonAttack + jr z, .notEnemyTurn + ld a, [wEnemyStatsToHalve] + ld hl, wEnemyMonAttack +.notEnemyTurn + ld c, 4 + ld b, a +.loop + srl b + call c, .halveStat + inc hl + inc hl + dec c + ret z + jr .loop + +.halveStat + ld a, [hl] + srl a + ld [hli], a + rr [hl] + or [hl] + jr nz, .nonzeroStat + ld [hl], 1 +.nonzeroStat + dec hl + ret |