diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm index 5d2b351b9..06c15b8b8 100644 --- a/constants/battle_anim_constants.asm +++ b/constants/battle_anim_constants.asm @@ -751,59 +751,60 @@ assert NUM_BATTLE_ANIM_OAMSETS <= FIRST_OAM_CMD, \ ; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm) const_def 1 - const BATTLE_BG_EFFECT_FLASH_INVERTED ; 01 - const BATTLE_BG_EFFECT_FLASH_WHITE ; 02 - const BATTLE_BG_EFFECT_WHITE_HUES ; 03 - const BATTLE_BG_EFFECT_BLACK_HUES ; 04 - const BATTLE_BG_EFFECT_ALTERNATE_HUES ; 05 - const BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW ; 06 - const BATTLE_BG_EFFECT_CYCLE_MID_OBPALS_GRAY_AND_YELLOW ; 07 - const BATTLE_BG_EFFECT_CYCLE_BGPALS_INVERTED ; 08 - const BATTLE_BG_EFFECT_HIDE_MON ; 09 - const BATTLE_BG_EFFECT_SHOW_MON ; 0a - const BATTLE_BG_EFFECT_ENTER_MON ; 0b - const BATTLE_BG_EFFECT_RETURN_MON ; 0c - const BATTLE_BG_EFFECT_SURF ; 0d - const BATTLE_BG_EFFECT_WHIRLPOOL ; 0e - const BATTLE_BG_EFFECT_TELEPORT ; 0f - const BATTLE_BG_EFFECT_NIGHT_SHADE ; 10 - const BATTLE_BG_EFFECT_BATTLEROBJ_1ROW ; 11 - const BATTLE_BG_EFFECT_BATTLEROBJ_2ROW ; 12 - const BATTLE_BG_EFFECT_DOUBLE_TEAM ; 13 - const BATTLE_BG_EFFECT_ACID_ARMOR ; 14 - const BATTLE_BG_EFFECT_RAPID_FLASH ; 15 - const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT ; 16 - const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK ; 17 - const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT_REPEATING ; 18 - const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK_REPEATING ; 19 - const BATTLE_BG_EFFECT_CYCLE_MON_LIGHT_DARK_REPEATING ; 1a - const BATTLE_BG_EFFECT_FLASH_MON_REPEATING ; 1b - const BATTLE_BG_EFFECT_FADE_MONS_TO_BLACK_REPEATING ; 1c - const BATTLE_BG_EFFECT_FADE_MON_TO_WHITE_WAIT_FADE_BACK ; 1d - const BATTLE_BG_EFFECT_FADE_MON_FROM_WHITE ; 1e - const BATTLE_BG_EFFECT_SHAKE_SCREEN_X ; 1f - const BATTLE_BG_EFFECT_SHAKE_SCREEN_Y ; 20 - const BATTLE_BG_EFFECT_WITHDRAW ; 21 - const BATTLE_BG_EFFECT_BOUNCE_DOWN ; 22 - const BATTLE_BG_EFFECT_DIG ; 23 - const BATTLE_BG_EFFECT_TACKLE ; 24 - const BATTLE_BG_EFFECT_BODY_SLAM ; 25 - const BATTLE_BG_EFFECT_WOBBLE_MON ; 26 - const BATTLE_BG_EFFECT_REMOVE_MON ; 27 - const BATTLE_BG_EFFECT_WAVE_DEFORM_MON ; 28 - const BATTLE_BG_EFFECT_PSYCHIC ; 29 - const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON1 ; 2a - const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON2 ; 2b - const BATTLE_BG_EFFECT_FLAIL ; 2c - const BATTLE_BG_EFFECT_BETA_PURSUIT ; 2d - const BATTLE_BG_EFFECT_ROLLOUT ; 2e - const BATTLE_BG_EFFECT_VITAL_THROW ; 2f - const BATTLE_BG_EFFECT_START_WATER ; 30 - const BATTLE_BG_EFFECT_WATER ; 31 - const BATTLE_BG_EFFECT_END_WATER ; 32 - const BATTLE_BG_EFFECT_VIBRATE_MON ; 33 - const BATTLE_BG_EFFECT_WOBBLE_PLAYER ; 34 - const BATTLE_BG_EFFECT_WOBBLE_SCREEN ; 35 + const BATTLE_BG_EFFECT_FLASH_INVERTED ; 01 + const BATTLE_BG_EFFECT_FLASH_WHITE ; 02 + const BATTLE_BG_EFFECT_WHITE_HUES ; 03 + const BATTLE_BG_EFFECT_BLACK_HUES ; 04 + const BATTLE_BG_EFFECT_ALTERNATE_HUES ; 05 + const BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW ; 06 + const BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW_FULL_SHIFT ; 07 + const BATTLE_BG_EFFECT_CYCLE_MID_OBPALS_GRAY_AND_YELLOW ; 08 + const BATTLE_BG_EFFECT_CYCLE_BGPALS_INVERTED ; 09 + const BATTLE_BG_EFFECT_HIDE_MON ; 0a + const BATTLE_BG_EFFECT_SHOW_MON ; 0b + const BATTLE_BG_EFFECT_ENTER_MON ; 0c + const BATTLE_BG_EFFECT_RETURN_MON ; 0d + const BATTLE_BG_EFFECT_SURF ; 0e + const BATTLE_BG_EFFECT_WHIRLPOOL ; 0f + const BATTLE_BG_EFFECT_TELEPORT ; 10 + const BATTLE_BG_EFFECT_NIGHT_SHADE ; 11 + const BATTLE_BG_EFFECT_BATTLEROBJ_1ROW ; 12 + const BATTLE_BG_EFFECT_BATTLEROBJ_2ROW ; 13 + const BATTLE_BG_EFFECT_DOUBLE_TEAM ; 14 + const BATTLE_BG_EFFECT_ACID_ARMOR ; 15 + const BATTLE_BG_EFFECT_RAPID_FLASH ; 16 + const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT ; 17 + const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK ; 18 + const BATTLE_BG_EFFECT_FADE_MON_TO_LIGHT_REPEATING ; 19 + const BATTLE_BG_EFFECT_FADE_MON_TO_BLACK_REPEATING ; 1a + const BATTLE_BG_EFFECT_CYCLE_MON_LIGHT_DARK_REPEATING ; 1b + const BATTLE_BG_EFFECT_FLASH_MON_REPEATING ; 1c + const BATTLE_BG_EFFECT_FADE_MONS_TO_BLACK_REPEATING ; 1d + const BATTLE_BG_EFFECT_FADE_MON_TO_WHITE_WAIT_FADE_BACK ; 1e + const BATTLE_BG_EFFECT_FADE_MON_FROM_WHITE ; 1f + const BATTLE_BG_EFFECT_SHAKE_SCREEN_X ; 20 + const BATTLE_BG_EFFECT_SHAKE_SCREEN_Y ; 21 + const BATTLE_BG_EFFECT_WITHDRAW ; 22 + const BATTLE_BG_EFFECT_BOUNCE_DOWN ; 23 + const BATTLE_BG_EFFECT_DIG ; 24 + const BATTLE_BG_EFFECT_TACKLE ; 25 + const BATTLE_BG_EFFECT_BODY_SLAM ; 26 + const BATTLE_BG_EFFECT_WOBBLE_MON ; 27 + const BATTLE_BG_EFFECT_REMOVE_MON ; 28 + const BATTLE_BG_EFFECT_WAVE_DEFORM_MON ; 29 + const BATTLE_BG_EFFECT_PSYCHIC ; 2a + const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON1 ; 2b + const BATTLE_BG_EFFECT_BETA_SEND_OUT_MON2 ; 2c + const BATTLE_BG_EFFECT_FLAIL ; 2d + const BATTLE_BG_EFFECT_BETA_PURSUIT ; 2e + const BATTLE_BG_EFFECT_ROLLOUT ; 2f + const BATTLE_BG_EFFECT_VITAL_THROW ; 30 + const BATTLE_BG_EFFECT_START_WATER ; 31 + const BATTLE_BG_EFFECT_WATER ; 32 + const BATTLE_BG_EFFECT_END_WATER ; 33 + const BATTLE_BG_EFFECT_VIBRATE_MON ; 34 + const BATTLE_BG_EFFECT_WOBBLE_PLAYER ; 35 + const BATTLE_BG_EFFECT_WOBBLE_SCREEN ; 36 DEF NUM_BATTLE_BG_EFFECTS EQU const_value - 1 ; wBattleAnimTileDict keys (see wram.asm) @@ -848,12 +849,13 @@ DEF NUM_BATTLE_BG_EFFECTS EQU const_value - 1 const BATTLE_ANIM_GFX_ANGELS ; 25 const BATTLE_ANIM_GFX_MISC_2 ; 26 const BATTLE_ANIM_GFX_AEROBLAST ; 27 - const BATTLE_ANIM_GFX_BEAM_LIGHT ; 28 + const BATTLE_ANIM_GFX_BEAM_SOLAR ; 28 const BATTLE_ANIM_GFX_SMOKE_PUFF ; 29 const BATTLE_ANIM_GFX_TRIANGLE ; 2a const BATTLE_ANIM_GFX_MUSHROOM ; 2b - const BATTLE_ANIM_GFX_PLAYERHEAD ; 2c - const BATTLE_ANIM_GFX_ENEMYFEET ; 2d + const BATTLE_ANIM_GFX_BEAM_AURORA ; 2c + const BATTLE_ANIM_GFX_PLAYERHEAD ; 2d + const BATTLE_ANIM_GFX_ENEMYFEET ; 2e DEF NUM_BATTLE_ANIM_GFX EQU const_value - 1 ; battle_bg_effect struct members (see macros/ram.asm) diff --git a/data/battle_anims/object_gfx.asm b/data/battle_anims/object_gfx.asm index 910429b73..b211959b5 100644 --- a/data/battle_anims/object_gfx.asm +++ b/data/battle_anims/object_gfx.asm @@ -47,10 +47,11 @@ AnimObjGFX: anim_obj_gfx 35, AnimObjAngelsGFX anim_obj_gfx 2, AnimObjMisc2GFX anim_obj_gfx 24, AnimObjAeroblastGFX - anim_obj_gfx 10, AnimObjBeamLightGFX + anim_obj_gfx 10, AnimObjBeamSolarGFX anim_obj_gfx 9, AnimObjSmokePuffGFX anim_obj_gfx 12, AnimObjTriangleGFX anim_obj_gfx 18, AnimObjMushroomGFX + anim_obj_gfx 10, AnimObjBeamAuroraGFX anim_obj_gfx 1, NULL anim_obj_gfx 1, NULL assert_table_length NUM_BATTLE_ANIM_GFX + 1 diff --git a/data/moves/animations.asm b/data/moves/animations.asm index bfd15e636..0eafb253b 100644 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -1208,7 +1208,7 @@ BattleAnim_Solarbeam: .FireSolarBeam anim_setobjpal PAL_BATTLE_OB_YELLOW, PAL_BTLCUSTOM_LIME - anim_1gfx BATTLE_ANIM_GFX_BEAM_LIGHT + anim_1gfx BATTLE_ANIM_GFX_BEAM_SOLAR anim_bgeffect BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0 anim_bgeffect BATTLE_BG_EFFECT_ALTERNATE_HUES, $0, $1, $0 anim_call BattleAnimSub_Beam @@ -1506,8 +1506,8 @@ BattleAnim_HyperBeam: BattleAnim_AuroraBeam: anim_setobjpal PAL_BATTLE_OB_YELLOW, PAL_BTLCUSTOM_AURORA - anim_1gfx BATTLE_ANIM_GFX_BEAM_LIGHT - anim_bgeffect BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW, $0, $2, $0 + anim_1gfx BATTLE_ANIM_GFX_BEAM_AURORA + anim_bgeffect BATTLE_BG_EFFECT_CYCLE_OBPALS_GRAY_AND_YELLOW_FULL_SHIFT, $0, $2, $0 anim_bgeffect BATTLE_BG_EFFECT_ALTERNATE_HUES, $0, $2, $0 anim_wait 64 anim_call BattleAnimSub_Beam diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm index da1193f36..0e3fe799f 100644 --- a/engine/battle_anims/bg_effects.asm +++ b/engine/battle_anims/bg_effects.asm @@ -86,6 +86,7 @@ BattleBGEffects: dw BattleBGEffect_BlackHues dw BattleBGEffect_AlternateHues dw BattleBGEffect_CycleOBPalsGrayAndYellow + dw BattleBGEffect_CycleOBPalsGrayAndYellowFullShift dw BattleBGEffect_CycleMidOBPalsGrayAndYellow dw BattleBGEffect_CycleBGPals_Inverted dw BattleBGEffect_HideMon @@ -298,6 +299,19 @@ BattleBGEffect_CycleOBPalsGrayAndYellow: dc 3, 0, 0, 0 db -2 +BattleBGEffect_CycleOBPalsGrayAndYellowFullShift: + ld de, .PalsCGB + call BattleBGEffect_GetNthDMGPal + ld [wOBP0], a + ret + +.PalsCGB: + dc 3, 2, 1, 0 + dc 2, 1, 0, 3 + dc 1, 0, 3, 2 + dc 0, 3, 2, 1 + db -2 + BattleBGEffect_CycleMidOBPalsGrayAndYellow: call BattleBGEffects_CheckSGB jr nz, .sgb diff --git a/gfx/battle_anims.asm b/gfx/battle_anims.asm index 12934b2c9..7db36c528 100644 --- a/gfx/battle_anims.asm +++ b/gfx/battle_anims.asm @@ -1,44 +1,45 @@ AnimObj00GFX: -AnimObjHitGFX: INCBIN "gfx/battle_anims/hit.2bpp.lz" -AnimObjCutGFX: INCBIN "gfx/battle_anims/cut.2bpp.lz" -AnimObjFireGFX: INCBIN "gfx/battle_anims/fire.2bpp.lz" -AnimObjWaterGFX: INCBIN "gfx/battle_anims/water.2bpp.lz" -AnimObjLightningGFX: INCBIN "gfx/battle_anims/lightning.2bpp.lz" -AnimObjSmokeGFX: INCBIN "gfx/battle_anims/smoke.2bpp.lz" -AnimObjExplosionGFX: INCBIN "gfx/battle_anims/explosion.2bpp.lz" -AnimObjIceGFX: INCBIN "gfx/battle_anims/ice.2bpp.lz" -AnimObjRocksGFX: INCBIN "gfx/battle_anims/rocks.2bpp.lz" -AnimObjPoisonGFX: INCBIN "gfx/battle_anims/poison.2bpp.lz" -AnimObjPlantGFX: INCBIN "gfx/battle_anims/plant.2bpp.lz" -AnimObjPokeBallGFX: INCBIN "gfx/battle_anims/pokeball.2bpp.lz" -AnimObjBubbleGFX: INCBIN "gfx/battle_anims/bubble.2bpp.lz" -AnimObjNoiseGFX: INCBIN "gfx/battle_anims/noise.2bpp.lz" -AnimObjReflectGFX: INCBIN "gfx/battle_anims/reflect.2bpp.lz" -AnimObjPowderGFX: INCBIN "gfx/battle_anims/powder.2bpp.lz" -AnimObjBeamGFX: INCBIN "gfx/battle_anims/beam.2bpp.lz" -AnimObjSpeedGFX: INCBIN "gfx/battle_anims/speed.2bpp.lz" -AnimObjChargeGFX: INCBIN "gfx/battle_anims/charge.2bpp.lz" -AnimObjWindGFX: INCBIN "gfx/battle_anims/wind.2bpp.lz" -AnimObjWhipGFX: INCBIN "gfx/battle_anims/whip.2bpp.lz" -AnimObjRopeGFX: INCBIN "gfx/battle_anims/rope.2bpp.lz" -AnimObjEggGFX: INCBIN "gfx/battle_anims/egg.2bpp.lz" -AnimObjPsychicGFX: INCBIN "gfx/battle_anims/psychic.2bpp.lz" -AnimObjSandGFX: INCBIN "gfx/battle_anims/sand.2bpp.lz" -AnimObjWebGFX: INCBIN "gfx/battle_anims/web.2bpp.lz" -AnimObjHazeGFX: INCBIN "gfx/battle_anims/haze.2bpp.lz" -AnimObjHornGFX: INCBIN "gfx/battle_anims/horn.2bpp.lz" -AnimObjFlowerGFX: INCBIN "gfx/battle_anims/flower.2bpp.lz" -AnimObjMiscGFX: INCBIN "gfx/battle_anims/misc.2bpp.lz" -AnimObjSkyAttackGFX: INCBIN "gfx/battle_anims/skyattack.2bpp.lz" -AnimObjGlobeGFX: INCBIN "gfx/battle_anims/globe.2bpp.lz" -AnimObjShapesGFX: INCBIN "gfx/battle_anims/shapes.2bpp.lz" -AnimObjStatusGFX: INCBIN "gfx/battle_anims/status.2bpp.lz" -AnimObjObjectsGFX: INCBIN "gfx/battle_anims/objects.2bpp.lz" -AnimObjShineGFX: INCBIN "gfx/battle_anims/shine.2bpp.lz" -AnimObjAngelsGFX: INCBIN "gfx/battle_anims/angels.2bpp.lz" -AnimObjMisc2GFX: INCBIN "gfx/battle_anims/misc2.2bpp.lz" -AnimObjAeroblastGFX: INCBIN "gfx/battle_anims/aeroblast.2bpp.lz" -AnimObjBeamLightGFX: INCBIN "gfx/battle_anims/beamlight.2bpp.lz" -AnimObjSmokePuffGFX: INCBIN "gfx/battle_anims/smokepuff.2bpp.lz" -AnimObjTriangleGFX: INCBIN "gfx/battle_anims/triangle.2bpp.lz" -AnimObjMushroomGFX: INCBIN "gfx/battle_anims/mushroom.2bpp.lz" +AnimObjHitGFX: INCBIN "gfx/battle_anims/hit.2bpp.lz" +AnimObjCutGFX: INCBIN "gfx/battle_anims/cut.2bpp.lz" +AnimObjFireGFX: INCBIN "gfx/battle_anims/fire.2bpp.lz" +AnimObjWaterGFX: INCBIN "gfx/battle_anims/water.2bpp.lz" +AnimObjLightningGFX: INCBIN "gfx/battle_anims/lightning.2bpp.lz" +AnimObjSmokeGFX: INCBIN "gfx/battle_anims/smoke.2bpp.lz" +AnimObjExplosionGFX: INCBIN "gfx/battle_anims/explosion.2bpp.lz" +AnimObjIceGFX: INCBIN "gfx/battle_anims/ice.2bpp.lz" +AnimObjRocksGFX: INCBIN "gfx/battle_anims/rocks.2bpp.lz" +AnimObjPoisonGFX: INCBIN "gfx/battle_anims/poison.2bpp.lz" +AnimObjPlantGFX: INCBIN "gfx/battle_anims/plant.2bpp.lz" +AnimObjPokeBallGFX: INCBIN "gfx/battle_anims/pokeball.2bpp.lz" +AnimObjBubbleGFX: INCBIN "gfx/battle_anims/bubble.2bpp.lz" +AnimObjNoiseGFX: INCBIN "gfx/battle_anims/noise.2bpp.lz" +AnimObjReflectGFX: INCBIN "gfx/battle_anims/reflect.2bpp.lz" +AnimObjPowderGFX: INCBIN "gfx/battle_anims/powder.2bpp.lz" +AnimObjBeamGFX: INCBIN "gfx/battle_anims/beam.2bpp.lz" +AnimObjSpeedGFX: INCBIN "gfx/battle_anims/speed.2bpp.lz" +AnimObjChargeGFX: INCBIN "gfx/battle_anims/charge.2bpp.lz" +AnimObjWindGFX: INCBIN "gfx/battle_anims/wind.2bpp.lz" +AnimObjWhipGFX: INCBIN "gfx/battle_anims/whip.2bpp.lz" +AnimObjRopeGFX: INCBIN "gfx/battle_anims/rope.2bpp.lz" +AnimObjEggGFX: INCBIN "gfx/battle_anims/egg.2bpp.lz" +AnimObjPsychicGFX: INCBIN "gfx/battle_anims/psychic.2bpp.lz" +AnimObjSandGFX: INCBIN "gfx/battle_anims/sand.2bpp.lz" +AnimObjWebGFX: INCBIN "gfx/battle_anims/web.2bpp.lz" +AnimObjHazeGFX: INCBIN "gfx/battle_anims/haze.2bpp.lz" +AnimObjHornGFX: INCBIN "gfx/battle_anims/horn.2bpp.lz" +AnimObjFlowerGFX: INCBIN "gfx/battle_anims/flower.2bpp.lz" +AnimObjMiscGFX: INCBIN "gfx/battle_anims/misc.2bpp.lz" +AnimObjSkyAttackGFX: INCBIN "gfx/battle_anims/skyattack.2bpp.lz" +AnimObjGlobeGFX: INCBIN "gfx/battle_anims/globe.2bpp.lz" +AnimObjShapesGFX: INCBIN "gfx/battle_anims/shapes.2bpp.lz" +AnimObjStatusGFX: INCBIN "gfx/battle_anims/status.2bpp.lz" +AnimObjObjectsGFX: INCBIN "gfx/battle_anims/objects.2bpp.lz" +AnimObjShineGFX: INCBIN "gfx/battle_anims/shine.2bpp.lz" +AnimObjAngelsGFX: INCBIN "gfx/battle_anims/angels.2bpp.lz" +AnimObjMisc2GFX: INCBIN "gfx/battle_anims/misc2.2bpp.lz" +AnimObjAeroblastGFX: INCBIN "gfx/battle_anims/aeroblast.2bpp.lz" +AnimObjBeamSolarGFX: INCBIN "gfx/battle_anims/beamsolar.2bpp.lz" +AnimObjSmokePuffGFX: INCBIN "gfx/battle_anims/smokepuff.2bpp.lz" +AnimObjTriangleGFX: INCBIN "gfx/battle_anims/triangle.2bpp.lz" +AnimObjMushroomGFX: INCBIN "gfx/battle_anims/mushroom.2bpp.lz" +AnimObjBeamAuroraGFX: INCBIN "gfx/battle_anims/beamaurora.2bpp.lz" diff --git a/gfx/battle_anims/beamaurora.png b/gfx/battle_anims/beamaurora.png new file mode 100644 index 000000000..032bd12fa Binary files /dev/null and b/gfx/battle_anims/beamaurora.png differ diff --git a/gfx/battle_anims/beamlight.png b/gfx/battle_anims/beamsolar.png similarity index 100% rename from gfx/battle_anims/beamlight.png rename to gfx/battle_anims/beamsolar.png diff --git a/gfx/battle_anims/custom.pal b/gfx/battle_anims/custom.pal index 4a5536724..dee8a79da 100644 --- a/gfx/battle_anims/custom.pal +++ b/gfx/battle_anims/custom.pal @@ -42,10 +42,10 @@ INCLUDE "gfx/battle_anims/battle_anims.pal" RGB 03, 09, 26 RGB 00, 00, 00 ; aurora - RGB 28, 22, 31 - RGB 31, 31, 07 - RGB 13, 27, 31 - RGB 31, 20, 24 + RGB 31, 28, 16 + RGB 15, 31, 20 + RGB 15, 24, 31 + RGB 31, 15, 26 ; spore RGB 31, 12 ,10 RGB 05, 27, 06