From 414b2366fc55c5642f8858d6f4854aa62c4caf60 Mon Sep 17 00:00:00 2001 From: EmberCM Date: Wed, 26 Jun 2024 21:41:29 -0500 Subject: [PATCH] Add option to toggle generation tooltip --- src/battle-scene.ts | 8 ++++++++ src/enums/generation-tooltip.ts | 8 ++++++++ src/locales/de/settings.ts | 1 + src/locales/en/settings.ts | 2 ++ src/locales/es/settings.ts | 1 + src/locales/fr/settings.ts | 1 + src/locales/it/settings.ts | 1 + src/locales/ko/settings.ts | 1 + src/locales/pt_BR/settings.ts | 1 + src/locales/zh_CN/settings.ts | 1 + src/locales/zh_TW/settings.ts | 1 + src/system/settings/settings.ts | 24 ++++++++++++++++++++++++ src/ui/battle-info.ts | 6 +++++- 13 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 src/enums/generation-tooltip.ts diff --git a/src/battle-scene.ts b/src/battle-scene.ts index a41c3427e1f..40879993c7b 100644 --- a/src/battle-scene.ts +++ b/src/battle-scene.ts @@ -173,6 +173,14 @@ export default class BattleScene extends SceneBase { */ public typeHints: boolean = false; + /** + * Determines when to show the generation tooltip + * - 0 = Never + * - 1 = During Challenges + * - 2 = Always + */ + public generationTooltip: number = 0; + public disableMenu: boolean = false; public gameData: GameData; diff --git a/src/enums/generation-tooltip.ts b/src/enums/generation-tooltip.ts new file mode 100644 index 00000000000..be8c7dd9884 --- /dev/null +++ b/src/enums/generation-tooltip.ts @@ -0,0 +1,8 @@ +/** + * An enum for generation tooltip + */ +export enum GenerationTooltip { + NEVER, + DURING_CHALLENGE, + ALWAYS +} diff --git a/src/locales/de/settings.ts b/src/locales/de/settings.ts index 85f8645d69f..0dc67add161 100644 --- a/src/locales/de/settings.ts +++ b/src/locales/de/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "Folge", "auto": "Auto", "disabled": "Deaktiviert", + "challengeOnly": "Challenge Only", "language": "Sprache", "change": "Ändern", "uiTheme": "UI Thema", diff --git a/src/locales/en/settings.ts b/src/locales/en/settings.ts index f68a649269f..36ba053d360 100644 --- a/src/locales/en/settings.ts +++ b/src/locales/en/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "Set", "auto": "Auto", "disabled": "Disabled", + "challengeOnly": "Challenge Only", "language": "Language", "change": "Change", "uiTheme": "UI Theme", @@ -60,6 +61,7 @@ export const settings: SimpleTranslationEntries = { "fusionPaletteSwaps": "Fusion Palette Swaps", "playerGender": "Player Gender", "typeHints": "Type Hints", + "generationTooltip": "Generation Tooltip", "masterVolume": "Master Volume", "bgmVolume": "BGM Volume", "seVolume": "SE Volume", diff --git a/src/locales/es/settings.ts b/src/locales/es/settings.ts index dfd6f097242..3e4864e5953 100644 --- a/src/locales/es/settings.ts +++ b/src/locales/es/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "Set", "auto": "Auto", "disabled": "Disabled", + "challengeOnly": "Challenge Only", "language": "Language", "change": "Change", "uiTheme": "UI Theme", diff --git a/src/locales/fr/settings.ts b/src/locales/fr/settings.ts index cd85b0f8cb9..3404c98dcb9 100644 --- a/src/locales/fr/settings.ts +++ b/src/locales/fr/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "Défini", "auto": "Auto", "disabled": "Désactivé", + "challengeOnly": "Challenge Only", "language": "Langue", "change": "Changer", "uiTheme": "Interface", diff --git a/src/locales/it/settings.ts b/src/locales/it/settings.ts index af48368aeeb..b838997bad9 100644 --- a/src/locales/it/settings.ts +++ b/src/locales/it/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "Set", "auto": "Auto", "disabled": "Disabled", + "challengeOnly": "Challenge Only", "language": "Language", "change": "Change", "uiTheme": "UI Theme", diff --git a/src/locales/ko/settings.ts b/src/locales/ko/settings.ts index ef1469fc8cb..a4893f6ef6d 100644 --- a/src/locales/ko/settings.ts +++ b/src/locales/ko/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "토너먼트", "auto": "자동", "disabled": "비활성", + "challengeOnly": "Challenge Only", "language": "언어", "change": "변경", "uiTheme": "UI 테마", diff --git a/src/locales/pt_BR/settings.ts b/src/locales/pt_BR/settings.ts index 9d336cf0757..66618a76a22 100644 --- a/src/locales/pt_BR/settings.ts +++ b/src/locales/pt_BR/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "Definido", "auto": "Automático", "disabled": "Desativado", + "challengeOnly": "Challenge Only", "language": "Idioma", "change": "Mudar", "uiTheme": "Tema da Interface", diff --git a/src/locales/zh_CN/settings.ts b/src/locales/zh_CN/settings.ts index 3ca6cb435c6..0cc22206649 100644 --- a/src/locales/zh_CN/settings.ts +++ b/src/locales/zh_CN/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "固定", "auto": "自动", "disabled": "禁用", + "challengeOnly": "Challenge Only", "language": "语言", "change": "选择", "uiTheme": "界面风格", diff --git a/src/locales/zh_TW/settings.ts b/src/locales/zh_TW/settings.ts index dcb87fafe35..be688160fdc 100644 --- a/src/locales/zh_TW/settings.ts +++ b/src/locales/zh_TW/settings.ts @@ -29,6 +29,7 @@ export const settings: SimpleTranslationEntries = { "set": "固定", "auto": "自動", "disabled": "禁用", + "challengeOnly": "Challenge Only", "language": "語言", "change": "選擇", "uiTheme": "界面風格", diff --git a/src/system/settings/settings.ts b/src/system/settings/settings.ts index b09de095259..eb0b2f2077b 100644 --- a/src/system/settings/settings.ts +++ b/src/system/settings/settings.ts @@ -93,6 +93,7 @@ export const SettingKeys = { Fusion_Palette_Swaps: "FUSION_PALETTE_SWAPS", Player_Gender: "PLAYER_GENDER", Type_Hints: "TYPE_HINTS", + Generation_Tooltip: "GENERATION_TOOLTIP", Master_Volume: "MASTER_VOLUME", BGM_Volume: "BGM_VOLUME", SE_Volume: "SE_VOLUME", @@ -489,6 +490,26 @@ export const Setting: Array = [ default: 0, type: SettingType.DISPLAY }, + { + key: SettingKeys.Generation_Tooltip, + label: i18next.t("settings:generationTooltip"), + options: [ + { + value: "Off", + label: i18next.t("settings:off") + }, + { + value: "Challenge Only", + label: i18next.t("settings:challengeOnly") + }, + { + value: "On", + label: i18next.t("settings:on") + } + ], + default: 0, + type: SettingType.DISPLAY + }, { key: SettingKeys.Show_BGM_Bar, label: i18next.t("settings:showBgmBar"), @@ -691,6 +712,9 @@ export function setSetting(scene: BattleScene, setting: string, value: integer): case SettingKeys.Type_Hints: scene.typeHints = Setting[index].options[value].value === "On"; break; + case SettingKeys.Generation_Tooltip: + scene.generationTooltip = value; + break; case SettingKeys.Language: if (value) { if (scene.ui) { diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts index 828e08e8d2c..aadf02c791f 100644 --- a/src/ui/battle-info.ts +++ b/src/ui/battle-info.ts @@ -11,6 +11,7 @@ import { BattleStat } from "#app/data/battle-stat"; import BattleFlyout from "./battle-flyout"; import { WindowVariant, addWindow } from "./ui-theme"; import i18next from "i18next"; +import { GenerationTooltip } from "#app/enums/generation-tooltip.js"; const battleStatOrder = [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.ACC, BattleStat.EVA, BattleStat.SPD ]; @@ -329,7 +330,10 @@ export default class BattleInfo extends Phaser.GameObjects.Container { } if (!this.player) { - if (this.nameText.visible) { + // First check is if the generationTooltip is on DURING_CHALLENGE, otherwise show it if it's enabled + const showGenerationTooltip = this.scene instanceof BattleScene && + (this.scene.generationTooltip === GenerationTooltip.DURING_CHALLENGE ? this.scene.gameMode.isChallenge : this.scene.generationTooltip === GenerationTooltip.ALWAYS); + if (this.nameText.visible && showGenerationTooltip) { this.nameText.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, i18next.t("battleInfo:generation", { generation: pokemon.species.generation }))); this.nameText.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip()); }