Skip to content

Commit 02ef333

Browse files
authored
Implements a rand inf for Ruto's letter to apply to logic to track it separate from the underwater item check. (#5405)
1 parent 5ae8ce4 commit 02ef333

File tree

3 files changed

+7
-3
lines changed

3 files changed

+7
-3
lines changed

soh/soh/Enhancements/randomizer/logic.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,6 @@ bool Logic::HasItem(RandomizerGet itemName) {
121121
case RG_STONE_OF_AGONY:
122122
case RG_GERUDO_MEMBERSHIP_CARD:
123123
return CheckQuestItem(RandoGetToQuestItem.at(itemName));
124-
case RG_RUTOS_LETTER:
125-
return CheckEventChkInf(EVENTCHKINF_OBTAINED_RUTOS_LETTER);
126124
case RG_DOUBLE_DEFENSE:
127125
return GetSaveContext()->isDoubleDefenseAcquired;
128126
case RG_FISHING_POLE:
@@ -171,6 +169,7 @@ bool Logic::HasItem(RandomizerGet itemName) {
171169
case RG_BACK_TOWER_KEY:
172170
case RG_HYLIA_LAB_KEY:
173171
case RG_FISHING_HOLE_KEY:
172+
case RG_RUTOS_LETTER:
174173
return CheckRandoInf(RandoGetToRandInf.at(itemName));
175174
// Boss Keys
176175
case RG_EPONA:
@@ -1455,6 +1454,7 @@ std::map<RandomizerGet, uint32_t> Logic::RandoGetToEquipFlag = {
14551454
std::map<RandomizerGet, uint32_t> Logic::RandoGetToRandInf = {
14561455
{ RG_ZELDAS_LETTER, RAND_INF_ZELDAS_LETTER },
14571456
{ RG_WEIRD_EGG, RAND_INF_WEIRD_EGG },
1457+
{ RG_RUTOS_LETTER, RAND_INF_OBTAINED_RUTOS_LETTER },
14581458
{ RG_GOHMA_SOUL, RAND_INF_GOHMA_SOUL },
14591459
{ RG_KING_DODONGO_SOUL, RAND_INF_KING_DODONGO_SOUL },
14601460
{ RG_BARINADE_SOUL, RAND_INF_BARINADE_SOUL },
@@ -1819,7 +1819,7 @@ void Logic::ApplyItemEffect(Item& item, bool state) {
18191819
mSaveContext->inventory.items[slot] = itemId;
18201820
} break;
18211821
case RG_RUTOS_LETTER:
1822-
SetEventChkInf(EVENTCHKINF_OBTAINED_RUTOS_LETTER, state);
1822+
SetRandoInf(RAND_INF_OBTAINED_RUTOS_LETTER, state);
18231823
break;
18241824
case RG_GOHMA_SOUL:
18251825
case RG_KING_DODONGO_SOUL:

soh/soh/Enhancements/randomizer/randomizer_inf.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1952,6 +1952,7 @@ typedef enum {
19521952
RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_7,
19531953
RAND_INF_DEKU_TREE_QUEEN_GOHMA_GRASS_8,
19541954
// End Grass
1955+
RAND_INF_OBTAINED_RUTOS_LETTER,
19551956
// If you add anything to this list, you need to update the size of randomizerInf in z64save.h to be
19561957
// ceil(RAND_INF_MAX / 16)
19571958

soh/src/code/z_parameter.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2411,6 +2411,9 @@ u8 Item_Give(PlayState* play, u8 item) {
24112411
}
24122412
}
24132413
} else {
2414+
if (item == ITEM_LETTER_RUTO) {
2415+
Flags_SetRandomizerInf(RAND_INF_OBTAINED_RUTOS_LETTER);
2416+
}
24142417
for (i = 0; i < 4; i++) {
24152418
if (gSaveContext.inventory.items[temp + i] == ITEM_NONE) {
24162419
gSaveContext.inventory.items[temp + i] = item;

0 commit comments

Comments
 (0)