diff options
| author | briaguya <70942617+briaguya-ai@users.noreply.github.com> | 2023-03-06 23:39:08 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-03-06 23:39:08 -0500 |
| commit | eb28d114cd1dc4418507f0ee75fa3861979b4d7f (patch) | |
| tree | be68d24649e20cd82984db81421864d5b2ed9bb8 | |
| parent | dbcc6b4818c9c23791effd2787fa5b180a8d7542 (diff) | |
| parent | 5d323439193f650b2c9b033fe4769706eb032ec8 (diff) | |
khan -> dev
| -rw-r--r-- | soh/src/code/z_play.c | 2 | ||||
| -rw-r--r-- | soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c | 8 | ||||
| -rw-r--r-- | soh/src/overlays/actors/ovl_player_actor/z_player.c | 3 |
3 files changed, 10 insertions, 3 deletions
diff --git a/soh/src/code/z_play.c b/soh/src/code/z_play.c index 981f5b975..418eff501 100644 --- a/soh/src/code/z_play.c +++ b/soh/src/code/z_play.c @@ -874,7 +874,7 @@ void Play_Update(PlayState* play) { // Also don't save when you first load a file to prevent consumables like magic from being lost // Also don't save if there's a pending shop sale to prevent getting the item for a discount! if ((CVarGetInteger("gAutosave", 0) >= 1) && (CVarGetInteger("gAutosave", 0) <= 3) && - (gSaveContext.cutsceneIndex == 0) && (play->gameplayFrames > 60) && (gSaveContext.pendingSale == ITEM_NONE) && + (gSaveContext.cutsceneIndex < 0xFFF0) && (play->gameplayFrames > 60) && (gSaveContext.pendingSale == ITEM_NONE) && (play->sceneNum != SCENE_YOUSEI_IZUMI_TATE) && (play->sceneNum != SCENE_KAKUSIANA) && (play->sceneNum != SCENE_KENJYANOMA)) { Play_PerformSave(play); } diff --git a/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c index 1d9ea6608..1e55d073b 100644 --- a/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c +++ b/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c @@ -13,6 +13,7 @@ #include "objects/object_mastergolon/object_mastergolon.h" #include "objects/object_masterzoora/object_masterzoora.h" #include "objects/object_masterkokirihead/object_masterkokirihead.h" +#include "soh/Enhancements/randomizer/randomizer_entrance.h" #define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3 | ACTOR_FLAG_4) @@ -934,7 +935,12 @@ void EnOssan_State_StartConversation(EnOssan* this, PlayState* play, Player* pla EnOssan_TryPaybackMask(this, play); return; case OSSAN_HAPPY_STATE_ANGRY: - play->nextEntranceIndex = 0x1D1; + // In ER, handle happy mask throwing link out with not enough rupees + if (gSaveContext.n64ddFlag && Randomizer_GetSettingValue(RSK_SHUFFLE_ENTRANCES)) { + play->nextEntranceIndex = Entrance_OverrideNextIndex(0x1D1); + } else { + play->nextEntranceIndex = 0x1D1; + } play->sceneLoadFlag = 0x14; play->fadeTransition = 0x2E; return; diff --git a/soh/src/overlays/actors/ovl_player_actor/z_player.c b/soh/src/overlays/actors/ovl_player_actor/z_player.c index cd9d50e00..8196058f1 100644 --- a/soh/src/overlays/actors/ovl_player_actor/z_player.c +++ b/soh/src/overlays/actors/ovl_player_actor/z_player.c @@ -12604,7 +12604,8 @@ s32 func_8084DFF4(PlayState* play, Player* this) { } this->unk_84F = 1; equipItem = giEntry.itemId; - equipNow = CVarGetInteger("gAskToEquip", 0) && equipItem >= ITEM_SWORD_KOKIRI && equipItem <= ITEM_TUNIC_ZORA && + equipNow = CVarGetInteger("gAskToEquip", 0) && giEntry.modIndex == MOD_NONE && + equipItem >= ITEM_SWORD_KOKIRI && equipItem <= ITEM_TUNIC_ZORA && ((gItemAgeReqs[equipItem] == 9 || gItemAgeReqs[equipItem] == gSaveContext.linkAge) || CVarGetInteger("gTimelessEquipment", 0)); |
