mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-01-19 23:41:00 +00:00
pull latest from beta
This commit is contained in:
commit
c9253cb9af
Binary file not shown.
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 6.9 KiB |
Binary file not shown.
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@ -1,3 +1,3 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
|
||||
export type ConditionFn = (scene: BattleScene, args?: any[]) => boolean;
|
||||
|
2
src/@types/i18next.d.ts
vendored
2
src/@types/i18next.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
import { type enConfig } from "#app/locales/en/config.js";
|
||||
import { type enConfig } from "#app/locales/en/config";
|
||||
import { TOptions } from "i18next";
|
||||
|
||||
//TODO: this needs to be type properly in the future
|
||||
|
@ -73,7 +73,7 @@ import { Moves } from "#enums/moves";
|
||||
import { PlayerGender } from "#enums/player-gender";
|
||||
import { Species } from "#enums/species";
|
||||
import { UiTheme } from "#enums/ui-theme";
|
||||
import { TimedEventManager } from "#app/timed-event-manager.js";
|
||||
import { TimedEventManager } from "#app/timed-event-manager";
|
||||
import i18next from "i18next";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { battleSpecDialogue } from "./data/dialogue";
|
||||
|
@ -1,4 +1,4 @@
|
||||
import {SettingGamepad} from "#app/system/settings/settings-gamepad.js";
|
||||
import {SettingGamepad} from "#app/system/settings/settings-gamepad";
|
||||
import {Button} from "#enums/buttons";
|
||||
|
||||
/**
|
||||
|
1
src/constants.ts
Normal file
1
src/constants.ts
Normal file
@ -0,0 +1 @@
|
||||
export const PLAYER_PARTY_MAX_SIZE = 6;
|
@ -1984,6 +1984,33 @@ export class ExposedTag extends BattlerTag {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tag that doubles the type effectiveness of Fire-type moves.
|
||||
* @extends BattlerTag
|
||||
*/
|
||||
export class TarShotTag extends BattlerTag {
|
||||
constructor() {
|
||||
super(BattlerTagType.TAR_SHOT, BattlerTagLapseType.CUSTOM, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* If the Pokemon is terastallized, the tag cannot be added.
|
||||
* @param {Pokemon} pokemon the {@linkcode Pokemon} to which the tag is added
|
||||
* @returns whether the tag is applied
|
||||
*/
|
||||
override canAdd(pokemon: Pokemon): boolean {
|
||||
return !pokemon.isTerastallized();
|
||||
}
|
||||
|
||||
override onAdd(pokemon: Pokemon): void {
|
||||
pokemon.scene.queueMessage(i18next.t("battlerTags:tarShotOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Tag that adds extra post-summon effects to a battle for a specific Pokemon
|
||||
* Currently used only in MysteryEncounters to provide start of fight stat buffs
|
||||
*/
|
||||
export class MysteryEncounterPostSummonTag extends BattlerTag {
|
||||
constructor(sourceMove: Moves) {
|
||||
super(BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON, BattlerTagLapseType.CUSTOM, 1, sourceMove);
|
||||
@ -2016,6 +2043,15 @@ export class MysteryEncounterPostSummonTag extends BattlerTag {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieves a {@linkcode BattlerTag} based on the provided tag type, turn count, source move, and source ID.
|
||||
*
|
||||
* @param {BattlerTagType} tagType the type of the {@linkcode BattlerTagType}.
|
||||
* @param turnCount the turn count.
|
||||
* @param {Moves} sourceMove the source {@linkcode Moves}.
|
||||
* @param sourceId the source ID.
|
||||
* @returns {BattlerTag} the corresponding {@linkcode BattlerTag} object.
|
||||
*/
|
||||
export function getBattlerTag(tagType: BattlerTagType, turnCount: number, sourceMove: Moves, sourceId: number): BattlerTag {
|
||||
switch (tagType) {
|
||||
case BattlerTagType.RECHARGING:
|
||||
@ -2156,6 +2192,8 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: number, source
|
||||
case BattlerTagType.GULP_MISSILE_ARROKUDA:
|
||||
case BattlerTagType.GULP_MISSILE_PIKACHU:
|
||||
return new GulpMissileTag(tagType, sourceMove);
|
||||
case BattlerTagType.TAR_SHOT:
|
||||
return new TarShotTag();
|
||||
case BattlerTagType.MYSTERY_ENCOUNTER_POST_SUMMON:
|
||||
return new MysteryEncounterPostSummonTag(sourceMove);
|
||||
case BattlerTagType.NONE:
|
||||
|
@ -1,18 +1,18 @@
|
||||
import * as Utils from "../utils";
|
||||
import i18next from "i18next";
|
||||
import { defaultStarterSpecies, DexAttrProps, GameData } from "#app/system/game-data.js";
|
||||
import { defaultStarterSpecies, DexAttrProps, GameData } from "#app/system/game-data";
|
||||
import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm, speciesStarters } from "./pokemon-species";
|
||||
import Pokemon, { PokemonMove } from "#app/field/pokemon.js";
|
||||
import { BattleType, FixedBattleConfig } from "#app/battle.js";
|
||||
import Trainer, { TrainerVariant } from "#app/field/trainer.js";
|
||||
import { GameMode } from "#app/game-mode.js";
|
||||
import Pokemon, { PokemonMove } from "#app/field/pokemon";
|
||||
import { BattleType, FixedBattleConfig } from "#app/battle";
|
||||
import Trainer, { TrainerVariant } from "#app/field/trainer";
|
||||
import { GameMode } from "#app/game-mode";
|
||||
import { Type } from "./type";
|
||||
import { Challenges } from "#enums/challenges";
|
||||
import { Species } from "#enums/species";
|
||||
import { TrainerType } from "#enums/trainer-type";
|
||||
import { Nature } from "./nature";
|
||||
import { Moves } from "#app/enums/moves.js";
|
||||
import { TypeColor, TypeShadow } from "#app/enums/color.js";
|
||||
import { Moves } from "#app/enums/moves";
|
||||
import { TypeColor, TypeShadow } from "#app/enums/color";
|
||||
import { pokemonEvolutions } from "./pokemon-evolutions";
|
||||
import { pokemonFormChanges } from "./pokemon-forms";
|
||||
|
||||
|
@ -8,7 +8,7 @@ import { PlayerPokemon } from "#app/field/pokemon";
|
||||
import i18next from "i18next";
|
||||
import { EggTier } from "#enums/egg-type";
|
||||
import { Species } from "#enums/species";
|
||||
import { EggSourceType } from "#app/enums/egg-source-types.js";
|
||||
import { EggSourceType } from "#app/enums/egg-source-types";
|
||||
|
||||
export const EGG_SEED = 1073741824;
|
||||
|
||||
|
@ -3472,7 +3472,7 @@ export class SpitUpPowerAttr extends VariablePowerAttr {
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||
const stockpilingTag = user.getTag(StockpilingTag);
|
||||
|
||||
if (stockpilingTag !== null && stockpilingTag.stockpiledCount > 0) {
|
||||
if (stockpilingTag && stockpilingTag.stockpiledCount > 0) {
|
||||
const power = args[0] as Utils.IntegerHolder;
|
||||
power.value = this.multiplier * stockpilingTag.stockpiledCount;
|
||||
return true;
|
||||
@ -3490,7 +3490,7 @@ export class SwallowHealAttr extends HealAttr {
|
||||
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
|
||||
const stockpilingTag = user.getTag(StockpilingTag);
|
||||
|
||||
if (stockpilingTag !== null && stockpilingTag?.stockpiledCount > 0) {
|
||||
if (stockpilingTag && stockpilingTag.stockpiledCount > 0) {
|
||||
const stockpiled = stockpilingTag.stockpiledCount;
|
||||
let healRatio: number;
|
||||
|
||||
@ -8644,7 +8644,7 @@ export function initMoves() {
|
||||
.condition((user, target, move) => user.getTag(TrappedTag)?.sourceMove !== Moves.NO_RETREAT), // fails if the user is currently trapped by No Retreat
|
||||
new StatusMove(Moves.TAR_SHOT, Type.ROCK, 100, 15, -1, 0, 8)
|
||||
.attr(StatStageChangeAttr, [ Stat.SPD ], -1)
|
||||
.partial(),
|
||||
.attr(AddBattlerTagAttr, BattlerTagType.TAR_SHOT, false),
|
||||
new StatusMove(Moves.MAGIC_POWDER, Type.PSYCHIC, 100, 20, -1, 0, 8)
|
||||
.attr(ChangeTypeAttr, Type.PSYCHIC)
|
||||
.powderMove(),
|
||||
|
@ -8,7 +8,7 @@ import { Abilities } from "#enums/abilities";
|
||||
import { Moves } from "#enums/moves";
|
||||
import { Species } from "#enums/species";
|
||||
import { TimeOfDay } from "#enums/time-of-day";
|
||||
import { getPokemonNameWithAffix } from "#app/messages.js";
|
||||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import i18next from "i18next";
|
||||
import { WeatherType } from "./weather";
|
||||
|
||||
|
@ -4,7 +4,7 @@ import { Type } from "./type";
|
||||
import * as Utils from "../utils";
|
||||
import { ChangeMovePriorityAbAttr, applyAbAttrs } from "./ability";
|
||||
import { ProtectAttr } from "./move";
|
||||
import { BattlerIndex } from "#app/battle.js";
|
||||
import { BattlerIndex } from "#app/battle";
|
||||
import i18next from "i18next";
|
||||
|
||||
export enum TerrainType {
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { VariantTier } from "#app/enums/variant-tier.js";
|
||||
import { VariantTier } from "#app/enums/variant-tier";
|
||||
|
||||
export type Variant = 0 | 1 | 2;
|
||||
|
||||
|
@ -73,5 +73,6 @@ export enum BattlerTagType {
|
||||
SHELL_TRAP = "SHELL_TRAP",
|
||||
DRAGON_CHEER = "DRAGON_CHEER",
|
||||
NO_RETREAT = "NO_RETREAT",
|
||||
TAR_SHOT = "TAR_SHOT",
|
||||
MYSTERY_ENCOUNTER_POST_SUMMON = "MYSTERY_ENCOUNTER_POST_SUMMON",
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { ArenaTagSide } from "#app/data/arena-tag.js";
|
||||
import { ArenaTagSide } from "#app/data/arena-tag";
|
||||
import { ArenaTagType } from "#enums/arena-tag-type";
|
||||
import { TerrainType } from "#app/data/terrain.js";
|
||||
import { WeatherType } from "#app/data/weather.js";
|
||||
import { TerrainType } from "#app/data/terrain";
|
||||
import { WeatherType } from "#app/data/weather";
|
||||
|
||||
/** Alias for all {@linkcode ArenaEvent} type strings */
|
||||
export enum ArenaEventType {
|
||||
|
@ -60,7 +60,7 @@ export class Arena {
|
||||
this.scene.arenaBg.setTexture(`${biomeKey}_bg`);
|
||||
this.scene.arenaBgTransition.setTexture(`${biomeKey}_bg`);
|
||||
|
||||
// Redo this on initialise because during save/load the current wave isn't always
|
||||
// Redo this on initialize because during save/load the current wave isn't always
|
||||
// set correctly during construction
|
||||
this.updatePoolsForTimeOfDay();
|
||||
}
|
||||
@ -289,7 +289,7 @@ export class Arena {
|
||||
|
||||
/**
|
||||
* Sets weather to the override specified in overrides.ts
|
||||
* @param weather new weather to set of type WeatherType
|
||||
* @param weather new {@linkcode WeatherType} to set
|
||||
* @returns true to force trySetWeather to return true
|
||||
*/
|
||||
trySetWeatherOverride(weather: WeatherType): boolean {
|
||||
@ -301,8 +301,8 @@ export class Arena {
|
||||
|
||||
/**
|
||||
* Attempts to set a new weather to the battle
|
||||
* @param weather new weather to set of type WeatherType
|
||||
* @param hasPokemonSource is the new weather from a pokemon
|
||||
* @param weather {@linkcode WeatherType} new {@linkcode WeatherType} to set
|
||||
* @param hasPokemonSource boolean if the new weather is from a pokemon
|
||||
* @returns true if new weather set, false if no weather provided or attempting to set the same weather as currently in use
|
||||
*/
|
||||
trySetWeather(weather: WeatherType, hasPokemonSource: boolean): boolean {
|
||||
@ -573,6 +573,12 @@ export class Arena {
|
||||
this.ignoreAbilities = ignoreAbilities;
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies each `ArenaTag` in this Arena, based on which side (self, enemy, or both) is passed in as a parameter
|
||||
* @param tagType Either an {@linkcode ArenaTagType} string, or an actual {@linkcode ArenaTag} class to filter which ones to apply
|
||||
* @param side {@linkcode ArenaTagSide} which side's arena tags to apply
|
||||
* @param args array of parameters that the called upon tags may need
|
||||
*/
|
||||
applyTagsForSide(tagType: ArenaTagType | Constructor<ArenaTag>, side: ArenaTagSide, ...args: unknown[]): void {
|
||||
let tags = typeof tagType === "string"
|
||||
? this.tags.filter(t => t.tagType === tagType)
|
||||
@ -583,11 +589,28 @@ export class Arena {
|
||||
tags.forEach(t => t.apply(this, args));
|
||||
}
|
||||
|
||||
/**
|
||||
* Applies the specified tag to both sides (ie: both user and trainer's tag that match the Tag specified)
|
||||
* by calling {@linkcode applyTagsForSide()}
|
||||
* @param tagType Either an {@linkcode ArenaTagType} string, or an actual {@linkcode ArenaTag} class to filter which ones to apply
|
||||
* @param args array of parameters that the called upon tags may need
|
||||
*/
|
||||
applyTags(tagType: ArenaTagType | Constructor<ArenaTag>, ...args: unknown[]): void {
|
||||
this.applyTagsForSide(tagType, ArenaTagSide.BOTH, ...args);
|
||||
}
|
||||
|
||||
addTag(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves | undefined, sourceId: integer, side: ArenaTagSide = ArenaTagSide.BOTH, quiet: boolean = false, targetIndex?: BattlerIndex): boolean {
|
||||
/**
|
||||
* Adds a new tag to the arena
|
||||
* @param tagType {@linkcode ArenaTagType} the tag being added
|
||||
* @param turnCount How many turns the tag lasts
|
||||
* @param sourceMove {@linkcode Moves} the move the tag came from, or `undefined` if not from a move
|
||||
* @param sourceId The ID of the pokemon in play the tag came from (see {@linkcode BattleScene.getPokemonById})
|
||||
* @param side {@linkcode ArenaTagSide} which side(s) the tag applies to
|
||||
* @param quiet If a message should be queued on screen to announce the tag being added
|
||||
* @param targetIndex The {@linkcode BattlerIndex} of the target pokemon
|
||||
* @returns `false` if there already exists a tag of this type in the Arena
|
||||
*/
|
||||
addTag(tagType: ArenaTagType, turnCount: number, sourceMove: Moves | undefined, sourceId: number, side: ArenaTagSide = ArenaTagSide.BOTH, quiet: boolean = false, targetIndex?: BattlerIndex): boolean {
|
||||
const existingTag = this.getTagOnSide(tagType, side);
|
||||
if (existingTag) {
|
||||
existingTag.onOverlap(this);
|
||||
@ -600,6 +623,7 @@ export class Arena {
|
||||
return false;
|
||||
}
|
||||
|
||||
// creates a new tag object
|
||||
const newTag = getArenaTag(tagType, turnCount || 0, sourceMove, sourceId, targetIndex, side);
|
||||
if (newTag) {
|
||||
this.tags.push(newTag);
|
||||
@ -613,6 +637,11 @@ export class Arena {
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to get a tag from the Arena via {@linkcode getTagOnSide} that applies to both sides
|
||||
* @param tagType The {@linkcode ArenaTagType} or {@linkcode ArenaTag} to get
|
||||
* @returns either the {@linkcode ArenaTag}, or `undefined` if it isn't there
|
||||
*/
|
||||
getTag(tagType: ArenaTagType | Constructor<ArenaTag>): ArenaTag | undefined {
|
||||
return this.getTagOnSide(tagType, ArenaTagSide.BOTH);
|
||||
}
|
||||
@ -621,16 +650,35 @@ export class Arena {
|
||||
return !!this.getTag(tagType);
|
||||
}
|
||||
|
||||
/**
|
||||
* Attempts to get a tag from the Arena from a specific side (the tag passed in has to either apply to both sides, or the specific side only)
|
||||
*
|
||||
* eg: `MIST` only applies to the user's side, while `MUD_SPORT` applies to both user and enemy side
|
||||
* @param tagType The {@linkcode ArenaTagType} or {@linkcode ArenaTag} to get
|
||||
* @param side The {@linkcode ArenaTagSide} to look at
|
||||
* @returns either the {@linkcode ArenaTag}, or `undefined` if it isn't there
|
||||
*/
|
||||
getTagOnSide(tagType: ArenaTagType | Constructor<ArenaTag>, side: ArenaTagSide): ArenaTag | undefined {
|
||||
return typeof(tagType) === "string"
|
||||
? this.tags.find(t => t.tagType === tagType && (side === ArenaTagSide.BOTH || t.side === ArenaTagSide.BOTH || t.side === side))
|
||||
: this.tags.find(t => t instanceof tagType && (side === ArenaTagSide.BOTH || t.side === ArenaTagSide.BOTH || t.side === side));
|
||||
}
|
||||
|
||||
/**
|
||||
* Uses {@linkcode findTagsOnSide} to filter (using the parameter function) for specific tags that apply to both sides
|
||||
* @param tagPredicate a function mapping {@linkcode ArenaTag}s to `boolean`s
|
||||
* @returns array of {@linkcode ArenaTag}s from which the Arena's tags return true and apply to both sides
|
||||
*/
|
||||
findTags(tagPredicate: (t: ArenaTag) => boolean): ArenaTag[] {
|
||||
return this.findTagsOnSide(tagPredicate, ArenaTagSide.BOTH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns specific tags from the arena that pass the `tagPredicate` function passed in as a parameter, and apply to the given side
|
||||
* @param tagPredicate a function mapping {@linkcode ArenaTag}s to `boolean`s
|
||||
* @param side The {@linkcode ArenaTagSide} to look at
|
||||
* @returns array of {@linkcode ArenaTag}s from which the Arena's tags return `true` and apply to the given side
|
||||
*/
|
||||
findTagsOnSide(tagPredicate: (t: ArenaTag) => boolean, side: ArenaTagSide): ArenaTag[] {
|
||||
return this.tags.filter(t => tagPredicate(t) && (side === ArenaTagSide.BOTH || t.side === ArenaTagSide.BOTH || t.side === side));
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ import { initMoveAnim, loadMoveAnimAssets } from "../data/battle-anims";
|
||||
import { Status, StatusEffect, getRandomStatus } from "../data/status-effect";
|
||||
import { pokemonEvolutions, pokemonPrevolutions, SpeciesFormEvolution, SpeciesEvolutionCondition, FusionSpeciesFormEvolution } from "../data/pokemon-evolutions";
|
||||
import { reverseCompatibleTms, tmSpecies, tmPoolTiers } from "../data/tms";
|
||||
import { BattlerTag, BattlerTagLapseType, EncoreTag, GroundedTag, HighestStatBoostTag, TypeImmuneTag, getBattlerTag, SemiInvulnerableTag, TypeBoostTag, MoveRestrictionBattlerTag, ExposedTag, DragonCheerTag, CritBoostTag, TrappedTag } from "../data/battler-tags";
|
||||
import { BattlerTag, BattlerTagLapseType, EncoreTag, GroundedTag, HighestStatBoostTag, TypeImmuneTag, getBattlerTag, SemiInvulnerableTag, TypeBoostTag, MoveRestrictionBattlerTag, ExposedTag, DragonCheerTag, CritBoostTag, TrappedTag, TarShotTag } from "../data/battler-tags";
|
||||
import { WeatherType } from "../data/weather";
|
||||
import { ArenaTagSide, NoCritTag, WeakenMoveScreenTag } from "../data/arena-tag";
|
||||
import { Ability, AbAttr, StatMultiplierAbAttr, BlockCritAbAttr, BonusCritAbAttr, BypassBurnDamageReductionAbAttr, FieldPriorityMoveImmunityAbAttr, IgnoreOpponentStatStagesAbAttr, MoveImmunityAbAttr, PreDefendFullHpEndureAbAttr, ReceivedMoveDamageMultiplierAbAttr, ReduceStatusEffectDurationAbAttr, StabBoostAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, WeightMultiplierAbAttr, allAbilities, applyAbAttrs, applyStatMultiplierAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs, UnsuppressableAbilityAbAttr, SuppressFieldAbilitiesAbAttr, NoFusionAbilityAbAttr, MultCritAbAttr, IgnoreTypeImmunityAbAttr, DamageBoostAbAttr, IgnoreTypeStatusEffectImmunityAbAttr, ConditionalCritAbAttr, applyFieldStatMultiplierAbAttrs, FieldMultiplyStatAbAttr, AddSecondStrikeAbAttr, UserFieldStatusEffectImmunityAbAttr, UserFieldBattlerTagImmunityAbAttr, BattlerTagImmunityAbAttr, MoveTypeChangeAbAttr, FullHpResistTypeAbAttr, applyCheckTrappedAbAttrs, CheckTrappedAbAttr } from "../data/ability";
|
||||
@ -58,6 +58,7 @@ import { StatStageChangePhase } from "#app/phases/stat-stage-change-phase";
|
||||
import { SwitchSummonPhase } from "#app/phases/switch-summon-phase";
|
||||
import { ToggleDoublePositionPhase } from "#app/phases/toggle-double-position-phase";
|
||||
import { Challenges } from "#enums/challenges";
|
||||
import { PLAYER_PARTY_MAX_SIZE } from "#app/constants";
|
||||
import { MysteryEncounterPokemonData } from "#app/data/mystery-encounters/mystery-encounter-pokemon-data";
|
||||
|
||||
export enum FieldPosition {
|
||||
@ -1078,6 +1079,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
const teraType = this.getTeraType();
|
||||
if (teraType !== Type.UNKNOWN) {
|
||||
types.push(teraType);
|
||||
if (forDefend) {
|
||||
return types;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1358,9 +1362,10 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
}
|
||||
|
||||
const trappedByAbility = new Utils.BooleanHolder(false);
|
||||
const opposingField = this.isPlayer() ? this.scene.getEnemyField() : this.scene.getPlayerField();
|
||||
|
||||
this.scene.getEnemyField()!.forEach(enemyPokemon =>
|
||||
applyCheckTrappedAbAttrs(CheckTrappedAbAttr, enemyPokemon, trappedByAbility, this, trappedAbMessages, simulated)
|
||||
opposingField.forEach(opponent =>
|
||||
applyCheckTrappedAbAttrs(CheckTrappedAbAttr, opponent, trappedByAbility, this, trappedAbMessages, simulated)
|
||||
);
|
||||
|
||||
return (trappedByAbility.value || !!this.getTag(TrappedTag));
|
||||
@ -1386,7 +1391,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
|
||||
/**
|
||||
* Calculates the effectiveness of a move against the Pokémon.
|
||||
*
|
||||
* This includes modifiers from move and ability attributes.
|
||||
* @param source {@linkcode Pokemon} The attacking Pokémon.
|
||||
* @param move {@linkcode Move} The move being used by the attacking Pokémon.
|
||||
* @param ignoreAbility Whether to ignore abilities that might affect type effectiveness or immunity (defaults to `false`).
|
||||
@ -1406,10 +1411,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
: 1);
|
||||
|
||||
applyMoveAttrs(VariableMoveTypeMultiplierAttr, source, this, move, typeMultiplier);
|
||||
if (this.getTypes().find(t => move.isTypeImmune(source, this, t))) {
|
||||
if (this.getTypes(true, true).find(t => move.isTypeImmune(source, this, t))) {
|
||||
typeMultiplier.value = 0;
|
||||
}
|
||||
|
||||
if (this.getTag(TarShotTag) && (this.getMoveType(move) === Type.FIRE)) {
|
||||
typeMultiplier.value *= 2;
|
||||
}
|
||||
|
||||
const cancelledHolder = cancelled ?? new Utils.BooleanHolder(false);
|
||||
if (!ignoreAbility) {
|
||||
applyPreDefendAbAttrs(TypeImmunityAbAttr, this, source, move, cancelledHolder, simulated, typeMultiplier);
|
||||
@ -1441,7 +1450,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculates the type effectiveness multiplier for an attack type
|
||||
* Calculates the move's type effectiveness multiplier based on the target's type/s.
|
||||
* @param moveType {@linkcode Type} the type of the move being used
|
||||
* @param source {@linkcode Pokemon} the Pokemon using the move
|
||||
* @param ignoreStrongWinds whether or not this ignores strong winds (anticipation, forewarn, stealth rocks)
|
||||
@ -1465,22 +1474,26 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
|
||||
}
|
||||
|
||||
let multiplier = types.map(defType => {
|
||||
const multiplier = new Utils.NumberHolder(getTypeDamageMultiplier(moveType, defType));
|
||||
applyChallenges(this.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, multiplier);
|
||||
if (source) {
|
||||
const ignoreImmunity = new Utils.BooleanHolder(false);
|
||||
if (source.isActive(true) && source.hasAbilityWithAttr(IgnoreTypeImmunityAbAttr)) {
|
||||
applyAbAttrs(IgnoreTypeImmunityAbAttr, source, ignoreImmunity, simulated, moveType, defType);
|
||||
}
|
||||
if (ignoreImmunity.value) {
|
||||
return 1;
|
||||
if (multiplier.value === 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
const exposedTags = this.findTags(tag => tag instanceof ExposedTag) as ExposedTag[];
|
||||
if (exposedTags.some(t => t.ignoreImmunity(defType, moveType))) {
|
||||
return 1;
|
||||
if (multiplier.value === 0) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
const multiplier = new Utils.NumberHolder(getTypeDamageMultiplier(moveType, defType));
|
||||
applyChallenges(this.scene.gameMode, ChallengeType.TYPE_EFFECTIVENESS, multiplier);
|
||||
return multiplier.value;
|
||||
}).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier;
|
||||
|
||||
@ -4541,17 +4554,29 @@ export class EnemyPokemon extends Pokemon {
|
||||
return BattlerIndex.ENEMY + this.getFieldIndex();
|
||||
}
|
||||
|
||||
addToParty(pokeballType: PokeballType) {
|
||||
/**
|
||||
* Add a new pokemon to the player's party (at `slotIndex` if set).
|
||||
* @param pokeballType the type of pokeball the pokemon was caught with
|
||||
* @param slotIndex an optional index to place the pokemon in the party
|
||||
* @returns the pokemon that was added or null if the pokemon could not be added
|
||||
*/
|
||||
addToParty(pokeballType: PokeballType, slotIndex: number = -1) {
|
||||
const party = this.scene.getParty();
|
||||
let ret: PlayerPokemon | null = null;
|
||||
|
||||
if (party.length < 6) {
|
||||
if (party.length < PLAYER_PARTY_MAX_SIZE) {
|
||||
this.pokeball = pokeballType;
|
||||
this.metLevel = this.level;
|
||||
this.metBiome = this.scene.arena.biomeType;
|
||||
this.metSpecies = this.species.speciesId;
|
||||
const newPokemon = this.scene.addPlayerPokemon(this.species, this.level, this.abilityIndex, this.formIndex, this.gender, this.shiny, this.variant, this.ivs, this.nature, this);
|
||||
party.push(newPokemon);
|
||||
|
||||
if (Utils.isBetween(slotIndex, 0, PLAYER_PARTY_MAX_SIZE - 1)) {
|
||||
party.splice(slotIndex, 0, newPokemon);
|
||||
} else {
|
||||
party.push(newPokemon);
|
||||
}
|
||||
|
||||
ret = newPokemon;
|
||||
this.scene.triggerPokemonFormChange(newPokemon, SpeciesFormChangeActiveTrigger, true);
|
||||
}
|
||||
@ -4584,6 +4609,7 @@ export interface AttackMoveResult {
|
||||
}
|
||||
|
||||
export class PokemonSummonData {
|
||||
/** [Atk, Def, SpAtk, SpDef, Spd, Acc, Eva] */
|
||||
public statStages: number[] = [ 0, 0, 0, 0, 0, 0, 0 ];
|
||||
public moveQueue: QueuedMove[] = [];
|
||||
public tags: BattlerTag[] = [];
|
||||
|
@ -16,7 +16,7 @@ import {
|
||||
getIconForLatestInput, swap,
|
||||
} from "#app/configs/inputs/configHandler";
|
||||
import BattleScene from "./battle-scene";
|
||||
import {SettingGamepad} from "#app/system/settings/settings-gamepad.js";
|
||||
import {SettingGamepad} from "#app/system/settings/settings-gamepad";
|
||||
import {SettingKeyboard} from "#app/system/settings/settings-keyboard";
|
||||
import TouchControl from "#app/touch-controls";
|
||||
import { Button } from "#enums/buttons";
|
||||
|
@ -12,6 +12,7 @@
|
||||
"typeImmunityHeal": "{{abilityName}} von {{pokemonNameWithAffix}} füllte einige KP auf!",
|
||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}} vermeidet Schaden mit {{abilityName}}!",
|
||||
"disguiseAvoidedDamage": "Die Tarnung von {{pokemonNameWithAffix}} ist aufgeflogen!!",
|
||||
"fullHpResistType": "Der Panzer von {{pokemonNameWithAffix}} funkelt und verzerrt die Wechselwirkungen zwischen den Typen!",
|
||||
"moveImmunity": "Es hat keine Wirkung auf {{pokemonNameWithAffix}}...",
|
||||
"reverseDrain": "{{pokemonNameWithAffix}} saugt Kloakensoße auf!",
|
||||
"postDefendTypeChange": "{{abilityName}} von {{pokemonNameWithAffix}} macht es zu einem {{typeName}}-Typ!",
|
||||
@ -51,6 +52,7 @@
|
||||
"postSummonTeravolt": "{{pokemonNameWithAffix}} strahlt eine knisternde Aura aus!",
|
||||
"postSummonDarkAura": "{{pokemonNameWithAffix}} strahlt eine dunkle Aura aus!",
|
||||
"postSummonFairyAura": "{{pokemonNameWithAffix}} strahlt eine Feenaura aus!",
|
||||
"postSummonAuraBreak": "{{pokemonNameWithAffix}} kehrt die Wirkung aller Aura-Fähigkeiten um!",
|
||||
"postSummonNeutralizingGas": "Reaktionsgas von {{pokemonNameWithAffix}} hat sich in der Umgebung ausgebreitet!",
|
||||
"postSummonAsOneGlastrier": "{{pokemonNameWithAffix}} verfügt über zwei Fähigkeiten!",
|
||||
"postSummonAsOneSpectrier": "{{pokemonNameWithAffix}} verfügt über zwei Fähigkeiten!",
|
||||
@ -59,4 +61,4 @@
|
||||
"postSummonTabletsOfRuin": "Unheilstafeln von {{pokemonNameWithAffix}} schwächt {{statName}} aller Pokémon im Umkreis!",
|
||||
"postSummonBeadsOfRuin": "Unheilsjuwelen von {{pokemonNameWithAffix}} schwächt {{statName}} aller Pokémon im Umkreis!",
|
||||
"preventBerryUse": "{{pokemonNameWithAffix}} kriegt vor Anspannung keine Beeren mehr runter!"
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@
|
||||
"moveNotImplemented": "{{moveName}} ist noch nicht implementiert und kann nicht ausgewählt werden.",
|
||||
"moveNoPP": "Es sind keine AP für diese Attacke mehr übrig!",
|
||||
"moveDisabled": "{{moveName}} ist deaktiviert!",
|
||||
"disableInterruptedMove": "{{moveName}} von {{pokemonNameWithAffix}} ist blockiert!",
|
||||
"noPokeballForce": "Eine unsichtbare Kraft verhindert die Nutzung von Pokébällen.",
|
||||
"noPokeballTrainer": "Du kannst das Pokémon eines anderen Trainers nicht fangen!",
|
||||
"noPokeballMulti": "Du kannst erst einen Pokéball werfen, wenn nur noch ein Pokémon übrig ist!",
|
||||
@ -96,4 +97,4 @@
|
||||
"congratulations": "Glückwunsch!",
|
||||
"beatModeFirstTime": "{{speciesName}} hat den {{gameMode}} Modus zum ersten Mal beendet! Du erhältst {{newModifier}}!",
|
||||
"eggSkipPrompt": "Zur Ei-Zusammenfassung springen?"
|
||||
}
|
||||
}
|
||||
|
@ -67,5 +67,7 @@
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}} wurde durch {{moveName}} verletzt!",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}} nimmt einen Teil seiner KP und legt einen Fluch auf {{pokemonName}}!",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}} wurde durch den Fluch verletzt!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} hortet {{stockpiledCount}}!"
|
||||
}
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} hortet {{stockpiledCount}}!",
|
||||
"disabledOnAdd": " {{moveName}} von {{pokemonNameWithAffix}} wurde blockiert!",
|
||||
"disabledLapse": "{{moveName}} von {{pokemonNameWithAffix}} ist nicht länger blockiert!"
|
||||
}
|
||||
|
@ -51,5 +51,7 @@
|
||||
"renamePokemon": "Pokémon umbennenen",
|
||||
"rename": "Umbenennen",
|
||||
"nickname": "Spitzname",
|
||||
"errorServerDown": "Ups! Es gab einen Fehler beim Versuch\nden Server zu kontaktieren\nLasse dieses Fenster offen\nDu wirst automatisch neu verbunden."
|
||||
}
|
||||
"errorServerDown": "Ups! Es gab einen Fehler beim Versuch\nden Server zu kontaktieren\nLasse dieses Fenster offen\nDu wirst automatisch neu verbunden.",
|
||||
"noSaves": "Du hast keine gespeicherten Dateien!",
|
||||
"tooManySaves": "Du hast zu viele gespeicherte Dateien!"
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "Ändert das Wesen zu {{natureName}}. Schaltet dieses Wesen permanent für diesen Starter frei."
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "Verdoppelt die Wahrscheinlichkeit, dass die nächsten {{battleCount}} Begegnungen mit wilden Pokémon ein Doppelkampf sind."
|
||||
"description": "Vervierfacht die Chance, dass ein Kampf ein Doppelkampf wird, für bis zu {{battleCount}} Kämpfe."
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "Erhöht die {{stat}} aller Teammitglieder für 5 Kämpfe um eine Stufe."
|
||||
"description": "Erhöht {{stat}} aller Teammitglieder um {{amount}} für bis zu 5 Kämpfe.",
|
||||
"extra": {
|
||||
"stage": "eine Stufe",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "Erhöht die Stärke aller {{moveType}}-Attacken eines Pokémon um 20%."
|
||||
|
@ -3,7 +3,7 @@
|
||||
"badDreams": "{{pokemonName}} is tormented!",
|
||||
"costar": "{{pokemonName}} copied {{allyName}}'s stat changes!",
|
||||
"iceFaceAvoidedDamage": "{{pokemonNameWithAffix}} avoided\ndamage with {{abilityName}}!",
|
||||
"perishBody": "{{pokemonName}}'s {{abilityName}}\nwill faint both pokemon in 3 turns!",
|
||||
"perishBody": "{{pokemonName}}'s {{abilityName}}\nwill faint both Pokémon in 3 turns!",
|
||||
"poisonHeal": "{{pokemonName}}'s {{abilityName}}\nrestored its HP a little!",
|
||||
"trace": "{{pokemonName}} copied {{targetName}}'s\n{{abilityName}}!",
|
||||
"windPowerCharged": "Being hit by {{moveName}} charged {{pokemonName}} with power!",
|
||||
@ -61,4 +61,4 @@
|
||||
"postSummonTabletsOfRuin": "{{pokemonNameWithAffix}}'s Tablets of Ruin lowered the {{statName}}\nof all surrounding Pokémon!",
|
||||
"postSummonBeadsOfRuin": "{{pokemonNameWithAffix}}'s Beads of Ruin lowered the {{statName}}\nof all surrounding Pokémon!",
|
||||
"preventBerryUse": "{{pokemonNameWithAffix}} is too\nnervous to eat berries!"
|
||||
}
|
||||
}
|
||||
|
@ -69,5 +69,6 @@
|
||||
"cursedLapse": "{{pokemonNameWithAffix}} is afflicted by the Curse!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} stockpiled {{stockpiledCount}}!",
|
||||
"disabledOnAdd": "{{pokemonNameWithAffix}}'s {{moveName}}\nwas disabled!",
|
||||
"disabledLapse": "{{pokemonNameWithAffix}}'s {{moveName}}\nis no longer disabled."
|
||||
"disabledLapse": "{{pokemonNameWithAffix}}'s {{moveName}}\nis no longer disabled.",
|
||||
"tarShotOnAdd": "{{pokemonNameWithAffix}} became weaker to fire!"
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"title": "Challenge Modifiers",
|
||||
"illegalEvolution": "{{pokemon}} changed into an ineligble pokémon\nfor this challenge!",
|
||||
"illegalEvolution": "{{pokemon}} changed into an ineligible Pokémon\nfor this challenge!",
|
||||
"noneSelected": "None Selected",
|
||||
"singleGeneration": {
|
||||
"name": "Mono Gen",
|
||||
@ -34,4 +34,4 @@
|
||||
"value.0": "Off",
|
||||
"value.1": "On"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,7 @@
|
||||
"blockItemTheft": "¡{{pokemonNameWithAffix}} evitó el robo gracias a {{abilityName}}!",
|
||||
"typeImmunityHeal": "¡{{pokemonNameWithAffix}} restauró algunos de sus PS gracias a {{abilityName}}!",
|
||||
"nonSuperEffectiveImmunity": "¡{{pokemonNameWithAffix}} evitó el daño gracias a {{abilityName}}!",
|
||||
"fullHpResistType": "¡{{pokemonNameWithAffix}} ha hecho brillar su caparazón\ny ha alterado su compatibilidad entre tipos!",
|
||||
"moveImmunity": "¡No afecta a {{pokemonNameWithAffix}}!",
|
||||
"reverseDrain": "¡{{pokemonNameWithAffix}} absorbió lodo líquido!",
|
||||
"postDefendTypeChange": "¡{{abilityName}} de {{pokemonNameWithAffix}} cambió a tipo {{typeName}}!",
|
||||
@ -51,6 +52,7 @@
|
||||
"postSummonTeravolt": "¡{{pokemonNameWithAffix}} irradia un aura chisporroteante!",
|
||||
"postSummonDarkAura": "¡{{pokemonNameWithAffix}} irradia un aura oscura!",
|
||||
"postSummonFairyAura": "¡{{pokemonNameWithAffix}} irradia un aura feérica!",
|
||||
"postSummonAuraBreak": "¡{{pokemonNameWithAffix}} ha invertido todas las auras!",
|
||||
"postSummonNeutralizingGas": "¡El Gas Reactivo de {{pokemonNameWithAffix}} se propaga por toda la zona!",
|
||||
"postSummonAsOneGlastrier": "¡{{pokemonNameWithAffix}} tiene dos Habilidades!",
|
||||
"postSummonAsOneSpectrier": "¡{{pokemonNameWithAffix}} tiene dos Habilidades!",
|
||||
|
@ -42,6 +42,7 @@
|
||||
"moveNotImplemented": "{{moveName}} aún no está implementado y no se puede seleccionar.",
|
||||
"moveNoPP": "¡No hay suficientes PP\npara este movimiento!",
|
||||
"moveDisabled": "!No puede usar {{moveName}} porque ha sido anulado!",
|
||||
"disableInterruptedMove": "¡Se ha anulado el movimiento {{moveName}}\nde {{pokemonNameWithAffix}}!",
|
||||
"noPokeballForce": "Una fuerza misteriosa\nte impide usar Poké Balls.",
|
||||
"noPokeballTrainer": "¡No puedes atrapar a los\nPokémon de los demás!",
|
||||
"noPokeballMulti": "¡No se pueden lanzar Poké Balls\ncuando hay más de un Pokémon!",
|
||||
@ -85,4 +86,4 @@
|
||||
"statSeverelyFell_other": "¡{{stats}} de\n{{pokemonNameWithAffix}} han bajado muchísimo!",
|
||||
"statWontGoAnyLower_one": "¡El {{stats}} de {{pokemonNameWithAffix}} no puede bajar más!",
|
||||
"statWontGoAnyLower_other": "¡{{stats}} de\n{{pokemonNameWithAffix}} no pueden bajar más!"
|
||||
}
|
||||
}
|
||||
|
@ -67,5 +67,7 @@
|
||||
"saltCuredLapse": "¡{{moveName}} ha herido a {{pokemonNameWithAffix}}!",
|
||||
"cursedOnAdd": "¡{{pokemonNameWithAffix}} sacrifica algunos PS y maldice a {{pokemonName}}!",
|
||||
"cursedLapse": "¡{{pokemonNameWithAffix}} es víctima de una maldición!",
|
||||
"stockpilingOnAdd": "¡{{pokemonNameWithAffix}} ha reservado energía por {{stockpiledCount}}ª vez!"
|
||||
"stockpilingOnAdd": "¡{{pokemonNameWithAffix}} ha reservado energía por {{stockpiledCount}}ª vez!",
|
||||
"disabledOnAdd": "¡Se ha anulado el movimiento {{moveName}}\nde {{pokemonNameWithAffix}}!",
|
||||
"disabledLapse": "¡El movimiento {{moveName}} de {{pokemonNameWithAffix}} \n ya no está anulado!"
|
||||
}
|
||||
|
@ -51,5 +51,7 @@
|
||||
"renamePokemon": "Renombrar Pokémon.",
|
||||
"rename": "Renombrar",
|
||||
"nickname": "Apodo",
|
||||
"errorServerDown": "¡Ups! Ha habido un problema al contactar con el servidor.\n\nPuedes mantener esta ventana abierta, el 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!",
|
||||
"tooManySaves": "¡Tienes demasiadas partidas guardadas registradas!"
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "Cambia la naturaleza de un Pokémon a {{natureName}} y desbloquea permanentemente dicha naturaleza para el inicial."
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "Duplica la posibilidad de que un encuentro sea una combate doble durante {{battleCount}} combates."
|
||||
"description": "Cuadruplica la posibilidad de que un encuentro sea una combate doble durante {{battleCount}} combates."
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "Aumenta la est. {{stat}} de todos los miembros del equipo en 1 nivel durante 5 combates."
|
||||
"description": "Aumenta la est. {{stat}} de todos los miembros del equipo en {{amount}} durante 5 combates.",
|
||||
"extra": {
|
||||
"stage": "1 nivel",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "Aumenta la potencia de los movimientos de tipo {{moveType}} de un Pokémon en un 20%."
|
||||
|
@ -3,14 +3,15 @@
|
||||
"badDreams": "{{pokemonName}} a le sommeil agité !",
|
||||
"costar": "{{pokemonName}} copie les changements de stats\nde {{allyName}} !",
|
||||
"iceFaceAvoidedDamage": "{{pokemonNameWithAffix}} évite les dégâts\navec {{abilityName}} !",
|
||||
"perishBody": "{{abilityName}} de {{pokemonName}}\nmettra les deux Pokémon K.O. dans trois tours !",
|
||||
"poisonHeal": "{{abilityName}} de {{pokemonName}}\nrestaure un peu ses PV !",
|
||||
"perishBody": "{{abilityName}} de {{pokemonName}}\nmettra les deux Pokémon K.O. dans trois tours !",
|
||||
"poisonHeal": "{{abilityName}} de {{pokemonName}}\nrestaure un peu ses PV !",
|
||||
"trace": "{{pokemonName}} copie le talent {{abilityName}}\nde {{targetName}} !",
|
||||
"windPowerCharged": "{{pokemonName}} a été touché par la capacité {{moveName}} et se charge en électricité !",
|
||||
"windPowerCharged": "{{pokemonName}} a été touché par la capacité {{moveName}} et se charge en électricité !",
|
||||
"quickDraw": "Tir Vif permet à {{pokemonName}}\nd’agir plus vite que d’habitude !",
|
||||
"blockItemTheft": "{{abilityName}} de {{pokemonNameWithAffix}}\nempêche son objet d’être volé !",
|
||||
"typeImmunityHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"typeImmunityHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}} évite\nles dégâts avec {{abilityName}} !",
|
||||
"fullHpResistType": "{{pokemonNameWithAffix}} fait briller sa carapace\net fausse les affinités de type !",
|
||||
"disguiseAvoidedDamage": "Le déguisement de {{pokemonNameWithAffix}}\ntombe !",
|
||||
"moveImmunity": "Ça n’affecte pas {{pokemonNameWithAffix}}…",
|
||||
"reverseDrain": "{{pokemonNameWithAffix}} aspire\nle suintement !",
|
||||
@ -33,12 +34,12 @@
|
||||
"battlerTagImmunity": "{{abilityName}} de {{pokemonNameWithAffix}}\nempêche {{battlerTagName}} !",
|
||||
"forewarn": "La capacité {{moveName}}\nde {{pokemonNameWithAffix}} a été détectée !",
|
||||
"frisk": "{{pokemonNameWithAffix}} fouille {{opponentName}}\net trouve son talent {{opponentAbilityName}} !",
|
||||
"postWeatherLapseHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"postWeatherLapseHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"postWeatherLapseDamage": "{{pokemonNameWithAffix}} est blessé\npar son talent {{abilityName}} !",
|
||||
"postTurnLootCreateEatenBerry": "{{pokemonNameWithAffix}} a récolté\nune {{berryName}} !",
|
||||
"postTurnHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"postTurnHeal": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"fetchBall": "{{pokemonNameWithAffix}} trouve\nune {{pokeballName}} !",
|
||||
"healFromBerryUse": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"healFromBerryUse": "{{abilityName}} de {{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
|
||||
"arenaTrap": "{{pokemonNameWithAffix}} empêche\nles changements grâce à son talent {{abilityName}} !",
|
||||
"postBattleLoot": "{{pokemonNameWithAffix}} ramasse\nl’objet {{itemName}} !",
|
||||
"postFaintContactDamage": "{{pokemonNameWithAffix}} est blessé\npar son talent {{abilityName}} !",
|
||||
@ -49,8 +50,9 @@
|
||||
"postSummonAnticipation": "{{pokemonNameWithAffix}}\nest tout tremblant !",
|
||||
"postSummonTurboblaze": "{{pokemonNameWithAffix}} dégage\nune aura de flammes incandescentes !",
|
||||
"postSummonTeravolt": "{{pokemonNameWithAffix}} dégage\nune aura électrique instable !",
|
||||
"postSummonDarkAura": "{{pokemonNameWithAffix}} dégage\nune aura ténébreuse !",
|
||||
"postSummonDarkAura": "{{pokemonNameWithAffix}} dégage\nune aura ténébreuse !",
|
||||
"postSummonFairyAura": "{{pokemonNameWithAffix}} dégage\nune aura enchanteresse !",
|
||||
"postSummonAuraBreak": "{{pokemonNameWithAffix}} inverse\ntoutes les auras !",
|
||||
"postSummonNeutralizingGas": "Le gaz inhibiteur {{pokemonNameWithAffix}}\nenvahit les lieux !",
|
||||
"postSummonAsOneGlastrier": "{{pokemonNameWithAffix}}\na deux talents !",
|
||||
"postSummonAsOneSpectrier": "{{pokemonNameWithAffix}}\na deux talents !",
|
||||
|
@ -227,7 +227,7 @@
|
||||
"name": "Angry Birds"
|
||||
},
|
||||
"MONO_POISON": {
|
||||
"name": "Touche moi je t’empoisonne !"
|
||||
"name": "Touche moi je t’empoisonne !"
|
||||
},
|
||||
"MONO_GROUND": {
|
||||
"name": "Prévisions : Séisme"
|
||||
@ -242,7 +242,7 @@
|
||||
"name": "SOS Fantômes"
|
||||
},
|
||||
"MONO_STEEL": {
|
||||
"name": "De type Acier !"
|
||||
"name": "De type Acier !"
|
||||
},
|
||||
"MONO_FIRE": {
|
||||
"name": "Allumer le feu"
|
||||
|
@ -54,4 +54,4 @@
|
||||
"safeguardOnRemove": "Le terrain n’est plus protégé\npar le voile mystérieux !",
|
||||
"safeguardOnRemovePlayer": "Votre équipe n’est plus protégée\npar le voile mystérieux !",
|
||||
"safeguardOnRemoveEnemy": "L’équipe ennemie n’est plus protégée\npar le voile mystérieux !"
|
||||
}
|
||||
}
|
||||
|
@ -1,70 +1,71 @@
|
||||
{
|
||||
"bossAppeared": "Un {{bossName}} apparait.",
|
||||
"trainerAppeared": "Un combat est lancé\npar {{trainerName}} !",
|
||||
"trainerAppearedDouble": "Un combat est lancé\npar {{trainerName}} !",
|
||||
"trainerAppeared": "Un combat est lancé\npar {{trainerName}} !",
|
||||
"trainerAppearedDouble": "Un combat est lancé\npar {{trainerName}} !",
|
||||
"trainerSendOut": "{{pokemonName}} est envoyé par\n{{trainerName}} !",
|
||||
"singleWildAppeared": "Un {{pokemonName}} sauvage apparait !",
|
||||
"multiWildAppeared": "Un {{pokemonName1}} et un {{pokemonName2}}\nsauvages apparaissent !",
|
||||
"playerComeBack": "{{pokemonName}} !\nReviens !",
|
||||
"trainerComeBack": "{{trainerName}} retire {{pokemonName}} !",
|
||||
"playerGo": "{{pokemonName}} ! Go !",
|
||||
"trainerGo": "{{pokemonName}} est envoyé par\n{{trainerName}} !",
|
||||
"switchQuestion": "Voulez-vous changer\nvotre {{pokemonName}} ?",
|
||||
"trainerDefeated": "Vous avez battu\n{{trainerName}} !",
|
||||
"moneyWon": "Vous remportez\n{{moneyAmount}} ₽ !",
|
||||
"singleWildAppeared": "Un {{pokemonName}} sauvage apparait !",
|
||||
"multiWildAppeared": "Un {{pokemonName1}} et un {{pokemonName2}}\nsauvages apparaissent !",
|
||||
"playerComeBack": "{{pokemonName}} !\nReviens !",
|
||||
"trainerComeBack": "{{trainerName}} retire\n{{pokemonName}} !",
|
||||
"playerGo": "{{pokemonName}} ! Go !",
|
||||
"trainerGo": "{{pokemonName}} est envoyé par\n{{trainerName}} !",
|
||||
"switchQuestion": "Voulez-vous changer\n{{pokemonName}} ?",
|
||||
"trainerDefeated": "Vous avez battu\n{{trainerName}} !",
|
||||
"moneyWon": "Vous remportez\n{{moneyAmount}} ₽ !",
|
||||
"moneyPickedUp": "Vous obtenez {{moneyAmount}} ₽ !",
|
||||
"pokemonCaught": "Vous avez attrapé {{pokemonName}} !",
|
||||
"pokemonCaught": "Vous avez attrapé\n{{pokemonName}} !",
|
||||
"addedAsAStarter": "{{pokemonName}} est ajouté\ncomme starter !",
|
||||
"partyFull": "Votre équipe est pleine.\nRelâcher un Pokémon pour {{pokemonName}} ?",
|
||||
"pokemon": "Pokémon",
|
||||
"sendOutPokemon": "{{pokemonName}} ! Go !",
|
||||
"pokemon": "de Pokémon",
|
||||
"sendOutPokemon": "{{pokemonName}} ! Go !",
|
||||
"hitResultCriticalHit": "Coup critique !",
|
||||
"hitResultSuperEffective": "C’est super efficace !",
|
||||
"hitResultNotVeryEffective": "Ce n’est pas très efficace…",
|
||||
"hitResultNoEffect": "Ça n’affecte pas {{pokemonName}}…",
|
||||
"hitResultImmune": "{{pokemonName}} n’est pas affecté !",
|
||||
"hitResultOneHitKO": "K.O. en un coup !",
|
||||
"attackFailed": "Mais cela échoue !",
|
||||
"attackFailed": "Mais cela échoue !",
|
||||
"attackMissed": "{{pokemonNameWithAffix}}\névite l’attaque !",
|
||||
"attackHitsCount": "Touché {{count}} fois !",
|
||||
"attackHitsCount": "Touché {{count}} fois !",
|
||||
"rewardGain": "Vous recevez\n{{modifierName}} !",
|
||||
"expGain": "{{pokemonName}} gagne\n{{exp}} Points d’Exp !",
|
||||
"levelUp": "{{pokemonName}} monte au\nN. {{level}} !",
|
||||
"learnMove": "{{pokemonName}} apprend\n{{moveName}} !",
|
||||
"expGain": "{{pokemonName}} gagne\n{{exp}} Points d’Exp !",
|
||||
"levelUp": "{{pokemonName}} monte au\nN. {{level}} !",
|
||||
"learnMove": "{{pokemonName}} apprend\n{{moveName}} !",
|
||||
"learnMovePrompt": "{{pokemonName}} veut apprendre\n{{moveName}}.",
|
||||
"learnMoveLimitReached": "Cependant, {{pokemonName}} connait\ndéjà quatre capacités.",
|
||||
"learnMoveReplaceQuestion": "Voulez-vous oublier une capacité\net la remplacer par {{moveName}} ?",
|
||||
"learnMoveStopTeaching": "Arrêter d’apprendre\n{{moveName}} ?",
|
||||
"learnMoveReplaceQuestion": "Voulez-vous oublier une capacité\net la remplacer par {{moveName}} ?",
|
||||
"learnMoveStopTeaching": "Arrêter d’apprendre\n{{moveName}} ?",
|
||||
"learnMoveNotLearned": "{{pokemonName}} n’a pas appris\n{{moveName}}.",
|
||||
"learnMoveForgetQuestion": "Quelle capacité doit être oubliée ?",
|
||||
"learnMoveForgetQuestion": "Quelle capacité doit être oubliée ?",
|
||||
"learnMoveForgetSuccess": "{{pokemonName}} oublie comment\nutiliser {{moveName}}.",
|
||||
"countdownPoof": "@d{32}1, @d{15}2, @d{15}et@d{15}… @d{15}… @d{15}… @d{15}@s{se/pb_bounce_1}Tadaaa !",
|
||||
"learnMoveAnd": "Et…",
|
||||
"levelCapUp": "La limite de niveau\na été augmentée à {{levelCap}} !",
|
||||
"levelCapUp": "La limite de niveau\na été augmentée à {{levelCap}} !",
|
||||
"moveNotImplemented": "{{moveName}} n’est pas encore implémenté et ne peut pas être sélectionné.",
|
||||
"moveNoPP": "Il n’y a plus de PP pour\ncette capacité !",
|
||||
"moveDisabled": "{{moveName}} est sous entrave !",
|
||||
"moveDisabled": "{{moveName}} est sous entrave !",
|
||||
"disableInterruptedMove": "Il y a une entrave sur la capacité {{moveName}}\nde{{pokemonNameWithAffix}} !",
|
||||
"noPokeballForce": "Une force mystérieuse\nempêche l’utilisation des Poké Balls.",
|
||||
"noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, c’est mal !",
|
||||
"noPokeballMulti": "Impossible ! On ne peut pas viser\nquand il y a deux Pokémon !",
|
||||
"noPokeballStrong": "Le Pokémon est trop fort pour être capturé !\nVous devez d’abord l’affaiblir !",
|
||||
"noPokeballTrainer": "Le Dresseur détourne la Ball\nVoler, c’est mal !",
|
||||
"noPokeballMulti": "Impossible ! On ne peut pas viser\nquand il y a deux Pokémon !",
|
||||
"noPokeballStrong": "Le Pokémon est trop fort pour être capturé !\nVous devez d’abord l’affaiblir !",
|
||||
"noEscapeForce": "Une force mystérieuse\nempêche la fuite.",
|
||||
"noEscapeTrainer": "On ne s’enfuit pas d’un\ncombat de Dresseurs !",
|
||||
"noEscapePokemon": "{{moveName}} de {{pokemonName}}\nempêche {{escapeVerb}} !",
|
||||
"runAwaySuccess": "Vous prenez la fuite !",
|
||||
"runAwayCannotEscape": "Fuite impossible !",
|
||||
"noEscapeTrainer": "On ne s’enfuit pas d’un\ncombat de Dresseurs !",
|
||||
"noEscapePokemon": "{{moveName}} de {{pokemonName}}\nempêche {{escapeVerb}} !",
|
||||
"runAwaySuccess": "Vous prenez la fuite !",
|
||||
"runAwayCannotEscape": "Fuite impossible !",
|
||||
"escapeVerbSwitch": "le changement",
|
||||
"escapeVerbFlee": "la fuite",
|
||||
"notDisabled": "La capacité {{moveName}}\nde {{pokemonName}} n’est plus sous entrave !",
|
||||
"notDisabled": "La capacité {{moveName}}\nde {{pokemonName}} n’est plus sous entrave !",
|
||||
"turnEndHpRestore": "{{pokemonName}} récupère des PV !",
|
||||
"hpIsFull": "Les PV de {{pokemonName}}\nsont au maximum !",
|
||||
"skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?",
|
||||
"skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?",
|
||||
"itemStackFull": "Quantité maximale de {{fullItemName}} atteinte.\nVous recevez {{itemName}} à la place.",
|
||||
"eggHatching": "Hein ?",
|
||||
"ivScannerUseQuestion": "Utiliser le Scanner d’IV\nsur {{pokemonName}} ?",
|
||||
"eggHatching": "Hein ?",
|
||||
"ivScannerUseQuestion": "Utiliser le Scanner d’IV\nsur {{pokemonName}} ?",
|
||||
"wildPokemonWithAffix": "{{pokemonName}} sauvage",
|
||||
"foePokemonWithAffix": "{{pokemonName}} ennemi",
|
||||
"useMove": "{{pokemonNameWithAffix}} utilise\n{{moveName}} !",
|
||||
"useMove": "{{pokemonNameWithAffix}} utilise\n{{moveName}} !",
|
||||
"stealEatBerry": "{{pokemonName}} vole et mange\nla {{berryName}} de {{targetName}} !",
|
||||
"ppHealBerry": "La {{berryName}} de {{pokemonNameWithAffix}}\nrestaure les PP de sa capacité {{moveName}} !",
|
||||
"hpHealBerry": "La {{berryName}} de {{pokemonNameWithAffix}}\nrestaure son énergie !",
|
||||
@ -73,27 +74,27 @@
|
||||
"fainted": "{{pokemonNameWithAffix}}\nest K.O. !",
|
||||
"statsAnd": "et",
|
||||
"stats": "Les stats",
|
||||
"statRose_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente !",
|
||||
"statRose_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent !",
|
||||
"statSharplyRose_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente beaucoup !",
|
||||
"statSharplyRose_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent beaucoup !",
|
||||
"statRoseDrastically_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente énormément !",
|
||||
"statRoseDrastically_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent énormément !",
|
||||
"statWontGoAnyHigher_one": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus augmenter !",
|
||||
"statWontGoAnyHigher_other": "{{stats}}\nde {{pokemonNameWithAffix}} ne peuvent plus augmenter !",
|
||||
"statFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse !",
|
||||
"statFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent !",
|
||||
"statHarshlyFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse beaucoup !",
|
||||
"statHarshlyFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent beaucoup !",
|
||||
"statSeverelyFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse énormément !",
|
||||
"statSeverelyFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent énormément !",
|
||||
"statWontGoAnyLower_one": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus baisser !",
|
||||
"statWontGoAnyLower_other": "{{stats}}\nde {{pokemonNameWithAffix}} ne peuvent plus baisser !",
|
||||
"transformedIntoType": "{{pokemonName}} transformed\ninto the {{type}} type!",
|
||||
"ppReduced": "Les PP de la capacité {{moveName}}\nde {{targetName}} baissent de {{reduction}} !",
|
||||
"retryBattle": "Voulez-vous réessayer depuis le début du combat ?",
|
||||
"statRose_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente !",
|
||||
"statRose_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent !",
|
||||
"statSharplyRose_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente beaucoup !",
|
||||
"statSharplyRose_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent beaucoup !",
|
||||
"statRoseDrastically_one": "{{stats}} de {{pokemonNameWithAffix}}\naugmente énormément !",
|
||||
"statRoseDrastically_other": "{{stats}}\nde {{pokemonNameWithAffix}} augmentent énormément !",
|
||||
"statWontGoAnyHigher_one": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus augmenter !",
|
||||
"statWontGoAnyHigher_other": "{{stats}}\nde {{pokemonNameWithAffix}} ne peuvent plus augmenter !",
|
||||
"statFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse !",
|
||||
"statFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent !",
|
||||
"statHarshlyFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse beaucoup !",
|
||||
"statHarshlyFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent beaucoup !",
|
||||
"statSeverelyFell_one": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse énormément !",
|
||||
"statSeverelyFell_other": "{{stats}}\nde {{pokemonNameWithAffix}} baissent énormément !",
|
||||
"statWontGoAnyLower_one": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus baisser !",
|
||||
"statWontGoAnyLower_other": "{{stats}}\nde {{pokemonNameWithAffix}} ne peuvent plus baisser !",
|
||||
"transformedIntoType": "{{pokemonName}} prend\nle type {{type}} !",
|
||||
"ppReduced": "Les PP de la capacité {{moveName}}\nde {{targetName}} baissent de {{reduction}} !",
|
||||
"retryBattle": "Voulez-vous réessayer depuis le début du combat ?",
|
||||
"unlockedSomething": "{{unlockedThing}}\na été débloqué.",
|
||||
"congratulations": "Félicitations !",
|
||||
"beatModeFirstTime": "{{speciesName}} a battu le mode {{gameMode}} pour la première fois !\nVous avez reçu {{newModifier}} !",
|
||||
"eggSkipPrompt": "Aller directement au résumé des Œufs éclos ?"
|
||||
"congratulations": "Félicitations !",
|
||||
"beatModeFirstTime": "{{speciesName}} a battu le mode {{gameMode}} pour la première fois !\nVous avez reçu {{newModifier}} !",
|
||||
"eggSkipPrompt": "Aller directement au résumé des Œufs éclos ?"
|
||||
}
|
||||
|
@ -29,8 +29,8 @@
|
||||
"nightmareOnAdd": "{{pokemonNameWithAffix}} commence à cauchemarder !",
|
||||
"nightmareOnOverlap": "{{pokemonNameWithAffix}} est\ndéjà prisonnier d’un cauchemar !",
|
||||
"nightmareLapse": "{{pokemonNameWithAffix}}est\nprisonnier d’un cauchemar !",
|
||||
"encoreOnAdd": "{{pokemonNameWithAffix}} !\nEncore une fois !",
|
||||
"encoreOnRemove": "{{pokemonNameWithAffix}} n’est\nplus obligé d’utiliser la même capacité !",
|
||||
"encoreOnAdd": "{{pokemonNameWithAffix}} !\nEncore une fois !",
|
||||
"encoreOnRemove": "{{pokemonNameWithAffix}} n’est\nplus obligé d’utiliser la même capacité !",
|
||||
"helpingHandOnAdd": "{{pokemonNameWithAffix}} est prêt\nà aider {{pokemonName}} !",
|
||||
"ingrainLapse": "{{pokemonNameWithAffix}} absorbe\ndes nutriments avec ses racines !",
|
||||
"ingrainOnTrap": "{{pokemonNameWithAffix}}\nplante ses racines !",
|
||||
@ -50,22 +50,24 @@
|
||||
"protectedOnAdd": "{{pokemonNameWithAffix}}\nest prêt à se protéger !",
|
||||
"protectedLapse": "{{pokemonNameWithAffix}}\nse protège !",
|
||||
"enduringOnAdd": "{{pokemonNameWithAffix}} se prépare\nà encaisser les coups !",
|
||||
"enduringLapse": "{{pokemonNameWithAffix}}\nencaisse les coups !",
|
||||
"sturdyLapse": "{{pokemonNameWithAffix}}\nencaisse les coups !",
|
||||
"enduringLapse": "{{pokemonNameWithAffix}}\nencaisse les coups !",
|
||||
"sturdyLapse": "{{pokemonNameWithAffix}}\nencaisse les coups !",
|
||||
"perishSongLapse": "Le compte à rebours de Requiem\nde {{pokemonNameWithAffix}} descend à {{turnCount}} !",
|
||||
"centerOfAttentionOnAdd": "{{pokemonNameWithAffix}} devient\nle centre de l’attention !",
|
||||
"truantLapse": "{{pokemonNameWithAffix}} paresse !",
|
||||
"slowStartOnAdd": "{{pokemonNameWithAffix}}\nn’arrive pas à se motiver !",
|
||||
"slowStartOnRemove": "{{pokemonNameWithAffix}}\narrive enfin à s’y mettre sérieusement !",
|
||||
"highestStatBoostOnAdd": "{{statName}} de {{pokemonNameWithAffix}}\nest renforcée !",
|
||||
"highestStatBoostOnRemove": "L’effet du talent {{abilityName}}\nde {{pokemonNameWithAffix}} se dissipe !",
|
||||
"magnetRisenOnAdd": "{{pokemonNameWithAffix}} lévite\nsur un champ magnétique !",
|
||||
"magnetRisenOnRemove": "Le magnétisme de{{pokemonNameWithAffix}}\nse dissipe !",
|
||||
"centerOfAttentionOnAdd": "{{pokemonNameWithAffix}} devient\nle centre de l’attention !",
|
||||
"truantLapse": "{{pokemonNameWithAffix}} paresse !",
|
||||
"slowStartOnAdd": "{{pokemonNameWithAffix}}\nn’arrive pas à se motiver !",
|
||||
"slowStartOnRemove": "{{pokemonNameWithAffix}}\narrive enfin à s’y mettre sérieusement !",
|
||||
"highestStatBoostOnAdd": "{{statName}} de {{pokemonNameWithAffix}}\nest renforcée !",
|
||||
"highestStatBoostOnRemove": "L’effet du talent {{abilityName}}\nde {{pokemonNameWithAffix}} se dissipe !",
|
||||
"magnetRisenOnAdd": "{{pokemonNameWithAffix}} lévite\nsur un champ magnétique !",
|
||||
"magnetRisenOnRemove": "Le magnétisme de{{pokemonNameWithAffix}}\nse dissipe !",
|
||||
"critBoostOnAdd": "{{pokemonNameWithAffix}}\nest prêt à tout donner !",
|
||||
"critBoostOnRemove": "{{pokemonNameWithAffix}} se détend.",
|
||||
"saltCuredOnAdd": "{{pokemonNameWithAffix}}\nest couvert de sel !",
|
||||
"saltCuredOnAdd": "{{pokemonNameWithAffix}}\nest couvert de sel !",
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}} est blessé\npar la capacité {{moveName}} !",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}} sacrifie des PV\net lance une malédiction sur {{pokemonName}} !",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}} est touché par la malédiction !",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} utilise\nla capacité Stockage {{stockpiledCount}} fois !"
|
||||
}
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} utilise\nla capacité Stockage {{stockpiledCount}} fois !",
|
||||
"disabledOnAdd": "La capacité {{moveName}}\nde {{pokemonNameWithAffix}} est mise sous entrave !",
|
||||
"disabledLapse": "La capacité {{moveName}}\nde {{pokemonNameWithAffix}} n’est plus sous entrave !"
|
||||
}
|
||||
|
@ -3,5 +3,5 @@
|
||||
"ball": "Ball",
|
||||
"pokemon": "Pokémon",
|
||||
"run": "Fuite",
|
||||
"actionMessage": "Que doit faire\n{{pokemonName}} ?"
|
||||
}
|
||||
"actionMessage": "Que doit faire\n{{pokemonName}} ?"
|
||||
}
|
||||
|
@ -1,83 +1,83 @@
|
||||
{
|
||||
"blue_red_double": {
|
||||
"encounter": {
|
||||
"1": "Blue : Hé Red, montrons-lui de quel bois on se chauffe !\n$Red : …\n$Blue : Voilà la puissance du Bourg Palette !"
|
||||
"1": "Blue : Hé Red, montrons-lui de quel bois on se chauffe !\n$Red : …\n$Blue : Voilà la puissance du Bourg Palette !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Blue : C’était un magnifique combat !\n$Red : …"
|
||||
"1": "Blue : C’était un magnifique combat !\n$Red : …"
|
||||
}
|
||||
},
|
||||
"red_blue_double": {
|
||||
"encounter": {
|
||||
"1": "Red : … !\n$Blue : Il est pas très loquace.\n$Blue : Mais ne te laisse pas avoir, ça reste un Maitre Pokémon !"
|
||||
"1": "Red : … !\n$Blue : Il est pas très loquace.\n$Blue : Mais ne te laisse pas avoir, ça reste un Maitre Pokémon !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Red : … !\n$Blue : La prochaine fois, on va te battre !"
|
||||
"1": "Red : … !\n$Blue : La prochaine fois, on va te battre !"
|
||||
}
|
||||
},
|
||||
"tate_liza_double": {
|
||||
"encounter": {
|
||||
"1": "Lévy : Héhéhé… Tu en fais une drôle de tête.\n$Tatia : Tu ne t’attendais pas à rencontrer deux Champions, n’est-ce pas ?\n$Lévy : Nous sommes des jumeaux !\n$Tatia : Nous n’avons pas besoin de parler entre nous !\n$Lévy : Tu crois pouvoir briser…\n$Tatia : … Notre duo parfait ?"
|
||||
"1": "Lévy : Héhéhé… Tu en fais une drôle de tête.\n$Tatia : Tu ne t’attendais pas à rencontrer deux Champions, n’est-ce pas ?\n$Lévy : Nous sommes des jumeaux !\n$Tatia : Nous n’avons pas besoin de parler entre nous !\n$Lévy : Tu crois pouvoir briser…\n$Tatia : … Notre duo parfait ?"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Lévy : Quoi ? Notre combinaison était parfaite !\n$Tatia : Nous avons encore besoin d’entrainement…"
|
||||
"1": "Lévy : Quoi ? Notre combinaison était parfaite !\n$Tatia : Nous avons encore besoin d’entrainement…"
|
||||
}
|
||||
},
|
||||
"liza_tate_double": {
|
||||
"encounter": {
|
||||
"1": "Tatia : Hihih… Si tu voyais ta tête !\n$Lévy : Oui, nous sommes deux Champions en un !\n$Tatia : Voici mon frère, Lévy…\n$Lévy : … Et ma sœur, Tatia !\n$Tatia : Tu ne penses pas que notre combinaison est parfaite ?"
|
||||
"1": "Tatia : Hihih… Si tu voyais ta tête !\n$Lévy : Oui, nous sommes deux Champions en un !\n$Tatia : Voici mon frère, Lévy…\n$Lévy : … Et ma sœur, Tatia !\n$Tatia : Tu ne penses pas que notre combinaison est parfaite ?"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Tatia : Quoi ? Notre combinaison…\n$Lévy : … a échoué !"
|
||||
"1": "Tatia : Quoi ? Notre combinaison…\n$Lévy : … a échoué !"
|
||||
}
|
||||
},
|
||||
"wallace_steven_double": {
|
||||
"encounter": {
|
||||
"1": "Pierre R. : Marc, montrons-lui la puissance des Maitres !\n$Marc : Tu vas gouter au pouvoir de Hoenn !\n$Pierre R. : C’est parti !"
|
||||
"1": "Pierre R. : Marc, montrons-lui la puissance des Maitres !\n$Marc : Tu vas gouter au pouvoir de Hoenn !\n$Pierre R. : C’est parti !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Pierre R. : C’était un beau combat !\n$Marc : Ce sera notre tour la prochaine fois !"
|
||||
"1": "Pierre R. : C’était un beau combat !\n$Marc : Ce sera notre tour la prochaine fois !"
|
||||
}
|
||||
},
|
||||
"steven_wallace_double": {
|
||||
"encounter": {
|
||||
"1": "Pierre R. : Excuse-moi, aurais-tu des Pokémon rares ?\n$Marc : Pierre… Nous sommes là pour nous battre, pas pour frimer avec nos Pokémon.\n$Pierre R. : Oh… Je vois… Commençons alors !"
|
||||
"1": "Pierre R. : Excuse-moi, aurais-tu des Pokémon rares ?\n$Marc : Pierre… Nous sommes là pour nous battre, pas pour frimer avec nos Pokémon.\n$Pierre R. : Oh… Je vois… Commençons alors !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Pierre R. : Bien, maintenant que ce combat est clos, montrons-nous nos Pokémon !\n$Marc : Pierre…"
|
||||
"1": "Pierre R. : Bien, maintenant que ce combat est clos, montrons-nous nos Pokémon !\n$Marc : Pierre…"
|
||||
}
|
||||
},
|
||||
"alder_iris_double": {
|
||||
"encounter": {
|
||||
"1": "Goyah : Nous sommes l’élite des Dresseurs d’Unys !\n$Iris : Rien de mieux que des combats contre des prodiges !"
|
||||
"1": "Goyah : Nous sommes l’élite des Dresseurs d’Unys !\n$Iris : Rien de mieux que des combats contre des prodiges !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Goyah : INCROYABLE ! T’es trop doué !\n$Iris : On gagnera la prochaine fois !"
|
||||
"1": "Goyah : INCROYABLE ! T’es trop doué !\n$Iris : On gagnera la prochaine fois !"
|
||||
}
|
||||
},
|
||||
"iris_alder_double": {
|
||||
"encounter": {
|
||||
"1": "Iris : Bienvenue, Dresseur ! Je suis LA Maitresse d’Unys !\n$Goyah : Iris, concentre-toi s’il te plait…"
|
||||
"1": "Iris : Bienvenue, Dresseur ! Je suis LA Maitresse d’Unys !\n$Goyah : Iris, concentre-toi s’il te plait…"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Iris : On a tout donné et pourtant…\n$Goyah : Cette défaite ne pourra que nous être bénéfique !"
|
||||
"1": "Iris : On a tout donné et pourtant…\n$Goyah : Cette défaite ne pourra que nous être bénéfique !"
|
||||
}
|
||||
},
|
||||
"piers_marnie_double": {
|
||||
"encounter": {
|
||||
"1": "Rosemary : Frérot, montrons-lui la puissance de Smashings !\n$Peterson : Nous sommes les ténèbres !"
|
||||
"1": "Rosemary : Frérot, montrons-lui la puissance de Smashings !\n$Peterson : Nous sommes les ténèbres !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Rosemary : T’as amené la lumière dans les ténèbres !\n$Peterson : P’têtre un peu trop…"
|
||||
"1": "Rosemary : T’as amené la lumière dans les ténèbres !\n$Peterson : P’têtre un peu trop…"
|
||||
}
|
||||
},
|
||||
"marnie_piers_double": {
|
||||
"encounter": {
|
||||
"1": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Il est pas là pour chanter, mais se battre…",
|
||||
"1_female": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Elle est pas là pour chanter, mais se battre…"
|
||||
"1": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Il est pas là pour chanter, mais se battre…",
|
||||
"1_female": "Peterson : Chauds pour un concert ?\n$Rosemary : Frérot… Elle est pas là pour chanter, mais se battre…"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Peterson : Ça c’est du rock !\n$Rosemary : Frérot…"
|
||||
"1": "Peterson : Ça c’est du rock !\n$Rosemary : Frérot…"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"encounter": "Une fois de plus, te revoilà.\nSais-tu que ce n’est point là ta première venue ?\n$Tu as été appelé ici parce que t’y es déjà venu.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusqu’à maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que j’ai le sentiment d’en ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.",
|
||||
"encounter_female": "Une fois de plus, te revoilà.\nSais-tu que ce n’est point là ta première venue ?\n$Tu as été appelée ici parce que t’y es déjà venue.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusqu’à maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que j’ai le sentiment d’en ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.",
|
||||
"encounter": "Une fois de plus, te revoilà.\nSais-tu que ce n’est point là ta première venue ?\n$Tu as été appelé ici parce que t’y es déjà venu.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusqu’à maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que j’ai le sentiment d’en ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.",
|
||||
"encounter_female": "Une fois de plus, te revoilà.\nSais-tu que ce n’est point là ta première venue ?\n$Tu as été appelée ici parce que t’y es déjà venue.\nUn nombre inimaginable de fois.\n$Mais allons-y, faisons le décompte.\nTu en es très précisément à ton {{cycleCount}}e cycle.\n$Chaque cycle réinitialise ton souvenir du précédent.\nMais étrangement, des bribes subsistent en toi.\n$Jusqu’à maintenant, tu as toujours échoué. Mais je ressens quelque chose de différent cette fois-ci.\n\n$Tu es la seule présence ici, bien que j’ai le sentiment d’en ressentir… une autre.\n$Vas-tu enfin me livrer un affrontement digne de ce nom ?\nCe challenge dont je rêve depuis un millénaire ?\n$Commençons.",
|
||||
"firstStageWin": "Je vois. Cette présence était bien réelle.\nJe n’ai donc plus besoin de retenir mes coups.\n$Ne me déçoit pas.",
|
||||
"secondStageWin": "… Magnifique."
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,6 @@
|
||||
{
|
||||
"ending": "@c{shock}T’es revenu ?@d{32} Ça veut dire…@d{96} que t’as gagné ?!\n@c{smile_ehalf}J’aurais dû m’en douter.\n$@c{smile_eclosed}Bien sûr… J’ai toujours eu ce sentiment.\n@c{smile}C’est fini maintenant hein ? T’as brisé ce cycle.\n$@c{smile_ehalf}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$Je serai la seule à me souvenir de ce que t’as fait.\n@c{angry_mopen}Je tâcherai de ne pas oublier !\n$@c{smile_wave_wink}J’déconne !@d{64} @c{smile}Jamais j’oublierai.@d{32}\nTa légende vivra à jamais dans nos cœurs.\n$@c{smile_wave}Bon,@d{64} il se fait tard…@d{96} je crois ?\nDifficile à dire ici.\n$Rentrons, @c{smile_wave_wink}et demain on se fera un p’tit combat, comme au bon vieux temps ?",
|
||||
"ending_female": "@c{smile}Oh ? T’as gagné ?@d{96} @c{smile_eclosed}J’aurais dû m’en douter.\nMais te voilà enfin de retour.\n$@c{smile}C’est terminé.@d{64} T’as brisé ce cycle infernal.\n$@c{serious_smile_fists}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$@c{neutral}Je suis le seul à me souvenir de ce que t’as fait.@d{96}\nJe pense que ça ira, non ?\n$@c{serious_smile_fists}Ta légende vivra à jamais dans nos cœurs.\n$@c{smile_eclosed}Bref, j’en ai un peu marre de ce endroit, pas toi ? Rentrons à la maison.\n$@c{serious_smile_fists}On se fera un p’tit combat une fois rentrés ?\nSi t’es d’accord.",
|
||||
"ending_endless": "Félicitations ! Vous avez atteint la fin actuelle.\nPlus de contenu à venir bientôt !",
|
||||
"ending": "@c{shock}T’es revenu ?@d{32} Ça veut dire…@d{96} que t’as gagné ?!\n@c{smile_ehalf}J’aurais dû m’en douter.\n$@c{smile_eclosed}Bien sûr… J’ai toujours eu ce sentiment.\n@c{smile}C’est fini maintenant hein ? T’as brisé ce cycle.\n$@c{smile_ehalf}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$Je serai la seule à me souvenir de ce que t’as fait.\n@c{angry_mopen}Je tâcherai de ne pas oublier !\n$@c{smile_wave_wink}J’déconne !@d{64} @c{smile}Jamais j’oublierai.@d{32}\nTa légende vivra à jamais dans nos cœurs.\n$@c{smile_wave}Bon,@d{64} il se fait tard…@d{96} je crois ?\nDifficile à dire ici.\n$Rentrons, @c{smile_wave_wink}et demain on se fera un p’tit combat, comme au bon vieux temps ?",
|
||||
"ending_female": "@c{smile}Oh ? T’as gagné ?@d{96} @c{smile_eclosed}J’aurais dû m’en douter.\nMais te voilà enfin de retour.\n$@c{smile}C’est terminé.@d{64} T’as brisé ce cycle infernal.\n$@c{serious_smile_fists}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.\n$@c{neutral}Je suis le seul à me souvenir de ce que t’as fait.@d{96}\nJe pense que ça ira, non ?\n$@c{serious_smile_fists}Ta légende vivra à jamais dans nos cœurs.\n$@c{smile_eclosed}Bref, j’en ai un peu marre de ce endroit, pas toi ? Rentrons à la maison.\n$@c{serious_smile_fists}On se fera un p’tit combat une fois rentrés ?\nSi t’es d’accord.",
|
||||
"ending_endless": "Félicitations ! Vous avez atteint la fin actuelle.\nPlus de contenu à venir bientôt !",
|
||||
"ending_name": "Les devs"
|
||||
}
|
||||
|
@ -1,50 +1,50 @@
|
||||
{
|
||||
"youngster": {
|
||||
"encounter": {
|
||||
"1": "Hé ! Combat ?",
|
||||
"2": "Toi aussi tu débutes ?",
|
||||
"3": "Hé, j’me souviens pas de ta tête. Combat !",
|
||||
"4": "J’ai perdu, alors j’essaye de capturer d’autres Pokémon.\nHé, t’as l’air faible toi ! Allez, combat !",
|
||||
"5": "On s’connait ? J’ai comme un doute. Dans tous les cas, sympa de te rencontrer !",
|
||||
"6": "Allez, c’est parti !",
|
||||
"7": "Attention, me voilà !\nTu vas voir comment j’suis fort !",
|
||||
"8": "Coucou… Tu veux voir mes bô Pokémon ?",
|
||||
"9": "Trêve de mondanités. Ramène-toi quand tu le sens !",
|
||||
"1": "Hé ! Combat ?",
|
||||
"2": "Toi aussi tu débutes ?",
|
||||
"3": "Hé, j’me souviens pas de ta tête. Combat !",
|
||||
"4": "J’ai perdu, alors j’essaye de capturer d’autres Pokémon.\nHé, t’as l’air faible toi ! Allez, combat !",
|
||||
"5": "On s’connait ? J’ai comme un doute. Dans tous les cas, sympa de te rencontrer !",
|
||||
"6": "Allez, c’est parti !",
|
||||
"7": "Attention, me voilà !\nTu vas voir comment j’suis fort !",
|
||||
"8": "Coucou… Tu veux voir mes bô Pokémon ?",
|
||||
"9": "Trêve de mondanités. Ramène-toi quand tu le sens !",
|
||||
"10": "Baisse pas ta garde si tu veux pas pleurer d’avoir perdu face à un gamin.",
|
||||
"11": "J’ai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
|
||||
"12": "Incroyable que t’y sois parvenu ! Mais la suite va pas être une partie de plaisir.",
|
||||
"12_female": "Incroyable que t’y sois parvenue ! Mais la suite va pas être une partie de plaisir.",
|
||||
"13": "Les combats sont éternels ! Bienvenue dans un monde sans fin !"
|
||||
"11": "J’ai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
|
||||
"12": "Incroyable que t’y sois parvenu ! Mais la suite va pas être une partie de plaisir.",
|
||||
"12_female": "Incroyable que t’y sois parvenue ! Mais la suite va pas être une partie de plaisir.",
|
||||
"13": "Les combats sont éternels ! Bienvenue dans un monde sans fin !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Hé, mais t’es trop fort !",
|
||||
"1_female": "Hé, mais t’es trop forte !",
|
||||
"2": "En vrai j’avais aucune chance hein ?",
|
||||
"3": "J’te retrouverai un jour, et là j’te battrai !",
|
||||
"1": "Hé, mais t’es trop fort !",
|
||||
"1_female": "Hé, mais t’es trop forte !",
|
||||
"2": "En vrai j’avais aucune chance hein ?",
|
||||
"3": "J’te retrouverai un jour, et là j’te battrai !",
|
||||
"4": "Arg… J’ai plus aucun Pokémon.",
|
||||
"5": "Non… IMPOSSIBLE ! Pourquoi j’ai encore perdu…",
|
||||
"6": "Non ! J’ai perdu !",
|
||||
"7": "Waah ! T’es trop incroyable ! J’suis bouche bée !",
|
||||
"5": "Non… IMPOSSIBLE ! Pourquoi j’ai encore perdu…",
|
||||
"6": "Non ! J’ai perdu !",
|
||||
"7": "Waah ! T’es trop incroyable ! J’suis bouche bée !",
|
||||
"8": "Pourquoi… Comment… Pourtant on est les plus forts, mes Pokémon et moi…",
|
||||
"9": "J’perdrai pas la prochaine fois ! Remettons ça un jour !",
|
||||
"10": "Weeeesh ! Tu vois que j’suis qu’un gamin ? C’est pas juste de me bully comme ça !",
|
||||
"11": "Tes Pokémon sont trop incroyables !\n… P’tit échange ?",
|
||||
"12": "Je me suis fait un peu aider plus tôt, mais de quel taf je parlais ?",
|
||||
"13": "Ahaha ! Et voilà, ça y est !\nT’es déjà comme chez toi dans ce monde !"
|
||||
"9": "J’perdrai pas la prochaine fois ! Remettons ça un jour !",
|
||||
"10": "Weeeesh ! Tu vois que j’suis qu’un gamin ? C’est pas juste de me bully comme ça !",
|
||||
"11": "Tes Pokémon sont trop incroyables !\n… P’tit échange ?",
|
||||
"12": "Je me suis fait un peu aider plus tôt, mais de quel taf je parlais ?",
|
||||
"13": "Ahaha ! Et voilà, ça y est !\nT’es déjà comme chez toi dans ce monde !"
|
||||
}
|
||||
},
|
||||
"lass": {
|
||||
"encounter": {
|
||||
"1": "Affrontons-nous, d’accord ?",
|
||||
"2": "T’as l’air d’un nouveau Dresseur. Battons nous !",
|
||||
"2_female": "T’as l’air d’une nouvelle Dresseuse. Battons nous !",
|
||||
"3": "Je te connais pas. Ça te dis de te battre ?",
|
||||
"4": "Prenons du bon temps avec ce combat Pokémon !",
|
||||
"5": "Je vais t’apprendre à te battre avec tes Pokémon !",
|
||||
"1": "Affrontons-nous, d’accord ?",
|
||||
"2": "T’as l’air d’un nouveau Dresseur. Battons nous !",
|
||||
"2_female": "T’as l’air d’une nouvelle Dresseuse. Battons nous !",
|
||||
"3": "Je te connais pas. Ça te dis de te battre ?",
|
||||
"4": "Prenons du bon temps avec ce combat Pokémon !",
|
||||
"5": "Je vais t’apprendre à te battre avec tes Pokémon !",
|
||||
"6": "Un combat doit toujours être pris au sérieux.\nT’es prêt à te battre ?",
|
||||
"6_female": "Un combat doit toujours être pris au sérieux.\nT’es prête à te battre ?",
|
||||
"6_female": "Un combat doit toujours être pris au sérieux.\nT’es prête à te battre ?",
|
||||
"7": "Tu seras pas jeune éternellement. T’as qu’une chance pendant un combat. Bientôt, tu seras plus qu’un souvenir.",
|
||||
"8": "Tu ferais mieux d’y aller doucement avec moi. Mais je vais me battre sérieusement !",
|
||||
"8": "Tu ferais mieux d’y aller doucement avec moi. Mais je vais me battre sérieusement !",
|
||||
"9": "Je m’ennuie à l’école. Y’a rien à y faire. *Baille*\nJe me bats juste pour passer le temps."
|
||||
},
|
||||
"victory": {
|
||||
@ -52,12 +52,12 @@
|
||||
"2": "Je ne pensais pas que je perdrais comme ça…",
|
||||
"2_female": "Je pensais pas que je perdrais comme ça…",
|
||||
"3": "J’espère que j’aurai ma revanche un jour.",
|
||||
"4": "C’était super amusant ! Mais ce combat m’a épuisée…",
|
||||
"5": "Tu m’as appris une belle leçon ! T’es vraiment incroyable !",
|
||||
"6": "Vraiment ? J’ai perdu… ? C’est des choses qui arrivent, ça me déprime mais tu es vraiment très cool.",
|
||||
"6_female": "Vraiment ? J’ai perdu… ? C’est des choses qui arrivent, ça me déprime mais t’es vraiment très cool.",
|
||||
"4": "C’était super amusant ! Mais ce combat m’a épuisée…",
|
||||
"5": "Tu m’as appris une belle leçon ! T’es vraiment incroyable !",
|
||||
"6": "Vraiment ? J’ai perdu… ? C’est des choses qui arrivent, ça me déprime mais tu es vraiment très cool.",
|
||||
"6_female": "Vraiment ? J’ai perdu… ? C’est des choses qui arrivent, ça me déprime mais t’es vraiment très cool.",
|
||||
"7": "J’ai pas besoin de ce genre de souvenirs.\n*Suppression de mémoire en cours…*",
|
||||
"8": "Hé ! Je t’avais dit d’y aller doucement avec moi ! Mais t’es vraiment si cool quand tu te bats sérieusement…",
|
||||
"8": "Hé ! Je t’avais dit d’y aller doucement avec moi ! Mais t’es vraiment si cool quand tu te bats sérieusement…",
|
||||
"9": "J’en ai marre des combats Pokémon…\nJe vais chercher d’autres trucs à faire…"
|
||||
}
|
||||
},
|
||||
@ -123,7 +123,7 @@
|
||||
"encounter": {
|
||||
"1": "C’est l’heure de plonger dans le vif !",
|
||||
"2": "C’est le moment de surfer sur les vagues de la victoire !",
|
||||
"3": "Je vais t’éclabousser de mon talent !"
|
||||
"3": "Je vais t’éclabousser de mon talent !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Tu m’as complètement séché",
|
||||
@ -169,10 +169,10 @@
|
||||
},
|
||||
"parasol_lady": {
|
||||
"encounter": {
|
||||
"1": "Honorons ce terrain de combat avec élégance et équilibre !"
|
||||
"1": "Honorons ce terrain de combat avec élégance et équilibre !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Mon élégance demeure inébranlable !"
|
||||
"1": "Mon élégance demeure inébranlable !"
|
||||
}
|
||||
},
|
||||
"rocket_grunt": {
|
||||
@ -528,14 +528,14 @@
|
||||
"3": "Ouah ! T’es super balèze !"
|
||||
},
|
||||
"defeat": {
|
||||
"1": "Qu’en dis-tu? C’est ça, la puissance des Pokémon Eau !",
|
||||
"1": "Qu’en dis-tu ? C’est ça, la puissance des Pokémon Eau !",
|
||||
"2": "J’espère que t’as pris note des élégantes techniques de nage de mes Pokémon !",
|
||||
"3": "Tes Pokémon ne jouent visiblement pas dans le même bassin…"
|
||||
}
|
||||
},
|
||||
"lt_surge": {
|
||||
"encounter": {
|
||||
"1": "T’as pas froid aux yeux, soldat ! Les combats Pokémon, c’est la guerre !",
|
||||
"1": "T’as pas froid aux yeux, soldat ! Les combats Pokémon, c’est la guerre !",
|
||||
"2": "Tu as du guts pour venir me fight ici ! Je vais te shock !",
|
||||
"3": "Compte tes dents, tu vas morfler !\nMes Pokémon Électrik vont t’atomiser !"
|
||||
},
|
||||
@ -573,56 +573,56 @@
|
||||
},
|
||||
"alder": {
|
||||
"encounter": {
|
||||
"1": "Prépare-toi pour un combat contre le meilleur Dresseur d’Unys !"
|
||||
"1": "Prépare-toi pour un combat contre le meilleur Dresseur d’Unys !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "Bien joué ! Tu as sans aucun doute un talent inégalé."
|
||||
"1": "Bien joué ! Tu as sans aucun doute un talent inégalé."
|
||||
},
|
||||
"defeat": {
|
||||
"1": "Une brise fraiche traverse mon cœur…\n$Quel effort extraordinaire !"
|
||||
"1": "Une brise fraiche traverse mon cœur…\n$Quel effort extraordinaire !"
|
||||
}
|
||||
},
|
||||
"kieran": {
|
||||
"encounter": {
|
||||
"1": "Grâce à un travail acharné, je deviens de plus en plus fort !\n$Je ne perdrai pas."
|
||||
"1": "Grâce à un travail acharné, je deviens de plus en plus fort !\n$Je ne perdrai pas."
|
||||
},
|
||||
"victory": {
|
||||
"1": "Je n’y crois pas…\n$Quel combat amusant et palpitant !"
|
||||
"1": "Je n’y crois pas…\n$Quel combat amusant et palpitant !"
|
||||
},
|
||||
"defeat": {
|
||||
"1": "Eh beh, quel combat !\n$Il est temps pour toi de t’entrainer encore plus dur."
|
||||
"1": "Eh beh, quel combat !\n$Il est temps pour toi de t’entrainer encore plus dur."
|
||||
}
|
||||
},
|
||||
"rival": {
|
||||
"encounter": {
|
||||
"1": "@c{smile}Ah, je te cherchais ! Je savais que t’étais pressée de partir, mais je m’attendais quand même à un au revoir…\n$@c{smile_eclosed}T’as finalement décidé de réaliser ton rêve ?\nJ’ai peine à y croire.\n$@c{serious_smile_fists}Vu que t’es là, ça te dis un petit combat ?\nJe voudrais quand même m’assurer que t’es prête.\n$@c{serious_mopen_fists}Surtout ne te retiens pas et donne-moi tout ce que t’as !"
|
||||
"1": "@c{smile}Ah, je te cherchais ! Je savais que t’étais pressée de partir, mais je m’attendais quand même à un au revoir…\n$@c{smile_eclosed}T’as finalement décidé de réaliser ton rêve ?\nJ’ai peine à y croire.\n$@c{serious_smile_fists}Vu que t’es là, ça te dis un petit combat ?\nJe voudrais quand même m’assurer que t’es prête.\n$@c{serious_mopen_fists}Surtout ne te retiens pas et donne-moi tout ce que t’as !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{shock}Wah… Tu m’as vraiment lavé.\nT’es vraiment une débutante ?\n$@c{smile}T’as peut-être eu de la chance, mais…\nPeut-être que t’arriveras jusqu’au bout du chemin.\n$D’ailleurs, le prof m’a demandé de te filer ces objets.\nIls ont l’air sympas.\n$@c{serious_smile_fists}Bonne chance à toi !"
|
||||
"1": "@c{shock}Wah… Tu m’as vraiment lavé.\nT’es vraiment une débutante ?\n$@c{smile}T’as peut-être eu de la chance, mais…\nPeut-être que t’arriveras jusqu’au bout du chemin.\n$D’ailleurs, le prof m’a demandé de te filer ces objets.\nIls ont l’air sympas.\n$@c{serious_smile_fists}Bonne chance à toi !"
|
||||
}
|
||||
},
|
||||
"rival_female": {
|
||||
"encounter": {
|
||||
"1": "@c{smile_wave}Ah, te voilà ! Je t’ai cherché partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?\n$@c{smile_ehalf}T’as décidé de réaliser ton rêve, hein ?\nCe jour est donc vraiment arrivé…\n$@c{smile}Je veux bien te pardonner de m’avoir oubliée,\nà une condition. @c{smile_wave_wink}Que tu m’affronte !\n$@c{angry_mopen}Donne tout ! Ce serait dommage que ton aventure finisse avant d’avoir commencé, hein ?"
|
||||
"1": "@c{smile_wave}Ah, te voilà ! Je t’ai cherché partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?\n$@c{smile_ehalf}T’as décidé de réaliser ton rêve, hein ?\nCe jour est donc vraiment arrivé…\n$@c{smile}Je veux bien te pardonner de m’avoir oubliée,\nà une condition. @c{smile_wave_wink}Que tu m’affronte !\n$@c{angry_mopen}Donne tout ! Ce serait dommage que ton aventure finisse avant d’avoir commencé, hein ?"
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{shock}Tu viens de commencer et t’es déjà si fort ?!@d{96}\n@c{angry}T’as triché non ? Avoue !\n$@c{smile_wave_wink}J’déconne !@d{64} @c{smile_eclosed}J’ai perdu dans les règles…\nJ’ai le sentiment que tu vas très bien t’en sortir.\n$@c{smile}D’ailleurs, le prof veut que je te donne ces quelques objets. Ils te seront utiles, pour sûr !\n$@c{smile_wave}Fais de ton mieux, comme toujours !\nJe crois fort en toi !"
|
||||
"1": "@c{shock}Tu viens de commencer et t’es déjà si fort ?!@d{96}\n@c{angry}T’as triché non ? Avoue !\n$@c{smile_wave_wink}J’déconne !@d{64} @c{smile_eclosed}J’ai perdu dans les règles…\nJ’ai le sentiment que tu vas très bien t’en sortir.\n$@c{smile}D’ailleurs, le prof veut que je te donne ces quelques objets. Ils te seront utiles, pour sûr !\n$@c{smile_wave}Fais de ton mieux, comme toujours !\nJe crois fort en toi !"
|
||||
}
|
||||
},
|
||||
"rival_2": {
|
||||
"encounter": {
|
||||
"1": "@c{smile}Hé, toi aussi t’es là ?\n@c{smile_eclosed}Toujours invaincue, hein… ?\n$@c{serious_mopen_fists}Je sais que j’ai l’air de t’avoir suivie ici, mais c’est pas complètement vrai.\n$@c{serious_smile_fists}Pour être honnête, ça me démangeait d’avoir une revanche depuis que tu m’as battu.\n$Je me suis beaucoup entrainé, alors sois sure que je vais pas retenir mes coups cette fois.\n$@c{serious_mopen_fists}Et comme la dernière fois, ne te retiens pas !\nC’est parti !"
|
||||
"1": "@c{smile}Hé, toi aussi t’es là ?\n@c{smile_eclosed}Toujours invaincue, hein… ?\n$@c{serious_mopen_fists}Je sais que j’ai l’air de t’avoir suivie ici, mais c’est pas complètement vrai.\n$@c{serious_smile_fists}Pour être honnête, ça me démangeait d’avoir une revanche depuis que tu m’as battu.\n$Je me suis beaucoup entrainé, alors sois sure que je vais pas retenir mes coups cette fois.\n$@c{serious_mopen_fists}Et comme la dernière fois, ne te retiens pas !\nC’est parti !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{neutral_eclosed}Oh. Je crois que j’ai trop pris la confiance.\n$@c{smile}Pas grave, c’est OK. Je me doutais que ça arriverait.\n@c{serious_mopen_fists}Je vais juste devoir encore plus m’entrainer !\n\n$@c{smile}Ah, et pas que t’aies réellement besoin d’aide, mais j’ai ça en trop sur moi qui pourrait t’intéresser.\n\n$@c{serious_smile_fists}Mais n’espère plus en avoir d’autres !\nJe peux pas passer mon temps à aider mon adversaire.\n$@c{smile}Bref, prends soin de toi !"
|
||||
"1": "@c{neutral_eclosed}Oh. Je crois que j’ai trop pris la confiance.\n$@c{smile}Pas grave, c’est OK. Je me doutais que ça arriverait.\n@c{serious_mopen_fists}Je vais juste devoir encore plus m’entrainer !\n\n$@c{smile}Ah, et pas que t’aies réellement besoin d’aide, mais j’ai ça en trop sur moi qui pourrait t’intéresser.\n\n$@c{serious_smile_fists}Mais n’espère plus en avoir d’autres !\nJe peux pas passer mon temps à aider mon adversaire.\n$@c{smile}Bref, prends soin de toi !"
|
||||
}
|
||||
},
|
||||
"rival_2_female": {
|
||||
"encounter": {
|
||||
"1": "@c{smile_wave}Hé, sympa de te croiser ici. T’as toujours l’air invaincu. @c{angry_mopen}Eh… Pas mal !\n$@c{angry_mopen}Je sais à quoi tu penses et non, je t’espionne pas.\n@c{smile_eclosed}C’est juste que j’étais aussi dans le coin.\n$@c{smile_ehalf}Heureuse pour toi, mais je veux juste te rappeler que c’est pas grave de perdre parfois.\n$@c{smile}On apprend de nos erreurs, souvent plus que si on ne connaissait que le succès.\n$@c{angry_mopen}Dans tous les cas je me suis bien entrainée pour cette revanche, t’as intérêt à tout donner !"
|
||||
"1": "@c{smile_wave}Hé, sympa de te croiser ici. T’as toujours l’air invaincu. @c{angry_mopen}Eh… Pas mal !\n$@c{angry_mopen}Je sais à quoi tu penses et non, je t’espionne pas.\n@c{smile_eclosed}C’est juste que j’étais aussi dans le coin.\n$@c{smile_ehalf}Heureuse pour toi, mais je veux juste te rappeler que c’est pas grave de perdre parfois.\n$@c{smile}On apprend de nos erreurs, souvent plus que si on ne connaissait que le succès.\n$@c{angry_mopen}Dans tous les cas je me suis bien entrainée pour cette revanche, t’as intérêt à tout donner !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{neutral}Je… J’étais pas encore supposée perdre…\n$@c{smile}Bon. Ça veut juste dire que je vais devoir encore plus m’entrainer !\n$@c{smile_wave}J’ai aussi ça en rab pour toi !\n@c{smile_wave_wink}Inutile de me remercier ~.\n$@c{angry_mopen}C’étaient les derniers, terminé les cadeaux après ceux-là !\n$@c{smile_wave}Allez, tiens le coup !"
|
||||
"1": "@c{neutral}Je… J’étais pas encore supposée perdre…\n$@c{smile}Bon. Ça veut juste dire que je vais devoir encore plus m’entrainer !\n$@c{smile_wave}J’ai aussi ça en rab pour toi !\n@c{smile_wave_wink}Inutile de me remercier ~.\n$@c{angry_mopen}C’étaient les derniers, terminé les cadeaux après ceux-là !\n$@c{smile_wave}Allez, tiens le coup !"
|
||||
},
|
||||
"defeat": {
|
||||
"1": "Je suppose que c’est parfois normal de perdre…"
|
||||
@ -630,18 +630,18 @@
|
||||
},
|
||||
"rival_3": {
|
||||
"encounter": {
|
||||
"1": "@c{smile}Hé, mais qui voilà ! Ça fait un bail.\n@c{neutral}T’es… toujours invaincue ? Incroyable.\n$@c{neutral_eclosed}Tout est devenu un peu… étrange.\nC’est plus pareil sans toi au village.\n$@c{serious}Je sais que c’est égoïste, mais j’ai besoin d’expier ça.\n@c{neutral_eclosed}Je crois que tout ça te dépasse.\n$@c{serious}Ne jamais perdre, c’est juste irréaliste.\nGrandir, c’est parfois aussi savoir perdre.\n$@c{neutral_eclosed}T’as un beau parcours, mais il y a encore tellement à venir et ça va pas s’arranger. @c{neutral}T’es prête pour ça ?\n$@c{serious_mopen_fists}Si tu l’es, alors prouve-le."
|
||||
"1": "@c{smile}Hé, mais qui voilà ! Ça fait un bail.\n@c{neutral}T’es… toujours invaincue ? Incroyable.\n$@c{neutral_eclosed}Tout est devenu un peu… étrange.\nC’est plus pareil sans toi au village.\n$@c{serious}Je sais que c’est égoïste, mais j’ai besoin d’expier ça.\n@c{neutral_eclosed}Je crois que tout ça te dépasse.\n$@c{serious}Ne jamais perdre, c’est juste irréaliste.\nGrandir, c’est parfois aussi savoir perdre.\n$@c{neutral_eclosed}T’as un beau parcours, mais il y a encore tellement à venir et ça va pas s’arranger. @c{neutral}T’es prête pour ça ?\n$@c{serious_mopen_fists}Si tu l’es, alors prouve-le."
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{angry_mhalf}C’est lunaire… J’ai presque fait que m’entrainer…\nAlors pourquoi il y a encore un tel écart entre nous ?"
|
||||
"1": "@c{angry_mhalf}C’est lunaire… J’ai presque fait que m’entrainer…\nAlors pourquoi il y a encore un tel écart entre nous ?"
|
||||
}
|
||||
},
|
||||
"rival_3_female": {
|
||||
"encounter": {
|
||||
"1": "@c{smile_wave}Ça fait une éternité ! Toujours debout hein ?\n@c{angry}Tu commences à me pousser à bout là. @c{smile_wave_wink}T’inquiètes j’déconne !\n$@c{smile_ehalf}Mais en vrai, ta maison te manque pas ? Ou… Moi ?\nJ… Je veux dire… Tu me manques vraiment beaucoup.\n$@c{smile_eclosed}Je te soutiendrai toujours dans tes ambitions, mais la vérité est que tu finiras par perdre un jour ou l’autre.\n$@c{smile}Quand ça arrivera, je serai là pour toi, comme toujours.\n@c{angry_mopen}Maintenant, montre-moi à quel point t’es devenu fort !"
|
||||
"1": "@c{smile_wave}Ça fait une éternité ! Toujours debout hein ?\n@c{angry}Tu commences à me pousser à bout là. @c{smile_wave_wink}T’inquiètes j’déconne !\n$@c{smile_ehalf}Mais en vrai, ta maison te manque pas ? Ou… Moi ?\nJ… Je veux dire… Tu me manques vraiment beaucoup.\n$@c{smile_eclosed}Je te soutiendrai toujours dans tes ambitions, mais la vérité est que tu finiras par perdre un jour ou l’autre.\n$@c{smile}Quand ça arrivera, je serai là pour toi, comme toujours.\n@c{angry_mopen}Maintenant, montre-moi à quel point t’es devenu fort !"
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{shock}Après tout ça… Ça te suffit toujours pas… ?\nTu reviendras jamais à ce rythme…"
|
||||
"1": "@c{shock}Après tout ça… Ça te suffit toujours pas… ?\nTu reviendras jamais à ce rythme…"
|
||||
},
|
||||
"defeat": {
|
||||
"1": "T’as fait de ton mieux.\nAllez, rentrons à la maison."
|
||||
@ -652,15 +652,15 @@
|
||||
"1": "@c{neutral}Hé.\n$Je vais pas y aller par quatre chemins avec toi.\n@c{neutral_eclosed}Je suis là pour gagner. Simple, basique.\n$@c{serious_mhalf_fists}J’ai appris à maximiser tout mon potentiel en m’entrainant d’arrachepied.\n$@c{smile}C’est fou tout le temps que tu peux te dégager si tu dors pas en sacrifiant ta vie sociale.\n$@c{serious_mopen_fists}Plus rien n’a d’importance désormais, pas tant que j’aurai pas gagné.\n$@c{neutral_eclosed}J’ai atteint un stade où je ne peux plus perdre.\n@c{smile_eclosed}Je présume que ta philosophie était pas si fausse finalement.\n$@c{angry_mhalf}La défaite, c’est pour les faibles, et je ne suis plus un faible.\n$@c{serious_mopen_fists}Tiens-toi prête."
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{neutral}Que…@d{64} Qui es-tu ?"
|
||||
"1": "@c{neutral}Que…@d{64} Qui es-tu ?"
|
||||
}
|
||||
},
|
||||
"rival_4_female": {
|
||||
"encounter": {
|
||||
"1": "@c{neutral}C’est moi ! Tu m’as pas encore oubliée… n’est-ce pas ?\n$@c{smile}Tu devrais être fier d’être arrivé aussi loin. GG !\nMais c’est certainement pas la fin de ton aventure.\n$@c{smile_eclosed}T’as éveillé en moi quelque chose que j’ignorais.\nTout mon temps passe dans l’entrainement.\n$@c{smile_ehalf}Je dors et je mange à peine, je m’entraine juste tous les jours, et deviens de plus en plus forte.\n$@c{neutral}En vrai, Je… J’ai de la peine à me reconnaitre.\n$Mais maintenant, je suis au top de mes capacités.\nJe doute que tu sois de nouveau capable de me battre.\n$Et tu sais quoi ? Tout ça, c’est de ta faute.\n@c{smile_ehalf}Et j’ignore si je dois te remercier ou te haïr.\n$@c{angry_mopen}Tiens-toi prêt."
|
||||
"1": "@c{neutral}C’est moi ! Tu m’as pas encore oubliée… n’est-ce pas ?\n$@c{smile}Tu devrais être fier d’être arrivé aussi loin. GG !\nMais c’est certainement pas la fin de ton aventure.\n$@c{smile_eclosed}T’as éveillé en moi quelque chose que j’ignorais.\nTout mon temps passe dans l’entrainement.\n$@c{smile_ehalf}Je dors et je mange à peine, je m’entraine juste tous les jours, et deviens de plus en plus forte.\n$@c{neutral}En vrai, Je… J’ai de la peine à me reconnaitre.\n$Mais maintenant, je suis au top de mes capacités.\nJe doute que tu sois de nouveau capable de me battre.\n$Et tu sais quoi ? Tout ça, c’est de ta faute.\n@c{smile_ehalf}Et j’ignore si je dois te remercier ou te haïr.\n$@c{angry_mopen}Tiens-toi prêt."
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{neutral}Que…@d{64} Qui es-tu ?"
|
||||
"1": "@c{neutral}Que…@d{64} Qui es-tu ?"
|
||||
},
|
||||
"defeat": {
|
||||
"1": "$@c{smile}Tu devrais être fier d’être arrivé jusque là."
|
||||
@ -687,7 +687,7 @@
|
||||
},
|
||||
"rival_6": {
|
||||
"encounter": {
|
||||
"1": "@c{smile_eclosed}Nous y revoilà.\n$@c{neutral}J’ai eu du temps pour réfléchir à tout ça.\nIl y a une raison à pourquoi tout semble étrange.\n$@c{neutral_eclosed}Ton rêve, ma volonté de te battre…\nFont partie de quelque chose de plus grand.\n$@c{serious}C’est même pas à propos de moi, ni de toi… Mais du monde, @c{serious_mhalf_fists}et te repousser dans tes limites est ma mission.\n$@c{neutral_eclosed}J’ignore si je serai capable de l’accomplir, mais je ferai tout ce qui est en mon pouvoir.\n$@c{neutral}Cet endroit est terrifiant… Et pourtant il m’a l’air familier, comme si j’y avais déjà mis les pieds.\n$@c{serious_mhalf_fists}Tu ressens la même chose, pas vrai ?\n$@c{serious}… et c’est comme si quelque chose ici me parlait.\n$Comme si c’était tout ce que ce monde avait toujours connu.\n$Ces précieux moments ensemble semblent si proches ne sont rien de plus qu’un lointain souvenir.\n$@c{neutral_eclosed}D’ailleurs, qui peut dire aujourd’hui qu’ils ont pu être réels ?\n$@c{serious_mopen_fists}Il faut que tu persévères. Si tu t’arrêtes, ça n’aura jamais de fin et t’es la seule à en être capable.\n$@c{serious_smile_fists}Difficile de comprendre le sens de tout ça, je sais juste que c’est la réalité.\n$@c{serious_mopen_fists}Si tu ne parviens pas à me battre ici et maintenant, tu n’as aucune chance."
|
||||
"1": "@c{smile_eclosed}Nous y revoilà.\n$@c{neutral}J’ai eu du temps pour réfléchir à tout ça.\nIl y a une raison à pourquoi tout semble étrange.\n$@c{neutral_eclosed}Ton rêve, ma volonté de te battre…\nFont partie de quelque chose de plus grand.\n$@c{serious}C’est même pas à propos de moi, ni de toi… Mais du monde, @c{serious_mhalf_fists}et te repousser dans tes limites est ma mission.\n$@c{neutral_eclosed}J’ignore si je serai capable de l’accomplir, mais je ferai tout ce qui est en mon pouvoir.\n$@c{neutral}Cet endroit est terrifiant… Et pourtant il m’a l’air familier, comme si j’y avais déjà mis les pieds.\n$@c{serious_mhalf_fists}Tu ressens la même chose, pas vrai ?\n$@c{serious}… et c’est comme si quelque chose ici me parlait.\n$Comme si c’était tout ce que ce monde avait toujours connu.\n$Ces précieux moments ensemble semblent si proches ne sont rien de plus qu’un lointain souvenir.\n$@c{neutral_eclosed}D’ailleurs, qui peut dire aujourd’hui qu’ils ont pu être réels ?\n$@c{serious_mopen_fists}Il faut que tu persévères. Si tu t’arrêtes, ça n’aura jamais de fin et t’es la seule à en être capable.\n$@c{serious_smile_fists}Difficile de comprendre le sens de tout ça, je sais juste que c’est la réalité.\n$@c{serious_mopen_fists}Si tu ne parviens pas à me battre ici et maintenant, tu n’as aucune chance."
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{smile_eclosed}J’ai fait ce que j’avais à faire.\n$Promets-moi juste une chose.\n@c{smile}Après avoir réparé ce monde… Rentre à la maison."
|
||||
@ -695,7 +695,7 @@
|
||||
},
|
||||
"rival_6_female": {
|
||||
"encounter": {
|
||||
"1": "@c{smile_ehalf}C’est donc encore entre toi et moi.\n$@c{smile_eclosed}Tu sais, j’ai beau retouner ça dans tous les sens…\n$@c{smile_ehalf}Quelque chose peut expliquer tout ça, pourquoi tout semble si étrange…\n$@c{smile}T’as tes rêves, j’ai mes ambitions…\n$J’ai juste le sentiment qu’il y a un grand dessein derrière tout ça, derrière ce qu’on fait toi et moi.\n$@c{smile_eclosed}Je crois que mon but est de… repousser tes limites.\n$@c{smile_ehalf}Je suis pas certaine de bien être douée à cet exercice, mais je fais de mon mieux.\n$Cet endroit épouvantable cache quelque chose d’étrange… Tout semble si limpide…\n$Comme… si c’était tout ce que ce monde avait toujours connu.\n$@c{smile_eclosed}J’ai le sentiment que nos précieux moments ensemble sont devenus si flous.\n$@c{smile_ehalf}Ont-ils au moins été réels ? Tout semble si loin maintenant…\n$@c{angry_mopen}Il faut que tu persévères. Si tu t’arrêtes, ça n’aura jamais de fin et t’es le seul à en être capable.\n$@c{smile_ehalf}Je… j’ignore le sens de tout ça… Mais je sais que c’est la réalité.\n$@c{neutral}Si tu ne parviens pas à me battre ici et maintenant, tu n’as aucune chance."
|
||||
"1": "@c{smile_ehalf}C’est donc encore entre toi et moi.\n$@c{smile_eclosed}Tu sais, j’ai beau retouner ça dans tous les sens…\n$@c{smile_ehalf}Quelque chose peut expliquer tout ça, pourquoi tout semble si étrange…\n$@c{smile}T’as tes rêves, j’ai mes ambitions…\n$J’ai juste le sentiment qu’il y a un grand dessein derrière tout ça, derrière ce qu’on fait toi et moi.\n$@c{smile_eclosed}Je crois que mon but est de… repousser tes limites.\n$@c{smile_ehalf}Je suis pas certaine de bien être douée à cet exercice, mais je fais de mon mieux.\n$Cet endroit épouvantable cache quelque chose d’étrange… Tout semble si limpide…\n$Comme… si c’était tout ce que ce monde avait toujours connu.\n$@c{smile_eclosed}J’ai le sentiment que nos précieux moments ensemble sont devenus si flous.\n$@c{smile_ehalf}Ont-ils au moins été réels ? Tout semble si loin maintenant…\n$@c{angry_mopen}Il faut que tu persévères. Si tu t’arrêtes, ça n’aura jamais de fin et t’es le seul à en être capable.\n$@c{smile_ehalf}Je… j’ignore le sens de tout ça… Mais je sais que c’est la réalité.\n$@c{neutral}Si tu ne parviens pas à me battre ici et maintenant, tu n’as aucune chance."
|
||||
},
|
||||
"victory": {
|
||||
"1": "@c{smile_ehalf}Je… Je crois que j’ai rempli ma mission…\n$@c{smile_eclosed}Promets-moi… Après avoir réparé ce monde… Reviens à la maison sain et sauf.\n$@c{smile_ehalf}… Merci."
|
||||
|
@ -4,7 +4,7 @@
|
||||
"ultraTier": "Épique",
|
||||
"masterTier": "Légendaire",
|
||||
"defaultTier": "Commun",
|
||||
"hatchWavesMessageSoon": "Il fait du bruit. Il va éclore !",
|
||||
"hatchWavesMessageSoon": "Il fait du bruit.\nIl va éclore !",
|
||||
"hatchWavesMessageClose": "Il bouge de temps en temps. Il devrait bientôt éclore.",
|
||||
"hatchWavesMessageNotClose": "Qu’est-ce qui va en sortir ? Ça va mettre du temps.",
|
||||
"hatchWavesMessageLongTime": "Cet Œuf va surement mettre du temps à éclore.",
|
||||
@ -16,7 +16,7 @@
|
||||
"tooManyEggs": "Vous avez trop d’Œufs !",
|
||||
"pull": "Tirage",
|
||||
"pulls": "Tirages",
|
||||
"sameSpeciesEgg": "{{species}} sortira de cet Œuf !",
|
||||
"sameSpeciesEgg": "Un {{species}} sortira de cet Œuf !",
|
||||
"hatchFromTheEgg": "{{pokemonName}} sort de l’Œuf !",
|
||||
"eggMoveUnlock": "Capacité Œuf débloquée :\n{{moveName}}",
|
||||
"rareEggMoveUnlock": "Capacité Œuf Rare débloquée :\n{{moveName}}",
|
||||
|
@ -6,7 +6,7 @@
|
||||
"newGame": "Nouvelle partie",
|
||||
"settings": "Paramètres",
|
||||
"selectGameMode": "Sélectionnez un mode de jeu.",
|
||||
"logInOrCreateAccount": "Connectez-vous ou créez un compte pour commencer. Aucun e-mail requis !",
|
||||
"logInOrCreateAccount": "Connectez-vous ou créez un compte pour commencer.\nAucun e-mail requis !",
|
||||
"username": "Nom d’utilisateur",
|
||||
"password": "Mot de passe",
|
||||
"login": "Connexion",
|
||||
@ -19,29 +19,29 @@
|
||||
"invalidRegisterPassword": "Le mot de passe doit contenir 6 caractères ou plus",
|
||||
"usernameAlreadyUsed": "Le nom d’utilisateur est déjà utilisé",
|
||||
"accountNonExistent": "Le nom d’utilisateur n’existe pas",
|
||||
"unmatchingPassword": "Le mot de passe n’est pas correct",
|
||||
"unmatchingPassword": "Le mot de passe est incorrect",
|
||||
"passwordNotMatchingConfirmPassword": "Les mots de passe ne correspondent pas",
|
||||
"confirmPassword": "Confirmer le MDP",
|
||||
"registrationAgeWarning": "Vous confirmez en vous inscrivant que vous avez 13 ans ou plus.",
|
||||
"registrationAgeWarning": "En vous inscrivant, vous certifiez que vous avez 13 ans ou plus.",
|
||||
"backToLogin": "Retour",
|
||||
"failedToLoadSaveData": "Échec du chargement des données. Veuillez recharger\nla page. Si cela persiste, contactez l’administrateur.",
|
||||
"sessionSuccess": "Session chargée avec succès.",
|
||||
"failedToLoadSession": "Vos données de session n’ont pas pu être chargées.\nElles pourraient être corrompues.",
|
||||
"boyOrGirl": "Es-tu un garçon ou une fille ?",
|
||||
"boyOrGirl": "Es-tu un garçon ou une fille ?",
|
||||
"evolving": "Quoi ?\n{{pokemonName}} évolue !",
|
||||
"stoppedEvolving": "Hein ?\n{{pokemonName}} n’évolue plus !",
|
||||
"pauseEvolutionsQuestion": "Mettre en pause les évolutions pour {{pokemonName}} ?\nElles peuvent être réactivées depuis l’écran d’équipe.",
|
||||
"evolutionsPaused": "Les évolutions ont été mises en pause pour {{pokemonName}}.",
|
||||
"stoppedEvolving": "Hein ?\n{{pokemonName}} n’évolue plus !",
|
||||
"pauseEvolutionsQuestion": "Interrompre les évolutions pour {{pokemonName}} ?\nElles peuvent être réactivées depuis l’écran d’équipe.",
|
||||
"evolutionsPaused": "Les évolutions de {{pokemonName}}\nsont interrompues.",
|
||||
"evolutionDone": "Félicitations !\n{{pokemonName}} a évolué en {{evolvedPokemonName}} !",
|
||||
"dailyRankings": "Classement du Jour",
|
||||
"weeklyRankings": "Classement de la Semaine",
|
||||
"noRankings": "Pas de Classement",
|
||||
"dailyRankings": "Classement du jour",
|
||||
"weeklyRankings": "Classement de la semaine",
|
||||
"noRankings": "Pas de classement",
|
||||
"positionIcon": "#",
|
||||
"usernameScoreboard": "Utilisateur",
|
||||
"score": "Score",
|
||||
"wave": "Vague",
|
||||
"loading": "Chargement…",
|
||||
"loadingAsset": "Chargement de la ressource : {{assetName}}",
|
||||
"loadingAsset": "Chargement des ressources : {{assetName}}",
|
||||
"playersOnline": "Joueurs connectés",
|
||||
"yes": "Oui",
|
||||
"no": "Non",
|
||||
@ -51,5 +51,7 @@
|
||||
"renamePokemon": "Renommer le Pokémon",
|
||||
"rename": "Renommer",
|
||||
"nickname": "Surnom",
|
||||
"errorServerDown": "Oupsi ! Un problème de connexion au serveur est survenu.\n\nVous pouvez garder cette fenêtre ouverte,\nle jeu se reconnectera automatiquement."
|
||||
"errorServerDown": "Oupsi ! Un problème de connexion au serveur est survenu.\n\nVous pouvez garder cette fenêtre ouverte,\nle jeu se reconnectera automatiquement.",
|
||||
"noSaves": "Vous n’avez aucune sauvegarde enregistrée !",
|
||||
"tooManySaves": "Vous avez trop de sauvegardes enregistrées !"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"ModifierType": {
|
||||
"AddPokeballModifierType": {
|
||||
"name": "{{pokeballName}} x{{modifierCount}}",
|
||||
"description": "Recevez {{modifierCount}} {{pokeballName}}·s. (Inventaire : {{pokeballAmount}})\nTaux de capture : {{catchRate}}"
|
||||
"description": "Recevez {{modifierCount}} {{pokeballName}}·s. (Inventaire : {{pokeballAmount}})\nTaux de capture : {{catchRate}}"
|
||||
},
|
||||
"AddVoucherModifierType": {
|
||||
"name": "{{voucherTypeName}} x{{modifierCount}}",
|
||||
@ -10,8 +10,8 @@
|
||||
},
|
||||
"PokemonHeldItemModifierType": {
|
||||
"extra": {
|
||||
"inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !",
|
||||
"tooMany": "{{pokemonName}} porte trop\nd’exemplaires de cet objet !"
|
||||
"inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !",
|
||||
"tooMany": "{{pokemonName}} porte trop\nd’exemplaires de cet objet !"
|
||||
}
|
||||
},
|
||||
"PokemonHpRestoreModifierType": {
|
||||
@ -47,10 +47,14 @@
|
||||
"description": "Donne la nature {{natureName}} à un Pokémon et la débloque pour le starter lui étant lié."
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "Double les chances de tomber sur un combat double pendant {{battleCount}} combats."
|
||||
"description": "Quadruple les chances de tomber sur un combat double pendant {{battleCount}} combats."
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "Augmente d’un cran {{stat}} pour toute l’équipe pendant 5 combats."
|
||||
"description": "Augmente {{amount}} {{stat}} de toute l’équipe pendant 5 combats.",
|
||||
"extra": {
|
||||
"stage": "d’un cran",
|
||||
"percentage": "de 30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon."
|
||||
@ -85,7 +89,7 @@
|
||||
"description": "Augmente de {{boostPercent}}% le gain de Points d’Exp du porteur."
|
||||
},
|
||||
"PokemonFriendshipBoosterModifierType": {
|
||||
"description": "Augmente le gain d’amitié de 50% par victoire."
|
||||
"description": "Augmente le gain de bonheur de 50% par victoire."
|
||||
},
|
||||
"PokemonMoveAccuracyBoosterModifierType": {
|
||||
"description": "Augmente de {{accuracyAmount}} la précision des capacités (maximum 100)."
|
||||
@ -102,17 +106,17 @@
|
||||
"description": "Apprend la capacité {{moveName}} à un Pokémon.\n(Maintenez C ou Maj pour plus d’infos)"
|
||||
},
|
||||
"EvolutionItemModifierType": {
|
||||
"description": "Permet à certains Pokémon d’évoluer."
|
||||
"description": "Permet à certains Pokémon d’évoluer à son contact."
|
||||
},
|
||||
"FormChangeItemModifierType": {
|
||||
"description": "Permet à certains Pokémon de changer de forme."
|
||||
"description": "Permet à certains Pokémon de changer de forme à son contact."
|
||||
},
|
||||
"FusePokemonModifierType": {
|
||||
"description": "Fusionne deux Pokémon (transfère le talent, sépare les stats de base et les types, partage les capacités)."
|
||||
},
|
||||
"TerastallizeModifierType": {
|
||||
"name": "Téra-Éclat {{teraType}}",
|
||||
"description": "{{teraType}} Téracristallise son porteur pendant 10 combats."
|
||||
"description": "Téracristallise son porteur en type {{teraType}} pendant 10 combats."
|
||||
},
|
||||
"ContactHeldItemTransferChanceModifierType": {
|
||||
"description": "{{chancePercent}}% de chances de voler un objet de l’adversaire en l’attaquant."
|
||||
@ -247,7 +251,7 @@
|
||||
},
|
||||
"SpeciesBoosterItem": {
|
||||
"LIGHT_BALL": { "name": "Balle Lumière", "description": "À faire tenir à Pikachu. Un orbe énigmatique qui double son Attaque et son Atq. Spé. ." },
|
||||
"THICK_CLUB": { "name": "Masse Os", "description": "À faire tenir à Osselait ou Ossatueur. Un os dur qui double leur Attaque." },
|
||||
"THICK_CLUB": { "name": "Masse Os", "description": "À faire tenir à Osselait ou à Ossatueur, formes d’Alola incluses. Un os dur qui double leur Attaque." },
|
||||
"METAL_POWDER": { "name": "Poudre Métal", "description": "À faire tenir à Métamorph. Cette poudre étrange, très fine mais résistante, double sa Défense." },
|
||||
"QUICK_POWDER": { "name": "Poudre Vite", "description": "À faire tenir à Métamorph. Cette poudre étrange, très fine mais résistante, double sa Vitesse." }
|
||||
},
|
||||
|
@ -3,7 +3,7 @@
|
||||
"turnHealApply": "Les PV de {{pokemonNameWithAffix}}\nsont un peu restaurés par les {{typeName}} !",
|
||||
"hitHealApply": "Les PV de {{pokemonNameWithAffix}}\nsont un peu restaurés par le {{typeName}} !",
|
||||
"pokemonInstantReviveApply": "{{pokemonNameWithAffix}} a repris connaissance\navec sa {{typeName}} et est prêt à se battre de nouveau !",
|
||||
"resetNegativeStatStageApply": "Les stats baissées de {{pokemonNameWithAffix}}\nsont restaurées par l’{{typeName}} !",
|
||||
"resetNegativeStatStageApply": "Les stats baissées de {{pokemonNameWithAffix}}\nsont restaurées par l’{{typeName}} !",
|
||||
"moneyInterestApply": "La {{typeName}} vous rapporte\n{{moneyAmount}} ₽ d’intérêts !",
|
||||
"turnHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} est absorbé·e\npar le {{typeName}} de {{pokemonName}} !",
|
||||
"contactHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} est volé·e\npar l’{{typeName}} de {{pokemonName}} !",
|
||||
|
@ -3,10 +3,10 @@
|
||||
"cutHpPowerUpMove": "{{pokemonName}} sacrifie des PV\net augmente la puissance ses capacités !",
|
||||
"absorbedElectricity": "{{pokemonName}} absorbe de l’électricité !",
|
||||
"switchedStatChanges": "{{pokemonName}} permute\nles changements de stats avec ceux de sa cible !",
|
||||
"switchedTwoStatChanges": "{{pokemonName}} permute les changements de {{firstStat} et de {{secondStat}} avec ceux de sa cible !",
|
||||
"switchedStat": "{{pokemonName}} et sa cible échangent leur {{stat}} !",
|
||||
"sharedGuard": "{{pokemonName}} additionne sa garde à celle de sa cible et redistribue le tout équitablement !",
|
||||
"sharedPower": "{{pokemonName}} additionne sa force à celle de sa cible et redistribue le tout équitablement !",
|
||||
"switchedTwoStatChanges": "{{pokemonName}} permute les changements de {{firstStat} et de {{secondStat}} avec ceux de sa cible !",
|
||||
"switchedStat": "{{pokemonName}} et sa cible échangent leur {{stat}} !",
|
||||
"sharedGuard": "{{pokemonName}} additionne sa garde à celle de sa cible et redistribue le tout équitablement !",
|
||||
"sharedPower": "{{pokemonName}} additionne sa force à celle de sa cible et redistribue le tout équitablement !",
|
||||
"goingAllOutForAttack": "{{pokemonName}} a pris\ncette capacité au sérieux !",
|
||||
"regainedHealth": "{{pokemonName}}\nrécupère des PV !",
|
||||
"keptGoingAndCrashed": "{{pokemonName}}\ns’écrase au sol !",
|
||||
@ -22,7 +22,7 @@
|
||||
"loweredItsHead": "{{pokemonName}}\nbaisse la tête !",
|
||||
"isGlowing": "{{pokemonName}} est entouré\nd’une lumière intense !",
|
||||
"bellChimed": "Un grelot sonne !",
|
||||
"foresawAnAttack": "{{pokemonName}}\nprévoit une attaque !",
|
||||
"foresawAnAttack": "{{pokemonName}}\nprévoit une attaque !",
|
||||
"isTighteningFocus": "{{pokemonName}} se concentre\nau maximum !",
|
||||
"hidUnderwater": "{{pokemonName}}\nse cache sous l’eau !",
|
||||
"soothingAromaWaftedThroughArea": "Une odeur apaisante flotte dans l’air !",
|
||||
@ -34,7 +34,7 @@
|
||||
"becameCloakedInFreezingAir": "{{pokemonName}} est entouré\nd’un air glacial !",
|
||||
"isChargingPower": "{{pokemonName}}\nconcentre son énergie !",
|
||||
"burnedItselfOut": "Le feu intérieur de {{pokemonName}}\ns’est entièrement consumé !",
|
||||
"startedHeatingUpBeak": "{{pokemonName}}\nfait chauffer son bec !",
|
||||
"startedHeatingUpBeak": "{{pokemonName}}\nfait chauffer son bec !",
|
||||
"setUpShellTrap": "{{pokemonName}} déclenche\nle Carapiège !",
|
||||
"isOverflowingWithSpacePower": "La puissance du cosmos afflue dans le corps\nde {{pokemonName}} !",
|
||||
"usedUpAllElectricity": "{{pokemonName}}a utilisé\ntoute son électricité !",
|
||||
@ -66,5 +66,5 @@
|
||||
"revivalBlessing": "{{pokemonName}} a repris connaissance\net est prêt à se battre de nouveau !",
|
||||
"swapArenaTags": "Les effets affectant chaque côté du terrain\nont été échangés par {{pokemonName}} !",
|
||||
"exposedMove": "{{targetPokemonName}} est identifié\npar {{pokemonName}} !",
|
||||
"safeguard": "{{targetName}} est protégé\npar la capacité Rune Protect !"
|
||||
}
|
||||
"safeguard": "{{targetName}} est protégé\npar la capacité Rune Protect !"
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"moveset": "Capacités",
|
||||
"gender": "Sexe :",
|
||||
"ability": "Talent :",
|
||||
"nature": "Nature :",
|
||||
"gender": "Sexe :",
|
||||
"ability": "Talent :",
|
||||
"nature": "Nature :",
|
||||
"form": "Forme :"
|
||||
}
|
||||
}
|
||||
|
@ -6,9 +6,9 @@
|
||||
"ATKshortened": "Atq",
|
||||
"DEF": "Défense",
|
||||
"DEFshortened": "Déf",
|
||||
"SPATK": "Atq. Spé.",
|
||||
"SPATK": "Atq. Spé.",
|
||||
"SPATKshortened": "AtqSp",
|
||||
"SPDEF": "Déf. Spé.",
|
||||
"SPDEF": "Déf. Spé.",
|
||||
"SPDEFshortened": "DéfSp",
|
||||
"SPD": "Vitesse",
|
||||
"SPDshortened": "Vit",
|
||||
|
@ -1,36 +1,36 @@
|
||||
{
|
||||
"battlesWon": "combats gagnés !",
|
||||
"joinTheDiscord": "Rejoins le Discord !",
|
||||
"infiniteLevels": "Niveaux infinis !",
|
||||
"everythingStacks": "Tout se cumule !",
|
||||
"optionalSaveScumming": "Optional Save Scumming!",
|
||||
"biomes": "35 biomes !",
|
||||
"openSource": "Open Source !",
|
||||
"playWithSpeed": "Joue en vitesse x5 !",
|
||||
"liveBugTesting": "Tests de bugs en direct !",
|
||||
"heavyInfluence": "Grosse influence de RoR2 !",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk et Pokémon Rain !",
|
||||
"nowWithMoreSalt": "Désormais avec 33% de sel en plus !",
|
||||
"infiniteFusionAtHome": "Infinite Fusion, chez vous !",
|
||||
"brokenEggMoves": "Des Capacités Œuf craquées !",
|
||||
"magnificent": "Magnifique !",
|
||||
"mubstitute": "Mubstitute !",
|
||||
"thatsCrazy": "C’est une dinguerie !",
|
||||
"oranceJuice": "Jus d’orange !",
|
||||
"questionableBalancing": "Équilibrage douteux !",
|
||||
"coolShaders": "Cool shaders !",
|
||||
"aiFree": "Garanti sans IA !",
|
||||
"suddenDifficultySpikes": "De soudains pics de difficultés !",
|
||||
"basedOnAnUnfinishedFlashGame": "Basé sur un jeu Flash abandonné !",
|
||||
"moreAddictiveThanIntended": "Plus addictif que prévu !",
|
||||
"mostlyConsistentSeeds": "Des seeds à peu près stables !",
|
||||
"achievementPointsDontDoAnything": "Les Points de Succès servent à rien !",
|
||||
"youDoNotStartAtLevel": "Ne commence pas au Niveau 2000 !",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Ne parle pas de l’incident de l’Œuf de Manaphy !",
|
||||
"alsoTryPokengine": "Essaye aussi Pokéngine !",
|
||||
"battlesWon": "combats gagnés !",
|
||||
"joinTheDiscord": "Rejoins le Discord !",
|
||||
"infiniteLevels": "Niveaux infinis !",
|
||||
"everythingStacks": "Tout se cumule !",
|
||||
"optionalSaveScumming": "Optional Save Scumming !",
|
||||
"biomes": "35 biomes !",
|
||||
"openSource": "Open Source !",
|
||||
"playWithSpeed": "Joue en vitesse x5 !",
|
||||
"liveBugTesting": "Tests de bugs en direct !",
|
||||
"heavyInfluence": "Grosse influence de RoR2 !",
|
||||
"pokemonRiskAndPokemonRain": "Pokémon Risk et Pokémon Rain !",
|
||||
"nowWithMoreSalt": "Désormais avec 33% de sel en plus !",
|
||||
"infiniteFusionAtHome": "Infinite Fusion, chez vous !",
|
||||
"brokenEggMoves": "Des Capacités Œuf craquées !",
|
||||
"magnificent": "Magnifique !",
|
||||
"mubstitute": "Mubstitute !",
|
||||
"thatsCrazy": "C’est une dinguerie !",
|
||||
"oranceJuice": "Jus d’orange !",
|
||||
"questionableBalancing": "Équilibrage douteux !",
|
||||
"coolShaders": "Cool shaders !",
|
||||
"aiFree": "Garanti sans IA !",
|
||||
"suddenDifficultySpikes": "De soudains pics de difficultés !",
|
||||
"basedOnAnUnfinishedFlashGame": "Basé sur un jeu Flash abandonné !",
|
||||
"moreAddictiveThanIntended": "Plus addictif que prévu !",
|
||||
"mostlyConsistentSeeds": "Des seeds à peu près stables !",
|
||||
"achievementPointsDontDoAnything": "Les Points de Succès servent à rien !",
|
||||
"youDoNotStartAtLevel": "Ne commence pas au Niveau 2000 !",
|
||||
"dontTalkAboutTheManaphyEggIncident": "Ne parle pas de l’incident de l’Œuf de Manaphy !",
|
||||
"alsoTryPokengine": "Essaye aussi Pokéngine !",
|
||||
"alsoTryEmeraldRogue": "Essaye aussi Emerald Rogue!",
|
||||
"alsoTryRadicalRed": "Essaye aussi Radical Red !",
|
||||
"eeveeExpo": "Eevee Expo !",
|
||||
"ynoproject": "YNOproject !",
|
||||
"alsoTryRadicalRed": "Essaye aussi Radical Red !",
|
||||
"eeveeExpo": "Eevee Expo !",
|
||||
"ynoproject": "YNOproject !",
|
||||
"breedersInSpace": "Des Éleveurs dans l’espace !"
|
||||
}
|
||||
}
|
||||
|
@ -33,7 +33,7 @@
|
||||
"obtainSource": "{{pokemonNameWithAffix}} est paralysé\npar {{sourceText}} ! Il aura du mal à attaquer !",
|
||||
"activation": "{{pokemonNameWithAffix}} est paralysé !\nIl n’a pas pu attaquer !",
|
||||
"overlap": "{{pokemonNameWithAffix}} est\ndéjà paralysé.",
|
||||
"heal": "{{pokemonNameWithAffix}} n’est\nplus paralysé !"
|
||||
"heal": "{{pokemonNameWithAffix}} n’est\nplus paralysé !"
|
||||
},
|
||||
"sleep": {
|
||||
"name": "Sommeil",
|
||||
@ -62,4 +62,4 @@
|
||||
"overlap": "{{pokemonNameWithAffix}} est\ndéjà brulé.",
|
||||
"heal": "{{pokemonNameWithAffix}} n’est\nplus brulé !"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,10 +1,10 @@
|
||||
{
|
||||
"intro": "Bienvenue dans PokéRogue, un fangame axé sur les combats Pokémon avec des éléments roguelite !\n$Ce jeu n’est pas monétisé et nous ne prétendons pas à la propriété de Pokémon, ni des éléments sous copyright\n$utilisés.\n$Ce jeu est toujours en développement, mais entièrement jouable.\n$Tout signalement de bugs passe par le serveur Discord.\n$Si le jeu est lent, vérifiez que l’Accélération Matérielle est activée dans les paramètres du navigateur.",
|
||||
"accessMenu": "Accédez au menu avec M ou Échap lors de l’attente d’une\naction.\n$Il contient les paramètres et diverses fonctionnalités",
|
||||
"menu": "Vous pouvez accéder aux paramètres depuis ce menu.\n$Vous pouvez entre autres y changer la vitesse du jeu ou le style de fenêtre.\n$Il y a également toute une variété d’autres fonctionnalités,\n$jetez-y un œil !",
|
||||
"starterSelect": "Choisissez vos starters depuis cet écran avec Z ou Espace.\nIls formeront votre équipe de départ.\n$Chacun possède une valeur. Votre équipe peut avoir jusqu’à\n6 membres, tant que vous ne dépassez pas un cout de 10.\n$Vous pouvez aussi choisir le sexe, le talent et la forme en\nfonction des variants déjà capturés ou éclos.\n$Les IVs d’un starter sont les meilleurs de tous ceux de son\nespèce déjà obtenus. Essayez donc d’en obtenir plusieurs !",
|
||||
"pokerus": "Chaque jour, 3 starters tirés aléatoirement ont un contour\n$violet. Si un starter que vous possédez l’a, essayez de\n$l’ajouter à votre équipe. Vérifiez bien son résumé !",
|
||||
"statChange": "Les changements de stats restent à travers les combats tant que le Pokémon n’est pas rappelé.\n$Vos Pokémon sont rappelés avant un combat de Dresseur et avant d’entrer dans un nouveau biome.\n$Vous pouvez voir en combat les changements de stats d’un Pokémon en maintenant C ou Maj.\n$Vous pouvez également voir les capacités de l’adversaire en maintenant V.\n$Seules les capacités que le Pokémon a utilisées dans ce combat sont consultables.",
|
||||
"selectItem": "Après chaque combat, vous avez le choix entre 3 objets\ntirés au sort. Vous ne pouvez en prendre qu’un.\n$Cela peut être des objets consommables, des objets à\nfaire tenir, ou des objets passifs aux effets permanents.\n$La plupart des effets des objets non-consommables se cumuleront de diverses manières.\n$Certains objets apparaitront s’ils peuvent être utilisés, comme les objets d’évolution.\n$Vous pouvez aussi transférer des objets tenus entre Pokémon en utilisant l’option de transfert.\n$L’option de transfert apparait en bas à droite dès que vous avez obtenu un objet à faire tenir.\n$Vous pouvez acheter des consommables avec de l’argent.\nPlus vous progressez, plus le choix sera varié.\n$Choisir un des objets gratuits déclenchera le prochain combat, donc faites bien tous vos achats avant.",
|
||||
"eggGacha": "Depuis cet écran, vous pouvez échanger vos coupons\ncontre des Œufs de Pokémon.\n$Les Œufs éclosent après avoir remporté un certain nombre\nde combats. Les plus rares mettent plus de temps.\n$Les Pokémon éclos ne rejoindront pas votre équipe,\nmais seront ajoutés à vos starters.\n$Les Pokémon issus d’Œufs ont généralement de\nmeilleurs IVs que les Pokémon sauvages.\n$Certains Pokémon ne peuvent être obtenus\nque dans des Œufs.\n$Il y a 3 différentes machines à actionner avec différents\nbonus, prenez celle qui vous convient le mieux !"
|
||||
}
|
||||
"intro": "Bienvenue dans PokéRogue, un fangame axé sur les combats Pokémon avec des éléments roguelite !\n$Ce jeu n’est pas monétisé et nous ne prétendons à la propriété d’aucun élément sous copyright utilisé.\n$Bien qu’en développement permanent, PokéRogue reste entièrement jouable.\n$Tout signalement de bugs et d’erreurs quelconques passe par le serveur Discord.\n$Si le jeu est lent, vérifiez que l’Accélération Matérielle est activée dans les paramètres du navigateur.",
|
||||
"accessMenu": "Accédez au menu avec M ou Échap lors de l’attente d’une\naction.\n$Il contient les paramètres et diverses fonctionnalités.",
|
||||
"menu": "Vous pouvez accéder aux paramètres depuis ce menu.\n$Vous pouvez entre autres y changer la vitesse du jeu ou le style de fenêtre…\n$Mais également des tonnes d’autres fonctionnalités, jetez-y un œil !",
|
||||
"starterSelect": "Choisissez vos starters depuis cet écran avec Z ou Espace.\nIls formeront votre équipe de départ.\n$Chacun possède une valeur. Votre équipe peut avoir jusqu’à 6 membres, sans dépasser un cout de 10.\n$Vous pouvez aussi choisir le sexe, le talent et la forme en\nfonction des variants déjà capturés ou éclos.\n$Les IV d’un starter sont les meilleurs de tous ceux de son espèce déjà possédés. Obtenez-en plusieurs !",
|
||||
"pokerus": "Chaque jour, 3 starters tirés aléatoirement ont un contour violet.\n$Si un starter que vous possédez l’a, essayez de l’ajouter à votre équipe. Vérifiez bien son résumé !",
|
||||
"statChange": "Les changements de stats persistent à travers les combats tant que le Pokémon n’est pas rappelé.\n$Vos Pokémon sont rappelés avant un combat de Dresseur et avant d’entrer dans un nouveau biome.\n$Vous pouvez voir en combat les changements de stats d’un Pokémon en maintenant C ou Maj.\n$Vous pouvez également voir les capacités de l’adversaire en maintenant V.\n$Seules les capacités que le Pokémon a utilisées dans ce combat sont consultables.",
|
||||
"selectItem": "Après chaque combat, vous avez le choix entre 3 objets\ntirés au sort. Vous ne pouvez en prendre qu’un.\n$Cela peut être des objets consommables, des objets à\nfaire tenir, ou des objets passifs aux effets permanents.\n$La plupart des effets des objets non-consommables se cumuleront de diverses manières.\n$Certains objets n’apparaitront que s’ils ont une utilité immédiate, comme les objets d’évolution.\n$Vous pouvez aussi transférer des objets tenus entre Pokémon en utilisant l’option de transfert.\n$L’option de transfert apparait en bas à droite dès qu’un Pokémon de l’équipe porte un objet.\n$Vous pouvez acheter des consommables avec de l’argent.\nPlus vous progressez, plus le choix sera large.\n$Choisir un des objets gratuits déclenchera le prochain combat, donc faites bien tous vos achats avant.",
|
||||
"eggGacha": "Depuis cet écran, vous pouvez utiliser vos coupons\npour recevoir Œufs de Pokémon au hasard.\n$Les Œufs éclosent après avoir remporté un certain nombre de combats. Plus ils sont rares, plus ils mettent de temps.\n$Les Pokémon éclos ne rejoindront pas votre équipe, mais seront ajoutés à vos starters.\n$Les Pokémon issus d’Œufs ont généralement de meilleurs IV que les Pokémon sauvages.\n$Certains Pokémon ne peuvent être obtenus que dans des Œufs.\n$Il y a 3 différentes machines à actionner avec différents\nbonus, prenez celle qui vous convient le mieux !"
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"vouchers": "Coupons",
|
||||
"eggVoucher": "Coupon Œuf",
|
||||
"eggVoucherPlus": "Coupon Œuf +",
|
||||
"eggVoucherPremium": "Coupon Œuf Premium",
|
||||
"eggVoucherGold": "Coupon Œuf Or",
|
||||
"eggVoucher": "Coupon Œuf",
|
||||
"eggVoucherPlus": "Coupon Œuf +",
|
||||
"eggVoucherPremium": "Coupon Œuf Premium",
|
||||
"eggVoucherGold": "Coupon Œuf Or",
|
||||
"locked": "Verrouillé",
|
||||
"defeatTrainer": "Vaincre {{trainerName}}"
|
||||
}
|
||||
}
|
||||
|
@ -1,32 +1,32 @@
|
||||
{
|
||||
"sunnyStartMessage": "Les rayons du soleil brillent !",
|
||||
"sunnyLapseMessage": "Les rayons du soleil brillent fort !",
|
||||
"sunnyClearMessage": "Les rayons du soleil s’affaiblissent !",
|
||||
"rainStartMessage": "Il commence à pleuvoir !",
|
||||
"rainLapseMessage": "La pluie continue de tomber !",
|
||||
"rainClearMessage": "La pluie s’est arrêtée !",
|
||||
"sandstormStartMessage": "Une tempête de sable se prépare !",
|
||||
"sandstormLapseMessage": "La tempête de sable fait rage !",
|
||||
"sandstormClearMessage": "La tempête de sable se calme !",
|
||||
"sandstormDamageMessage": "La tempête de sable inflige des dégâts\nà {{pokemonNameWithAffix}} !",
|
||||
"hailStartMessage": "Il commence à grêler !",
|
||||
"hailLapseMessage": "La grêle continue de tomber !",
|
||||
"hailClearMessage": "La grêle s’est arrêtée !",
|
||||
"hailDamageMessage": "La grêle inflige des dégâts\nà {{pokemonNameWithAffix}} !",
|
||||
"snowStartMessage": "Il commence à neiger !",
|
||||
"snowLapseMessage": "Il y a une tempête de neige !",
|
||||
"snowClearMessage": "La neige s’est arrêtée !",
|
||||
"sunnyStartMessage": "Les rayons du soleil brillent !",
|
||||
"sunnyLapseMessage": "Les rayons du soleil brillent fort !",
|
||||
"sunnyClearMessage": "Les rayons du soleil s’affaiblissent !",
|
||||
"rainStartMessage": "Il commence à pleuvoir !",
|
||||
"rainLapseMessage": "La pluie continue de tomber !",
|
||||
"rainClearMessage": "La pluie s’est arrêtée !",
|
||||
"sandstormStartMessage": "Une tempête de sable se prépare !",
|
||||
"sandstormLapseMessage": "La tempête de sable fait rage !",
|
||||
"sandstormClearMessage": "La tempête de sable se calme !",
|
||||
"sandstormDamageMessage": "La tempête de sable inflige des dégâts\nà {{pokemonNameWithAffix}} !",
|
||||
"hailStartMessage": "Il commence à grêler !",
|
||||
"hailLapseMessage": "La grêle continue de tomber !",
|
||||
"hailClearMessage": "La grêle s’est arrêtée !",
|
||||
"hailDamageMessage": "La grêle inflige des dégâts\nà {{pokemonNameWithAffix}} !",
|
||||
"snowStartMessage": "Il commence à neiger !",
|
||||
"snowLapseMessage": "Il y a une tempête de neige !",
|
||||
"snowClearMessage": "La neige s’est arrêtée !",
|
||||
"fogStartMessage": "Le brouillard devient épais…",
|
||||
"fogLapseMessage": "Le brouillard continue !",
|
||||
"fogClearMessage": "Le brouillard s’est dissipé !",
|
||||
"heavyRainStartMessage": "Une pluie battante s’abat soudainement !",
|
||||
"fogLapseMessage": "Le brouillard continue !",
|
||||
"fogClearMessage": "Le brouillard s’est dissipé !",
|
||||
"heavyRainStartMessage": "Une pluie battante s’abat soudainement !",
|
||||
"heavyRainLapseMessage": "La pluie battante continue.",
|
||||
"heavyRainClearMessage": "La pluie battante s’est arrêtée…",
|
||||
"harshSunStartMessage": "Les rayons du soleil s’intensifient !",
|
||||
"harshSunLapseMessage": "Les rayons du soleil sont brulants !",
|
||||
"harshSunClearMessage": "Les rayons du soleil s’affaiblissent !",
|
||||
"strongWindsStartMessage": "Un vent mystérieux se lève !",
|
||||
"strongWindsLapseMessage": "Le vent mystérieux souffle violemment !",
|
||||
"strongWindsEffectMessage": "Le courant aérien mystérieux affaiblit l’attaque !",
|
||||
"harshSunStartMessage": "Les rayons du soleil s’intensifient !",
|
||||
"harshSunLapseMessage": "Les rayons du soleil sont brulants !",
|
||||
"harshSunClearMessage": "Les rayons du soleil s’affaiblissent !",
|
||||
"strongWindsStartMessage": "Un vent mystérieux se lève !",
|
||||
"strongWindsLapseMessage": "Le vent mystérieux souffle violemment !",
|
||||
"strongWindsEffectMessage": "Le courant aérien mystérieux affaiblit l’attaque !",
|
||||
"strongWindsClearMessage": "Le vent mystérieux s’est dissipé…"
|
||||
}
|
||||
}
|
||||
|
@ -11,6 +11,7 @@
|
||||
"blockItemTheft": "{{abilityName}} di {{pokemonNameWithAffix}}\nlo rende immune ai furti!",
|
||||
"typeImmunityHeal": "{{pokemonName}} recupera alcuni PS\ncon {{abilityName}}!",
|
||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}} evita il colpo\ncon {{abilityName}}!",
|
||||
"fullHpResistType": "{{pokemonNameWithAffix}} fa risplendere la sua corazza\ne altera i rapporti tra i tipi!",
|
||||
"disguiseAvoidedDamage": "{{pokemonNameWithAffix}} è stato smascherato!",
|
||||
"moveImmunity": "Non ha effetto su {{pokemonNameWithAffix}}!",
|
||||
"reverseDrain": "{{pokemonNameWithAffix}} ha assorbito la melma!",
|
||||
@ -51,6 +52,7 @@
|
||||
"postSummonTeravolt": "{{pokemonNameWithAffix}} emana un’aura repulsiva!",
|
||||
"postSummonDarkAura": "L’abilità Auratetra di {{pokemonNameWithAffix}} è attiva.",
|
||||
"postSummonFairyAura": "L’abilità Aurafolletto di {{pokemonNameWithAffix}} è attiva.",
|
||||
"postSummonAuraBreak": "{{pokemonNameWithAffix}} inverte gli effetti di tutte le aure!",
|
||||
"postSummonNeutralizingGas": "Il Gas Reagente di {{pokemonNameWithAffix}}\nsi diffonde tutt’intorno!",
|
||||
"postSummonAsOneGlastrier": "{{pokemonNameWithAffix}} ha due abilità!",
|
||||
"postSummonAsOneSpectrier": "{{pokemonNameWithAffix}} ha due abilità!",
|
||||
@ -59,4 +61,4 @@
|
||||
"postSummonTabletsOfRuin": "La/l'{{statName}} dei Pokémon intorno si indebolisce a causa\ndell'abilità Amuleto Nefasto di {{pokemonNameWithAffix}}!",
|
||||
"postSummonBeadsOfRuin": "La/l'{{statName}} dei Pokémon intorno si indebolisce a causa\ndell'abilità Monile Nefasto di {{pokemonNameWithAffix}}!",
|
||||
"preventBerryUse": "{{pokemonNameWithAffix}} non riesce a\nmangiare le bacche per l'agitazione!"
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@
|
||||
"moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.",
|
||||
"moveNoPP": "Non ci sono PP rimanenti\nper questa mossa!",
|
||||
"moveDisabled": "{{moveName}} è disabilitata!",
|
||||
"disableInterruptedMove": "La mossa {{moveName}} di\n{{pokemonNameWithAffix}} è bloccata!",
|
||||
"noPokeballForce": "Una forza misteriosa\nimpedisce l'uso delle Poké Ball.",
|
||||
"noPokeballTrainer": "Non puoi catturare\nPokémon di altri allenatori!",
|
||||
"noPokeballMulti": "Puoi lanciare una Poké Ball\nsolo quando rimane un singolo Pokémon!",
|
||||
@ -95,4 +96,4 @@
|
||||
"congratulations": "Congratulazioni!",
|
||||
"beatModeFirstTime": "{{speciesName}} ha completato la modalità {{gameMode}} per la prima volta!\nHai ricevuto {{newModifier}}!",
|
||||
"ppReduced": "I PP della mossa {{moveName}} di\n{{targetName}} sono stati ridotti di {{reduction}}!"
|
||||
}
|
||||
}
|
||||
|
@ -67,5 +67,7 @@
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}} viene colpito da {{moveName}}!",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}} ha sacrificato metà dei suoi PS per\nlanciare una maledizione su {{pokemonName}}!",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}} subisce la maledizione!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} ha usato Accumulo per la\n{{stockpiledCount}}ª volta!"
|
||||
}
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} ha usato Accumulo per la\n{{stockpiledCount}}ª volta!",
|
||||
"disabledOnAdd": "La mossa {{moveName}} di\n{{pokemonNameWithAffix}} è stata bloccata!",
|
||||
"disabledLapse": "La mossa {{moveName}} di\n{{pokemonNameWithAffix}} non è più bloccata!"
|
||||
}
|
||||
|
@ -51,5 +51,7 @@
|
||||
"renamePokemon": "Rinomina un Pokémon",
|
||||
"rename": "Rinomina",
|
||||
"nickname": "Nickname",
|
||||
"errorServerDown": "Poffarbacco! C'è stato un errore nella comunicazione col server.\n\nPuoi lasciare questa finestra aperta,\nil gioco si riconnetterà automaticamente."
|
||||
}
|
||||
"errorServerDown": "Poffarbacco! C'è stato un errore nella comunicazione col server.\n\nPuoi lasciare questa finestra aperta,\nil gioco si riconnetterà automaticamente.",
|
||||
"noSaves": "Non ci sono file di salvataggio registrati!",
|
||||
"tooManySaves": "Ci sono troppi file di salvataggio registrati!"
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "Cambia la natura del Pokémon in {{natureName}} e sblocca la natura nel menu degli starter."
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "Raddoppia la possibilità di imbattersi in doppie battaglie per {{battleCount}} battaglie."
|
||||
"description": "Quadruplica la possibilità di imbattersi in doppie battaglie per {{battleCount}} battaglie."
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "Aumenta la statistica {{stat}} di un livello\na tutti i Pokémon nel gruppo per 5 battaglie."
|
||||
"description": "Aumenta la statistica {{stat}} di {{amount}}\na tutti i Pokémon nel gruppo per 5 battaglie",
|
||||
"extra": {
|
||||
"stage": "un livello",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "Aumenta la potenza delle mosse di tipo {{moveType}} del 20% per un Pokémon."
|
||||
|
@ -8,10 +8,11 @@
|
||||
"trace": "{{pokemonName}}は 相手の {{targetName}}の\n{{abilityName}}を トレースした!",
|
||||
"windPowerCharged": "{{pokemonName}}は\n{{moveName}}を 受けて じゅうでんした!",
|
||||
"quickDraw": "{{pokemonName}}は クイックドロウで\n行動が はやくなった!",
|
||||
"disguiseAvoidedDamage": "{{pokemonNameWithAffix}}'s disguise was busted!",
|
||||
"disguiseAvoidedDamage": "{{pokemonNameWithAffix}}の\nばけのかわが はがれた!",
|
||||
"blockItemTheft": "{{pokemonNameWithAffix}}の {{abilityName}}で\n道具を うばわれない!",
|
||||
"typeImmunityHeal": "{{pokemonNameWithAffix}}は {{abilityName}}で\n体力を 回復した!",
|
||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}}は {{abilityName}}で\nダメージを 受けない。",
|
||||
"fullHpResistType": "{{pokemonNameWithAffix}}は\n甲羅を かがやかせ タイプ相性を 歪める!",
|
||||
"moveImmunity": "{{pokemonNameWithAffix}}には\n効果が ないようだ…",
|
||||
"reverseDrain": "{{pokemonNameWithAffix}}は\nヘドロえきを 吸い取った!",
|
||||
"postDefendTypeChange": "{{pokemonNameWithAffix}}は {{abilityName}}で\n{{typeName}}タイプに なった!",
|
||||
@ -51,6 +52,7 @@
|
||||
"postSummonTeravolt": "{{pokemonNameWithAffix}}は\n弾(はじ)ける オーラを 放っている!",
|
||||
"postSummonDarkAura": "{{pokemonNameWithAffix}}は\nダークオーラを 放っている!",
|
||||
"postSummonFairyAura": "{{pokemonNameWithAffix}}は\nフェアリーオーラを 放っている!",
|
||||
"postSummonAuraBreak": "{{pokemonNameWithAffix}}は\nすべての オーラを 制圧する!",
|
||||
"postSummonNeutralizingGas": "あたりに かがくへんかガスが 充満した!",
|
||||
"postSummonAsOneGlastrier": "{{pokemonNameWithAffix}}は\nふたつの 特性を あわせ持つ!",
|
||||
"postSummonAsOneSpectrier": "{{pokemonNameWithAffix}}は\nふたつの 特性を あわせ持つ!",
|
||||
|
@ -44,6 +44,7 @@
|
||||
"moveNotImplemented": "{{moveName}}は まだ 実装されておらず 選択できません。",
|
||||
"moveNoPP": "しかし 技の\n残りポイントが なかった!",
|
||||
"moveDisabled": "かなしばりで\n{{moveName}}が 出せない!",
|
||||
"disableInterruptedMove": "{{pokemonNameWithAffix}}は かなしばりで\n{{moveName}}が 出せない!",
|
||||
"noPokeballForce": "見えない 力の せいで\nボールが 投げられない!",
|
||||
"noPokeballTrainer": "人の ものを 取ったら 泥棒!",
|
||||
"noPokeballMulti": "相手の ポケモンが 一つしか\nいない 前に ボールが 使えない!",
|
||||
@ -95,4 +96,4 @@
|
||||
"congratulations": "おめでとうございます!!",
|
||||
"beatModeFirstTime": "初めて {{speciesName}}が {{gameMode}}モードを クリアした!\n{{newModifier}}を 手に入れた!",
|
||||
"ppReduced": "{{targetName}}の {{moveName}}を {{reduction}}削った!"
|
||||
}
|
||||
}
|
||||
|
@ -67,5 +67,7 @@
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}}は {{moveName}}の\n ダメージを 受けている",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}}は 自分の 体力を 削って\n{{pokemonName}}に のろいを かけた!",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}}は のろわれている!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}}は {{stockpiledCount}}つ たくわえた!"
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}}は {{stockpiledCount}}つ たくわえた!",
|
||||
"disabledOnAdd": "{{pokemonNameWithAffix}}の\n{{moveName}}\nを 封じこめた!",
|
||||
"disabledLapse": "{{pokemonNameWithAffix}}の\nかなしばりが 解けた!"
|
||||
}
|
||||
|
@ -51,5 +51,7 @@
|
||||
"renamePokemon": "ニックネームを変える",
|
||||
"rename": "変える",
|
||||
"nickname": "ニックネーム",
|
||||
"errorServerDown": "おや!\nサーバーとの 接続中に 問題が 発生しました。\nゲームは 自動的に 再接続されます から\nウィンドウは 開いたままに しておいても よろしいです。"
|
||||
"errorServerDown": "おや!\nサーバーとの 接続中に 問題が 発生しました。\nゲームは 自動的に 再接続されます から\nウィンドウは 開いたままに しておいても よろしいです。",
|
||||
"noSaves": "何の セーブファイルも ありません!",
|
||||
"tooManySaves": "セーブファイルが いっぱいです!"
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "ポケモンのせいかくを {{natureName}}にかえて スターターのせいかくをえいきゅうにかいじょする"
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "バトル{{battleCount}}かいのあいだ ダブルバトルになるかくりつを2ばいにする"
|
||||
"description": "バトル{{battleCount}}回の間 ダブルバトルになる 確率を 4倍に する"
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "すべてのパーティメンバーの {{stat}}を5かいのバトルのあいだ 1だんかいあげる"
|
||||
"description": "全員の 手持ちポケモンの {{stat}}を 最大5回の バトルの間に {{amount}}あげる.",
|
||||
"extra": {
|
||||
"stage": "1段階",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "ポケモンの {{moveType}}タイプのわざのいりょくを20パーセントあげる"
|
||||
|
@ -12,6 +12,7 @@
|
||||
"blockItemTheft": "{{pokemonNameWithAffix}}의 {{abilityName}}에 의해\n도구를 빼앗기지 않는다!",
|
||||
"typeImmunityHeal": "{{pokemonNameWithAffix}}[[는]]\n{{abilityName}}[[로]] 체력이 회복되었다!",
|
||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}}[[는]] {{abilityName}} 때문에\n데미지를 입지 않는다!",
|
||||
"fullHpResistType": "{{pokemonNameWithAffix}}[[는]] 등껍질을 빛나게 하여\n타입 상성을 왜곡시켰다!!",
|
||||
"moveImmunity": "{{pokemonNameWithAffix}}에게는\n효과가 없는 것 같다...",
|
||||
"reverseDrain": "{{pokemonNameWithAffix}}[[는]]\n해감액을 흡수했다!",
|
||||
"postDefendTypeChange": "{{pokemonNameWithAffix}}[[는]] {{abilityName}}[[로]] 인해\n{{typeName}}타입이 됐다!",
|
||||
@ -51,6 +52,7 @@
|
||||
"postSummonTeravolt": "{{pokemonNameWithAffix}}[[는]]\n세차게 튀는 오라를 발산하고 있다!",
|
||||
"postSummonDarkAura": "{{pokemonNameWithAffix}}[[는]]\n다크오라를 발산하고 있다!",
|
||||
"postSummonFairyAura": "{{pokemonNameWithAffix}}[[는]]\n페어리오라를 발산하고 있다!",
|
||||
"postSummonAuraBreak": "{{pokemonNameWithAffix}}[[는]]\n모든 오라를 제압한다!",
|
||||
"postSummonNeutralizingGas": "주위가 화학변화가스로 가득 찼다!",
|
||||
"postSummonAsOneGlastrier": "{{pokemonNameWithAffix}}[[는]]\n두 가지 특성을 겸비한다!",
|
||||
"postSummonAsOneSpectrier": "{{pokemonNameWithAffix}}[[는]]\n두 가지 특성을 겸비한다!",
|
||||
@ -59,4 +61,4 @@
|
||||
"postSummonTabletsOfRuin": "{{pokemonNameWithAffix}}의 재앙의목간에 의해\n주위의 {{statName}}[[가]] 약해졌다!",
|
||||
"postSummonBeadsOfRuin": "{{pokemonNameWithAffix}}의 재앙의구슬에 의해\n주위의 {{statName}}[[가]] 약해졌다!",
|
||||
"preventBerryUse": "{{pokemonNameWithAffix}}[[는]] 긴장해서\n나무열매를 먹을 수 없게 되었다!"
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@
|
||||
"moveNotImplemented": "{{moveName}}[[는]] 아직 구현되지 않아 사용할 수 없다…",
|
||||
"moveNoPP": "기술의 남은 포인트가 없다!",
|
||||
"moveDisabled": "{{moveName}}[[를]] 쓸 수 없다!",
|
||||
"disableInterruptedMove": "{{pokemonNameWithAffix}}의 {{moveName}}[[는]]\n사용할 수 없다.",
|
||||
"noPokeballForce": "본 적 없는 힘이\n볼을 사용하지 못하게 한다.",
|
||||
"noPokeballTrainer": "다른 트레이너의 포켓몬은 잡을 수 없다!",
|
||||
"noPokeballMulti": "안돼! 2마리 있어서\n목표를 정할 수가 없어…!",
|
||||
@ -95,4 +96,4 @@
|
||||
"congratulations": "축하합니다!",
|
||||
"beatModeFirstTime": "{{speciesName}}[[가]] {{gameMode}} 모드를 처음으로 클리어했다!\n{{newModifier}}[[를]] 손에 넣었다!",
|
||||
"ppReduced": "{{targetName}}의\n{{moveName}}[[를]] {{reduction}} 깎았다!"
|
||||
}
|
||||
}
|
||||
|
@ -67,5 +67,7 @@
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}}[[는]] 소금절이의\n데미지를 입고 있다.",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}}[[는]] 자신의 체력을 깎아서\n{{pokemonName}}에게 저주를 걸었다!",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}}[[는]]\n저주받고 있다!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}}[[는]]\n{{stockpiledCount}}개 비축했다!"
|
||||
}
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}}[[는]]\n{{stockpiledCount}}개 비축했다!",
|
||||
"disabledOnAdd": "{{pokemonNameWithAffix}}의 {{moveName}}[[는]]\n사용할 수 없다!",
|
||||
"disabledLapse": "{{pokemonNameWithAffix}}의 {{moveName}}[[는]]\n이제 사용할 수 있다."
|
||||
}
|
||||
|
@ -51,5 +51,7 @@
|
||||
"renamePokemon": "포켓몬의 닉네임은?",
|
||||
"rename": "닉네임 바꾸기",
|
||||
"nickname": "닉네임",
|
||||
"errorServerDown": "서버 연결 중 문제가 발생했습니다.\n\n이 창을 종료하지 않고 두면,\n게임은 자동으로 재접속됩니다."
|
||||
"errorServerDown": "서버 연결 중 문제가 발생했습니다.\n\n이 창을 종료하지 않고 두면,\n게임은 자동으로 재접속됩니다.",
|
||||
"noSaves": "기기에 세이브 파일이 없습니다!",
|
||||
"tooManySaves": "기기에 세이브 파일이 너무 많습니다!"
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "포켓몬의 성격을 {{natureName}}[[로]] 바꾸고 스타팅에도 등록한다."
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "{{battleCount}}번의 배틀 동안 더블 배틀이 등장할 확률이 두 배가 된다."
|
||||
"description": "{{battleCount}}번의 배틀 동안 더블 배틀이 등장할 확률이 4배가 된다."
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "자신의 모든 포켓몬이 5번의 배틀 동안 {{stat}}[[가]] 한 단계 증가한다."
|
||||
"description": "자신의 모든 포켓몬이 5번의 배틀 동안 {{stat}}[[가]] {{amount}}단계 증가한다.",
|
||||
"extra": {
|
||||
"stage": "1 스테이지",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "지니게 하면 {{moveType}}타입 기술의 위력이 20% 상승한다."
|
||||
|
@ -95,4 +95,4 @@
|
||||
"unlockedSomething": "{{unlockedThing}}\nfoi desbloqueado.",
|
||||
"congratulations": "Parabéns!",
|
||||
"beatModeFirstTime": "{{speciesName}} venceu o Modo {{gameMode}} pela primeira vez!\nVocê recebeu {{newModifier}}!"
|
||||
}
|
||||
}
|
||||
|
@ -68,4 +68,4 @@
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}} cortou seus PS pela metade e amaldiçoou {{pokemonName}}!",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}} foi ferido pelo Curse!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}} estocou {{stockpiledCount}}!"
|
||||
}
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "Muda a natureza do Pokémon para {{natureName}} e a desbloqueia permanentemente."
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "Dobra as chances de encontrar uma batalha em dupla por {{battleCount}} batalhas."
|
||||
"description": "Quadruplica as chances de encontrar uma batalha em dupla por {{battleCount}} batalhas."
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "Aumenta o atributo de {{stat}} para todos os membros da equipe por 5 batalhas."
|
||||
"description": "Aumenta o atributo de {{stat}} para todos os membros da equipe em {{amount}} por 5 batalhas.",
|
||||
"extra": {
|
||||
"stage": "um nível",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "Aumenta o poder dos ataques do tipo {{moveType}} de um Pokémon em 20%."
|
||||
|
@ -12,6 +12,7 @@
|
||||
"blockItemTheft": "{{pokemonNameWithAffix}}的{{abilityName}}\n阻止了对方夺取道具!",
|
||||
"typeImmunityHeal": "{{pokemonNameWithAffix}}因{{abilityName}}\n回复了少许HP!",
|
||||
"nonSuperEffectiveImmunity": "{{pokemonNameWithAffix}}因{{abilityName}}\n避免了伤害!",
|
||||
"fullHpResistType": "{{pokemonNameWithAffix}}\n让甲壳发出光辉,使属性相克发生扭曲!",
|
||||
"moveImmunity": "对{{pokemonNameWithAffix}}没有效果!",
|
||||
"reverseDrain": "{{pokemonNameWithAffix}}\n吸到了污泥浆!",
|
||||
"postDefendTypeChange": "{{pokemonNameWithAffix}}因{{abilityName}}\n变成了{{typeName}}属性!",
|
||||
@ -51,6 +52,7 @@
|
||||
"postSummonTeravolt": "{{pokemonNameWithAffix}}\n正在释放溅射气场!",
|
||||
"postSummonDarkAura": "{{pokemonNameWithAffix}}\n正在释放暗黑气场!",
|
||||
"postSummonFairyAura": "{{pokemonNameWithAffix}}\n正在释放妖精气场!",
|
||||
"postSummonAuraBreak": "{{pokemonNameWithAffix}}\n压制了所有气场!",
|
||||
"postSummonNeutralizingGas": "周围充满了\n{{pokemonNameWithAffix}}的化学变化气体!",
|
||||
"postSummonAsOneGlastrier": "{{pokemonNameWithAffix}}\n同时拥有了两种特性!",
|
||||
"postSummonAsOneSpectrier": "{{pokemonNameWithAffix}}\n同时拥有了两种特性!",
|
||||
@ -59,4 +61,4 @@
|
||||
"postSummonTabletsOfRuin": "{{pokemonNameWithAffix}}的灾祸之简\n令周围的宝可梦的{{statName}}减弱了!",
|
||||
"postSummonBeadsOfRuin": "{{pokemonNameWithAffix}}的灾祸之玉\n令周围的宝可梦的{{statName}}减弱了!",
|
||||
"preventBerryUse": "{{pokemonNameWithAffix}}因太紧张\n而无法食用树果!"
|
||||
}
|
||||
}
|
||||
|
@ -44,6 +44,7 @@
|
||||
"moveNotImplemented": "{{moveName}}尚未实装,无法选择。",
|
||||
"moveNoPP": "这个技能的PP用完了",
|
||||
"moveDisabled": "{{moveName}}被禁用!",
|
||||
"disableInterruptedMove": "{{pokemonNameWithAffix}}的{{moveName}}\n被无效化了!",
|
||||
"noPokeballForce": "一股无形的力量阻止了你使用精灵球。",
|
||||
"noPokeballTrainer": "你不能捕捉其他训练家的宝可梦!",
|
||||
"noPokeballMulti": "只能在剩下一只宝可梦时才能扔出精灵球!",
|
||||
@ -87,4 +88,4 @@
|
||||
"unlockedSomething": "{{unlockedThing}}\n已解锁。",
|
||||
"congratulations": "恭喜!",
|
||||
"beatModeFirstTime": "{{speciesName}}首次击败了{{gameMode}}!\n你获得了{{newModifier}}!"
|
||||
}
|
||||
}
|
||||
|
@ -67,5 +67,7 @@
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}}\n受到了{{moveName}}的伤害!",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}}削减了自己的体力,\n并诅咒了{{pokemonName}}!",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}}\n正受到诅咒!",
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}}蓄力了{{stockpiledCount}}次!"
|
||||
}
|
||||
"stockpilingOnAdd": "{{pokemonNameWithAffix}}蓄力了{{stockpiledCount}}次!",
|
||||
"disabledOnAdd": "封住了{{pokemonNameWithAffix}}的\n{{moveName}}!",
|
||||
"disabledLapse": "{{pokemonNameWithAffix}}的\n定身法解除了!"
|
||||
}
|
||||
|
@ -51,5 +51,7 @@
|
||||
"renamePokemon": "给宝可梦起名",
|
||||
"rename": "起名",
|
||||
"nickname": "昵称",
|
||||
"errorServerDown": "糟糕!访问服务器时发生了错误。\n\n你可以保持页面开启,\n游戏会自动重新连接。"
|
||||
}
|
||||
"errorServerDown": "糟糕!访问服务器时发生了错误。\n\n你可以保持页面开启,\n游戏会自动重新连接。",
|
||||
"noSaves": "你没有任何记录文件!",
|
||||
"tooManySaves": "你的记录文件太多了!"
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "将一只宝可梦的性格改为{{natureName}}并为\n该宝可梦永久解锁该性格。"
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "接下来的{{battleCount}}场战斗是双打的概率翻倍。"
|
||||
"description": "遭遇双打概率提升四倍,持续{{battleCount}}场战斗。"
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "为所有成员宝可梦提升一级{{stat}},持续5场战斗。"
|
||||
"description": "提升全队的{{stat}}{{amount}}级,持续5场战斗。",
|
||||
"extra": {
|
||||
"stage": "1阶",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "一只宝可梦的{{moveType}}系招式威力提升20%。"
|
||||
|
@ -6,6 +6,8 @@
|
||||
"trace": "{{pokemonName}} 複製了 {{targetName}} 的\n{{abilityName}}!",
|
||||
"windPowerCharged": "受 {{moveName}} 的影響, {{pokemonName}} 提升了能力!",
|
||||
"disguiseAvoidedDamage": "{{pokemonNameWithAffix}}的畫皮脫落了!",
|
||||
"fullHpResistType": "{{pokemonNameWithAffix}}讓甲殼綻放光輝,扭曲了屬性相剋關係!",
|
||||
"weatherEffectDisappeared": "天氣的影響消失了!",
|
||||
"postSummonAuraBreak": "{{pokemonNameWithAffix}}壓制了所有氣場!",
|
||||
"preventBerryUse": "{{pokemonNameWithAffix}}因太緊張\n而無法食用樹果!"
|
||||
}
|
||||
}
|
||||
|
@ -40,6 +40,7 @@
|
||||
"moveNotImplemented": "{{moveName}} 未實裝,無法選擇。",
|
||||
"moveNoPP": "這個技能的PP用完了",
|
||||
"moveDisabled": "{{moveName}} 被禁用!",
|
||||
"disableInterruptedMove": "{{pokemonNameWithAffix}}的{{moveName}}\n被無效化了!",
|
||||
"noPokeballForce": "一股無形的力量阻止了你使用精靈球。",
|
||||
"noPokeballTrainer": "你不能捕捉其他訓練家的寶可夢!",
|
||||
"noPokeballMulti": "只能在剩下一隻寶可夢時才能扔出精靈球!",
|
||||
@ -65,4 +66,4 @@
|
||||
"regainHealth": "{{pokemonName}} 回復了體力!",
|
||||
"fainted": "{{pokemonNameWithAffix}} 倒下了!",
|
||||
"ppReduced": "降低了 {{targetName}} 的\n{{moveName}} 的PP{{reduction}}點!"
|
||||
}
|
||||
}
|
||||
|
@ -66,5 +66,7 @@
|
||||
"saltCuredOnAdd": "{{pokemonNameWithAffix}} 陷入了鹽腌狀態!",
|
||||
"saltCuredLapse": "{{pokemonNameWithAffix}} 受到了{{moveName}}的傷害!",
|
||||
"cursedOnAdd": "{{pokemonNameWithAffix}}削減了自己的體力,並詛咒了{{pokemonName}}!",
|
||||
"cursedLapse": "{{pokemonNameWithAffix}}正受到詛咒!"
|
||||
}
|
||||
"cursedLapse": "{{pokemonNameWithAffix}}正受到詛咒!",
|
||||
"disabledOnAdd": "封住了{{pokemonNameWithAffix}}的\n{moveName}}!",
|
||||
"disabledLapse": "{{pokemonNameWithAffix}}的\n定身法解除了!"
|
||||
}
|
||||
|
@ -40,5 +40,7 @@
|
||||
"loading": "加載中…",
|
||||
"playersOnline": "在線玩家",
|
||||
"yes": "是",
|
||||
"no": "否"
|
||||
}
|
||||
"no": "否",
|
||||
"noSaves": "你沒有任何記錄檔!",
|
||||
"tooManySaves": "你的記錄檔太多了!"
|
||||
}
|
||||
|
@ -47,10 +47,14 @@
|
||||
"description": "將一隻寶可夢的性格改爲{{natureName}}併爲該寶可\n夢永久解鎖該性格。"
|
||||
},
|
||||
"DoubleBattleChanceBoosterModifierType": {
|
||||
"description": "接下來的{{battleCount}}場戰鬥是雙打的概率翻倍。"
|
||||
"description": "遭遇雙打機率提升四倍,持續{{battleCount}}場戰鬥。"
|
||||
},
|
||||
"TempStatStageBoosterModifierType": {
|
||||
"description": "爲所有成員寶可夢提升一級{{stat}},持續5場戰鬥。"
|
||||
"description": "提升全隊的{{stat}}{{amount}}級,持續5場戰鬥。",
|
||||
"extra": {
|
||||
"stage": "1階",
|
||||
"percentage": "30%"
|
||||
}
|
||||
},
|
||||
"AttackTypeBoosterModifierType": {
|
||||
"description": "一隻寶可夢的{{moveType}}系招式威力提升20%。"
|
||||
|
@ -4,8 +4,8 @@ import InvertPostFX from "./pipelines/invert";
|
||||
import { version } from "../package.json";
|
||||
import UIPlugin from "phaser3-rex-plugins/templates/ui/ui-plugin";
|
||||
import BBCodeTextPlugin from "phaser3-rex-plugins/plugins/bbcodetext-plugin";
|
||||
import InputTextPlugin from "phaser3-rex-plugins/plugins/inputtext-plugin.js";
|
||||
import TransitionImagePackPlugin from "phaser3-rex-plugins/templates/transitionimagepack/transitionimagepack-plugin.js";
|
||||
import InputTextPlugin from "phaser3-rex-plugins/plugins/inputtext-plugin";
|
||||
import TransitionImagePackPlugin from "phaser3-rex-plugins/templates/transitionimagepack/transitionimagepack-plugin";
|
||||
import { LoadingScene } from "./loading-scene";
|
||||
|
||||
|
||||
|
@ -25,7 +25,7 @@ import { BattlerTagType } from "#enums/battler-tag-type";
|
||||
import { BerryType } from "#enums/berry-type";
|
||||
import { Moves } from "#enums/moves";
|
||||
import { Species } from "#enums/species";
|
||||
import { getPokemonNameWithAffix } from "#app/messages.js";
|
||||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { PermanentStat, TEMP_BATTLE_STATS, TempBattleStat, Stat, getStatKey } from "#app/enums/stat";
|
||||
|
||||
const outputModifierData = false;
|
||||
|
@ -26,9 +26,9 @@ import i18next from "i18next";
|
||||
|
||||
import { allMoves } from "#app/data/move";
|
||||
import { Abilities } from "#app/enums/abilities";
|
||||
import { LearnMovePhase } from "#app/phases/learn-move-phase.js";
|
||||
import { LevelUpPhase } from "#app/phases/level-up-phase.js";
|
||||
import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase.js";
|
||||
import { LearnMovePhase } from "#app/phases/learn-move-phase";
|
||||
import { LevelUpPhase } from "#app/phases/level-up-phase";
|
||||
import { PokemonHealPhase } from "#app/phases/pokemon-heal-phase";
|
||||
|
||||
export type ModifierPredicate = (modifier: Modifier) => boolean;
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { ModifierTier } from "#app/modifier/modifier-tier.js";
|
||||
import { regenerateModifierPoolThresholds, ModifierPoolType, getEnemyBuffModifierForWave } from "#app/modifier/modifier-type.js";
|
||||
import { EnemyPersistentModifier } from "#app/modifier/modifier.js";
|
||||
import { Phase } from "#app/phase.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { ModifierTier } from "#app/modifier/modifier-tier";
|
||||
import { regenerateModifierPoolThresholds, ModifierPoolType, getEnemyBuffModifierForWave } from "#app/modifier/modifier-type";
|
||||
import { EnemyPersistentModifier } from "#app/modifier/modifier";
|
||||
import { Phase } from "#app/phase";
|
||||
|
||||
export class AddEnemyBuffModifierPhase extends Phase {
|
||||
constructor(scene: BattleScene) {
|
||||
|
@ -1,17 +1,17 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { BattlerIndex } from "#app/battle.js";
|
||||
import { getPokeballCatchMultiplier, getPokeballAtlasKey, getPokeballTintColor, doPokeballBounceAnim } from "#app/data/pokeball.js";
|
||||
import { getStatusEffectCatchRateMultiplier } from "#app/data/status-effect.js";
|
||||
import { PokeballType } from "#app/enums/pokeball.js";
|
||||
import { StatusEffect } from "#app/enums/status-effect.js";
|
||||
import { addPokeballOpenParticles, addPokeballCaptureStars } from "#app/field/anims.js";
|
||||
import { EnemyPokemon } from "#app/field/pokemon.js";
|
||||
import { getPokemonNameWithAffix } from "#app/messages.js";
|
||||
import { PokemonHeldItemModifier } from "#app/modifier/modifier.js";
|
||||
import { achvs } from "#app/system/achv.js";
|
||||
import { PartyUiMode, PartyOption } from "#app/ui/party-ui-handler.js";
|
||||
import { SummaryUiMode } from "#app/ui/summary-ui-handler.js";
|
||||
import { Mode } from "#app/ui/ui.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { BattlerIndex } from "#app/battle";
|
||||
import { getPokeballCatchMultiplier, getPokeballAtlasKey, getPokeballTintColor, doPokeballBounceAnim } from "#app/data/pokeball";
|
||||
import { getStatusEffectCatchRateMultiplier } from "#app/data/status-effect";
|
||||
import { PokeballType } from "#app/enums/pokeball";
|
||||
import { StatusEffect } from "#app/enums/status-effect";
|
||||
import { addPokeballOpenParticles, addPokeballCaptureStars } from "#app/field/anims";
|
||||
import { EnemyPokemon } from "#app/field/pokemon";
|
||||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { PokemonHeldItemModifier } from "#app/modifier/modifier";
|
||||
import { achvs } from "#app/system/achv";
|
||||
import { PartyUiMode, PartyOption } from "#app/ui/party-ui-handler";
|
||||
import { SummaryUiMode } from "#app/ui/summary-ui-handler";
|
||||
import { Mode } from "#app/ui/ui";
|
||||
import i18next from "i18next";
|
||||
import { PokemonPhase } from "./pokemon-phase";
|
||||
import { VictoryPhase } from "./victory-phase";
|
||||
@ -221,8 +221,8 @@ export class AttemptCapturePhase extends PokemonPhase {
|
||||
this.scene.clearEnemyHeldItemModifiers();
|
||||
this.scene.field.remove(pokemon, true);
|
||||
};
|
||||
const addToParty = () => {
|
||||
const newPokemon = pokemon.addToParty(this.pokeballType);
|
||||
const addToParty = (slotIndex?: number) => {
|
||||
const newPokemon = pokemon.addToParty(this.pokeballType, slotIndex);
|
||||
const modifiers = this.scene.findModifiers(m => m instanceof PokemonHeldItemModifier, false);
|
||||
if (this.scene.getParty().filter(p => p.isShiny()).length === 6) {
|
||||
this.scene.validateAchv(achvs.SHINY_PARTY);
|
||||
@ -253,7 +253,7 @@ export class AttemptCapturePhase extends PokemonPhase {
|
||||
this.scene.ui.setMode(Mode.PARTY, PartyUiMode.RELEASE, this.fieldIndex, (slotIndex: integer, _option: PartyOption) => {
|
||||
this.scene.ui.setMode(Mode.MESSAGE).then(() => {
|
||||
if (slotIndex < 6) {
|
||||
addToParty();
|
||||
addToParty(slotIndex);
|
||||
} else {
|
||||
promptRelease();
|
||||
}
|
||||
|
@ -28,7 +28,7 @@ export class AttemptRunPhase extends PokemonPhase {
|
||||
|
||||
applyAbAttrs(RunSuccessAbAttr, playerPokemon, null, false, escapeChance);
|
||||
|
||||
if (Utils.randSeedInt(100) < escapeChance.value) {
|
||||
if (playerPokemon.randSeedInt(100) < escapeChance.value) {
|
||||
this.scene.playSound("se/flee");
|
||||
this.scene.queueMessage(i18next.t("battle:runAwaySuccess"), null, true, 500);
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { applyPostBattleAbAttrs, PostBattleAbAttr } from "#app/data/ability.js";
|
||||
import { LapsingPersistentModifier, LapsingPokemonHeldItemModifier } from "#app/modifier/modifier.js";
|
||||
import { applyPostBattleAbAttrs, PostBattleAbAttr } from "#app/data/ability";
|
||||
import { LapsingPersistentModifier, LapsingPokemonHeldItemModifier } from "#app/modifier/modifier";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
import { GameOverPhase } from "./game-over-phase";
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { TrainerSlot } from "#app/data/trainer-config.js";
|
||||
import { Phase } from "#app/phase.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { TrainerSlot } from "#app/data/trainer-config";
|
||||
import { Phase } from "#app/phase";
|
||||
|
||||
export class BattlePhase extends Phase {
|
||||
constructor(scene: BattleScene) {
|
||||
|
@ -1,10 +1,10 @@
|
||||
import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/ability.js";
|
||||
import { CommonAnim } from "#app/data/battle-anims.js";
|
||||
import { BerryUsedEvent } from "#app/events/battle-scene.js";
|
||||
import { getPokemonNameWithAffix } from "#app/messages.js";
|
||||
import { BerryModifier } from "#app/modifier/modifier.js";
|
||||
import { applyAbAttrs, PreventBerryUseAbAttr, HealFromBerryUseAbAttr } from "#app/data/ability";
|
||||
import { CommonAnim } from "#app/data/battle-anims";
|
||||
import { BerryUsedEvent } from "#app/events/battle-scene";
|
||||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { BerryModifier } from "#app/modifier/modifier";
|
||||
import i18next from "i18next";
|
||||
import * as Utils from "#app/utils.js";
|
||||
import * as Utils from "#app/utils";
|
||||
import { FieldPhase } from "./field-phase";
|
||||
import { CommonAnimPhase } from "./common-anim-phase";
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { BattleStyle } from "#app/enums/battle-style.js";
|
||||
import { BattlerTagType } from "#app/enums/battler-tag-type.js";
|
||||
import { getPokemonNameWithAffix } from "#app/messages.js";
|
||||
import { Mode } from "#app/ui/ui.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { BattleStyle } from "#app/enums/battle-style";
|
||||
import { BattlerTagType } from "#app/enums/battler-tag-type";
|
||||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { Mode } from "#app/ui/ui";
|
||||
import i18next from "i18next";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
import { PostSummonPhase } from "./post-summon-phase";
|
||||
|
@ -1,6 +1,6 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { BattlerIndex } from "#app/battle.js";
|
||||
import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { BattlerIndex } from "#app/battle";
|
||||
import { CommonAnim, CommonBattleAnim } from "#app/data/battle-anims";
|
||||
import { PokemonPhase } from "./pokemon-phase";
|
||||
|
||||
export class CommonAnimPhase extends PokemonPhase {
|
||||
|
@ -1,8 +1,8 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { BattlerIndex } from "#app/battle.js";
|
||||
import { BattleSpec } from "#app/enums/battle-spec.js";
|
||||
import { DamageResult, HitResult } from "#app/field/pokemon.js";
|
||||
import * as Utils from "#app/utils.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { BattlerIndex } from "#app/battle";
|
||||
import { BattleSpec } from "#app/enums/battle-spec";
|
||||
import { DamageResult, HitResult } from "#app/field/pokemon";
|
||||
import * as Utils from "#app/utils";
|
||||
import { PokemonPhase } from "./pokemon-phase";
|
||||
|
||||
export class DamagePhase extends PokemonPhase {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { PlayerGender } from "#app/enums/player-gender.js";
|
||||
import { Phase } from "#app/phase.js";
|
||||
import { addTextObject, TextStyle } from "#app/ui/text.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { PlayerGender } from "#app/enums/player-gender";
|
||||
import { Phase } from "#app/phase";
|
||||
import { addTextObject, TextStyle } from "#app/ui/text";
|
||||
import i18next from "i18next";
|
||||
|
||||
export class EndCardPhase extends Phase {
|
||||
|
@ -1,6 +1,6 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { Phase } from "#app/phase.js";
|
||||
import { Mode } from "#app/ui/ui.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { Phase } from "#app/phase";
|
||||
import { Mode } from "#app/ui/ui";
|
||||
|
||||
export class EndEvolutionPhase extends Phase {
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { EnemyPokemon } from "#app/field/pokemon.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { EnemyPokemon } from "#app/field/pokemon";
|
||||
import { PartyMemberPokemonPhase } from "./party-member-pokemon-phase";
|
||||
|
||||
export abstract class EnemyPartyMemberPokemonPhase extends PartyMemberPokemonPhase {
|
||||
|
@ -1,8 +1,8 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { getPokemonNameWithAffix } from "#app/messages.js";
|
||||
import { ExpBoosterModifier } from "#app/modifier/modifier.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { getPokemonNameWithAffix } from "#app/messages";
|
||||
import { ExpBoosterModifier } from "#app/modifier/modifier";
|
||||
import i18next from "i18next";
|
||||
import * as Utils from "#app/utils.js";
|
||||
import * as Utils from "#app/utils";
|
||||
import { PlayerPartyMemberPokemonPhase } from "./player-party-member-pokemon-phase";
|
||||
import { LevelUpPhase } from "./level-up-phase";
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
import Pokemon from "#app/field/pokemon.js";
|
||||
import Pokemon from "#app/field/pokemon";
|
||||
import { BattlePhase } from "./battle-phase";
|
||||
|
||||
type PokemonFunc = (pokemon: Pokemon) => void;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import BattleScene from "#app/battle-scene.js";
|
||||
import { ModifierTypeFunc } from "#app/modifier/modifier-type.js";
|
||||
import { Mode } from "#app/ui/ui.js";
|
||||
import BattleScene from "#app/battle-scene";
|
||||
import { ModifierTypeFunc } from "#app/modifier/modifier-type";
|
||||
import { Mode } from "#app/ui/ui";
|
||||
import i18next from "i18next";
|
||||
import { ModifierRewardPhase } from "./modifier-reward-phase";
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user