Fix the start with Master Sword option

This commit is contained in:
Christopher Leggett 2025-04-03 12:00:53 -04:00
parent fd96bf6b14
commit 183a3a878b
No known key found for this signature in database
GPG key ID: F2121C0AF9938ABF
2 changed files with 9 additions and 1 deletions

View file

@ -835,7 +835,7 @@ void CreateGanondorfJoke() {
void CreateGanondorfHint() {
auto ctx = Rando::Context::GetInstance();
if (ctx->GetOption(RSK_GANONDORF_HINT) && !ctx->GetHint(RH_GANONDORF_HINT)->IsEnabled()) {
if (ctx->GetOption(RSK_SHUFFLE_MASTER_SWORD)) {
if (ctx->GetOption(RSK_SHUFFLE_MASTER_SWORD) && ctx->GetOption(RSK_STARTING_MASTER_SWORD).Is(RO_GENERIC_OFF)) {
CreateStaticItemHint(
RH_GANONDORF_HINT,
{ RHT_GANONDORF_HINT_LA_ONLY, RHT_GANONDORF_HINT_MS_ONLY, RHT_GANONDORF_HINT_LA_AND_MS },

View file

@ -107,6 +107,7 @@ void GiveLinksPocketItem() {
}
void SetStartingItems() {
int startingAge = OTRGlobals::Instance->gRandoContext->GetOption(RSK_SELECTED_STARTING_AGE).Get();
if (Randomizer_GetSettingValue(RSK_STARTING_KOKIRI_SWORD))
Item_Give(NULL, ITEM_SWORD_KOKIRI);
if (Randomizer_GetSettingValue(RSK_STARTING_DEKU_SHIELD))
@ -158,6 +159,13 @@ void SetStartingItems() {
if (Randomizer_GetSettingValue(RSK_STARTING_NUTS) && !Randomizer_GetSettingValue(RSK_SHUFFLE_DEKU_NUT_BAG)) {
GiveLinkDekuNuts(20);
}
if (Randomizer_GetSettingValue(RSK_STARTING_MASTER_SWORD)) {
if (startingAge == RO_AGE_ADULT) {
Item_Give(NULL, ITEM_SWORD_MASTER);
} else {
gSaveContext.inventory.equipment |= 1 << 1;
}
}
if (Randomizer_GetSettingValue(RSK_FULL_WALLETS)) {
GiveLinkRupees(9001);