Compare commits

..

No commits in common. "bc14064ef9011f5658c8cc2b1544b507768479b2" and "1e1e2a08f95e9ad5ea2809238787a8838c4d945b" have entirely different histories.

65 changed files with 714 additions and 843 deletions

View File

@ -10,7 +10,6 @@ import { applyDamageToPokemon } from "#app/data/mystery-encounters/utils/encount
import { MysteryEncounterTier } from "#enums/mystery-encounter-tier"; import { MysteryEncounterTier } from "#enums/mystery-encounter-tier";
import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode"; import { MysteryEncounterOptionMode } from "#enums/mystery-encounter-option-mode";
import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode"; import { CLASSIC_MODE_MYSTERY_ENCOUNTER_WAVES } from "#app/game-mode";
import {PokemonMove} from "#app/field/pokemon";
const OPTION_1_REQUIRED_MOVE = Moves.SURF; const OPTION_1_REQUIRED_MOVE = Moves.SURF;
const OPTION_2_REQUIRED_MOVE = Moves.FLY; const OPTION_2_REQUIRED_MOVE = Moves.FLY;
@ -45,8 +44,8 @@ export const LostAtSeaEncounter: MysteryEncounter = MysteryEncounterBuilder.with
const encounter = scene.currentBattle.mysteryEncounter!; const encounter = scene.currentBattle.mysteryEncounter!;
encounter.setDialogueToken("damagePercentage", String(DAMAGE_PERCENTAGE)); encounter.setDialogueToken("damagePercentage", String(DAMAGE_PERCENTAGE));
encounter.setDialogueToken("option1RequiredMove", new PokemonMove(OPTION_1_REQUIRED_MOVE).getName()); encounter.setDialogueToken("option1RequiredMove", Moves[OPTION_1_REQUIRED_MOVE]);
encounter.setDialogueToken("option2RequiredMove", new PokemonMove(OPTION_2_REQUIRED_MOVE).getName()); encounter.setDialogueToken("option2RequiredMove", Moves[OPTION_2_REQUIRED_MOVE]);
return true; return true;
}) })

View File

@ -87,7 +87,6 @@ export const MysteriousChallengersEncounter: MysteryEncounter =
); );
const e4Template = trainerPartyTemplates.ELITE_FOUR; const e4Template = trainerPartyTemplates.ELITE_FOUR;
const brutalConfig = trainerConfigs[brutalTrainerType].clone(); const brutalConfig = trainerConfigs[brutalTrainerType].clone();
brutalConfig.title = trainerConfigs[brutalTrainerType].title;
brutalConfig.setPartyTemplates(e4Template); brutalConfig.setPartyTemplates(e4Template);
// @ts-ignore // @ts-ignore
brutalConfig.partyTemplateFunc = null; // Overrides gym leader party template func brutalConfig.partyTemplateFunc = null; // Overrides gym leader party template func

View File

@ -255,9 +255,7 @@ export class TrainerConfig {
name = i18next.t("trainerNames:rival"); name = i18next.t("trainerNames:rival");
} }
} }
this.name = name; this.name = name;
return this; return this;
} }
@ -901,20 +899,6 @@ export class TrainerConfig {
return this; return this;
} }
/**
* Sets a localized name for the trainer. This should only be used for trainers that dont use a "initFor" function and are considered "named" trainers
* @param name - The name of the trainer.
* @returns {TrainerConfig} The updated TrainerConfig instance.
*/
setLocalizedName(name: string): TrainerConfig {
// Check if the internationalization (i18n) system is initialized.
if (!getIsInitialized()) {
initI18n();
}
this.name = i18next.t(`trainerNames:${name.toLowerCase()}`);
return this;
}
/** /**
* Retrieves the title for the trainer based on the provided trainer slot and variant. * Retrieves the title for the trainer based on the provided trainer slot and variant.
* @param {TrainerSlot} trainerSlot - The slot to determine which title to use. Defaults to TrainerSlot.NONE. * @param {TrainerSlot} trainerSlot - The slot to determine which title to use. Defaults to TrainerSlot.NONE.
@ -2286,22 +2270,21 @@ export const trainerConfigs: TrainerConfigs = {
} }
p.pokeball = PokeballType.MASTER_BALL; p.pokeball = PokeballType.MASTER_BALL;
})), })),
[TrainerType.VICTOR]: new TrainerConfig(++t).setTitle("The Winstrates").setLocalizedName("Victor") [TrainerType.VICTOR]: new TrainerConfig(++t).setName("Victor").setTitle("The Winstrates")
.setMoneyMultiplier(1) // The Winstrate trainers have total money multiplier of 6 .setMoneyMultiplier(1) // The Winstrate trainers have total money multiplier of 6
.setPartyTemplates(trainerPartyTemplates.ONE_AVG_ONE_STRONG), .setPartyTemplates(trainerPartyTemplates.ONE_AVG_ONE_STRONG),
[TrainerType.VICTORIA]: new TrainerConfig(++t).setTitle("The Winstrates").setLocalizedName("Victoria") [TrainerType.VICTORIA]: new TrainerConfig(++t).setName("Victoria").setTitle("The Winstrates")
.setMoneyMultiplier(1) .setMoneyMultiplier(1)
.setPartyTemplates(trainerPartyTemplates.ONE_AVG_ONE_STRONG), .setPartyTemplates(trainerPartyTemplates.ONE_AVG_ONE_STRONG),
[TrainerType.VIVI]: new TrainerConfig(++t).setTitle("The Winstrates").setLocalizedName("Vivi") [TrainerType.VIVI]: new TrainerConfig(++t).setName("Vivi").setTitle("The Winstrates")
.setMoneyMultiplier(1) .setMoneyMultiplier(1)
.setPartyTemplates(trainerPartyTemplates.TWO_AVG_ONE_STRONG), .setPartyTemplates(trainerPartyTemplates.TWO_AVG_ONE_STRONG),
[TrainerType.VICKY]: new TrainerConfig(++t).setTitle("The Winstrates").setLocalizedName("Vicky") [TrainerType.VICKY]: new TrainerConfig(++t).setName("Vicky").setTitle("The Winstrates")
.setMoneyMultiplier(1) .setMoneyMultiplier(1)
.setPartyTemplates(trainerPartyTemplates.ONE_AVG), .setPartyTemplates(trainerPartyTemplates.ONE_AVG),
[TrainerType.VITO]: new TrainerConfig(++t).setTitle("The Winstrates").setLocalizedName("Vito") [TrainerType.VITO]: new TrainerConfig(++t).setName("Vito").setTitle("The Winstrates")
.setMoneyMultiplier(2) .setMoneyMultiplier(2)
.setPartyTemplates(new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG))), .setPartyTemplates(new TrainerPartyCompoundTemplate(new TrainerPartyTemplate(3, PartyMemberStrength.AVERAGE), new TrainerPartyTemplate(2, PartyMemberStrength.STRONG))),
[TrainerType.BUG_TYPE_SUPERFAN]: new TrainerConfig(++t).setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER) [TrainerType.BUG_TYPE_SUPERFAN]: new TrainerConfig(++t).setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.ACE_TRAINER)
.setPartyTemplates(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE)) .setPartyTemplates(new TrainerPartyTemplate(2, PartyMemberStrength.AVERAGE))
}; };

View File

@ -592,7 +592,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
// Resetting properties should not be shown on the field // Resetting properties should not be shown on the field
this.setVisible(false); this.setVisible(false);
// Remove the offset from having a Substitute active // Reset field position
this.setFieldPosition(FieldPosition.CENTER);
if (this.isOffsetBySubstitute()) { if (this.isOffsetBySubstitute()) {
this.x -= this.getSubstituteOffset()[0]; this.x -= this.getSubstituteOffset()[0];
this.y -= this.getSubstituteOffset()[1]; this.y -= this.getSubstituteOffset()[1];
@ -2620,6 +2621,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return result; return result;
} }
if (isCritical) {
this.scene.queueMessage(i18next.t("battle:hitResultCriticalHit"));
}
// In case of fatal damage, this tag would have gotten cleared before we could lapse it. // In case of fatal damage, this tag would have gotten cleared before we could lapse it.
const destinyTag = this.getTag(BattlerTagType.DESTINY_BOND); const destinyTag = this.getTag(BattlerTagType.DESTINY_BOND);
@ -2662,10 +2667,6 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
} }
} }
if (isCritical) {
this.scene.queueMessage(i18next.t("battle:hitResultCriticalHit"));
}
// want to include is.Fainted() in case multi hit move ends early, still want to render message // want to include is.Fainted() in case multi hit move ends early, still want to render message
if (source.turnData.hitsLeft === 1 || this.isFainted()) { if (source.turnData.hitsLeft === 1 || this.isFainted()) {
switch (result) { switch (result) {

View File

@ -14,10 +14,10 @@
"moneyWon": "Du gewinnst {{moneyAmount}} ₽!", "moneyWon": "Du gewinnst {{moneyAmount}} ₽!",
"moneyPickedUp": "Du hebst {{moneyAmount}} ₽ auf!", "moneyPickedUp": "Du hebst {{moneyAmount}} ₽ auf!",
"pokemonCaught": "{{pokemonName}} wurde gefangen!", "pokemonCaught": "{{pokemonName}} wurde gefangen!",
"pokemonObtained": "Du erhältst {{pokemonName}}!", "pokemonObtained": "You got {{pokemonName}}!",
"pokemonBrokeFree": "Mist!\nDas Pokémon hat sich befreit!", "pokemonBrokeFree": "Oh no!\nThe Pokémon broke free!",
"pokemonFled": "Das wilde {{pokemonName}} ist geflohen!", "pokemonFled": "The wild {{pokemonName}} fled!",
"playerFled": "Du bist vor dem wilden {{pokemonName}} geflohen!", "playerFled": "You fled from the {{pokemonName}}!",
"addedAsAStarter": "{{pokemonName}} wurde als Starterpokémon hinzugefügt!", "addedAsAStarter": "{{pokemonName}} wurde als Starterpokémon hinzugefügt!",
"partyFull": "Dein Team ist voll. Möchtest du ein Pokémon durch {{pokemonName}} ersetzen?", "partyFull": "Dein Team ist voll. Möchtest du ein Pokémon durch {{pokemonName}} ersetzen?",
"pokemon": "Pokémon", "pokemon": "Pokémon",
@ -102,5 +102,5 @@
"congratulations": "Glückwunsch!", "congratulations": "Glückwunsch!",
"beatModeFirstTime": "{{speciesName}} hat den {{gameMode}} Modus zum ersten Mal beendet! Du erhältst {{newModifier}}!", "beatModeFirstTime": "{{speciesName}} hat den {{gameMode}} Modus zum ersten Mal beendet! Du erhältst {{newModifier}}!",
"eggSkipPrompt": "Zur Ei-Zusammenfassung springen?", "eggSkipPrompt": "Zur Ei-Zusammenfassung springen?",
"mysteryEncounterAppeared": "Was ist das?" "mysteryEncounterAppeared": "What's this?"
} }

View File

@ -148,8 +148,8 @@
"menu": "PMD Erkundungsteam Himmel Willkommen in der Welt der Pokémon!", "menu": "PMD Erkundungsteam Himmel Willkommen in der Welt der Pokémon!",
"title": "PMD Erkundungsteam Himmel Top-Menü-Thema", "title": "PMD Erkundungsteam Himmel Top-Menü-Thema",
"mystery_encounter_weird_dream": "PMD Erkundungsteam Himmel Zeitturmspitze", "mystery_encounter_weird_dream": "PMD EoS Temporal Spire",
"mystery_encounter_fun_and_games": "PMD Erkundungsteam Himmel Gildenmeister Knuddeluff\n", "mystery_encounter_fun_and_games": "PMD EoS Guildmaster Wigglytuff",
"mystery_encounter_gen_5_gts": "SW GTS", "mystery_encounter_gen_5_gts": "BW GTS",
"mystery_encounter_gen_6_gts": "XY GTS" "mystery_encounter_gen_6_gts": "XY GTS"
} }

View File

@ -935,112 +935,112 @@
}, },
"stat_trainer_buck": { "stat_trainer_buck": {
"encounter": { "encounter": {
"1": "...Ich sag dir jetzt mal was. Ich bin echt stark. Tue überrascht!", "1": "...I'm telling you right now. I'm seriously tough. Act surprised!",
"2": "Ich fühle, wie meine Pokémon in ihren Pokébällen zittern!" "2": "I can feel my Pokémon shivering inside their Pokéballs!"
}, },
"victory": { "victory": {
"1": "Hehehehe! So heiß bist du!", "1": "Heeheehee!\nSo hot, you!",
"2": "Hehehehe! So heiß bist du!" "2": "Heeheehee!\nSo hot, you!"
}, },
"defeat": { "defeat": {
"1": "Whoa! Du scheinst ja wirklich erschöpft zu sein.", "1": "Whoa! You're all out of gas, I guess.",
"2": "Whoa! Du scheinst ja wirklich erschöpft zu sein." "2": "Whoa! You're all out of gas, I guess."
} }
}, },
"stat_trainer_cheryl": { "stat_trainer_cheryl": {
"encounter": { "encounter": {
"1": "Meine Pokémon können es kaum erwarten, zu kämpfen.", "1": "My Pokémon have been itching for a battle.",
"2": "Ich sollte dich warnen, meine Pokémon können ziemlich wild sein." "2": "I should warn you, my Pokémon can be quite rambunctious."
}, },
"victory": { "victory": {
"1": "Ein gutes Verhältnis von Angriff und Verteidigung... Das ist nicht einfach.", "1": "Striking the right balance of offense and defense... It's not easy to do.",
"2": "Ein gutes Verhältnis von Angriff und Verteidigung... Das ist nicht einfach." "2": "Striking the right balance of offense and defense... It's not easy to do."
}, },
"defeat": { "defeat": {
"1": "Brauchen deine Pokémon Heilung?", "1": "Do your Pokémon need any healing?",
"2": "Brauchen deine Pokémon Heilung?" "2": "Do your Pokémon need any healing?"
} }
}, },
"stat_trainer_marley": { "stat_trainer_marley": {
"encounter": { "encounter": {
"1": "...OK. Ich werde mein Bestes geben.", "1": "... OK.\nI'll do my best.",
"2": "...OK. Ich werde nicht verlieren...!" "2": "... OK.\nI... won't lose...!"
}, },
"victory": { "victory": {
"1": "... Awww.", "1": "... Awww.",
"2": "... Awww." "2": "... Awww."
}, },
"defeat": { "defeat": {
"1": "... Auf Wiedersehen.", "1": "... Goodbye.",
"2": "... Auf Wiedersehen." "2": "... Goodbye."
} }
}, },
"stat_trainer_mira": { "stat_trainer_mira": {
"encounter": { "encounter": {
"1": "Du wirst von Mira schockiert sein!", "1": "You will be shocked by Mira!",
"2": "Mira wird dir zeigen, dass Mira sich nicht mehr verirrt!" "2": "Mira will show you that Mira doesn't get lost anymore!"
}, },
"victory": { "victory": {
"1": "Mira wundern, ob sie in diesem Land weit kommen kann.", "1": "Mira wonders if she can get very far in this land.",
"2": "Mira wundern, ob sie in diesem Land weit kommen kann." "2": "Mira wonders if she can get very far in this land."
}, },
"defeat": { "defeat": {
"1": "Mira wuss, dass sie gewinnen würde!", "1": "Mira knew she would win!",
"2": "Mira wuss, dass sie gewinnen würde!" "2": "Mira knew she would win!"
} }
}, },
"stat_trainer_riley": { "stat_trainer_riley": {
"encounter": { "encounter": {
"1": "Kämpfe sind unsere Art der Begrüßung.", "1": "Battling is our way of greeting!",
"2": "Wir setzen alles daran, deine Pokémon zu besiegen." "2": "We're pulling out all the stops to put your Pokémon down."
}, },
"victory": { "victory": {
"1": "Manchmal kämpfen wir, und manchmal schließen wir uns zusammen...\n$Es ist großartig, wie Trainer interagieren können.", "1": "At times we battle, and sometimes we team up...$It's great how Trainers can interact.",
"2": "Manchmal kämpfen wir, und manchmal schließen wir uns zusammen...\n$Es ist großartig, wie Trainer interagieren können." "2": "At times we battle, and sometimes we team up...$It's great how Trainers can interact."
}, },
"defeat": { "defeat": {
"1": "Du hast dich gut geschlagen. Bis zum nächsten Mal.", "1": "You put up quite the display.\nBetter luck next time.",
"2": "Du hast dich gut geschlagen. Bis zum nächsten Mal." "2": "You put up quite the display.\nBetter luck next time."
} }
}, },
"winstrates_victor": { "winstrates_victor": {
"encounter": { "encounter": {
"1": "Das ist der Kampfgeist den ich sehen will! Ich mag dich!" "1": "That's the spirit! I like you!"
}, },
"victory": { "victory": {
"1": "Ahh! Du bist stärker als ich dachte!" "1": "A-ha! You're stronger than I thought!"
} }
}, },
"winstrates_victoria": { "winstrates_victoria": {
"encounter": { "encounter": {
"1": "Mein Gott! Bist du nicht etwas jung?\n$Du musst ein ziemlich guter Trainer sein, um meinen Mann zu besiegen.\n$Jetzt bin ich wohl an der Reihe!" "1": "My goodness! Aren't you young?$You must be quite the trainer to beat my husband, though.$Now I suppose it's my turn to battle!"
}, },
"victory": { "victory": {
"1": "Waas? Wie stark bist du denn?" "1": "Uwah! Just how strong are you?!"
} }
}, },
"winstrates_vivi": { "winstrates_vivi": {
"encounter": { "encounter": {
"1": "Du bist stärker als Mama? Wow! Aber ich bin auch stark! Wirklich! Ehrlich!" "1": "You're stronger than Mom? Wow!$But I'm strong, too!\nReally! Honestly!"
}, },
"victory": { "victory": {
"1": "Huh? Habe ich wirklich verloren?\nSchnief... Omaaa!" "1": "Huh? Did I really lose?\nSnivel... Grandmaaa!"
} }
}, },
"winstrates_vicky": { "winstrates_vicky": {
"encounter": { "encounter": {
"1": "Wie kannst du es wagen, meine kostbare Enkelin zum Weinen zu bringen!\n$Ich sehe, ich muss dir eine Lektion erteilen.\n$Mach dich bereit, eine Niederlage zu erleiden!" "1": "How dare you make my precious\ngranddaughter cry!$I see I need to teach you a lesson.\nPrepare to feel the sting of defeat!"
}, },
"victory": { "victory": {
"1": "Wow! So stark!\nMeine Enkelin hat nicht gelogen." "1": "Whoa! So strong!\nMy granddaughter wasn't lying."
} }
}, },
"winstrates_vito": { "winstrates_vito": {
"encounter": { "encounter": {
"1": "Ich habe zusammen mit meiner ganzen Familie trainiert, mit jedem von uns!\n$Ich verliere gegen niemanden!" "1": "I trained together with my whole family,\nevery one of us!$I'm not losing to anyone!"
}, },
"victory": { "victory": {
"1": "Ich war besser als jeder in meiner Familie. Ich habe noch nie verloren..." "1": "I was better than everyone in my family.\nI've never lost before..."
} }
}, },
"brock": { "brock": {

View File

@ -11,7 +11,7 @@
"gachaTypeLegendary": "Erhöhte Chance auf legendäre Eier.", "gachaTypeLegendary": "Erhöhte Chance auf legendäre Eier.",
"gachaTypeMove": "Erhöhte Chance auf Eier mit seltenen Attacken.", "gachaTypeMove": "Erhöhte Chance auf Eier mit seltenen Attacken.",
"gachaTypeShiny": "Erhöhte Chance auf schillernde Eier.", "gachaTypeShiny": "Erhöhte Chance auf schillernde Eier.",
"eventType": "Geheimnisvolles Ereignis", "eventType": "Mystery Event",
"selectMachine": "Wähle eine Maschine.", "selectMachine": "Wähle eine Maschine.",
"notEnoughVouchers": "Du hast nicht genug Ei-Gutscheine!", "notEnoughVouchers": "Du hast nicht genug Ei-Gutscheine!",
"tooManyEggs": "Du hast schon zu viele Eier!", "tooManyEggs": "Du hast schon zu viele Eier!",

View File

@ -9,6 +9,6 @@
"checkTeamDesc": "Überprüfe dein Team or nutze Formänderungsitems.", "checkTeamDesc": "Überprüfe dein Team or nutze Formänderungsitems.",
"rerollCost": "{{formattedMoney}}₽", "rerollCost": "{{formattedMoney}}₽",
"itemCost": "{{formattedMoney}}₽", "itemCost": "{{formattedMoney}}₽",
"continueNextWaveButton": "Fortfahren", "continueNextWaveButton": "Continue",
"continueNextWaveDescription": "Zur nächsten Welle fortfahren." "continueNextWaveDescription": "Continue to the next wave"
} }

View File

@ -69,18 +69,18 @@
"description": "Erhöht den {{stat}} Basiswert des Trägers um 10%. Das Stapellimit erhöht sich, je höher dein IS-Wert ist." "description": "Erhöht den {{stat}} Basiswert des Trägers um 10%. Das Stapellimit erhöht sich, je höher dein IS-Wert ist."
}, },
"PokemonBaseStatTotalModifierType": { "PokemonBaseStatTotalModifierType": {
"name": "Pottrottsaft", "name": "Shuckle Juice",
"description": "{{increaseDecrease}} alle Basiswerte des Trägers um {{statValue}}. Du wurdest von Pottrott {{blessCurse}}.", "description": "{{increaseDecrease}} all of the holder's base stats by {{statValue}}. You were {{blessCurse}} by the Shuckle.",
"extra": { "extra": {
"increase": "Erhöht", "increase": "Increases",
"decrease": "Verringert", "decrease": "Decreases",
"blessed": "gesegnet", "blessed": "blessed",
"cursed": "verflucht" "cursed": "cursed"
} }
}, },
"PokemonBaseStatFlatModifierType": { "PokemonBaseStatFlatModifierType": {
"name": "Spezialität", "name": "Old Gateau",
"description": "Erhöht den {{stats}}-Wert des Trägers um {{statValue}}. Nach einem komischen Traum gefunden." "description": "Increases the holder's {{stats}} base stats by {{statValue}}. Found after a strange dream."
}, },
"AllPokemonFullHpRestoreModifierType": { "AllPokemonFullHpRestoreModifierType": {
"description": "Stellt 100% der KP aller Pokémon her." "description": "Stellt 100% der KP aller Pokémon her."
@ -417,11 +417,11 @@
"description": "Fügt eine 1%ige Chance hinzu, dass ein wildes Pokémon eine Fusion ist." "description": "Fügt eine 1%ige Chance hinzu, dass ein wildes Pokémon eine Fusion ist."
}, },
"MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Pottrottsaft" }, "MYSTERY_ENCOUNTER_SHUCKLE_JUICE": { "name": "Shuckle Juice" },
"MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Giftschleim", "description": "Der Geruch ist so stark, dass die Geschäfte ihre Items nur zu einem stark erhöhten Preis verkaufen." }, "MYSTERY_ENCOUNTER_BLACK_SLUDGE": { "name": "Black Sludge", "description": "The stench is so powerful that shops will only sell you items at a steep cost increase." },
"MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Machoschiene", "description": "Das Besiegen eines Pokémon gewährt dem Besitzer einen Machoschiene-Stapel. Jeder Stapel steigert die Werte leicht, mit einem zusätzlichen Bonus bei maximalen Stapeln." }, "MYSTERY_ENCOUNTER_MACHO_BRACE": { "name": "Macho Brace", "description": "Defeating a Pokémon grants the holder a Macho Brace stack. Each stack slightly boosts stats, with an extra bonus at max stacks." },
"MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Spezialität", "description": "Erhöht den {{stats}}-Wert des Trägers um {{statValue}}." }, "MYSTERY_ENCOUNTER_OLD_GATEAU": { "name": "Old Gateau", "description": "Increases the holder's {{stats}} stats by {{statValue}}." },
"MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Golden Bug Net", "description": "Erhöht die Chance, dass der Besitzer mehr Pokémon vom Typ Käfer findet. Hat ein seltsames Gewicht." } "MYSTERY_ENCOUNTER_GOLDEN_BUG_NET": { "name": "Golden Bug Net", "description": "Imbues the owner with luck to find Bug Type Pokémon more often. Has a strange heft to it." }
}, },
"SpeciesBoosterItem": { "SpeciesBoosterItem": {
"LIGHT_BALL": { "LIGHT_BALL": {

View File

@ -1,7 +1,7 @@
{ {
"paid_money": "Du bezahlst {{amount, number}} ₽.", "paid_money": "You paid ₽{{amount, number}}.",
"receive_money": "Du erhältst {{amount, number}} ₽!", "receive_money": "You received ₽{{amount, number}}!",
"affects_pokedex": "Beeinflusst Pokédex-Daten", "affects_pokedex": "Affects Pokédex Data",
"cancel_option": "Zurück zur Auswahl der Begegnungsoptionen.", "cancel_option": "Return to encounter option select.",
"view_party_button": "Team überprüfen" "view_party_button": "View Party"
} }

View File

@ -1,47 +1,47 @@
{ {
"intro": "Ein sehr starker Trainer kommt auf dich zu...", "intro": "An extremely strong trainer approaches you...",
"buck": { "buck": {
"intro_dialogue": "Yo, Trainer! Mein Name ist Avenaro.$Ich habe ein super Angebot für einen starken Trainer wie dich!$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", "intro_dialogue": "Yo, trainer! My name's Buck.$I have a super awesome proposal\nfor a strong trainer such as yourself!$I'm carrying two rare Pokémon Eggs with me,\nbut I'd like someone else to care for one.$If you can prove your strength as a trainer to me,\nI'll give you the rarer egg!",
"accept": "Wohooo! Ich bin Feuer und Flamme!", "accept": "Whoooo, I'm getting fired up!",
"decline": "Manno, es sieht so aus, als wäre dein Team nicht in Bestform.$Hier, lass mich dir helfen." "decline": "Darn, it looks like your\nteam isn't in peak condition.$Here, let me help with that."
}, },
"cheryl": { "cheryl": {
"intro_dialogue": "Hallo mein Name ist Raissa, ich habe eine besondere Bitte an dich, einen starken Trainer.$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", "intro_dialogue": "Hello, my name's Cheryl.$I have a particularly interesting request,\nfor a strong trainer such as yourself.$I'm carrying two rare Pokémon Eggs with me,\nbut I'd like someone else to care for one.$If you can prove your strength as a trainer to me,\nI'll give you the rarer Egg!",
"accept": "Ich hoffe, du bist bereit!", "accept": "I hope you're ready!",
"decline": "Ich verstehe, es sieht so aus, als wäre dein Team nicht in der besten Verfassung.$Hier, lass mich dir helfen." "decline": "I understand, it looks like your team\nisn't in the best condition at the moment.$Here, let me help with that."
}, },
"marley": { "marley": {
"intro_dialogue": "...@d{64} Ich bin Charlie.$Ich habe ein Angebot für dich...$Ich trage zwei Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du stärker bist als ich, werde ich dir das seltenere Ei geben.", "intro_dialogue": "...@d{64} I'm Marley.$I have an offer for you...$I'm carrying two Pokémon Eggs with me,\nbut I'd like someone else to care for one.$If you're stronger than me,\nI'll give you the rarer Egg.",
"accept": "...So ist das also.", "accept": "... I see.",
"decline": "...Deine Pokémon sehen verletzt aus...Lass mich helfen." "decline": "... I see.$Your Pokémon look hurt...\nLet me help."
}, },
"mira": { "mira": {
"intro_dialogue": "Hi, ich bin Orisa!$Ich habe eine Bitte an dich, einen starken Trainer.$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", "intro_dialogue": "Hi! I'm Mira!$Mira has a request\nfor a strong trainer like you!$Mira has two rare Pokémon Eggs,\nbut Mira wants someone else to take one!$If you show Mira that you're strong,\nMira will give you the rarer Egg!",
"accept": "Du wirst Orisa herausfordern? Juhu!", "accept": "You'll battle Mira?\nYay!",
"decline": "Aww, kein Kampf? Das ist okay!$Hier, Orisa wird dein Team heilen!" "decline": "Aww, no battle?\nThat's okay!$Here, Mira will heal your team!"
}, },
"riley": { "riley": {
"intro_dialogue": "Ich Urs, ich habe eine Bitte an dich, einen starken Trainer.$Ich trage zwei seltene Pokémon-Eier bei mir, aber ich möchte, dass sich jemand anderes um eines kümmert.$Wenn du mir beweisen kannst, dass du ein starker Trainer bist, werde ich dir das seltenere Ei geben!", "intro_dialogue": "I'm Riley.$I have an odd proposal\nfor a strong trainer such as yourself.$I'm carrying two rare Pokémon Eggs with me,\nbut I'd like to give one to another trainer.$If you can prove your strength to me,\nI'll give you the rarer Egg!",
"accept": "Dieser Blick...Lass uns das machen.", "accept": "That look you have...\nLet's do this.",
"decline": "Ich verstehe, dein Team sieht geschlagen aus.$Hier, lass mich dir helfen." "decline": "I understand, your team looks beat up.$Here, let me help with that."
}, },
"title": "Ein Trainer-Test", "title": "A Trainer's Test",
"description": "Es scheint als würde dieser Trainer dir ein Ei geben, egal wie du dich entscheidest. Wenn du es jedoch schaffst, diesen starken Trainer zu besiegen, wirst du ein viel selteneres Ei erhalten.", "description": "It seems this trainer is willing to give you an Egg regardless of your decision. However, if you can manage to defeat this strong trainer, you'll receive a much rarer Egg.",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Die Herausforderung annehmen", "label": "Accept the Challenge",
"tooltip": "(-) Schwerer Kampf\n(+) Erhalte ein @[TOOLTIP_TITLE]{Sehr seltenes Ei}" "tooltip": "(-) Tough Battle\n(+) Gain a @[TOOLTIP_TITLE]{Very Rare Egg}"
}, },
"2": { "2": {
"label": "Die Herausforderung ablehnen", "label": "Refuse the Challenge",
"tooltip": "(+) Team wird geheilt\n(+) Erhalte ein @[TOOLTIP_TITLE]{Ei}" "tooltip": "(+) Full Heal Party\n(+) Gain an @[TOOLTIP_TITLE]{Egg}"
} }
}, },
"eggTypes": { "eggTypes": {
"rare": "seltenes Ei", "rare": "a Rare Egg",
"epic": "episches Ei", "epic": "an Epic Egg",
"legendary": "legendäres Ei" "legendary": "a Legendary Egg"
}, },
"outro": "{{statTrainerName}} gibt dir ein {{eggType}}!" "outro": "{{statTrainerName}} gave you {{eggType}}!"
} }

View File

@ -1,25 +1,25 @@
{ {
"intro": "Ein {{greedentName}} überfällt dich und stiehlt die Beeren deines Teams!", "intro": "A {{greedentName}} ambushes you\nand steals your party's berries!",
"title": "Absoluter Geiz", "title": "Absolute Avarice",
"description": "Der {{greedentName}} hat dich total überrascht und all deine Beeren gestohlen!\nEs sieht so aus, als ob das {{greedentName}} sie gleich essen würde, aber dann hält es inne und sieht dich interessiert an.", "description": "The {{greedentName}} has caught you totally off guard now all your berries are gone!\n\nThe {{greedentName}} looks like it's about to eat them when it pauses to look at you, interested.",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Kampf beginnen", "label": "Battle It",
"tooltip": "(-) Schwerer Kampf\n(+) Belohnungen aus seinem Beerenversteck", "tooltip": "(-) Tough Battle\n(+) Rewards from its Berry Hoard",
"selected": "Der {{greedentName}} füllt seine Backen und bereitet sich auf den Kampf vor!", "selected": "The {{greedentName}} stuffs its cheeks\nand prepares for battle!",
"boss_enraged": "{{greedentName}} Liebe für Essen hat es aufgebracht!", "boss_enraged": "{{greedentName}}'s fierce love for food has it incensed!",
"food_stash": "Es scheint, als ob das {{greedentName}} ein riesiges Nahrungslager bewacht hat!$Jedes Pokémon in deinem Team erhält {{foodReward}}!" "food_stash": "It looks like the {{greedentName}} was guarding an enormous stash of food!$@s{item_fanfare}Each Pokémon in your party gains a {{foodReward}}!"
}, },
"2": { "2": {
"label": "Verhandeln", "label": "Reason with It",
"tooltip": "(+) Einige Beeren zurückbekommen", "tooltip": "(+) Regain Some Lost Berries",
"selected": "Deine Bitte berührt das {{greedentName}}.$Es gibt dir nicht alle Beeren zurück, aber wirft dir trotzdem ein paar zu." "selected": "Your pleading strikes a chord with the {{greedentName}}.$It doesn't give all your berries back, but still tosses a few in your direction."
}, },
"3": { "3": {
"label": "Beeren überlassen", "label": "Let It Have the Food",
"tooltip": "(-) Alle Beeren verlieren\n(?) Das {{greedentName}} wird dich mögen", "tooltip": "(-) Lose All Berries\n(?) The {{greedentName}} Will Like You",
"selected": "Das {{greedentName}} verschlingt den gesamten Beerenversteck in einem Blitz!$Es klopft sich auf den Bauch und sieht dich dankbar an.$Vielleicht könntest du ihm auf deinem Abenteuer mehr Beeren geben...$@s{level_up_fanfare}Das {{greedentName}} möchte sich deiner Gruppe anschließen!" "selected": "The {{greedentName}} devours the entire\nstash of berries in a flash!$Patting its stomach,\nit looks at you appreciatively.$Perhaps you could feed it\nmore berries on your adventure...$@s{level_up_fanfare}The {{greedentName}} wants to join your party!"
} }
} }
} }

View File

@ -1,26 +1,26 @@
{ {
"intro": "Du wirst von einem reich aussehenden Jungen aufgehalten.", "intro": "You're stopped by a rich looking boy.",
"speaker": "Reicher Junge", "speaker": "Rich Boy",
"intro_dialogue": "Guten Tag!$Ich kann nicht anders, als zu bemerken, dass dein\n{{strongestPokemon}} einfach göttlich aussieht!$Ich habe schon immer ein Haustier wie dieses haben wollen!$Ich würde dir großzügig bezahlen, und dir auch diesen alten Kram geben!", "intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a pet like that!$I'd pay you handsomely,\nand also give you this old bauble!",
"title": "Ein Angebot das du nicht ablehnen kannst", "title": "An Offer You Can't Refuse",
"description": "Dir wird ein @[TOOLTIP_TITLE]{Schillerpin} und {{price, money}} für dein {{strongestPokemon}} angeboten!\nEs ist ein extrem gutes Angebot, aber kannst du es wirklich ertragen, dich von einem so starken Teammitglied zu trennen?", "description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Den Deal annehmen", "label": "Accept the Deal",
"tooltip": "(-) Verliere {{strongestPokemon}}\n(+) Erhalte einen @[TOOLTIP_TITLE]{Schillerpin}\n(+) Erhalte {{price, money}}", "tooltip": "(-) Lose {{strongestPokemon}}\n(+) Gain a @[TOOLTIP_TITLE]{Shiny Charm}\n(+) Gain {{price, money}}",
"selected": "Wunderbar!@d{32} Komm mit, {{strongestPokemon}}!$Es ist Zeit, dich allen im Yachtclub zu zeigen!$Die werden so neidisch sein!" "selected": "Wonderful!@d{32} Come along, {{strongestPokemon}}!$It's time to show you off to everyone at the yacht club!$They'll be so jealous!"
}, },
"2": { "2": {
"label": "Das Kind erpressen", "label": "Extort the Kid",
"tooltip": "(+) {{option2PrimaryName}} setzt {{moveOrAbility}} ein\n(+) Erhalte {{price, money}}", "tooltip": "(+) {{option2PrimaryName}} uses {{moveOrAbility}}\n(+) Gain {{price, money}}",
"tooltip_disabled": "Dein Pokémon muss bestimmte Attacken oder Fähigkeiten haben, um diese Option zu wählen", "tooltip_disabled": "Your Pokémon need to have certain moves or abilities to choose this",
"selected": "Mein Gott, wir werden ausgeraubt, {{liepardName}}!$Du wirst von meinen Anwälten hören!" "selected": "My word, we're being robbed, {{liepardName}}!$You'll be hearing from my lawyers for this!"
}, },
"3": { "3": {
"label": "Weggehen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Was ein beschissener Tag...$Ach, was solls. Lass uns zurück zum Yachtclub gehen, {{liepardName}}." "selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}."
} }
} }
} }

View File

@ -1,26 +1,26 @@
{ {
"intro": "Da ist ein riesiger Beerenstrauch in der Nähe dieses Pokémons!", "intro": "There's a huge berry bush\nnear that Pokémon!",
"title": "Überall Beeren", "title": "Berries Abound",
"description": "Es scheint, als ob ein starkes Pokémon einen Beerenstrauch bewacht. Ein Kampf wäre der direkte Weg, aber es sieht stark aus. Vielleicht könnte ein schnelles Pokémon ein paar Beeren schnappen, ohne erwischt zu werden?", "description": "It looks like there's a strong Pokémon guarding a berry bush. Battling is the straightforward approach, but it looks strong. Perhaps a fast Pokémon could grab some berries without getting caught?",
"query": "Was wirst du tun?", "query": "What will you do?",
"berries": "Berren!", "berries": "Berries!",
"option": { "option": {
"1": { "1": {
"label": "Kampf beginnen", "label": "Battle the Pokémon",
"tooltip": "(-) Schwerer Kampf\n(+) Beeren erhalten", "tooltip": "(-) Hard Battle\n(+) Gain Berries",
"selected": "Du trittst dem Pokémon ohne Furcht entgegen." "selected": "You approach the\nPokémon without fear."
}, },
"2": { "2": {
"label": "Zum Strauch rennen", "label": "Race to the Bush",
"tooltip": "(-) {{fastestPokemon}} nutzt seine Geschwindigkeit\n(+) Beeren erhalten", "tooltip": "(-) {{fastestPokemon}} Uses its Speed\n(+) Gain Berries",
"selected": "Dein {{fastestPokemon}} rennt zum Strauch!$Es schafft es, {{numBerries}} zu schnappen, bevor das {{enemyPokemon}} reagieren kann!$Du ziehst dich schnell mit deiner neuen Beute zurück.", "selected": "Your {{fastestPokemon}} races for the berry bush!$It manages to nab {{numBerries}} before the {{enemyPokemon}} can react!$You quickly retreat with your newfound prize.",
"selected_bad": "Dein {{fastestPokemon}} rennt zum Strauch!$Oh nein! Das {{enemyPokemon}} war schneller und hat den Weg blockiert!", "selected_bad": "Your {{fastestPokemon}} races for the berry bush!$Oh no! The {{enemyPokemon}} was faster and blocked off the approach!",
"boss_enraged": "Das gegnerische {{enemyPokemon}} ist wütend geworden!" "boss_enraged": "The opposing {{enemyPokemon}} has become enraged!"
}, },
"3": { "3": {
"label": "Verlassen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Du lässt das starke Pokémon mit seinem Item zurück und gehst weiter." "selected": "You leave the strong Pokémon\nwith its prize and continue on."
} }
} }
} }

View File

@ -1,38 +1,38 @@
{ {
"intro": "Ein ungewöhnlicher Trainer mit allerlei Käfer-Schnickschnack versperrt dir den Weg!", "intro": "An unusual trainer with all kinds of Bug paraphernalia blocks your way!",
"intro_dialogue": "Hey, Trainer! Ich bin auf einer Mission, um die seltensten Käfer-Pokémon zu finden!$Du musst Käfer-Pokémon auch lieben, oder? Jeder liebt Käfer-Pokémon!", "intro_dialogue": "Hey, trainer! I'm on a mission to find the rarest Bug Pokémon in existence!$You must love Bug Pokémon too, right?\nEveryone loves Bug Pokémon!",
"title": "Der Käfersammler-Superfan", "title": "The Bug-Type Superfan",
"speaker": "Käfersammler-Superfan", "speaker": "Bug-Type Superfan",
"description": "Der Trainer plappert drauf los, ohne auf eine Antwort zu warten...\nEs scheint, als gäbe es nur einen Weg, um aus dieser Situation herauszukommen... Die Aufmerksamkeit des Trainers zu erregen!", "description": "The trainer prattles, not even waiting for a response...\n\nIt seems the only way to get out of this situation is by catching the trainer's attention!",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Pokémon-Kampf", "label": "Offer to Battle",
"tooltip": "(-) Herausfordernder Kampf\n(+) Einem Pokémon eine Käfer-Attacke beibringen", "tooltip": "(-) Challenging Battle\n(+) Teach a Pokémon a Bug Type Move",
"selected": "Ein Pokémon-Kampf? Meine Käfer-Pokémon sind mehr als bereit für dich!" "selected": "A challenge, eh?\nMy bugs are more than ready for you!"
}, },
"2": { "2": {
"label": "Käfer-Pokémon zeigen", "label": "Show Your Bug Types",
"tooltip": "(+) Erhalte ein Geschenk", "tooltip": "(+) Receive a Gift Item",
"disabled_tooltip": "Du brauchst mindestens 1 Käfer-Pokémon in deinem Team, um das auszuwählen.", "disabled_tooltip": "You need at least 1 Bug Type Pokémon on your team to select this.",
"selected": "Du zeigst dem Trainer all deine Käfer-Pokémon...", "selected": "You show the trainer all your Bug Type Pokémon...",
"selected_0_to_1": "Huh? Du hast nur {{numBugTypes}} Käfer-Pokémon...$Ich verschwende hier meine Zeit...", "selected_0_to_1": "Huh? You only have {{numBugTypes}}...$Guess I'm wasting my breath on someone like you...",
"selected_2_to_3": "Hey, du hast {{numBugTypes}} Käfer-Pokémon! Nicht schlecht.$Hier, das könnte dir auf deiner Reise helfen, mehr zu fangen!", "selected_2_to_3": "Hey, you've got {{numBugTypes}} Bug Types!\nNot bad.$Here, this might help you on your journey to catch more!",
"selected_4_to_5": "Was? Du hast {{numBugTypes}} Käfer-Pokémon? Nicht schlecht!$Du bist noch nicht ganz auf meinem Level, aber ich kann mich in dir erkennen! $Nimm das, mein junger Padawan!", "selected_4_to_5": "What? You have {{numBugTypes}} Bug Types?\nNice!$You're not quite at my level, but I can see shades of myself in you!\n$Take this, my young apprentice!",
"selected_6": "Wow! {{numBugTypes}} Käfer-Pokémon!$Du musst Käfer-Pokémon fast so sehr lieben wie ich!$Hier, nimm das als Zeichen unserer Kameradschaft!" "selected_6": "Whoa! {{numBugTypes}} Bug Types!\n$You must love Bug Types almost as much as I do!$Here, take this as a token of our camaraderie!"
}, },
"3": { "3": {
"label": "Verschenke ein Käfer-Item", "label": "Gift a Bug Item",
"tooltip": "(-) Du gibst dem Trainer ein {{requiredBugItems}}\n(+) Erhalte ein Geschenk", "tooltip": "(-) Give the trainer a {{requiredBugItems}}\n(+) Receive a Gift Item",
"disabled_tooltip": "Du brauchst ein {{requiredBugItems}}, um das auszuwählen.", "disabled_tooltip": "You need to have a {{requiredBugItems}} to select this.",
"select_prompt": "Wählen Sie ein Item aus, um es zu verschenken.", "select_prompt": "Select an item to give.",
"invalid_selection": "Das Pokémon hat kein solches Item.", "invalid_selection": "Pokémon doesn't have that kind of item.",
"selected": "Du gibst {{selectedItem}} an dem Trainer .", "selected": "You hand the trainer a {{selectedItem}}.",
"selected_dialogue": "Wow! {{selectedItem}}, für mich? Du bist nicht so schlecht, Junge!$Als Zeichen meiner Anerkennung möchte ich, dass du dieses besondere Geschenk bekommst!$Es wurde in meiner Familie weitergegeben, und jetzt möchte ich, dass du es hast!" "selected_dialogue": "Whoa! A {{selectedItem}}, for me?\nYou're not so bad, kid!$As a token of my appreciation,\nI want you to have this special gift!$It's been passed all through my family, and now I want you to have it!"
} }
}, },
"battle_won": "Dein Wissen und Können waren perfekt, um unsere Schwächen auszunutzen!$Als Gegenleistung für die wertvolle Lektion, erlaube mir, einem deiner Pokémon eine Käfer-Attacke beizubringen!", "battle_won": "Your knowledge and skill were perfect at exploiting our weaknesses!$In exchange for the valuable lesson,\nallow me to teach one of your Pokémon a Bug Type Move!",
"teach_move_prompt": "Wähle eine Attacke aus die du deinem Pokémon beibringen möchtest.", "teach_move_prompt": "Select a move to teach a Pokémon.",
"confirm_no_teach": "Bist du sicher, dass du keine dieser großartigen Attacken lernen möchtest?", "confirm_no_teach": "You sure you don't want to learn one of these great moves?",
"outro": "Ich sehe großartige Käfer-Pokémon in deiner Zukunft! Mögen sich unsere Wege wieder kreuzen!$Mach's gut!" "outro": "I see great Bug Pokémon in your future!\nMay our paths cross again!$Bug out!"
} }

View File

@ -1,35 +1,34 @@
{ {
"intro": "Es ist...@d{64} ein Clown?", "intro": "It's...@d{64} a clown?",
"speaker": "Clown", "speaker": "Clown",
"intro_dialogue": "Du tollpatschiger Trottel, bereite dich auf einen brillanten Kampf vor!\nDu wirst von diesem prügelnden Straßenmusikanten besiegt!", "intro_dialogue": "Bumbling buffoon, brace for a brilliant battle!\nYou'll be beaten by this brawling busker!",
"title": "Rumgeblödel", "title": "Clowning Around",
"description": "Irgendwas stimmt nicht mit dieser Begegnung. Der Clown scheint darauf aus zu sein, dich zu einem Kampf zu provozieren, aber zu welchem Zweck?\n\nDas {{blacephalonName}} ist besonders seltsam, als hätte es @[TOOLTIP_TITLE]{seltsame Typen} und eine @[TOOLTIP_TITLE]{Fähigkeit.}", "description": "Something is off about this encounter. The clown seems eager to goad you into a battle, but to what end?\n\nThe {{blacephalonName}} is especially strange, like it has @[TOOLTIP_TITLE]{weird types and ability.}",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Kampf beginnen", "label": "Battle the Clown",
"tooltip": "(-) Komischer Kampf\n(?) Beeinflusst Pokémon-Fähigkeiten", "tooltip": "(-) Strange Battle\n(?) Affects Pokémon Abilities",
"selected": "Deine erbärmlichen Pokémon sind bereit für eine erbärmliche Vorstellung!", "selected": "Your pitiful Pokémon are poised for a pathetic performance!",
"apply_ability_dialogue": "Eine sensationelle Vorstellung! Dein Können passt zu einer sensationellen Fähigkeit als Beute!", "apply_ability_dialogue": "A sensational showcase!\nYour savvy suits a sensational skill as spoils!",
"apply_ability_message": "Der Clown bietet an, die Fähigkeit eines deiner Pokémon dauerhaft auf {{ability}} zu wechseln!", "apply_ability_message": "The clown is offering to permanently Skill Swap one of your Pokémon's ability to {{ability}}!",
"ability_prompt": "Soll eines deiner Pokémon die Fähigkeit {{ability}} dauerhaft erlangen?", "ability_prompt": "Would you like to permanently teach a Pokémon the {{ability}} ability?",
"ability_gained": "@s{level_up_fanfare}{{chosenPokemon}} hat die Fähigkeit {{ability}} erhalten!" "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}} gained the {{ability}} ability!"
}, },
"2": { "2": {
"label": "Nicht provozieren lassen", "label": "Remain Unprovoked",
"tooltip": "(-) Der Clown ist beleidigt\n(?) Beeinflusst Pokémon-Items", "tooltip": "(-) Upsets the Clown\n(?) Affects Pokémon Items",
"selected": "Du erbärmlicher Feigling, du verweigerst einen wunderbaren Kampf? Fühle meinen Zorn!", "selected": "Dismal dodger, you deny a delightful duel?\nFeel my fury!",
"selected_2": "Das {{blacephalonName}} des Clowns verwendet Trickbetrug! Alle Items deines {{switchPokemon}} wurden zufällig vertauscht!", "selected_2": "The clown's {{blacephalonName}} uses Trick!\nAll of your {{switchPokemon}}'s items were randomly swapped!",
"selected_3": "Meine perfekte List hat dich in die Irre geführt!" "selected_3": "Flustered fool, fall for my flawless deception!"
}, },
"3": { "3": {
"label": "Die Beleidigungen erwidern", "label": "Return the Insults",
"tooltip": "(-) Den Clown verärgern\n(?) Beeinflusst Pokémon-Typen", "tooltip": "(-) Upsets the Clown\n(?) Affects Pokémon Types",
"selected": "Du erbärmlicher Feigling verweigerst einen wunderbaren Kampf? Fühle meinen Zorn!", "selected": "Dismal dodger, you deny a delightful duel?\nFeel my fury!",
"selected_2": "Das {{blacephalonName}} des Clowns verwendet eine seltsame Attacke! Alle Typen deines Teams wurden zufällig vertauscht!", "selected_2": "The clown's {{blacephalonName}} uses a strange move!\nAll of your team's types were randomly swapped!",
"selected_3": "Meine perfekte List hat dich in die Irre geführt!" "selected_3": "Flustered fool, fall for my flawless deception!"
} }
}, },
"outro": "Der Clown und seine Kumpanen verschwinden in einer Rauchwolke." "outro": "The clown and his cohorts\ndisappear in a puff of smoke."
} }

View File

@ -1,27 +1,27 @@
{ {
"intro": "Ein {{oricorioName}} tanzt traurig allein, ohne einen Partner.", "intro": "An {{oricorioName}} dances sadly alone, without a partner.",
"title": "Tanzstunden", "title": "Dancing Lessons",
"description": "Das {{oricorioName}} scheint nicht aggressiv zu sein, im Gegenteil, es scheint traurig zu sein.\nVielleicht möchte es einfach nur mit jemandem tanzen...", "description": "The {{oricorioName}} doesn't seem aggressive, if anything it seems sad.\n\nMaybe it just wants someone to dance with...",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Kampf beginnen", "label": "Battle It",
"tooltip": "(-) Schwerer Kampf\n(+) Erhalte ein Stab", "tooltip": "(-) Tough Battle\n(+) Gain a Baton",
"selected": "Das {{oricorioName}} ist verstört und verteidigt sich!", "selected": "The {{oricorioName}} is distraught and moves to defend itself!",
"boss_enraged": "Das {{oricorioName}} ist wütend und steigert seine Werte!" "boss_enraged": "The {{oricorioName}}'s fear boosted its stats!"
}, },
"2": { "2": {
"label": "Lerne den Tanz", "label": "Learn Its Dance",
"tooltip": "(+) Bringe einem Pokémon Wecktanz bei", "tooltip": "(+) Teach a Pokémon Revelation Dance",
"selected": "Du schaust dem {{oricorioName}} genau zu, wie es seinen Tanz aufführt...$@s{level_up_fanfare}Dein {{selectedPokemon}} hat von {{oricorioName}} gelernt!" "selected": "You watch the {{oricorioName}} closely as it performs its dance...$@s{level_up_fanfare}Your {{selectedPokemon}} learned from the {{oricorioName}}!"
}, },
"3": { "3": {
"label": "Zeig einen Tanz", "label": "Show It a Dance",
"tooltip": "(-) Bringe dem {{oricorioName}} einen Tanz bei\n(+) Das {{oricorioName}} wird dich mögen", "tooltip": "(-) Teach the {{oricorioName}} a Dance Move\n(+) The {{oricorioName}} Will Like You",
"disabled_tooltip": "Dein Pokémon muss einen Tanz beherrschen, um diese Option zu wählen.", "disabled_tooltip": "Your Pokémon need to know a Dance move for this.",
"select_prompt": "Wählen Sie eine Tanzattacke aus, die verwendet werden soll.", "select_prompt": "Select a Dance type move to use.",
"selected": "Das {{oricorioName}} schaut fasziniert zu, wie {{selectedPokemon}} {{selectedMove}} vorführt!$Es liebt die Vorführung!$@s{level_up_fanfare}Das {{oricorioName}} möchte sich dir anschließen!" "selected": "The {{oricorioName}} watches in fascination as\n{{selectedPokemon}} shows off {{selectedMove}}!$It loves the display!$@s{level_up_fanfare}The {{oricorioName}} wants to join your party!"
} }
}, },
"invalid_selection": "Das Pokémon kennt keine Tanzattacke" "invalid_selection": "This Pokémon doesn't know a Dance move"
} }

View File

@ -1,24 +1,24 @@
{ {
"intro": "Ein seltsamer Mann in einem zerrissenen Mantel steht dir im Weg...", "intro": "A strange man in a tattered coat\nstands in your way...",
"speaker": "Seltsamer Mann", "speaker": "Shady Guy",
"intro_dialogue": "Hey, du!$Ich habe an einem neuen Gerät gearbeitet, um die verborgene Kraft eines Pokémon zum Vorschein zu bringen!$Es bindet die Atome des Pokémon auf molekularer Ebene vollständig neu und bringt sie in eine$weitaus mächtigere Form.$Hehe...@d{64} Ich brauche nur ein paar Opf-@d{32} Ähm, Testpersonen, um zu beweisen, dass es funktioniert.", "intro_dialogue": "Hey, you!$I've been working on a new device\nto bring out a Pokémon's latent power!$It completely rebinds the Pokémon's atoms\nat a molecular level into a far more powerful form.$Hehe...@d{64} I just need some sac-@d{32}\nErr, test subjects, to prove it works.",
"title": "Dunkler Handel", "title": "Dark Deal",
"description": "Der verstörende Typ hält einige Pokébälle hoch.\n\"Es wird such für dich lohnen! Du kannst diese tollen Pokébälle als Bezahlung haben, alles was ich brauche ist ein Pokémon aus deinem Team! Hehe...\"", "description": "The disturbing fellow holds up some Pokéballs.\n\"I'll make it worth your while! You can have these strong Pokéballs as payment, All I need is a Pokémon from your team! Hehe...\"",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Aktzeptieren", "label": "Accept",
"tooltip": "(+) 5 Roguebälle\n(?) Ein zufälliges Pokémon wird verbessert", "tooltip": "(+) 5 Rogue Balls\n(?) Enhance a Random Pokémon",
"selected_dialogue": "Lass mich mal sehen...${{pokeName}} ist eine gute Wahl!$Denk dran, ich bin nicht verantwortlich, wenn etwas schief geht!@d{32} Hehe...", "selected_dialogue": "Let's see, that {{pokeName}} will do nicely!$Remember, I'm not responsible\nif anything bad happens!@d{32} Hehe...",
"selected_message": "Der Mann übergibt dir 5 Roguebälle.${{pokeName}} springt in die seltsame Maschine...$Blinkende Lichter und seltsame Geräusche kommen aus der Maschine!$...@d{96} Etwas kommt aus der Maschine,\nwütend und wild!" "selected_message": "The man hands you 5 Rogue Balls.${{pokeName}} hops into the strange machine...$Flashing lights and weird noises\nstart coming from the machine!$...@d{96} Something emerges\nfrom the device, raging wildly!"
}, },
"2": { "2": {
"label": "Ablehnen", "label": "Refuse",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Du willst einem armen Kerl nicht helfen? Pah!" "selected": "Not gonna help a poor fellow out?\nPah!"
} }
}, },
"outro": "Nach der schrecklichen Begegnung, sammelst du dich und gehst weiter." "outro": "After the harrowing encounter,\nyou collect yourself and depart."
} }

View File

@ -1,29 +1,29 @@
{ {
"intro": "Ein Schwarm {{delibirdName}} ist aufgetaucht!", "intro": "A pack of {{delibirdName}} have appeared!",
"title": "Botogel-Bande", "title": "Delibir-dy",
"description": "Die {{delibirdName}} schauen dich erwartungsvoll an, als ob sie etwas wollen. Vielleicht würde es sie zufriedenstellen, wenn du ihnen ein Item oder etwas Geld gibst?", "description": "The {{delibirdName}}s are looking at you expectantly, as if they want something. Perhaps giving them an item or some money would satisfy them?",
"query": "Was möchtest du ihnen geben?", "query": "What will you give them?",
"invalid_selection": "Das Pokémon hat kein solches Item.", "invalid_selection": "Pokémon doesn't have that kind of item.",
"option": { "option": {
"1": { "1": {
"label": "Geld geben", "label": "Give Money",
"tooltip": "(-) Den {{delibirdName}} {{money, money}} geben\n(+) Erhalte ein Geschenk", "tooltip": "(-) Give the {{delibirdName}}s {{money, money}}\n(+) Receive a Gift Item",
"selected": "Du wirfst das Geld zu den {{delibirdName}}, die aufgeregt miteinander schnattern.$Sie drehen sich zu dir um und geben dir glücklich ein Geschenk!" "selected": "You toss the money to the {{delibirdName}}s,\nwho chatter amongst themselves excitedly.$They turn back to you and happily give you a present!"
}, },
"2": { "2": {
"label": "Futter geben", "label": "Give Food",
"tooltip": "(-) Gib den {{delibirdName}} eine Beere oder einen Belebersamen\n(+) Erhalte ein Geschenk", "tooltip": "(-) Give the {{delibirdName}}s a Berry or Reviver Seed\n(+) Receive a Gift Item",
"select_prompt": "Wähle ein Item aus.", "select_prompt": "Select an item to give.",
"selected": "Du wirfst {{chosenItem}} zu den {{delibirdName}}, die aufgeregt miteinander schnattern.$Sie drehen sich zu dir um und geben dir glücklich ein Geschenk!" "selected": "You toss the {{chosenItem}} to the {{delibirdName}}s,\nwho chatter amongst themselves excitedly.$They turn back to you and happily give you a present!"
}, },
"3": { "3": {
"label": "Ein Item geben", "label": "Give an Item",
"tooltip": "(-) Gebe den {{delibirdName}} ein Item\n(+) Erhalte ein Geschenk", "tooltip": "(-) Give the {{delibirdName}}s a Held Item\n(+) Receive a Gift Item",
"select_prompt": "Wähle ein Item aus.", "select_prompt": "Select an item to give.",
"selected": "Du wirfst {{chosenItem}} zu den {{delibirdName}}, die aufgeregt miteinander schnattern.$Sie drehen sich zu dir um und geben dir glücklich ein Geschenk!" "selected": "You toss the {{chosenItem}} to the {{delibirdName}}s,\nwho chatter amongst themselves excitedly.$They turn back to you and happily give you a present!"
} }
}, },
"outro": "Die {{delibirdName}} watscheln glücklich davon.$Was für ein seltsamer kleiner Austausch!" "outro": "The {{delibirdName}} pack happily waddles off into the distance.$What a curious little exchange!"
} }

View File

@ -1,27 +1,27 @@
{ {
"intro": "Es ist eine Dame mit vielen Einkaufstüten.", "intro": "It's a lady with a ton of shopping bags.",
"speaker": "Einkäuferin", "speaker": "Shopper",
"intro_dialogue": "Hallo! Bist du auch wegen der tollen Angebote hier?$Es gibt einen speziellen Gutschein, den du während des Verkaufs einlösen kannst!$Ich habe einen zusätzlichen. Hier, bitte!", "intro_dialogue": "Hello! Are you here for\nthe amazing sales too?$There's a special coupon that you can\nredeem for a free item during the sale!$I have an extra one. Here you go!",
"title": "Einkaufszentrum-Verkauf", "title": "Department Store Sale",
"description": "Es gibt Angebote in jede Richtung! Es sieht so aus, als ob es 4 Kassen gibt, an denen du den Gutschein gegen verschiedene Artikel eintauschen kannst. Die Möglichkeiten sind endlos!", "description": "There is merchandise in every direction! It looks like there are 4 counters where you can redeem the coupon for various items. The possibilities are endless!",
"query": "Welche Kasse wählst du?", "query": "Which counter will you go to?",
"option": { "option": {
"1": { "1": {
"label": "TM-Kasse", "label": "TM Counter",
"tooltip": "(+) TM Shop" "tooltip": "(+) TM Shop"
}, },
"2": { "2": {
"label": "Nährstoff-Kasse", "label": "Vitamin Counter",
"tooltip": "(+) Nährstoff Shop" "tooltip": "(+) Vitamin Shop"
}, },
"3": { "3": {
"label": "Kampf-Item-Kasse", "label": "Battle Item Counter",
"tooltip": "(+) X-Item Shop" "tooltip": "(+) X Item Shop"
}, },
"4": { "4": {
"label": "Pokéball-Kasse", "label": "Pokéball Counter",
"tooltip": "(+) Pokéball Shop" "tooltip": "(+) Pokéball Shop"
} }
}, },
"outro": "Was für ein Schnäppchen! Du solltest öfter hier einkaufen." "outro": "What a deal! You should shop there more often."
} }

View File

@ -1,31 +1,31 @@
{ {
"intro": "Eine Lehrerin und ein paar Schulkinder stehen auf einmal vor dir!", "intro": "It's a teacher and some school children!",
"speaker": "Lehrerin", "speaker": "Teacher",
"intro_dialogue": "Hallo! Könntest du eine Minute für meine Schüler erübrigen?$Ich bringe ihnen gerade bei, wie Pokémon-Attacken funktionieren und würde ihnen gerne$eine Demonstration zeigen.$Würdest du uns eine Attacke deines Pokémon vorführen?", "intro_dialogue": "Hello, there! Would you be able to\nspare a minute for my students?$I'm teaching them about Pokémon moves\nand would love to show them a demonstration.$Would you mind showing us one of\nthe moves your Pokémon can use?",
"title": "Exkursion", "title": "Field Trip",
"description": "Eine Lehrerin fragt nach einer Attackenvorführung eines Pokémon. Je nachdem, welche Attacke du wählst, hat sie vielleicht etwas Nützliches für dich als Belohnung.", "description": "A teacher is requesting a move demonstration from a Pokémon. Depending on the move you choose, she might have something useful for you in exchange.",
"query": "Welchen Attacken-Typ wählst du?", "query": "Which move category will you show off?",
"option": { "option": {
"1": { "1": {
"label": "Physische Attacke", "label": "A Physical Move",
"tooltip": "(+) Physische Item-Belohnungen" "tooltip": "(+) Physical Item Rewards"
}, },
"2": { "2": {
"label": "Spezielle Attacke", "label": "A Special Move",
"tooltip": "(+) Spezielle Item-Belohnungen" "tooltip": "(+) Special Item Rewards"
}, },
"3": { "3": {
"label": "Status-Attacke", "label": "A Status Move",
"tooltip": "(+) Status Item-Belohnungen" "tooltip": "(+) Status Item Rewards"
}, },
"selected": "{{pokeName}} zeigt eine beeindruckende Vorführung von {{move}}!" "selected": "{{pokeName}} shows off an awesome display of {{move}}!"
}, },
"second_option_prompt": "Wähle eine Attacke die dein Pokémon einsetzen soll.", "second_option_prompt": "Choose a move for your Pokémon to use.",
"incorrect": "...$Das ist keine {{moveCategory}}Attacke!\nEs tut mir leid, aber ich kann dir nichts geben.$Kommt Kinder, wir suchen uns woanders einen besseren Trainer.", "incorrect": "...$That isn't a {{moveCategory}} move!\nI'm sorry, but I can't give you anything.$Come along children, we'll\nfind a better demonstration elsewhere.",
"incorrect_exp": "Es scheint, als hättest du eine wertvolle Lektion gelernt?$Dein Pokémon hat auch etwas Erfahrung gesammelt.", "incorrect_exp": "Looks like you learned a valuable lesson?$Your Pokémon also gained some experience.",
"correct": "Ich dank dir vielmals für deine Freundlichkeit!$Ich hoffe, diese Items sind nützlich für dich.", "correct": "Thank you so much for your kindness!\nI hope these items might be of use to you!",
"correct_exp": "{{pokeName}} hat auch etwas wertvolle Erfahrung gesammelt!", "correct_exp": "{{pokeName}} also gained some valuable experience!",
"status": "Status-", "status": "Status",
"physical": "physische ", "physical": "Physical",
"special": "spezielle " "special": "Special"
} }

View File

@ -1,26 +1,26 @@
{ {
"intro": "Du hast einen Sturm aus Rauch und Asche entdeckt!", "intro": "You encounter a blistering storm of smoke and ash!",
"title": "Feurige Folgen", "title": "Fiery Fallout",
"description": "Die umherwirbelnde Asche und Glut haben die Sicht auf fast Null reduziert. Es scheint, als könnte es eine... Quelle geben, die diese Bedingungen verursacht. Aber was könnte hinter einem Phänomen dieser Größe stecken?", "description": "The whirling ash and embers have cut visibility to nearly zero. It seems like there might be some... source that is causing these conditions. But what could be behind a phenomenon of this magnitude?",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Finde die Quelle", "label": "Find the Source",
"tooltip": "(?) Entdecke die Quelle\n(-) Schwieriger Kampf", "tooltip": "(?) Discover the source\n(-) Hard Battle",
"selected": "Du hast die Quelle des Sturms gefunden!$Es sind zwei {{volcaronaName}}, die in der Mitte eines Paarungstanzes sind!$Sie nehmen die Unterbrechung nicht gut auf und greifen an!" "selected": "You push through the storm, and find two {{volcaronaName}}s in the middle of a mating dance!$They don't take kindly to the interruption and attack!"
}, },
"2": { "2": {
"label": "Sich einigeln", "label": "Hunker Down",
"tooltip": "(-) Die Folgen des Wetters erleiden", "tooltip": "(-) Suffer the effects of the weather",
"selected": "Die Folgen des Wetters sind verheerend!$Deine Pokémon nehmen 20% ihrer maximalen KP als Schaden!", "selected": "The weather effects cause significant\nharm as you struggle to find shelter!$Your party takes 20% Max HP damage!",
"target_burned": "Dein {{burnedPokemon}} wurde auch verbrannt!" "target_burned": "Your {{burnedPokemon}} also became burned!"
}, },
"3": { "3": {
"label": "Dein Feuer-Pokémon hilft", "label": "Your Fire Types Help",
"tooltip": "(+) Das Wetter klärt auf\n(+) Erhalte ein Holzkohle", "tooltip": "(+) End the conditions\n(+) Gain a Charcoal",
"disabled_tooltip": "Du benötigst mindestens 2 Feuer-Pokémon, um diese Option auszuwählen", "disabled_tooltip": "You need at least 2 Fire Type Pokémon to choose this",
"selected": "Dein {{option3PrimaryName}} und {{option3SecondaryName}} führen dich zu zwei {{volcaronaName}}, die in der Mitte eines Paarungstanzes sind!$Zum Glück können deine Pokémon sie beruhigen,und sie ziehen ohne Probleme ab." "selected": "Your {{option3PrimaryName}} and {{option3SecondaryName}} guide you to where two {{volcaronaName}}s are in the middle of a mating dance!$Thankfully, your Pokémon are able to calm them,\nand they depart without issue."
} }
}, },
"found_charcoal": "Nachdem das Wetter aufklart, entdeckt dein {{leadPokemon}} etwas auf dem Boden.$@s{item_fanfare}{{leadPokemon}} erhält eine Holzkohle!" "found_charcoal": "After the weather clears,\nyour {{leadPokemon}} spots something on the ground.$@s{item_fanfare}{{leadPokemon}} gained a Charcoal!"
} }

View File

@ -1,25 +1,25 @@
{ {
"intro": "Etwas Glänzendes liegt auf dem Boden in der Nähe dieses Pokémons!", "intro": "Something shiny is sparkling\non the ground near that Pokémon!",
"title": "Kampf oder Flucht", "title": "Fight or Flight",
"description": "Es scheint, als würde ein starkes Pokémon ein Item bewachen. Ein Kampf wäre der direkte Weg, aber es sieht stark aus. Vielleicht könntest du das Item stehlen, wenn du das richtige Pokémon für den Job hast.", "description": "It looks like there's a strong Pokémon guarding an item. Battling is the straightforward approach, but it looks strong. Perhaps you could steal the item, if you have the right Pokémon for the job.",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Kampf beginnen", "label": "Battle the Pokémon",
"tooltip": "(-) Schwerer Kampf\n(+) Neues Item", "tooltip": "(-) Hard Battle\n(+) New Item",
"selected": "Du trittst dem Pokémon ohne Furcht entgegen.", "selected": "You approach the\nPokémon without fear.",
"stat_boost": "Die Stärke von {{enemyPokemon}} erhöht einen seiner Werte!" "stat_boost": "The {{enemyPokemon}}'s latent strength boosted one of its stats!"
}, },
"2": { "2": {
"label": "Das Item stehlen", "label": "Steal the Item",
"disabled_tooltip": "Dein Pokémon muss eine bestimmte Attacken beherrschen, um diese Option zu wählen.", "disabled_tooltip": "Your Pokémon need to know certain moves to choose this",
"tooltip": "(+) {{option2PrimaryName}} setzt {{option2PrimaryMove}} ein", "tooltip": "(+) {{option2PrimaryName}} uses {{option2PrimaryMove}}",
"selected": ".@d{32}.@d{32}.@d{32}$Dein {{option2PrimaryName}} hilft dir und setzt {{option2PrimaryMove}} ein!$Du hast das Item gestohlen!" "selected": ".@d{32}.@d{32}.@d{32}$Your {{option2PrimaryName}} helps you out and uses {{option2PrimaryMove}}!$You nabbed the item!"
}, },
"3": { "3": {
"label": "Verlassen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Du lässt das starke Pokémon mit seinem Item zurück und gehst weiter." "selected": "You leave the strong Pokémon\nwith its prize and continue on."
} }
} }
} }

View File

@ -1,30 +1,30 @@
{ {
"intro_dialogue": "Kommen Sie näher, meine Damen und Herren!$Versuchen Sie Ihr Glück mit dem brandneuen {{wobbuffetName}}-Hau-den-Lukas!", "intro_dialogue": "Step right up, folks! Try your luck\non the brand new {{wobbuffetName}} Whack-o-matic!",
"speaker": "Animateur", "speaker": "Showman",
"title": "Spaß und Spiele!", "title": "Fun And Games!",
"description": "Du hast ein {{wobbuffetName}} gefunden, das ein Spiel spielt! Du hast @[TOOLTIP_TITLE]{3 Züge}, um das {{wobbuffetName}} so nah wie möglich an @[TOOLTIP_TITLE]{1 KP} heranzubringen, @[TOOLTIP_TITLE]{ohne es zu besiegen}, damit es eine riesige Gegenattacke auf der Glockenmaschine ausführen kann.\nAber sei vorsichtig! Wenn du das {{wobbuffetName}} besiegst, musst du die Kosten für die Wiederbelebung bezahlen!", "description": "You've encountered a traveling show with a prize game! You will have @[TOOLTIP_TITLE]{3 turns} to bring the {{wobbuffetName}} as close to @[TOOLTIP_TITLE]{1 HP} as possible @[TOOLTIP_TITLE]{without KOing it} so it can wind up a huge Counter on the bell-ringing machine.\nBut be careful! If you KO the {{wobbuffetName}}, you'll have to pay for the cost of reviving it!",
"query": "Möchtest du spielen?", "query": "Would you like to play?",
"option": { "option": {
"1": { "1": {
"label": "Das Spiel spielen", "label": "Play the Game",
"tooltip": "(-) Zahle {{option1Money, money}}\n(+) Spiele {{wobbuffetName}} Hau-den-Lukas", "tooltip": "(-) Pay {{option1Money, money}}\n(+) Play {{wobbuffetName}} Whack-o-matic",
"selected": "Zeit dein Glück herauszufordern!" "selected": "Time to test your luck!"
}, },
"2": { "2": {
"label": "Weggehen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Du beeilst dich auf deinem Weg, mit einem leichten Gefühl der Reue." "selected": "You hurry along your way,\nwith a slight feeling of regret."
} }
}, },
"ko": "Oh nein! Das {{wobbuffetName}} ist ohnmächtig geworden!$Du verlierst das Spiel und musst die Kosten für die Wiederbelebung bezahlen...", "ko": "Oh no! The {{wobbuffetName}} fainted!$You lose the game and\nhave to pay for the revive cost...",
"charging_continue": "Das {{wobbuffetName}} lädt seine Gegenattacke auf!", "charging_continue": "The Wubboffet keeps charging its counter-swing!",
"turn_remaining_3": "Drei Runden verbleiben!", "turn_remaining_3": "Three turns remaining!",
"turn_remaining_2": "Zwei Runden verbleiben!", "turn_remaining_2": "Two turns remaining!",
"turn_remaining_1": "Nur noch eine Runde!", "turn_remaining_1": "One turn remaining!",
"end_game": "Die Zeit ist um!$Das {{wobbuffetName}} holt zum Gegenangriff aus und@d{16}.@d{16}.@d{16}.", "end_game": "Time's up!$The {{wobbuffetName}} winds up to counter-swing and@d{16}.@d{16}.@d{16}.",
"best_result": "Das {{wobbuffetName}} schlägt so hart auf den Knopf, dass die Glocke vom oberen Teil abbricht!$Du gewinnst den Hauptpreis!", "best_result": "The {{wobbuffetName}} smacks the button so hard\nthe bell breaks off the top!$You win the grand prize!",
"great_result": "Das {{wobbuffetName}} schlägt den Knopf so hart, dass die Glocke fast getroffen wird!$So nah! Du gewinnst den zweiten Preis!", "great_result": "The {{wobbuffetName}} smacks the button, nearly hitting the bell!$So close!\nYou earn the second tier prize!",
"good_result": "Das {{wobbuffetName}} trifft den Knopf stark genug, um die Hälfte der Skala zu erreichen!$Du verdienst den dritten Preis!", "good_result": "The {{wobbuffetName}} hits the button hard enough to go midway up the scale!$You earn the third tier prize!",
"bad_result": "Das {{wobbuffetName}} trifft den Knopf kaum und nichts passiert...$Oh nein! Du gewinnst nichts!", "bad_result": "The {{wobbuffetName}} barely taps the button and nothing happens...$Oh no!\nYou don't win anything!",
"outro": "Das war ein lustiges kleines Spiel!" "outro": "That was a fun little game!"
} }

View File

@ -1,32 +1,32 @@
{ {
"intro": "Es ist eine Schnittstelle für die Globale Tauschstation, das GTS.", "intro": "It's an interface for the Global Trade System!",
"title": "Das GTS", "title": "The GTS",
"description": "Ah, das GTS! Ein technologisches Wunder, mit dem du dich mit jedem auf der Welt verbinden kannst, um Pokémon mit ihnen zu tauschen! Wird das Glück dir heute hold sein?", "description": "Ah, the GTS! A technological wonder, you can connect with anyone else around the globe to trade Pokémon with them! Will fortune smile upon your trade today?",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Tauschangebote prüfen", "label": "Check Trade Offers",
"tooltip": "(+) Wähle ein Tauschangebot für eines deiner Pokémon aus", "tooltip": "(+) Select a trade offer for one of your Pokémon",
"trade_options_prompt": "Wähle ein Pokémon aus, das du erhalten möchtest." "trade_options_prompt": "Select a Pokémon to receive through trade."
}, },
"2": { "2": {
"label": "Zaubertausch", "label": "Wonder Trade",
"tooltip": "(+) Seine eine deiner Pokémon an die GTS und erhalte ein zufälliges Pokémon im Austausch" "tooltip": "(+) Send one of your Pokémon to the GTS and get a random Pokémon in return"
}, },
"3": { "3": {
"label": "Tausche ein Item", "label": "Trade an Item",
"trade_options_prompt": "Wähle ein Item aus, das du senden möchtest.", "trade_options_prompt": "Select an item to send.",
"invalid_selection": "Dieses Pokémon hat keine Items die getauscht werden können.", "invalid_selection": "This Pokémon doesn't have legal items to trade.",
"tooltip": "(+) Sende eines deiner Items an die GTS und erhalte ein zufälliges Item im Austausch" "tooltip": "(+) Send one of your Items to the GTS and get a random new Item"
}, },
"4": { "4": {
"label": "Weggehen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Heute ist keine Zeit zum Tauschen! Du gehst weiter." "selected": "No time to trade today!\nYou continue on."
} }
}, },
"pokemon_trade_selected": "{{tradedPokemon}} wird an {{tradeTrainerName}} gesendet.", "pokemon_trade_selected": "{{tradedPokemon}} will be sent to {{tradeTrainerName}}.",
"pokemon_trade_goodbye": "Machs gut, {{tradedPokemon}}!", "pokemon_trade_goodbye": "Goodbye, {{tradedPokemon}}!",
"item_trade_selected": "{{chosenItem}} wird an {{tradeTrainerName}} gesendet.$.@d{64}.@d{64}.@d{64}\n@s{level_up_fanfare}Tausch abgeschlossen!$Du hast {{itemName}} von {{tradeTrainerName}} erhalten!", "item_trade_selected": "{{chosenItem}} will be sent to {{tradeTrainerName}}.$.@d{64}.@d{64}.@d{64}\n@s{level_up_fanfare}Trade complete!$You received a {{itemName}} from {{tradeTrainerName}}!",
"trade_received": "@s{evolution_fanfare}{{tradeTrainerName}} hat dir {{received}} geschickt!" "trade_received": "@s{evolution_fanfare}{{tradeTrainerName}} sent over {{received}}!"
} }

View File

@ -1,28 +1,28 @@
{ {
"intro": "Du warst auf dem Meer umhergeirrt und effektiv nirgendwohin gekommen.", "intro": "Wandering aimlessly through the sea, you've effectively gotten nowhere.",
"title": "Verloren auf See", "title": "Lost at Sea",
"description": "Die See ist in diesem Gebiet stürmisch und du hast kaum noch Energie. Das ist schlecht. Gibt es einen Ausweg aus der Situation?", "description": "The sea is turbulent in this area, and you're running out of energy.\nThis is bad. Is there a way out of the situation?",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "{{option1PrimaryName}} kann helfen", "label": "{{option1PrimaryName}} Might Help",
"label_disabled": "Kein {{option1RequiredMove}}", "label_disabled": "Can't {{option1RequiredMove}}",
"tooltip": "(+) {{option1PrimaryName}} rettet dich\n(+) {{option1PrimaryName}} erhält etwas EP", "tooltip": "(+) {{option1PrimaryName}} saves you\n(+) {{option1PrimaryName}} gains some EXP",
"tooltip_disabled": "Du hast kein Pokémon, das {{option1RequiredMove}} erlernen kann", "tooltip_disabled": "You have no Pokémon to {{option1RequiredMove}} on",
"selected": "{{option1PrimaryName}} schwimmt voraus und führt dich zurück auf den richtigen Weg.${{option1PrimaryName}} scheint auch stärker geworden zu sein in dieser Zeit der Not!" "selected": "{{option1PrimaryName}} swims ahead, guiding you back on track.${{option1PrimaryName}} seems to also have gotten stronger in this time of need!"
}, },
"2": { "2": {
"label": "{{option2PrimaryName}} kann helfen", "label": "{{option2PrimaryName}} Might Help",
"label_disabled": "Kein {{option2RequiredMove}}", "label_disabled": "Can't {{option2RequiredMove}}",
"tooltip": "(+) {{option2PrimaryName}} rettet dich\n(+) {{option2PrimaryName}} erhält etwas EP", "tooltip": "(+) {{option2PrimaryName}} saves you\n(+) {{option2PrimaryName}} gains some EXP",
"tooltip_disabled": "Du hast kein Pokémon, das {{option2RequiredMove}} erlernen kann", "tooltip_disabled": "You have no Pokémon to {{option2RequiredMove}} with",
"selected": "{{option2PrimaryName}} fliegt vor deinem Boot und führt dich zurück auf den richtigen Weg.${{option2PrimaryName}} scheint auch stärker geworden zu sein in dieser Zeit der Not!" "selected": "{{option2PrimaryName}} flies ahead of your boat, guiding you back on track.${{option2PrimaryName}} seems to also have gotten stronger in this time of need!"
}, },
"3": { "3": {
"label": "Umherirren", "label": "Wander Aimlessly",
"tooltip": "(-) Jedes deiner Pokémon verliert {{damagePercentage}}% seiner maximalen KP", "tooltip": "(-) Each of your Pokémon lose {{damagePercentage}}% of their total HP",
"selected": "Du treibst im Boot umher, steuerst ohne Richtung, bis du endlich ein Wahrzeichen siehst, das du wiedererkennst.$Du und deine Pokémon sind erschöpft von dem ganzen Vorfall." "selected": "You float about in the boat, steering without direction until you finally spot a landmark you remember.$You and your Pokémon are fatigued from the whole ordeal."
} }
}, },
"outro": "Du bist wieder auf dem richtigen Weg." "outro": "You are back on track."
} }

View File

@ -1,22 +1,22 @@
{ {
"intro": "Mysteriöse Herausforderer sind aufgetaucht!", "intro": "Mysterious challengers have appeared!",
"title": "Mysteriöse Herausforderer", "title": "Mysterious Challengers",
"description": "Wenn du einen Herausforderer besiegst, könntest du sie beeindrucken und eine Belohnung erhalten. Aber manche sehen ziemlich stark aus. Bist du bereit für die Herausforderung?", "description": "If you defeat a challenger, you might impress them enough to receive a boon. But some look tough, are you up to the challenge?",
"query": "Wen wirst du bekämpfen?", "query": "Who will you battle?",
"option": { "option": {
"1": { "1": {
"label": "Schlauer Trainer", "label": "A Clever, Mindful Foe",
"tooltip": "(-) Standardkampf\n(+) TM Belohnungen" "tooltip": "(-) Standard Battle\n(+) Move Item Rewards"
}, },
"2": { "2": {
"label": "Starker Trainer", "label": "A Strong Foe",
"tooltip": "(-) Harter Kampf\n(+) Gute Belohnungen" "tooltip": "(-) Hard Battle\n(+) Good Rewards"
}, },
"3": { "3": {
"label": "Mächtigster Trainer", "label": "The Mightiest Foe",
"tooltip": "(-) Brutaler Kampf\n(+) Großartige Belohnungen" "tooltip": "(-) Brutal Battle\n(+) Great Rewards"
}, },
"selected": "Der Herausforderer tritt vor..." "selected": "The trainer steps forward..."
}, },
"outro": "Der mysteriöse Herausforderer wurde besiegt!" "outro": "The mysterious challenger was defeated!"
} }

View File

@ -1,23 +1,23 @@
{ {
"intro": "Du hast...@d{32} eine Truhe gefunden?", "intro": "You found...@d{32} a chest?",
"title": "Die mysteriöse Truhe", "title": "The Mysterious Chest",
"description": "Eine wunderschön verzierte Truhe steht auf dem Boden. Da muss doch etwas Gutes drin sein... oder?", "description": "A beautifully ornamented chest stands on the ground. There must be something good inside... right?",
"query": "Wirst du sie öffnen?", "query": "Will you open it?",
"option": { "option": {
"1": { "1": {
"label": "Öffnen", "label": "Open It",
"tooltip": "@[SUMMARY_BLUE]{(35%) Etwas Schreckliches}\n@[SUMMARY_GREEN]{(40%) Standard Belohnung}\n@[SUMMARY_GREEN]{(20%) Gute Belohnung}\n@[SUMMARY_GREEN]{(4%) Großartige Belohnung}\n@[SUMMARY_GREEN]{(1%) Erstaunliche Belohnung}", "tooltip": "@[SUMMARY_BLUE]{(35%) Something terrible}\n@[SUMMARY_GREEN]{(40%) Okay Rewards}\n@[SUMMARY_GREEN]{(20%) Good Rewards}\n@[SUMMARY_GREEN]{(4%) Great Rewards}\n@[SUMMARY_GREEN]{(1%) Amazing Rewards}",
"selected": "Du öffnest die Truhe und findest...", "selected": "You open the chest to find...",
"normal": "Einfach ein paar normale Werkzeuge und Gegenstände.", "normal": "Just some normal tools and items.",
"good": "Ein paar ziemlich gute Werkzeuge und Gegenstände.", "good": "Some pretty nice tools and items.",
"great": "Ein paar großartige Werkzeuge und Gegenstände.", "great": "A couple great tools and items!",
"amazing": "Ein erstaunlichen Gegenstand!", "amazing": "Whoa! An amazing item!",
"bad": "Oh nein!@d{32}\nDie Truhe war tatsächlich ein {{gimmighoulName}}!$Dein {{pokeName}} springt schützend vor dich aber wird dabei besiegt!" "bad": "Oh no!@d{32}\nThe chest was actually a {{gimmighoulName}} in disguise!$Your {{pokeName}} jumps in front of you\nbut is KOed in the process!"
}, },
"2": { "2": {
"label": "Zu riskant, weggehen", "label": "Too Risky, Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Du gehst schnell weiter, mit einem leichten Gefühl der Reue." "selected": "You hurry along your way,\nwith a slight feeling of regret."
} }
} }
} }

View File

@ -1,31 +1,31 @@
{ {
"intro": "Eine geschäftige Person spricht dich an.", "intro": "A busy worker flags you down.",
"speaker": "Arbeitende Person", "speaker": "Worker",
"intro_dialogue": "Du siehst aus, als hättest du viele fähige Pokémon!$Wir können dich bezahlen, wenn du uns bei einigen Teilzeitjobs hilfst!", "intro_dialogue": "You look like someone with lots of capable Pokémon!$We can pay you if you're able to help us with some part-time work!",
"title": "Teilzeitjob", "title": "Part-Timer",
"description": "Es scheint, als gäbe es viele Aufgaben, die erledigt werden müssen. Je besser dein Pokémon für eine Aufgabe geeignet ist, desto mehr Geld kann es verdienen.", "description": "Looks like there are plenty of tasks that need to be done. Depending how well-suited your Pokémon is to a task, they might earn more or less money.",
"query": "Welchen Job wählst du?", "query": "Which job will you choose?",
"invalid_selection": "Das Pokémon muss genug KP haben.", "invalid_selection": "Pokémon must be healthy enough.",
"option": { "option": {
"1": { "1": {
"label": "Lieferdienst", "label": "Make Deliveries",
"tooltip": "(-) Dein Pokémon nutzt seine Geschwindigkeit\n(+) Verdiene @[MONEY]{Geld}", "tooltip": "(-) Your Pokémon Uses its Speed\n(+) Earn @[MONEY]{Money}",
"selected": "Dein {{selectedPokemon}} arbeitet eine Schicht lang damit, Bestellungen an Kunden auszuliefern." "selected": "Your {{selectedPokemon}} works a shift delivering orders to customers."
}, },
"2": { "2": {
"label": "Lagerarbeit", "label": "Warehouse Work",
"tooltip": "(-) Dein Pokémon nutzt seine Stärke und Ausdauer\n(+) Verdiene @[MONEY]{Geld}", "tooltip": "(-) Your Pokémon Uses its Strength and Endurance\n(+) Earn @[MONEY]{Money}",
"selected": "Dein {{selectedPokemon}} arbeitet eine Schicht lang damit, Gegenstände im Lager zu bewegen." "selected": "Your {{selectedPokemon}} works a shift moving items around the warehouse."
}, },
"3": { "3": {
"label": "Verkäufer", "label": "Sales Assistant",
"tooltip": "(-) Dein {{option3PrimaryName}} nutzt {{option3PrimaryMove}}\n(+) Verdiene @[MONEY]{Geld}", "tooltip": "(-) Your {{option3PrimaryName}} uses {{option3PrimaryMove}}\n(+) Earn @[MONEY]{Money}",
"disabled_tooltip": "Dein Pokémon muss bestimmte Attacken kennen, um diesen Job zu erledigen", "disabled_tooltip": "Your Pokémon need to know certain moves for this job",
"selected": "Dein {{option3PrimaryName}} verbringt den Tag damit, {{option3PrimaryMove}} einzusetzen, um Kunden in den Laden zu locken!" "selected": "Your {{option3PrimaryName}} spends the day using {{option3PrimaryMove}} to attract customers to the business!"
} }
}, },
"job_complete_good": "Danke für die Hilfe! Dein {{selectedPokemon}} war unglaublich hilfreich!$Hier ist dein Gehalt für den Tag.", "job_complete_good": "Thanks for the assistance!\nYour {{selectedPokemon}} was incredibly helpful!$Here's your check for the day.",
"job_complete_bad": "Dein {{selectedPokemon}} hat uns ein wenig geholfen!$Hier ist dein Gehalt für den Tag.", "job_complete_bad": "Your {{selectedPokemon}} helped us out a bit!$Here's your check for the day.",
"pokemon_tired": "Dein {{selectedPokemon}} ist erschöpft! Die AP aller seiner Attacken wurden auf 2 reduziert!", "pokemon_tired": "Your {{selectedPokemon}} is worn out!\nThe PP of all its moves was reduced to 2!",
"outro": "Komm doch bald wieder und hilf uns erneut!" "outro": "Come back and help out again sometime!"
} }

View File

@ -1,46 +1,46 @@
{ {
"intro": "Es ist die Safari-Zone!", "intro": "It's a safari zone!",
"title": "Die Safari-Zone", "title": "The Safari Zone",
"description": "Es gibt alle Arten von seltenen und besonderen Pokémon, die hier gefunden werden können!\nWenn du dich entscheidest, einzutreten, hast du kannst du in den nächsten 3 Wellen versuchen, besondere Pokémon zu fangen.\nAber sei gewarnt, diese Pokémon können fliehen, bevor du sie fangen kannst!", "description": "There are all kinds of rare and special Pokémon that can be found here!\nIf you choose to enter, you'll have a time limit of 3 wild encounters where you can try to catch these special Pokémon.\n\nBeware, though. These Pokémon may flee before you're able to catch them!",
"query": "Willst du eintreten?", "query": "Would you like to enter?",
"option": { "option": {
"1": { "1": {
"label": "Eintreten", "label": "Enter",
"tooltip": "(-) Zahle {{option1Money, money}}\n@[SUMMARY_GREEN]{(?) Safari Zone}", "tooltip": "(-) Pay {{option1Money, money}}\n@[SUMMARY_GREEN]{(?) Safari Zone}",
"selected": "Zeit, dein Glück herauszufordern!" "selected": "Time to test your luck!"
}, },
"2": { "2": {
"label": "Weggehen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Du gehst deines Weges, mit einem leichten Gefühl der Reue." "selected": "You hurry along your way,\nwith a slight feeling of regret."
} }
}, },
"safari": { "safari": {
"1": { "1": {
"label": "Pokéball werfen", "label": "Throw a Pokéball",
"tooltip": "(+) Werfe einen Pokéball", "tooltip": "(+) Throw a Pokéball",
"selected": "Du wirfst einen Pokéball!" "selected": "You throw a Pokéball!"
}, },
"2": { "2": {
"label": "Köder werfen", "label": "Throw Bait",
"tooltip": "(+) Erhöht die Fangrate\n(-) Erhöht die Fluchtchance", "tooltip": "(+) Increases Capture Rate\n(-) Chance to Increase Flee Rate",
"selected": "Du wirfst einen Köder!" "selected": "You throw some bait!"
}, },
"3": { "3": {
"label":"Matsch werfen", "label": "Throw Mud",
"tooltip": "(+) Vermindert die Fluchtchance\n(-) Chance, die Fangrate zu verringern", "tooltip": "(+) Decreases Flee Rate\n(-) Chance to Decrease Capture Rate",
"selected": "Du wirst ein wenig Matsch!" "selected": "You throw some mud!"
}, },
"4": { "4": {
"label": "Fliehen", "label": "Flee",
"tooltip": "(?) Fliehe vor diesem Pokémon" "tooltip": "(?) Flee from this Pokémon"
}, },
"watching": "{{pokemonName}} beobachtet alles aufmerksam!", "watching": "{{pokemonName}} is watching carefully!",
"eating": "{{pokemonName}} frisst!", "eating": "{{pokemonName}} is eating!",
"busy_eating": "{{pokemonName}} konzentriert sich aufs Futter!", "busy_eating": "{{pokemonName}} is busy eating!",
"angry": "{{pokemonName}} ist wütend!", "angry": "{{pokemonName}} is angry!",
"beside_itself_angry": "{{pokemonName}} ist außer sich vor Wut!", "beside_itself_angry": "{{pokemonName}} is beside itself with anger!",
"remaining_count": "{{remainingCount}} Pokémon übrig!" "remaining_count": "{{remainingCount}} Pokémon remaining!"
}, },
"outro": "Das war ein spannendes Abenteuer in der Safari-Zone!" "outro": "That was a fun little excursion!"
} }

View File

@ -1,27 +1,27 @@
{ {
"intro": "Ein Mann in einem dunklen Mantel kommt auf dich zu.", "intro": "A man in a dark coat approaches you.",
"speaker": "Zwielichtiger Verkäufer", "speaker": "Shady Salesman",
"intro_dialogue": ".@d{16}.@d{16}.@d{16}$Ich habe die Ware, wenn du das Geld hast.$Aber sei sicher, dass deine Pokémon es vertragen können.", "intro_dialogue": ".@d{16}.@d{16}.@d{16}$I've got the goods if you've got the money.$Make sure your Pokémon can handle it though.",
"title": "Der Nährstoff-Verkäufer", "title": "The Vitamin Dealer",
"description": "Der Mann öffnet seinen Mantel und zeigt dir einige Pokémon-Nährstoffe. Die Preise, die er nennt, scheinen ein wirklich gutes Angebot zu sein. Fast zu gut...\nEr bietet dir zwei Möglichkeiten zur Auswahl an.", "description": "The man opens his jacket to reveal some Pokémon vitamins. The numbers he quotes seem like a really good deal. Almost too good...\nHe offers two package deals to choose from.",
"query": "Welches Angebot wirst du wählen?", "query": "Which deal will you choose?",
"invalid_selection": "Pokémon must be healthy enough.", "invalid_selection": "Pokémon must be healthy enough.",
"option": { "option": {
"1": { "1": {
"label": "Der billige Deal", "label": "The Cheap Deal",
"tooltip": "(-) Zahle {{option1Money, money}}\n(-) Nebenwirkungen?\n(+) Das gewählte Pokémon erhält 2 zufällige Nährstoffe" "tooltip": "(-) Pay {{option1Money, money}}\n(-) Side Effects?\n(+) Chosen Pokémon Gains 2 Random Vitamins"
}, },
"2": { "2": {
"label": "Der teure Deal", "label": "The Pricey Deal",
"tooltip": "(-) Zahle {{option2Money, money}}\n(+) Das gewählte Pokémon erhält 2 zufällige Nährstoffe" "tooltip": "(-) Pay {{option2Money, money}}\n(+) Chosen Pokémon Gains 2 Random Vitamins"
}, },
"3": { "3": {
"label": "Weggehen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Ey, hätte ich nicht gedacht, dass du ein Feigling bist." "selected": "Heh, wouldn't have figured you for a coward."
}, },
"selected": "Der Mann überreicht dir zwei Flaschen und verschwindet schnell.${{selectedPokemon}} erhält {{boost1}} und {{boost2}} Nährstoffe!" "selected": "The man hands you two bottles and quickly disappears.${{selectedPokemon}} gained {{boost1}} and {{boost2}} boosts!"
}, },
"cheap_side_effects": "Aber die Medizin hatte Nebenwirkungen!$Dein {{selectedPokemon}} nimmt etwas Schaden,\nund sein Wesen wurde zu {{newNature}} geändert!", "cheap_side_effects": "But the medicine had some side effects!$Your {{selectedPokemon}} takes some damage,\nand its Nature is changed to {{newNature}}!",
"no_bad_effects": "Es scheint, als hätten die Nährstoffe keine Nebenwirkungen." "no_bad_effects": "Looks like there were no side-effects from the medicine!"
} }

View File

@ -1,25 +1,25 @@
{ {
"intro": "Als du einen schmalen Pfad entlang gehst, siehst du eine riesige Silhouette, die deinen Weg blockiert.$Du kommst näher, um zu sehen, dass ein {{snorlaxName}} friedlich schläft.$Es scheint, als gäbe es keinen Weg daran vorbei.", "intro": "As you walk down a narrow pathway, you see a towering silhouette blocking your path.$You get closer to see a {{snorlaxName}} sleeping peacefully.\nIt seems like there's no way around it.",
"title": "Schlafendes {{snorlaxName}}", "title": "Slumbering {{snorlaxName}}",
"description": "Du könntest es angreifen, um es zum Bewegen zu bringen, oder einfach warten, bis es aufwacht. Wer weiß, wie lange das dauern könnte...", "description": "You could attack it to try and get it to move, or simply wait for it to wake up. Who knows how long that could take, though...",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Kampf beginnen", "label": "Battle It",
"tooltip": "(-) Schlafendes {{snorlaxName}} greift an\n(+) Spezielle Belohnung", "tooltip": "(-) Fight Sleeping {{snorlaxName}}\n(+) Special Reward",
"selected": "Du trittst dem Pokémon ohne Furcht entgegen." "selected": "You approach the\nPokémon without fear."
}, },
"2": { "2": {
"label":"Warte, bis es sich bewegt", "label": "Wait for It to Move",
"tooltip": "(-) Warte eine lange Zeit\n(+) Dein Team wird geheilt", "tooltip": "(-) Wait a Long Time\n(+) Recover Party",
"selected": ".@d{32}.@d{32}.@d{32}$Du wartest sehr lange, bis das {{snorlaxName}} endlich aufwacht. Dein Team wird schläfrig...", "selected": ".@d{32}.@d{32}.@d{32}$You wait for a time, but the {{snorlaxName}}'s yawns make your party sleepy...",
"rest_result": "Nachdem ihr alle aufgewacht seid, ist das {{snorlaxName}} nirgends zu finden - aber deine Pokémon sind alle geheilt!" "rest_result": "When you all awaken, the {{snorlaxName}} is no where to be found -\nbut your Pokémon are all healed!"
}, },
"3": { "3": {
"label": "Klaue seine Items", "label": "Steal Its Item",
"tooltip": "(+) {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein\n(+) Spezielle Belohnung", "tooltip": "(+) {{option3PrimaryName}} uses {{option3PrimaryMove}}\n(+) Special Reward",
"disabled_tooltip": "Dein Pokémon muss bestimmte Attacken beherrschen, um diese Option zu wählen.", "disabled_tooltip": "Your Pokémon need to know certain moves to choose this",
"selected": "Dein {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein!$@s{item_fanfare}Es stiehlt die Überreste des schlafenden {{snorlaxName}}s und ihr macht euch aus dem Staub!" "selected": "Your {{option3PrimaryName}} uses {{option3PrimaryMove}}!$@s{item_fanfare}It steals Leftovers off the sleeping\n{{snorlaxName}} and you make out like bandits!"
} }
} }
} }

View File

@ -1,27 +1,27 @@
{ {
"intro": "Es ist eine seltsame Maschine, die laut summt...", "intro": "It's a strange machine, whirring noisily...",
"title": "Teleportierende Streiche", "title": "Teleportating Hijinks",
"description": "Die Maschine hat ein Schild, auf dem steht:\n\"Geld einwerfen und in die Kapsel steigen.\"\nVielleicht kann sie dich irgendwohin transportieren...", "description": "The machine has a sign on it that reads:\n \"To use, insert money then step into the capsule.\"\n\nPerhaps it can transport you somewhere...",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Geld einwerfen", "label": "Put Money In",
"tooltip": "(-) Bezahle {{price, money}}\n(?) Teleportiere dich in ein neues Biom", "tooltip": "(-) Pay {{price, money}}\n(?) Teleport to New Biome",
"selected": "Du wirfst etwas Geld ein, und die Kapsel öffnet sich.\nDu steigst ein..." "selected": "You insert some money, and the capsule opens.\nYou step inside..."
}, },
"2": { "2": {
"label": "Ein Pokémon hilft", "label": "A Pokémon Helps",
"tooltip": "(-) {{option2PrimaryName}} hilft\n(+) {{option2PrimaryName}} erhält EXP\n(?) Teleportiere dich in ein neues Biom", "tooltip": "(-) {{option2PrimaryName}} Helps\n(+) {{option2PrimaryName}} gains EXP\n(?) Teleport to New Biome",
"disabled_tooltip": "Du brauchst ein Stahl- oder Elektro-Pokémon, um diese Option zu wählen.", "disabled_tooltip": "You need a Steel or Electric Type Pokémon to choose this",
"selected": "Der Typ von {{option2PrimaryName}} ermöglicht es ihm, die Bezahlschranke der Maschine zu umgehen!$Die Kapsel öffnet sich, und du steigst ein..." "selected": "{{option2PrimaryName}}'s Type allows it to bypass the machine's paywall!$The capsule opens, and you step inside..."
}, },
"3": { "3": {
"label": "Maschine inspizieren", "label": "Inspect the Machine",
"tooltip": "(-) Pokémon-Kampf", "tooltip": "(-) Pokémon Battle",
"selected": "Du wirst von den blinkenden Lichtern und den seltsamen Geräuschen der Maschine angezogen...$Du bemerkst nicht einmal, wie ein wildes Pokémon sich anschleicht und dich überfällt!" "selected": "You are drawn in by the blinking lights\nand strange noises coming from the machine...$You don't even notice as a wild\nPokémon sneaks up and ambushes you!"
} }
}, },
"transport": "Die Maschine zittert heftig und macht seltsame Geräusche!$Kaum hat es begonnen, wird es wieder ruhig.", "transport": "The machine shakes violently,\nmaking all sorts of strange noises!$Just as soon as it had started, it quiets once more.",
"attacked": "Du trittst in eine völlig neue Gegend und erschreckst ein wildes Pokémon!$Das wilde Pokémon greift an!", "attacked": "You step out into a completely new area, startling a wild Pokémon!$The wild Pokémon attacks!",
"boss_enraged": "Das wilde {{enemyPokemon}} ist wütend geworden!" "boss_enraged": "The opposing {{enemyPokemon}} has become enraged!"
} }

View File

@ -1,23 +1,23 @@
{ {
"intro": "Ein fröhlicher älterer Mann kommt auf dich zu.", "intro": "A chipper elderly man approaches you.",
"speaker": "Reicher Mann", "speaker": "Gentleman",
"intro_dialogue": "Hallo! Ich habe ein Angebot, das du nicht ablehnen kannst!", "intro_dialogue": "Hello there! Have I got a deal just for YOU!",
"title": "Der Pokémon-Verkäufer", "title": "The Pokémon Salesman",
"description": "Dieses {{purchasePokemon}} ist extrem einzigartig und hat eine Fähigkeit, die normalerweise nicht bei seiner Art zu finden ist! Ich lasse dich dieses tolle {{purchasePokemon}} für gerade einmal {{price, money}} haben!\"\n\"Was sagst du dazu?\"", "description": "\"This {{purchasePokemon}} is extremely unique and carries an ability not normally found in its species! I'll let you have this swell {{purchasePokemon}} for just {{price, money}}!\"\n\n\"What do you say?\"",
"description_shiny": "Dieses {{purchasePokemon}} ist extrem einzigartig und hat eine Farbe, die normalerweise nicht bei seiner Art zu finden ist! Ich lasse dich dieses tolle {{purchasePokemon}} für gerade einmal {{price, money}} haben!\"\n\"Was sagst du dazu?\"", "description_shiny": "\"This {{purchasePokemon}} is extremely unique and has a pigment not normally found in its species! I'll let you have this swell {{purchasePokemon}} for just {{price, money}}!\"\n\n\"What do you say?\"",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Akzeptieren", "label": "Accept",
"tooltip": "(-) Bezahlen {{price, money}}\n(+) Erhalte ein {{purchasePokemon}} mit seiner versteckten Fähigkeit", "tooltip": "(-) Pay {{price, money}}\n(+) Gain a {{purchasePokemon}} with its Hidden Ability",
"tooltip_shiny": "(-) Bezahlen {{price, money}}\n(+) Erhalte ein schillerndes {{purchasePokemon}}", "tooltip_shiny": "(-) Pay {{price, money}}\n(+) Gain a shiny {{purchasePokemon}}",
"selected_message": "Du bezahlst einen unverschämten Betrag und kaufst das {{purchasePokemon}}.", "selected_message": "You paid an outrageous sum and bought the {{purchasePokemon}}.",
"selected_dialogue": "Ausgezeichnete Wahl!$Ich sehe, dass du ein gutes Auge für Geschäfte hast.$Oh, ja...@d{64} Rückgaben werden nicht akzeptiert, hast du das verstanden?" "selected_dialogue": "Excellent choice!$I can see you've a keen eye for business.$Oh, yeah...@d{64} Returns not accepted, got that?"
}, },
"2": { "2": {
"label": "Ablehnen", "label": "Refuse",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Nein?@d{32} Du sagst nein?$Ich mache das nur als Gefallen für dich!" "selected": "No?@d{32} You say no?$I'm only doing this as a favor to you!"
} }
} }
} }

View File

@ -1,21 +1,21 @@
{ {
"intro": "Es ist ein riesiger {{shuckleName}} und ein riesiger Vorrat an... Saft?", "intro": "It's a massive {{shuckleName}} and what appears\nto be a large stash of... juice?",
"title": "Das gute Zeug", "title": "The Strong Stuff",
"description": "Das {{shuckleName}} das deinen Weg blockiert, sieht unglaublich stark aus. In der Zwischenzeit strahlt der Saft daneben eine Art Kraft aus.\nDas {{shuckleName}} streckt seine Fühler in deine Richtung aus. Es scheint, als wolle es etwas tun...", "description": "The {{shuckleName}} that blocks your path looks incredibly strong. Meanwhile, the juice next to it is emanating power of some kind.\n\nThe {{shuckleName}} extends its feelers in your direction. It seems like it wants to do something...",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Dem {{shuckleName}} näher kommen", "label": "Approach the {{shuckleName}}",
"tooltip": "(?) Etwas Schreckliches oder Wunderbares könnte passieren", "tooltip": "(?) Something awful or amazing might happen",
"selected": "Dir wird schwarz vor Augen...", "selected": "You black out.",
"selected_2": "@f{150}Als du aufwachst, ist das {{shuckleName}} verschwunden und der Saftvorrat komplett geleert.${{highBstPokemon1}} und {{highBstPokemon2}} fühlen eine schreckliche Lethargie über sich kommen!$Ihre Basiswerte wurden um {{reductionValue}} reduziert!$Deine verbleibenden Pokémon fühlen jedoch eine unglaubliche Vitalität!$Ihre Basiswerte werden um {{increaseValue}} erhöht!" "selected_2": "@f{150}When you awaken, the {{shuckleName}} is gone\nand juice stash completely drained.${{highBstPokemon1}} and {{highBstPokemon2}}\nfeel a terrible lethargy come over them!$Their base stats were reduced by {{reductionValue}}!$Your remaining Pokémon feel an incredible vigor, though!\nTheir base stats are increased by {{increaseValue}}!"
}, },
"2": { "2": {
"label": "Das {{shuckleName}} bekämpfen", "label": "Battle the {{shuckleName}}",
"tooltip": "(-) Schwieriger Kampf\n(+) Spezielle Belohnungen", "tooltip": "(-) Hard Battle\n(+) Special Rewards",
"selected": "Das {{shuckleName}} wird wütend und trinkt etwas von seinem Saft, bevor es angreift!", "selected": "Enraged, the {{shuckleName}} drinks some of its juice and attacks!",
"stat_boost": "Der Saft des {{shuckleName}} erhöht seine Werte!" "stat_boost": "The {{shuckleName}}'s juice boosts its stats!"
} }
}, },
"outro": "Was ist hier gerade passiert?" "outro": "What a bizarre turn of events."
} }

View File

@ -1,22 +1,22 @@
{ {
"intro": "Eine Familie steht vor ihrem Haus!", "intro": "It's a family standing outside their house!",
"speaker": "Die Sihgers", "speaker": "The Winstrates",
"intro_dialogue": "Wir sind die Sihgers!$Wie wäre es, wenn du gegen unsere Familie in einer Reihe von Pokémon-Kämpfen antrittst?", "intro_dialogue": "We're the Winstrates!$What do you say to taking on our family in a series of Pokémon battles?",
"title": "Die Sihgers-Herausforderung", "title": "The Winstrate Challenge",
"description": "Die Sihgers sind eine Familie von 5 Trainern, und sie wollen kämpfen! Wenn du sie alle hintereinander besiegst, bekommst du einen grandiosen Preis. Aber kannst du die Hitze aushalten?", "description": "The Winstrates are a family of 5 trainers, and they want to battle! If you beat all of them back-to-back, they'll give you a grand prize. But can you handle the heat?",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Die Herausforderung annehmen", "label": "Accept the Challenge",
"tooltip": "(-) Brutaler Kampf\n(+) Spezielle Belohnung", "tooltip": "(-) Brutal Battle\n(+) Special Item Reward",
"selected": "Lass die Herausforderung beginnen!" "selected": "Let the challenge begin!"
}, },
"2": { "2": {
"label": "Die Herausforderung ablehnen", "label": "Refuse the Challenge",
"tooltip": "(+) Team wird geheilt\n(+) Erhalte ein Supersondererbonbon", "tooltip": "(+) Full Heal Party\n(+) Gain a Rarer Candy",
"selected": "Das ist zu schade. Dein Team sieht ziemlich mitgenommen aus, warum ruhst du dich nicht eine Weile aus?" "selected": "That's too bad. Say, your team looks worn out, why don't you stay awhile and rest?"
} }
}, },
"victory": "Glückwunsch, du hast unsere Herausforderung gemeistert!$Zuerst möchten wir dir diesen Gutschein geben.", "victory": "Congratulations on beating our challenge!$First off, we'd like you to have this Voucher.",
"victory_2": "Außerdem benutzt unsere Familie diese Machoschiene, um unsere Pokémon effektiver zu tranieren.$Du brauchst es vielleicht nicht, da du uns alle geschlagen hast, aber wir hoffen, dass du es trotzdem annimmst!" "victory_2": "Also, our family uses this Macho Brace to strengthen\nour Pokémon more effectively during training.$You may not need it considering that you beat the whole lot of us, but we hope you'll accept it anyway!"
} }

View File

@ -1,33 +1,33 @@
{ {
"intro": "Du stolperst über einige Trainingsutensilien und Vorräte.", "intro": "You've come across some\ntraining tools and supplies.",
"title": "Traningssitzung", "title": "Training Session",
"description": "Diese Vorräte sehen so aus, als könnten sie verwendet werden, um ein Mitglied deines Teams zu trainieren! Es gibt ein paar Möglichkeiten, wie du dein Pokémon trainieren könntest, indem du gegen es mit dem Rest deines Teams kämpfst.", "description": "These supplies look like they could be used to train a member of your party! There are a few ways you could train your Pokémon, by battling against it with the rest of your team.",
"query": "Wie möchtest du trainieren?", "query": "How should you train?",
"invalid_selection": "Pokémon muss genügend KP haben.", "invalid_selection": "Pokémon must be healthy enough.",
"option": { "option": {
"1": { "1": {
"label": "Leichtes Training", "label": "Light Training",
"tooltip": "(-) Leichter Kampf\n(+) Verbessere 2 zufällige IS-Werte des Pokémon", "tooltip": "(-) Light Battle\n(+) Improve 2 Random IVs of Pokémon",
"finished": "{{selectedPokemon}} kommt zurück, fühlt sich erschöpft aber zufrieden!$Seine {{stat1}} und {{stat2}} IS-Werte wurden verbessert!" "finished": "{{selectedPokemon}} returns, feeling\nworn out but accomplished!$Its {{stat1}} and {{stat2}} IVs were improved!"
}, },
"2": { "2": {
"label": "Moderates Training", "label": "Moderate Training",
"tooltip": "(-) Moderater Kampf\n(+) Ändere das Wesen des Pokémon", "tooltip": "(-) Moderate Battle\n(+) Change Pokémon's Nature",
"select_prompt": "Wähle ein neues Wesen aus, um dein Pokémon zu trainieren.", "select_prompt": "Select a new nature\nto train your Pokémon in.",
"finished": "{{selectedPokemon}} kehrt zurück, fühlt sich erschöpft aber zufrieden!$Es hat nun ein neues Wesen: {{nature}}!" "finished": "{{selectedPokemon}} returns, feeling\nworn out but accomplished!$Its nature was changed to {{nature}}!"
}, },
"3": { "3": {
"label": "Schweres Training", "label": "Heavy Training",
"tooltip": "(-) Harter Kampf\n(+) Ändere die Fähigkeit des Pokémon", "tooltip": "(-) Harsh Battle\n(+) Change Pokémon's Ability",
"select_prompt": "Wähle eine neue Fähigkeit aus, um dein Pokémon zu trainieren.", "select_prompt": "Select a new ability\nto train your Pokémon in.",
"finished": "{{selectedPokemon}} kehrt zurück, fühlt sich erschöpft aber zufrieden!$Seine Fähigkeit wurde zu {{ability}} geändert!" "finished": "{{selectedPokemon}} returns, feeling\nworn out but accomplished!$Its ability was changed to {{ability}}!"
}, },
"4": { "4": {
"label": "Weggehen", "label": "Leave",
"tooltip": "(-) Keine Belohnung", "tooltip": "(-) No Rewards",
"selected": "Du hast keine Zeit für Training und gehst weiter." "selected": "You've no time for training.\nTime to move on."
}, },
"selected": "{{selectedPokemon}} bewegt sich über die Lichtung, um dir gegenüberzutreten..." "selected": "{{selectedPokemon}} moves across\nthe clearing to face you..."
}, },
"outro": "Das war eine erfolgreiche Trainingssitzung!" "outro": "That was a successful training session!"
} }

View File

@ -1,19 +1,19 @@
{ {
"intro":"Ein riesieger Haufen Müll. Wo kommt der auf einmal her?", "intro": "It's a massive pile of garbage!\nWhere did this come from?",
"title": "Vom Müllhaufen zum Schatzhaufen", "title": "Trash to Treasure",
"description": "Der Müllberg ragt über dir auf und du kannst einige wertvolle Gegenstände im Müll entdecken. Bist du sicher, dass du dich in den Dreck wälzen willst, um sie zu bekommen?", "description": "The garbage heap looms over you, and you can spot some items of value buried amidst the refuse. Are you sure you want to get covered in filth to get them, though?",
"query": "Was willst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Nach Wertsachen suchen", "label": "Dig for Valuables",
"tooltip": "(-) Keine Heilitems in Läden\n(+) Erhalte tolle Items", "tooltip": "(-) Lose Healing Items in Shops\n(+) Gain Amazing Items",
"selected": "Du arbeitest dich durch den Müllhaufen und wirst von Dreck überzogen.$Kein respektabler Ladenbesitzer wird dir in deinem schmutzigen Zustand etwas verkaufen!$Du musst ohne Heilitems auskommen.$Aber du hast einige unglaubliche Items im Müll gefunden!" "selected": "You wade through the garbage pile, becoming mired in filth.$There's no way any respectable shopkeepers\nwill sell you anything in your grimy state!$You'll just have to make do without shop healing items.$However, you found some incredible items in the garbage!"
}, },
"2": { "2": {
"label": "Genauer untersuchen", "label": "Investigate Further",
"tooltip": "(?) Finde die Quelle des Mülls", "tooltip": "(?) Find the Source of the Garbage",
"selected": "Du wanderst um den Müllhaufen herum und suchst nach Hinweisen, wie dieser hier gelandet sein könnte...", "selected": "You wander around the heap, searching for any indication as to how this might have appeared here...",
"selected_2": "Der Müll bewegt sich! Es war nicht nur Müll, es war ein Pokémon!" "selected_2": "Suddenly, the garbage shifts! It wasn't just garbage, it was a Pokémon!"
} }
} }
} }

View File

@ -1,26 +1,26 @@
{ {
"intro": "Das ist kein gewöhnliches Pokémon!", "intro": "That isn't just an ordinary Pokémon!",
"title": "Ungewöhnliche Züchtung", "title": "Uncommon Breed",
"description": "Das {{enemyPokemon}} sieht im Vergleich zu anderen seiner Art besonders aus. @[TOOLTIP_TITLE]{Vielleicht kennt es einen besondere Attacke?} Du könntest es einfach bekämpfen und fangen, aber es gibt vielleicht auch eine Möglichkeit, es zu befreunden.", "description": "That {{enemyPokemon}} looks special compared to others of its kind. @[TOOLTIP_TITLE]{Perhaps it knows a special move?} You could battle and catch it outright, but there might also be a way to befriend it.",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Kampf beginnen", "label": "Battle the Pokémon",
"tooltip": "(-) Schwieriger Kampf\n(+) Starkes fangbares Pokémon", "tooltip": "(-) Tricky Battle\n(+) Strong Catchable Foe",
"selected": "Du stellst dich dem {{enemyPokemon}} ohne Furcht.", "selected": "You approach the\n{{enemyPokemon}} without fear.",
"stat_boost": "Die gesteigerten Fähigkeiten des {{enemyPokemon}} erhöhen seine Werte!" "stat_boost": "The {{enemyPokemon}}'s heightened abilities boost its stats!"
}, },
"2": { "2": {
"label": "Ihm Futter geben", "label": "Give It Food",
"disabled_tooltip": "Du brauchst 4 Beeren, um diese Option zu wählen", "disabled_tooltip": "You need 4 berry items to choose this",
"tooltip": "(-) Gib 4 Beeren\n(+) Das {{enemyPokemon}} mag dich", "tooltip": "(-) Give 4 Berries\n(+) The {{enemyPokemon}} Likes You",
"selected": "Du wirfst die Beeren zu {{enemyPokemon}}!$Es frisst sie glücklich!$Das {{enemyPokemon}} möchte sich dir anschließen!" "selected": "You toss the berries at the {{enemyPokemon}}!$It eats them happily!$The {{enemyPokemon}} wants to join your party!"
}, },
"3": { "3": {
"label": "Es befreunden", "label": "Befriend It",
"disabled_tooltip": "Dein Pokémon muss bestimmte Attacken kennen, um diese Option zu wählen", "disabled_tooltip": "Your Pokémon need to know certain moves to choose this",
"tooltip": "(+) {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein\n(+) Das {{enemyPokemon}} mag dich", "tooltip": "(+) {{option3PrimaryName}} uses {{option3PrimaryMove}}\n(+) The {{enemyPokemon}} Likes You",
"selected": "Dein {{option3PrimaryName}} setzt {{option3PrimaryMove}} ein, um das {{enemyPokemon}} zu bezaubern!$Das {{enemyPokemon}} möchte sich dir anschließen!" "selected": "Your {{option3PrimaryName}} uses {{option3PrimaryMove}} to charm the {{enemyPokemon}}!$The {{enemyPokemon}} wants to join your party!"
} }
} }
} }

View File

@ -1,22 +1,22 @@
{ {
"intro": "Eine schemenhafte Frau versperrt dir den Weg. Irgendetwas an ihr ist beunruhigend...", "intro": "A shadowy woman blocks your path.\nSomething about her is unsettling...",
"speaker": "Frau", "speaker": "Woman",
"intro_dialogue": "Ich habe deine Zukünfte gesehen, deine Vergangenheiten...$Siehst du sie auch?", "intro_dialogue": "I have seen your futures, your pasts...$Child, do you see them too?",
"title": "???", "title": "???",
"description": "Die Worte der Frau hallen in deinem Kopf wider. Es war nicht nur eine einzelne Stimme, sondern eine unendliche Vielzahl aus allen Zeiten und Realitäten. Dir wird schwindelig, die Frage bleibt in deinem Kopf hängen...\n@[TOOLTIP_TITLE]{\"Ich habe deine Zukünfte gesehen, deine Vergangenheiten...Siehst du sie auch?\"}", "description": "The woman's words echo in your head. It wasn't just a singular voice, but a vast multitude, from all timelines and realities. You begin to feel dizzy, the question lingering on your mind...\n\n@[TOOLTIP_TITLE]{\"I have seen your futures, your pasts... Child, do you see them too?\"}",
"query": "Was wirst du tun?", "query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "\"Ich sehe sie\"", "label": "\"I See Them\"",
"tooltip": "@[SUMMARY_GREEN]{(?) Beeinflusst deine Pokémon}", "tooltip": "@[SUMMARY_GREEN]{(?) Affects your Pokémon}",
"selected": "Ihre Hand berührt dich und alles wird schwarz.$Dann...@d{64} Du siehst alles. Jede Zeitlinie, all deine verschiedenen Ichs, Vergangenheit und Zukunft.$Alles, was dich ausmacht, alles, was du sein wirst...@d{64}", "selected": "Her hand reaches out to touch you,\nand everything goes black.$Then...@d{64} You see everything.\nEvery timeline, all your different selves,\n past and future.$Everything that has made you,\neverything you will become...@d{64}",
"cutscene": "Du siehst deine Pokémon,@d{32} wie sie sich aus jeder Realität vereinen, um etwas Neues zu werden...@d{64}", "cutscene": "You see your Pokémon,@d{32} converging from\nevery reality to become something new...@d{64}",
"dream_complete": "Als du erwachst, ist die Frau - war es eine Frau oder ein Geist? - verschwunden...$.@d{32}.@d{32}.@d{32}$Dein Pokémon-Team hat sich verändert... Oder ist es das gleiche Team, das du schon immer hattest?" "dream_complete": "When you awaken, the woman - was it a woman or a ghost? - is gone...$.@d{32}.@d{32}.@d{32}$Your Pokémon team has changed...\nOr is it the same team you've always had?"
}, },
"2": { "2": {
"label": "Schnell wegrennen", "label": "Quickly Leave",
"tooltip": "(-) Beeinflusst deine Pokémon", "tooltip": "(-) Affects your Pokémon",
"selected": "Du reißt deinen Geist aus einem betäubenden Griff und fliehst hastig.$Als du schließlich anhältst, um dich zu sammeln, überprüfst du die Pokémon in deinem Team.$Aus irgendeinem Grund hat sich das Level aller Pokémon verringert!" "selected": "You tear your mind from a numbing grip, and hastily depart.$When you finally stop to collect yourself, you check the Pokémon in your team.$For some reason, all of their levels have decreased!"
} }
} }
} }

View File

@ -15,7 +15,7 @@
"UNPAUSE_EVOLUTION": "Entwicklung fortsetzen", "UNPAUSE_EVOLUTION": "Entwicklung fortsetzen",
"REVIVE": "Wiederbeleben", "REVIVE": "Wiederbeleben",
"RENAME": "Umbenennen", "RENAME": "Umbenennen",
"SELECT": "Auswählen", "SELECT": "Select",
"choosePokemon": "Wähle ein Pokémon.", "choosePokemon": "Wähle ein Pokémon.",
"doWhatWithThisPokemon": "Was soll mit diesem Pokémon geschehen?", "doWhatWithThisPokemon": "Was soll mit diesem Pokémon geschehen?",
"noEnergy": "{{pokemonName}} ist nicht fit genug, um zu kämpfen!", "noEnergy": "{{pokemonName}} ist nicht fit genug, um zu kämpfen!",

View File

@ -163,15 +163,15 @@
"piers_marnie_double": "Nezz & Mary", "piers_marnie_double": "Nezz & Mary",
"marnie_piers_double": "Mary & Nezz", "marnie_piers_double": "Mary & Nezz",
"buck": "Avenaro", "buck": "Buck",
"cheryl": "Raissa", "cheryl": "Cheryl",
"marley": "Charlie", "marley": "Marley",
"mira": "Orisa", "mira": "Mira",
"riley": "Urs", "riley": "Riley",
"victor": "Viktor", "victor": "Victor",
"victoria": "Viktoria", "victoria": "Victoria",
"vivi": "Sieglinde", "vivi": "Vivi",
"vicky": "Vicky", "vicky": "Vicky",
"vito": "Paul", "vito": "Vito",
"bug_type_superfan": "Käfersammler-Superfan" "bug_type_superfan": "Bug-Type Superfan"
} }

View File

@ -35,5 +35,5 @@
"skull_admin": "Team Skull Vorstand", "skull_admin": "Team Skull Vorstand",
"macro_admin": "Vizepräsidentin von Macro Cosmos", "macro_admin": "Vizepräsidentin von Macro Cosmos",
"the_winstrates": "Sihgers" "the_winstrates": "The Winstrates'"
} }

View File

@ -51,7 +51,7 @@
"renamePokemon": "Renombrar Pokémon.", "renamePokemon": "Renombrar Pokémon.",
"rename": "Renombrar", "rename": "Renombrar",
"nickname": "Apodo", "nickname": "Apodo",
"errorServerDown": "¡Ups! Ha habido un problema al contactar con el servidor.\n\nPuedes mantener esta ventana abierta,\nel juego se reconectará automáticamente.", "errorServerDown": "¡Ups! Ha habido un problema al contactar con el servidor.\n\nPuedes mantener esta ventana abierta, el juego se reconectará automáticamente.",
"noSaves": "No tienes ninguna partida guardada registrada!", "noSaves": "No tienes ninguna partida guardada registrada!",
"tooManySaves": "¡Tienes demasiadas partidas guardadas registradas!" "tooManySaves": "¡Tienes demasiadas partidas guardadas registradas!"
} }

View File

@ -2,7 +2,7 @@
"intro": "¡Hay un gran arbusto de bayas cerca de ese Pokémon!", "intro": "¡Hay un gran arbusto de bayas cerca de ese Pokémon!",
"title": "Bayas Abundantes", "title": "Bayas Abundantes",
"description": "Parece que hay un Pokémon fuerte protegiendo un arbusto de bayas. Luchar es el enfoque directo, pero parece fuerte. ¿Quizás un Pokémon rápido podría agarrar algunas bayas sin ser descubierto?", "description": "Parece que hay un Pokémon fuerte protegiendo un arbusto de bayas. Luchar es el enfoque directo, pero parece fuerte. ¿Quizás un Pokémon rápido podría agarrar algunas bayas sin ser descubierto?",
"query": "¿Qué harás?", "query": "¿Que harás?",
"berries": "¡Bayas!", "berries": "¡Bayas!",
"option": { "option": {
"1": { "1": {

View File

@ -1,33 +1,34 @@
{ {
"intro": "¿Es un...@d{64} payaso?", "intro": "It's...@d{64} a clown?",
"speaker": "Payaso", "speaker": "Clown",
"intro_dialogue": "¡Bufón torpe, prepárate para una batalla brillante! ¡Serás derrotado por este trovador peleador!", "intro_dialogue": "Bumbling buffoon, brace for a brilliant battle!\nYou'll be beaten by this brawling busker!",
"description": "Algo no esta bien en este encuentro. El payaso parece ansioso por provocarte a una batalla, ¿pero con qué fin? El {{blacephalonName}} es especialmente extraño, como si tuviera @[TOOLTIP_TITLE]{tipos y habilidades raros.}", "title": "Clowning Around",
"query": "¿Qué harás?", "description": "Something is off about this encounter. The clown seems eager to goad you into a battle, but to what end?\n\nThe {{blacephalonName}} is especially strange, like it has @[TOOLTIP_TITLE]{weird types and ability.}",
"query": "What will you do?",
"option": { "option": {
"1": { "1": {
"label": "Enfrentarse al Payaso", "label": "Battle the Clown",
"tooltip": "(-) Batalla extraña\n(?) Afecta las habilidades de los Pokémon", "tooltip": "(-) Strange Battle\n(?) Affects Pokémon Abilities",
"selected": "¡Tus patéticos Pokémon están listos para una actuación patética!", "selected": "Your pitiful Pokémon are poised for a pathetic performance!",
"apply_ability_dialogue": "¡Una exhibición sensacional! ¡Tu astucia se adapta a una habilidad sensacional como recompensa!", "apply_ability_dialogue": "A sensational showcase!\nYour savvy suits a sensational skill as spoils!",
"apply_ability_message": "¡El payaso está ofreciendo intercambiar permanentemente la habilidad de uno de tus Pokémon por {{ability}}!", "apply_ability_message": "The clown is offering to permanently Skill Swap one of your Pokémon's ability to {{ability}}!",
"ability_prompt": "¿Te gustaría enseñar permanentemente a un Pokémon la habilidad {{ability}}?", "ability_prompt": "Would you like to permanently teach a Pokémon the {{ability}} ability?",
"ability_gained": "¡@s{level_up_fanfare}{{chosenPokemon}} obtenió la habilidad {{ability}}!" "ability_gained": "@s{level_up_fanfare}{{chosenPokemon}} gained the {{ability}} ability!"
}, },
"2": { "2": {
"label": "No involucrarse", "label": "Remain Unprovoked",
"tooltip": "(-) Molesta al payaso\n(?) Afecta los objetos de los Pokémon", "tooltip": "(-) Upsets the Clown\n(?) Affects Pokémon Items",
"selected": "¡Cobarde desdichado, niegas un exquisito duelo?\n ¡Siente mi furia!", "selected": "Dismal dodger, you deny a delightful duel?\nFeel my fury!",
"selected_2": "¡El {{blacephalonName}} del payaso usa Truco! ¡Todos los objetos de tu {{switchPokemon}} fueron intercambiados al azar!", "selected_2": "The clown's {{blacephalonName}} uses Trick!\nAll of your {{switchPokemon}}'s items were randomly swapped!",
"selected_3": "¡Tonto desconcertado, cae en mi engaño impecable!" "selected_3": "Flustered fool, fall for my flawless deception!"
}, },
"3": { "3": {
"label": "Devolver los insultos", "label": "Return the Insults",
"tooltip": "(-) Molesta al payaso\n(?) Afecta los objetos de los Pokémon", "tooltip": "(-) Upsets the Clown\n(?) Affects Pokémon Types",
"selected": "¡Cobarde desdichado, niegas un exquisito duelo?\n ¡Siente mi furia!", "selected": "Dismal dodger, you deny a delightful duel?\nFeel my fury!",
"selected_2": "¡El {{blacephalonName}} del payaso usa un movimiento extraño! ¡Todos los tipos de tu equipo fueron intercambiados al azar!", "selected_2": "The clown's {{blacephalonName}} uses a strange move!\nAll of your team's types were randomly swapped!",
"selected_3": "¡Tonto desconcertado, cae en mi engaño impecable!" "selected_3": "Flustered fool, fall for my flawless deception!"
} }
}, },
"outro": "El payaso y sus secuaces\ndesaparecen en una nube de humo." "outro": "The clown and his cohorts\ndisappear in a puff of smoke."
} }

View File

@ -1,7 +1,7 @@
{ {
"intro": "Un jeune garçon aux airs très bougeois vous arrête.", "intro": "Un jeune garçon aux airs très bougeois vous arrête.",
"speaker": "Richard", "speaker": "Richard",
"intro_dialogue": "Bonchour-haann !$Je ne puis carrément pas ignorer que votre\n{{strongestPokemon}} ma lair fa-bu-leux !$Jai toujours désiré posséder un tel Pokémon !$Je peux vous payer grassement,\nainsi que vous donner petite babiole !", "intro_dialogue": "Bonchour-haann !$Je ne puis carrément pas ignorer que votre\n{{strongestPokemon}} ma lair fa-bu-leux !$Jai toujours désiré posséder un tel compagnon !$Je peux vous payer grassement,\nainsi que vous donner petite babiole !",
"title": "Laffaire du siècle", "title": "Laffaire du siècle",
"description": "Un fils à papa vous offre un @[TOOLTIP_TITLE]{Charme Chroma} et {{price, money}} en échange de votre {{strongestPokemon}} !\n\nÇa semble être une bonne affaire, mais pourrez vous supporter de priver votre équipe dun tel atout ?", "description": "Un fils à papa vous offre un @[TOOLTIP_TITLE]{Charme Chroma} et {{price, money}} en échange de votre {{strongestPokemon}} !\n\nÇa semble être une bonne affaire, mais pourrez vous supporter de priver votre équipe dun tel atout ?",
"query": "Que voulez-vous faire ?", "query": "Que voulez-vous faire ?",

View File

@ -1,23 +1,23 @@
{ {
"intro": "Un homme suspect vêtu dune blouse en lambeaux\nse tient au milieu du chemin…", "intro": "Un homme suspect vêtu dun manteau en lambeaux\nse tient au milieu du chemin…",
"speaker": "Savant fou", "speaker": "Type chelou",
"intro_dialogue": "Hé, toi !$Je travaille sur un dispositif qui permet déveiller\nla vraie puissance dun Pokémon !$Il restructure complètement les atomes du Pokémon\npour en faire une version bien plus puissante.$Héhé…@d{64} Je nai besoin que de sac-@d{32}\nEuuh, sujets tests, pour prouver son fonctionnement.", "intro_dialogue": "Hé, toi!$Je travaille sur un dispositif qui permet\ndéveiller la puissance dun Pokémon !$Il restructure complètement les atomes du Pokémon\nen une forme bien plus puissante.$Héhé…@d{64} Je nai besoin que de sac-@d{32}\nEuuh, sujets tests, pour prouver son fonctionnement.",
"title": "LExpérience interdite", "title": "LExpérience interdite",
"description": "Ce scientifique à lair un peu taré tient dans ses mains quelques Poké Balls.\n« Tinquites pas, je gère ! Voilà quelques Poké Balls plutôt efficaces en caution, tout ce dont jai besoin, cest un de tes Pokémon ! Héhé… »", "description": "Le type chelou tient dans ses mains quelques Poké Balls.\n« Tinquites pas, je gère ! Voilà quelques Poké Balls plutôt efficaces en caution, tout ce dont jai besoin, cest un de tes Pokémon ! Héhé… »",
"query": "Que voulez-vous faire ?", "query": "Que voulez-vous faire ?",
"option": { "option": {
"1": { "1": {
"label": "Accepter", "label": "Accepter",
"tooltip": "(+) 5 Rogue Balls\n(?) Améliore un Pokémon au hasard", "tooltip": "(+) 5 Rogue Balls\n(?) Améliorer un Pokémon au hasard",
"selected_dialogue": "Ah bien, ton {{pokeName}} fera parfaitement laffaire !$Je précise que si quelque chose tourne mal,\nje ne suis pas responsable !@d{32} Héhé…", "selected_dialogue": "Ah bien, ce {{pokeName}} fera parfaitement laffaire !$Je précise que si quelque chose tourne mal,\nje ne suis pas responsable !@d{32} Héhé…",
"selected_message": "Lhomme vous remet 5 Rogue Balls.$Votre {{pokeName}} saute dans létrange dispositif…$Le dispositif émet des lumières\nclignotantes et des bruits douteux !$…@d{96} Quelque chose sort du dispositif avec fureur !" "selected_message": "Lhomme vous remet 5 Rogue Balls.$Votre {{pokeName}} saute dans létrange dispositif…$Le dispositif émet des lumières\nclignotantes et des bruits douteux !$…@d{96} Quelque chose sort du dispositif avec fureur !"
}, },
"2": { "2": {
"label": "Refuser", "label": "Refuser",
"tooltip": "(-) Aucune récompense", "tooltip": "(-) Aucune récompense",
"selected": "On a même plus le droit de rendre service maintenant ?\nPfff !" "selected": "On a même plus le droit daider maintenant ?\nPfff !"
} }
}, },
"outro": "Après cette épuisante rencontre,\nvous reprenez vos esprits et repartez." "outro": "Après cette épuisante rencontre,\nvous reprenez vos esprits et repartez."

View File

@ -1,13 +1,13 @@
{ {
"intro": "Un vent incandescent de fumées et de cendres\nvous fonce dessus !", "intro": "Un vent incandescent de fumées et de cendres arrive sur vous !",
"title": "Fait chaud là, non ?", "title": "Fiery Fallout",
"description": "La visiblité est quasi nulle à cause des cendres et les braises tourbillonnantes. Il doit forcément y avoir une quelconque source responsable de ces conditions. Mais que pourrait causer un phénomène dune telle ampleur ?", "description": "La visiblité est quasi nulle à cause des cendres et les braises tourbillonnantes. Il doit forcément y avoir une quelconque source responsable de ces conditions. Mais que pourrait causer un phénomène dune telle amplitude ?",
"query": "Que voulez-vous faire ?", "query": "Que voulez-vous faire ?",
"option": { "option": {
"1": { "1": {
"label": "Chercher la source", "label": "Chercher la source",
"tooltip": "(?) Trouver la source\n(-) Combat difficile", "tooltip": "(?) Trouver la source\n(-) Combat difficile",
"selected": "Vous pénétrez tant bien que mal dans la tempête et y trouvez deux {{volcaronaName}} en pleine parade nuptiale !$Ils napprécient guère davoir été interrompus\net vous attaquent !" "selected": "Vous pénétrez tant bien que mal dans la tempête et trouvez deux {{volcaronaName}} en pleine parade nuptiale !$Ils napprécient guère davoir été interrompus et vous attaquent !"
}, },
"2": { "2": {
"label": "Saccroupir", "label": "Saccroupir",
@ -19,7 +19,7 @@
"label": "Un type Feu à laide", "label": "Un type Feu à laide",
"tooltip": "(+) Met fin à la météo\n(+) Gain dun Charbon", "tooltip": "(+) Met fin à la météo\n(+) Gain dun Charbon",
"disabled_tooltip": "Vous avez besoin dau moins 2 Pokémon Feu pour choisir cette option", "disabled_tooltip": "Vous avez besoin dau moins 2 Pokémon Feu pour choisir cette option",
"selected": "Vos {{option3PrimaryName}} et {{option3SecondaryName}} vous guident et tombez sur deux {{volcaronaName}} en pleine parade nuptiale !$Heureusement, vos Pokémon parviennent à les calmer, et passent leur chemin sans causer de problèmes." "selected": "Vos {{option3PrimaryName}} et {{option3SecondaryName}} vous guident et découvez deux {{volcaronaName}} en pleine parade nuptiale !$Heureusement, vos Pokémon parviennent à les calmer, et passent leur chemin sans causer de problèmes."
} }
}, },
"found_charcoal": "Alors que la météo se calme, votre {{leadPokemon}} repère quelque chose au sol.$@s{item_fanfare}{{leadPokemon}} obtient\nun Charobn !" "found_charcoal": "Alors que la météo se calme, votre {{leadPokemon}} repère quelque chose au sol.$@s{item_fanfare}{{leadPokemon}} obtient\nun Charobn !"

View File

@ -1,27 +1,27 @@
{ {
"intro": "Vous errez sans but en pleine mer\net narrivez à rien.", "intro": "Vous errez sans but en pleine mer et narrivez nulle part.",
"title": "Un cap pas clair", "title": "Un cap pas clair",
"description": "La mer nest pas très clémente dans cette zone et vous vous sentez faiblir à petit feu.\nÇa commence à sentir le roussi.\nEst-il au moins possible de se sortir de cette situation ?", "description": "La mer nest pas très clémente dans cette zone et vous commencez à faiblir.\nÇa sent le roussi. Est-il possible de se sortir de cette situation ?",
"query": "Que voulez-vous faire ?", "query": "Que voulez-vous faire ?",
"option": { "option": {
"1": { "1": {
"label": "{{option1PrimaryName}} peut aider", "label": "{{option1PrimaryName}} pourrait aider",
"label_disabled": "{{option1RequiredMove}} impossible", "label_disabled": "{{option1RequiredMove}} impossible",
"tooltip": "(+) {{option1PrimaryName}} vous sauve\n(+) {{option1PrimaryName}} gagne un peu dExp", "tooltip": "(+) {{option1PrimaryName}} vous sauve\n(+) {{option1PrimaryName}} gagne un peu dExp",
"tooltip_disabled": "Vous navez aucun Pokémon avec {{option1RequiredMove}}", "tooltip_disabled": "Vous navez aucun Pokémon avec {{option1RequiredMove}}",
"selected": "{{option1PrimaryName}} nage en tête et vous guide.${{option1PrimaryName}} semble ressorti plus fort de cette épreuve difficile !" "selected": "{{option1PrimaryName}} nage en tête et vous guide.${{option1PrimaryName}} semble également ressorti plus fort de cette épreuve difficile !"
}, },
"2": { "2": {
"label": "{{option2PrimaryName}} peut aider", "label": "{{option2PrimaryName}} pourrait aider",
"label_disabled": "{{option2RequiredMove}} impossible", "label_disabled": "{{option2RequiredMove}} impossible",
"tooltip": "(+) {{option2PrimaryName}} vous sauve\n(+) {{option2PrimaryName}} gagne un peu dExp", "tooltip": "(+) {{option2PrimaryName}} vous sauve\n(+) {{option2PrimaryName}} gagne un peu dExp",
"tooltip_disabled": "Vous navez aucun Pokémon avec {{option2RequiredMove}}", "tooltip_disabled": "Vous navez aucun Pokémon avec {{option2RequiredMove}}",
"selected": "{{option2PrimaryName}} vole au dessus de votre embarcation et vous guide.${{option2PrimaryName}} semble ressorti plus fort de cette épreuve difficile !" "selected": "{{option2PrimaryName}} vole au dessus de votre embarcation et vous guide.${{option2PrimaryName}} semble également ressorti plus fort de cette épreuve difficile !"
}, },
"3": { "3": {
"label": "Naviguer au jugé", "label": "Naviguer au jugé",
"tooltip": "(-) Votre équipe perd {{damagePercentage}}% de ses PV totaux", "tooltip": "(-) Votre équipe perd {{damagePercentage}}% de ses PV totaux",
"selected": "Vous vous laissez porter sans but par les vagues, quand soudainement vous remarquez un lieu famillier.$Vous et vos Pokémon êtes compètement rincés\nde fatigue par cette épreuve." "selected": "Vous vous laissez porter, sans but, quand soudainement vous remarquez un lieu famillier.$Vous et vos Pokémon êtes compètement rincés de fatigue par cette épreuve."
} }
}, },
"outro": "Vous retrouvez un cap clair." "outro": "Vous retrouvez un cap clair."

View File

@ -7,7 +7,7 @@
"1": { "1": {
"label": "Entrer", "label": "Entrer",
"tooltip": "(-) Payer {{option1Money, money}}\n@[SUMMARY_GREEN]{(?) Parc Safari}", "tooltip": "(-) Payer {{option1Money, money}}\n@[SUMMARY_GREEN]{(?) Parc Safari}",
"selected": "Vous tentez votre chance !" "selected": "Tentez votre chance !"
}, },
"2": { "2": {
"label": "Partir", "label": "Partir",
@ -29,18 +29,18 @@
"3": { "3": {
"label": "Lancer de la boue", "label": "Lancer de la boue",
"tooltip": "(+) Diminue le risque de fuite\n(-) Diminue le taux de capture", "tooltip": "(+) Diminue le risque de fuite\n(-) Diminue le taux de capture",
"selected": "Vous lancez un peu de boue !" "selected": "Vous lancez un pe ude boue !"
}, },
"4": { "4": {
"label": "Fuite", "label": "Fuite",
"tooltip": "(?) Fuir ce Pokémon" "tooltip": "(?) Fuir ce Pokémon"
}, },
"watching": "{{pokemonName}} vous observe\nattentivement.", "watching": "{{pokemonName}} vous observe attentivement.",
"eating": "{{pokemonName}} est en train\nde manger.", "eating": "{{pokemonName}} est en train de manger.",
"busy_eating": "{{pokemonName}} se concentre\nsur sa nourriture.", "busy_eating": "{{pokemonName}} se concentre sur sa nourriture.",
"angry": "{{pokemonName}} se fâche !", "angry": "{{pokemonName}} se fâche !",
"beside_itself_angry": "{{pokemonName}} laisse\nexploser sa colère !", "beside_itself_angry": "{{pokemonName}} laisse exploser sa colère !",
"remaining_count": "Il reste {{remainingCount}} Pokémon !" "remaining_count": "Il rest {{remainingCount}} Pokémon !"
}, },
"outro": "Cette excursion était fun !" "outro": "Cette excursion était fun !"
} }

View File

@ -1,21 +1,21 @@
{ {
"intro": "Cest un {{shuckleName}} absolument énorme et\nce qui semble être un énorme bol de… jus ?", "intro": "Cest un {{shuckleName}} absolument énorme et ce qui semble être une grosse réserve de… jus ?",
"title": "Un breuvage qui arrache", "title": "Un breuvage qui arrache",
"description": "Ce {{shuckleName}} qui bloque la route semble incroyablement puissant.\nLe jus qui laccompagne semble émaner une étrange forme de puissance.\n\nIl tend une patte dans votre direction, lair de vouloir quelque chose…", "description": "Le {{shuckleName}} qui bloque la route semble incroyablement puissant. Le jus qui laccompagne semble lui émaner une forme étrange de puissance.\n\nLe {{shuckleName}} tend un patte dans votre direction. Il semble vouloir quelque chose…",
"query": "Que voulez-vous faire ?", "query": "Que voulez-vous faire ?",
"option": { "option": {
"1": { "1": {
"label": "Approcher {{shuckleName}}", "label": "Approcher le {{shuckleName}}",
"tooltip": "(?) Quelque chose de terrible ou dincroyable peut se produire", "tooltip": "(?) Quelque chose de terrible ou dincroyable peut se produire",
"selected": "Vous perdez subitement connaissance.", "selected": "Vous perdez connaissance.",
"selected_2": "@f{150}À votre réveil, le {{shuckleName}} est parti et\nle bol de jus est complètement vide.${{highBstPokemon1}} et {{highBstPokemon2}}\nsont vicitmes dune forte léthargie !$Leurs stats de base sont baissées de {{reductionValue}} !$Mais par contre, vos autres Pokémon sont envahis\ndune vigueur encore jamais vue !$Leurs stats de base sont augumentées de {{increaseValue}} !" "selected_2": "@f{150}À votre réveil, le {{shuckleName}} est parti\net la réserve de jus complètement vide.${{highBstPokemon1}} et {{highBstPokemon2}}\nsont vicitmes dune forte léthargie !$Leurs stats de base sont baissées de {{reductionValue}} !$Mais par contre, vos autres Pokémon sont envahis dune vigueur jamais vue !$Leurs stats de base sont augumentées de {{increaseValue}} !"
}, },
"2": { "2": {
"label": "Affronter {{shuckleName}}", "label": "Affronter le {{shuckleName}}",
"tooltip": "(-) Combat difficile\n(+) Récompense spéciale", "tooltip": "(-) Combat difficile\n(+) Récompense spéciale",
"selected": "Le {{shuckleName}} sénerve, boit un peu de jus et attaque !", "selected": "Le {{shuckleName}} sénerve, boit un peu de jus et attaque !",
"stat_boost": "Le jus de {{shuckleName}} augumente ses stats !" "stat_boost": "Le jus de {{shuckleName}} augumente ses stats !"
} }
}, },
"outro": "Quelle étrange tournure des évènements." "outro": "Quelles étrange tournure dévènements."
} }

View File

@ -1,7 +1,7 @@
{ {
"intro": "Cest une famille dans la cour de leur maison !", "intro": "Cest une famille dans la cour de leur maison !",
"speaker": "La Famille Stratège", "speaker": "La Famille Stratège",
"intro_dialogue": "Nous sommes les Stratège !$Ça te dirait daffronter la famille dans une série\nde combats ?", "intro_dialogue": "Nous sommes les Stratège !$Ça te dirait daffronter la famille dans une série de combats ?",
"title": "Le défi de la Famille Stratège", "title": "Le défi de la Famille Stratège",
"description": "Les Stratège sont une famille de 5 Dresseurs, et ne demandent quà se battre ! Si vous parvenez à tous les battre à la suite, ils vous remettront une grosse récompense. Vous sentez-vous dencaisser ce défi ?", "description": "Les Stratège sont une famille de 5 Dresseurs, et ne demandent quà se battre ! Si vous parvenez à tous les battre à la suite, ils vous remettront une grosse récompense. Vous sentez-vous dencaisser ce défi ?",
"query": "Que voulez-vous faire ?", "query": "Que voulez-vous faire ?",
@ -17,6 +17,6 @@
"selected": "Cest bien dommage. Hé, ton équipe a quand même lair bien au bout, ça te dirait de rester te reposer un peu ?" "selected": "Cest bien dommage. Hé, ton équipe a quand même lair bien au bout, ça te dirait de rester te reposer un peu ?"
} }
}, },
"victory": "Félicitations pour avoir relevé notre défi !$Tout dabord, nous aimerions toffir ce Coupon.", "victory": "Félicitations pour avoir relevé notre défi !$Tout dabourd, nous aimerions toffir ce Coupon.",
"victory_2": "Mais aussi, notre famille utilise ce Bracelet Macho\npour entrainer plus efficacement nos Pokémon.$Il ne te sera peut-être daucune utilité vu que tu nous as tous battus, mais on serait ravis que tu laccepte !" "victory_2": "Mais aussi, notre famille utilise ce Bracelet Macho\npour entrainer plus efficacement nos Pokémon.$Il ne te sera peut-être daucune utilité vu que tu nous as tous battus, mais on serait ravis que tu laccepte !"
} }

View File

@ -3,15 +3,15 @@
"speaker": "Femme mystérieuse", "speaker": "Femme mystérieuse",
"intro_dialogue": "Jai tout vu…\nTes futurs, tes passés…$Les perçois-tu aussi, mon enfant ?", "intro_dialogue": "Jai tout vu…\nTes futurs, tes passés…$Les perçois-tu aussi, mon enfant ?",
"title": "???", "title": "???",
"description": "Les paroles de cette mystérieuse femme raisonnent dans votre tête. Ce nest pas quune simple voix isolée, mais une infinité, dune infinité despace-temps et de réalités.\nVous commencez ressentir des vertiges à mesure que cette question sempare de votre esprit…\n\n@[TOOLTIP_TITLE]{« Jai tout vu… Tes futurs, tes passés… Les perçois-tu aussi, mon enfant ? »}", "description": "Les paroles de cette mystérieuse femme raisonnent dans votre tête. Ce nest pas quune simple voix isolée, mais une infinité, dune infinité despace-temps et de réalités. Vous commencez ressentir des vertiges à mesure que cette question sempare de votre esprit…\n\n@[TOOLTIP_TITLE]{« Jai tout vu… Tes futurs, tes passés… Les perçois-tu aussi, mon enfant ? »}",
"query": "Que voulez-vous faire ?", "query": "Que voulez-vous faire ?",
"option": { "option": {
"1": { "1": {
"label":  Je les vois. »", "label":  Je les vois »",
"tooltip": "@[SUMMARY_GREEN]{(?) Affecte vos Pokémon}", "tooltip": "@[SUMMARY_GREEN]{(?) Affecte vos Pokémon}",
"selected": "Sa main sapproche de vous et vous touche.\nTout devient subitement sombre.$Puis enfin…@d{64} La lumière.\nChaque espace-temps. Chacune de vos incarnations.$Tout ce qui a composé, compose\net composersa votre être…@d{64}", "selected": "Sa main sapproche de vous et vous touche.\nTout devient subitement sombre.$Puis enfin…@d{64} La lumière.\nChaque espace-temps. Chacune de vos incarnations.$Tout de qui a composé, compose\net composersa votre être…@d{64}",
"cutscene": "Vous percevez vos Pokémon,@d{32} convergeant de chaque\nréalité pour former quelque chose de nouveau…@d{64}", "cutscene": "Vous percevez vos Pokémon,@d{32} convergeant de chaque\nde chaque réalité pour former quelque chose de nouveau…@d{64}",
"dream_complete": "Vous vous réveillez, mais la femme a disparu…\nOu bien netait-elle quune hallucination ?$.@d{32}.@d{32}.@d{32}$Les Pokémon de votre équipe ont changé…$Mais alors, comment peuvent-ils quand même\ntoujours vous sembler si familiers ?" "dream_complete": "Vous vous réveillez, mais la femme a disparu…\nOu bien netait-elle quune hallucination ?$.@d{32}.@d{32}.@d{32}$Les Pokémon de votre équipe ont changé…$Mais alors, comment peuvent-ils quand même vous sembler si familiers ?"
}, },
"2": { "2": {
"label": "Partir en courant", "label": "Partir en courant",

View File

@ -1,7 +1,7 @@
{ {
"intro": "You're stopped by a rich looking boy.", "intro": "You're stopped by a rich looking boy.",
"speaker": "Rich Boy", "speaker": "Rich Boy",
"intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a Pokémon like that!$I'd pay you handsomely,\nand also give you this old bauble!", "intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a pet like that!$I'd pay you handsomely,\nand also give you this old bauble!",
"title": "An Offer You Can't Refuse", "title": "An Offer You Can't Refuse",
"description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?", "description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?",
"query": "What will you do?", "query": "What will you do?",
@ -23,4 +23,4 @@
"selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}." "selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}."
} }
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"intro": "You're stopped by a rich looking boy.", "intro": "You're stopped by a rich looking boy.",
"speaker": "Rich Boy", "speaker": "Rich Boy",
"intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a Pokémon like that!$I'd pay you handsomely,\nand also give you this old bauble!", "intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a pet like that!$I'd pay you handsomely,\nand also give you this old bauble!",
"title": "An Offer You Can't Refuse", "title": "An Offer You Can't Refuse",
"description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?", "description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?",
"query": "What will you do?", "query": "What will you do?",
@ -23,4 +23,4 @@
"selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}." "selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}."
} }
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"intro": "You're stopped by a rich looking boy.", "intro": "You're stopped by a rich looking boy.",
"speaker": "Rich Boy", "speaker": "Rich Boy",
"intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a Pokémon like that!$I'd pay you handsomely,\nand also give you this old bauble!", "intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a pet like that!$I'd pay you handsomely,\nand also give you this old bauble!",
"title": "An Offer You Can't Refuse", "title": "An Offer You Can't Refuse",
"description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?", "description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?",
"query": "What will you do?", "query": "What will you do?",
@ -23,4 +23,4 @@
"selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}." "selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}."
} }
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"intro": "You're stopped by a rich looking boy.", "intro": "You're stopped by a rich looking boy.",
"speaker": "Rich Boy", "speaker": "Rich Boy",
"intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a Pokémon like that!$I'd pay you handsomely,\nand also give you this old bauble!", "intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a pet like that!$I'd pay you handsomely,\nand also give you this old bauble!",
"title": "An Offer You Can't Refuse", "title": "An Offer You Can't Refuse",
"description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?", "description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?",
"query": "What will you do?", "query": "What will you do?",
@ -23,4 +23,4 @@
"selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}." "selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}."
} }
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"intro": "You're stopped by a rich looking boy.", "intro": "You're stopped by a rich looking boy.",
"speaker": "Rich Boy", "speaker": "Rich Boy",
"intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a Pokémon like that!$I'd pay you handsomely,\nand also give you this old bauble!", "intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a pet like that!$I'd pay you handsomely,\nand also give you this old bauble!",
"title": "An Offer You Can't Refuse", "title": "An Offer You Can't Refuse",
"description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?", "description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?",
"query": "What will you do?", "query": "What will you do?",
@ -23,4 +23,4 @@
"selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}." "selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}."
} }
} }
} }

View File

@ -1,7 +1,7 @@
{ {
"intro": "You're stopped by a rich looking boy.", "intro": "You're stopped by a rich looking boy.",
"speaker": "Rich Boy", "speaker": "Rich Boy",
"intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a Pokémon like that!$I'd pay you handsomely,\nand also give you this old bauble!", "intro_dialogue": "Good day to you.$I can't help but notice that your\n{{strongestPokemon}} looks positively divine!$I've always wanted to have a pet like that!$I'd pay you handsomely,\nand also give you this old bauble!",
"title": "An Offer You Can't Refuse", "title": "An Offer You Can't Refuse",
"description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?", "description": "You're being offered a @[TOOLTIP_TITLE]{Shiny Charm} and {{price, money}} for your {{strongestPokemon}}!\n\nIt's an extremely good deal, but can you really bear to part with such a strong team member?",
"query": "What will you do?", "query": "What will you do?",
@ -23,4 +23,4 @@
"selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}." "selected": "What a rotten day...$Ah, well. Let's return to the yacht club then, {{liepardName}}."
} }
} }
} }

View File

@ -102,7 +102,7 @@ export class MoveEffectPhase extends PokemonPhase {
* (and not random target) and failed the hit check against its target (MISS), log the move * (and not random target) and failed the hit check against its target (MISS), log the move
* as FAILed or MISSed (depending on the conditions above) and end this phase. * as FAILed or MISSed (depending on the conditions above) and end this phase.
*/ */
if (!hasActiveTargets || (!move.hasAttr(VariableTargetAttr) && !move.isMultiTarget() && !targetHitChecks[this.targets[0]] && !targets[0].getTag(ProtectedTag))) { if (!hasActiveTargets || (!move.hasAttr(VariableTargetAttr) && !move.isMultiTarget() && !targetHitChecks[this.targets[0]])) {
this.stopMultiHit(); this.stopMultiHit();
if (hasActiveTargets) { if (hasActiveTargets) {
this.scene.queueMessage(i18next.t("battle:attackMissed", { pokemonNameWithAffix: this.getTarget()? getPokemonNameWithAffix(this.getTarget()!) : "" })); this.scene.queueMessage(i18next.t("battle:attackMissed", { pokemonNameWithAffix: this.getTarget()? getPokemonNameWithAffix(this.getTarget()!) : "" }));
@ -125,6 +125,20 @@ export class MoveEffectPhase extends PokemonPhase {
/** Has the move successfully hit a target (for damage) yet? */ /** Has the move successfully hit a target (for damage) yet? */
let hasHit: boolean = false; let hasHit: boolean = false;
for (const target of targets) { for (const target of targets) {
/**
* If the move missed a target, stop all future hits against that target
* and move on to the next target (if there is one).
*/
if (!targetHitChecks[target.getBattlerIndex()]) {
this.stopMultiHit(target);
this.scene.queueMessage(i18next.t("battle:attackMissed", { pokemonNameWithAffix: getPokemonNameWithAffix(target) }));
if (moveHistoryEntry.result === MoveResult.PENDING) {
moveHistoryEntry.result = MoveResult.MISS;
}
user.pushMoveHistory(moveHistoryEntry);
applyMoveAttrs(MissEffectAttr, user, null, move);
continue;
}
/** The {@linkcode ArenaTagSide} to which the target belongs */ /** The {@linkcode ArenaTagSide} to which the target belongs */
const targetSide = target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY; const targetSide = target.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
@ -142,21 +156,6 @@ export class MoveEffectPhase extends PokemonPhase {
&& (hasConditionalProtectApplied.value || (!target.findTags(t => t instanceof DamageProtectedTag).length && target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType))) && (hasConditionalProtectApplied.value || (!target.findTags(t => t instanceof DamageProtectedTag).length && target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType)))
|| (this.move.getMove().category !== MoveCategory.STATUS && target.findTags(t => t instanceof DamageProtectedTag).find(t => target.lapseTag(t.tagType)))); || (this.move.getMove().category !== MoveCategory.STATUS && target.findTags(t => t instanceof DamageProtectedTag).find(t => target.lapseTag(t.tagType))));
/**
* If the move missed a target, stop all future hits against that target
* and move on to the next target (if there is one).
*/
if (!isProtected && !targetHitChecks[target.getBattlerIndex()]) {
this.stopMultiHit(target);
this.scene.queueMessage(i18next.t("battle:attackMissed", { pokemonNameWithAffix: getPokemonNameWithAffix(target) }));
if (moveHistoryEntry.result === MoveResult.PENDING) {
moveHistoryEntry.result = MoveResult.MISS;
}
user.pushMoveHistory(moveHistoryEntry);
applyMoveAttrs(MissEffectAttr, user, null, move);
continue;
}
/** Does this phase represent the invoked move's first strike? */ /** Does this phase represent the invoked move's first strike? */
const firstHit = (user.turnData.hitsLeft === user.turnData.hitCount); const firstHit = (user.turnData.hitsLeft === user.turnData.hitCount);

View File

@ -1,93 +0,0 @@
import Phaser from "phaser";
import { afterEach, beforeAll, beforeEach, describe, expect, test } from "vitest";
import GameManager from "../utils/gameManager";
import { Species } from "#enums/species";
import { Abilities } from "#enums/abilities";
import { Moves } from "#enums/moves";
import { BattlerIndex } from "#app/battle";
import { StatusEffect } from "#app/enums/status-effect";
const TIMEOUT = 20 * 1000;
describe("Moves - Baneful Bunker", () => {
let phaserGame: Phaser.Game;
let game: GameManager;
beforeAll(() => {
phaserGame = new Phaser.Game({
type: Phaser.HEADLESS,
});
});
afterEach(() => {
game.phaseInterceptor.restoreOg();
});
beforeEach(() => {
game = new GameManager(phaserGame);
game.override.battleType("single");
game.override.moveset(Moves.SLASH);
game.override.enemySpecies(Species.SNORLAX);
game.override.enemyAbility(Abilities.INSOMNIA);
game.override.enemyMoveset(Moves.BANEFUL_BUNKER);
game.override.startingLevel(100);
game.override.enemyLevel(100);
});
test(
"should protect the user and poison attackers that make contact",
async () => {
await game.classicMode.startBattle([Species.CHARIZARD]);
const leadPokemon = game.scene.getPlayerPokemon()!;
const enemyPokemon = game.scene.getEnemyPokemon()!;
game.move.select(Moves.SLASH);
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
await game.phaseInterceptor.to("BerryPhase", false);
expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp());
expect(leadPokemon.status?.effect === StatusEffect.POISON).toBeTruthy();
}, TIMEOUT
);
test(
"should protect the user and poison attackers that make contact, regardless of accuracy checks",
async () => {
await game.classicMode.startBattle([Species.CHARIZARD]);
const leadPokemon = game.scene.getPlayerPokemon()!;
const enemyPokemon = game.scene.getEnemyPokemon()!;
game.move.select(Moves.SLASH);
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
await game.phaseInterceptor.to("MoveEffectPhase");
await game.move.forceMiss();
await game.phaseInterceptor.to("BerryPhase", false);
expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp());
expect(leadPokemon.status?.effect === StatusEffect.POISON).toBeTruthy();
}, TIMEOUT
);
test(
"should not poison attackers that don't make contact",
async () => {
game.override.moveset(Moves.FLASH_CANNON);
await game.classicMode.startBattle([Species.CHARIZARD]);
const leadPokemon = game.scene.getPlayerPokemon()!;
const enemyPokemon = game.scene.getEnemyPokemon()!;
game.move.select(Moves.FLASH_CANNON);
await game.setTurnOrder([BattlerIndex.ENEMY, BattlerIndex.PLAYER]);
await game.phaseInterceptor.to("MoveEffectPhase");
await game.move.forceMiss();
await game.phaseInterceptor.to("BerryPhase", false);
expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp());
expect(leadPokemon.status?.effect === StatusEffect.POISON).toBeFalsy();
}, TIMEOUT
);
});

View File

@ -43,23 +43,6 @@ describe("Moves - Obstruct", () => {
expect(enemy.getStatStage(Stat.DEF)).toBe(-2); expect(enemy.getStatStage(Stat.DEF)).toBe(-2);
}, TIMEOUT); }, TIMEOUT);
it("bypasses accuracy checks when applying protection and defense reduction", async () => {
game.override.enemyMoveset(Array(4).fill(Moves.ICE_PUNCH));
await game.classicMode.startBattle();
game.move.select(Moves.OBSTRUCT);
await game.phaseInterceptor.to("MoveEffectPhase");
await game.move.forceMiss();
const player = game.scene.getPlayerPokemon()!;
const enemy = game.scene.getEnemyPokemon()!;
await game.phaseInterceptor.to("TurnEndPhase");
expect(player.isFullHp()).toBe(true);
expect(enemy.getStatStage(Stat.DEF)).toBe(-2);
}, TIMEOUT
);
it("protects from non-contact damaging moves and doesn't lower the opponent's defense by 2 stages", async () => { it("protects from non-contact damaging moves and doesn't lower the opponent's defense by 2 stages", async () => {
game.override.enemyMoveset(Array(4).fill(Moves.WATER_GUN)); game.override.enemyMoveset(Array(4).fill(Moves.WATER_GUN));
await game.classicMode.startBattle(); await game.classicMode.startBattle();

View File

@ -3,6 +3,7 @@ import * as MysteryEncounters from "#app/data/mystery-encounters/mystery-encount
import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils"; import * as EncounterPhaseUtils from "#app/data/mystery-encounters/utils/encounter-phase-utils";
import { getPokemonSpecies } from "#app/data/pokemon-species"; import { getPokemonSpecies } from "#app/data/pokemon-species";
import { Biome } from "#app/enums/biome"; import { Biome } from "#app/enums/biome";
import { Moves } from "#app/enums/moves";
import { MysteryEncounterType } from "#app/enums/mystery-encounter-type"; import { MysteryEncounterType } from "#app/enums/mystery-encounter-type";
import { Species } from "#app/enums/species"; import { Species } from "#app/enums/species";
import GameManager from "#app/test/utils/gameManager"; import GameManager from "#app/test/utils/gameManager";
@ -15,7 +16,6 @@ import BattleScene from "#app/battle-scene";
import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases"; import { MysteryEncounterPhase } from "#app/phases/mystery-encounter-phases";
import { PartyExpPhase } from "#app/phases/party-exp-phase"; import { PartyExpPhase } from "#app/phases/party-exp-phase";
const namespace = "mysteryEncounter:lostAtSea"; const namespace = "mysteryEncounter:lostAtSea";
/** Blastoise for surf. Pidgeot for fly. Abra for none. */ /** Blastoise for surf. Pidgeot for fly. Abra for none. */
const defaultParty = [Species.BLASTOISE, Species.PIDGEOT, Species.ABRA]; const defaultParty = [Species.BLASTOISE, Species.PIDGEOT, Species.ABRA];
@ -102,8 +102,8 @@ describe("Lost at Sea - Mystery Encounter", () => {
const onInitResult = onInit!(scene); const onInitResult = onInit!(scene);
expect(LostAtSeaEncounter.dialogueTokens?.damagePercentage).toBe("25"); expect(LostAtSeaEncounter.dialogueTokens?.damagePercentage).toBe("25");
expect(LostAtSeaEncounter.dialogueTokens?.option1RequiredMove).toBe("Surf"); expect(LostAtSeaEncounter.dialogueTokens?.option1RequiredMove).toBe(Moves[Moves.SURF]);
expect(LostAtSeaEncounter.dialogueTokens?.option2RequiredMove).toBe("Fly"); expect(LostAtSeaEncounter.dialogueTokens?.option2RequiredMove).toBe(Moves[Moves.FLY]);
expect(onInitResult).toBe(true); expect(onInitResult).toBe(true);
}); });