ref: 2b54583c8be4aa28f4c6a70c65baeb2e3c84fdfc
dir: /engine/battle/move_effects/reflect_light_screen.asm/
ReflectLightScreenEffect_: ld hl, wPlayerBattleStatus3 ld de, wPlayerMoveEffect ldh a, [hWhoseTurn] and a jr z, .reflectLightScreenEffect ld hl, wEnemyBattleStatus3 ld de, wEnemyMoveEffect .reflectLightScreenEffect ld a, [de] cp LIGHT_SCREEN_EFFECT jr nz, .reflect bit HAS_LIGHT_SCREEN_UP, [hl] ; is mon already protected by light screen? jr nz, .moveFailed set HAS_LIGHT_SCREEN_UP, [hl] ; mon is now protected by light screen ld hl, LightScreenProtectedText jr .playAnim .reflect bit HAS_REFLECT_UP, [hl] ; is mon already protected by reflect? jr nz, .moveFailed set HAS_REFLECT_UP, [hl] ; mon is now protected by reflect ld hl, ReflectGainedArmorText .playAnim push hl ld hl, PlayCurrentMoveAnimation call BankswitchEtoF pop hl jp PrintText .moveFailed ld c, 50 call DelayFrames ld hl, PrintButItFailedText_ jp BankswitchEtoF LightScreenProtectedText: text_far _LightScreenProtectedText text_end ReflectGainedArmorText: text_far _ReflectGainedArmorText text_end BankswitchEtoF: ld b, BANK(BattleCore) jp Bankswitch