diff --git a/src/data/mystery-encounters/mystery-encounters.ts b/src/data/mystery-encounters/mystery-encounters.ts index 0244281be26..1651430e59d 100644 --- a/src/data/mystery-encounters/mystery-encounters.ts +++ b/src/data/mystery-encounters/mystery-encounters.ts @@ -119,7 +119,6 @@ export const CIVILIZATION_ENCOUNTER_BIOMES = [ export const allMysteryEncounters: { [encounterType: number]: MysteryEncounter } = {}; -// TO ENABLE AN ENCOUNTER IN ALL BIOMES, DO NOT SPECIFY IN ANY OF THESE LISTS/MAPS const extremeBiomeEncounters: MysteryEncounterType[] = []; @@ -136,6 +135,10 @@ const civilizationBiomeEncounters: MysteryEncounterType[] = [ MysteryEncounterType.DEPARTMENT_STORE_SALE ]; + +/** + * To add an encounter to every biome possible, use this array + */ const anyBiomeEncounters: MysteryEncounterType[] = [ MysteryEncounterType.FIGHT_OR_FLIGHT, MysteryEncounterType.DARK_DEAL, @@ -143,7 +146,13 @@ const anyBiomeEncounters: MysteryEncounterType[] = [ MysteryEncounterType.TRAINING_SESSION ]; -// Add MysteryEncounterType to biomes to enable it exclusively for those biomes +/** + * ENCOUNTER BIOME MAPPING + * To add an Encounter to a biome group, instead of cluttering the map, use the biome group arrays above + * + * Adding specific Encounters to the mysteryEncountersByBiome map is for specific cases and special circumstances + * that biome groups do not cover + */ export const mysteryEncountersByBiome = new Map([ [Biome.TOWN, []], [Biome.PLAINS, []], @@ -192,7 +201,7 @@ export const mysteryEncountersByBiome = new Map([ export function initMysteryEncounters() { allMysteryEncounters[MysteryEncounterType.MYSTERIOUS_CHALLENGERS] = MysteriousChallengersEncounter; allMysteryEncounters[MysteryEncounterType.MYSTERIOUS_CHEST] = MysteriousChestEncounter; - allMysteryEncounters[MysteryEncounterType.DARK_DEAL] = DarkDealEncounter; // TODO: move to HUMAN if we add an ANY biome ROGUE tier encounter + allMysteryEncounters[MysteryEncounterType.DARK_DEAL] = DarkDealEncounter; allMysteryEncounters[MysteryEncounterType.FIGHT_OR_FLIGHT] = FightOrFlightEncounter; allMysteryEncounters[MysteryEncounterType.TRAINING_SESSION] = TrainingSessionEncounter; allMysteryEncounters[MysteryEncounterType.SLEEPING_SNORLAX] = SleepingSnorlaxEncounter; diff --git a/src/locales/en/mystery-encounter.ts b/src/locales/en/mystery-encounter.ts index b07e22f7a9a..f944615452a 100644 --- a/src/locales/en/mystery-encounter.ts +++ b/src/locales/en/mystery-encounter.ts @@ -108,7 +108,6 @@ export const mysteryEncounter: SimpleTranslationEntries = { "field_trip_title": "Field Trip", "field_trip_description": "A teacher is requesting a move demonstration from a Pokémon. Depending on the move you choose, she might have something useful for you in exchange.", "field_trip_query": "Which move category will you show off?", - // "field_trip_invalid_selection": "Pokémon doesn't know that type of move.", "field_trip_option_1_label": "A Physical Move", "field_trip_option_1_tooltip": "(+) Physical Item Rewards", "field_trip_option_2_label": "A Special Move", @@ -141,6 +140,7 @@ export const mysteryEncounter: SimpleTranslationEntries = { "mysterious_challengers_outro_win": "The mysterious challenger was defeated!", // Mystery Encounters -- Rare Tier + "training_session_intro_message": "You've come across some\ntraining tools and supplies.", "training_session_title": "Training Session", "training_session_description": "These supplies look like they could be used to train a member of your party! There are a few ways you could train your Pokémon, by battling against it with the rest of your team.", @@ -173,8 +173,8 @@ export const mysteryEncounter: SimpleTranslationEntries = { "dark_deal_title": "Dark Deal", "dark_deal_description": "The disturbing fellow holds up some Pokéballs.\n\"I'll make it worth your while! You can have these strong Pokéballs as payment, All I need is a Pokémon from your team! Hehe...\"", "dark_deal_query": "What will you do?", - "dark_deal_option_1_label": "Accept", // Give player 10 rogue balls. Remove a random Pokémon from player's party. Fight a legendary Pokémon as a boss - "dark_deal_option_1_tooltip": "(+) 5 Rogue Balls\n(?) Enhance a Random Pokémon", // Give player 10 rogue balls. Remove a random Pokémon from player's party. Fight a legendary Pokémon as a boss + "dark_deal_option_1_label": "Accept", + "dark_deal_option_1_tooltip": "(+) 5 Rogue Balls\n(?) Enhance a Random Pokémon", "dark_deal_option_2_label": "Refuse", "dark_deal_option_2_tooltip": "(-) No Rewards", "dark_deal_option_1_selected": `Let's see, that @ec{pokeName} will do nicely! @@ -206,6 +206,5 @@ export const mysteryEncounter: SimpleTranslationEntries = { $But on the bright side, the Snorlax left something behind... $@s{item_fanfare}You gained a Berry!`, "sleeping_snorlax_option_3_good_result": "Your @ec{option3PrimaryName} uses @ec{option3PrimaryMove}! @s{item_fanfare}It steals Leftovers off the sleeping Snorlax and you make out like bandits!", - // "sleeping_snorlax_outro_win": "The mysterious challengers were defeated!", } as const; diff --git a/src/ui/mystery-encounter-ui-handler.ts b/src/ui/mystery-encounter-ui-handler.ts index 306fb01c575..cad678acf87 100644 --- a/src/ui/mystery-encounter-ui-handler.ts +++ b/src/ui/mystery-encounter-ui-handler.ts @@ -325,6 +325,7 @@ export default class MysteryEncounterUiHandler extends UiHandler { let text; if (this.filteredEncounterOptions[i].hasRequirements() && this.optionsMeetsReqs[i]) { // Options with special requirements that are met are automatically colored green + // In cases where isDisabledOnRequirementsNotMet = false and requirements are not met, option will not be auto-colored text = getEncounterText(this.scene, optionDialogue.buttonLabel, TextStyle.SUMMARY_GREEN); } else { text = getEncounterText(this.scene, optionDialogue.buttonLabel, optionDialogue.style ? optionDialogue.style : TextStyle.WINDOW);