Compare commits

...

5 Commits

Author SHA1 Message Date
Jacob Hatchett
029175bce6
[Ability] Added Perish Body ability (#1554)
* Added Perish Body ability

* fix linting issues

* Documentation + Checking if either pokemon has perish song tag

* Fixed typo and improved TriggerMessage
2024-05-30 11:36:12 -04:00
Matthew Olker
c822a89878 Fix money text hidden in select modifiers 2024-05-30 11:27:17 -04:00
Lugiad
cbca0983f3
Update French tutorial.ts (#1587) 2024-05-30 11:22:05 -04:00
GoldTra
23d66c0582
[Localization] Updated Spanish translations (#1600)
* Updated spanish translations

* Updated tutorial.ts

* Updated translations feedback

* Update tutorial.ts
2024-05-30 11:16:08 -04:00
FredeX
7f0de47554
[Localization] updated german translation for thunderclap (#1598)
* fixed thunderclap translation

* updated translation thunderclap

* fixed translation

* updated  translation for thunderclap

---------

Co-authored-by: Frederik Hobein <frederik.hobein@nterra.com>
2024-05-30 09:43:48 -04:00
14 changed files with 321 additions and 251 deletions

View File

@ -300,6 +300,7 @@ export default class BattleScene extends SceneBase {
this.field = field;
const fieldUI = this.add.container(0, this.game.canvas.height);
fieldUI.setName("container-field-ui");
fieldUI.setDepth(1);
fieldUI.setScale(6);
@ -323,6 +324,7 @@ export default class BattleScene extends SceneBase {
this.add.existing(transition);
const uiContainer = this.add.container(0, 0);
uiContainer.setName("container-ui");
uiContainer.setDepth(2);
uiContainer.setScale(6);
@ -331,6 +333,7 @@ export default class BattleScene extends SceneBase {
const overlayWidth = this.game.canvas.width / 6;
const overlayHeight = (this.game.canvas.height / 6) - 48;
this.fieldOverlay = this.add.rectangle(0, overlayHeight * -1 - 48, overlayWidth, overlayHeight, 0x424242);
this.fieldOverlay.setName("rect-field-overlay");
this.fieldOverlay.setOrigin(0, 0);
this.fieldOverlay.setAlpha(0);
this.fieldUI.add(this.fieldOverlay);
@ -339,57 +342,70 @@ export default class BattleScene extends SceneBase {
this.enemyModifiers = [];
this.modifierBar = new ModifierBar(this);
this.modifierBar.setName("container-modifier-bar");
this.add.existing(this.modifierBar);
uiContainer.add(this.modifierBar);
this.enemyModifierBar = new ModifierBar(this, true);
this.enemyModifierBar.setName("container-enemy-modifier-bar");
this.add.existing(this.enemyModifierBar);
uiContainer.add(this.enemyModifierBar);
this.charSprite = new CharSprite(this);
this.charSprite.setName("sprite-char");
this.charSprite.setup();
this.fieldUI.add(this.charSprite);
this.pbTray = new PokeballTray(this, true);
this.pbTray.setName("container-pb-tray");
this.pbTray.setup();
this.pbTrayEnemy = new PokeballTray(this, false);
this.pbTrayEnemy.setName("container-enemy-pb-tray");
this.pbTrayEnemy.setup();
this.fieldUI.add(this.pbTray);
this.fieldUI.add(this.pbTrayEnemy);
this.abilityBar = new AbilityBar(this);
this.abilityBar.setName("container-ability-bar");
this.abilityBar.setup();
this.fieldUI.add(this.abilityBar);
this.partyExpBar = new PartyExpBar(this);
this.partyExpBar.setName("container-party-exp-bar");
this.partyExpBar.setup();
this.fieldUI.add(this.partyExpBar);
this.candyBar = new CandyBar(this);
this.candyBar.setName("container-candy-bar");
this.candyBar.setup();
this.fieldUI.add(this.candyBar);
this.biomeWaveText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, startingWave.toString(), TextStyle.BATTLE_INFO);
this.biomeWaveText.setName("text-biome-wave");
this.biomeWaveText.setOrigin(1, 0);
this.fieldUI.add(this.biomeWaveText);
this.moneyText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "", TextStyle.MONEY);
this.moneyText.setName("text-money");
this.moneyText.setOrigin(1, 0);
this.fieldUI.add(this.moneyText);
this.scoreText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "", TextStyle.PARTY, { fontSize: "54px" });
this.scoreText.setName("text-score");
this.scoreText.setOrigin(1, 0);
this.fieldUI.add(this.scoreText);
this.luckText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "", TextStyle.PARTY, { fontSize: "54px" });
this.luckText.setName("text-luck");
this.luckText.setOrigin(1, 0);
this.luckText.setVisible(false);
this.fieldUI.add(this.luckText);
this.luckLabelText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "Luck:", TextStyle.PARTY, { fontSize: "54px" });
this.luckLabelText.setName("text-luck-label");
this.luckLabelText.setOrigin(1, 0);
this.luckLabelText.setVisible(false);
this.fieldUI.add(this.luckLabelText);
@ -1305,7 +1321,8 @@ export default class BattleScene extends SceneBase {
this.scoreText.setVisible(this.gameMode.isDaily);
}
updateAndShowLuckText(duration: integer): void {
updateAndShowText(duration: integer): void {
this.fieldUI.moveBelow(this.moneyText, this.luckText);
const labels = [ this.luckLabelText, this.luckText ];
labels.map(t => {
t.setAlpha(0);

View File

@ -819,6 +819,39 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr {
return getPokemonMessage(pokemon, `'s ${abilityName}\nhurt its attacker!`);
}
}
/**
* @description: This ability applies the Perish Song tag to the attacking pokemon
* and the defending pokemon if the move makes physical contact and neither pokemon
* already has the Perish Song tag.
* @class PostDefendPerishSongAbAttr
* @extends {PostDefendAbAttr}
*/
export class PostDefendPerishSongAbAttr extends PostDefendAbAttr {
private turns: integer;
constructor(turns: integer) {
super();
this.turns = turns;
}
applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) {
if (pokemon.getTag(BattlerTagType.PERISH_SONG) || attacker.getTag(BattlerTagType.PERISH_SONG)) {
return false;
} else {
attacker.addTag(BattlerTagType.PERISH_SONG, this.turns);
pokemon.addTag(BattlerTagType.PERISH_SONG, this.turns);
return true;
}
}
return false;
}
getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
return i18next.t("abilityTriggers:perishBody", {pokemonName: `${getPokemonPrefix(pokemon)}${pokemon.name}`, abilityName: abilityName});
}
}
export class PostDefendWeatherChangeAbAttr extends PostDefendAbAttr {
private weatherType: WeatherType;
@ -4164,7 +4197,7 @@ export function initAbilities() {
.attr(MoveTypePowerBoostAbAttr, Type.STEEL)
.partial(),
new Ability(Abilities.PERISH_BODY, 8)
.unimplemented(),
.attr(PostDefendPerishSongAbAttr, 4),
new Ability(Abilities.WANDERING_SPIRIT, 8)
.attr(PostDefendAbilitySwapAbAttr)
.bypassFaint()

View File

@ -3767,7 +3767,7 @@ export const move: MoveTranslationEntries = {
},
"thunderclap": {
name: "Sturmblitz",
effect: "Der Anwender trifft das Ziel mit einem schnellen Stromschlag. Erstschlaggarantie."
effect: "Bei dieser Erstschlag-Attacke lässt der Anwender einen Blitz auf das Ziel einschlagen. Sie gelingt nur, wenn dieses gerade eine Angriffsattacke vorbereitet."
},
"mightyCleave": {
name: "Wuchtklinge",

View File

@ -3,4 +3,5 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!",
"badDreams": "{{pokemonName}} is tormented!",
"perishBody": "{{pokemonName}}'s {{abilityName}}\n will faint both pokemon in 3 turns!",
} as const;

View File

@ -2,19 +2,19 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "En algún lugar que no puedes recordar",
"TOWN": "Ciudad",
"TOWN": "Pueblo",
"PLAINS": "Valle",
"GRASS": "Campo",
"TALL_GRASS": "Pradera de Hierba Alta",
"TALL_GRASS": "Hierba Alta",
"METROPOLIS": "Metrópolis",
"FOREST": "Bosque",
"SEA": "Mar",
"SWAMP": "Pantano",
"BEACH": "Playa",
"LAKE": "Lago",
"SEABED": "Fondo del mar",
"SEABED": "Lecho marino",
"MOUNTAIN": "Montaña",
"BADLANDS": "Badlands",
"BADLANDS": "Tierras Baldías",
"CAVE": "Cueva",
"DESERT": "Desierto",
"ICE_CAVE": "Cueva Helada",

View File

@ -1,21 +1,21 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const egg: SimpleTranslationEntries = {
"egg": "Egg",
"greatTier": "Rare",
"ultraTier": "Epic",
"masterTier": "Legendary",
"defaultTier": "Common",
"hatchWavesMessageSoon": "Sounds can be heard coming from inside! It will hatch soon!",
"hatchWavesMessageClose": "It appears to move occasionally. It may be close to hatching.",
"hatchWavesMessageNotClose": "What will hatch from this? It doesn't seem close to hatching.",
"hatchWavesMessageLongTime": "It looks like this Egg will take a long time to hatch.",
"gachaTypeLegendary": "Legendary Rate Up",
"gachaTypeMove": "Rare Egg Move Rate Up",
"gachaTypeShiny": "Shiny Rate Up",
"selectMachine": "Select a machine.",
"notEnoughVouchers": "You don't have enough vouchers!",
"tooManyEggs": "You have too many eggs!",
"pull": "Pull",
"pulls": "Pulls"
"egg": "Huevo",
"greatTier": "Raro",
"ultraTier": "Épico",
"masterTier": "Legendario",
"defaultTier": "Común",
"hatchWavesMessageSoon": "Se escuchan sonidos. ¡Pronto saldrá!",
"hatchWavesMessageClose": "A veces se mueve. Debe estar a punto de salir.",
"hatchWavesMessageNotClose": "¿Qué habrá dentro? Tendrás que esperar un poco más.",
"hatchWavesMessageLongTime": "Parece que a este huevo le va a costar mucho abrirse.",
"gachaTypeLegendary": "Mayor tasa de Legendario",
"gachaTypeMove": "Mayor tasa de Movimiento Huevo Raro",
"gachaTypeShiny": "Mayor tasa de Shiny",
"selectMachine": "Seleccione una máquina.",
"notEnoughVouchers": "¡No tienes suficientes vales!",
"tooManyEggs": "¡No tienes suficiente espacio!",
"pull": "Tirada",
"pulls": "Tiradas"
} as const;

View File

@ -36,11 +36,11 @@ export const menu: SimpleTranslationEntries = {
"boyOrGirl": "¿Eres un chico o una chica?",
"boy": "Chico",
"girl": "Chica",
"evolving": "¿Uh?\n¡{{pokemonName}} está evolucionando!",
"stoppedEvolving": "{{pokemonName}} no ha evolucionado.",
"evolving": "¡Anda!\n¡{{pokemonName}} está evolucionando!",
"stoppedEvolving": "¿Eh?\n¡La evolución de {{pokemonName}} se ha detenido!",
"pauseEvolutionsQuestion": "¿Quieres detener las evoluciones de {{pokemonName}}?\nSiempre pueden ser reactivadas desde la pantalla de tu equipo.",
"evolutionsPaused": "Se han detenido las evoluciones para {{pokemonName}}.",
"evolutionDone": Felicidades!\n¡Tu {{pokemonName}} ha evolucionado a {{evolvedPokemonName}}!",
"evolutionDone": Enhorabuena!\n¡Tu {{pokemonName}} ha evolucionado a {{evolvedPokemonName}}!",
"dailyRankings": "Rankings Diarios",
"weeklyRankings": "Rankings Semanales",
"noRankings": "Sin Rankings",

View File

@ -4,159 +4,159 @@ export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
"AddPokeballModifierType": {
name: "{{modifierCount}}x {{pokeballName}}",
description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}",
description: "Recibes {{modifierCount}}x {{pokeballName}} (En inventario: {{pokeballAmount}}) \nRatio de captura: {{catchRate}}",
},
"AddVoucherModifierType": {
name: "{{modifierCount}}x {{voucherTypeName}}",
description: "Receive {{voucherTypeName}} x{{modifierCount}}",
description: "Recibes {{modifierCount}}x {{voucherTypeName}}",
},
"PokemonHeldItemModifierType": {
extra: {
"inoperable": "{{pokemonName}} can't take\nthis item!",
"tooMany": "{{pokemonName}} has too many\nof this item!",
"inoperable": "¡{{pokemonName}} no puede\ntener este objeto!",
"tooMany": "¡{{pokemonName}} tiene este objeto\ndemasiada veces!",
}
},
"PokemonHpRestoreModifierType": {
description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
description: "Restaura {{restorePoints}} PS o {{restorePercent}}% PS de un Pokémon, cualquiera de los dos sea el mas alto",
extra: {
"fully": "Fully restores HP for one Pokémon",
"fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
"fully": "Restaura todos los PS de un Pokémon",
"fullyWithStatus": "Restaura todos los PS de un Pokémon y cura todos los problemas de estados",
}
},
"PokemonReviveModifierType": {
description: "Revives one Pokémon and restores {{restorePercent}}% HP",
description: "Revive a un Pokémon y restaura {{restorePercent}}% PS",
},
"PokemonStatusHealModifierType": {
description: "Heals any status ailment for one Pokémon",
description: "Cura todos los problemas de estados de un Pokémon",
},
"PokemonPpRestoreModifierType": {
description: "Restores {{restorePoints}} PP for one Pokémon move",
description: "Restaura {{restorePoints}} PP del movimiento que elijas de un Pokémon",
extra: {
"fully": "Restores all PP for one Pokémon move",
"fully": "Restaura todos los PP del movimiento que elijas de un Pokémon",
}
},
"PokemonAllMovePpRestoreModifierType": {
description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
description: "Restaura {{restorePoints}} PP de todos los movimientos de un Pokémon",
extra: {
"fully": "Restores all PP for all of one Pokémon's moves",
"fully": "Restaura todos los PP de todos los movimientos de un Pokémon",
}
},
"PokemonPpUpModifierType": {
description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
description: "Aumenta permanentemente los PP para un movimiento de un Pokémon en {{upPoints}} por cada 5 PP máximo (máximo 3)",
},
"PokemonNatureChangeModifierType": {
name: "{{natureName}} Mint",
description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
name: "Menta {{natureName}}",
description: "Cambia la naturaleza de un Pokémon a {{natureName}} y desbloquea permanentemente la naturaleza para el inicial",
},
"DoubleBattleChanceBoosterModifierType": {
description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
description: "Duplica la posibilidad de que un encuentro sea una combate doble por {{battleCount}} combates",
},
"TempBattleStatBoosterModifierType": {
description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
description: "Aumenta el {{tempBattleStatName}} de todos los miembros del equipo en 1 nivel para 5 combates",
},
"AttackTypeBoosterModifierType": {
description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
description: "Aumenta la potencia de los movimientos de tipo {{moveType}} de un Pokémon en un 20%",
},
"PokemonLevelIncrementModifierType": {
description: "Increases a Pokémon's level by 1",
description: "Aumenta el nivel de un Pokémon en 1",
},
"AllPokemonLevelIncrementModifierType": {
description: "Increases all party members' level by 1",
description: "Aumenta el nivel de todos los miembros del equipo en 1",
},
"PokemonBaseStatBoosterModifierType": {
description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
description: "Aumenta {{statName}} base del portador en un 10%. Cuanto mayores sean tus IV, mayor será el límite de acumulación",
},
"AllPokemonFullHpRestoreModifierType": {
description: "Restores 100% HP for all Pokémon",
description: "Restaura el 100% de los PS de todos los Pokémon",
},
"AllPokemonFullReviveModifierType": {
description: "Revives all fainted Pokémon, fully restoring HP",
description: "Revive a todos los Pokémon debilitados y restaura completamente sus PS",
},
"MoneyRewardModifierType": {
description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
description: "Otorga una {{moneyMultiplier}} cantidad de dinero (₽{{moneyAmount}})",
extra: {
"small": "small",
"moderate": "moderate",
"large": "large",
"small": "pequaña",
"moderate": "moderada",
"large": "gran",
},
},
"ExpBoosterModifierType": {
description: "Increases gain of EXP. Points by {{boostPercent}}%",
description: "Aumenta la ganancia de EXP en un {{boostPercent}}%",
},
"PokemonExpBoosterModifierType": {
description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
description: "Aumenta la ganancia de EXP del portador en un {{boostPercent}}%",
},
"PokemonFriendshipBoosterModifierType": {
description: "Increases friendship gain per victory by 50%",
description: "Aumenta la ganancia de amistad por victoria en un 50%",
},
"PokemonMoveAccuracyBoosterModifierType": {
description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
description: "Aumenta la precisión de los movimiento en un {{accuracyAmount}} (máximo 100)",
},
"PokemonMultiHitModifierType": {
description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
description: "Los ataques golpean una vez más a costa de una reducción de poder del 60/75/82,5% por cada objeto",
},
"TmModifierType": {
name: "TM{{moveId}} - {{moveName}}",
description: "Teach {{moveName}} to a Pokémon",
name: "MT{{moveId}} - {{moveName}}",
description: "Enseña {{moveName}} a un Pokémon",
},
"EvolutionItemModifierType": {
description: "Causes certain Pokémon to evolve",
description: "Hace que ciertos Pokémon evolucionen",
},
"FormChangeItemModifierType": {
description: "Causes certain Pokémon to change form",
description: "Hace que ciertos Pokémon cambien de forma",
},
"FusePokemonModifierType": {
description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
description: "Fusiona dos Pokémon (transfiere habilidades, divide estadísticas bases y tipos, comparte movimientos)",
},
"TerastallizeModifierType": {
name: "{{teraType}} Tera Shard",
description: "{{teraType}} Terastallizes the holder for up to 10 battles",
name: "Teralito {{teraType}}",
description: "Teracristaliza al portador al tipo {{teraType}} por 10 combates",
},
"ContactHeldItemTransferChanceModifierType": {
description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
description: "Al atacar, hay un {{chancePercent}}% de posibilidades de que robes el objeto que tiene el enemigo",
},
"TurnHeldItemTransferModifierType": {
description: "Every turn, the holder acquires one held item from the foe",
description: "Cada turno, el portador roba un objeto del enemigo",
},
"EnemyAttackStatusEffectChanceModifierType": {
description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
description: "Agrega un {{chancePercent}}% de probabilidad de infligir {{statusEffect}} con movimientos de ataque",
},
"EnemyEndureChanceModifierType": {
description: "Adds a {{chancePercent}}% chance of enduring a hit",
description: "Agrega un {{chancePercent}}% de probabilidad de resistir un ataque que lo debilitaría",
},
"RARE_CANDY": { name: "Rare Candy" },
"RARE_CANDY": { name: "Carameloraro" },
"RARER_CANDY": { name: "Rarer Candy" },
"MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" },
"DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" },
"TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" },
"MEGA_BRACELET": { name: "Mega-aro", description: "Las Megapiedras están disponible" },
"DYNAMAX_BAND": { name: "Maximuñequera", description: "Las Maxisetas están disponible" },
"TERA_ORB": { name: "Orbe Teracristal", description: "Los Teralitos están disponible" },
"MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
"MAP": { name: "Mapa", description: "Te permite elegir tu destino" },
"POTION": { name: "Potion" },
"SUPER_POTION": { name: "Super Potion" },
"HYPER_POTION": { name: "Hyper Potion" },
"MAX_POTION": { name: "Max Potion" },
"FULL_RESTORE": { name: "Full Restore" },
"POTION": { name: "Poción" },
"SUPER_POTION": { name: "Superpoción" },
"HYPER_POTION": { name: "Hiperpoción" },
"MAX_POTION": { name: "Máx. Poción" },
"FULL_RESTORE": { name: "Restau. Todo" },
"REVIVE": { name: "Revive" },
"MAX_REVIVE": { name: "Max Revive" },
"REVIVE": { name: "Revivir" },
"MAX_REVIVE": { name: "Máx. Revivir" },
"FULL_HEAL": { name: "Full Heal" },
"FULL_HEAL": { name: "Cura Total" },
"SACRED_ASH": { name: "Sacred Ash" },
"SACRED_ASH": { name: "Cen Sagrada" },
"REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
"REVIVER_SEED": { name: "Semilla Revivir", description: "Revive al portador con la mitad de sus PS al debilitarse" },
"ETHER": { name: "Ether" },
"MAX_ETHER": { name: "Max Ether" },
"ETHER": { name: "Éter" },
"MAX_ETHER": { name: "Éter Máx." },
"ELIXIR": { name: "Elixir" },
"MAX_ELIXIR": { name: "Max Elixir" },
"MAX_ELIXIR": { name: "Elixir Máx." },
"PP_UP": { name: "PP Up" },
"PP_MAX": { name: "PP Max" },
"PP_UP": { name: "Más PP" },
"PP_MAX": { name: "Máx PP" },
"LURE": { name: "Lure" },
"SUPER_LURE": { name: "Super Lure" },
@ -164,197 +164,197 @@ export const modifierType: ModifierTypeTranslationEntries = {
"MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
"EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" },
"EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" },
"EXP_SHARE": { name: "Repartir EXP", description: "Los que no combatan reciben el 20% de la EXP" },
"EXP_BALANCE": { name: "EXP. Balance", description: "Reparte la EXP recibida a los miembros del equipo que tengan menos nivel" },
"OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" },
"OVAL_CHARM": { name: "Amuleto Oval", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" },
"EXP_CHARM": { name: "EXP. Charm" },
"SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
"GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" },
"EXP_CHARM": { name: "Amuleto EXP" },
"SUPER_EXP_CHARM": { name: "Super Amuleto EXP" },
"GOLDEN_EXP_CHARM": { name: "Amuleto EXP Dorado" },
"LUCKY_EGG": { name: "Lucky Egg" },
"GOLDEN_EGG": { name: "Golden Egg" },
"LUCKY_EGG": { name: "Huevo Suerte" },
"GOLDEN_EGG": { name: "Huevo Dorado" },
"SOOTHE_BELL": { name: "Soothe Bell" },
"SOOTHE_BELL": { name: "Camp Alivio" },
"SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
"SOUL_DEW": { name: "Rocío bondad", description: "Aumenta la influencia de la naturaleza de un Pokémon en sus estadísticas en un 10% (aditivo)" },
"NUGGET": { name: "Nugget" },
"BIG_NUGGET": { name: "Big Nugget" },
"RELIC_GOLD": { name: "Relic Gold" },
"NUGGET": { name: "Pepita" },
"BIG_NUGGET": { name: "Maxipepita" },
"RELIC_GOLD": { name: "Real de oro" },
"AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" },
"GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of damage inflicted as money" },
"COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" },
"AMULET_COIN": { name: "Moneda amuleto", description: "Aumenta el dinero ganado en un 20%" },
"GOLDEN_PUNCH": { name: "Puño Dorado", description: "Otorga el 50% del daño infligido como dinero" },
"COIN_CASE": { name: "Monedero", description: "Después de cada 10 combates, recibe el 10% de tu dinero en intereses" },
"LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
"LOCK_CAPSULE": { name: "Cápsula candado", description: "Le permite bloquear las rarezas de los objetos al cambiar de objetos" },
"GRIP_CLAW": { name: "Grip Claw" },
"WIDE_LENS": { name: "Wide Lens" },
"GRIP_CLAW": { name: "Garra garfio" },
"WIDE_LENS": { name: "Lupa" },
"MULTI_LENS": { name: "Multi Lens" },
"HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" },
"CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" },
"HEALING_CHARM": { name: "Amuleto curación", description: "Aumenta la efectividad de los movimientos y objetos de curacion de PS en un 10% (excepto revivir)" },
"CANDY_JAR": { name: "Candy Jar", description: "Aumenta en 1 el número de niveles añadidos por los carameloraros" },
"BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 33% chance that a used berry will not be consumed" },
"BERRY_POUCH": { name: "Saco Bayas", description: "Agrega un 33% de posibilidades de que una baya usada no se consuma" },
"FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" },
"FOCUS_BAND": { name: "Cinta Focus", description: "Agrega un 10% de probabilidad de resistir un ataque que lo debilitaría" },
"QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
"QUICK_CLAW": { name: "Garra Rápida", description: "Agrega un 10% de probabilidad de atacar primero independientemente de la velocidad (después de la prioridad)" },
"KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
"KINGS_ROCK": { name: "Roca del Rey", description: "Agrega un 10% de probabilidad de que un ataque haga que el oponente retroceda" },
"LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" },
"SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" },
"LEFTOVERS": { name: "Restos", description: "Cura 1/16 de los PS máximo de un Pokémon cada turno" },
"SHELL_BELL": { name: "Camp Concha", description: "Cura 1/8 del daño infligido por un Pokémon" },
"BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
"BATON": { name: "Baton", description: "Permite pasar los efectos al cambiar de Pokémon, también evita las trampas" },
"SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" },
"ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" },
"SHINY_CHARM": { name: "Amuleto Iris", description: "Aumenta drásticamente la posibilidad de que un Pokémon salvaje sea Shiny" },
"ABILITY_CHARM": { name: "Amuleto Habilidad", description: "Aumenta drásticamente la posibilidad de que un Pokémon salvaje tenga una habilidad oculta" },
"IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" },
"IV_SCANNER": { name: "Escáner IV", description: "Permite escanear los IV de Pokémon salvajes. Se revelan 2 IV por cada objeto Los mejores IV se muestran primero" },
"DNA_SPLICERS": { name: "DNA Splicers" },
"DNA_SPLICERS": { name: "Punta ADN" },
"MINI_BLACK_HOLE": { name: "Mini Black Hole" },
"MINI_BLACK_HOLE": { name: "Mini Agujero Negro" },
"GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
"GOLDEN_POKEBALL": { name: "Poké Ball Dorada", description: "Agrega 1 opción de objeto extra al final de cada combate" },
"ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" },
"ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" },
"ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" },
"ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Aumenta el daño en un 5%" },
"ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduce el daño recibido en un 2,5%" },
"ENEMY_HEAL": { name: "Recovery Token", description: "Cura el 2% de los PS máximo en cada turno" },
"ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" },
"ENEMY_ATTACK_SLEEP_CHANCE": { name: "Sleep Token" },
"ENEMY_ATTACK_FREEZE_CHANCE": { name: "Freeze Token" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" },
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 10% chance every turn to heal a status condition" },
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Agrega un 10% de probabilidad cada turno de curar un problema de estado" },
"ENEMY_ENDURE_CHANCE": { name: "Endure Token" },
"ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" },
"ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Agrega un 1% de probabilidad de que un Pokémon salvaje sea una fusión" },
},
TempBattleStatBoosterItem: {
"x_attack": "X Attack",
"x_defense": "X Defense",
"x_sp_atk": "X Sp. Atk",
"x_sp_def": "X Sp. Def",
"x_speed": "X Speed",
"x_accuracy": "X Accuracy",
"dire_hit": "Dire Hit",
"x_attack": "Ataque X",
"x_defense": "Defensa X",
"x_sp_atk": "Ataq. Esp. X",
"x_sp_def": "Def. Esp. X",
"x_speed": "Velocidad X",
"x_accuracy": "Precisión X",
"dire_hit": "Directo",
},
AttackTypeBoosterItem: {
"silk_scarf": "Silk Scarf",
"black_belt": "Black Belt",
"sharp_beak": "Sharp Beak",
"poison_barb": "Poison Barb",
"soft_sand": "Soft Sand",
"hard_stone": "Hard Stone",
"silver_powder": "Silver Powder",
"spell_tag": "Spell Tag",
"metal_coat": "Metal Coat",
"charcoal": "Charcoal",
"mystic_water": "Mystic Water",
"miracle_seed": "Miracle Seed",
"magnet": "Magnet",
"twisted_spoon": "Twisted Spoon",
"never_melt_ice": "Never-Melt Ice",
"dragon_fang": "Dragon Fang",
"black_glasses": "Black Glasses",
"fairy_feather": "Fairy Feather",
"silk_scarf": "Pañuelo Seda",
"black_belt": "Cinturón Negro",
"sharp_beak": "Pico Afilado",
"poison_barb": "Flecha Venenosa",
"soft_sand": "Arena Fina",
"hard_stone": "Piedra Dura",
"silver_powder": "Polvo Plata",
"spell_tag": "Hechizo",
"metal_coat": "Rev. Metálico",
"charcoal": "Carbón",
"mystic_water": "Agua Mística",
"miracle_seed": "Semilla Milagro",
"magnet": "Imán",
"twisted_spoon": "Cuchara Torcida",
"never_melt_ice": "Antiderretir",
"dragon_fang": "Colmillo Dragón",
"black_glasses": "Gafas de Sol",
"fairy_feather": "Pluma Hada",
},
BaseStatBoosterItem: {
"hp_up": "HP Up",
"protein": "Protein",
"iron": "Iron",
"calcium": "Calcium",
"hp_up": "Más PS",
"protein": "Proteína",
"iron": "Hierro",
"calcium": "Calcio",
"zinc": "Zinc",
"carbos": "Carbos",
"carbos": "Carburante",
},
EvolutionItem: {
"NONE": "None",
"LINKING_CORD": "Linking Cord",
"SUN_STONE": "Sun Stone",
"MOON_STONE": "Moon Stone",
"LEAF_STONE": "Leaf Stone",
"FIRE_STONE": "Fire Stone",
"WATER_STONE": "Water Stone",
"THUNDER_STONE": "Thunder Stone",
"ICE_STONE": "Ice Stone",
"DUSK_STONE": "Dusk Stone",
"DAWN_STONE": "Dawn Stone",
"SHINY_STONE": "Shiny Stone",
"CRACKED_POT": "Cracked Pot",
"SWEET_APPLE": "Sweet Apple",
"TART_APPLE": "Tart Apple",
"STRAWBERRY_SWEET": "Strawberry Sweet",
"UNREMARKABLE_TEACUP": "Unremarkable Teacup",
"LINKING_CORD": "Cordón unión",
"SUN_STONE": "Piedra Solar",
"MOON_STONE": "Piedra Lunar",
"LEAF_STONE": "Piedra Hoja",
"FIRE_STONE": "Piedra Fuego",
"WATER_STONE": "Piedra Agua",
"THUNDER_STONE": "Piedra Trueno",
"ICE_STONE": "Piedra Hielo",
"DUSK_STONE": "Piedra Noche",
"DAWN_STONE": "Piedra Alba",
"SHINY_STONE": "Piedra Día",
"CRACKED_POT": "Tetera agrietada",
"SWEET_APPLE": "Manzana dulce",
"TART_APPLE": "Manzana ácida",
"STRAWBERRY_SWEET": "Confite fresa",
"UNREMARKABLE_TEACUP": "Cuenco mediocre",
"CHIPPED_POT": "Chipped Pot",
"BLACK_AUGURITE": "Black Augurite",
"GALARICA_CUFF": "Galarica Cuff",
"GALARICA_WREATH": "Galarica Wreath",
"PEAT_BLOCK": "Peat Block",
"AUSPICIOUS_ARMOR": "Auspicious Armor",
"MALICIOUS_ARMOR": "Malicious Armor",
"MASTERPIECE_TEACUP": "Masterpiece Teacup",
"METAL_ALLOY": "Metal Alloy",
"SCROLL_OF_DARKNESS": "Scroll Of Darkness",
"SCROLL_OF_WATERS": "Scroll Of Waters",
"SYRUPY_APPLE": "Syrupy Apple",
"CHIPPED_POT": "Tetera rota",
"BLACK_AUGURITE": "Mineral negro",
"GALARICA_CUFF": "Brazal galanuez",
"GALARICA_WREATH": "Corona galanuez",
"PEAT_BLOCK": "Bloque de turba",
"AUSPICIOUS_ARMOR": "Armadura auspiciosa",
"MALICIOUS_ARMOR": "Armadura maldita",
"MASTERPIECE_TEACUP": "Cuenco exquisito",
"METAL_ALLOY": "Metal compuesto",
"SCROLL_OF_DARKNESS": "Manuscrito sombras",
"SCROLL_OF_WATERS": "Manuscrito aguas",
"SYRUPY_APPLE": "Manzana melosa",
},
FormChangeItem: {
"NONE": "None",
"ABOMASITE": "Abomasite",
"ABSOLITE": "Absolite",
"AERODACTYLITE": "Aerodactylite",
"AGGRONITE": "Aggronite",
"ALAKAZITE": "Alakazite",
"ALTARIANITE": "Altarianite",
"AMPHAROSITE": "Ampharosite",
"AUDINITE": "Audinite",
"BANETTITE": "Banettite",
"BEEDRILLITE": "Beedrillite",
"BLASTOISINITE": "Blastoisinite",
"BLAZIKENITE": "Blazikenite",
"CAMERUPTITE": "Cameruptite",
"CHARIZARDITE_X": "Charizardite X",
"CHARIZARDITE_Y": "Charizardite Y",
"DIANCITE": "Diancite",
"GALLADITE": "Galladite",
"GARCHOMPITE": "Garchompite",
"GARDEVOIRITE": "Gardevoirite",
"GENGARITE": "Gengarite",
"GLALITITE": "Glalitite",
"GYARADOSITE": "Gyaradosite",
"HERACRONITE": "Heracronite",
"HOUNDOOMINITE": "Houndoominite",
"KANGASKHANITE": "Kangaskhanite",
"LATIASITE": "Latiasite",
"LATIOSITE": "Latiosite",
"LOPUNNITE": "Lopunnite",
"LUCARIONITE": "Lucarionite",
"MANECTITE": "Manectite",
"MAWILITE": "Mawilite",
"MEDICHAMITE": "Medichamite",
"METAGROSSITE": "Metagrossite",
"MEWTWONITE_X": "Mewtwonite X",
"MEWTWONITE_Y": "Mewtwonite Y",
"PIDGEOTITE": "Pidgeotite",
"PINSIRITE": "Pinsirite",
"RAYQUAZITE": "Rayquazite",
"SABLENITE": "Sablenite",
"SALAMENCITE": "Salamencite",
"SCEPTILITE": "Sceptilite",
"SCIZORITE": "Scizorite",
"SHARPEDONITE": "Sharpedonite",
"SLOWBRONITE": "Slowbronite",
"STEELIXITE": "Steelixite",
"SWAMPERTITE": "Swampertite",
"TYRANITARITE": "Tyranitarite",
"VENUSAURITE": "Venusaurite",
"ABOMASITE": "Abomasnowita",
"ABSOLITE": "Absolita",
"AERODACTYLITE": "Aerodactylita",
"AGGRONITE": "Aggronita",
"ALAKAZITE": "Alakazamita",
"ALTARIANITE": "Altarianita",
"AMPHAROSITE": "Ampharosita",
"AUDINITE": "Audinita",
"BANETTITE": "Banettita",
"BEEDRILLITE": "Beedrillita",
"BLASTOISINITE": "Blastoisita",
"BLAZIKENITE": "Blazikenita",
"CAMERUPTITE": "Cameruptita",
"CHARIZARDITE_X": "Charizardita X",
"CHARIZARDITE_Y": "Charizardita Y",
"DIANCITE": "Diancita",
"GALLADITE": "Galladita",
"GARCHOMPITE": "Garchompita",
"GARDEVOIRITE": "Gardevoirita",
"GENGARITE": "Gengarita",
"GLALITITE": "Glalita",
"GYARADOSITE": "Gyaradosita",
"HERACRONITE": "Heracrossita",
"HOUNDOOMINITE": "Houndoomita",
"KANGASKHANITE": "Kangaskhanita",
"LATIASITE": "Latiasita",
"LATIOSITE": "Latiosita",
"LOPUNNITE": "Lopunnita",
"LUCARIONITE": "Lucarita",
"MANECTITE": "Manectricita",
"MAWILITE": "Mawilita",
"MEDICHAMITE": "Medichamita",
"METAGROSSITE": "Metagrossita",
"MEWTWONITE_X": "Mewtwoita X",
"MEWTWONITE_Y": "Mewtwoita Y",
"PIDGEOTITE": "Pidgeotita",
"PINSIRITE": "Pinsirita",
"RAYQUAZITE": "Rayquazita",
"SABLENITE": "Sableynita",
"SALAMENCITE": "Salamencita",
"SCEPTILITE": "Sceptilita",
"SCIZORITE": "Scizorita",
"SHARPEDONITE": "Sharpedonita",
"SLOWBRONITE": "Slowbronita",
"STEELIXITE": "Steelixita",
"SWAMPERTITE": "Swampertita",
"TYRANITARITE": "Tyranitarita",
"VENUSAURITE": "Venusaurita",
"BLUE_ORB": "Blue Orb",
"RED_ORB": "Red Orb",

View File

@ -38,7 +38,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"cycleVariant": "V: Cambiar Variante",
"enablePassive": "Activar Pasiva",
"disablePassive": "Desactivar Pasiva",
"locked": "Locked",
"disabled": "Disabled",
"uncaught": "Uncaught"
"locked": "Bloqueado",
"disabled": "No disponible",
"uncaught": "No capturado"
};

