pokered/engine/battle/move_effects/reflect_light_screen.asm

46 lines
1 KiB
NASM
Raw Normal View History

2016-06-12 00:24:04 +00:00
ReflectLightScreenEffect_:
2015-08-31 02:38:41 +00:00
ld hl, wPlayerBattleStatus3
ld de, wPlayerMoveEffect
ldh a, [hWhoseTurn]
and a
jr z, .reflectLightScreenEffect
2015-08-31 02:38:41 +00:00
ld hl, wEnemyBattleStatus3
ld de, wEnemyMoveEffect
.reflectLightScreenEffect
ld a, [de]
cp LIGHT_SCREEN_EFFECT
jr nz, .reflect
2017-12-29 23:59:48 +00:00
bit HAS_LIGHT_SCREEN_UP, [hl] ; is mon already protected by light screen?
jr nz, .moveFailed
2017-12-29 23:59:48 +00:00
set HAS_LIGHT_SCREEN_UP, [hl] ; mon is now protected by light screen
ld hl, LightScreenProtectedText
jr .playAnim
.reflect
2017-12-29 23:59:48 +00:00
bit HAS_REFLECT_UP, [hl] ; is mon already protected by reflect?
jr nz, .moveFailed
2017-12-29 23:59:48 +00:00
set HAS_REFLECT_UP, [hl] ; mon is now protected by reflect
ld hl, ReflectGainedArmorText
.playAnim
push hl
ld hl, PlayCurrentMoveAnimation
2020-11-05 21:55:39 +00:00
call EffectCallBattleCore
pop hl
jp PrintText
.moveFailed
ld c, 50
call DelayFrames
ld hl, PrintButItFailedText_
2020-11-05 21:55:39 +00:00
jp EffectCallBattleCore
2016-06-12 00:24:04 +00:00
LightScreenProtectedText:
text_far _LightScreenProtectedText
text_end
2016-06-12 00:24:04 +00:00
ReflectGainedArmorText:
text_far _ReflectGainedArmorText
text_end
2020-11-05 21:55:39 +00:00
EffectCallBattleCore:
ld b, BANK(BattleCore)
jp Bankswitch