mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-04-28 13:17:58 +03:00
Mixed pools now properly disables itself when hidden. (#5341)
* mixed pools now sets itself off when hidden * the clanging never ends
This commit is contained in:
parent
88154d78c8
commit
d40fa00b9e
1 changed files with 37 additions and 7 deletions
|
@ -2014,16 +2014,16 @@ void Settings::UpdateOptionProperties() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int dungeonShuffle =
|
bool dungeonShuffle =
|
||||||
CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleDungeonsEntrances"), RO_DUNGEON_ENTRANCE_SHUFFLE_OFF);
|
CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleDungeonsEntrances"), RO_DUNGEON_ENTRANCE_SHUFFLE_OFF);
|
||||||
int bossShuffle =
|
bool bossShuffle =
|
||||||
CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleBossEntrances"), RO_BOSS_ROOM_ENTRANCE_SHUFFLE_OFF);
|
CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleBossEntrances"), RO_BOSS_ROOM_ENTRANCE_SHUFFLE_OFF);
|
||||||
int overworldShuffle = CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleOverworldEntrances"), RO_GENERIC_OFF);
|
bool overworldShuffle = CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleOverworldEntrances"), RO_GENERIC_OFF);
|
||||||
int interiorShuffle = CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleInteriorsEntrances"), RO_GENERIC_OFF);
|
bool interiorShuffle = CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleInteriorsEntrances"), RO_GENERIC_OFF);
|
||||||
int grottoShuffle = CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleGrottosEntrances"), RO_GENERIC_OFF);
|
bool grottoShuffle = CVarGetInteger(CVAR_RANDOMIZER_SETTING("ShuffleGrottosEntrances"), RO_GENERIC_OFF);
|
||||||
|
|
||||||
// Hide Mixed Entrances option if no applicable entrance shuffles are visible
|
// Hide Mixed Entrances option if 1 or no applicable entrance shuffles are visible
|
||||||
if (!dungeonShuffle && !bossShuffle && !overworldShuffle && !interiorShuffle && !grottoShuffle) {
|
if (dungeonShuffle + bossShuffle + overworldShuffle + interiorShuffle + grottoShuffle <= 1) {
|
||||||
mOptions[RSK_MIXED_ENTRANCE_POOLS].Hide();
|
mOptions[RSK_MIXED_ENTRANCE_POOLS].Hide();
|
||||||
} else {
|
} else {
|
||||||
mOptions[RSK_MIXED_ENTRANCE_POOLS].Unhide();
|
mOptions[RSK_MIXED_ENTRANCE_POOLS].Unhide();
|
||||||
|
@ -2782,6 +2782,36 @@ void Context::FinalizeSettings(const std::set<RandomizerCheck>& excludedLocation
|
||||||
trials[i]->SetAsRequired();
|
trials[i]->SetAsRequired();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool dungeonShuffle = !mOptions[RSK_SHUFFLE_DUNGEON_ENTRANCES].Is(RO_GENERIC_OFF);
|
||||||
|
bool bossShuffle = !mOptions[RSK_SHUFFLE_BOSS_ENTRANCES].Is(RO_GENERIC_OFF);
|
||||||
|
bool overworldShuffle = !mOptions[RSK_SHUFFLE_OVERWORLD_ENTRANCES].Is(RO_GENERIC_OFF);
|
||||||
|
bool interiorShuffle = !mOptions[RSK_SHUFFLE_INTERIOR_ENTRANCES].Is(RO_INTERIOR_ENTRANCE_SHUFFLE_OFF);
|
||||||
|
bool grottoShuffle = !mOptions[RSK_SHUFFLE_GROTTO_ENTRANCES].Is(RO_GENERIC_OFF);
|
||||||
|
|
||||||
|
if (dungeonShuffle + bossShuffle + overworldShuffle + interiorShuffle + grottoShuffle <= 1) {
|
||||||
|
mOptions[RSK_MIXED_ENTRANCE_POOLS].Set(RO_GENERIC_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mOptions[RSK_MIXED_ENTRANCE_POOLS] || !dungeonShuffle) {
|
||||||
|
mOptions[RSK_MIX_DUNGEON_ENTRANCES].Set(RO_GENERIC_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mOptions[RSK_MIXED_ENTRANCE_POOLS] || !bossShuffle) {
|
||||||
|
mOptions[RSK_MIX_BOSS_ENTRANCES].Set(RO_GENERIC_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mOptions[RSK_MIXED_ENTRANCE_POOLS] || !overworldShuffle) {
|
||||||
|
mOptions[RSK_MIX_OVERWORLD_ENTRANCES].Set(RO_GENERIC_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mOptions[RSK_MIXED_ENTRANCE_POOLS] || !interiorShuffle) {
|
||||||
|
mOptions[RSK_MIX_INTERIOR_ENTRANCES].Set(RO_GENERIC_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!mOptions[RSK_MIXED_ENTRANCE_POOLS] || !grottoShuffle) {
|
||||||
|
mOptions[RSK_MIX_GROTTO_ENTRANCES].Set(RO_GENERIC_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
if (mOptions[RSK_FOREST].Is(RO_CLOSED_FOREST_ON) &&
|
if (mOptions[RSK_FOREST].Is(RO_CLOSED_FOREST_ON) &&
|
||||||
(mOptions[RSK_SHUFFLE_INTERIOR_ENTRANCES].Is(RO_INTERIOR_ENTRANCE_SHUFFLE_ALL) ||
|
(mOptions[RSK_SHUFFLE_INTERIOR_ENTRANCES].Is(RO_INTERIOR_ENTRANCE_SHUFFLE_ALL) ||
|
||||||
mOptions[RSK_SHUFFLE_OVERWORLD_ENTRANCES] || mOptions[RSK_SHUFFLE_OVERWORLD_SPAWNS] ||
|
mOptions[RSK_SHUFFLE_OVERWORLD_ENTRANCES] || mOptions[RSK_SHUFFLE_OVERWORLD_SPAWNS] ||
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue