mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-02-23 14:22:16 -05:00
Inverts CheckContainsRandoItem to CheckContainsVanillaItem.
Addresses https://github.com/HarbourMasters/Shipwright/pull/1050#discussion_r940895135
This commit is contained in:
parent
e1084c0d6d
commit
2077636c92
@ -2137,7 +2137,7 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
|
||||
return GI_RUPEE_BLUE; //todo
|
||||
|
||||
default: {
|
||||
if (IsGetItemRandoExclusive(randoGet)) {
|
||||
if (!IsItemVanilla(randoGet)) {
|
||||
return (GetItemID)randoGet;
|
||||
}
|
||||
return ogItemId;
|
||||
@ -2145,50 +2145,66 @@ GetItemID Randomizer::GetItemFromGet(RandomizerGet randoGet, GetItemID ogItemId)
|
||||
}
|
||||
}
|
||||
|
||||
bool Randomizer::IsGetItemRandoExclusive(RandomizerGet randoGet) {
|
||||
bool Randomizer::IsItemVanilla(RandomizerGet randoGet) {
|
||||
switch (randoGet) {
|
||||
case RG_LIGHT_MEDALLION:
|
||||
case RG_FOREST_MEDALLION:
|
||||
case RG_FIRE_MEDALLION:
|
||||
case RG_WATER_MEDALLION:
|
||||
case RG_SHADOW_MEDALLION:
|
||||
case RG_SPIRIT_MEDALLION:
|
||||
case RG_KOKIRI_EMERALD:
|
||||
case RG_GORON_RUBY:
|
||||
case RG_ZORA_SAPPHIRE:
|
||||
case RG_ZELDAS_LULLABY:
|
||||
case RG_SUNS_SONG:
|
||||
case RG_EPONAS_SONG:
|
||||
case RG_SONG_OF_STORMS:
|
||||
case RG_SONG_OF_TIME:
|
||||
case RG_SARIAS_SONG:
|
||||
case RG_MINUET_OF_FOREST:
|
||||
case RG_BOLERO_OF_FIRE:
|
||||
case RG_SERENADE_OF_WATER:
|
||||
case RG_NOCTURNE_OF_SHADOW:
|
||||
case RG_REQUIEM_OF_SPIRIT:
|
||||
case RG_PRELUDE_OF_LIGHT:
|
||||
case RG_PROGRESSIVE_MAGIC_METER:
|
||||
case RG_DOUBLE_DEFENSE:
|
||||
case RG_BOTTLE_WITH_RED_POTION:
|
||||
case RG_BOTTLE_WITH_GREEN_POTION:
|
||||
case RG_BOTTLE_WITH_BLUE_POTION:
|
||||
case RG_BOTTLE_WITH_FAIRY:
|
||||
case RG_BOTTLE_WITH_FISH:
|
||||
case RG_BOTTLE_WITH_BLUE_FIRE:
|
||||
case RG_BOTTLE_WITH_BUGS:
|
||||
case RG_BOTTLE_WITH_POE:
|
||||
case RG_BOTTLE_WITH_BIG_POE:
|
||||
case RG_ICE_TRAP:
|
||||
case RG_KOKIRI_SWORD:
|
||||
case RG_GIANTS_KNIFE:
|
||||
case RG_BIGGORON_SWORD:
|
||||
case RG_DEKU_SHIELD:
|
||||
case RG_HYLIAN_SHIELD:
|
||||
case RG_MIRROR_SHIELD:
|
||||
case RG_GORON_TUNIC:
|
||||
case RG_ZORA_TUNIC:
|
||||
case RG_IRON_BOOTS:
|
||||
case RG_HOVER_BOOTS:
|
||||
case RG_BOOMERANG:
|
||||
case RG_LENS_OF_TRUTH:
|
||||
case RG_MEGATON_HAMMER:
|
||||
case RG_STONE_OF_AGONY:
|
||||
case RG_DINS_FIRE:
|
||||
case RG_FARORES_WIND:
|
||||
case RG_NAYRUS_LOVE:
|
||||
case RG_FIRE_ARROWS:
|
||||
case RG_ICE_ARROWS:
|
||||
case RG_LIGHT_ARROWS:
|
||||
case RG_GERUDO_MEMBERSHIP_CARD:
|
||||
case RG_MAGIC_BEAN:
|
||||
case RG_WEIRD_EGG:
|
||||
case RG_ZELDAS_LETTER:
|
||||
case RG_POCKET_EGG:
|
||||
case RG_COJIRO:
|
||||
case RG_ODD_MUSHROOM:
|
||||
case RG_ODD_POTION:
|
||||
case RG_POACHERS_SAW:
|
||||
case RG_BROKEN_SWORD:
|
||||
case RG_PRESCRIPTION:
|
||||
case RG_EYEBALL_FROG:
|
||||
case RG_EYEDROPS:
|
||||
case RG_CLAIM_CHECK:
|
||||
case RG_GOLD_SKULLTULA_TOKEN:
|
||||
case RG_PROGRESSIVE_HOOKSHOT:
|
||||
case RG_PROGRESSIVE_STRENGTH:
|
||||
case RG_PROGRESSIVE_BOMB_BAG:
|
||||
case RG_PROGRESSIVE_BOW:
|
||||
case RG_PROGRESSIVE_SLINGSHOT:
|
||||
case RG_PROGRESSIVE_WALLET:
|
||||
case RG_PROGRESSIVE_SCALE:
|
||||
case RG_PROGRESSIVE_NUT_UPGRADE:
|
||||
case RG_PROGRESSIVE_STICK_UPGRADE:
|
||||
case RG_PROGRESSIVE_BOMBCHUS:
|
||||
case RG_PROGRESSIVE_OCARINA:
|
||||
case RG_PROGRESSIVE_GORONSWORD:
|
||||
case RG_EMPTY_BOTTLE:
|
||||
case RG_BOTTLE_WITH_MILK:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool Randomizer::CheckContainsRandoItem(RandomizerCheck randoCheck) {
|
||||
bool Randomizer::CheckContainsVanillaItem(RandomizerCheck randoCheck) {
|
||||
RandomizerGet randoGet = this->itemLocations[randoCheck];
|
||||
return IsGetItemRandoExclusive(randoGet);
|
||||
return IsItemVanilla(randoGet);
|
||||
}
|
||||
|
||||
std::string Randomizer::GetAdultAltarText() const {
|
||||
|
@ -21,7 +21,7 @@ class Randomizer {
|
||||
void ParseRandomizerSettingsFile(const char* spoilerFileName);
|
||||
void ParseHintLocationsFile(const char* spoilerFileName);
|
||||
void ParseItemLocationsFile(const char* spoilerFileName, bool silent);
|
||||
bool IsGetItemRandoExclusive(RandomizerGet randoGet);
|
||||
bool IsItemVanilla(RandomizerGet randoGet);
|
||||
|
||||
|
||||
public:
|
||||
@ -48,7 +48,7 @@ class Randomizer {
|
||||
GetItemID GetRandomizedItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId);
|
||||
GetItemID GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum);
|
||||
static void CreateCustomMessages();
|
||||
bool CheckContainsRandoItem(RandomizerCheck randoCheck);
|
||||
bool CheckContainsVanillaItem(RandomizerCheck randoCheck);
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
@ -286,7 +286,7 @@ extern "C" void VanillaItemTable_Init() {
|
||||
GET_ITEM_NONE,
|
||||
};
|
||||
ItemTableManager::Instance->AddItemTable(MOD_NONE);
|
||||
for (uint8_t i = 0; i < ARRAY_SIZE(getItemTable); i++) {
|
||||
for (uint8_t i = 0; i < ARRAY_COUNT(getItemTable); i++) {
|
||||
getItemTable[i].modIndex = MOD_NONE;
|
||||
ItemTableManager::Instance->AddItemEntry(MOD_NONE, i, getItemTable[i]);
|
||||
}
|
||||
@ -1621,7 +1621,7 @@ extern "C" GetItemEntry ItemTable_RetrieveEntry(s16 tableID, s16 getItemID) {
|
||||
}
|
||||
|
||||
extern "C" s32 Randomizer_GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum) {
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem(OTRGlobals::Instance->gRandomizer->GetCheckFromActor(sceneNum, actorId, actorParams))) {
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem(OTRGlobals::Instance->gRandomizer->GetCheckFromActor(sceneNum, actorId, actorParams))) {
|
||||
OTRGlobals::Instance->getItemModIndex = MOD_RANDOMIZER;
|
||||
} else {
|
||||
OTRGlobals::Instance->getItemModIndex = MOD_NONE;
|
||||
@ -1631,7 +1631,7 @@ extern "C" s32 Randomizer_GetRandomizedItemId(GetItemID ogId, s16 actorId, s16 a
|
||||
|
||||
extern "C" GetItemEntry Randomizer_GetRandomizedItem(GetItemID ogId, s16 actorId, s16 actorParams, s16 sceneNum) {
|
||||
s16 getItemModIndex;
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem(
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem(
|
||||
OTRGlobals::Instance->gRandomizer->GetCheckFromActor(sceneNum, actorId, actorParams))) {
|
||||
getItemModIndex = MOD_RANDOMIZER;
|
||||
} else {
|
||||
@ -1642,7 +1642,7 @@ extern "C" GetItemEntry Randomizer_GetRandomizedItem(GetItemID ogId, s16 actorId
|
||||
}
|
||||
|
||||
extern "C" s32 Randomizer_GetItemIdFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId) {
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem(randomizerCheck)) {
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem(randomizerCheck)) {
|
||||
OTRGlobals::Instance->getItemModIndex = MOD_RANDOMIZER;
|
||||
} else {
|
||||
OTRGlobals::Instance->getItemModIndex = MOD_NONE;
|
||||
@ -1652,7 +1652,7 @@ extern "C" s32 Randomizer_GetItemIdFromKnownCheck(RandomizerCheck randomizerChec
|
||||
|
||||
extern "C" GetItemEntry Randomizer_GetItemFromKnownCheck(RandomizerCheck randomizerCheck, GetItemID ogId) {
|
||||
s16 getItemModIndex;
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsRandoItem(randomizerCheck)) {
|
||||
if (OTRGlobals::Instance->gRandomizer->CheckContainsVanillaItem(randomizerCheck)) {
|
||||
getItemModIndex = MOD_RANDOMIZER;
|
||||
} else {
|
||||
getItemModIndex = MOD_NONE;
|
||||
|
Loading…
x
Reference in New Issue
Block a user