aboutsummaryrefslogtreecommitdiffstats
path: root/engine/battle/moveEffects/reflect_light_screen_effect.asm
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2015-04-01 12:56:42 -0400
committeryenatch <yenatch@gmail.com>2015-04-01 12:56:42 -0400
commitc2efe700ac1c5cca88bac710b98388a99665741e (patch)
treeb30d2f676d5ad0d78b959c8ffcf0f8dcfca13943 /engine/battle/moveEffects/reflect_light_screen_effect.asm
parentMerge pull request #88 from YamaArashi/master (diff)
parentFurther split bank e stuff (diff)
downloadpokeyellow-c2efe700ac1c5cca88bac710b98388a99665741e.tar.gz
pokeyellow-c2efe700ac1c5cca88bac710b98388a99665741e.tar.xz
pokeyellow-c2efe700ac1c5cca88bac710b98388a99665741e.zip
Merge pull request #90 from xCrystal/master
Rename/split battle and move effect files. Battle functions, AI, and attack animations
Diffstat (limited to 'engine/battle/moveEffects/reflect_light_screen_effect.asm')
-rw-r--r--engine/battle/moveEffects/reflect_light_screen_effect.asm45
1 files changed, 45 insertions, 0 deletions
diff --git a/engine/battle/moveEffects/reflect_light_screen_effect.asm b/engine/battle/moveEffects/reflect_light_screen_effect.asm
new file mode 100644
index 00000000..39a2c154
--- /dev/null
+++ b/engine/battle/moveEffects/reflect_light_screen_effect.asm
@@ -0,0 +1,45 @@
+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