WT for randomizer from the start

This commit is contained in:
resetes12
2024-01-04 11:49:45 +01:00
parent 61b51ec73d
commit edc2d6bfc6
5 changed files with 41 additions and 2 deletions

View File

@@ -734,6 +734,18 @@ BattleFrontier_ExchangeServiceCorner_Text_ScopeLensDesc::
.string "critical-hit rate.$"
EventScript_DoWonderTrade::
goto_if_unset FLAG_WONDERTRADE_FIRSTIME, EventScript_FirstTimeWonderRandomizer
special CheckIfRandomizerIsActive
goto_if_unset FLAG_WT_ENABLED_RANDOMIZER, EventScript_DoWonderTradeStart
special CheckIfChallengesAreActive
goto_if_set FLAG_WONDERTRADE3, EventScript_NoMoreForToday
goto_if_set FLAG_NO_WT_BECAUSE_CHALLENGE, EventScript_WTChallenges
goto_if_unset FLAG_WONDERTRADE1, EventScript_DoWonderTradeFirstTrade
goto_if_unset FLAG_WONDERTRADE2, EventScript_DoWonderTradeSecondTrade
goto_if_unset FLAG_WONDERTRADE3, EventScript_DoWonderTradeThirdTrade
end
EventScript_DoWonderTradeStart:
goto_if_unset FLAG_WONDERTRADE_FIRSTIME, EventScript_FirstTimeWonder
goto_if_unset FLAG_BADGE05_GET, EventScript_WTNotActiveYet
msgbox EventScript_DoWonderTrade_Text_Welcome, MSGBOX_DEFAULT
@@ -823,6 +835,12 @@ EventScript_NoMoreForToday::
closemessage
end
EventScript_FirstTimeWonderRandomizer::
msgbox EventScript_FirstTimeWonder_Text, MSGBOX_DEFAULT
setflag FLAG_WONDERTRADE_FIRSTIME
closemessage
end
EventScript_FirstTimeWonder::
msgbox EventScript_FirstTimeWonder_Text, MSGBOX_DEFAULT
setflag FLAG_WONDERTRADE_FIRSTIME

View File

@@ -559,3 +559,4 @@ gSpecials::
def_special ChooseItemFromBag
def_special ForceSaveGame
def_special CheckIfChallengesAreActive
def_special CheckIfRandomizerIsActive

View File

@@ -505,7 +505,7 @@
#define FLAG_ENABLE_TATE_AND_LIZA_MATCH_CALL 0x1D8
#define FLAG_ENABLE_JUAN_MATCH_CALL 0x1D9
#define FLAG_WT_ENABLED 0x1DA // Unused Flag
#define FLAG_WT_ENABLED 0x1DA
#define FLAG_SHOWN_MYSTIC_TICKET 0x1DB
#define FLAG_DEFEATED_HO_OH 0x1DC
@@ -513,7 +513,7 @@
#define FLAG_INFINITE_STUFF 0x1DE
#define FLAG_INFINITE_STUFF_GIRL 0x1DF
#define FLAG_UNUSED_0x1E0 0x1E0 // Unused Flag
#define FLAG_WT_ENABLED_RANDOMIZER 0x1E0
#define FLAG_UNUSED_0x1E1 0x1E1 // Unused Flag
#define FLAG_UNUSED_0x1E2 0x1E2 // Unused Flag
#define FLAG_UNUSED_0x1E3 0x1E3 // Unused Flag

View File

@@ -13,5 +13,6 @@ void NewGameInitData(void);
void ResetMenuAndMonGlobals(void);
void Sav2_ClearSetDefault(void);
void CheckIfChallengesAreActive(void);
void CheckIfRandomizerIsActive(void);
#endif // GUARD_NEW_GAME_H

View File

@@ -247,6 +247,25 @@ void CheckIfChallengesAreActive(void)
FlagSet(FLAG_NO_WT_BECAUSE_CHALLENGE);
}
void CheckIfRandomizerIsActive(void)
{
if (((gSaveBlock1Ptr->tx_Random_Chaos == 1)
|| (gSaveBlock1Ptr->tx_Random_WildPokemon == 1)
|| (gSaveBlock1Ptr->tx_Random_Similar == 1)
|| (gSaveBlock1Ptr->tx_Random_MapBased == 1)
|| (gSaveBlock1Ptr->tx_Random_IncludeLegendaries == 1)
|| (gSaveBlock1Ptr->tx_Random_Type == 1)
|| (gSaveBlock1Ptr->tx_Random_TypeEffectiveness == 1)
|| (gSaveBlock1Ptr->tx_Random_Abilities == 1)
|| (gSaveBlock1Ptr->tx_Random_Moves == 1)
|| (gSaveBlock1Ptr->tx_Random_Trainer == 1)
|| (gSaveBlock1Ptr->tx_Random_Evolutions == 1)
|| (gSaveBlock1Ptr->tx_Random_EvolutionMethods == 1)
|| (gSaveBlock1Ptr->tx_Random_OneForOne == 1)
|| (gSaveBlock1Ptr->tx_Random_Items == 1)))
FlagSet(FLAG_WT_ENABLED_RANDOMIZER);
}
static void ResetMiniGamesRecords(void)
{
CpuFill16(0, &gSaveBlock2Ptr->berryCrush, sizeof(struct BerryCrush));