[Enhancement] Added a bgmBar to show the name of the track once music is played (#2457)

* Added a bgmBar to show the name of the track once music is played

* Even more close to ability bar

* It now shows. And also shows already for a couple of them a readable name

* Now the queue actually works

* Create locales for bgmName (bgm-bar ui)

  + Most of the music has only Japanese and English names
    But there are a number of tracks with official translations following OST commercialization

* Add i18n and use it to retrieve OST names (avoids a giga switch case)

  + A fallback key is implemented in the case of adding tracks not referenced in the translation files, its value being just the name of the bgm itself

* FormatText is now in Utils and not arena-flyout

BGM Names for non-localized music will be formatted to have capitalized letters and no _

* It is now a setting. It can be even changed mid fight

* Update src/ui/ability-bar.ts

* Apply suggestions from code review

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/de/bgm-name.ts

* Apply suggestions from code review

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* Added the rest of the music names

* Changed PMD EoS to PMD ETH in german (Pokemon Mystery Dungeon Erkundungsteam Himmel)

* Due to feedback it is now "PMD ET-Himmel"

* Corrected the encounter theme names (and some missed trainer class names)

* Background is now a nicneslice. And it is at the top of the screen and above everything else

* The bar now scales with the text.

* Revert override

* Update src/locales/fr/bgm-name.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* It now only appears when V is pressed (in all but starter select)

* Cleared the cod eup

* Update src/locales/zh_CN/bgm-name.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/zh_CN/settings.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/locales/ko/bgm-name.ts

Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>

* The bgmBar now appears in the pause menu instead.

* Should react better on settings change

* To be safe this required a reload now

* Update src/locales/fr/bgm-name.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Update src/locales/fr/bgm-name.ts

Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>

* Write out pokemon mystery dungeon names in german

* Update src/locales/es/bgm-name.ts

Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>

* Update src/locales/zh_CN/bgm-name.ts

Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>

* Update src/battle-scene.ts

---------

Co-authored-by: Dakurei <maxime.palanchini@gmail.com>
Co-authored-by: Lugiad' <adrien.grivel@hotmail.fr>
Co-authored-by: sodam <66295123+sodaMelon@users.noreply.github.com>
Co-authored-by: Yonmaru40 <47717431+40chyan@users.noreply.github.com>
Co-authored-by: GoldTra <162721984+GoldTra@users.noreply.github.com>
This commit is contained in:
Jannik Tappert 2024-06-24 17:31:38 +02:00 committed by GitHub
parent 8c8ddd26b5
commit 8099f02306
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
36 changed files with 1406 additions and 32 deletions

View File

@ -157,6 +157,8 @@ export default class BattleScene extends SceneBase {
public fusionPaletteSwaps: boolean = true;
public enableTouchControls: boolean = false;
public enableVibration: boolean = false;
public showBgmBar: boolean = true;
/**
* Determines the selected battle style.
* - 0 = 'Switch'
@ -1637,6 +1639,7 @@ export default class BattleScene extends SceneBase {
: this.getBgmLoopPoint(bgmName);
let loaded = false;
const playNewBgm = () => {
this.ui.bgmBar.setBgmToBgmBar(bgmName);
if (bgmName === null && this.bgm && !this.bgm.pendingRemove) {
this.bgm.play({
volume: this.masterVolume * this.bgmVolume

135
src/locales/de/bgm-name.ts Normal file
View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Musik",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "S2W2 Vs. Kanto Champion",
"battle_johto_champion": "S2W2 Vs. Johto Champion",
"battle_hoenn_champion": "S2W2 Vs. Hoenn Champion",
"battle_sinnoh_champion": "S2W2 Vs. Champion Cynthia",
"battle_champion_alder": "SW Vs. Champion Lauro",
"battle_champion_iris": "S2W2 Vs. Champion Lilia",
"battle_kalos_champion": "XY Vs. Champion Diantha",
"battle_alola_champion": "USUM Vs. Alola Champion",
"battle_galar_champion": "SWSH Vs. Champion Delion",
"battle_champion_geeta": "KAPU Vs. Champion Sagaria",
"battle_champion_nemona": "KAPU Vs. Champion Nemila",
"battle_champion_kieran": "KAPU Vs. Jo",
"battle_hoenn_elite": "ORAS Vs. Hoenn Top Vier",
"battle_unova_elite": "SW Vs. Einall Top Vier",
"battle_kalos_elite": "XY Vs. Kalos Top Vier",
"battle_alola_elite": "SM Vs. Alola Top Vier",
"battle_galar_elite": "SWSH Galar Champ-Cup",
"battle_paldea_elite": "KAPU Vs. Paldea Top Vier",
"battle_bb_elite": "KAPU Vs. Blaubeer-Top-Vier",
"battle_final_encounter": "PMDDX Rayquazas Domäne",
"battle_final": "SW Vs. G-Cis",
"battle_kanto_gym": "S2W2 Vs. Kanto Arenaleiter",
"battle_johto_gym": "S2W2 Vs. Johto Arenaleiter",
"battle_hoenn_gym": "S2W2 Vs. Hoenn Arenaleiter",
"battle_sinnoh_gym": "S2W2 Vs. Sinnoh Arenaleiter",
"battle_unova_gym": "SW Vs. Einall Arenaleiter",
"battle_kalos_gym": "XY Vs. Kalos Arenaleiter",
"battle_galar_gym": "SWSH Vs. Galar Arenaleiter",
"battle_paldea_gym": "KAPU Vs. Paldea Arenaleiter",
"battle_legendary_kanto": "XY Vs. Legendäres Kanto Pokémon",
"battle_legendary_raikou": "HGSS Vs. Raikou",
"battle_legendary_entei": "HGSS Vs. Entei",
"battle_legendary_suicune": "HGSS Vs. Suicune",
"battle_legendary_lugia": "HGSS Vs. Lugia",
"battle_legendary_ho_oh": "HGSS Vs. Ho-oh",
"battle_legendary_regis_g5": "S2W2 Vs. Legendäre Giganten",
"battle_legendary_regis_g6": "ORAS Vs. Legendäre Giganten",
"battle_legendary_gro_kyo": "ORAS Vs. Groudon & Kyogre",
"battle_legendary_rayquaza": "ORAS Vs. Rayquaza",
"battle_legendary_deoxys": "ORAS Vs. Deoxys",
"battle_legendary_lake_trio": "ORAS Vs. Seen-Trio",
"battle_legendary_sinnoh": "ORAS Vs. Legendäres Sinnoh Pokémon",
"battle_legendary_dia_pal": "ORAS Vs. Dialga & Palkia",
"battle_legendary_giratina": "ORAS Vs. Giratina",
"battle_legendary_arceus": "HGSS Vs. Arceus",
"battle_legendary_unova": "SW Vs. Legendäres Einall Pokémon",
"battle_legendary_kyurem": "SW Vs. Kyurem",
"battle_legendary_res_zek": "SW Vs. Reshiram & Zekrom",
"battle_legendary_xern_yvel": "XY Vs. Xerneas & Yveltal",
"battle_legendary_tapu": "SM Vs. Kapu",
"battle_legendary_sol_lun": "SM Vs. Solgaleo & Lunala",
"battle_legendary_ub": "SM Vs. Ultrabestie",
"battle_legendary_dusk_dawn": "USUM Vs. Abendmähne- & Morgenschwingen-Necrozma",
"battle_legendary_ultra_nec": "USUM Vs. Ultra-Necrozma",
"battle_legendary_zac_zam": "SWSH Vs. Zacian & Zamazenta",
"battle_legendary_glas_spec": "SWSH Vs. Polaross & Phantoross",
"battle_legendary_calyrex": "SWSH Vs. Coronospa",
"battle_legendary_birds_galar": "SWSH Vs. Legendäre Galar-Vögel",
"battle_legendary_ruinous": "KAPU Vs. Schätze des Unheils",
"battle_legendary_loyal_three": "KAPU Drei Gefährten",
"battle_legendary_ogerpon": "KAPU Vs. Ogerpon",
"battle_legendary_terapagos": "KAPU Vs. Terapagos",
"battle_legendary_pecharunt": "KAPU Vs. Infamomo",
"battle_rival": "SW Vs. Rivale",
"battle_rival_2": "SW Vs. N",
"battle_rival_3": "SW Vs. N (Finale)",
"battle_trainer": "SW Vs. Trainer",
"battle_wild": "SW Vs. Wilde Pokémon",
"battle_wild_strong": "SW Vs. Starke Wilde Pokémon",
"end_summit": "PMDDX Gipfel des Himmelturms",
"battle_plasma_grunt": "SW Vs. Team Plasma Rüpel",
// Biome Music
"abyss": "PMD Erkundungsteam Himmel Dunkelkrater",
"badlands": "PMD Erkundungsteam Himmel Kargtal",
"beach": "PMD Erkundungsteam Himmel Feuchtklippe",
"cave": "PMD Erkundungsteam Himmel Himmelsgipfel-Höhle",
"construction_site": "PMD Erkundungsteam Himmel Geröllbruch",
"desert": "PMD Erkundungsteam Himmel Nordwüste",
"dojo": "PMD Erkundungsteam Himmel Knogga-Dojo",
"end": "PMD Retterteam DX Himmelsturm",
"factory": "PMD Erkundungsteam Himmel Verborgene Ruinen",
"fairy_cave": "PMD Erkundungsteam Himmel Sternenhöhle",
"forest": "PMD Erkundungsteam Himmel Düsterwald",
"grass": "PMD Erkundungsteam Himmel Apfelwald",
"graveyard": "PMD Erkundungsteam Himmel Verwirrwald",
"ice_cave": "PMD Erkundungsteam Himmel Rieseneisberg",
"island": "PMD Erkundungsteam Himmel Schroffküste",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "PMD Erkundungsteam Himmel Kristallhöhle",
"meadow": "PMD Erkundungsteam Himmel Himmelsgipfel-Wald",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "PMD Erkundungsteam Himmel Hornberg",
"plains": "PMD Erkundungsteam Himmel Himmelsgipfel-Prärie",
"power_plant": "PMD Erkundungsteam Himmel Weite Ampere-Ebene",
"ruins": "PMD Erkundungsteam Himmel Tiefes Ruinenverlies",
"sea": "PMD Erkundungsteam Himmel Salzwasserhöhle",
"seabed": "PMD Erkundungsteam Himmel Untere Salzwasserhöhle",
"slum": "PMD Erkundungsteam Himmel Himmelsgipfel-Küste",
"snowy_forest": "PMD Erkundungsteam Himmel Himmelsgipfel-Schneefeld",
"space": "PMD Erkundungsteam Himmel Schicksalsschlucht",
"swamp": "PMD Erkundungsteam Himmel Ringmeer",
"tall_grass": "PMD Erkundungsteam Himmel Nebelwald",
"temple": "PMD Erkundungsteam Himmel Ägishöhle",
"town": "PMD Erkundungsteam Himmel Zufälliges Dungeon-Theme 3",
"volcano": "PMD Erkundungsteam Himmel Dunsthöhle",
"wasteland": "PMD Erkundungsteam Himmel Verborgenes Hochland",
// Encounter
"encounter_ace_trainer": "SW Trainerblicke treffen sich (Ass-Trainer)",
"encounter_backpacker": "SW Trainerblicke treffen sich (Backpacker)",
"encounter_clerk": "SW Trainerblicke treffen sich (Angestellter)",
"encounter_cyclist": "SW Trainerblicke treffen sich (Biker)",
"encounter_lass": "SW Trainerblicke treffen sich (Göre)",
"encounter_parasol_lady": "SW Trainerblicke treffen sich (Schirmdame)",
"encounter_pokefan": "SW Trainerblicke treffen sich (Pokéfan)",
"encounter_psychic": "SW Trainerblicke treffen sich (Seher)",
"encounter_rich": "SW Trainerblicke treffen sich (Gentleman)",
"encounter_rival": "SW Vs. Cheren",
"encounter_roughneck": "SW Trainerblicke treffen sich (Raufbold)",
"encounter_scientist": "SW Trainerblicke treffen sich (Forscher)",
"encounter_twins": "SW Trainerblicke treffen sich (Zwillinge)",
"encounter_youngster": "SW Trainerblicke treffen sich (Knirps)",
// Other
"heal": "SW Pokémon-Heilung",
"menu": "PMD Erkundungsteam Himmel Willkommen in der Welt der Pokémon!",
"title": "PMD Erkundungsteam Himmel Top-Menü-Thema",
} as const;

View File

@ -4,6 +4,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const deConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -95,4 +95,5 @@ export const settings: SimpleTranslationEntries = {
"mute": "Stumm",
"controller": "Controller",
"gamepadSupport": "Controllerunterstützung",
"showBgmBar": "Musiknamen anzeigen",
} as const;

View File

@ -93,12 +93,12 @@ export const trainerClasses: SimpleTranslationEntries = {
"pokémon_rangers": "Pokémon-Ranger",
"ranger": "Ranger",
"restaurant_staff": "Restaurant Angestellte",
"rich": "Rich",
"rich_female": "Rich",
"rich": "Gentleman",
"rich_female": "Reiche Dame",
"rich_boy": "Schnösel",
"rich_couple": "Reiches Paar",
"rich_kid": "Rich Kid",
"rich_kid_female": "Rich Kid",
"rich_kid": "Schnösel",
"rich_kid_female": "Schnöselin",
"rich_kids": "Schnösel",
"roughneck": "Raufbold",
"sailor": "Matrose",

135
src/locales/en/bgm-name.ts Normal file
View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Music",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "B2W2 Kanto Champion Battle",
"battle_johto_champion": "B2W2 Johto Champion Battle",
"battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
"battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
"battle_champion_alder": "BW Unova Champion Battle",
"battle_champion_iris": "B2W2 Unova Champion Battle",
"battle_kalos_champion": "XY Kalos Champion Battle",
"battle_alola_champion": "USUM Alola Champion Battle",
"battle_galar_champion": "SWSH Galar Champion Battle",
"battle_champion_geeta": "SV Champion Geeta Battle",
"battle_champion_nemona": "SV Champion Nemona Battle",
"battle_champion_kieran": "SV Champion Kieran Battle",
"battle_hoenn_elite": "ORAS Elite Four Battle",
"battle_unova_elite": "BW Elite Four Battle",
"battle_kalos_elite": "XY Elite Four Battle",
"battle_alola_elite": "SM Elite Four Battle",
"battle_galar_elite": "SWSH League Tournament Battle",
"battle_paldea_elite": "SV Elite Four Battle",
"battle_bb_elite": "SV BB League Elite Four Battle",
"battle_final_encounter": "PMD RTDX Rayquaza's Domain",
"battle_final": "BW Ghetsis Battle",
"battle_kanto_gym": "B2W2 Kanto Gym Battle",
"battle_johto_gym": "B2W2 Johto Gym Battle",
"battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
"battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
"battle_unova_gym": "BW Unova Gym Battle",
"battle_kalos_gym": "XY Kalos Gym Battle",
"battle_galar_gym": "SWSH Galar Gym Battle",
"battle_paldea_gym": "SV Paldea Gym Battle",
"battle_legendary_kanto": "XY Kanto Legendary Battle",
"battle_legendary_raikou": "HGSS Raikou Battle",
"battle_legendary_entei": "HGSS Entei Battle",
"battle_legendary_suicune": "HGSS Suicune Battle",
"battle_legendary_lugia": "HGSS Lugia Battle",
"battle_legendary_ho_oh": "HGSS Ho-oh Battle",
"battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
"battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
"battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
"battle_legendary_rayquaza": "ORAS Rayquaza Battle",
"battle_legendary_deoxys": "ORAS Deoxys Battle",
"battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
"battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
"battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
"battle_legendary_giratina": "ORAS Giratina Battle",
"battle_legendary_arceus": "HGSS Arceus Battle",
"battle_legendary_unova": "BW Unova Legendary Battle",
"battle_legendary_kyurem": "BW Kyurem Battle",
"battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
"battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
"battle_legendary_tapu": "SM Tapu Battle",
"battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
"battle_legendary_ub": "SM Ultra Beast Battle",
"battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
"battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
"battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
"battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
"battle_legendary_calyrex": "SWSH Calyrex Battle",
"battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
"battle_legendary_ruinous": "SV Treasures of Ruin Battle",
"battle_legendary_loyal_three": "SV Loyal Three Battle",
"battle_legendary_ogerpon": "SV Ogerpon Battle",
"battle_legendary_terapagos": "SV Terapagos Battle",
"battle_legendary_pecharunt": "SV Pecharunt Battle",
"battle_rival": "BW Rival Battle",
"battle_rival_2": "BW N Battle",
"battle_rival_3": "BW Final N Battle",
"battle_trainer": "BW Trainer Battle",
"battle_wild": "BW Wild Battle",
"battle_wild_strong": "BW Strong Wild Battle",
"end_summit": "PMD RTDX Sky Tower Summit",
"battle_plasma_grunt": "BW Team Plasma Battle",
// Biome Music
"abyss": "PMD EoS Dark Crater",
"badlands": "PMD EoS Barren Valley",
"beach": "PMD EoS Drenched Bluff",
"cave": "PMD EoS Sky Peak Cave",
"construction_site": "PMD EoS Boulder Quarry",
"desert": "PMD EoS Northern Desert",
"dojo": "PMD EoS Marowa Dojo",
"end": "PMD RTDX Sky Tower",
"factory": "PMD EoS Concealed Ruins",
"fairy_cave": "PMD EoS Star Cave",
"forest": "PMD EoS Dusk Forest",
"grass": "PMD EoS Apple Woods",
"graveyard": "PMD EoS Mystifying Forest",
"ice_cave": "PMD EoS Vast Ice Mountain",
"island": "PMD EoS Craggy Coast",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "PMD EoS Crystal Cave",
"meadow": "PMD EoS Sky Peak Forest",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "PMD EoS Mt. Horn",
"plains": "PMD EoS Sky Peak Prairie",
"power_plant": "PMD EoS Far Amp Plains",
"ruins": "PMD EoS Deep Sealed Ruin",
"sea": "PMD EoS Brine Cave",
"seabed": "PMD EoS Lower Brine Cave",
"slum": "PMD EoS Sky Peak Coast",
"snowy_forest": "PMD EoS Sky Peak Snowfield",
"space": "PMD EoS Fortune Ravine",
"swamp": "PMD EoS Surrounded Sea",
"tall_grass": "PMD EoS Foggy Forest",
"temple": "PMD EoS Aegis Cave",
"town": "PMD EoS Random Dungeon Theme 3",
"volcano": "PMD EoS Steam Cave",
"wasteland": "PMD EoS Hidden Highland",
// Encounter
"encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
"encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
"encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
"encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
"encounter_lass": "BW Trainers' Eyes Meet (Lass)",
"encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
"encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
"encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
"encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
"encounter_rival": "BW Cheren",
"encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
"encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
"encounter_twins": "BW Trainers' Eyes Meet (Twins)",
"encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
// Other
"heal": "BW Pokémon Heal",
"menu": "PMD Eos Welcome to the World of Pokémon!",
"title": "PMD EoS Top Menu Theme",
} as const;

View File

@ -6,6 +6,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const enConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (Alt)",
"mute": "Mute",
"controller": "Controller",
"gamepadSupport": "Gamepad Support"
"gamepadSupport": "Gamepad Support",
"showBgmBar": "Show Music Names",
} as const;

135
src/locales/es/bgm-name.ts Normal file
View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Música",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "B2W2 - ¡Vs Campeón de Kanto!",
"battle_johto_champion": "B2W2 - ¡Vs Campeón de Johto!",
"battle_hoenn_champion": "B2W2 - ¡Vs Campeón de Hoenn!",
"battle_sinnoh_champion": "B2W2 - ¡Vs Campeón de Sinnoh!",
"battle_champion_alder": "BW - ¡Vs Campeón de Teselia!",
"battle_champion_iris": "B2W2 - ¡Vs Campeón de Teselia!",
"battle_kalos_champion": "XY - ¡Vs Campeón de Kalos!",
"battle_alola_champion": "USUM - ¡Vs Campeón de Alola!",
"battle_galar_champion": "SWSH - ¡Vs Campeón de Galar!",
"battle_champion_geeta": "SV - ¡Vs Campeona Ságita!",
"battle_champion_nemona": "SV - ¡Vs Campeona Mencía!",
"battle_champion_kieran": "SV - ¡Vs Campeón Cass!",
"battle_hoenn_elite": "ORAS - ¡Vs Alto Mando!",
"battle_unova_elite": "BW - ¡Vs Alto Mando!",
"battle_kalos_elite": "XY - ¡Vs Alto Mando!",
"battle_alola_elite": "SM - ¡Vs Alto Mando!",
"battle_galar_elite": "SWSH - Torneo de Finalistas",
"battle_paldea_elite": "SV - ¡Vs Alto Mando!",
"battle_bb_elite": "SV - ¡Vs Alto Mando de la Academia Arándano!",
"battle_final_encounter": "PMD RTDX - Dominio de Rayquaza",
"battle_final": "BW - ¡Vs Ghechis!",
"battle_kanto_gym": "B2W2 - ¡Vs Líder de Kanto!",
"battle_johto_gym": "B2W2 - ¡Vs Líder de Johto!",
"battle_hoenn_gym": "B2W2 - ¡Vs Líder de Hoenn!",
"battle_sinnoh_gym": "B2W2 - ¡Vs Líder de Sinnoh!",
"battle_unova_gym": "BW - ¡Vs Líder de Teselia!",
"battle_kalos_gym": "XY - ¡Vs Líder de Kalos!",
"battle_galar_gym": "SWSH - ¡Vs Líder de Galar!",
"battle_paldea_gym": "SV - ¡Vs Líder de Paldea!",
"battle_legendary_kanto": "XY - ¡Vs Legendarios de Kanto!",
"battle_legendary_raikou": "HGSS - ¡Vs Raikou!",
"battle_legendary_entei": "HGSS - ¡Vs Entei!",
"battle_legendary_suicune": "HGSS - ¡Vs Suicune!",
"battle_legendary_lugia": "HGSS - ¡Vs Lugia!",
"battle_legendary_ho_oh": "HGSS - ¡Vs Ho-oh!",
"battle_legendary_regis_g5": "B2W2 - ¡Vs Regis!",
"battle_legendary_regis_g6": "ORAS - ¡Vs Regis!",
"battle_legendary_gro_kyo": "ORAS - ¡Vs Groudon/Kyogre!",
"battle_legendary_rayquaza": "ORAS - ¡Vs Rayquaza!",
"battle_legendary_deoxys": "ORAS - ¡Vs Deoxys!",
"battle_legendary_lake_trio": "ORAS - ¡Vs Trío del Lago!",
"battle_legendary_sinnoh": "ORAS - ¡Vs Legendarios de Sinnoh!",
"battle_legendary_dia_pal": "ORAS - ¡Vs Dialga/Palkia!",
"battle_legendary_giratina": "ORAS - ¡Vs Giratina!",
"battle_legendary_arceus": "HGSS - ¡Vs Arceus!",
"battle_legendary_unova": "BW - ¡Vs Legendarios de Teselia!",
"battle_legendary_kyurem": "BW - ¡Vs Kyurem!",
"battle_legendary_res_zek": "BW - ¡Vs Reshiram/Zekrom!",
"battle_legendary_xern_yvel": "XY - ¡Vs Xerneas/Yveltal!",
"battle_legendary_tapu": "SM - ¡Vs Tapus!",
"battle_legendary_sol_lun": "SM - ¡Vs Solgaleo/Lunala!",
"battle_legendary_ub": "SM - ¡Vs Ultraentes!",
"battle_legendary_dusk_dawn": "USUM - ¡Vs Necrozma Melena Crepuscular/Alas del Alba!",
"battle_legendary_ultra_nec": "USUM - ¡Vs Ultra-Necrozma!",
"battle_legendary_zac_zam": "SWSH - ¡Vs Zacian/Zamazenta!",
"battle_legendary_glas_spec": "SWSH - ¡Vs Glastrier/Spectrier!",
"battle_legendary_calyrex": "SWSH - ¡Vs Calyrex!",
"battle_legendary_birds_galar": "SWSH - ¡Vs Aves Legendarias de Galar!",
"battle_legendary_ruinous": "SV - ¡Vs Tesoros Funestos!",
"battle_legendary_loyal_three": "SV - ¡Vs Compatrones!",
"battle_legendary_ogerpon": "SV - ¡Vs Ogerpon!",
"battle_legendary_terapagos": "SV - ¡Vs Terapagos!",
"battle_legendary_pecharunt": "SV - ¡Vs Pecharunt!",
"battle_rival": "BW - ¡Vs Rival!",
"battle_rival_2": "BW - ¡Vs N!",
"battle_rival_3": "BW - ¡Vs N (Liga Pokémon)!",
"battle_trainer": "BW - ¡Vs Entrenador!",
"battle_wild": "BW - ¡Vs Pokémon Salvaje!",
"battle_wild_strong": "BW - ¡Vs Pokémon Salvaje Raro!",
"end_summit": "PMD RTDX - Techo del Cielo",
"battle_plasma_grunt": "BW - ¡Vs Equipo Plasma!",
// Biome Music
"abyss": "PMD EoS - Cráter Oscuro",
"badlands": "PMD EoS - Valle Desolado",
"beach": "PMD EoS - Risco Calado",
"cave": "PMD EoS - Cueva de la Cumbre del Cielo",
"construction_site": "PMD EoS - Roquedal",
"desert": "PMD EoS - Desierto Norte",
"dojo": "PMD EoS - Dojo Marowak",
"end": "PMD RTDX - Torre del Cielo",
"factory": "PMD EoS - Ruinas Camufladas",
"fairy_cave": "PMD EoS - Cueva Estrella",
"forest": "PMD EoS - Bosque Sombrío",
"grass": "PMD EoS - Manzanar",
"graveyard": "PMD EoS - Bosque Misterio",
"ice_cave": "PMD EoS - Gran Iceberg",
"island": "PMD EoS - Costa Escarpada",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "PMD EoS - Cueva Cristal",
"meadow": "PMD EoS - Bosque de la Cumbre del Cielo",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "PMD EoS - Monte Cuerno",
"plains": "PMD EoS - Pradera de la Cumbre del Cielo",
"power_plant": "PMD EoS - Pradera Destello",
"ruins": "PMD EoS - Sima Hermética",
"sea": "PMD EoS - Cueva Aguamar",
"seabed": "PMD EoS - Fosa Aguamar",
"slum": "PMD EoS - Costa de la Cumbre del Cielo",
"snowy_forest": "PMD EoS - Campo nevado de la Cumbre del Cielo",
"space": "PMD EoS - Risco Fortuna",
"swamp": "PMD EoS - Mar Circundante",
"tall_grass": "PMD EoS - Bosque Niebla",
"temple": "PMD EoS - Cueva Regia",
"town": "PMD EoS - Tema del territorio aleatorio 3",
"volcano": "PMD EoS - Cueva Vapor",
"wasteland": "PMD EoS - Corazón Tierra Oculta",
// Encounter
"encounter_ace_trainer": "BW - Desafío Combate (Entrenador Guay)",
"encounter_backpacker": "BW - Desafío Combate (Mochilero)",
"encounter_clerk": "BW - Desafío Combate (Empresario)",
"encounter_cyclist": "BW - Desafío Combate (Ciclista)",
"encounter_lass": "BW - Desafío Combate (Chica)",
"encounter_parasol_lady": "BW - Desafío Combate (Dama parasol)",
"encounter_pokefan": "BW - Desafío Combate (Pokéfan)",
"encounter_psychic": "BW - Desafío Combate (Médium)",
"encounter_rich": "BW - Desafío Combate (Aristócrata)",
"encounter_rival": "BW - Desafío Combate (Cheren)",
"encounter_roughneck": "BW - Desafío Combate (Calvo)",
"encounter_scientist": "BW - Desafío Combate (Científico)",
"encounter_twins": "BW - Desafío Combate (Gemelas)",
"encounter_youngster": "BW - Desafío Combate (Joven)",
// Other
"heal": "BW - Cura Pokémon",
"menu": "PMD Eos - ¡Bienvenidos al mundo de los Pokémon!",
"title": "PMD EoS - Tema del menú principal",
} as const;

View File

@ -4,6 +4,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const esConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (Alt)",
"mute": "Mute",
"controller": "Controller",
"gamepadSupport": "Gamepad Support"
"gamepadSupport": "Gamepad Support",
"showBgmBar": "Show Music Names",
} as const;

135
src/locales/fr/bgm-name.ts Normal file
View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Musique ",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "N2B2 - Vs. Maitre de Kanto",
"battle_johto_champion": "N2B2 - Vs. Maitre de Johto",
"battle_hoenn_champion": "N2B2 - Vs. Maitre de Hoenn",
"battle_sinnoh_champion": "N2B2 - Vs. Maitresse de Sinnoh",
"battle_champion_alder": "NB - Vs. Maitre dUnys",
"battle_champion_iris": "N2B2 - Vs. Maitresse dUnys",
"battle_kalos_champion": "XY - Maitresse de Kalos",
"battle_alola_champion": "USUL - Maitre dAlola",
"battle_galar_champion": "ÉB - Maitre de Galar",
"battle_champion_geeta": "ÉV - Vs. Alisma la Maitresse",
"battle_champion_nemona": "ÉV - Vs. Menzi la Maitresse",
"battle_champion_kieran": "ÉV - Vs. Kassis le Maitre",
"battle_hoenn_elite": "ROSA - Vs. Conseil 4",
"battle_unova_elite": "NB - Vs. Conseil 4",
"battle_kalos_elite": "XY - Vs. Conseil 4",
"battle_alola_elite": "SL - Vs. Conseil 4",
"battle_galar_elite": "ÉB - Vs. Tournoi des Champions",
"battle_paldea_elite": "ÉV - Vs. Conseil 4",
"battle_bb_elite": "ÉV - Vs. Conseil 4 de lInstitut Myrtille",
"battle_final_encounter": "PDM ÉSDX - Vs. Rayquaza",
"battle_final": "NB - Vs. Ghetis",
"battle_kanto_gym": "N2B2 - Vs. Champion·ne dArène de Kanto",
"battle_johto_gym": "N2B2 - Vs. Champion·ne dArène de Johto",
"battle_hoenn_gym": "N2B2 - Vs. Champion·ne dArène de Hoenn",
"battle_sinnoh_gym": "N2B2 - Vs. Champion·ne dArène de Sinnoh",
"battle_unova_gym": "NB - Vs. Champion·ne dArène dUnys",
"battle_kalos_gym": "XY - Vs. Champion·ne dArène de Kalos",
"battle_galar_gym": "ÉB - Vs. Champion·ne dArène de Galar",
"battle_paldea_gym": "ÉV - Vs. Champion·ne dArène de Paldea",
"battle_legendary_kanto": "XY - Vs. Légendaire de Kanto",
"battle_legendary_raikou": "HGSS - Vs. Raikou",
"battle_legendary_entei": "HGSS - Vs. Entei",
"battle_legendary_suicune": "HGSS - Vs. Suicune",
"battle_legendary_lugia": "HGSS - Vs. Lugia",
"battle_legendary_ho_oh": "HGSS - Vs. Ho-oh",
"battle_legendary_regis_g5": "N2B2 - Vs. Colosses Légendaires",
"battle_legendary_regis_g6": "ROSA - Vs. Colosses Légendaires",
"battle_legendary_gro_kyo": "ROSA - Vs. Groudon/Kyogre",
"battle_legendary_rayquaza": "ROSA - Vs. Rayquaza",
"battle_legendary_deoxys": "ROSA - Vs. Deoxys",
"battle_legendary_lake_trio": "ROSA - Vs. Gardiens des Lacs",
"battle_legendary_sinnoh": "ROSA - Vs. Légendaire de Sinnoh",
"battle_legendary_dia_pal": "ROSA - Vs. Dialga/Palkia",
"battle_legendary_giratina": "ROSA - Vs. Giratina",
"battle_legendary_arceus": "HGSS - Vs. Arceus",
"battle_legendary_unova": "NB - Vs. Légendaire dUnys",
"battle_legendary_kyurem": "NB - Vs. Kyurem",
"battle_legendary_res_zek": "NB - Vs. Reshiram/Zekrom",
"battle_legendary_xern_yvel": "XY - Vs. Xerneas/Yveltal",
"battle_legendary_tapu": "SL - Vs. Divinités gardiennes dAlola",
"battle_legendary_sol_lun": "SL - Vs. Solgaleo/Lunala",
"battle_legendary_ub": "SL - Vs. Ultra-Chimère",
"battle_legendary_dusk_dawn": "USUL - Vs. Necrozma Crinière du Couchant/Ailes de lAurore",
"battle_legendary_ultra_nec": "USUL - Vs. Ultra-Necrozma",
"battle_legendary_zac_zam": "ÉB - Vs. Zacian/Zamazenta",
"battle_legendary_glas_spec": "ÉB - Vs. Blizzeval/Spectreval",
"battle_legendary_calyrex": "ÉB - Vs. Sylveroy",
"battle_legendary_birds_galar": "ÉB - Vs. Oiseaux Légendaires de Galar",
"battle_legendary_ruinous": "ÉV - Vs. Trésors du fléau",
"battle_legendary_loyal_three": "ÉV - Vs. Adoramis",
"battle_legendary_ogerpon": "ÉV - Vs. Ogerpon",
"battle_legendary_terapagos": "ÉV - Vs. Terapagos",
"battle_legendary_pecharunt": "ÉV - Vs. Pêchaminus",
"battle_rival": "NB - Vs. Rival",
"battle_rival_2": "NB - Vs. N",
"battle_rival_3": "NB - Combat final Vs. N",
"battle_trainer": "NB - Vs. Dresseur·euse",
"battle_wild": "NB - Vs. Pokémon sauvage",
"battle_wild_strong": "NB - Vs. Pokémon puissant sauvage",
"end_summit": "PDM ÉSDX - Tour Céleste",
"battle_plasma_grunt": "NB - Vs. Team Plasma",
// Biome Music
"abyss": "PDM EdS - Cratère Obscur",
"badlands": "PDM EdS - Vallée Stérile",
"beach": "PDM EdS - Falaise Trempée",
"cave": "PDM EdS - Pic Céleste (grotte)",
"construction_site": "PDM EdS - Carrière Rocher",
"desert": "PDM EdS - Désert du Nord",
"dojo": "PDM EdS - Dojo Ossatueur",
"end": "PDM EdS - Tour Céleste",
"factory": "PDM EdS - Ruines Cachées",
"fairy_cave": "PDM EdS - Caverne Étoile",
"forest": "PDM EdS - Forêt Crépuscule",
"grass": "PDM EdS - Bois aux Pommes",
"graveyard": "PDM EdS - Forêt Trompeuse",
"ice_cave": "PDM EdS - Montagne Glacier",
"island": "PDM EdS - Côte Escarpée",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "PDM EdS - Caverne Cristal",
"meadow": "PDM EdS - Pic Céleste (forêt)",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "PDM EdS - Mt Corne",
"plains": "PDM EdS - Pic Céleste (prairie)",
"power_plant": "PDM EdS - Plaines Élek",
"ruins": "PDM EdS - Ruine Scellée",
"sea": "PDM EdS - Caverne Saline",
"seabed": "PDM EdS - Caverne Saline profondeurs",
"slum": "PDM EdS - Pic Céleste (côte)",
"snowy_forest": "PDM EdS - Pic Céleste (plaine enneigée)",
"space": "PDM EdS - Ravin Aubaine",
"swamp": "PDM EdS - Mer Fermée",
"tall_grass": "PDM EdS - Forêt Brumeuse",
"temple": "PDM EdS - Grotte Égide",
"town": "PDM EdS - Donjon aléatoire - Thème 3",
"volcano": "PDM EdS - Grotte Étuve",
"wasteland": "PDM EdS - Terres Illusoires",
// Encounter
"encounter_ace_trainer": "NB - Regards croisés (Topdresseur·euse)",
"encounter_backpacker": "NB - Regards croisés (Randonneur·euse)",
"encounter_clerk": "NB - Regards croisés (Employé·e)",
"encounter_cyclist": "NB - Regards croisés (Cycliste)",
"encounter_lass": "NB - Regards croisés (Fillette)",
"encounter_parasol_lady": "NB - Regards croisés (Sœur Parasol)",
"encounter_pokefan": "NB - Regards croisés (Pokéfan)",
"encounter_psychic": "NB - Regards croisés (Kinésiste)",
"encounter_rich": "NB - Regards croisés (Gentleman)",
"encounter_rival": "NB - Tcheren",
"encounter_roughneck": "NB - Regards croisés (Loubard)",
"encounter_scientist": "NB - Regards croisés (Scientifique)",
"encounter_twins": "NB - Regards croisés (Jumelles)",
"encounter_youngster": "NB - Regards croisés (Gamin)",
// Other
"heal": "NB - Soin de Pokémon",
"menu": "PDM EdS - Bienvenue dans le monde de Pokémon !",
"title": "PDM EdS - Menu Principal",
} as const;

View File

@ -4,6 +4,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const frConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (Alt)",
"mute": "Muet",
"controller": "Controller",
"gamepadSupport": "Gamepad Support"
"gamepadSupport": "Gamepad Support",
"showBgmBar": "Montrer titre de la musique",
} as const;

135
src/locales/it/bgm-name.ts Normal file
View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Music",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "B2W2 Kanto Champion Battle",
"battle_johto_champion": "B2W2 Johto Champion Battle",
"battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
"battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
"battle_champion_alder": "BW Unova Champion Battle",
"battle_champion_iris": "B2W2 Unova Champion Battle",
"battle_kalos_champion": "XY Kalos Champion Battle",
"battle_alola_champion": "USUM Alola Champion Battle",
"battle_galar_champion": "SWSH Galar Champion Battle",
"battle_champion_geeta": "SV Champion Geeta Battle",
"battle_champion_nemona": "SV Champion Nemona Battle",
"battle_champion_kieran": "SV Champion Kieran Battle",
"battle_hoenn_elite": "ORAS Elite Four Battle",
"battle_unova_elite": "BW Elite Four Battle",
"battle_kalos_elite": "XY Elite Four Battle",
"battle_alola_elite": "SM Elite Four Battle",
"battle_galar_elite": "SWSH League Tournament Battle",
"battle_paldea_elite": "SV Elite Four Battle",
"battle_bb_elite": "SV BB League Elite Four Battle",
"battle_final_encounter": "PMD RTDX Rayquaza's Domain",
"battle_final": "BW Ghetsis Battle",
"battle_kanto_gym": "B2W2 Kanto Gym Battle",
"battle_johto_gym": "B2W2 Johto Gym Battle",
"battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
"battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
"battle_unova_gym": "BW Unova Gym Battle",
"battle_kalos_gym": "XY Kalos Gym Battle",
"battle_galar_gym": "SWSH Galar Gym Battle",
"battle_paldea_gym": "SV Paldea Gym Battle",
"battle_legendary_kanto": "XY Kanto Legendary Battle",
"battle_legendary_raikou": "HGSS Raikou Battle",
"battle_legendary_entei": "HGSS Entei Battle",
"battle_legendary_suicune": "HGSS Suicune Battle",
"battle_legendary_lugia": "HGSS Lugia Battle",
"battle_legendary_ho_oh": "HGSS Ho-oh Battle",
"battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
"battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
"battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
"battle_legendary_rayquaza": "ORAS Rayquaza Battle",
"battle_legendary_deoxys": "ORAS Deoxys Battle",
"battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
"battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
"battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
"battle_legendary_giratina": "ORAS Giratina Battle",
"battle_legendary_arceus": "HGSS Arceus Battle",
"battle_legendary_unova": "BW Unova Legendary Battle",
"battle_legendary_kyurem": "BW Kyurem Battle",
"battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
"battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
"battle_legendary_tapu": "SM Tapu Battle",
"battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
"battle_legendary_ub": "SM Ultra Beast Battle",
"battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
"battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
"battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
"battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
"battle_legendary_calyrex": "SWSH Calyrex Battle",
"battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
"battle_legendary_ruinous": "SV Treasures of Ruin Battle",
"battle_legendary_loyal_three": "SV Loyal Three Battle",
"battle_legendary_ogerpon": "SV Ogerpon Battle",
"battle_legendary_terapagos": "SV Terapagos Battle",
"battle_legendary_pecharunt": "SV Pecharunt Battle",
"battle_rival": "BW Rival Battle",
"battle_rival_2": "BW N Battle",
"battle_rival_3": "BW Final N Battle",
"battle_trainer": "BW Trainer Battle",
"battle_wild": "BW Wild Battle",
"battle_wild_strong": "BW Strong Wild Battle",
"end_summit": "PMD RTDX Sky Tower Summit",
"battle_plasma_grunt": "BW Team Plasma Battle",
// Biome Music
"abyss": "PMD EoS Dark Crater",
"badlands": "PMD EoS Barren Valley",
"beach": "PMD EoS Drenched Bluff",
"cave": "PMD EoS Sky Peak Cave",
"construction_site": "PMD EoS Boulder Quarry",
"desert": "PMD EoS Northern Desert",
"dojo": "PMD EoS Marowa Dojo",
"end": "PMD RTDX Sky Tower",
"factory": "PMD EoS Concealed Ruins",
"fairy_cave": "PMD EoS Star Cave",
"forest": "PMD EoS Dusk Forest",
"grass": "PMD EoS Apple Woods",
"graveyard": "PMD EoS Mystifying Forest",
"ice_cave": "PMD EoS Vast Ice Mountain",
"island": "PMD EoS Craggy Coast",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "PMD EoS Crystal Cave",
"meadow": "PMD EoS Sky Peak Forest",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "PMD EoS Mt. Horn",
"plains": "PMD EoS Sky Peak Prairie",
"power_plant": "PMD EoS Far Amp Plains",
"ruins": "PMD EoS Deep Sealed Ruin",
"sea": "PMD EoS Brine Cave",
"seabed": "PMD EoS Lower Brine Cave",
"slum": "PMD EoS Sky Peak Coast",
"snowy_forest": "PMD EoS Sky Peak Snowfield",
"space": "PMD EoS Fortune Ravine",
"swamp": "PMD EoS Surrounded Sea",
"tall_grass": "PMD EoS Foggy Forest",
"temple": "PMD EoS Aegis Cave",
"town": "PMD EoS Random Dungeon Theme 3",
"volcano": "PMD EoS Steam Cave",
"wasteland": "PMD EoS Hidden Highland",
// Encounter
"encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
"encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
"encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
"encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
"encounter_lass": "BW Trainers' Eyes Meet (Lass)",
"encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
"encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
"encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
"encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
"encounter_rival": "BW Cheren",
"encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
"encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
"encounter_twins": "BW Trainers' Eyes Meet (Twins)",
"encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
// Other
"heal": "BW Pokémon Heal",
"menu": "PMD Eos Welcome to the World of Pokémon!",
"title": "PMD EoS Top Menu Theme",
} as const;

View File

@ -4,6 +4,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const itConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (Alt)",
"mute": "Mute",
"controller": "Controller",
"gamepadSupport": "Gamepad Support"
"gamepadSupport": "Gamepad Support",
"showBgmBar": "Show Music Names",
} as const;

135
src/locales/ko/bgm-name.ts Normal file
View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Music",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "BW2 관동 챔피언 배틀",
"battle_johto_champion": "BW2 성도 챔피언 배틀",
"battle_hoenn_champion": "BW2 호연 챔피언 배틀",
"battle_sinnoh_champion": "BW2 신오 챔피언 배틀",
"battle_champion_alder": "BW 하나 챔피언 배틀",
"battle_champion_iris": "BW2 하나 챔피언 배틀",
"battle_kalos_champion": "XY 칼로스 챔피언 배틀",
"battle_alola_champion": "USUM 알로라 챔피언 배틀",
"battle_galar_champion": "SWSH 가라르 챔피언 배틀",
"battle_champion_geeta": "SV 챔피언 테사 배틀",
"battle_champion_nemona": "SV 챔피언 네모 배틀",
"battle_champion_kieran": "SV 챔피언 카지 배틀",
"battle_hoenn_elite": "ORAS 사천왕 배틀",
"battle_unova_elite": "BW 사천왕 배틀",
"battle_kalos_elite": "XY 사천왕 배틀",
"battle_alola_elite": "SM 사천왕 배틀",
"battle_galar_elite": "SWSH 리그 토너먼트 배틀",
"battle_paldea_elite": "SV 사천왕 배틀",
"battle_bb_elite": "SV 블루베리 리그 사천왕 배틀",
"battle_final_encounter": "불가사의 던전 구조대 DX 레쿠쟈의 영역",
"battle_final": "BW 게치스 배틀",
"battle_kanto_gym": "BW2 관동 체육관 배틀",
"battle_johto_gym": "BW2 성도 체육관 배틀",
"battle_hoenn_gym": "BW2 호연 체육관 배틀",
"battle_sinnoh_gym": "BW2 신오 체육관 배틀",
"battle_unova_gym": "BW 하나 체육관 배틀",
"battle_kalos_gym": "XY 칼로스 체육관 배틀",
"battle_galar_gym": "SWSH 가라르 체육관 배틀",
"battle_paldea_gym": "SV 팔데아 체육관 배틀",
"battle_legendary_kanto": "XY 관동 전설 조우 배틀",
"battle_legendary_raikou": "HGSS 라이코 배틀",
"battle_legendary_entei": "HGSS 엔테이 배틀",
"battle_legendary_suicune": "HGSS 스이쿤 배틀",
"battle_legendary_lugia": "HGSS 루기아 배틀",
"battle_legendary_ho_oh": "HGSS 칠색조 배틀",
"battle_legendary_regis_g5": "BW2 레지시리즈 배틀",
"battle_legendary_regis_g6": "ORAS 레지시리즈 배틀",
"battle_legendary_gro_kyo": "ORAS 그란돈 & 가이오가 배틀",
"battle_legendary_rayquaza": "ORAS 레쿠쟈 배틀",
"battle_legendary_deoxys": "ORAS 데오키시스 배틀",
"battle_legendary_lake_trio": "ORAS 호수의 수호신 배틀",
"battle_legendary_sinnoh": "ORAS 신오 전설 조우 배틀",
"battle_legendary_dia_pal": "ORAS 디아루가 & 펄기아 배틀",
"battle_legendary_giratina": "ORAS 기라티나 배틀",
"battle_legendary_arceus": "HGSS 아르세우스 배틀",
"battle_legendary_unova": "BW 하나 전설 조우 배틀",
"battle_legendary_kyurem": "BW 큐레무 배틀",
"battle_legendary_res_zek": "BW 레시라무 & 제크로무 배틀",
"battle_legendary_xern_yvel": "XY 제르네아스 & 이벨타르 배틀",
"battle_legendary_tapu": "SM 섬 수호신 배틀",
"battle_legendary_sol_lun": "SM 솔가레오 & 루나아라 배틀",
"battle_legendary_ub": "SM 울트라비스트 배틀",
"battle_legendary_dusk_dawn": "USUM 황혼의 갈기 & 새벽의 날개 네크로즈마 배틀",
"battle_legendary_ultra_nec": "USUM 울트라 네크로즈마 배틀",
"battle_legendary_zac_zam": "SWSH 자시안 & 자마젠타 배틀",
"battle_legendary_glas_spec": "SWSH 블리자포스 & 레이스포스 배틀",
"battle_legendary_calyrex": "SWSH 버드렉스 배틀",
"battle_legendary_birds_galar": "SWSH 가라르 전설의 새 배틀",
"battle_legendary_ruinous": "SV 재앙의 보물 배틀",
"battle_legendary_loyal_three": "SV 세벗들 배틀",
"battle_legendary_ogerpon": "SV 오거폰 배틀",
"battle_legendary_terapagos": "SV 테라파고스 배틀",
"battle_legendary_pecharunt": "SV 복숭악동 배틀",
"battle_rival": "BW 라이벌 배틀",
"battle_rival_2": "BW N 배틀",
"battle_rival_3": "BW 최종전 N 배틀",
"battle_trainer": "BW 트레이너 배틀",
"battle_wild": "BW 야생 포켓몬 배틀",
"battle_wild_strong": "BW 강한 야생 포켓몬 조우 배틀",
"end_summit": "불가사의 던전 구조대 DX 천공의 탑 꼭대기",
"battle_plasma_grunt": "BW 플라스마단 배틀",
// Biome Music
"abyss": "불가사의 던전 하늘의 탐험대 어둠의 화구",
"badlands": "불가사의 던전 하늘의 탐험대 불모의 계곡",
"beach": "불가사의 던전 하늘의 탐험대 축축한 암반",
"cave": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 동굴",
"construction_site": "불가사의 던전 하늘의 탐험대 바위 채석장",
"desert": "불가사의 던전 하늘의 탐험대 북쪽 사막",
"dojo": "불가사의 던전 하늘의 탐험대 텅구리 도장",
"end": "불가사의 던전 구조대DX 천공의 탑",
"factory": "불가사의 던전 하늘의 탐험대 숨겨진 유적",
"fairy_cave": "불가사의 던전 하늘의 탐험대 별의 동굴",
"forest": "불가사의 던전 하늘의 탐험대 검은 숲",
"grass": "불가사의 던전 하늘의 탐험대 사과의 숲",
"graveyard": "불가사의 던전 하늘의 탐험대 신비의 숲",
"ice_cave": "불가사의 던전 하늘의 탐험대 광대한 얼음산",
"island": "불가사의 던전 하늘의 탐험대 연안의 암반",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "불가사의 던전 하늘의 탐험대 수정 동굴",
"meadow": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 숲",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "불가사의 던전 하늘의 탐험대 뿔산",
"plains": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 초원",
"power_plant": "불가사의 던전 하늘의 탐험대 일렉트릭 평원",
"ruins": "불가사의 던전 하늘의 탐험대 봉인의 암반",
"sea": "불가사의 던전 하늘의 탐험대 바닷가 동굴",
"seabed": "불가사의 던전 하늘의 탐험대 바닷가 동굴(저층)",
"slum": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 해변",
"snowy_forest": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 설원",
"space": "불가사의 던전 하늘의 탐험대 행운 협곡",
"swamp": "불가사의 던전 하늘의 탐험대 폐쇄되어진 바다",
"tall_grass": "불가사의 던전 하늘의 탐험대 짙은 안개의 숲",
"temple": "불가사의 던전 하늘의 탐험대 파수꾼의 동굴",
"town": "불가사의 던전 하늘의 탐험대 랜덤 던전 테마 3",
"volcano": "불가사의 던전 하늘의 탐험대 열수의 동굴",
"wasteland": "불가사의 던전 하늘의 탐험대 환상의 대지",
// Encounter
"encounter_ace_trainer": "BW 눈이 마주치면 승부! (엘리트 트레이너)",
"encounter_backpacker": "BW 눈이 마주치면 승부! (등산가)",
"encounter_clerk": "BW 눈이 마주치면 승부! (회사원)",
"encounter_cyclist": "BW 눈이 마주치면 승부! (사이클링)",
"encounter_lass": "BW 눈이 마주치면 승부! (짧은 치마)",
"encounter_parasol_lady": "BW 눈이 마주치면 승부! (파라솔 아가씨)",
"encounter_pokefan": "BW 눈이 마주치면 승부! (애호가클럽)",
"encounter_psychic": "BW 눈이 마주치면 승부! (초능력자)",
"encounter_rich": "BW 눈이 마주치면 승부! (신사)",
"encounter_rival": "BW 체렌",
"encounter_roughneck": "BW 눈이 마주치면 승부! (빡빡이)",
"encounter_scientist": "BW 눈이 마주치면 승부! (연구원)",
"encounter_twins": "BW 눈이 마주치면 승부! (쌍둥이)",
"encounter_youngster": "BW 눈이 마주치면 승부! (반바지 꼬마)",
// Other
"heal": "BW 포켓몬 센터",
"menu": "불가사의 던전 하늘의 탐험대 포켓몬 세계에 온 것을 환영한다!",
"title": "불가사의 던전 하늘의 탐험대 메뉴 테마",
} as const;

View File

@ -4,6 +4,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const koConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (대체)",
"mute": "음소거",
"controller": "컨트롤러",
"gamepadSupport": "게임패드 지원"
"gamepadSupport": "게임패드 지원",
"showBgmBar": "BGM 제목 보여주기",
} as const;

View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Music",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "B2W2 Kanto Champion Battle",
"battle_johto_champion": "B2W2 Johto Champion Battle",
"battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
"battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
"battle_champion_alder": "BW Unova Champion Battle",
"battle_champion_iris": "B2W2 Unova Champion Battle",
"battle_kalos_champion": "XY Kalos Champion Battle",
"battle_alola_champion": "USUM Alola Champion Battle",
"battle_galar_champion": "SWSH Galar Champion Battle",
"battle_champion_geeta": "SV Champion Geeta Battle",
"battle_champion_nemona": "SV Champion Nemona Battle",
"battle_champion_kieran": "SV Champion Kieran Battle",
"battle_hoenn_elite": "ORAS Elite Four Battle",
"battle_unova_elite": "BW Elite Four Battle",
"battle_kalos_elite": "XY Elite Four Battle",
"battle_alola_elite": "SM Elite Four Battle",
"battle_galar_elite": "SWSH League Tournament Battle",
"battle_paldea_elite": "SV Elite Four Battle",
"battle_bb_elite": "SV BB League Elite Four Battle",
"battle_final_encounter": "PMD RTDX Rayquaza's Domain",
"battle_final": "BW Ghetsis Battle",
"battle_kanto_gym": "B2W2 Kanto Gym Battle",
"battle_johto_gym": "B2W2 Johto Gym Battle",
"battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
"battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
"battle_unova_gym": "BW Unova Gym Battle",
"battle_kalos_gym": "XY Kalos Gym Battle",
"battle_galar_gym": "SWSH Galar Gym Battle",
"battle_paldea_gym": "SV Paldea Gym Battle",
"battle_legendary_kanto": "XY Kanto Legendary Battle",
"battle_legendary_raikou": "HGSS Raikou Battle",
"battle_legendary_entei": "HGSS Entei Battle",
"battle_legendary_suicune": "HGSS Suicune Battle",
"battle_legendary_lugia": "HGSS Lugia Battle",
"battle_legendary_ho_oh": "HGSS Ho-oh Battle",
"battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
"battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
"battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
"battle_legendary_rayquaza": "ORAS Rayquaza Battle",
"battle_legendary_deoxys": "ORAS Deoxys Battle",
"battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
"battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
"battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
"battle_legendary_giratina": "ORAS Giratina Battle",
"battle_legendary_arceus": "HGSS Arceus Battle",
"battle_legendary_unova": "BW Unova Legendary Battle",
"battle_legendary_kyurem": "BW Kyurem Battle",
"battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
"battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
"battle_legendary_tapu": "SM Tapu Battle",
"battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
"battle_legendary_ub": "SM Ultra Beast Battle",
"battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
"battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
"battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
"battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
"battle_legendary_calyrex": "SWSH Calyrex Battle",
"battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
"battle_legendary_ruinous": "SV Treasures of Ruin Battle",
"battle_legendary_loyal_three": "SV Loyal Three Battle",
"battle_legendary_ogerpon": "SV Ogerpon Battle",
"battle_legendary_terapagos": "SV Terapagos Battle",
"battle_legendary_pecharunt": "SV Pecharunt Battle",
"battle_rival": "BW Rival Battle",
"battle_rival_2": "BW N Battle",
"battle_rival_3": "BW Final N Battle",
"battle_trainer": "BW Trainer Battle",
"battle_wild": "BW Wild Battle",
"battle_wild_strong": "BW Strong Wild Battle",
"end_summit": "PMD RTDX Sky Tower Summit",
"battle_plasma_grunt": "BW Team Plasma Battle",
// Biome Music
"abyss": "PMD EoS Dark Crater",
"badlands": "PMD EoS Barren Valley",
"beach": "PMD EoS Drenched Bluff",
"cave": "PMD EoS Sky Peak Cave",
"construction_site": "PMD EoS Boulder Quarry",
"desert": "PMD EoS Northern Desert",
"dojo": "PMD EoS Marowa Dojo",
"end": "PMD RTDX Sky Tower",
"factory": "PMD EoS Concealed Ruins",
"fairy_cave": "PMD EoS Star Cave",
"forest": "PMD EoS Dusk Forest",
"grass": "PMD EoS Apple Woods",
"graveyard": "PMD EoS Mystifying Forest",
"ice_cave": "PMD EoS Vast Ice Mountain",
"island": "PMD EoS Craggy Coast",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "PMD EoS Crystal Cave",
"meadow": "PMD EoS Sky Peak Forest",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "PMD EoS Mt. Horn",
"plains": "PMD EoS Sky Peak Prairie",
"power_plant": "PMD EoS Far Amp Plains",
"ruins": "PMD EoS Deep Sealed Ruin",
"sea": "PMD EoS Brine Cave",
"seabed": "PMD EoS Lower Brine Cave",
"slum": "PMD EoS Sky Peak Coast",
"snowy_forest": "PMD EoS Sky Peak Snowfield",
"space": "PMD EoS Fortune Ravine",
"swamp": "PMD EoS Surrounded Sea",
"tall_grass": "PMD EoS Foggy Forest",
"temple": "PMD EoS Aegis Cave",
"town": "PMD EoS Random Dungeon Theme 3",
"volcano": "PMD EoS Steam Cave",
"wasteland": "PMD EoS Hidden Highland",
// Encounter
"encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
"encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
"encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
"encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
"encounter_lass": "BW Trainers' Eyes Meet (Lass)",
"encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
"encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
"encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
"encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
"encounter_rival": "BW Cheren",
"encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
"encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
"encounter_twins": "BW Trainers' Eyes Meet (Twins)",
"encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
// Other
"heal": "BW Pokémon Heal",
"menu": "PMD Eos Welcome to the World of Pokémon!",
"title": "PMD EoS Top Menu Theme",
} as const;

View File

@ -6,6 +6,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const ptBrConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (Alt)",
"mute": "Mudo",
"controller": "Controle",
"gamepadSupport": "Suporte para Controle"
"gamepadSupport": "Suporte para Controle",
"showBgmBar": "Show Music Names",
} as const;

View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "BGM",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "黑2白2「决战关都冠军」",
"battle_johto_champion": "黑2白2「决战城都冠军」",
"battle_hoenn_champion": "黑2白2「决战丰缘冠军」",
"battle_sinnoh_champion": "黑2白2「决战神奥冠军」",
"battle_champion_alder": "黑白「决战!合众冠军」",
"battle_champion_iris": "黑2白2「决战合众冠军」",
"battle_kalos_champion": "XY「决战卡洛斯冠军」",
"battle_alola_champion": "究极日月「顶上决战!」",
"battle_galar_champion": "剑盾「决战!伽勒尔冠军」",
"battle_champion_geeta": "朱紫「决战!帕底亚首席也慈」",
"battle_champion_nemona": "朱紫「决战!帕底亚冠军妮莫」",
"battle_champion_kieran": "朱紫「决战!蓝莓学园冠军乌栗」",
"battle_hoenn_elite": "Ω红宝石α蓝宝石 「战斗!丰缘四天王」",
"battle_unova_elite": "黑白 「战斗!合众四天王」",
"battle_kalos_elite": "XY「战斗卡洛斯四天王」",
"battle_alola_elite": "日月「战斗!阿罗拉四天王」",
"battle_galar_elite": "剑盾「联盟锦标赛」",
"battle_paldea_elite": "朱紫「战斗!帕底亚四天王」",
"battle_bb_elite": "朱紫「战斗!蓝之圆盘四天王」",
"battle_final_encounter": "探险队DX 「裂空座的领域」",
"battle_final": "黑白「战斗!魁奇思」",
"battle_kanto_gym": "黑2白2「战斗关都道馆主」",
"battle_johto_gym": "黑2白2「战斗城都道馆主」",
"battle_hoenn_gym": "黑2白2「战斗合众道馆主」",
"battle_sinnoh_gym": "黑2白2「战斗神奥道馆主」",
"battle_unova_gym": "黑白「战斗!合众道馆主」",
"battle_kalos_gym": "XY「战斗卡洛斯道馆主」",
"battle_galar_gym": "剑盾「战斗!伽勒尔道馆主」",
"battle_paldea_gym": "朱紫「战斗!帕底亚道馆主」",
"battle_legendary_kanto": "XY「战斗传说宝可梦关都」",
"battle_legendary_raikou": "心金魂银「战斗!雷公」",
"battle_legendary_entei": "心金魂银「战斗!炎帝」",
"battle_legendary_suicune": "心金魂银「战斗!水君」",
"battle_legendary_lugia": "心金魂银「战斗!洛奇亚」",
"battle_legendary_ho_oh": "心金魂银「战斗!凤王」",
"battle_legendary_regis_g5": "黑2白2「战斗传说中的巨人」",
"battle_legendary_regis_g6": "Ω红宝石α蓝宝石「战斗!传说中的巨人」",
"battle_legendary_gro_kyo": "Ω红宝石α蓝宝石「战斗!原始回归」",
"battle_legendary_rayquaza": "Ω红宝石α蓝宝石「战斗!超古代宝可梦」",
"battle_legendary_deoxys": "Ω红宝石α蓝宝石「战斗!代欧奇希斯」",
"battle_legendary_lake_trio": "Ω红宝石α蓝宝石「战斗!由克希・艾姆利多・亚克诺姆」",
"battle_legendary_sinnoh": "Ω红宝石α蓝宝石「战斗!传说的宝可梦」",
"battle_legendary_dia_pal": "Ω红宝石α蓝宝石「战斗!帝牙卢卡・帕路奇亚」",
"battle_legendary_giratina": "Ω红宝石α蓝宝石「战斗!骑拉帝纳」",
"battle_legendary_arceus": "心金魂银「阿尔宙斯」",
"battle_legendary_unova": "黑白「战斗!传说的宝可梦」",
"battle_legendary_kyurem": "黑白「战斗!酋雷姆」",
"battle_legendary_res_zek": "黑白「战斗!莱希拉姆・捷克罗姆」",
"battle_legendary_xern_yvel": "XY「战斗哲尔尼亚斯・伊裴尔塔尔」",
"battle_legendary_tapu": "日月「战斗!卡璞」",
"battle_legendary_sol_lun": "日月「战斗!露奈雅拉・索尔迦雷欧」",
"battle_legendary_ub": "日月「战斗!究极异兽」",
"battle_legendary_dusk_dawn": "究极日月「战斗!日食・月食 奈克洛兹玛」",
"battle_legendary_ultra_nec": "究极日月「战斗!究极奈克洛兹玛」",
"battle_legendary_zac_zam": "剑盾「战斗!苍响・藏玛然特」",
"battle_legendary_glas_spec": "剑盾「战斗! 雪暴马・灵幽马」",
"battle_legendary_calyrex": "剑盾「战斗!蕾冠王」",
"battle_legendary_birds_galar": "剑盾「战斗!传说的鸟宝可梦」",
"battle_legendary_ruinous": "朱紫「战斗!灾厄宝可梦」",
"battle_legendary_loyal_three": "朱紫「战斗!宝伴」",
"battle_legendary_ogerpon": "朱紫「战斗!厄鬼椪」",
"battle_legendary_terapagos": "朱紫「战斗!太乐巴戈斯」",
"battle_legendary_pecharunt": "朱紫「战斗!桃歹郎」",
"battle_rival": "黑白「战斗!黑连・贝尔」",
"battle_rival_2": "黑白「战斗N」",
"battle_rival_3": "黑白「决战N」",
"battle_trainer": "黑白「战斗!训练师」",
"battle_wild": "黑白「战斗!野生宝可梦」",
"battle_wild_strong": "黑白「战斗!强大野生宝可梦」",
"end_summit": "探险队DX 「天空之柱 顶层」",
"battle_plasma_grunt": "黑白「战斗!等离子团」",
// Biome Music
"abyss": "空之探险队「黑暗小丘」",
"badlands": "空之探险队「枯竭之谷」",
"beach": "空之探险队「潮湿岩地」",
"cave": "空之探险队「天空顶端(洞窟)」",
"construction_site": "空之探险队「幻影石室」",
"desert": "空之探险队「北方沙漠」",
"dojo": "空之探险队「嘎啦嘎啦道场」",
"end": "探险队DX「天空之柱」",
"factory": "空之探险队「隐藏遗迹」",
"fairy_cave": "空之探险队「星之洞窟」",
"forest": "空之探险队「黑暗森林」",
"grass": "空之探险队「苹果森林」",
"graveyard": "空之探险队「神秘森林」",
"ice_cave": "空之探险队「大冰山」",
"island": "空之探险队「沿岸岩地」",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "空之探险队「水晶洞窟」",
"meadow": "空之探险队「天空顶端(森林)」",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "空之探险队「角山」",
"plains": "空之探险队「天空顶端(草原)」",
"power_plant": "空之探险队「电气平原 深处」",
"ruins": "空之探险队「封印岩地 深处」",
"sea": "空之探险队「石滩洞窟」",
"seabed": "空之探险队「石滩洞窟 下层」",
"slum": "空之探险队「天空顶端(岩场)」",
"snowy_forest": "空之探险队「天空顶端(雪山)」",
"space": "空之探险队「财宝岩地」",
"swamp": "空之探险队「封闭之海」",
"tall_grass": "空之探险队「浓雾森林」",
"temple": "空之探险队「守护洞穴」",
"town": "空之探险队「随机迷宫3」",
"volcano": "空之探险队「热水洞窟」",
"wasteland": "空之探险队「梦幻高原」",
// Encounter
"encounter_ace_trainer": "黑白 「视线!精英训练师」",
"encounter_backpacker": "黑白 「视线!背包客」",
"encounter_clerk": "黑白 「视线!上班族」",
"encounter_cyclist": "黑白 「视线!自行车手」",
"encounter_lass": "黑白 「视线!迷你裙」",
"encounter_parasol_lady": "黑白 「视线!阳伞姐姐」",
"encounter_pokefan": "黑白 「视线!宝可梦爱好者」",
"encounter_psychic": "黑白 「视线!超能力者」",
"encounter_rich": "黑白 「视线!绅士」",
"encounter_rival": "黑白「黑连」",
"encounter_roughneck": "黑白 「视线!光头」",
"encounter_scientist": "黑白 「视线!科学家」",
"encounter_twins": "黑白 「视线!双胞胎」",
"encounter_youngster": "黑白 「视线!短裤小子」",
// Other
"heal": "黑白「宝可梦回复」",
"menu": "空之探险队「欢迎来到宝可梦的世界」",
"title": "空之探险队「主题曲」",
} as const;

View File

@ -4,6 +4,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const zhCnConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (备用)",
"mute": "静音",
"controller": "控制器",
"gamepadSupport": "手柄支持"
"gamepadSupport": "手柄支持",
"showBgmBar": "显示音乐名称",
} as const;

View File

@ -0,0 +1,135 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const bgmName: SimpleTranslationEntries = {
"music": "Music",
"missing_entries" : "{{name}}",
"battle_kanto_champion": "B2W2 Kanto Champion Battle",
"battle_johto_champion": "B2W2 Johto Champion Battle",
"battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
"battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
"battle_champion_alder": "BW Unova Champion Battle",
"battle_champion_iris": "B2W2 Unova Champion Battle",
"battle_kalos_champion": "XY Kalos Champion Battle",
"battle_alola_champion": "USUM Alola Champion Battle",
"battle_galar_champion": "SWSH Galar Champion Battle",
"battle_champion_geeta": "SV Champion Geeta Battle",
"battle_champion_nemona": "SV Champion Nemona Battle",
"battle_champion_kieran": "SV Champion Kieran Battle",
"battle_hoenn_elite": "ORAS Elite Four Battle",
"battle_unova_elite": "BW Elite Four Battle",
"battle_kalos_elite": "XY Elite Four Battle",
"battle_alola_elite": "SM Elite Four Battle",
"battle_galar_elite": "SWSH League Tournament Battle",
"battle_paldea_elite": "SV Elite Four Battle",
"battle_bb_elite": "SV BB League Elite Four Battle",
"battle_final_encounter": "PMD RTDX Rayquaza's Domain",
"battle_final": "BW Ghetsis Battle",
"battle_kanto_gym": "B2W2 Kanto Gym Battle",
"battle_johto_gym": "B2W2 Johto Gym Battle",
"battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
"battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
"battle_unova_gym": "BW Unova Gym Battle",
"battle_kalos_gym": "XY Kalos Gym Battle",
"battle_galar_gym": "SWSH Galar Gym Battle",
"battle_paldea_gym": "SV Paldea Gym Battle",
"battle_legendary_kanto": "XY Kanto Legendary Battle",
"battle_legendary_raikou": "HGSS Raikou Battle",
"battle_legendary_entei": "HGSS Entei Battle",
"battle_legendary_suicune": "HGSS Suicune Battle",
"battle_legendary_lugia": "HGSS Lugia Battle",
"battle_legendary_ho_oh": "HGSS Ho-oh Battle",
"battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
"battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
"battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
"battle_legendary_rayquaza": "ORAS Rayquaza Battle",
"battle_legendary_deoxys": "ORAS Deoxys Battle",
"battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
"battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
"battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
"battle_legendary_giratina": "ORAS Giratina Battle",
"battle_legendary_arceus": "HGSS Arceus Battle",
"battle_legendary_unova": "BW Unova Legendary Battle",
"battle_legendary_kyurem": "BW Kyurem Battle",
"battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
"battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
"battle_legendary_tapu": "SM Tapu Battle",
"battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
"battle_legendary_ub": "SM Ultra Beast Battle",
"battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
"battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
"battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
"battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
"battle_legendary_calyrex": "SWSH Calyrex Battle",
"battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
"battle_legendary_ruinous": "SV Treasures of Ruin Battle",
"battle_legendary_loyal_three": "SV Loyal Three Battle",
"battle_legendary_ogerpon": "SV Ogerpon Battle",
"battle_legendary_terapagos": "SV Terapagos Battle",
"battle_legendary_pecharunt": "SV Pecharunt Battle",
"battle_rival": "BW Rival Battle",
"battle_rival_2": "BW N Battle",
"battle_rival_3": "BW Final N Battle",
"battle_trainer": "BW Trainer Battle",
"battle_wild": "BW Wild Battle",
"battle_wild_strong": "BW Strong Wild Battle",
"end_summit": "PMD RTDX Sky Tower Summit",
"battle_plasma_grunt": "BW Team Plasma Battle",
// Biome Music
"abyss": "PMD EoS Dark Crater",
"badlands": "PMD EoS Barren Valley",
"beach": "PMD EoS Drenched Bluff",
"cave": "PMD EoS Sky Peak Cave",
"construction_site": "PMD EoS Boulder Quarry",
"desert": "PMD EoS Northern Desert",
"dojo": "PMD EoS Marowa Dojo",
"end": "PMD RTDX Sky Tower",
"factory": "PMD EoS Concealed Ruins",
"fairy_cave": "PMD EoS Star Cave",
"forest": "PMD EoS Dusk Forest",
"grass": "PMD EoS Apple Woods",
"graveyard": "PMD EoS Mystifying Forest",
"ice_cave": "PMD EoS Vast Ice Mountain",
"island": "PMD EoS Craggy Coast",
//"jungle": "jungle", // The composer thinks about a more creative name
//"labratory": "labratory", // The composer thinks about a more creative name
"lake": "PMD EoS Crystal Cave",
"meadow": "PMD EoS Sky Peak Forest",
//"metropolis": "metropolis", // The composer thinks about a more creative name
"mountain": "PMD EoS Mt. Horn",
"plains": "PMD EoS Sky Peak Prairie",
"power_plant": "PMD EoS Far Amp Plains",
"ruins": "PMD EoS Deep Sealed Ruin",
"sea": "PMD EoS Brine Cave",
"seabed": "PMD EoS Lower Brine Cave",
"slum": "PMD EoS Sky Peak Coast",
"snowy_forest": "PMD EoS Sky Peak Snowfield",
"space": "PMD EoS Fortune Ravine",
"swamp": "PMD EoS Surrounded Sea",
"tall_grass": "PMD EoS Foggy Forest",
"temple": "PMD EoS Aegis Cave",
"town": "PMD EoS Random Dungeon Theme 3",
"volcano": "PMD EoS Steam Cave",
"wasteland": "PMD EoS Hidden Highland",
// Encounter
"encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
"encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
"encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
"encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
"encounter_lass": "BW Trainers' Eyes Meet (Lass)",
"encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
"encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
"encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
"encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
"encounter_rival": "BW Cheren",
"encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
"encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
"encounter_twins": "BW Trainers' Eyes Meet (Twins)",
"encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
// Other
"heal": "BW Pokémon Heal",
"menu": "PMD Eos Welcome to the World of Pokémon!",
"title": "PMD EoS Top Menu Theme",
} as const;

View File

@ -4,6 +4,7 @@ import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
import { bgmName } from "./bgm-name";
import { biome } from "./biome";
import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
@ -48,6 +49,7 @@ export const zhTwConfig = {
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
bgmName: bgmName,
biome: biome,
challenges: challenges,
commandUiHandler: commandUiHandler,

View File

@ -94,5 +94,6 @@ export const settings: SimpleTranslationEntries = {
"alt": " (備用)",
"mute": "靜音",
"controller": "控制器",
"gamepadSupport": "手柄支持"
"gamepadSupport": "手柄支持",
"showBgmBar": "Show Music Names",
} as const;

View File

@ -96,7 +96,8 @@ export const SettingKeys = {
Master_Volume: "MASTER_VOLUME",
BGM_Volume: "BGM_VOLUME",
SE_Volume: "SE_VOLUME",
Music_Preference: "MUSIC_PREFERENCE"
Music_Preference: "MUSIC_PREFERENCE",
Show_BGM_Bar: "SHOW_BGM_BAR",
};
/**
@ -488,6 +489,14 @@ export const Setting: Array<Setting> = [
default: 0,
type: SettingType.DISPLAY
},
{
key: SettingKeys.Show_BGM_Bar,
label: i18next.t("settings:showBgmBar"),
options: OFF_ON,
default: 0,
type: SettingType.DISPLAY,
requireReload: true
},
{
key: SettingKeys.Master_Volume,
label: i18next.t("settings:masterVolume"),
@ -525,7 +534,8 @@ export const Setting: Array<Setting> = [
default: 0,
type: SettingType.AUDIO,
requireReload: true
}
},
];
/**
@ -600,11 +610,13 @@ export function setSetting(scene: BattleScene, setting: string, value: integer):
case SettingKeys.Battle_Style:
scene.battleStyle = value;
break;
case SettingKeys.Show_BGM_Bar:
scene.showBgmBar = Setting[index].options[value].value === "On";
break;
case SettingKeys.Candy_Upgrade_Notification:
if (scene.candyUpgradeNotification === value) {
break;
}
scene.candyUpgradeNotification = value;
scene.eventTarget.dispatchEvent(new CandyUpgradeNotificationChangedEvent(value));
break;

View File

@ -44,9 +44,6 @@ export default class AbilityBar extends Phaser.GameObjects.Container {
(this.scene as BattleScene).fieldUI.bringToTop(this);
if (this.tween) {
this.tween.stop();
}
this.y = baseY + ((this.scene as BattleScene).currentBattle.double ? 14 : 0);
this.tween = this.scene.tweens.add({

View File

@ -184,19 +184,7 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
this.battleScene.arena.eventTarget.addEventListener(ArenaEventType.TAG_REMOVED, this.onFieldEffectChangedEvent);
}
/**
* Formats a string to title case
* @param unformattedText Text to be formatted
* @returns the formatted string
*/
private formatText(unformattedText: string): string {
const text = unformattedText.split("_");
for (let i = 0; i < text.length; i++) {
text[i] = text[i].charAt(0).toUpperCase() + text[i].substring(1).toLowerCase();
}
return text.join(" ");
}
/** Clears out the current string stored in all arena effect texts */
private clearText() {
@ -233,7 +221,7 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
break;
}
textObject.text += this.formatText(fieldEffectInfo.name);
textObject.text += Utils.formatText(fieldEffectInfo.name);
if (fieldEffectInfo.effecType === ArenaEffectType.TERRAIN) {
textObject.text += " Terrain"; // Adds 'Terrain' since the enum does not contain it
}

101
src/ui/bgm-bar.ts Normal file
View File

@ -0,0 +1,101 @@
import BattleScene from "../battle-scene";
import {addTextObject, TextStyle} from "./text";
import i18next from "i18next";
import * as Utils from "#app/utils";
const hiddenX = -150;
const shownX = 0;
const baseY = 0;
export default class BgmBar extends Phaser.GameObjects.Container {
private defaultWidth: number;
private defaultHeight: number;
private bg: Phaser.GameObjects.NineSlice;
private musicText: Phaser.GameObjects.Text;
private noteText: Phaser.GameObjects.Text;
private tween: Phaser.Tweens.Tween;
private autoHideTimer: NodeJS.Timeout;
private queue: (string)[] = [];
public shown: boolean;
constructor(scene: BattleScene) {
super(scene, hiddenX, baseY);
}
setup(): void {
this.defaultWidth = 200;
this.defaultHeight = 100;
this.bg = this.scene.add.nineslice(-5, -5, "ability_bar_left", null, this.defaultWidth, this.defaultHeight, 0, 0, 10, 10);
this.bg.setOrigin(0, 0);
this.add(this.bg);
this.noteText = addTextObject(this.scene, 5, 5, "", TextStyle.MESSAGE, {fontSize: "72px"});
this.noteText.setOrigin(0, 0);
this.add(this.noteText);
this.musicText = addTextObject(this.scene, 30, 5, "", TextStyle.MESSAGE, {fontSize: "72px"});
this.musicText.setOrigin(0, 0);
this.musicText.setWordWrapWidth(650, true);
this.add(this.musicText);
this.setVisible(false);
this.shown = false;
}
/*
* Set the BGM Name to the BGM bar.
* @param {string} bgmName The name of the BGM to set.
*/
setBgmToBgmBar(bgmName: string): void {
this.noteText.setText(`${i18next.t("bgmName:music")}:`);
this.musicText.setText(`${this.getRealBgmName(bgmName)}`);
if (!(this.scene as BattleScene).showBgmBar) {
return;
}
this.musicText.width = this.bg.width - 20;
this.musicText.setWordWrapWidth(this.defaultWidth * 4);
this.bg.width = Math.min(this.defaultWidth, this.noteText.displayWidth + this.musicText.displayWidth + 30);
this.bg.height = Math.min(this.defaultHeight, this.musicText.displayHeight + 20);
(this.scene as BattleScene).fieldUI.bringToTop(this);
this.y = baseY;
}
/*
Show or hide the BGM bar.
@param {boolean} visible Whether to show or hide the BGM bar.
*/
public toggleBgmBar(visible: boolean): void {
if (!(this.scene as BattleScene).showBgmBar) {
this.setVisible(false);
return;
}
this.scene.tweens.add({
targets: this,
x: visible ? shownX : hiddenX,
duration: 500,
ease: "Sine.easeInOut",
onComplete: () => {
this.setVisible(true);
}
});
}
getRealBgmName(bgmName: string): string {
return i18next.t([`bgmName:${bgmName}`, "bgmName:missing_entries"], {name: Utils.formatText(bgmName)});
}
}

View File

@ -10,6 +10,7 @@ import { updateUserInfo } from "../account";
import i18next from "i18next";
import {Button} from "#enums/buttons";
import { GameDataType } from "#enums/game-data-type";
import BgmBar from "#app/ui/bgm-bar";
enum MenuOptions {
GAME_SETTINGS,
@ -45,6 +46,9 @@ export default class MenuUiHandler extends MessageUiHandler {
protected manageDataConfig: OptionSelectConfig;
protected communityConfig: OptionSelectConfig;
public bgmBar: BgmBar;
constructor(scene: BattleScene, mode?: Mode) {
super(scene, mode);
@ -62,6 +66,11 @@ export default class MenuUiHandler extends MessageUiHandler {
wikiUrl = `https://wiki.pokerogue.net/${lang}:start`;
}
this.bgmBar = new BgmBar(this.scene);
this.bgmBar.setup();
ui.bgmBar = this.bgmBar;
this.menuContainer = this.scene.add.container(1, -(this.scene.game.canvas.height / 6) + 1);
this.menuContainer.setName("menu");
this.menuContainer.setInteractive(new Phaser.Geom.Rectangle(0, 0, this.scene.game.canvas.width / 6, this.scene.game.canvas.height / 6), Phaser.Geom.Rectangle.Contains);
@ -101,6 +110,8 @@ export default class MenuUiHandler extends MessageUiHandler {
this.menuMessageBoxContainer.add(menuMessageText);
this.menuContainer.add(this.bgmBar);
this.message = menuMessageText;
this.menuContainer.add(this.menuMessageBoxContainer);
@ -253,6 +264,7 @@ export default class MenuUiHandler extends MessageUiHandler {
}
show(args: any[]): boolean {
super.show(args);
this.menuContainer.setVisible(true);
@ -266,6 +278,9 @@ export default class MenuUiHandler extends MessageUiHandler {
handleTutorial(this.scene, Tutorial.Menu);
this.bgmBar.toggleBgmBar(true);
return true;
}
@ -421,6 +436,7 @@ export default class MenuUiHandler extends MessageUiHandler {
clear() {
super.clear();
this.menuContainer.setVisible(false);
this.bgmBar.toggleBgmBar(false);
this.eraseCursor();
}

View File

@ -45,6 +45,7 @@ import KeyboardBindingUiHandler from "#app/ui/settings/keyboard-binding-ui-handl
import SettingsDisplayUiHandler from "./settings/settings-display-ui-handler";
import SettingsAudioUiHandler from "./settings/settings-audio-ui-handler";
import { PlayerGender } from "#enums/player-gender";
import BgmBar from "#app/ui/bgm-bar";
export enum Mode {
MESSAGE,
@ -127,6 +128,7 @@ export default class UI extends Phaser.GameObjects.Container {
public handlers: UiHandler[];
private overlay: Phaser.GameObjects.Rectangle;
public achvBar: AchvBar;
public bgmBar: BgmBar;
public savingIcon: SavingIconHandler;
private tooltipContainer: Phaser.GameObjects.Container;
@ -247,7 +249,6 @@ export default class UI extends Phaser.GameObjects.Container {
battleScene?.processInfoButton(pressed);
return true;
}
battleScene?.processInfoButton(false);
return true;
}

View File

@ -396,6 +396,20 @@ export function fixedInt(value: integer): integer {
return new FixedInt(value) as unknown as integer;
}
/**
* Formats a string to title case
* @param unformattedText Text to be formatted
* @returns the formatted string
*/
export function formatText(unformattedText: string): string {
const text = unformattedText.split("_");
for (let i = 0; i < text.length; i++) {
text[i] = text[i].charAt(0).toUpperCase() + text[i].substring(1).toLowerCase();
}
return text.join(" ");
}
export function rgbToHsv(r: integer, g: integer, b: integer) {
const v = Math.max(r, g, b);
const c = v - Math.min(r, g, b);