mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-07-13 11:52:18 +02:00
Compare commits
10 Commits
caeb22c26b
...
de1c2b2b5b
Author | SHA1 | Date | |
---|---|---|---|
|
de1c2b2b5b | ||
|
6f2d639a7b | ||
|
ae0cd86bc3 | ||
|
93c91bf73a | ||
|
1b8b0789c0 | ||
|
311f7b7420 | ||
|
f95bd40353 | ||
|
5c28e1fb11 | ||
|
97d8275417 | ||
|
ef28e75b39 |
@ -1,11 +1,31 @@
|
||||
import Move from "./data/move";
|
||||
|
||||
/** Alias for all {@linkcode BattleScene} events */
|
||||
export enum BattleSceneEventType {
|
||||
MOVE_USED = "onMoveUsed"
|
||||
/**
|
||||
* Triggers when a move is successfully used
|
||||
* @see {@linkcode MoveUsedEvent}
|
||||
*/
|
||||
MOVE_USED = "onMoveUsed",
|
||||
/**
|
||||
* Triggers on the first turn of a new battle
|
||||
* @see {@linkcode TurnInitEvent}
|
||||
*/
|
||||
TURN_INIT = "onTurnInit",
|
||||
/**
|
||||
* Triggers after a turn ends in battle
|
||||
* @see {@linkcode TurnEndEvent}
|
||||
*/
|
||||
TURN_END = "onTurnEnd",
|
||||
/**
|
||||
* Triggers when a new {@linkcode Arena} is created during initialization
|
||||
* @see {@linkcode NewArenaEvent}
|
||||
*/
|
||||
NEW_ARENA = "onNewArena",
|
||||
}
|
||||
|
||||
/**
|
||||
* Container class for `onMoveUsed` events
|
||||
* Container class for {@linkcode BattleSceneEventType.MOVE_USED} events
|
||||
* @extends Event
|
||||
*/
|
||||
export class MoveUsedEvent extends Event {
|
||||
@ -23,3 +43,34 @@ export class MoveUsedEvent extends Event {
|
||||
this.ppUsed = ppUsed;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Container class for {@linkcode BattleSceneEventType.TURN_INIT} events
|
||||
* @extends Event
|
||||
*/
|
||||
export class TurnInitEvent extends Event {
|
||||
constructor() {
|
||||
super(BattleSceneEventType.TURN_INIT);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Container class for {@linkcode BattleSceneEventType.TURN_END} events
|
||||
* @extends Event
|
||||
*/
|
||||
export class TurnEndEvent extends Event {
|
||||
/** The amount of turns in the current battle */
|
||||
public turnCount: number;
|
||||
constructor(turnCount: number) {
|
||||
super(BattleSceneEventType.TURN_END);
|
||||
|
||||
this.turnCount = turnCount;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Container class for {@linkcode BattleSceneEventType.NEW_ARENA} events
|
||||
* @extends Event
|
||||
*/
|
||||
export class NewArenaEvent extends Event {
|
||||
constructor() {
|
||||
super(BattleSceneEventType.NEW_ARENA);
|
||||
}
|
||||
}
|
||||
|
@ -56,6 +56,7 @@ import { Localizable } from "./plugins/i18n";
|
||||
import * as Overrides from "./overrides";
|
||||
import {InputsController} from "./inputs-controller";
|
||||
import {UiInputs} from "./ui-inputs";
|
||||
import { NewArenaEvent } from "./battle-scene-events";
|
||||
|
||||
export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1";
|
||||
|
||||
@ -995,6 +996,7 @@ export default class BattleScene extends SceneBase {
|
||||
|
||||
newArena(biome: Biome): Arena {
|
||||
this.arena = new Arena(this, biome, Biome[biome].toLowerCase());
|
||||
this.eventTarget.dispatchEvent(new NewArenaEvent());
|
||||
|
||||
this.arenaBg.pipelineData = { terrainColorRatio: this.arena.getBgTerrainColorRatioForBiome() };
|
||||
|
||||
|
@ -6,22 +6,23 @@ import { TrainerType } from "./enums/trainer-type";
|
||||
import { TimeOfDay } from "./enums/time-of-day";
|
||||
import { Biome } from "./enums/biome";
|
||||
import {pokemonEvolutions, SpeciesFormEvolution} from "./pokemon-evolutions";
|
||||
import i18next from "i18next";
|
||||
|
||||
export function getBiomeName(biome: Biome | -1) {
|
||||
if (biome === -1) {
|
||||
return "Somewhere you can't remember";
|
||||
return i18next.t("biome:unknownLocation");
|
||||
}
|
||||
switch (biome) {
|
||||
case Biome.GRASS:
|
||||
return "Grassy Field";
|
||||
return i18next.t("biome:GRASS");
|
||||
case Biome.RUINS:
|
||||
return "Ancient Ruins";
|
||||
return i18next.t("biome:RUINS");
|
||||
case Biome.ABYSS:
|
||||
return "The Abyss";
|
||||
return i18next.t("biome:ABYSS");
|
||||
case Biome.END:
|
||||
return "???";
|
||||
return i18next.t("biome:END");
|
||||
default:
|
||||
return Utils.toReadableString(Biome[biome]);
|
||||
return i18next.t(`biome:${Biome[biome].toUpperCase()}`);
|
||||
}
|
||||
}
|
||||
|
||||
@ -55,7 +56,7 @@ export const biomeLinks: BiomeLinks = {
|
||||
[Biome.VOLCANO]: [ Biome.BEACH, [ Biome.ICE_CAVE, 4 ] ],
|
||||
[Biome.GRAVEYARD]: Biome.ABYSS,
|
||||
[Biome.DOJO]: [ Biome.PLAINS, [ Biome.TEMPLE, 3 ] ],
|
||||
[Biome.FACTORY]: [ Biome.PLAINS, [ Biome.LABORATORY, 8 ] ],
|
||||
[Biome.FACTORY]: [ Biome.PLAINS, [ Biome.LABORATORY, 4 ] ],
|
||||
[Biome.RUINS]: [ Biome.FOREST ],
|
||||
[Biome.WASTELAND]: Biome.BADLANDS,
|
||||
[Biome.ABYSS]: [ Biome.CAVE, [ Biome.SPACE, 3 ], [ Biome.WASTELAND, 3 ] ],
|
||||
|
@ -807,6 +807,9 @@ export class PokemonForm extends PokemonSpeciesForm {
|
||||
public formKey: string;
|
||||
public formSpriteKey: string;
|
||||
|
||||
// This is a collection of form keys that have in-run form changes, but should still be separately selectable from the start screen
|
||||
private starterSelectableKeys: string[] = ["10", "50", "10-pc", "50-pc", "red", "orange", "yellow", "green", "blue", "indigo", "violet"];
|
||||
|
||||
constructor(formName: string, formKey: string, type1: Type, type2: Type, height: number, weight: number, ability1: Abilities, ability2: Abilities, abilityHidden: Abilities,
|
||||
baseTotal: integer, baseHp: integer, baseAtk: integer, baseDef: integer, baseSpatk: integer, baseSpdef: integer, baseSpd: integer,
|
||||
catchRate: integer, baseFriendship: integer, baseExp: integer, genderDiffs?: boolean, formSpriteKey?: string) {
|
||||
@ -820,6 +823,10 @@ export class PokemonForm extends PokemonSpeciesForm {
|
||||
getFormSpriteKey(_formIndex?: integer) {
|
||||
return this.formSpriteKey !== null ? this.formSpriteKey : this.formKey;
|
||||
}
|
||||
|
||||
isStarterSelectable() {
|
||||
return !this.formKey || this.starterSelectableKeys.indexOf[this.formKey] !== -1;
|
||||
}
|
||||
}
|
||||
|
||||
export enum SpeciesFormKey {
|
||||
|
@ -906,7 +906,7 @@ export const signatureSpecies: SignatureSpecies = {
|
||||
WALLACE: [Species.MILOTIC, Species.KYOGRE, Species.WHISCASH, Species.WALREIN, Species.LUDICOLO],
|
||||
CYNTHIA: [Species.SPIRITOMB, Species.GIRATINA, Species.GARCHOMP, Species.MILOTIC, Species.LUCARIO, Species.TOGEKISS],
|
||||
ALDER: [Species.VOLCARONA, Species.GROUDON, Species.BOUFFALANT, Species.ACCELGOR, Species.CONKELDURR],
|
||||
IRIS: [Species.HAXORUS, Species.YVELTAL, Species.DRUDDIGON, Species.ARON, Species.LAPRAS],
|
||||
IRIS: [Species.HAXORUS, Species.YVELTAL, Species.DRUDDIGON, Species.AGGRON, Species.LAPRAS],
|
||||
DIANTHA: [Species.HAWLUCHA, Species.XERNEAS, Species.GOURGEIST, Species.GOODRA, Species.GARDEVOIR],
|
||||
HAU: [Species.ALOLA_RAICHU, [Species.SOLGALEO, Species.LUNALA], Species.NOIVERN, [Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA], Species.CRABOMINABLE],
|
||||
GEETA: [Species.GLIMMORA, Species.MIRAIDON, Species.ESPATHRA, Species.VELUZA, Species.KINGAMBIT],
|
||||
@ -1198,7 +1198,7 @@ export const trainerConfigs: TrainerConfigs = {
|
||||
[TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion(signatureSpecies["STEVEN"]).setBattleBgm("battle_hoenn_champion").setHasDouble("steven_wallace_double").setDoubleTrainerType(TrainerType.WALLACE).setDoubleTitle("champion_double"),
|
||||
[TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion(signatureSpecies["WALLACE"]).setBattleBgm("battle_hoenn_champion").setHasDouble("wallace_steven_double").setDoubleTrainerType(TrainerType.STEVEN).setDoubleTitle("champion_double"),
|
||||
[TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion(signatureSpecies["CYNTHIA"]).setBattleBgm("battle_sinnoh_champion"),
|
||||
[TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"]).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_unova_champion"),
|
||||
[TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"]).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_champion_alder"),
|
||||
[TrainerType.IRIS]: new TrainerConfig(++t).initForChampion(signatureSpecies["IRIS"]).setBattleBgm("battle_champion_iris").setHasDouble("iris_alder_double").setDoubleTrainerType(TrainerType.ALDER).setDoubleTitle("champion_double"),
|
||||
[TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion(signatureSpecies["DIANTHA"]),
|
||||
[TrainerType.HAU]: new TrainerConfig(++t).initForChampion(signatureSpecies["HAU"]),
|
||||
|
@ -471,7 +471,7 @@ export const ability: AbilityTranslationEntries = {
|
||||
},
|
||||
honeyGather: {
|
||||
name: "Honigmaul",
|
||||
description: "The Pokémon gathers Honey after a battle. The Honey is then sold for money.",
|
||||
description: "Sammelt nach dem Kampf Honig. Dieser wird dann für Geld verkauft.",
|
||||
},
|
||||
frisk: {
|
||||
name: "Schnüffler",
|
||||
|
@ -39,7 +39,7 @@ export const berry: BerryTranslationEntries = {
|
||||
},
|
||||
"STARF": {
|
||||
name: "Krambobeere",
|
||||
effect: "Erhöht eine Statuswert stark, wenn die KP unter 25% sind"
|
||||
effect: "Erhöht einen zufälligen Statuswert stark, wenn die KP unter 25% sind"
|
||||
},
|
||||
"LEPPA": {
|
||||
name: "Jonagobeere",
|
||||
|
40
src/locales/de/biome.ts
Normal file
40
src/locales/de/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "An einem unbekannten Ort",
|
||||
"TOWN": "Stadt",
|
||||
"PLAINS": "Ebene",
|
||||
"GRASS": "Grasfeld",
|
||||
"TALL_GRASS": "Hohes Gras",
|
||||
"METROPOLIS": "Metropole",
|
||||
"FOREST": "Wald",
|
||||
"SEA": "Meer",
|
||||
"SWAMP": "Sumpf",
|
||||
"BEACH": "Strand",
|
||||
"LAKE": "See",
|
||||
"SEABED": "Meeresboden",
|
||||
"MOUNTAIN": "Berg",
|
||||
"BADLANDS": "Kargland",
|
||||
"CAVE": "Höhle",
|
||||
"DESERT": "Wüste",
|
||||
"ICE_CAVE": "Eishöhle",
|
||||
"MEADOW": "Weide",
|
||||
"POWER_PLANT": "Kraftwerk",
|
||||
"VOLCANO": "Vulkan",
|
||||
"GRAVEYARD": "Friedhof",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Fabrik",
|
||||
"RUINS": "Alte Ruinen",
|
||||
"WASTELAND": "Ödland",
|
||||
"ABYSS": "Der Abgrund",
|
||||
"SPACE": "Stratosphäre",
|
||||
"CONSTRUCTION_SITE": "Baustelle",
|
||||
"JUNGLE": "Dschungel",
|
||||
"FAIRY_CAVE": "Feenhöhle",
|
||||
"TEMPLE": "Tempel",
|
||||
"SLUM": "Elendsviertel",
|
||||
"SNOWY_FOREST": "Verschneiter Wald",
|
||||
"ISLAND": "Insel",
|
||||
"LABORATORY": "Labor",
|
||||
"END": "???",
|
||||
} as const;
|
@ -21,6 +21,7 @@ import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
export const deConfig = {
|
||||
ability: ability,
|
||||
@ -48,4 +49,5 @@ export const deConfig = {
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
@ -2915,7 +2915,7 @@ export const move: MoveTranslationEntries = {
|
||||
},
|
||||
"zippyZap": {
|
||||
name: "Britzelturbo",
|
||||
effect: "The user attacks the target with bursts of electricity at high speed. This move always goes first and raises the user's evasiveness."
|
||||
effect: "Ein stürmischer Blitz-Angriff mit hoher Erstschlag- und Volltrefferquote."
|
||||
},
|
||||
"splishySplash": {
|
||||
name: "Plätschersurfer",
|
||||
|
40
src/locales/en/biome.ts
Normal file
40
src/locales/en/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "Somewhere you can\'t remember",
|
||||
"TOWN": "Town",
|
||||
"PLAINS": "Plains",
|
||||
"GRASS": "Grassy Field",
|
||||
"TALL_GRASS": "Tall Grass",
|
||||
"METROPOLIS": "Metropolis",
|
||||
"FOREST": "Forest",
|
||||
"SEA": "Sea",
|
||||
"SWAMP": "Swamp",
|
||||
"BEACH": "Beach",
|
||||
"LAKE": "Lake",
|
||||
"SEABED": "Seabed",
|
||||
"MOUNTAIN": "Mountain",
|
||||
"BADLANDS": "Badlands",
|
||||
"CAVE": "Cave",
|
||||
"DESERT": "Desert",
|
||||
"ICE_CAVE": "Ice Cave",
|
||||
"MEADOW": "Meadow",
|
||||
"POWER_PLANT": "Power Plant",
|
||||
"VOLCANO": "Volcano",
|
||||
"GRAVEYARD": "Graveyard",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Factory",
|
||||
"RUINS": "Ancient Ruins",
|
||||
"WASTELAND": "Wasteland",
|
||||
"ABYSS": "Abyss",
|
||||
"SPACE": "Space",
|
||||
"CONSTRUCTION_SITE": "Construction Site",
|
||||
"JUNGLE": "Jungle",
|
||||
"FAIRY_CAVE": "Fairy Cave",
|
||||
"TEMPLE": "Temple",
|
||||
"SLUM": "Slum",
|
||||
"SNOWY_FOREST": "Snowy Forest",
|
||||
"ISLAND": "Island",
|
||||
"LABORATORY": "Laboratory",
|
||||
"END": "???",
|
||||
} as const;
|
@ -21,6 +21,7 @@ import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
export const enConfig = {
|
||||
ability: ability,
|
||||
@ -48,4 +49,5 @@ export const enConfig = {
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
40
src/locales/es/biome.ts
Normal file
40
src/locales/es/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "Somewhere you can\'t remember",
|
||||
"TOWN": "Town",
|
||||
"PLAINS": "Plains",
|
||||
"GRASS": "Grassy Field",
|
||||
"TALL_GRASS": "Tall Grass",
|
||||
"METROPOLIS": "Metropolis",
|
||||
"FOREST": "Forest",
|
||||
"SEA": "Sea",
|
||||
"SWAMP": "Swamp",
|
||||
"BEACH": "Beach",
|
||||
"LAKE": "Lake",
|
||||
"SEABED": "Seabed",
|
||||
"MOUNTAIN": "Mountain",
|
||||
"BADLANDS": "Badlands",
|
||||
"CAVE": "Cave",
|
||||
"DESERT": "Desert",
|
||||
"ICE_CAVE": "Ice Cave",
|
||||
"MEADOW": "Meadow",
|
||||
"POWER_PLANT": "Power Plant",
|
||||
"VOLCANO": "Volcano",
|
||||
"GRAVEYARD": "Graveyard",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Factory",
|
||||
"RUINS": "Ancient Ruins",
|
||||
"WASTELAND": "Wasteland",
|
||||
"ABYSS": "Abyss",
|
||||
"SPACE": "Space",
|
||||
"CONSTRUCTION_SITE": "Construction Site",
|
||||
"JUNGLE": "Jungle",
|
||||
"FAIRY_CAVE": "Fairy Cave",
|
||||
"TEMPLE": "Temple",
|
||||
"SLUM": "Slum",
|
||||
"SNOWY_FOREST": "Snowy Forest",
|
||||
"ISLAND": "Island",
|
||||
"LABORATORY": "Laboratory",
|
||||
"END": "???",
|
||||
} as const;
|
@ -21,6 +21,7 @@ import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
export const esConfig = {
|
||||
ability: ability,
|
||||
@ -48,4 +49,5 @@ export const esConfig = {
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
40
src/locales/fr/biome.ts
Normal file
40
src/locales/fr/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "Dans un endroit inconnu",
|
||||
"TOWN": "Ville",
|
||||
"PLAINS": "Plaines",
|
||||
"GRASS": "Herbes",
|
||||
"TALL_GRASS": "Hautes Herbes",
|
||||
"METROPOLIS": "Métropole",
|
||||
"FOREST": "Forêt",
|
||||
"SEA": "Mer",
|
||||
"SWAMP": "Marécage",
|
||||
"BEACH": "Plage",
|
||||
"LAKE": "Lac",
|
||||
"SEABED": "Fonds Marins",
|
||||
"MOUNTAIN": "Montagne",
|
||||
"BADLANDS": "Terres Sauvages",
|
||||
"CAVE": "Grotte",
|
||||
"DESERT": "Desert",
|
||||
"ICE_CAVE": "Caverne Glaciale",
|
||||
"MEADOW": "Prairie",
|
||||
"POWER_PLANT": "Centrale Électrique",
|
||||
"VOLCANO": "Volcan",
|
||||
"GRAVEYARD": "Cimetière",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Usine",
|
||||
"RUINS": "Ruines",
|
||||
"WASTELAND": "Terres Désolées",
|
||||
"ABYSS": "Gouffre",
|
||||
"SPACE": "Espace",
|
||||
"CONSTRUCTION_SITE": "Chantier",
|
||||
"JUNGLE": "Jungle",
|
||||
"FAIRY_CAVE": "Grotte Féérique",
|
||||
"TEMPLE": "Temple",
|
||||
"SLUM": "Bidonville",
|
||||
"SNOWY_FOREST": "Forêt Enneigée",
|
||||
"ISLAND": "Île",
|
||||
"LABORATORY": "Laboratoire",
|
||||
"END": "???",
|
||||
} as const;
|
@ -21,6 +21,8 @@ import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
|
||||
export const frConfig = {
|
||||
ability: ability,
|
||||
@ -48,4 +50,5 @@ export const frConfig = {
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
@ -381,7 +381,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
|
||||
"CORNERSTONE_MASK": "Masque de la Pierre",
|
||||
"SHOCK_DRIVE": "Module Choc",
|
||||
"BURN_DRIVE": "Module Pyro",
|
||||
"CHILL_DRIVE": "Module Aqua",
|
||||
"DOUSE_DRIVE": "Module Choc",
|
||||
"CHILL_DRIVE": "Module Cryo",
|
||||
"DOUSE_DRIVE": "Module Aqua",
|
||||
},
|
||||
} as const;
|
||||
|
40
src/locales/it/biome.ts
Normal file
40
src/locales/it/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "Somewhere you can\'t remember",
|
||||
"TOWN": "Town",
|
||||
"PLAINS": "Plains",
|
||||
"GRASS": "Grassy Field",
|
||||
"TALL_GRASS": "Tall Grass",
|
||||
"METROPOLIS": "Metropolis",
|
||||
"FOREST": "Forest",
|
||||
"SEA": "Sea",
|
||||
"SWAMP": "Swamp",
|
||||
"BEACH": "Beach",
|
||||
"LAKE": "Lake",
|
||||
"SEABED": "Seabed",
|
||||
"MOUNTAIN": "Mountain",
|
||||
"BADLANDS": "Badlands",
|
||||
"CAVE": "Cave",
|
||||
"DESERT": "Desert",
|
||||
"ICE_CAVE": "Ice Cave",
|
||||
"MEADOW": "Meadow",
|
||||
"POWER_PLANT": "Power Plant",
|
||||
"VOLCANO": "Volcano",
|
||||
"GRAVEYARD": "Graveyard",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Factory",
|
||||
"RUINS": "Ancient Ruins",
|
||||
"WASTELAND": "Wasteland",
|
||||
"ABYSS": "Abyss",
|
||||
"SPACE": "Space",
|
||||
"CONSTRUCTION_SITE": "Construction Site",
|
||||
"JUNGLE": "Jungle",
|
||||
"FAIRY_CAVE": "Fairy Cave",
|
||||
"TEMPLE": "Temple",
|
||||
"SLUM": "Slum",
|
||||
"SNOWY_FOREST": "Snowy Forest",
|
||||
"ISLAND": "Island",
|
||||
"LABORATORY": "Laboratory",
|
||||
"END": "???",
|
||||
} as const;
|
@ -21,6 +21,8 @@ import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
|
||||
export const itConfig = {
|
||||
ability: ability,
|
||||
@ -48,4 +50,5 @@ export const itConfig = {
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
40
src/locales/pt_BR/biome.ts
Normal file
40
src/locales/pt_BR/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "Somewhere you can\'t remember",
|
||||
"TOWN": "Town",
|
||||
"PLAINS": "Plains",
|
||||
"GRASS": "Grassy Field",
|
||||
"TALL_GRASS": "Tall Grass",
|
||||
"METROPOLIS": "Metropolis",
|
||||
"FOREST": "Forest",
|
||||
"SEA": "Sea",
|
||||
"SWAMP": "Swamp",
|
||||
"BEACH": "Beach",
|
||||
"LAKE": "Lake",
|
||||
"SEABED": "Seabed",
|
||||
"MOUNTAIN": "Mountain",
|
||||
"BADLANDS": "Badlands",
|
||||
"CAVE": "Cave",
|
||||
"DESERT": "Desert",
|
||||
"ICE_CAVE": "Ice Cave",
|
||||
"MEADOW": "Meadow",
|
||||
"POWER_PLANT": "Power Plant",
|
||||
"VOLCANO": "Volcano",
|
||||
"GRAVEYARD": "Graveyard",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Factory",
|
||||
"RUINS": "Ancient Ruins",
|
||||
"WASTELAND": "Wasteland",
|
||||
"ABYSS": "Abyss",
|
||||
"SPACE": "Space",
|
||||
"CONSTRUCTION_SITE": "Construction Site",
|
||||
"JUNGLE": "Jungle",
|
||||
"FAIRY_CAVE": "Fairy Cave",
|
||||
"TEMPLE": "Temple",
|
||||
"SLUM": "Slum",
|
||||
"SNOWY_FOREST": "Snowy Forest",
|
||||
"ISLAND": "Island",
|
||||
"LABORATORY": "Laboratory",
|
||||
"END": "???",
|
||||
} as const;
|
@ -20,6 +20,8 @@ import { tutorial } from "./tutorial";
|
||||
import { weather } from "./weather";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
|
||||
|
||||
export const ptBrConfig = {
|
||||
@ -47,4 +49,5 @@ export const ptBrConfig = {
|
||||
modifierType: modifierType,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
40
src/locales/zh_CN/biome.ts
Normal file
40
src/locales/zh_CN/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "Somewhere you can\'t remember",
|
||||
"TOWN": "Town",
|
||||
"PLAINS": "Plains",
|
||||
"GRASS": "Grassy Field",
|
||||
"TALL_GRASS": "Tall Grass",
|
||||
"METROPOLIS": "Metropolis",
|
||||
"FOREST": "Forest",
|
||||
"SEA": "Sea",
|
||||
"SWAMP": "Swamp",
|
||||
"BEACH": "Beach",
|
||||
"LAKE": "Lake",
|
||||
"SEABED": "Seabed",
|
||||
"MOUNTAIN": "Mountain",
|
||||
"BADLANDS": "Badlands",
|
||||
"CAVE": "Cave",
|
||||
"DESERT": "Desert",
|
||||
"ICE_CAVE": "Ice Cave",
|
||||
"MEADOW": "Meadow",
|
||||
"POWER_PLANT": "Power Plant",
|
||||
"VOLCANO": "Volcano",
|
||||
"GRAVEYARD": "Graveyard",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Factory",
|
||||
"RUINS": "Ancient Ruins",
|
||||
"WASTELAND": "Wasteland",
|
||||
"ABYSS": "Abyss",
|
||||
"SPACE": "Space",
|
||||
"CONSTRUCTION_SITE": "Construction Site",
|
||||
"JUNGLE": "Jungle",
|
||||
"FAIRY_CAVE": "Fairy Cave",
|
||||
"TEMPLE": "Temple",
|
||||
"SLUM": "Slum",
|
||||
"SNOWY_FOREST": "Snowy Forest",
|
||||
"ISLAND": "Island",
|
||||
"LABORATORY": "Laboratory",
|
||||
"END": "???",
|
||||
} as const;
|
@ -21,6 +21,8 @@ import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
|
||||
|
||||
export const zhCnConfig = {
|
||||
@ -49,4 +51,5 @@ export const zhCnConfig = {
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
40
src/locales/zh_TW/biome.ts
Normal file
40
src/locales/zh_TW/biome.ts
Normal file
@ -0,0 +1,40 @@
|
||||
import { SimpleTranslationEntries } from "#app/plugins/i18n";
|
||||
|
||||
export const biome: SimpleTranslationEntries = {
|
||||
"unknownLocation": "Somewhere you can\'t remember",
|
||||
"TOWN": "Town",
|
||||
"PLAINS": "Plains",
|
||||
"GRASS": "Grassy Field",
|
||||
"TALL_GRASS": "Tall Grass",
|
||||
"METROPOLIS": "Metropolis",
|
||||
"FOREST": "Forest",
|
||||
"SEA": "Sea",
|
||||
"SWAMP": "Swamp",
|
||||
"BEACH": "Beach",
|
||||
"LAKE": "Lake",
|
||||
"SEABED": "Seabed",
|
||||
"MOUNTAIN": "Mountain",
|
||||
"BADLANDS": "Badlands",
|
||||
"CAVE": "Cave",
|
||||
"DESERT": "Desert",
|
||||
"ICE_CAVE": "Ice Cave",
|
||||
"MEADOW": "Meadow",
|
||||
"POWER_PLANT": "Power Plant",
|
||||
"VOLCANO": "Volcano",
|
||||
"GRAVEYARD": "Graveyard",
|
||||
"DOJO": "Dojo",
|
||||
"FACTORY": "Factory",
|
||||
"RUINS": "Ancient Ruins",
|
||||
"WASTELAND": "Wasteland",
|
||||
"ABYSS": "Abyss",
|
||||
"SPACE": "Space",
|
||||
"CONSTRUCTION_SITE": "Construction Site",
|
||||
"JUNGLE": "Jungle",
|
||||
"FAIRY_CAVE": "Fairy Cave",
|
||||
"TEMPLE": "Temple",
|
||||
"SLUM": "Slum",
|
||||
"SNOWY_FOREST": "Snowy Forest",
|
||||
"ISLAND": "Island",
|
||||
"LABORATORY": "Laboratory",
|
||||
"END": "???",
|
||||
} as const;
|
@ -21,6 +21,7 @@ import { weather } from "./weather";
|
||||
import { battleMessageUiHandler } from "./battle-message-ui-handler";
|
||||
import { berry } from "./berry";
|
||||
import { voucher } from "./voucher";
|
||||
import { biome } from "./biome";
|
||||
|
||||
export const zhTWConfig = {
|
||||
ability: ability,
|
||||
@ -48,4 +49,5 @@ export const zhTWConfig = {
|
||||
battleMessageUiHandler: battleMessageUiHandler,
|
||||
berry: berry,
|
||||
voucher: voucher,
|
||||
biome: biome,
|
||||
};
|
||||
|
@ -61,7 +61,7 @@ import { Abilities } from "./data/enums/abilities";
|
||||
import * as Overrides from "./overrides";
|
||||
import { TextStyle, addTextObject } from "./ui/text";
|
||||
import { Type } from "./data/type";
|
||||
import { MoveUsedEvent } from "./battle-scene-events";
|
||||
import { MoveUsedEvent, TurnEndEvent, TurnInitEvent } from "./battle-scene-events";
|
||||
|
||||
|
||||
export class LoginPhase extends Phase {
|
||||
@ -1719,6 +1719,7 @@ export class TurnInitPhase extends FieldPhase {
|
||||
super.start();
|
||||
|
||||
//this.scene.pushPhase(new MoveAnimTestPhase(this.scene));
|
||||
this.scene.eventTarget.dispatchEvent(new TurnInitEvent());
|
||||
|
||||
this.scene.getField().forEach((pokemon, i) => {
|
||||
if (pokemon?.isActive()) {
|
||||
@ -2252,6 +2253,7 @@ export class TurnEndPhase extends FieldPhase {
|
||||
super.start();
|
||||
|
||||
this.scene.currentBattle.incrementTurn(this.scene);
|
||||
this.scene.eventTarget.dispatchEvent(new TurnEndEvent(this.scene.currentBattle.turn));
|
||||
|
||||
const handlePokemon = (pokemon: Pokemon) => {
|
||||
pokemon.lapseTags(BattlerTagLapseType.TURN_END);
|
||||
@ -2644,8 +2646,14 @@ export class MoveEffectPhase extends PokemonPhase {
|
||||
|
||||
constructor(scene: BattleScene, battlerIndex: BattlerIndex, targets: BattlerIndex[], move: PokemonMove) {
|
||||
super(scene, battlerIndex);
|
||||
|
||||
this.move = move;
|
||||
// In double battles, if the right Pokemon selects a spread move and the left Pokemon dies
|
||||
// with no party members available to switch in, then the right Pokemon takes the index
|
||||
// of the left Pokemon and gets hit unless this is checked.
|
||||
if (targets.includes(battlerIndex) && this.move.getMove().moveTarget === MoveTarget.ALL_NEAR_OTHERS) {
|
||||
const i = targets.indexOf(battlerIndex);
|
||||
targets.splice(i,i+1);
|
||||
}
|
||||
this.targets = targets;
|
||||
}
|
||||
|
||||
|
@ -161,6 +161,7 @@ declare module "i18next" {
|
||||
battleMessageUiHandler: SimpleTranslationEntries;
|
||||
berry: BerryTranslationEntries;
|
||||
voucher: SimpleTranslationEntries;
|
||||
biome: SimpleTranslationEntries;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -1627,7 +1627,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
|
||||
this.canCycleShiny = !!(dexEntry.caughtAttr & DexAttr.NON_SHINY && dexEntry.caughtAttr & DexAttr.SHINY);
|
||||
this.canCycleGender = !!(dexEntry.caughtAttr & DexAttr.MALE && dexEntry.caughtAttr & DexAttr.FEMALE);
|
||||
this.canCycleAbility = [ abilityAttr & AbilityAttr.ABILITY_1, (abilityAttr & AbilityAttr.ABILITY_2) && species.ability2, abilityAttr & AbilityAttr.ABILITY_HIDDEN ].filter(a => a).length > 1;
|
||||
this.canCycleForm = species.forms.filter(f => !f.formKey || !pokemonFormChanges[species.speciesId]?.find(fc => fc.formKey))
|
||||
this.canCycleForm = species.forms.filter(f => f.isStarterSelectable || !pokemonFormChanges[species.speciesId]?.find(fc => fc.formKey))
|
||||
.map((_, f) => dexEntry.caughtAttr & this.scene.gameData.getFormAttr(f)).filter(f => f).length > 1;
|
||||
this.canCycleNature = this.scene.gameData.getNaturesForAttr(dexEntry.natureAttr).length > 1;
|
||||
this.canCycleVariant = shiny && [ dexEntry.caughtAttr & DexAttr.DEFAULT_VARIANT, dexEntry.caughtAttr & DexAttr.VARIANT_2, dexEntry.caughtAttr & DexAttr.VARIANT_3].filter(v => v).length > 1;
|
||||
|
Loading…
Reference in New Issue
Block a user