diff --git a/src/event_object_movement.c b/src/event_object_movement.c index f8dd62541036..2f9d38469120 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -2399,9 +2399,10 @@ void UpdateLightSprite(struct Sprite *sprite) { if (GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum) == OBJ_EVENT_PAL_TAG_LIGHT_2) LoadSpritePaletteInSlot(&sObjectEventSpritePalettes[FindObjectEventPaletteIndexByTag(OBJ_EVENT_PAL_TAG_LIGHT)], sprite->oam.paletteNum); } else if ((sprite->invisible = gTimeUpdateCounter & 1)) { - Weather_SetBlendCoeffs(12, 12); - if (GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum) == OBJ_EVENT_PAL_TAG_LIGHT) - LoadSpritePaletteInSlot(&sObjectEventSpritePalettes[FindObjectEventPaletteIndexByTag(OBJ_EVENT_PAL_TAG_LIGHT_2)], sprite->oam.paletteNum); + Weather_SetBlendCoeffs(7, 12); // As long as the second coefficient stays 12, shadows will not change + sprite->invisible = FALSE; + if (GetSpritePaletteTagByPaletteNum(sprite->oam.paletteNum) == OBJ_EVENT_PAL_TAG_LIGHT_2) + LoadSpritePaletteInSlot(&sObjectEventSpritePalettes[FindObjectEventPaletteIndexByTag(OBJ_EVENT_PAL_TAG_LIGHT)], sprite->oam.paletteNum); } break; case 1 ... 2: