BattleCommand_CheckFutureSight: ; 37d0d ; checkfuturesight ld hl, wPlayerFutureSightCount ld de, wPlayerFutureSightDamage ld a, [hBattleTurn] and a jr z, .ok ld hl, wEnemyFutureSightCount ld de, wEnemyFutureSightDamage .ok ld a, [hl] and a ret z cp 1 ret nz ld [hl], 0 ld a, [de] inc de ld [wCurDamage], a ld a, [de] ld [wCurDamage + 1], a ld b, futuresight_command jp SkipToBattleCommand ; 37d34 BattleCommand_FutureSight: ; 37d34 ; futuresight call CheckUserIsCharging jr nz, .AlreadyChargingFutureSight ld a, BATTLE_VARS_MOVE_ANIM call GetBattleVar ld b, a ld a, BATTLE_VARS_LAST_COUNTER_MOVE call GetBattleVarAddr ld [hl], b ld a, BATTLE_VARS_LAST_MOVE call GetBattleVarAddr ld [hl], b .AlreadyChargingFutureSight: ld hl, wPlayerFutureSightCount ld a, [hBattleTurn] and a jr z, .GotFutureSightCount ld hl, wEnemyFutureSightCount .GotFutureSightCount: ld a, [hl] and a jr nz, .failed ld a, 4 ld [hl], a call BattleCommand_LowerSub call BattleCommand_MoveDelay ld hl, ForesawAttackText call StdBattleTextBox call BattleCommand_RaiseSub ld de, wPlayerFutureSightDamage ld a, [hBattleTurn] and a jr z, .StoreDamage ld de, wEnemyFutureSightDamage .StoreDamage: ld hl, wCurDamage ld a, [hl] ld [de], a ld [hl], 0 inc hl inc de ld a, [hl] ld [de], a ld [hl], 0 jp EndMoveEffect .failed pop bc call ResetDamage call AnimateFailedMove call PrintButItFailed jp EndMoveEffect ; 37d94