ref: a4bf94e1d770cadb9a52b94142fd7eb517e4b1df
dir: /engine/battle/move_effects/psych_up.asm/
BattleCommand_PsychUp: ; 37c55 ; psychup ld hl, wEnemyStatLevels ld de, wPlayerStatLevels ld a, [hBattleTurn] and a jr z, .pointers_correct ; It's the enemy's turn, so swap the pointers. push hl ld h, d ld l, e pop de .pointers_correct push hl ld b, NUM_LEVEL_STATS ; If any of the enemy's stats is modified from its base level, ; the move succeeds. Otherwise, it fails. .loop ld a, [hli] cp BASE_STAT_LEVEL jr nz, .break dec b jr nz, .loop pop hl call AnimateFailedMove jp PrintButItFailed .break pop hl ld b, NUM_LEVEL_STATS .loop2 ld a, [hli] ld [de], a inc de dec b jr nz, .loop2 ld a, [hBattleTurn] and a jr nz, .calc_enemy_stats call CalcPlayerStats jr .merge .calc_enemy_stats call CalcEnemyStats .merge call AnimateCurrentMove ld hl, CopiedStatsText jp StdBattleTextBox ; 37c95