Move Animation Photosensitivity Enhancements

This changes the animations for various vanilla moves with the aim of reducing photosensitive reactions. KEP is going to chiefly be played on emulators, and thus players will experience flashing that is meant to be dimmed by a Game Boy screen. This is dangerous, so here we are.

Many moves have been given black screens which 1) Look cool as fuck, Thunderbolt and Blizzard are really nice and 2) bypass flashing. Others have had their flashing reduced or outright removed.

Blizzard has been given special treatment, having the second part of its animation given an Ice Rise clip like Ice Beam. This, coupled with the darkness, looks ace.

Changed moves include:
Body Slam, Glare, Dazzling Gleam (oops), Disable, Blizzard, BubbleBeam, Confusion, Dream Eater, Explosion, Guillotine, Hyper Beam, Mega Kick, Mega Punch, Psychic, Reflect, Rock Slide, Selfdestruct, Spore, and Thunderbolt;
This commit is contained in:
Llinos Evans 2023-09-07 16:03:07 +01:00
parent 0af5bd126b
commit bdb19859c2
4 changed files with 66 additions and 73 deletions

View file

@ -3,24 +3,31 @@ MACRO anim_special_effect
dw \2
ENDM
; RBY has a lot of animations designed for the natural cover of the non-backlit Game Boy.
; When played on an emulator, these animations will trigger potentially dangerous medical reactions from photosensitive individuals (like me!), such as dizziness or even seizures.
; For the purposes of KEP, I've replaced much of these animations with just...better animations, that don't need flashing.
; Specifically, I checked off the 3DS VC's "dimmed out" moves, and replaced them with better animations;
; Blizzard, BubbleBeam, Confusion, Dream Eater, Explosion, Guillotine, Hyper Beam, Mega Kick, Mega Punch, Psychic, Reflect, Rock Slide, Selfdestruct, Spore, and Thunderbolt
; I have also edited Body Slam, Glare, and Disable.
AnimationIdSpecialEffects:
; animation id, effect routine address
anim_special_effect MEGA_PUNCH, AnimationFlashScreen
anim_special_effect GUILLOTINE, AnimationFlashScreen
anim_special_effect MEGA_KICK, AnimationFlashScreen
; anim_special_effect MEGA_PUNCH, AnimationFlashScreen Replaced with a black screen
; anim_special_effect GUILLOTINE, AnimationFlashScreen Replaced with a black screen
; anim_special_effect MEGA_KICK, AnimationFlashScreen Replaced with a black screen
anim_special_effect HEADBUTT, AnimationFlashScreen
anim_special_effect TAIL_WHIP, TailWhipAnimationUnused
anim_special_effect GROWL, DoGrowlSpecialEffects
anim_special_effect DISABLE, AnimationFlashScreen
anim_special_effect BLIZZARD, DoBlizzardSpecialEffects
anim_special_effect BUBBLEBEAM, AnimationFlashScreen
anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks
anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks
anim_special_effect REFLECT, AnimationFlashScreen
anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects
anim_special_effect SPORE, AnimationFlashScreen
anim_special_effect EXPLOSION, DoExplodeSpecialEffects
anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects
; anim_special_effect DISABLE, AnimationFlashScreen
; anim_special_effect BLIZZARD, DoBlizzardSpecialEffects
; anim_special_effect BUBBLEBEAM, AnimationFlashScreen unnecessary...
; anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks
; anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks ; Replaced with a black screen animation
; anim_special_effect REFLECT, AnimationFlashScreen worst animation in the game, easily
; anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects ; Uses a white screen
; anim_special_effect SPORE, AnimationFlashScreen lol why'd they do this
anim_special_effect EXPLOSION, DoExplodeSpecialEffects ; Now uses a black screen
anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects ; This one was fixed in-script.
anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon
anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball
anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball

View file

@ -273,7 +273,10 @@ CometPunchAnim:
db -1 ; end
MegaPunchAnim:
battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE
battle_anim MEGA_PUNCH, SUBANIM_1_STAR_BIG_MOVING, 1, 6
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
PayDayAnim:
@ -307,7 +310,10 @@ VicegripAnim:
db -1 ; end
GuillotineAnim:
battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE
battle_anim GUILLOTINE, SUBANIM_0_SLICE_BOTH_SIDES, 0, 6
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
RazorWindAnim:
@ -369,7 +375,10 @@ DoubleKickAnim:
db -1 ; end
MegaKickAnim:
battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE
battle_anim MEGA_KICK, SUBANIM_1_STAR_BIG_MOVING, 1, 6
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
JumpKickAnim:
@ -415,7 +424,6 @@ TackleAnim:
BodySlamAnim:
battle_anim LEECH_SEED, SE_MOVE_MON_HORIZONTALLY
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_MON_POSITION
db -1 ; end
@ -508,8 +516,7 @@ SonicBoomAnim:
DisableAnim:
battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE
battle_anim LEER, SE_DARK_SCREEN_FLASH
battle_anim LEER, SE_DARK_SCREEN_FLASH
battle_anim LEER, SE_DARK_SCREEN_FLASH ; One flash is fine, I think?
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
@ -554,8 +561,12 @@ IceBeamAnim:
db -1 ; end
BlizzardAnim:
battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE
battle_anim BLIZZARD, SUBANIM_0_ICE_FALL, 0, 4
battle_anim HYDRO_PUMP, SUBANIM_0_ICE_FALL, 0, 4
battle_anim NO_MOVE, SUBANIM_0_ICE_RISE, 0, 16
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
;battle_anim HYDRO_PUMP, SUBANIM_0_ICE_FALL, 0, 4 so for some reason, this causes hydro pump's proper sound to play when you use crysaudio. Instead of all this jank, now we're having the ice rise like Ice Beam. If you're using crysaudio and have problems with this, here's your solution.
db -1 ; end
PsyBeamAnim:
@ -577,9 +588,7 @@ HyperBeamAnim:
battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE
battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD
battle_anim HYPER_BEAM, SUBANIM_0_BEAM, 0, 2
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim MEGA_PUNCH, SUBANIM_1_STAR_BIG_MOVING, 1, 6
battle_anim NO_MOVE, SUBANIM_1_STAR_BIG_MOVING, 1, 6
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
@ -709,8 +718,11 @@ ThunderShockAnim:
db -1 ; end
ThunderBoltAnim:
battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE
battle_anim THUNDERBOLT, SUBANIM_1_LIGHTNING_BALL, 1, 1
battle_anim THUNDERBOLT, SUBANIM_1_LIGHTNING_BALL, 1, 1
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
ThunderWaveAnim:
@ -1024,8 +1036,7 @@ HiJumpKickAnim:
GlareAnim:
battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE
battle_anim GLARE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim GLARE, SE_DARK_SCREEN_FLASH ; One flash is fine, I think?
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
@ -1090,9 +1101,7 @@ SporeAnim:
DazzleGleamAnim:
FlashAnim:
battle_anim LEECH_SEED, SE_LIGHT_SCREEN_PALETTE
battle_anim GLARE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
@ -1115,7 +1124,10 @@ CrabHammerAnim:
db -1 ; end
ExplosionAnim:
battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE
battle_anim EXPLOSION, SUBANIM_1_SELFDESTRUCT, 1, 3
battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH
battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE
db -1 ; end
FurySwipesAnim: