Updated CVar to reflect CVar rework values.
Added `IsCheckShuffled` as preliminary function for checking *only* if a check is shuffled, not necessarily if it is just visible on the tracker. This accounts for the difference between tokensanity and "Always Show GS On Tracker", where you don't want to obfuscate the latter.
This commit is contained in:
parent
710a1535ad
commit
751f02fcd1
|
@ -5404,7 +5404,7 @@ CustomMessage Randomizer::GetMerchantMessage(RandomizerInf randomizerInf, u16 te
|
|||
RandomizerCheck rc = GetCheckFromRandomizerInf(randomizerInf);
|
||||
RandomizerGet shopItemGet = this->itemLocations[rc].rgID;
|
||||
std::array<std::string, LANGUAGE_MAX> shopItemName;
|
||||
if (mysterious || CVarGetInteger("gMysteriousShuffle", 0)) {
|
||||
if (mysterious || CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0)) {
|
||||
if (randomizerInf >= RAND_INF_SHOP_ITEMS_KF_SHOP_ITEM_1 && randomizerInf <= RAND_INF_SHOP_ITEMS_MARKET_BOMBCHU_SHOP_ITEM_8) {
|
||||
shopItemName = {
|
||||
"Mysterious Item",
|
||||
|
|
|
@ -1160,7 +1160,7 @@ void LoadSettings() {
|
|||
}
|
||||
}
|
||||
|
||||
bool IsVisibleInCheckTracker(RandomizerCheckObject rcObj) {
|
||||
bool IsCheckShuffled(RandomizerCheckObject rcObj) {
|
||||
if (IS_RANDO && OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_LOGIC_RULES) != RO_LOGIC_VANILLA) {
|
||||
return
|
||||
(rcObj.rcArea != RCAREA_INVALID) && // don't show Invalid locations
|
||||
|
@ -1173,7 +1173,7 @@ bool IsVisibleInCheckTracker(RandomizerCheckObject rcObj) {
|
|||
rcObj.vOrMQ == RCVORMQ_MQ && OTRGlobals::Instance->gRandomizer->masterQuestDungeons.contains(rcObj.sceneId) ||
|
||||
rcObj.vOrMQ == RCVORMQ_VANILLA && !OTRGlobals::Instance->gRandomizer->masterQuestDungeons.contains(rcObj.sceneId)
|
||||
) &&
|
||||
(rcObj.rcType != RCTYPE_SHOP || (showShops && (!hideShopRightChecks || hideShopRightChecks && rcObj.actorParams > 0x03))) &&
|
||||
(rcObj.rcType != RCTYPE_SHOP || (showShops && rcObj.actorParams > 0x03)) &&
|
||||
(rcObj.rcType != RCTYPE_SCRUB ||
|
||||
showScrubs ||
|
||||
rcObj.rc == RC_LW_DEKU_SCRUB_NEAR_BRIDGE || // The 3 scrubs that are always randomized
|
||||
|
@ -1182,7 +1182,7 @@ bool IsVisibleInCheckTracker(RandomizerCheckObject rcObj) {
|
|||
) &&
|
||||
(rcObj.rcType != RCTYPE_MERCHANT || showMerchants) &&
|
||||
(rcObj.rcType != RCTYPE_OCARINA || showOcarinas) &&
|
||||
(rcObj.rcType != RCTYPE_SKULL_TOKEN || alwaysShowGS ||
|
||||
(rcObj.rcType != RCTYPE_SKULL_TOKEN ||
|
||||
(showOverworldTokens && RandomizerCheckObjects::AreaIsOverworld(rcObj.rcArea)) ||
|
||||
(showDungeonTokens && RandomizerCheckObjects::AreaIsDungeon(rcObj.rcArea))
|
||||
) &&
|
||||
|
@ -1202,6 +1202,7 @@ bool IsVisibleInCheckTracker(RandomizerCheckObject rcObj) {
|
|||
(rcObj.rcType != RCTYPE_BOSS_KEY || showBossKeysanity) &&
|
||||
(rcObj.rcType != RCTYPE_GANON_BOSS_KEY || showGanonBossKey) &&
|
||||
(rcObj.rc != RC_KAK_100_GOLD_SKULLTULA_REWARD || show100SkullReward) &&
|
||||
(rcObj.rc != RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS) &&
|
||||
(rcObj.rcType != RCTYPE_GF_KEY && rcObj.rc != RC_GF_GERUDO_MEMBERSHIP_CARD ||
|
||||
(showGerudoCard && rcObj.rc == RC_GF_GERUDO_MEMBERSHIP_CARD) ||
|
||||
(fortressNormal && showGerudoFortressKeys && rcObj.rcType == RCTYPE_GF_KEY) ||
|
||||
|
@ -1217,6 +1218,10 @@ bool IsVisibleInCheckTracker(RandomizerCheckObject rcObj) {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool IsVisibleInCheckTracker(RandomizerCheckObject rcObj) {
|
||||
return IsCheckShuffled(rcObj) || (rcObj.rcType == RCTYPE_SKULL_TOKEN && alwaysShowGS) || (rcObj.rcType == RCTYPE_SHOP && (showShops && (!hideShopRightChecks)));
|
||||
}
|
||||
|
||||
void UpdateInventoryChecks() {
|
||||
//For all the areas with compasses, if you have one, spoil the area
|
||||
for (auto [scene, area] : DungeonRCAreasBySceneID) {
|
||||
|
@ -1384,7 +1389,7 @@ void DrawLocation(RandomizerCheckObject rcObj) {
|
|||
//Draw the extra info
|
||||
txt = "";
|
||||
|
||||
bool mystery = CVarGetInteger("gMysteriousShuffle", 0) && OTRGlobals::Instance->gRandomizer->merchantPrices.contains(rcObj.rc);
|
||||
bool mystery = CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && OTRGlobals::Instance->gRandomizer->merchantPrices.contains(rcObj.rc);
|
||||
|
||||
if (checkData.hintItem != 0) {
|
||||
// TODO hints
|
||||
|
|
|
@ -49,6 +49,7 @@ void DefaultCheckData(RandomizerCheck rc);
|
|||
void Teardown();
|
||||
void UpdateAllOrdering();
|
||||
bool IsVisibleInCheckTracker(RandomizerCheckObject rcObj);
|
||||
bool IsCheckShuffled(RandomizerCheckObject check);
|
||||
void InitTrackerData(bool isDebug);
|
||||
RandomizerCheckArea GetCheckArea();
|
||||
void UpdateCheck(uint32_t, RandomizerCheckTrackerData);
|
||||
|
|
|
@ -138,7 +138,7 @@ Color_RGB8 kokiriColor = { 0x1E, 0x69, 0x1B };
|
|||
Color_RGB8 goronColor = { 0x64, 0x14, 0x00 };
|
||||
Color_RGB8 zoraColor = { 0x00, 0xEC, 0x64 };
|
||||
|
||||
static GetItemEntry GetItemMystery = { ITEM_NONE, 0, 0, 0, 0, 0, 0, 0, 0, false, ITEM_FROM_NPC, ITEM_CATEGORY_JUNK, NULL, MOD_RANDOMIZER, (CustomDrawFunc)Randomizer_DrawMysteryItem };
|
||||
extern "C" GetItemEntry GetItemMystery = { ITEM_NONE_FE, 0, 0, 0, 0, 0, 0, 0, 0, false, ITEM_FROM_NPC, ITEM_CATEGORY_JUNK, NULL, MOD_RANDOMIZER, (CustomDrawFunc)Randomizer_DrawMysteryItem };
|
||||
|
||||
float previousImGuiScale;
|
||||
|
||||
|
@ -2426,6 +2426,10 @@ extern "C" bool Randomizer_IsVisibleInCheckTracker(RandomizerCheck check) {
|
|||
return CheckTracker::IsVisibleInCheckTracker(RandomizerCheckObjects::GetAllRCObjects().find(check)->second);
|
||||
}
|
||||
|
||||
extern "C" bool Randomizer_IsCheckShuffled(RandomizerCheck randomizerCheck) {
|
||||
return CheckTracker::IsCheckShuffled(RandomizerCheckObjects::GetAllRCObjects().find(randomizerCheck)->second);
|
||||
}
|
||||
|
||||
CustomMessage Randomizer_GetCustomGetItemMessage(Player* player) {
|
||||
s16 giid;
|
||||
if (player->getItemEntry.objectId != OBJECT_INVALID) {
|
||||
|
|
|
@ -65,9 +65,8 @@ private:
|
|||
uint32_t IsGameMasterQuest();
|
||||
#endif
|
||||
|
||||
static GetItemEntry GetItemMystery;
|
||||
|
||||
#ifndef __cplusplus
|
||||
GetItemEntry GetItemMystery;
|
||||
void InitOTR(void);
|
||||
void DeinitOTR(void);
|
||||
void VanillaItemTable_Init();
|
||||
|
@ -168,6 +167,7 @@ GetItemEntry Randomizer_GetItemFromActorWithoutObtainabilityCheck(s16 actorId, s
|
|||
GetItemEntry Randomizer_GetItemFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId);
|
||||
GetItemEntry Randomizer_GetItemFromKnownCheckWithoutObtainabilityCheck(RandomizerCheck randomizerCheck, GetItemID ogId);
|
||||
bool Randomizer_IsVisibleInCheckTracker(RandomizerCheck check);
|
||||
bool Randomizer_IsCheckShuffled(RandomizerCheck check);
|
||||
ItemObtainability Randomizer_GetItemObtainabilityFromRandomizerCheck(RandomizerCheck randomizerCheck);
|
||||
int CustomMessage_RetrieveIfExists(PlayState* play);
|
||||
void Overlay_DisplayText(float duration, const char* text);
|
||||
|
|
|
@ -1971,7 +1971,7 @@ void DrawRandomizerMenu() {
|
|||
"Play unique fanfares when obtaining quest items "
|
||||
"(medallions/stones/songs). Note that these fanfares are longer than usual."
|
||||
);
|
||||
UIWidgets::PaddedEnhancementCheckbox("Mysterious Shuffled Items", "gMysteriousShuffle", true, false);
|
||||
UIWidgets::PaddedEnhancementCheckbox("Mysterious Shuffled Items", "gRandoEnhancements.MysteriousShuffle", true, false);
|
||||
UIWidgets::Tooltip(
|
||||
"Displays a \"Mystery Item\" model in place of any freestanding/GS/shop items that were shuffled, "
|
||||
"and replaces item names for them and scrubs and merchants, regardless of hint settings, "
|
||||
|
|
|
@ -1367,7 +1367,8 @@ void EnItem00_DrawCollectible(EnItem00* this, PlayState* play) {
|
|||
Randomizer_GetCheckFromActor(this->actor.id, play->sceneNum, this->ogParams);
|
||||
|
||||
if (randoCheck != RC_UNKNOWN_CHECK) {
|
||||
this->randoGiEntry = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
|
||||
this->randoGiEntry = CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(randoCheck)
|
||||
? GetItemMystery : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
|
||||
this->randoGiEntry.getItemFrom = ITEM_FROM_FREESTANDING;
|
||||
}
|
||||
|
||||
|
@ -1460,7 +1461,8 @@ void EnItem00_DrawHeartPiece(EnItem00* this, PlayState* play) {
|
|||
Randomizer_GetCheckFromActor(this->actor.id, play->sceneNum, this->ogParams);
|
||||
|
||||
if (randoCheck != RC_UNKNOWN_CHECK) {
|
||||
this->randoGiEntry = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
|
||||
this->randoGiEntry = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(randoCheck))
|
||||
? GetItemMystery : Randomizer_GetItemFromKnownCheck(randoCheck, GI_NONE);
|
||||
this->randoGiEntry.getItemFrom = ITEM_FROM_FREESTANDING;
|
||||
}
|
||||
|
||||
|
|
|
@ -2088,7 +2088,8 @@ void DemoEffect_DrawGetItem(Actor* thisx, PlayState* play) {
|
|||
return;
|
||||
}
|
||||
if (IS_RANDO && play->sceneNum == SCENE_JABU_JABU) {
|
||||
GetItemEntry getItemEntry = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_BARINADE, RG_ZORA_SAPPHIRE);
|
||||
GetItemEntry getItemEntry = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_BARINADE))
|
||||
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_BARINADE, RG_ZORA_SAPPHIRE);
|
||||
this->getItem.drawId = getItemEntry.gid;
|
||||
func_8002EBCC(thisx, play, 0);
|
||||
func_8002ED80(thisx, play, 0);
|
||||
|
|
|
@ -515,14 +515,17 @@ void EnExItem_DrawItems(EnExItem* this, PlayState* play) {
|
|||
switch (this->type) {
|
||||
case EXITEM_BOMB_BAG_BOWLING:
|
||||
case EXITEM_BOMB_BAG_COUNTER:
|
||||
randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_FIRST_PRIZE, GI_BOMB_BAG_20);
|
||||
randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_MARKET_BOMBCHU_BOWLING_FIRST_PRIZE))
|
||||
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_FIRST_PRIZE, GI_BOMB_BAG_20);
|
||||
break;
|
||||
case EXITEM_BOMBCHUS_BOWLING:
|
||||
case EXITEM_BOMBCHUS_COUNTER:
|
||||
randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS, GI_BOMBCHUS_10);
|
||||
randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS))
|
||||
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_BOMBCHUS, GI_BOMBCHUS_10);
|
||||
break;
|
||||
case EXITEM_BULLET_BAG:
|
||||
randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LW_TARGET_IN_WOODS, GI_BULLET_BAG_50);
|
||||
randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LW_TARGET_IN_WOODS))
|
||||
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LW_TARGET_IN_WOODS, GI_BULLET_BAG_50);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -540,8 +543,8 @@ void EnExItem_DrawHeartPiece(EnExItem* this, PlayState* play) {
|
|||
func_8002ED80(&this->actor, play, 0);
|
||||
|
||||
if (IS_RANDO) {
|
||||
GetItemEntry randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery :
|
||||
Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, GI_HEART_PIECE);
|
||||
GetItemEntry randoGetItem = (CVarGetInteger("gEnhancement.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE))
|
||||
? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_MARKET_BOMBCHU_BOWLING_SECOND_PRIZE, GI_HEART_PIECE);
|
||||
EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem);
|
||||
GetItemEntry_Draw(play, randoGetItem);
|
||||
} else {
|
||||
|
|
|
@ -1287,7 +1287,7 @@ void EnGirlA_InitializeItemAction(EnGirlA* this, PlayState* play) {
|
|||
this->giDrawId = getItemEntry.gid;
|
||||
|
||||
// Correct the rotation for spiritual stones, but only if mysterious shuffle isn't on, else it's obvious what's there in shops
|
||||
if (!CVarGetInteger("gMysteriousShuffle", 0) && (getItemEntry.getItemId >= RG_KOKIRI_EMERALD && getItemEntry.getItemId <= RG_ZORA_SAPPHIRE)) {
|
||||
if (!CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && (getItemEntry.getItemId >= RG_KOKIRI_EMERALD && getItemEntry.getItemId <= RG_ZORA_SAPPHIRE)) {
|
||||
this->actor.shape.rot.y = this->actor.shape.rot.y + 20000;
|
||||
}
|
||||
}
|
||||
|
@ -1332,11 +1332,11 @@ void EnGirlA_Draw(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (this->actor.params == SI_RANDOMIZED_ITEM) {
|
||||
ShopItemIdentity shopItemIdentity = Randomizer_IdentifyShopItem(play->sceneNum, this->randoSlotIndex);
|
||||
GetItemEntry getItemEntry = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery :
|
||||
GetItemEntry getItemEntry = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && this->actor.params == SI_RANDOMIZED_ITEM) ? GetItemMystery :
|
||||
Randomizer_GetItemFromKnownCheckWithoutObtainabilityCheck(shopItemIdentity.randomizerCheck, shopItemIdentity.ogItemId);
|
||||
|
||||
EnItem00_CustomItemsParticles(&this->actor, play, getItemEntry);
|
||||
GetItemEntry_Draw(play, getItemEntry, shopItemIdentity.randomizerCheck);
|
||||
GetItemEntry_Draw(play, getItemEntry);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -214,7 +214,7 @@ void EnSi_Draw(Actor* thisx, PlayState* play) {
|
|||
GetItem_Draw(play, GID_SKULL_TOKEN_2);
|
||||
} else {
|
||||
RandomizerCheck check = Randomizer_GetCheckFromActor(this->actor.id, play->sceneNum, this->actor.params);
|
||||
getItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(check, GI_SKULL_TOKEN);
|
||||
getItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(check)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(check, GI_SKULL_TOKEN);
|
||||
EnItem00_CustomItemsParticles(&this->actor, play, getItem);
|
||||
if (getItem.itemId != ITEM_SKULL_TOKEN) {
|
||||
f32 mtxScale = 1.5f;
|
||||
|
|
|
@ -100,7 +100,7 @@ void ItemBHeart_Draw(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (IS_RANDO) {
|
||||
RandomizerCheck check = Randomizer_GetCheckFromActor(this->actor.id, play->sceneNum, this->actor.params);
|
||||
GetItemEntry_Draw(play, CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(check, GI_HEART_CONTAINER_2), check);
|
||||
GetItemEntry_Draw(play, (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(check)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(check, GI_HEART_CONTAINER_2), check);
|
||||
} else {
|
||||
if (flag) {
|
||||
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
|
||||
|
|
|
@ -231,7 +231,7 @@ void ItemEtcetera_DrawThroughLens(Actor* thisx, PlayState* play) {
|
|||
|
||||
if(IS_RANDO && play->sceneNum == SCENE_TREASURE_BOX_SHOP) {
|
||||
RandomizerCheck check = RC_MAX;
|
||||
GetItemEntry randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : GetChestGameRandoGetItem(this->actor.room, this->giDrawId, play);
|
||||
GetItemEntry randoGetItem = GetChestGameRandoGetItem(this->actor.room, this->giDrawId, play); //TODO Rando: add mysterious shuffle when chest minigame keys get shuffled
|
||||
EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem);
|
||||
if (randoGetItem.itemId != ITEM_NONE) {
|
||||
GetItemEntry_Draw(play, randoGetItem);
|
||||
|
@ -249,13 +249,10 @@ void ItemEtcetera_Draw(Actor* thisx, PlayState* play) {
|
|||
|
||||
if (IS_RANDO) {
|
||||
GetItemEntry randoGetItem = (GetItemEntry)GET_ITEM_NONE;
|
||||
RandomizerCheck check = RC_MAX;
|
||||
if (type == ITEM_ETC_ARROW_FIRE) {
|
||||
check = RC_LH_SUN;
|
||||
randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LH_SUN, GI_ARROW_FIRE);
|
||||
randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LH_SUN)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LH_SUN, GI_ARROW_FIRE);
|
||||
} else if (type == ITEM_ETC_LETTER) {
|
||||
check = RC_LH_UNDERWATER_ITEM;
|
||||
randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_LETTER_RUTO);
|
||||
randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_LH_UNDERWATER_ITEM)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_LH_UNDERWATER_ITEM, GI_LETTER_RUTO);
|
||||
}
|
||||
|
||||
EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem);
|
||||
|
|
|
@ -215,7 +215,7 @@ void ItemOcarina_Draw(Actor* thisx, PlayState* play) {
|
|||
func_8002ED80(thisx, play, 0);
|
||||
|
||||
if (IS_RANDO) {
|
||||
GetItemEntry randoGetItem = CVarGetInteger("gEnhancement.MysteriousShuffle", 0) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OOT);
|
||||
GetItemEntry randoGetItem = (CVarGetInteger("gRandoEnhancements.MysteriousShuffle", 0) && Randomizer_IsCheckShuffled(RC_HF_OCARINA_OF_TIME_ITEM)) ? GetItemMystery : Randomizer_GetItemFromKnownCheck(RC_HF_OCARINA_OF_TIME_ITEM, GI_OCARINA_OOT);
|
||||
EnItem00_CustomItemsParticles(&this->actor, play, randoGetItem);
|
||||
GetItemEntry_Draw(play, randoGetItem);
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue