mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-15 12:52:20 +02:00
Merge branch 'main' of https://github.com/knispeja/pokerogue
This commit is contained in:
commit
fe873c64ec
@ -4,6 +4,7 @@ import BattleScene from "../battle-scene";
|
||||
import { Species } from "./enums/species";
|
||||
import { getPokemonSpecies, speciesStarters } from "./pokemon-species";
|
||||
import { EggTier } from "./enums/egg-type";
|
||||
import i18next from '../plugins/i18n';
|
||||
|
||||
export const EGG_SEED = 1073741824;
|
||||
|
||||
@ -56,34 +57,34 @@ export function getEggDescriptor(egg: Egg): string {
|
||||
return 'Manaphy';
|
||||
switch (egg.tier) {
|
||||
case EggTier.GREAT:
|
||||
return 'Rare';
|
||||
return i18next.t('egg:greatTier');
|
||||
case EggTier.ULTRA:
|
||||
return 'Epic';
|
||||
return i18next.t('egg:ultraTier');
|
||||
case EggTier.MASTER:
|
||||
return 'Legendary';
|
||||
return i18next.t('egg:masterTier');
|
||||
default:
|
||||
return 'Common';
|
||||
return i18next.t('egg:defaultTier');
|
||||
}
|
||||
}
|
||||
|
||||
export function getEggHatchWavesMessage(hatchWaves: integer): string {
|
||||
if (hatchWaves <= 5)
|
||||
return 'Sounds can be heard coming from inside! It will hatch soon!';
|
||||
return i18next.t('egg:hatchWavesMessageSoon');
|
||||
if (hatchWaves <= 15)
|
||||
return 'It appears to move occasionally. It may be close to hatching.';
|
||||
return i18next.t('egg:hatchWavesMessageClose');
|
||||
if (hatchWaves <= 50)
|
||||
return 'What will hatch from this? It doesn\'t seem close to hatching.';
|
||||
return 'It looks like this Egg will take a long time to hatch.';
|
||||
return i18next.t('egg:hatchWavesMessageNotClose');
|
||||
return i18next.t('egg:hatchWavesMessageLongTime');
|
||||
}
|
||||
|
||||
export function getEggGachaTypeDescriptor(scene: BattleScene, egg: Egg): string {
|
||||
switch (egg.gachaType) {
|
||||
case GachaType.LEGENDARY:
|
||||
return `Legendary Rate Up (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, egg.timestamp)).getName()})`;
|
||||
return `${i18next.t('egg:gachaTypeLegendary')} (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, egg.timestamp)).getName()})`;
|
||||
case GachaType.MOVE:
|
||||
return 'Rare Egg Move Rate Up';
|
||||
return i18next.t('egg:gachaTypeMove');
|
||||
case GachaType.SHINY:
|
||||
return 'Shiny Rate Up';
|
||||
return i18next.t('egg:gachaTypeShiny');
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,37 +1,45 @@
|
||||
export const battleCountSplashMessage = '{COUNT} Battles Won!';
|
||||
import i18next from "../plugins/i18n";
|
||||
|
||||
export const splashMessages = Array(10).fill(battleCountSplashMessage);
|
||||
splashMessages.push(...[
|
||||
'Join the Discord!',
|
||||
'Infinite Levels!',
|
||||
'Everything Stacks!',
|
||||
'Optional Save Scumming!',
|
||||
'35 Biomes!',
|
||||
'Open Source!',
|
||||
'Play with 5x Speed!',
|
||||
'Live Bug Testing!',
|
||||
'Heavy RoR2 Influence!',
|
||||
'Pokémon Risk and Pokémon Rain!',
|
||||
'Now with 33% More Salt!',
|
||||
'Infinite Fusion at Home!',
|
||||
'Broken Egg Moves!',
|
||||
'Magnificent!',
|
||||
'Mubstitute!',
|
||||
'That\'s Crazy!',
|
||||
'Orance Juice!',
|
||||
'Questionable Balancing!',
|
||||
'Cool Shaders!',
|
||||
'AI-Free!',
|
||||
'Sudden Difficulty Spikes!',
|
||||
'Based on an Unfinished Flash Game!',
|
||||
'More Addictive than Intended!',
|
||||
'Mostly Consistent Seeds!',
|
||||
'Achievement Points Don\'t Do Anything!',
|
||||
'You Do Not Start at Level 2000!',
|
||||
'Don\'t Talk About the Manaphy Egg Incident!',
|
||||
'Also Try Pokéngine!',
|
||||
'Also Try Emerald Rogue!',
|
||||
'Also Try Radical Red!',
|
||||
'Eevee Expo!',
|
||||
'YNOproject!'
|
||||
]);
|
||||
export function getBattleCountSplashMessage(): string {
|
||||
return `{COUNT} ${i18next.t('splashMessages:battlesWon')}`;
|
||||
}
|
||||
|
||||
export function getSplashMessages(): string[] {
|
||||
const splashMessages = Array(10).fill(getBattleCountSplashMessage());
|
||||
splashMessages.push(...[
|
||||
i18next.t('splashMessages:joinTheDiscord'),
|
||||
i18next.t('splashMessages:infiniteLevel'),
|
||||
i18next.t('splashMessages:everythingStacks'),
|
||||
i18next.t('splashMessages:optionalSaveScumming'),
|
||||
i18next.t('splashMessages:biomes'),
|
||||
i18next.t('splashMessages:openSource'),
|
||||
i18next.t('splashMessages:playWith5xSpeed'),
|
||||
i18next.t('splashMessages:liveBugTesting'),
|
||||
i18next.t('splashMessages:heavyRoR2Influence'),
|
||||
i18next.t('splashMessages:pokemonRiskAndPokemonRain'),
|
||||
i18next.t('splashMessages:nowWithMoreSalt'),
|
||||
i18next.t('splashMessages:infiniteFusionAtHome'),
|
||||
i18next.t('splashMessages:brokenEggMoves'),
|
||||
i18next.t('splashMessages:magnificent'),
|
||||
i18next.t('splashMessages:mubstitute'),
|
||||
i18next.t('splashMessages:thatsCrazy'),
|
||||
i18next.t('splashMessages:oranceJuice'),
|
||||
i18next.t('splashMessages:questionableBalancing'),
|
||||
i18next.t('splashMessages:coolShaders'),
|
||||
i18next.t('splashMessages:aiFree'),
|
||||
i18next.t('splashMessages:suddenDifficultySpikes'),
|
||||
i18next.t('splashMessages:basedOnAnUnfinishedFlashGame'),
|
||||
i18next.t('splashMessages:moreAddictiveThanIntended'),
|
||||
i18next.t('splashMessages:mostlyConsistentSeeds'),
|
||||
i18next.t('splashMessages:achievementPointsDontDoAnything'),
|
||||
i18next.t('splashMessages:youDoNotStartAtLevel'),
|
||||
i18next.t('splashMessages:dontTalkAboutTheManaphyEggIncident'),
|
||||
i18next.t('splashMessages:alsoTryPokengine'),
|
||||
i18next.t('splashMessages:alsoTryEmeraldRogue'),
|
||||
i18next.t('splashMessages:alsoTryRadicalRed'),
|
||||
i18next.t('splashMessages:eeveeExpo'),
|
||||
i18next.t('splashMessages:ynoproject'),
|
||||
]);
|
||||
|
||||
return splashMessages
|
||||
}
|
@ -2,6 +2,7 @@ import { ability } from "./ability";
|
||||
import { abilityTriggers } from "./ability-trigger";
|
||||
import { battle } from "./battle";
|
||||
import { commandUiHandler } from "./command-ui-handler";
|
||||
import { egg } from "./egg";
|
||||
import { fightUiHandler } from "./fight-ui-handler";
|
||||
import { growth } from "./growth";
|
||||
import { menu } from "./menu";
|
||||
@ -14,6 +15,7 @@ import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
|
||||
|
||||
export const deConfig = {
|
||||
@ -21,6 +23,7 @@ export const deConfig = {
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
menu: menu,
|
||||
@ -30,6 +33,7 @@ export const deConfig = {
|
||||
pokemon: pokemon,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
tutorial: tutorial,
|
||||
splashMessages: splashMessages,
|
||||
nature: nature,
|
||||
growth: growth,
|
||||
modifierType: modifierType,
|
||||
|
21
src/locales/de/egg.ts
Normal file
21
src/locales/de/egg.ts
Normal file
@ -0,0 +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"
|
||||
} as const;
|
@ -4,406 +4,407 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
ModifierType: {
|
||||
"AddPokeballModifierType": {
|
||||
name: "{{modifierCount}}x {{pokeballName}}",
|
||||
description: "Receive {{pokeballName}} x{{modifierCount}} (Inventory: {{pokeballAmount}}) \nCatch Rate: {{catchRate}}",
|
||||
description: "Erhalte {{pokeballName}} x{{modifierCount}} (Inventar: {{pokeballAmount}}) \nFangrate: {{catchRate}}",
|
||||
},
|
||||
"AddVoucherModifierType": {
|
||||
name: "{{modifierCount}}x {{voucherTypeName}}",
|
||||
description: "Receive {{voucherTypeName}} x{{modifierCount}}",
|
||||
description: "Erhalte {{voucherTypeName}} x{{modifierCount}}",
|
||||
},
|
||||
"PokemonHeldItemModifierType": {
|
||||
extra: {
|
||||
"inoperable": "{{pokemonName}} can't take\nthis item!",
|
||||
"tooMany": "{{pokemonName}} has too many\nof this item!",
|
||||
"inoperable": "{{pokemonName}} kann dieses\nItem nicht nehmen!",
|
||||
"tooMany": "{{pokemonName}} hat zu viele\nvon diesem Item!",
|
||||
}
|
||||
},
|
||||
"PokemonHpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
|
||||
description: "Füllt {{restorePoints}} KP oder {{restorePercent}}% der KP für ein Pokémon auf. Je nachdem, welcher Wert höher ist",
|
||||
extra: {
|
||||
"fully": "Fully restores HP for one Pokémon",
|
||||
"fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
|
||||
"fully": "Füllt die KP eines Pokémon wieder vollständig auf.",
|
||||
"fullyWithStatus": "Füllt die KP eines Pokémon wieder vollständig auf und behebt alle Statusprobleme",
|
||||
}
|
||||
},
|
||||
"PokemonReviveModifierType": {
|
||||
description: "Revives one Pokémon and restores {{restorePercent}}% HP",
|
||||
description: "Belebt ein kampunfähiges Pokémon wieder und stellt {{restorePercent}}% KP wieder her",
|
||||
},
|
||||
"PokemonStatusHealModifierType": {
|
||||
description: "Heals any status ailment for one Pokémon",
|
||||
description: "Behebt alle Statusprobleme eines Pokémon",
|
||||
},
|
||||
"PokemonPpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for one Pokémon move",
|
||||
description: "Füllt {{restorePoints}} AP der ausgewählten Attacke eines Pokémon auf",
|
||||
extra: {
|
||||
"fully": "Restores all PP for one Pokémon move",
|
||||
"fully": "Füllt alle AP der ausgewählten Attacke eines Pokémon auf",
|
||||
}
|
||||
},
|
||||
"PokemonAllMovePpRestoreModifierType": {
|
||||
description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
|
||||
description: "Stellt {{restorePoints}} AP für alle Attacken eines Pokémon auf",
|
||||
extra: {
|
||||
"fully": "Restores all PP for all of one Pokémon's moves",
|
||||
"fully": "Füllt alle AP für alle Attacken eines Pokémon auf",
|
||||
}
|
||||
},
|
||||
"PokemonPpUpModifierType": {
|
||||
description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
|
||||
description: "Erhöht die maximale Anzahl der AP der ausgewählten Attacke um {{upPoints}} für jede 5 maximale AP (maximal 3)",
|
||||
},
|
||||
"PokemonNatureChangeModifierType": {
|
||||
name: "{{natureName}} Mint",
|
||||
description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
|
||||
name: "{{natureName}} Minze",
|
||||
description: "Ändert das Wesen zu {{natureName}}. Schaltet dieses Wesen permanent für diesen Starter frei.",
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
|
||||
description: "Verdoppelt die Wahrscheinlichkeit, dass die nächsten {{battleCount}} Begegnungen mit wilden Pokémon ein Doppelkampf sind.",
|
||||
},
|
||||
"TempBattleStatBoosterModifierType": {
|
||||
description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
|
||||
description: "Erhöht die {{tempBattleStatName}} aller Teammitglieder für 5 Kämpfe um eine Stufe",
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
|
||||
description: "Erhöht die Stärke aller {{moveType}}attacken eines Pokémon um 20%",
|
||||
},
|
||||
"PokemonLevelIncrementModifierType": {
|
||||
description: "Increases a Pokémon's level by 1",
|
||||
description: "Erhöht das Level eines Pokémon um 1",
|
||||
},
|
||||
"AllPokemonLevelIncrementModifierType": {
|
||||
description: "Increases all party members' level by 1",
|
||||
description: "Erhöht das Level aller Teammitglieder um 1",
|
||||
},
|
||||
"PokemonBaseStatBoosterModifierType": {
|
||||
description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
|
||||
description: "Erhöht den {{statName}} Basiswert des Trägers um 10%. Das Stapellimit erhöht sich, je höher dein IS-Wert ist.",
|
||||
},
|
||||
"AllPokemonFullHpRestoreModifierType": {
|
||||
description: "Restores 100% HP for all Pokémon",
|
||||
description: "Stellt 100% der KP aller Pokémon her",
|
||||
},
|
||||
"AllPokemonFullReviveModifierType": {
|
||||
description: "Revives all fainted Pokémon, fully restoring HP",
|
||||
description: "Belebt alle kampunfähigen Pokémon wieder und stellt ihre KP vollständig wieder her",
|
||||
},
|
||||
"MoneyRewardModifierType": {
|
||||
description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
|
||||
description:"Gewährt einen {{moneyMultiplier}} Geldbetrag von (₽{{moneyAmount}})",
|
||||
extra: {
|
||||
"small": "small",
|
||||
"moderate": "moderate",
|
||||
"large": "large",
|
||||
"small": "kleinen",
|
||||
"moderate": "moderaten",
|
||||
"large": "großen",
|
||||
},
|
||||
},
|
||||
"ExpBoosterModifierType": {
|
||||
description: "Increases gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Erhöht die erhaltenen Erfahrungspunkte um {{boostPercent}}%",
|
||||
},
|
||||
"PokemonExpBoosterModifierType": {
|
||||
description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
|
||||
description: "Erhöht die Menge der erhaltenen Erfahrungspunkte für den Träger um {{boostPercent}}%",
|
||||
},
|
||||
"PokemonFriendshipBoosterModifierType": {
|
||||
description: "Increases friendship gain per victory by 50%",
|
||||
description: "Erhöht den Freundschaftszuwachs pro Sieg um 50%.",
|
||||
},
|
||||
"PokemonMoveAccuracyBoosterModifierType": {
|
||||
description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
|
||||
description: "Erhöht die Genauigkeit der Angriffe um {{accuracyAmount}} (maximal 100)",
|
||||
},
|
||||
"PokemonMultiHitModifierType": {
|
||||
description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
|
||||
description: "Attacken treffen ein weiteres mal mit einer Reduktion von 60/75/82,5% der Stärke",
|
||||
},
|
||||
"TmModifierType": {
|
||||
name: "TM{{moveId}} - {{moveName}}",
|
||||
description: "Teach {{moveName}} to a Pokémon",
|
||||
description: "Bringt einem Pokémon {{moveName}} bei",
|
||||
},
|
||||
"EvolutionItemModifierType": {
|
||||
description: "Causes certain Pokémon to evolve",
|
||||
description: "Erlaubt es bestimmten Pokémon sich zu entwickeln",
|
||||
},
|
||||
"FormChangeItemModifierType": {
|
||||
description: "Causes certain Pokémon to change form",
|
||||
description: "Erlaubt es bestimmten Pokémon ihre Form zu ändern",
|
||||
},
|
||||
"FusePokemonModifierType": {
|
||||
description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
|
||||
description: "Fusioniert zwei Pokémon (überträgt die Fähigkeit, teilt Basiswerte und Typ auf, gemeinsamer Attackenpool)",
|
||||
},
|
||||
"TerastallizeModifierType": {
|
||||
name: "{{teraType}} Tera Shard",
|
||||
description: "{{teraType}} Terastallizes the holder for up to 10 battles",
|
||||
name: "{{teraType}} Terra-Stück",
|
||||
description: "{{teraType}} Terakristallisiert den Träger für bis zu 10 Kämpfe",
|
||||
},
|
||||
"ContactHeldItemTransferChanceModifierType": {
|
||||
description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
|
||||
description:"Beim Angriff besteht eine {{chancePercent}}%ige Chance, dass das getragene Item des Gegners gestohlen wird."
|
||||
},
|
||||
"TurnHeldItemTransferModifierType": {
|
||||
description: "Every turn, the holder acquires one held item from the foe",
|
||||
description: "Jede Runde erhält der Träger ein getragenes Item des Gegners",
|
||||
},
|
||||
"EnemyAttackStatusEffectChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
|
||||
description: "Fügt Angriffen eine {{chancePercent}}%ige Chance hinzu, {{statusEffect}} zu verursachen",
|
||||
},
|
||||
"EnemyEndureChanceModifierType": {
|
||||
description: "Adds a {{chancePercent}}% chance of enduring a hit",
|
||||
description: "Gibt den Träger eine {{chancePercent}}%ige Chance, einen Angriff zu überleben",
|
||||
},
|
||||
|
||||
"RARE_CANDY": { name: "Rare Candy" },
|
||||
"RARER_CANDY": { name: "Rarer Candy" },
|
||||
"RARE_CANDY": { name: "Sonderbonbon" },
|
||||
"RARER_CANDY": { name: "Supersondererbonbon" },
|
||||
|
||||
"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-Armband", description: "Mega-Steine werden verfügbar" },
|
||||
"DYNAMAX_BAND": { name: "Dynamax-Band", description: "Dyna-Pilze werden verfügbar" },
|
||||
"TERA_ORB": { name: "Terakristall-Orb", description: "Tera-Stücke werden verfügbar" },
|
||||
|
||||
"MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
|
||||
"MAP": { name: "Karte", description: "Ermöglicht es dir, an einer Kreuzung dein Ziel zu wählen." },
|
||||
|
||||
"POTION": { name: "Potion" },
|
||||
"SUPER_POTION": { name: "Super Potion" },
|
||||
"HYPER_POTION": { name: "Hyper Potion" },
|
||||
"MAX_POTION": { name: "Max Potion" },
|
||||
"FULL_RESTORE": { name: "Full Restore" },
|
||||
|
||||
"REVIVE": { name: "Revive" },
|
||||
"MAX_REVIVE": { name: "Max Revive" },
|
||||
|
||||
"FULL_HEAL": { name: "Full Heal" },
|
||||
"POTION": { name: "Trank" },
|
||||
"SUPER_POTION": { name: "Supertrank" },
|
||||
"HYPER_POTION": { name: "Hypertrank" },
|
||||
"MAX_POTION": { name: "Top-Trank" },
|
||||
"FULL_RESTORE": { name: "Top-Genesung" },
|
||||
|
||||
"SACRED_ASH": { name: "Sacred Ash" },
|
||||
"REVIVE": { name: "Beleber" },
|
||||
"MAX_REVIVE": { name: "Top-Beleber" },
|
||||
|
||||
"REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
|
||||
"FULL_HEAL": { name: "Hyperheiler" },
|
||||
|
||||
"ETHER": { name: "Ether" },
|
||||
"MAX_ETHER": { name: "Max Ether" },
|
||||
"SACRED_ASH": { name: "Zauberasche" },
|
||||
|
||||
"REVIVER_SEED": { name: "Belebersamen", description: "Belebt den Träger mit der Hälfte seiner KP wieder sollte er kampfunfähig werden" },
|
||||
|
||||
"ETHER": { name: "Äther" },
|
||||
"MAX_ETHER": { name: "Top-Äther" },
|
||||
|
||||
"ELIXIR": { name: "Elixir" },
|
||||
"MAX_ELIXIR": { name: "Max Elixir" },
|
||||
"MAX_ELIXIR": { name: "Top-Elixir" },
|
||||
|
||||
"PP_UP": { name: "PP Up" },
|
||||
"PP_MAX": { name: "PP Max" },
|
||||
"PP_UP": { name: "AP-Plus" },
|
||||
"PP_MAX": { name: "AP-Top" },
|
||||
|
||||
"LURE": { name: "Lure" },
|
||||
"SUPER_LURE": { name: "Super Lure" },
|
||||
"MAX_LURE": { name: "Max Lure" },
|
||||
"LURE": { name: "Lockparfüm" },
|
||||
"SUPER_LURE": { name: "Super-Lockparfüm" },
|
||||
"MAX_LURE": { name: "Top-Lockparfüm" },
|
||||
|
||||
"MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
|
||||
"MEMORY_MUSHROOM": { name: "Erinnerungspilz", description: "Lässt ein Pokémon eine vergessene Attacke wiedererlernen" },
|
||||
|
||||
"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: "EP-Teiler", description: "Pokémon, die nicht am Kampf teilgenommen haben, bekommen 20% der Erfahrungspunkte eines Kampfteilnehmers" },
|
||||
"EXP_BALANCE": { name: "EP-Ausgleicher", description: "Gewichtet die in Kämpfen erhaltenen Erfahrungspunkte auf niedrigstufigere Gruppenmitglieder." },
|
||||
|
||||
"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: "Ovalpin", description: "Wenn mehrere Pokémon am Kampf teilnehmen, erhählt jeder von ihnen 10% extra Erfahrungspunkte" },
|
||||
|
||||
"EXP_CHARM": { name: "EXP. Charm" },
|
||||
"SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
|
||||
"GOLDEN_EXP_CHARM": { name: "Golden EXP. Charm" },
|
||||
"EXP_CHARM": { name: "EP-Pin" },
|
||||
"SUPER_EXP_CHARM": { name: "Super-EP-Pin" },
|
||||
"GOLDEN_EXP_CHARM": { name: "Goldener EP-Pin" },
|
||||
|
||||
"LUCKY_EGG": { name: "Lucky Egg" },
|
||||
"GOLDEN_EGG": { name: "Golden Egg" },
|
||||
"LUCKY_EGG": { name: "Glücks-Ei" },
|
||||
"GOLDEN_EGG": { name: "Goldenes Ei" },
|
||||
|
||||
"SOOTHE_BELL": { name: "Soothe Bell" },
|
||||
"SOOTHE_BELL": { name: "Sanftglocke" },
|
||||
|
||||
"SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
|
||||
"SOUL_DEW": { name: "Seelentau", description: "Erhöht den Einfluss des Wesens eines Pokemon auf seine Werte um 10% (additiv)" },
|
||||
|
||||
"NUGGET": { name: "Nugget" },
|
||||
"BIG_NUGGET": { name: "Big Nugget" },
|
||||
"RELIC_GOLD": { name: "Relic Gold" },
|
||||
"BIG_NUGGET": { name: "Riesennugget" },
|
||||
"RELIC_GOLD": { name: "Alter Dukat" },
|
||||
|
||||
"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" },
|
||||
|
||||
"LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
|
||||
"AMULET_COIN": { name: "Münzamulett", description: "Erhöht das Preisgeld um 20%" },
|
||||
"GOLDEN_PUNCH": { name: "Goldschlag", description: "Gewährt Geld in Höhe von 50% des zugefügten Schadens" },
|
||||
"COIN_CASE": { name: "Münzkorb", description: "Erhalte nach jedem 10ten Kampf 10% Zinsen auf dein Geld" },
|
||||
|
||||
"GRIP_CLAW": { name: "Grip Claw" },
|
||||
"WIDE_LENS": { name: "Wide Lens" },
|
||||
|
||||
"MULTI_LENS": { name: "Multi Lens" },
|
||||
"LOCK_CAPSULE": { name: "Tresorkapsel", description: "Erlaubt es die Seltenheitsstufe der Items festzusetzen wenn diese neu gerollt werden" },
|
||||
|
||||
"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" },
|
||||
"GRIP_CLAW": { name: "Griffklaue" },
|
||||
"WIDE_LENS": { name: "Großlinse" },
|
||||
|
||||
"BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 25% chance that a used berry will not be consumed" },
|
||||
"MULTI_LENS": { name: "Mehrfachlinse" },
|
||||
|
||||
"FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" },
|
||||
"HEALING_CHARM": { name: "Heilungspin", description: "Erhöht die Effektivität von Heilungsattacken sowie Heilitems um 10% (Beleber ausgenommen)" },
|
||||
"CANDY_JAR": { name: "Bonbonglas", description: "Erhöht die Anzahl der Level die ein Sonderbonbon erhöht um 1" },
|
||||
|
||||
"QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
|
||||
"BERRY_POUCH": { name: "Beerentüte", description: "Fügt eine 25% Chance hinzu, dass Beeren nicht verbraucht werden" },
|
||||
|
||||
"KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
|
||||
"FOCUS_BAND": { name: "Fokusband", description: "Fügt eine 10% Chance hinzu, dass Angriffe die zur Kampfunfähigkeit führen mit 1 KP überlebt werden" },
|
||||
|
||||
"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" },
|
||||
"QUICK_CLAW": { name: "Quick Claw", description: "Fügt eine 10% Change hinzu als erster anzugreifen. (Nach Prioritätsangriffen)" },
|
||||
|
||||
"BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
|
||||
"KINGS_ROCK": { name: "King-Stein", description: "Fügt eine 10% Chance hinzu, dass der Gegner nach einem Angriff zurückschreckt" },
|
||||
|
||||
"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" },
|
||||
"LEFTOVERS": { name: "Überreste", description: "Heilt 1/16 der maximalen KP eines Pokémon pro Runde" },
|
||||
"SHELL_BELL": { name: "Muschelglocke", description: "Heilt den Anwender um 1/8 des von ihm zugefügten Schadens" },
|
||||
|
||||
"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" },
|
||||
"BATON": { name: "Stab", description: "Ermöglicht das Weitergeben von Effekten beim Wechseln von Pokémon, wodurch auch Fallen umgangen werden." },
|
||||
|
||||
"DNA_SPLICERS": { name: "DNA Splicers" },
|
||||
"SHINY_CHARM": { name: "Schillerpin", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon ein schillernd ist" },
|
||||
"ABILITY_CHARM": { name: "Ability Charm", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon eine versteckte Fähigkeit hat" },
|
||||
|
||||
"MINI_BLACK_HOLE": { name: "Mini Black Hole" },
|
||||
"IV_SCANNER": { name: "IS-Scanner", description: "Erlaubt es die IS-Werte von wilden Pokémon zu scannen.\n(2 IS-Werte pro Staplung. Die besten IS-Werte zuerst)" },
|
||||
|
||||
"GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
|
||||
"DNA_SPLICERS": { name: "DNS-Keil" },
|
||||
|
||||
"MINI_BLACK_HOLE": { name: "Mini schwarzes Loch" },
|
||||
|
||||
"GOLDEN_POKEBALL": { name: "Goldener Pokéball", description: "Fügt eine zusätzliche Item-Auswahlmöglichkeit nach jedem Kampf hinzu" },
|
||||
|
||||
"ENEMY_DAMAGE_BOOSTER": { name: "Schadensmarke", description: "Erhöht den Schaden um 5%" },
|
||||
"ENEMY_DAMAGE_REDUCTION": { name: "Schutzmarke", description: "Verringert den erhaltenen Schaden um 2,5%" },
|
||||
"ENEMY_HEAL": { name: "Wiederherstellungsmarke", description: "Heilt 2% der maximalen KP pro Runde" },
|
||||
"ENEMY_ATTACK_POISON_CHANCE": { name: "Giftmarke" },
|
||||
"ENEMY_ATTACK_PARALYZE_CHANCE": { "name": "Lähmungsmarke" },
|
||||
"ENEMY_ATTACK_SLEEP_CHANCE": { "name": "Schlafmarke" },
|
||||
"ENEMY_ATTACK_FREEZE_CHANCE": { "name": "Gefriermarke" },
|
||||
"ENEMY_ATTACK_BURN_CHANCE": { "name": "Brandmarke" },
|
||||
"ENEMY_STATUS_EFFECT_HEAL_CHANCE": { "name": "Vollheilungsmarke", "description": "Fügt eine 10%ige Chance hinzu, jede Runde einen Statuszustand zu heilen" },
|
||||
"ENEMY_ENDURE_CHANCE": { "name": "Ausdauer-Marke" },
|
||||
"ENEMY_FUSED_CHANCE": { "name": "Fusionsmarke", "description": "Fügt eine 1%ige Chance hinzu, dass ein wildes Pokémon eine Fusion ist" },
|
||||
|
||||
"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_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_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" },
|
||||
},
|
||||
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": "X-Angriff",
|
||||
"x_defense": "X-Verteidigung",
|
||||
"x_sp_atk": "X-Sp.-Ang.",
|
||||
"x_sp_def": "X-Sp.-Vert.",
|
||||
"x_speed": "X-Tempo",
|
||||
"x_accuracy": "X-Treffer",
|
||||
"dire_hit": "X-Volltreffer",
|
||||
},
|
||||
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",
|
||||
"silk_scarf": "Seidenschal",
|
||||
"black_belt": "Schwarzgurt",
|
||||
"sharp_beak": "Spitzer Schnabel",
|
||||
"poison_barb": "Giftstich",
|
||||
"soft_sand": "Pudersand",
|
||||
"hard_stone": "Granitstein",
|
||||
"silver_powder": "Silberstaub",
|
||||
"spell_tag": "Bannsticker",
|
||||
"metal_coat": "Metallmantel",
|
||||
"charcoal": "Holzkohle",
|
||||
"mystic_water": "Zauberwasser",
|
||||
"miracle_seed": "Wundersaat",
|
||||
"magnet": "Magnet",
|
||||
"twisted_spoon": "Twisted Spoon",
|
||||
"never_melt_ice": "Never-Melt Ice",
|
||||
"dragon_fang": "Dragon Fang",
|
||||
"black_glasses": "Black Glasses",
|
||||
"fairy_feather": "Fairy Feather",
|
||||
"twisted_spoon": "Krümmlöffel",
|
||||
"never_melt_ice": "Ewiges Eis",
|
||||
"dragon_fang": "Drachenzahn",
|
||||
"black_glasses": "Schattenbrille",
|
||||
"fairy_feather": "Feendaune",
|
||||
},
|
||||
BaseStatBoosterItem: {
|
||||
"hp_up": "HP Up",
|
||||
"hp_up": "KP-Plus",
|
||||
"protein": "Protein",
|
||||
"iron": "Iron",
|
||||
"calcium": "Calcium",
|
||||
"zinc": "Zinc",
|
||||
"carbos": "Carbos",
|
||||
"iron": "Eisen",
|
||||
"calcium": "Kalzium",
|
||||
"zinc": "Zink",
|
||||
"carbos": "Carbon",
|
||||
},
|
||||
EvolutionItem: {
|
||||
"NONE": "None",
|
||||
"NONE": "Keins",
|
||||
|
||||
"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",
|
||||
|
||||
"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",
|
||||
"LINKING_CORD": "Linkkabel",
|
||||
"SUN_STONE": "Sonnenstein",
|
||||
"MOON_STONE": "Mondstein",
|
||||
"LEAF_STONE": "Blattstein",
|
||||
"FIRE_STONE": "Feuerstein",
|
||||
"WATER_STONE": "Wasserstein",
|
||||
"THUNDER_STONE": "Donnerstein",
|
||||
"ICE_STONE": "Eisstein",
|
||||
"DUSK_STONE": "Finsterstein",
|
||||
"DAWN_STONE": "Funkelstein",
|
||||
"SHINY_STONE": "Leuchtstein",
|
||||
"CRACKED_POT": "Rissige Kanne",
|
||||
"SWEET_APPLE": "Süßer Apfel",
|
||||
"TART_APPLE": "Saurer Apfel",
|
||||
"STRAWBERRY_SWEET": "Zucker-Erdbeere",
|
||||
"UNREMARKABLE_TEACUP": "Simple Teeschale",
|
||||
|
||||
"CHIPPED_POT": "Löchrige Kanne",
|
||||
"BLACK_AUGURITE": "Schwarzaugit",
|
||||
"GALARICA_CUFF": "Galarnuss-Reif",
|
||||
"GALARICA_WREATH": "Galarnuss-Kranz",
|
||||
"PEAT_BLOCK": "Torfblock",
|
||||
"AUSPICIOUS_ARMOR": "Glorienrüstung",
|
||||
"MALICIOUS_ARMOR": "Fluchrüstung",
|
||||
"MASTERPIECE_TEACUP": "Edle Teeschale",
|
||||
"METAL_ALLOY": "Legierungsmetall",
|
||||
"SCROLL_OF_DARKNESS": "Unlicht-Schriftrolle",
|
||||
"SCROLL_OF_WATERS": "Wasser-Schriftrolle",
|
||||
"SYRUPY_APPLE": "Saftiger Apfel",
|
||||
},
|
||||
FormChangeItem: {
|
||||
"NONE": "None",
|
||||
"NONE": "Keins",
|
||||
|
||||
"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": "Rexblisarnit",
|
||||
"ABSOLITE": "Absolnit",
|
||||
"AERODACTYLITE": "Aerodactylonit",
|
||||
"AGGRONITE": "Stollossnit",
|
||||
"ALAKAZITE": "Simsalanit",
|
||||
"ALTARIANITE": "Altarianit",
|
||||
"AMPHAROSITE": "Ampharosnit",
|
||||
"AUDINITE": "Ohrdochnit",
|
||||
"BANETTITE": "Banetteonit",
|
||||
"BEEDRILLITE": "Bibornit",
|
||||
"BLASTOISINITE": "Turtoknit",
|
||||
"BLAZIKENITE": "Lohgocknit",
|
||||
"CAMERUPTITE": "Cameruptnit",
|
||||
"CHARIZARDITE_X": "Gluraknit X",
|
||||
"CHARIZARDITE_Y": "Gluraknit Y",
|
||||
"DIANCITE": "Diancienit",
|
||||
"GALLADITE": "Galagladinit",
|
||||
"GARCHOMPITE": "Knakracknit",
|
||||
"GARDEVOIRITE": "Guardevoirnit",
|
||||
"GENGARITE": "Gengarnit ",
|
||||
"GLALITITE": "Firnontornit",
|
||||
"GYARADOSITE": "Garadosnit",
|
||||
"HERACRONITE": "Skarabornit",
|
||||
"HOUNDOOMINITE": "Hundemonit ",
|
||||
"KANGASKHANITE": "Kangamanit",
|
||||
"LATIASITE": "Latiasnit",
|
||||
"LATIOSITE": "Latiosnit",
|
||||
"LOPUNNITE": "Schlapornit",
|
||||
"LUCARIONITE": "Lucarionit",
|
||||
"MANECTITE": "Voltensonit",
|
||||
"MAWILITE": "Flunkifernit",
|
||||
"MEDICHAMITE": "Meditalisnit",
|
||||
"METAGROSSITE": "Metagrossnit",
|
||||
"MEWTWONITE_X": "Mewtunit X",
|
||||
"MEWTWONITE_Y": "Mewtunit Y",
|
||||
"PIDGEOTITE": "Taubossnit",
|
||||
"PINSIRITE": "Pinsirnit",
|
||||
"RAYQUAZITE": "Rayquazanit",
|
||||
"SABLENITE": "Zobirisnit",
|
||||
"SALAMENCITE": "Brutalandanit",
|
||||
"SCEPTILITE": "Gewaldronit",
|
||||
"SCIZORITE": "Scheroxnit",
|
||||
"SHARPEDONITE": "Tohaidonit",
|
||||
"SLOWBRONITE": "Lahmusnit",
|
||||
"STEELIXITE": "Stahlosnit",
|
||||
"SWAMPERTITE": "Sumpexnit",
|
||||
"TYRANITARITE": "Despotarnit",
|
||||
"VENUSAURITE": "Bisaflornit",
|
||||
|
||||
"BLUE_ORB": "Blue Orb",
|
||||
"RED_ORB": "Red Orb",
|
||||
"SHARP_METEORITE": "Sharp Meteorite",
|
||||
"HARD_METEORITE": "Hard Meteorite",
|
||||
"SMOOTH_METEORITE": "Smooth Meteorite",
|
||||
"ADAMANT_CRYSTAL": "Adamant Crystal",
|
||||
"LUSTROUS_ORB": "Lustrous Orb",
|
||||
"GRISEOUS_CORE": "Griseous Core",
|
||||
"REVEAL_GLASS": "Reveal Glass",
|
||||
"BLUE_ORB": "Blauer Edelstein",
|
||||
"RED_ORB": "Roter Edelstein",
|
||||
"SHARP_METEORITE": "Scharfer Meteorit",
|
||||
"HARD_METEORITE": "Harter Meteorit",
|
||||
"SMOOTH_METEORITE": "Glatter Meteorit",
|
||||
"ADAMANT_CRYSTAL": "Adamantkristall",
|
||||
"LUSTROUS_ORB": "Weiß-Orb",
|
||||
"GRISEOUS_CORE": "Platinumkristall",
|
||||
"REVEAL_GLASS": "Wahrspiegel",
|
||||
"GRACIDEA": "Gracidea",
|
||||
"MAX_MUSHROOMS": "Max Mushrooms",
|
||||
"DARK_STONE": "Dark Stone",
|
||||
"LIGHT_STONE": "Light Stone",
|
||||
"PRISON_BOTTLE": "Prison Bottle",
|
||||
"N_LUNARIZER": "N Lunarizer",
|
||||
"N_SOLARIZER": "N Solarizer",
|
||||
"RUSTED_SWORD": "Rusted Sword",
|
||||
"RUSTED_SHIELD": "Rusted Shield",
|
||||
"ICY_REINS_OF_UNITY": "Icy Reins Of Unity",
|
||||
"SHADOW_REINS_OF_UNITY": "Shadow Reins Of Unity",
|
||||
"WELLSPRING_MASK": "Wellspring Mask",
|
||||
"HEARTHFLAME_MASK": "Hearthflame Mask",
|
||||
"CORNERSTONE_MASK": "Cornerstone Mask",
|
||||
"SHOCK_DRIVE": "Shock Drive",
|
||||
"BURN_DRIVE": "Burn Drive",
|
||||
"CHILL_DRIVE": "Chill Drive",
|
||||
"DOUSE_DRIVE": "Douse Drive",
|
||||
"MAX_MUSHROOMS": "Dyna-Pilz",
|
||||
"DARK_STONE": "Dunkelstein",
|
||||
"LIGHT_STONE": "Lichtstein",
|
||||
"PRISON_BOTTLE": "Banngefäß",
|
||||
"N_LUNARIZER": "Necrolun",
|
||||
"N_SOLARIZER": "Necrosol",
|
||||
"RUSTED_SWORD": "Rostiges Schwert",
|
||||
"RUSTED_SHIELD": "Rostiges Schild",
|
||||
"ICY_REINS_OF_UNITY": "eisige Zügel des Bundes",
|
||||
"SHADOW_REINS_OF_UNITY": "schattige Zügel des Bundes",
|
||||
"WELLSPRING_MASK": "Brunnenmaske",
|
||||
"HEARTHFLAME_MASK": "Ofenmaske",
|
||||
"CORNERSTONE_MASK": "Fundamentmaske",
|
||||
"SHOCK_DRIVE": "Blitzmodul",
|
||||
"BURN_DRIVE": "Flammenmodul",
|
||||
"CHILL_DRIVE": "Gefriermodul",
|
||||
"DOUSE_DRIVE": "Aquamodul",
|
||||
},
|
||||
TeraType: {
|
||||
"UNKNOWN": "Unknown",
|
||||
"UNKNOWN": "Unbekannt",
|
||||
"NORMAL": "Normal",
|
||||
"FIGHTING": "Fighting",
|
||||
"FLYING": "Flying",
|
||||
"POISON": "Poison",
|
||||
"GROUND": "Ground",
|
||||
"ROCK": "Rock",
|
||||
"BUG": "Bug",
|
||||
"GHOST": "Ghost",
|
||||
"STEEL": "Steel",
|
||||
"FIRE": "Fire",
|
||||
"WATER": "Water",
|
||||
"GRASS": "Grass",
|
||||
"ELECTRIC": "Electric",
|
||||
"PSYCHIC": "Psychic",
|
||||
"ICE": "Ice",
|
||||
"DRAGON": "Dragon",
|
||||
"DARK": "Dark",
|
||||
"FAIRY": "Fairy",
|
||||
"FIGHTING": "Kampf",
|
||||
"FLYING": "Flug",
|
||||
"POISON": "Gift",
|
||||
"GROUND": "Boden",
|
||||
"ROCK": "Gestein",
|
||||
"BUG": "Käfer",
|
||||
"GHOST": "Geist",
|
||||
"STEEL": "Stahl",
|
||||
"FIRE": "Feuer",
|
||||
"WATER": "Wasser",
|
||||
"GRASS": "Pflanze",
|
||||
"ELECTRIC": "Elektro",
|
||||
"PSYCHIC": "Psycho",
|
||||
"ICE": "Eis",
|
||||
"DRAGON": "Drache",
|
||||
"DARK": "Unlicht",
|
||||
"FAIRY": "Fee",
|
||||
"STELLAR": "Stellar",
|
||||
},
|
||||
} as const;
|
37
src/locales/de/splash-messages.ts
Normal file
37
src/locales/de/splash-messages.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "Battles Won!",
|
||||
"joinTheDiscord": "Join the Discord!",
|
||||
"infiniteLevels": "Infinite Levels!",
|
||||
"everythingStacks": "Everything Stacks!",
|
||||
"optionalSaveScumming": "Optional Save Scumming!",
|
||||
"biomes": "35 Biomes!",
|
||||
"openSource": "Open Source!",
|
||||
"playWithSpeed": "Play with 5x Speed!",
|
||||
"liveBugTesting": "Live Bug Testing!",
|
||||
"heavyInfluence": "Heavy RoR2 Influence!",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!",
|
||||
"nowWithMoreSalt": "Now with 33% More Salt!",
|
||||
"infiniteFusionAtHome": "Infinite Fusion at Home!",
|
||||
"brokenEggMoves": "Broken Egg Moves!",
|
||||
"magnificent": "Magnificent!",
|
||||
"mubstitute": "Mubstitute!",
|
||||
"thatsCrazy": "That\'s Crazy!",
|
||||
"oranceJuice": "Orance Juice!",
|
||||
"questionableBalancing": "Questionable Balancing!",
|
||||
"coolShaders": "Cool Shaders!",
|
||||
"aiFree": "AI-Free!",
|
||||
"suddenDifficultySpikes": "Sudden Difficulty Spikes!",
|
||||
"basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!",
|
||||
"moreAddictiveThanIntended": "More Addictive than Intended!",
|
||||
"mostlyConsistentSeeds": "Mostly Consistent Seeds!",
|
||||
"achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!",
|
||||
"youDoNotStartAtLevel": "You Do Not Start at Level 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!",
|
||||
"alsoTryPokengine": "Also Try Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Also Try Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Also Try Radical Red!",
|
||||
"eeveeExpo": "Eevee Expo!",
|
||||
"ynoproject": "YNOproject!",
|
||||
} as const;
|
@ -17,7 +17,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
|
||||
"gen8": "VIII",
|
||||
"gen9": "IX",
|
||||
"growthRate": "Wachstum:",
|
||||
"ability": "Fhgkeit:",
|
||||
"ability": "Fähgkeit:",
|
||||
"passive": "Passiv:",
|
||||
"nature": "Wesen:",
|
||||
"eggMoves": "Ei-Attacken",
|
||||
@ -40,5 +40,5 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
|
||||
"disablePassive": "Passiv-Skill deaktivieren",
|
||||
"locked": "Gesperrt",
|
||||
"disabled": "Deaktiviert",
|
||||
"uncaught": "Uncaught"
|
||||
"uncaught": "Ungefangen"
|
||||
}
|
||||
|
@ -4,41 +4,41 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
* The weather namespace holds text displayed when weather is active during a battle
|
||||
*/
|
||||
export const weather: SimpleTranslationEntries = {
|
||||
"sunnyStartMessage": "The sunlight got bright!",
|
||||
"sunnyLapseMessage": "The sunlight is strong.",
|
||||
"sunnyClearMessage": "The sunlight faded.",
|
||||
"sunnyStartMessage": "Die Sonne hellt auf!",
|
||||
"sunnyLapseMessage": "Die Sonne blendet.",
|
||||
"sunnyClearMessage": "Die Sonne schwächt ab.",
|
||||
|
||||
"rainStartMessage": "A downpour started!",
|
||||
"rainLapseMessage": "The downpour continues.",
|
||||
"rainClearMessage": "The rain stopped.",
|
||||
"rainStartMessage": "Es fängt an zu regnen!",
|
||||
"rainLapseMessage": "Es regnet weiterhin.",
|
||||
"rainClearMessage": "Es hört auf zu regnen.",
|
||||
|
||||
"sandstormStartMessage": "A sandstorm brewed!",
|
||||
"sandstormLapseMessage": "The sandstorm rages.",
|
||||
"sandstormClearMessage": "The sandstorm subsided.",
|
||||
"sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!",
|
||||
"sandstormStartMessage": "Ein Sandsturm braut sich zusammen!",
|
||||
"sandstormLapseMessage": "Der Sandsturm tobt.",
|
||||
"sandstormClearMessage": "Der Sandsturm lässt nach.",
|
||||
"sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nSandsturm beeinträchtigt!",
|
||||
|
||||
"hailStartMessage": "It started to hail!",
|
||||
"hailLapseMessage": "Hail continues to fall.",
|
||||
"hailClearMessage": "The hail stopped.",
|
||||
"hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!",
|
||||
"hailStartMessage": "Es fängt an zu hageln!",
|
||||
"hailLapseMessage": "Es hagelt weiterhin.",
|
||||
"hailClearMessage": "Es hört auf zu hageln.",
|
||||
"hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} ist vom\nHagel beeinträchtigt!",
|
||||
|
||||
"snowStartMessage": "It started to snow!",
|
||||
"snowLapseMessage": "The snow is falling down.",
|
||||
"snowClearMessage": "The snow stopped.",
|
||||
"snowStartMessage": "Es fängt an zu schneien!",
|
||||
"snowLapseMessage": "Es schneit weiterhin.",
|
||||
"snowClearMessage": "Es hört auf zu schneien.",
|
||||
|
||||
"fogStartMessage": "A thick fog emerged!",
|
||||
"fogLapseMessage": "The fog continues.",
|
||||
"fogClearMessage": "The fog disappeared.",
|
||||
"fogStartMessage": "Es fängt an zu nebeln!",
|
||||
"fogLapseMessage": "Es nebelt weiterhin.",
|
||||
"fogClearMessage": "Es hört auf zu nebeln.",
|
||||
|
||||
"heavyRainStartMessage": "A heavy downpour started!",
|
||||
"heavyRainLapseMessage": "The heavy downpour continues.",
|
||||
"heavyRainClearMessage": "The heavy rain stopped.",
|
||||
"heavyRainStartMessage": "Ein Starkregen beginnt!",
|
||||
"heavyRainLapseMessage": "Der Starkregen hält an.",
|
||||
"heavyRainClearMessage": "Der Starkregen lässt nach.",
|
||||
|
||||
"harshSunStartMessage": "The sunlight got hot!",
|
||||
"harshSunLapseMessage": "The sun is scorching hot.",
|
||||
"harshSunClearMessage": "The harsh sunlight faded.",
|
||||
"harshSunStartMessage": "Das Sonnenlicht wird wärmer!",
|
||||
"harshSunLapseMessage": "Das Sonnenlicht brennt.",
|
||||
"harshSunClearMessage": "Das Sonnenlicht schwächt ab.",
|
||||
|
||||
"strongWindsStartMessage": "A heavy wind began!",
|
||||
"strongWindsLapseMessage": "The wind blows intensely.",
|
||||
"strongWindsClearMessage": "The heavy wind stopped."
|
||||
}
|
||||
"strongWindsStartMessage": "Ein starker Wind zieht auf!",
|
||||
"strongWindsLapseMessage": "Der starke Wind tobt.",
|
||||
"strongWindsClearMessage": "Der starke Wind legt sich."
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ import { ability } from "./ability";
|
||||
import { abilityTriggers } from "./ability-trigger";
|
||||
import { battle } from "./battle";
|
||||
import { commandUiHandler } from "./command-ui-handler";
|
||||
import { egg } from "./egg";
|
||||
import { fightUiHandler } from "./fight-ui-handler";
|
||||
import { growth } from "./growth";
|
||||
import { menu } from "./menu";
|
||||
@ -14,6 +15,7 @@ import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
|
||||
@ -22,6 +24,7 @@ export const enConfig = {
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
menu: menu,
|
||||
@ -31,6 +34,7 @@ export const enConfig = {
|
||||
pokemon: pokemon,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
tutorial: tutorial,
|
||||
splashMessages: splashMessages,
|
||||
nature: nature,
|
||||
growth: growth,
|
||||
weather: weather,
|
||||
|
21
src/locales/en/egg.ts
Normal file
21
src/locales/en/egg.ts
Normal file
@ -0,0 +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"
|
||||
} as const;
|
37
src/locales/en/splash-messages.ts
Normal file
37
src/locales/en/splash-messages.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "Battles Won!",
|
||||
"joinTheDiscord": "Join the Discord!",
|
||||
"infiniteLevels": "Infinite Levels!",
|
||||
"everythingStacks": "Everything Stacks!",
|
||||
"optionalSaveScumming": "Optional Save Scumming!",
|
||||
"biomes": "35 Biomes!",
|
||||
"openSource": "Open Source!",
|
||||
"playWithSpeed": "Play with 5x Speed!",
|
||||
"liveBugTesting": "Live Bug Testing!",
|
||||
"heavyInfluence": "Heavy RoR2 Influence!",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!",
|
||||
"nowWithMoreSalt": "Now with 33% More Salt!",
|
||||
"infiniteFusionAtHome": "Infinite Fusion at Home!",
|
||||
"brokenEggMoves": "Broken Egg Moves!",
|
||||
"magnificent": "Magnificent!",
|
||||
"mubstitute": "Mubstitute!",
|
||||
"thatsCrazy": "That\'s Crazy!",
|
||||
"oranceJuice": "Orance Juice!",
|
||||
"questionableBalancing": "Questionable Balancing!",
|
||||
"coolShaders": "Cool Shaders!",
|
||||
"aiFree": "AI-Free!",
|
||||
"suddenDifficultySpikes": "Sudden Difficulty Spikes!",
|
||||
"basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!",
|
||||
"moreAddictiveThanIntended": "More Addictive than Intended!",
|
||||
"mostlyConsistentSeeds": "Mostly Consistent Seeds!",
|
||||
"achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!",
|
||||
"youDoNotStartAtLevel": "You Do Not Start at Level 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!",
|
||||
"alsoTryPokengine": "Also Try Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Also Try Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Also Try Radical Red!",
|
||||
"eeveeExpo": "Eevee Expo!",
|
||||
"ynoproject": "YNOproject!",
|
||||
} as const;
|
@ -14,11 +14,11 @@ export const battle: SimpleTranslationEntries = {
|
||||
"pokemonCaught": "¡{{pokemonName}} atrapado!",
|
||||
"pokemon": "Pokémon",
|
||||
"sendOutPokemon": "¡Adelante, {{pokemonName}}!",
|
||||
"hitResultCriticalHit": "A critical hit!",
|
||||
"hitResultSuperEffective": "It's super effective!",
|
||||
"hitResultNotVeryEffective": "It's not very effective…",
|
||||
"hitResultNoEffect": "It doesn't affect {{pokemonName}}!",
|
||||
"hitResultOneHitKO": "It's a one-hit KO!",
|
||||
"hitResultCriticalHit": "!Un golpe crítico!",
|
||||
"hitResultSuperEffective": "!Es supereficaz!",
|
||||
"hitResultNotVeryEffective": "No es muy eficaz…",
|
||||
"hitResultNoEffect": "No afecta a {{pokemonName}}!",
|
||||
"hitResultOneHitKO": "!KO en 1 golpe!",
|
||||
"attackFailed": "¡Pero ha fallado!",
|
||||
"attackHitsCount": `N.º de golpes: {{count}}.`,
|
||||
"expGain": "{{pokemonName}} ha ganado\n{{exp}} puntos de experiencia.",
|
||||
|
@ -2,6 +2,7 @@ import { ability } from "./ability";
|
||||
import { abilityTriggers } from "./ability-trigger";
|
||||
import { battle } from "./battle";
|
||||
import { commandUiHandler } from "./command-ui-handler";
|
||||
import { egg } from "./egg";
|
||||
import { fightUiHandler } from "./fight-ui-handler";
|
||||
import { growth } from "./growth";
|
||||
import { menu } from "./menu";
|
||||
@ -14,6 +15,7 @@ import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
|
||||
@ -22,6 +24,7 @@ export const esConfig = {
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
menu: menu,
|
||||
@ -31,6 +34,7 @@ export const esConfig = {
|
||||
pokemon: pokemon,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
tutorial: tutorial,
|
||||
splashMessages: splashMessages,
|
||||
nature: nature,
|
||||
growth: growth,
|
||||
weather: weather,
|
||||
|
21
src/locales/es/egg.ts
Normal file
21
src/locales/es/egg.ts
Normal file
@ -0,0 +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"
|
||||
} as const;
|
@ -3,5 +3,5 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
export const fightUiHandler: SimpleTranslationEntries = {
|
||||
"pp": "PP",
|
||||
"power": "Potencia",
|
||||
"accuracy": "Accuracy",
|
||||
"accuracy": "Precisión",
|
||||
} as const;
|
||||
|
37
src/locales/es/splash-messages.ts
Normal file
37
src/locales/es/splash-messages.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "Battles Won!",
|
||||
"joinTheDiscord": "Join the Discord!",
|
||||
"infiniteLevels": "Infinite Levels!",
|
||||
"everythingStacks": "Everything Stacks!",
|
||||
"optionalSaveScumming": "Optional Save Scumming!",
|
||||
"biomes": "35 Biomes!",
|
||||
"openSource": "Open Source!",
|
||||
"playWithSpeed": "Play with 5x Speed!",
|
||||
"liveBugTesting": "Live Bug Testing!",
|
||||
"heavyInfluence": "Heavy RoR2 Influence!",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!",
|
||||
"nowWithMoreSalt": "Now with 33% More Salt!",
|
||||
"infiniteFusionAtHome": "Infinite Fusion at Home!",
|
||||
"brokenEggMoves": "Broken Egg Moves!",
|
||||
"magnificent": "Magnificent!",
|
||||
"mubstitute": "Mubstitute!",
|
||||
"thatsCrazy": "That\'s Crazy!",
|
||||
"oranceJuice": "Orance Juice!",
|
||||
"questionableBalancing": "Questionable Balancing!",
|
||||
"coolShaders": "Cool Shaders!",
|
||||
"aiFree": "AI-Free!",
|
||||
"suddenDifficultySpikes": "Sudden Difficulty Spikes!",
|
||||
"basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!",
|
||||
"moreAddictiveThanIntended": "More Addictive than Intended!",
|
||||
"mostlyConsistentSeeds": "Mostly Consistent Seeds!",
|
||||
"achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!",
|
||||
"youDoNotStartAtLevel": "You Do Not Start at Level 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!",
|
||||
"alsoTryPokengine": "Also Try Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Also Try Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Also Try Radical Red!",
|
||||
"eeveeExpo": "Eevee Expo!",
|
||||
"ynoproject": "YNOproject!",
|
||||
} as const;
|
@ -2,6 +2,7 @@ import { ability } from "./ability";
|
||||
import { abilityTriggers } from "./ability-trigger";
|
||||
import { battle } from "./battle";
|
||||
import { commandUiHandler } from "./command-ui-handler";
|
||||
import { egg } from "./egg";
|
||||
import { fightUiHandler } from "./fight-ui-handler";
|
||||
import { growth } from "./growth";
|
||||
import { menu } from "./menu";
|
||||
@ -14,6 +15,7 @@ import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
|
||||
@ -22,6 +24,7 @@ export const frConfig = {
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
menu: menu,
|
||||
@ -31,6 +34,7 @@ export const frConfig = {
|
||||
pokemon: pokemon,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
tutorial: tutorial,
|
||||
splashMessages: splashMessages,
|
||||
nature: nature,
|
||||
growth: growth,
|
||||
weather: weather,
|
||||
|
21
src/locales/fr/egg.ts
Normal file
21
src/locales/fr/egg.ts
Normal file
@ -0,0 +1,21 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const egg: SimpleTranslationEntries = {
|
||||
"egg": "Œuf",
|
||||
"greatTier": "Rare",
|
||||
"ultraTier": "Épique",
|
||||
"masterTier": "Légendaire",
|
||||
"defaultTier": "Commun",
|
||||
"hatchWavesMessageSoon": "Il fait du bruit. Il va éclore !",
|
||||
"hatchWavesMessageClose": "Il bouge de temps en temps. Il devrait bientôt éclore.",
|
||||
"hatchWavesMessageNotClose": "Qu’est-ce qui va en sortir ? Ça va mettre du temps.",
|
||||
"hatchWavesMessageLongTime": "Cet Œuf va sûrement mettre du temps à éclore.",
|
||||
"gachaTypeLegendary": "Taux de Légendaires élevé",
|
||||
"gachaTypeMove": "Taux de Capacité Œuf Rare élevé",
|
||||
"gachaTypeShiny": "Taux de Chromatiques élevé",
|
||||
"selectMachine": "Sélectionnez une machine.",
|
||||
"notEnoughVouchers": "Vous n’avez pas assez de coupons !",
|
||||
"tooManyEggs": "Vous avez trop d’Œufs !",
|
||||
"pull": "Tirage",
|
||||
"pulls": "Tirages"
|
||||
} as const;
|
37
src/locales/fr/splash-messages.ts
Normal file
37
src/locales/fr/splash-messages.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "Battles Won!",
|
||||
"joinTheDiscord": "Join the Discord!",
|
||||
"infiniteLevels": "Infinite Levels!",
|
||||
"everythingStacks": "Everything Stacks!",
|
||||
"optionalSaveScumming": "Optional Save Scumming!",
|
||||
"biomes": "35 Biomes!",
|
||||
"openSource": "Open Source!",
|
||||
"playWithSpeed": "Play with 5x Speed!",
|
||||
"liveBugTesting": "Live Bug Testing!",
|
||||
"heavyInfluence": "Heavy RoR2 Influence!",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!",
|
||||
"nowWithMoreSalt": "Now with 33% More Salt!",
|
||||
"infiniteFusionAtHome": "Infinite Fusion at Home!",
|
||||
"brokenEggMoves": "Broken Egg Moves!",
|
||||
"magnificent": "Magnificent!",
|
||||
"mubstitute": "Mubstitute!",
|
||||
"thatsCrazy": "That\'s Crazy!",
|
||||
"oranceJuice": "Orance Juice!",
|
||||
"questionableBalancing": "Questionable Balancing!",
|
||||
"coolShaders": "Cool Shaders!",
|
||||
"aiFree": "AI-Free!",
|
||||
"suddenDifficultySpikes": "Sudden Difficulty Spikes!",
|
||||
"basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!",
|
||||
"moreAddictiveThanIntended": "More Addictive than Intended!",
|
||||
"mostlyConsistentSeeds": "Mostly Consistent Seeds!",
|
||||
"achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!",
|
||||
"youDoNotStartAtLevel": "You Do Not Start at Level 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!",
|
||||
"alsoTryPokengine": "Also Try Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Also Try Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Also Try Radical Red!",
|
||||
"eeveeExpo": "Eevee Expo!",
|
||||
"ynoproject": "YNOproject!",
|
||||
} as const;
|
@ -2,6 +2,7 @@ import { ability } from "./ability";
|
||||
import { abilityTriggers } from "./ability-trigger";
|
||||
import { battle } from "./battle";
|
||||
import { commandUiHandler } from "./command-ui-handler";
|
||||
import { egg } from "./egg";
|
||||
import { fightUiHandler } from "./fight-ui-handler";
|
||||
import { growth } from "./growth";
|
||||
import { menu } from "./menu";
|
||||
@ -14,6 +15,7 @@ import { pokemon } from "./pokemon";
|
||||
import { pokemonStat } from "./pokemon-stat";
|
||||
import { starterSelectUiHandler } from "./starter-select-ui-handler";
|
||||
import { tutorial } from "./tutorial";
|
||||
import { splashMessages } from "./splash-messages"
|
||||
import { weather } from "./weather";
|
||||
|
||||
|
||||
@ -22,6 +24,7 @@ export const itConfig = {
|
||||
abilityTriggers: abilityTriggers,
|
||||
battle: battle,
|
||||
commandUiHandler: commandUiHandler,
|
||||
egg: egg,
|
||||
fightUiHandler: fightUiHandler,
|
||||
menuUiHandler: menuUiHandler,
|
||||
menu: menu,
|
||||
@ -31,6 +34,7 @@ export const itConfig = {
|
||||
pokemon: pokemon,
|
||||
starterSelectUiHandler: starterSelectUiHandler,
|
||||
tutorial: tutorial,
|
||||
splashMessages: splashMessages,
|
||||
nature: nature,
|
||||
growth: growth,
|
||||
weather: weather,
|
||||
|
21
src/locales/it/egg.ts
Normal file
21
src/locales/it/egg.ts
Normal file
@ -0,0 +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"
|
||||
} as const;
|
37
src/locales/it/splash-messages.ts
Normal file
37
src/locales/it/splash-messages.ts
Normal file
@ -0,0 +1,37 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const splashMessages: SimpleTranslationEntries = {
|
||||
"battlesWon": "Battaglie Vinte!",
|
||||
"joinTheDiscord": "Entra nel Discord!",
|
||||
"infiniteLevels": "Livelli Infiniti!",
|
||||
"everythingStacks": "Tutto si impila!",
|
||||
"optionalSaveScumming": "Salvataggio Facoltativo!",
|
||||
"biomes": "35 Biomi!",
|
||||
"openSource": "Open Source!",
|
||||
"playWithSpeed": "Gioca con il 5x di Velocità!",
|
||||
"liveBugTesting": "Test dei Bug in Tempo Reale!",
|
||||
"heavyInfluence": "Influenzato da RoR2!",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk e Pokémon Rain!",
|
||||
"nowWithMoreSalt": "Adesso con il 33% di sale in più!",
|
||||
"infiniteFusionAtHome": "Fusioni Infinite a Casa!",
|
||||
"brokenEggMoves": "Mosse delle Uova Rotte!",
|
||||
"magnificent": "Magnifico!",
|
||||
"mubstitute": "Mubstitute!",
|
||||
"thatsCrazy": "È Pazzesco!",
|
||||
"oranceJuice": "Succo d\'Arancia!",
|
||||
"questionableBalancing": "Bilanciamento Discutibile!",
|
||||
"coolShaders": "Shader fantastici!",
|
||||
"aiFree": "Senza Intelligenza Artificiale!",
|
||||
"suddenDifficultySpikes": "Picchi di Difficoltà Improvvisi!",
|
||||
"basedOnAnUnfinishedFlashGame": "Basato su un Gioco Flash Incompiuto!",
|
||||
"moreAddictiveThanIntended": "Crea Dipendeza più del Dovuto!",
|
||||
"mostlyConsistentSeeds": "Seeds Consistenti!",
|
||||
"achievementPointsDontDoAnything": "I Punti Obiettivo non Fanno Nulla!",
|
||||
"youDoNotStartAtLevel": "Non Cominci dal Livello 2000!",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Non Parlare dell'Incidente dell'Uovo di Manaphy!",
|
||||
"alsoTryPokengine": "Prova anche Pokéngine!",
|
||||
"alsoTryEmeraldRogue": "Prova anche Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Prova anche Radical Red!",
|
||||
"eeveeExpo": "Eevee Expo!",
|
||||
"ynoproject": "YNOproject!",
|
||||
} as const;
|
@ -1101,7 +1101,7 @@ export const modifierTypes = {
|
||||
|
||||
MEMORY_MUSHROOM: () => new RememberMoveModifierType(`modifierType:ModifierType.MEMORY_MUSHROOM`, 'big_mushroom'),
|
||||
|
||||
EXP_SHARE: () => new ModifierType(`modifierType:ModifierType.EXP_SHARE`, 'exp_share', (type, _args) => new Modifiers.ExpShareModifier(type), 'exp_share'),
|
||||
EXP_SHARE: () => new ModifierType(`modifierType:ModifierType.EXP_SHARE`, 'exp_share', (type, _args) => new Modifiers.ExpShareModifier(type)),
|
||||
EXP_BALANCE: () => new ModifierType(`modifierType:ModifierType.EXP_BALANCE`, 'exp_balance', (type, _args) => new Modifiers.ExpBalanceModifier(type)),
|
||||
|
||||
OVAL_CHARM: () => new ModifierType(`modifierType:ModifierType.OVAL_CHARM`, 'oval_charm', (type, _args) => new Modifiers.MultipleParticipantExpBonusModifier(type)),
|
||||
|
@ -2270,12 +2270,8 @@ export class MovePhase extends BattlePhase {
|
||||
}
|
||||
|
||||
const targets = this.scene.getField(true).filter(p => {
|
||||
if (this.targets.indexOf(p.getBattlerIndex()) > -1) {
|
||||
const hiddenTag = p.getTag(HiddenTag);
|
||||
if (hiddenTag && !this.move.getMove().getAttrs(HitsTagAttr).filter(hta => (hta as HitsTagAttr).tagType === hiddenTag.tagType).length && !p.hasAbilityWithAttr(AlwaysHitAbAttr) && !this.pokemon.hasAbilityWithAttr(AlwaysHitAbAttr))
|
||||
return false;
|
||||
if (this.targets.indexOf(p.getBattlerIndex()) > -1)
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
||||
@ -2316,10 +2312,17 @@ export class MovePhase extends BattlePhase {
|
||||
if (this.move.moveId)
|
||||
this.showMoveText();
|
||||
|
||||
if ((moveQueue.length && moveQueue[0].move === Moves.NONE) || (!targets.length && !this.move.getMove().getAttrs(SacrificialAttr).length)) {
|
||||
moveQueue.shift();
|
||||
// This should only happen when there are no valid targets left on the field
|
||||
if ((moveQueue.length && moveQueue[0].move === Moves.NONE) || !targets.length) {
|
||||
this.showFailedText();
|
||||
this.cancel();
|
||||
|
||||
// Record a failed move so Abilities like Truant don't trigger next turn and soft-lock
|
||||
this.pokemon.pushMoveHistory({ move: Moves.NONE, result: MoveResult.FAIL });
|
||||
|
||||
this.pokemon.lapseTags(BattlerTagLapseType.MOVE_EFFECT); // Remove any tags from moves like Fly/Dive/etc.
|
||||
|
||||
moveQueue.shift();
|
||||
return this.end();
|
||||
}
|
||||
|
||||
@ -2590,13 +2593,14 @@ export class MoveEffectPhase extends PokemonPhase {
|
||||
if (user.hasAbilityWithAttr(AlwaysHitAbAttr) || target.hasAbilityWithAttr(AlwaysHitAbAttr))
|
||||
return true;
|
||||
|
||||
// If the user should ignore accuracy on a target, check who the user targeted last turn and see if they match
|
||||
if (user.getTag(BattlerTagType.IGNORE_ACCURACY) && (user.getLastXMoves().slice(1).find(() => true)?.targets || []).indexOf(target.getBattlerIndex()) !== -1)
|
||||
return true;
|
||||
|
||||
const hiddenTag = target.getTag(HiddenTag);
|
||||
if (hiddenTag && !this.move.getMove().getAttrs(HitsTagAttr).filter(hta => (hta as HitsTagAttr).tagType === hiddenTag.tagType).length)
|
||||
return false;
|
||||
|
||||
if (user.getTag(BattlerTagType.IGNORE_ACCURACY) && (user.getLastXMoves().find(() => true)?.targets || []).indexOf(target.getBattlerIndex()) > -1)
|
||||
return true;
|
||||
|
||||
const moveAccuracy = new Utils.NumberHolder(this.move.getMove().accuracy);
|
||||
|
||||
applyMoveAttrs(VariableAccuracyAttr, user, target, this.move.getMove(), moveAccuracy);
|
||||
|
@ -124,8 +124,10 @@ declare module 'i18next' {
|
||||
fightUiHandler: SimpleTranslationEntries;
|
||||
tutorial: SimpleTranslationEntries;
|
||||
starterSelectUiHandler: SimpleTranslationEntries;
|
||||
splashMessages: SimpleTranslationEntries;
|
||||
nature: SimpleTranslationEntries;
|
||||
growth: SimpleTranslationEntries;
|
||||
egg: SimpleTranslationEntries;
|
||||
weather: SimpleTranslationEntries;
|
||||
modifierType: ModifierTypeTranslationEntries;
|
||||
};
|
||||
|
@ -10,8 +10,7 @@ import { addWindow } from "./ui-theme";
|
||||
import { Tutorial, handleTutorial } from "../tutorial";
|
||||
import { EggTier } from "../data/enums/egg-type";
|
||||
import {Button} from "../enums/buttons";
|
||||
|
||||
const defaultText = 'Select a machine.';
|
||||
import i18next from '../plugins/i18n';
|
||||
|
||||
export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
private eggGachaContainer: Phaser.GameObjects.Container;
|
||||
@ -33,6 +32,7 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
private cursorObj: Phaser.GameObjects.Image;
|
||||
private transitioning: boolean;
|
||||
private transitionCancelled: boolean;
|
||||
private defaultText: string;
|
||||
|
||||
constructor(scene: BattleScene) {
|
||||
super(scene, Mode.EGG_GACHA);
|
||||
@ -43,6 +43,7 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
this.gachaInfoContainers = [];
|
||||
|
||||
this.voucherCountLabels = [];
|
||||
this.defaultText = i18next.t('egg:selectMachine');
|
||||
}
|
||||
|
||||
setup() {
|
||||
@ -151,8 +152,27 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
this.eggGachaOptionSelectBg.setOrigin(1, 1);
|
||||
this.eggGachaOptionsContainer.add(this.eggGachaOptionSelectBg);
|
||||
|
||||
const optionText = addTextObject(this.scene, 0, 0, ' x1 1 Pull\n x10 10 Pulls\n x1 5 Pulls\n x1 10 Pulls\n x1 25 Pulls\nCancel', TextStyle.WINDOW);
|
||||
optionText.setLineSpacing(12);
|
||||
const pullOptions = [
|
||||
{ multiplier: 'x1', description: `1 ${i18next.t('egg:pull')}` },
|
||||
{ multiplier: 'x10', description: `10 ${i18next.t('egg:pulls')}` },
|
||||
{ multiplier: 'x1', description: `5 ${i18next.t('egg:pulls')}` },
|
||||
{ multiplier: 'x1', description: `10 ${i18next.t('egg:pulls')}` },
|
||||
{ multiplier: 'x1', description: `25 ${i18next.t('egg:pulls')}` }
|
||||
];
|
||||
|
||||
const pullOptionsText = pullOptions.map(option => ` ${option.multiplier.padEnd(4)} ${option.description}`).join('\n');
|
||||
|
||||
const optionText = addTextObject(
|
||||
this.scene,
|
||||
0,
|
||||
0,
|
||||
`${pullOptionsText}\n${i18next.t('menu:cancel')}`,
|
||||
TextStyle.WINDOW,
|
||||
);
|
||||
|
||||
optionText.setLineSpacing(28);
|
||||
optionText.setFontSize('80px');
|
||||
|
||||
this.eggGachaOptionsContainer.add(optionText);
|
||||
|
||||
optionText.setPositionRelative(this.eggGachaOptionSelectBg, 16, 9);
|
||||
@ -223,7 +243,7 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
show(args: any[]): boolean {
|
||||
super.show(args);
|
||||
|
||||
this.getUi().showText(defaultText, 0);
|
||||
this.getUi().showText(this.defaultText, 0);
|
||||
|
||||
this.setGachaCursor(1);
|
||||
|
||||
@ -474,7 +494,7 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
|
||||
showText(text: string, delay?: number, callback?: Function, callbackDelay?: number, prompt?: boolean, promptDelay?: number): void {
|
||||
if (!text)
|
||||
text = defaultText;
|
||||
text = this.defaultText;
|
||||
|
||||
if (text?.indexOf('\n') === -1) {
|
||||
this.eggGachaMessageBox.setSize(320, 32);
|
||||
@ -490,7 +510,7 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
}
|
||||
|
||||
showError(text: string): void {
|
||||
this.showText(text, null, () => this.showText(defaultText), Utils.fixedInt(1500));
|
||||
this.showText(text, null, () => this.showText(this.defaultText), Utils.fixedInt(1500));
|
||||
}
|
||||
|
||||
setTransitioning(transitioning: boolean): void {
|
||||
@ -526,27 +546,27 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
case 0:
|
||||
if (!this.scene.gameData.voucherCounts[VoucherType.REGULAR]) {
|
||||
error = true;
|
||||
this.showError('You don\'t have enough vouchers!');
|
||||
this.showError(i18next.t('egg:notEnoughVouchers'));
|
||||
} else if (this.scene.gameData.eggs.length < 99) {
|
||||
this.consumeVouchers(VoucherType.REGULAR, 1);
|
||||
this.pull();
|
||||
success = true;
|
||||
} else {
|
||||
error = true;
|
||||
this.showError('You have too many eggs!');
|
||||
this.showError(i18next.t('egg:tooManyEggs'));
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (!this.scene.gameData.voucherCounts[VoucherType.PLUS]) {
|
||||
error = true;
|
||||
this.showError('You don\'t have enough vouchers!');
|
||||
this.showError(i18next.t('egg:notEnoughVouchers'));
|
||||
} else if (this.scene.gameData.eggs.length < 95) {
|
||||
this.consumeVouchers(VoucherType.PLUS, 1);
|
||||
this.pull(5);
|
||||
success = true;
|
||||
} else {
|
||||
error = true;
|
||||
this.showError('You have too many eggs!');
|
||||
this.showError(i18next.t('egg:tooManyEggs'));
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
@ -554,7 +574,7 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
if ((this.cursor === 1 && this.scene.gameData.voucherCounts[VoucherType.REGULAR] < 10)
|
||||
|| (this.cursor === 3 && !this.scene.gameData.voucherCounts[VoucherType.PREMIUM])) {
|
||||
error = true;
|
||||
this.showError('You don\'t have enough vouchers!');
|
||||
this.showError(i18next.t('egg:notEnoughVouchers'));
|
||||
} else if (this.scene.gameData.eggs.length < 90) {
|
||||
if (this.cursor === 3)
|
||||
this.consumeVouchers(VoucherType.PREMIUM, 1);
|
||||
@ -564,20 +584,20 @@ export default class EggGachaUiHandler extends MessageUiHandler {
|
||||
success = true;
|
||||
} else {
|
||||
error = true;
|
||||
this.showError('You have too many eggs!');
|
||||
this.showError(i18next.t('egg:tooManyEggs'));
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
if (!this.scene.gameData.voucherCounts[VoucherType.GOLDEN]) {
|
||||
error = true;
|
||||
this.showError('You don\'t have enough vouchers!');
|
||||
this.showError(i18next.t('egg:notEnoughVouchers'));
|
||||
} else if (this.scene.gameData.eggs.length < 75) {
|
||||
this.consumeVouchers(VoucherType.GOLDEN, 1);
|
||||
this.pull(25);
|
||||
success = true;
|
||||
} else {
|
||||
error = true;
|
||||
this.showError('You have too many eggs!');
|
||||
this.showError(i18next.t('egg:tooManyEggs'));
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
|
@ -7,6 +7,7 @@ import { EGG_SEED, Egg, GachaType, getEggGachaTypeDescriptor, getEggHatchWavesMe
|
||||
import * as Utils from "../utils";
|
||||
import { addWindow } from "./ui-theme";
|
||||
import {Button} from "../enums/buttons";
|
||||
import i18next from '../plugins/i18n';
|
||||
|
||||
export default class EggListUiHandler extends MessageUiHandler {
|
||||
private eggListContainer: Phaser.GameObjects.Container;
|
||||
@ -165,7 +166,7 @@ export default class EggListUiHandler extends MessageUiHandler {
|
||||
|
||||
setEggDetails(egg: Egg): void {
|
||||
this.eggSprite.setFrame(`egg_${egg.getKey()}`);
|
||||
this.eggNameText.setText(`Egg (${getEggDescriptor(egg)})`);
|
||||
this.eggNameText.setText(`${i18next.t('egg:egg')} (${getEggDescriptor(egg)})`);
|
||||
this.eggDateText.setText(
|
||||
new Date(egg.timestamp).toLocaleString(undefined, {
|
||||
weekday: 'short',
|
||||
|
@ -4,7 +4,7 @@ import OptionSelectUiHandler from "./option-select-ui-handler";
|
||||
import { Mode } from "./ui";
|
||||
import * as Utils from "../utils";
|
||||
import { TextStyle, addTextObject } from "./text";
|
||||
import { battleCountSplashMessage, splashMessages } from "../data/splash-messages";
|
||||
import { getBattleCountSplashMessage, getSplashMessages } from "../data/splash-messages";
|
||||
import i18next from "i18next";
|
||||
|
||||
export default class TitleUiHandler extends OptionSelectUiHandler {
|
||||
@ -63,8 +63,8 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
|
||||
.then(request => request.json())
|
||||
.then(stats => {
|
||||
this.playerCountLabel.setText(`${stats.playerCount} ${i18next.t("menu:playersOnline")}`);
|
||||
if (this.splashMessage === battleCountSplashMessage)
|
||||
this.splashMessageText.setText(battleCountSplashMessage.replace('{COUNT}', stats.battleCount.toLocaleString('en-US')));
|
||||
if (this.splashMessage === getBattleCountSplashMessage())
|
||||
this.splashMessageText.setText(getBattleCountSplashMessage().replace('{COUNT}', stats.battleCount.toLocaleString('en-US')));
|
||||
})
|
||||
.catch(err => {
|
||||
console.error("Failed to fetch title stats:\n", err);
|
||||
@ -75,7 +75,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
|
||||
const ret = super.show(args);
|
||||
|
||||
if (ret) {
|
||||
this.splashMessage = Utils.randItem(splashMessages);
|
||||
this.splashMessage = Utils.randItem(getSplashMessages());
|
||||
this.splashMessageText.setText(this.splashMessage.replace('{COUNT}', '?'));
|
||||
|
||||
const ui = this.getUi();
|
||||
|
Loading…
Reference in New Issue
Block a user