Made Deoxys rock palette dynamic.

This commit is contained in:
Ariel A 2023-10-12 00:34:38 -04:00
parent 9c77aa3c66
commit 94a2e04fc6

View file

@ -3260,7 +3260,6 @@ void ScrollableMultichoice_ClosePersistentMenu(void)
#undef tTaskId
#define DEOXYS_ROCK_LEVELS 11
#define ROCK_PAL_ID 10
void DoDeoxysRockInteraction(void)
{
@ -3337,11 +3336,13 @@ static void Task_DeoxysRockInteraction(u8 taskId)
}
}
// duplicate of event_object_movement
#define OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE 0x111F
static void ChangeDeoxysRockLevel(u8 rockLevel)
{
u8 objectEventId;
LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(ROCK_PAL_ID), PLTT_SIZEOF(4));
TryGetObjectEventIdByLocalIdAndMap(LOCALID_BIRTH_ISLAND_EXTERIOR_ROCK, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectEventId);
u8 paletteNum = IndexOfSpritePaletteTag(OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE);
LoadPalette(&sDeoxysRockPalettes[rockLevel], OBJ_PLTT_ID(paletteNum), PLTT_SIZEOF(4));
if (rockLevel == 0)
PlaySE(SE_M_CONFUSE_RAY); // Failure sound
@ -3387,10 +3388,13 @@ void IncrementBirthIslandRockStepCount(void)
}
}
// called before fade-in
void SetDeoxysRockPalette(void)
{
LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(ROCK_PAL_ID), PLTT_SIZEOF(4));
BlendPalettes(1 << (ROCK_PAL_ID + 16), 16, 0);
u32 paletteNum = IndexOfSpritePaletteTag(OBJ_EVENT_PAL_TAG_BIRTH_ISLAND_STONE);
LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], OBJ_PLTT_ID(paletteNum), PLTT_SIZEOF(4));
// Set faded to all black, weather blending handled during fade-in
CpuFill16(0, &gPlttBufferFaded[OBJ_PLTT_ID(paletteNum)], 32);
}
void SetPCBoxToSendMon(u8 boxId)