kep-hack/engine/battle/moveEffects/reflect_light_screen_effect.asm
xCrystal 2fe782b11a Rename battle files and split move effects Part 4
e.asm, e_2. asm, and 14.asm
2015-04-01 17:05:50 +02:00

46 lines
1.1 KiB
NASM

ReflectLightScreenEffect_: ; 3bb97 (e:7b97)
ld hl, W_PLAYERBATTSTATUS3
ld de, W_PLAYERMOVEEFFECT
ld a, [H_WHOSETURN]
and a
jr z, .asm_3bba8
ld hl, W_ENEMYBATTSTATUS3
ld de, W_ENEMYMOVEEFFECT
.asm_3bba8
ld a, [de]
cp LIGHT_SCREEN_EFFECT
jr nz, .reflect
bit HasLightScreenUp, [hl] ; is mon already protected by light screen?
jr nz, .moveFailed
set HasLightScreenUp, [hl] ; mon is now protected by light screen
ld hl, LightScreenProtectedText
jr .asm_3bbc1
.reflect
bit HasReflectUp, [hl] ; is mon already protected by reflect?
jr nz, .moveFailed
set HasReflectUp, [hl] ; mon is now protected by reflect
ld hl, ReflectGainedArmorText
.asm_3bbc1
push hl
ld hl, PlayCurrentMoveAnimation
call BankswitchEtoF
pop hl
jp PrintText
.moveFailed
ld c, $32
call DelayFrames
ld hl, PrintButItFailedText_
jp BankswitchEtoF
LightScreenProtectedText: ; 3bbd7 (e:7bd7)
TX_FAR _LightScreenProtectedText
db "@"
ReflectGainedArmorText: ; 3bbdc (e:7bdc)
TX_FAR _ReflectGainedArmorText
db "@"
BankswitchEtoF: ; 3bbe1 (e:7be1)
ld b, BANK(BattleCore)
jp Bankswitch