mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-10-31 15:45:06 -04:00
Changed to be an option within fishsanity
This commit is contained in:
parent
6c239757b4
commit
6cd110b934
@ -281,15 +281,13 @@ void HintTable_Init_Exclude_Overworld() {
|
||||
});
|
||||
|
||||
// TODO: needs french translation
|
||||
hintTable[RHT_LH_HYRULE_LOACH] = HintText::Exclude(
|
||||
{
|
||||
// obscure text
|
||||
Text{ "#fishing the legend# bestows", /*french*/ "!!!", /*spanish*/ "#pescar a la leyenda# conduce a" },
|
||||
},
|
||||
{},
|
||||
// clear text
|
||||
Text{ "#fishing the hyrule loach# will give you", /*french*/ "!!!",
|
||||
/*spanish*/ "si #pescas a la Locha de Hyrule# encontrarás" });
|
||||
hintTable[RHT_LH_HYRULE_LOACH] = HintText::Exclude({
|
||||
// obscure text
|
||||
Text{"#fishing the legend# bestows", /*french*/"!!!", /*spanish*/"#pescar a la leyenda# conduce a"},
|
||||
{},
|
||||
// clear text
|
||||
Text{"#fishing the hyrule loach# will give you", /*french*/"!!!", /*spanish*/"si #pescas a la Locha de Hyrule# encontrarás"}
|
||||
});
|
||||
|
||||
|
||||
hintTable[RHT_LH_ADULT_FISHING] = HintText::Exclude({
|
||||
@ -297,14 +295,6 @@ void HintTable_Init_Exclude_Overworld() {
|
||||
Text{"#fishing in maturity# bestows", /*french*/"#pêcher dans sa maturité# promet", /*spanish*/"#pescar en la madurez# conduce a"},
|
||||
});
|
||||
|
||||
hintTable[RHT_LH_HYRULE_LOACH] = HintText::Exclude({
|
||||
//obscure text
|
||||
Text{"#fishing the legend# bestows", /*french*/"!!!", /*spanish*/"#pescar a la leyenda# conduce a"},
|
||||
}, {},
|
||||
//clear text
|
||||
Text{"#fishing the hyrule loach# will give you", /*french*/"!!!", /*spanish*/"si #pescas a la Locha de Hyrule# encontrarás"}
|
||||
);
|
||||
|
||||
hintTable[RHT_LH_LAB_DIVE] = HintText::Exclude({
|
||||
//obscure text
|
||||
Text{"a #diving experiment# is rewarded with", /*french*/"l'#expérience de plongée# donne", /*spanish*/"#bucear para un experimento# se premia con"},
|
||||
|
@ -782,12 +782,6 @@ void GenerateItemPool() {
|
||||
ctx->possibleIceTrapModels.push_back(RG_OCARINA_C_RIGHT_BUTTON);
|
||||
}
|
||||
|
||||
if (ctx->GetOption(RSK_SHUFFLE_HYRULE_LOACH_REWARD)) {
|
||||
AddItemToMainPool(RG_PURPLE_RUPEE);
|
||||
} else {
|
||||
ctx->PlaceItemInLocation(RC_LH_HYRULE_LOACH, RG_PURPLE_RUPEE, false, true);
|
||||
}
|
||||
|
||||
if (ctx->GetOption(RSK_SHUFFLE_SWIM)) {
|
||||
AddItemToMainPool(RG_PROGRESSIVE_SCALE);
|
||||
}
|
||||
@ -838,6 +832,12 @@ void GenerateItemPool() {
|
||||
} else {
|
||||
PlaceVanillaOverworldFish();
|
||||
}
|
||||
|
||||
if (fsMode.Is(RO_FISHSANITY_HYRULE_LOACH)) {
|
||||
AddItemToMainPool(RG_PURPLE_RUPEE);
|
||||
} else {
|
||||
ctx->PlaceItemInLocation(RC_LH_HYRULE_LOACH, RG_PURPLE_RUPEE, false, true);
|
||||
}
|
||||
} else {
|
||||
PlaceVanillaOverworldFish();
|
||||
}
|
||||
|
@ -265,6 +265,7 @@ void Settings::CreateOptionDescriptions() {
|
||||
"Affordable prices per tier: starter = 10, adult = 105, giant = 205, tycoon = 505\n\n"
|
||||
"Use this to enable wallet tier locking, but make shop items not as expensive as they could be.";
|
||||
mOptionDescriptions[RSK_FISHSANITY] = "Off - Fish will not be shuffled. No changes will be made to fishing behavior.\n\n"
|
||||
"Shuffle only Hyrule Loach - Allows you to earn an item by catching the hyrule loach at the fishing pond and giving it to the owner.\n\n"
|
||||
"Shuffle Fishing Pond - The fishing pond's fish will be shuffled. Catching a fish in the fishing pond will grant a reward.\n\n"
|
||||
"Shuffle Overworld Fish - Fish in generic grottos and Zora's Domain will be shuffled. Catching a fish in a bottle will give a reward.\n\n"
|
||||
"Shuffle Both - Both overworld fish and fish in the fishing pond will be shuffled.";
|
||||
@ -307,8 +308,6 @@ void Settings::CreateOptionDescriptions() {
|
||||
"\n"
|
||||
"This setting does not effect the item earned from playing\n"
|
||||
"the Song of Storms and the frog song minigame.";
|
||||
mOptionDescriptions[RSK_SHUFFLE_HYRULE_LOACH_REWARD] = "Shuffles a Purple Rupee into to the item pool, and allows"
|
||||
"you to earn an item by catching the hyrule loach at the fishing pond.";
|
||||
mOptionDescriptions[RSK_SHUFFLE_ADULT_TRADE] =
|
||||
"Adds all of the adult trade quest items into the pool, each of which "
|
||||
"can be traded for a unique reward.\n"
|
||||
|
@ -3550,7 +3550,6 @@ typedef enum {
|
||||
RSK_SHUFFLE_WEIRD_EGG,
|
||||
RSK_SHUFFLE_GERUDO_MEMBERSHIP_CARD,
|
||||
RSK_SHUFFLE_FROG_SONG_RUPEES,
|
||||
RSK_SHUFFLE_HYRULE_LOACH_REWARD,
|
||||
RSK_ITEM_POOL,
|
||||
RSK_ICE_TRAPS,
|
||||
RSK_GOSSIP_STONE_HINTS,
|
||||
@ -3794,9 +3793,10 @@ typedef enum {
|
||||
RO_BOSS_SOULS_ON_PLUS_GANON,
|
||||
} RandoOptionBossSouls;
|
||||
|
||||
//Fishsanity settings (off, pond only, grottos only, both)
|
||||
//Fishsanity settings (off, loach only, pond only, grottos only, both)
|
||||
typedef enum {
|
||||
RO_FISHSANITY_OFF,
|
||||
RO_FISHSANITY_HYRULE_LOACH,
|
||||
RO_FISHSANITY_POND,
|
||||
RO_FISHSANITY_OVERWORLD,
|
||||
RO_FISHSANITY_BOTH
|
||||
|
@ -1109,7 +1109,7 @@ void LoadSettings() {
|
||||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHUFFLE_MASTER_SWORD) == RO_GENERIC_YES
|
||||
: true;
|
||||
showHyruleLoach = IS_RANDO ?
|
||||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHUFFLE_HYRULE_LOACH_REWARD) == RO_GENERIC_YES
|
||||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_FISHSANITY) == RO_FISHSANITY_HYRULE_LOACH
|
||||
: false;
|
||||
showWeirdEgg = IS_RANDO ?
|
||||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHUFFLE_WEIRD_EGG) == RO_GENERIC_YES
|
||||
|
@ -115,12 +115,11 @@ void Settings::CreateOptions() {
|
||||
mOptions[RSK_SHUFFLE_MAGIC_BEANS] = Option::Bool("Shuffle Magic Beans", "gRandomizeShuffleBeans", mOptionDescriptions[RSK_SHUFFLE_MAGIC_BEANS]);
|
||||
mOptions[RSK_SHUFFLE_MERCHANTS] = Option::U8("Shuffle Merchants", {"Off", "On (No Hints)", "On (With Hints)"}, OptionCategory::Setting, "gRandomizeShuffleMerchants", mOptionDescriptions[RSK_SHUFFLE_MERCHANTS], WidgetType::Combobox, RO_SHUFFLE_MERCHANTS_OFF);
|
||||
mOptions[RSK_SHUFFLE_FROG_SONG_RUPEES] = Option::Bool("Shuffle Frog Song Rupees", "gRandomizeShuffleFrogSongRupees", mOptionDescriptions[RSK_SHUFFLE_FROG_SONG_RUPEES]);
|
||||
mOptions[RSK_SHUFFLE_HYRULE_LOACH_REWARD] = Option::Bool("Shuffle Hyrule Loach Reward", "gRandomizeShuffleHyruleLoachReward", mOptionDescriptions[RSK_SHUFFLE_HYRULE_LOACH_REWARD]);
|
||||
mOptions[RSK_SHUFFLE_ADULT_TRADE] = Option::Bool("Shuffle Adult Trade", "gRandomizeShuffleAdultTrade", mOptionDescriptions[RSK_SHUFFLE_ADULT_TRADE]);
|
||||
mOptions[RSK_SHUFFLE_CHEST_MINIGAME] = Option::U8("Shuffle Chest Minigame", {"Off", "On (Separate)", "On (Pack)"});
|
||||
mOptions[RSK_SHUFFLE_100_GS_REWARD] = Option::Bool("Shuffle 100 GS Reward", "gRandomizeShuffle100GSReward", mOptionDescriptions[RSK_SHUFFLE_100_GS_REWARD], IMFLAG_SEPARATOR_BOTTOM, WidgetType::Checkbox, RO_GENERIC_OFF);
|
||||
mOptions[RSK_SHUFFLE_BOSS_SOULS] = Option::U8("Shuffle Boss Souls", {"Off", "On", "On + Ganon"}, OptionCategory::Setting, "gRandomizeShuffleBossSouls", mOptionDescriptions[RSK_SHUFFLE_BOSS_SOULS], WidgetType::Combobox);
|
||||
mOptions[RSK_FISHSANITY] = Option::U8("Fishsanity", {"Off", "Shuffle Fishing Pond", "Shuffle Overworld Fish", "Shuffle Both"}, OptionCategory::Setting, "gRandomizeFishsanity", mOptionDescriptions[RSK_FISHSANITY], WidgetType::Combobox, RO_FISHSANITY_OFF);
|
||||
mOptions[RSK_FISHSANITY] = Option::U8("Fishsanity", {"Off", "Shuffle only Hyrule Loach", "Shuffle Fishing Pond", "Shuffle Overworld Fish", "Shuffle Both"}, OptionCategory::Setting, "gRandomizeFishsanity", mOptionDescriptions[RSK_FISHSANITY], WidgetType::Combobox, RO_FISHSANITY_OFF);
|
||||
mOptions[RSK_FISHSANITY_POND_COUNT] = Option::U8("Pond Fish Count", {NumOpts(0,17,1)}, OptionCategory::Setting, "gRandomizeFishsanityPondCount", mOptionDescriptions[RSK_FISHSANITY_POND_COUNT], WidgetType::Slider, 0, true, IMFLAG_NONE);
|
||||
mOptions[RSK_FISHSANITY_AGE_SPLIT] = Option::Bool("Pond Age Split", "gRandomizeFishsanityAgeSplit", mOptionDescriptions[RSK_FISHSANITY_AGE_SPLIT]);
|
||||
mOptions[RSK_SHUFFLE_MAPANDCOMPASS] = Option::U8("Maps/Compasses", {"Start With", "Vanilla", "Own Dungeon", "Any Dungeon", "Overworld", "Anywhere"}, OptionCategory::Setting, "gRandomizeStartingMapsCompasses", mOptionDescriptions[RSK_SHUFFLE_MAPANDCOMPASS], WidgetType::Combobox, RO_DUNGEON_ITEM_LOC_OWN_DUNGEON);
|
||||
@ -676,7 +675,6 @@ void Settings::CreateOptions() {
|
||||
&mOptions[RSK_SHUFFLE_MAGIC_BEANS],
|
||||
&mOptions[RSK_SHUFFLE_MERCHANTS],
|
||||
&mOptions[RSK_SHUFFLE_FROG_SONG_RUPEES],
|
||||
&mOptions[RSK_SHUFFLE_HYRULE_LOACH_REWARD],
|
||||
&mOptions[RSK_SHUFFLE_ADULT_TRADE],
|
||||
&mOptions[RSK_SHUFFLE_100_GS_REWARD],
|
||||
&mOptions[RSK_SHUFFLE_BOSS_SOULS],
|
||||
@ -883,7 +881,6 @@ void Settings::CreateOptions() {
|
||||
&mOptions[RSK_SHUFFLE_MAGIC_BEANS],
|
||||
&mOptions[RSK_SHUFFLE_MERCHANTS],
|
||||
&mOptions[RSK_SHUFFLE_FROG_SONG_RUPEES],
|
||||
&mOptions[RSK_SHUFFLE_HYRULE_LOACH_REWARD],
|
||||
&mOptions[RSK_SHUFFLE_ADULT_TRADE],
|
||||
&mOptions[RSK_SHUFFLE_CHEST_MINIGAME],
|
||||
&mOptions[RSK_SHUFFLE_100_GS_REWARD],
|
||||
@ -1110,7 +1107,6 @@ void Settings::CreateOptions() {
|
||||
{ "Shuffle Settings:Shuffle Child's Wallet", RSK_SHUFFLE_CHILD_WALLET },
|
||||
{ "Shuffle Settings:Shuffle Weird Egg", RSK_SHUFFLE_WEIRD_EGG },
|
||||
{ "Shuffle Settings:Shuffle Frog Song Rupees", RSK_SHUFFLE_FROG_SONG_RUPEES },
|
||||
{ "Shuffle Settings:Shuffle Hyrule Loach Reward", RSK_SHUFFLE_HYRULE_LOACH_REWARD },
|
||||
{ "Shuffle Settings:Shuffle Merchants", RSK_SHUFFLE_MERCHANTS },
|
||||
{ "Shuffle Settings:Shuffle 100 GS Reward", RSK_SHUFFLE_100_GS_REWARD },
|
||||
{ "Shuffle Settings:Shuffle Boss Souls", RSK_SHUFFLE_BOSS_SOULS },
|
||||
@ -2258,7 +2254,6 @@ void Settings::ParseJson(nlohmann::json spoilerFileJson) {
|
||||
case RSK_SHUFFLE_100_GS_REWARD:
|
||||
case RSK_SHUFFLE_OCARINA:
|
||||
case RSK_SHUFFLE_OCARINA_BUTTONS:
|
||||
case RSK_SHUFFLE_HYRULE_LOACH_REWARD:
|
||||
case RSK_SHUFFLE_SWIM:
|
||||
case RSK_SHUFFLE_CHILD_WALLET:
|
||||
case RSK_STARTING_DEKU_SHIELD:
|
||||
|
@ -17,6 +17,7 @@
|
||||
#define WATER_SURFACE_Y(play) play->colCtx.colHeader->waterBoxes->ySurface
|
||||
#define IS_FISHSANITY (IS_RANDO && Randomizer_GetPondFishShuffled())
|
||||
#define FISHID(params) (Randomizer_IdentifyFish(play->sceneNum, params))
|
||||
bool getShouldSpawnLoaches();
|
||||
|
||||
void Fishing_Init(Actor* thisx, PlayState* play);
|
||||
void Fishing_Destroy(Actor* thisx, PlayState* play);
|
||||
|
Loading…
Reference in New Issue
Block a user