View File

@ -16,7 +16,7 @@ export const tutorial: SimpleTranslationEntries = {
$Podrás cambiar la velocidad del juego, el estilo de la ventana y demás.
$Hay más opciones, ¡así que pruébalas todas!`,
"starterSelect": `En esta pantalla podrás elegir tus iniciales. Estos serán tus\nmiembros de equipo al comenzar la partida.
"starterSelect": `En esta pantalla, podrás elegir tus iniciales presionando Z\no Espacio. Estos serán tus miembros de equipo al comenzar.
$Cada inicial tiene un valor. Tu equipo puede contener hasta 6\nmiembros mientras el valor total no pase de 10.
$También puedes elegir su género, habilidad y forma\ndependiendo de las variantes que hayas conseguido.
$Los IVs de los iniciales corresponderán al valor más alto de\nlos Pokémon de la misma especie que hayas obtenido.
@ -27,7 +27,9 @@ export const tutorial: SimpleTranslationEntries = {
"statChange": `Los cambios de estadísticas se mantienen entre combates\nmientras que el Pokémon no vuelva a su Poké Ball.
$Tus Pokémon vuelven a sus Poké Balls antes de combates contra entrenadores y de entrar a un nuevo bioma.
$También puedes ver los cambios de estadísticas del Pokémon en campo manteniendo pulsado C o Shift.`,
$También puedes ver los cambios de estadísticas del Pokémon en campo manteniendo pulsado C o Shift.
$También puedes ver los movimientos de un Pokémon enemigo manteniendo presionada la V.
$Esto solo revela los movimientos que has visto usar al Pokémon en esta combate.`,
"selectItem": `Tras cada combate, tendrás la opción de elegir entre tres objetos aleatorios. Solo podrás escoger uno.
$Estos objetos pueden ser consumibles, objetos equipables u objetos pasivos permanentes (hasta acabar la partida).

View File

@ -1,11 +1,11 @@
import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Vouchers",
"eggVoucher": "Egg Voucher",
"eggVoucherPlus": "Egg Voucher Plus",
"eggVoucherPremium": "Egg Voucher Premium",
"eggVoucherGold": "Egg Voucher Gold",
"locked": "Locked",
"defeatTrainer": "Defeat {{trainerName}}"
} as const;
"vouchers": "Vales",
"eggVoucher": "Vale Huevo",
"eggVoucherPlus": "Vale Huevo Plus",
"eggVoucherPremium": "Vale Huevo Premium",
"eggVoucherGold": "Vale Huevo Dorado",
"locked": "Bloqueado",
"defeatTrainer": "Derrota a {{trainerName}}"
} as const;

View File

@ -27,7 +27,9 @@ export const tutorial: SimpleTranslationEntries = {
"statChange": `Les changements de stats restent à travers les combats tant que le Pokémon nest pas rappelé.
$Vos Pokémon sont rappelés avant un combat de Dresseur et avant dentrer dans un nouveau biome.
$Vous pouvez également voir en combat les changements de stats dun Pokémon en maintenant C ou Maj.`,
$Vous pouvez voir en combat les changements de stats dun Pokémon en maintenant C ou Maj.
$Vous pouvez également voir les capacités de ladversaire en maintenant V.
$Seules les capacités que le Pokémon a utilisées dans ce combat sont consultables.`,
"selectItem": `Après chaque combat, vous avez le choix entre 3 objets\ntirés au sort. Vous ne pouvez en prendre quun.
$Cela peut être des objets consommables, des objets à\nfaire tenir, ou des objets passifs aux effets permanents.

View File

@ -41,22 +41,27 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
ui.add(this.modifierContainer);
this.transferButtonContainer = this.scene.add.container((this.scene.game.canvas.width / 6) - 1, -64);
this.transferButtonContainer.setName("container-transfer-btn");
this.transferButtonContainer.setVisible(false);
ui.add(this.transferButtonContainer);
const transferButtonText = addTextObject(this.scene, -4, -2, "Transfer", TextStyle.PARTY);
transferButtonText.setName("text-transfer-btn");
transferButtonText.setOrigin(1, 0);
this.transferButtonContainer.add(transferButtonText);
this.rerollButtonContainer = this.scene.add.container(16, -64);
this.rerollButtonContainer.setName("container-reroll-brn");
this.rerollButtonContainer.setVisible(false);
ui.add(this.rerollButtonContainer);
const rerollButtonText = addTextObject(this.scene, -4, -2, "Reroll", TextStyle.PARTY);
rerollButtonText.setName("text-reroll-btn");
rerollButtonText.setOrigin(0, 0);
this.rerollButtonContainer.add(rerollButtonText);
this.rerollCostText = addTextObject(this.scene, 0, 0, "", TextStyle.MONEY);
this.rerollCostText.setName("text-reroll-cost");
this.rerollCostText.setOrigin(0, 0);
this.rerollCostText.setPositionRelative(rerollButtonText, rerollButtonText.displayWidth + 5, 1);
this.rerollButtonContainer.add(this.rerollCostText);
@ -141,7 +146,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
const maxUpgradeCount = typeOptions.map(to => to.upgradeCount).reduce((max, current) => Math.max(current, max), 0);
this.scene.showFieldOverlay(750);
this.scene.updateAndShowLuckText(750);
this.scene.updateAndShowText(750);
let i = 0;

View File

@ -412,3 +412,13 @@ export function verifyLang(lang?: string): boolean {
return false;
}
}
/**
* Prints the type and name of all game objects in a container for debuggin purposes
* @param container container with game objects inside it
*/
export function printContainerList(container: Phaser.GameObjects.Container): void {
console.log(container.list.map(go => {
return {type: go.type, name: go.name};
}));
}