Merge branch 'main' into pokerogue-battleMessageUiHandler

This commit is contained in:
Benjamin Odom 2024-05-17 05:20:17 -05:00 committed by GitHub
commit fb7b587349
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
19 changed files with 383 additions and 47 deletions

View File

@ -7,6 +7,7 @@ import { BattlerTagType } from "./enums/battler-tag-type";
import { getStatusEffectHealText } from "./status-effect";
import * as Utils from "../utils";
import { DoubleBerryEffectAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs } from "./ability";
import i18next from '../plugins/i18n';
export enum BerryType {
SITRUS,
@ -22,32 +23,12 @@ export enum BerryType {
LEPPA
}
export function getBerryName(berryType: BerryType) {
return `${Utils.toReadableString(BerryType[berryType])} Berry`;
export function getBerryName(berryType: BerryType): string {
return i18next.t(`berry:${BerryType[berryType]}.name`);
}
export function getBerryEffectDescription(berryType: BerryType) {
switch (berryType) {
case BerryType.SITRUS:
return 'Restores 25% HP if HP is below 50%';
case BerryType.LUM:
return 'Cures any non-volatile status condition and confusion';
case BerryType.ENIGMA:
return 'Restores 25% HP if hit by a super effective move';
case BerryType.LIECHI:
case BerryType.GANLON:
case BerryType.PETAYA:
case BerryType.APICOT:
case BerryType.SALAC:
const stat = (berryType - BerryType.LIECHI) as BattleStat;
return `Raises ${getBattleStatName(stat)} if HP is below 25%`;
case BerryType.LANSAT:
return 'Raises critical hit ratio if HP is below 25%';
case BerryType.STARF:
return 'Sharply raises a random stat if HP is below 25%';
case BerryType.LEPPA:
return 'Restores 10 PP to a move if its PP reaches 0';
}
export function getBerryEffectDescription(berryType: BerryType): string {
return i18next.t(`berry:${BerryType[berryType]}.effect`);
}
export type BerryPredicate = (pokemon: Pokemon) => boolean;

48
src/locales/de/berry.ts Normal file
View File

@ -0,0 +1,48 @@
import { BerryTranslationEntries } from "#app/plugins/i18n";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Sitrus Berry",
effect: "Restores 25% HP if HP is below 50%",
},
"LUM": {
name: "Lum Berry",
effect: "Cures any non-volatile status condition and confusion",
},
"ENIGMA": {
name: "Enigma Berry",
effect: "Restores 25% HP if hit by a super effective move",
},
"LIECHI": {
name: "Liechi Berry",
effect: "Raises Attack if HP is below 25%",
},
"GANLON": {
name: "Ganlon Berry",
effect: "Raises Defense if HP is below 25%",
},
"PETAYA": {
name: "Petaya Berry",
effect: "Raises Sp. Atk if HP is below 25%",
},
"APICOT": {
name: "Apicot Berry",
effect: "Raises Sp. Def if HP is below 25%",
},
"SALAC": {
name: "Salac Berry",
effect: "Raises Speed if HP is below 25%",
},
"LANSAT": {
name: "Lansat Berry",
effect: "Raises critical hit ratio if HP is below 25%",
},
"STARF": {
name: "Starf Berry",
effect: "Sharply raises a random stat if HP is below 25%",
},
"LEPPA": {
name: "Leppa Berry",
effect: "Restores 10 PP to a move if its PP reaches 0",
},
} as const;

View File

@ -19,7 +19,7 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
export const deConfig = {
ability: ability,
@ -45,4 +45,5 @@ export const deConfig = {
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
}

View File

@ -12,10 +12,10 @@ export const menu: SimpleTranslationEntries = {
"loadGame": "Spiel laden",
"newGame": "Neues Spiel",
"selectGameMode": "Wähle einen Spielmodus",
"logInOrCreateAccount": "Logge dich ein oder erstelle einen Account zum starten. Keine Email nötig!",
"logInOrCreateAccount": "Melde dich an oder erstelle einen Account zum starten. Keine Email nötig!",
"username": "Benutzername",
"password": "Passwort",
"login": "Einloggen",
"login": "Anmelden",
"register": "Registrieren",
"emptyUsername": "Benutzername darf nicht leer sein",
"invalidLoginUsername": "Der eingegebene Benutzername ist ungültig",
@ -26,20 +26,20 @@ export const menu: SimpleTranslationEntries = {
"accountNonExistent": "Der eingegebene Benutzer existiert nicht",
"unmatchingPassword": "Das eingegebene Passwort stimmt nicht überein",
"passwordNotMatchingConfirmPassword": "Passwort muss mit Bestätigungspasswort übereinstimmen",
"confirmPassword": "Besätige Passwort",
"confirmPassword": "Bestätige Passwort",
"registrationAgeWarning": "Mit der Registrierung bestätigen Sie, dass Sie 13 Jahre oder älter sind.",
"backToLogin": "Zurück zum Einloggen",
"backToLogin": "Zurück zur Anmeldung",
"failedToLoadSaveData": "Speicherdaten konnten nicht geladen werden. Bitte laden Sie die Seite neu.\nWenn dies weiterhin der Fall ist, wenden Sie sich bitte an den Administrator.",
"sessionSuccess": "Sitzung erfolgreich geladen.",
"failedToLoadSession": "Ihre Sitzungsdaten konnten nicht geladen werden.\nSie könnten beschädigt sein.",
"boyOrGirl": "Bist du ein Junge oder ein Mädchen?",
"boy": "Junge",
"girl": "Mädchen",
"evolving": "What?\n{{pokemonName}} is evolving!",
"stoppedEvolving": "{{pokemonName}} stopped evolving.",
"pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.",
"evolutionsPaused": "Evolutions have been paused for {{pokemonName}}.",
"evolutionDone": "Congratulations!\nYour {{pokemonName}} evolved into {{evolvedPokemonName}}!",
"evolving": "Nanu?\n{{pokemonName}} entwickelt sich!",
"stoppedEvolving": "Hm? {{pokemonName}} hat die Entwicklung \nabgebrochen.", // "Hm? Entwicklung wurde abgebrochen!" without naming the pokemon seems to be the original.
"pauseEvolutionsQuestion": "Die Entwicklung von {{pokemonName}} vorübergehend pausieren?\nEntwicklungen können im Gruppenmenü wieder aktiviert werden.",
"evolutionsPaused": "Entwicklung von {{pokemonName}} pausiert.",
"evolutionDone": "Glückwunsch!\nDein {{pokemonName}} entwickelte sich zu {{evolvedPokemonName}}!",
"dailyRankings": "Tägliche Rangliste",
"weeklyRankings": "Wöchentliche Rangliste",
"noRankings": "Keine Rangliste",
@ -48,4 +48,4 @@ export const menu: SimpleTranslationEntries = {
"empty":"Leer",
"yes":"Ja",
"no":"Nein",
} as const;
} as const;

48
src/locales/en/berry.ts Normal file
View File

@ -0,0 +1,48 @@
import { BerryTranslationEntries } from "#app/plugins/i18n";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Sitrus Berry",
effect: "Restores 25% HP if HP is below 50%",
},
"LUM": {
name: "Lum Berry",
effect: "Cures any non-volatile status condition and confusion",
},
"ENIGMA": {
name: "Enigma Berry",
effect: "Restores 25% HP if hit by a super effective move",
},
"LIECHI": {
name: "Liechi Berry",
effect: "Raises Attack if HP is below 25%",
},
"GANLON": {
name: "Ganlon Berry",
effect: "Raises Defense if HP is below 25%",
},
"PETAYA": {
name: "Petaya Berry",
effect: "Raises Sp. Atk if HP is below 25%",
},
"APICOT": {
name: "Apicot Berry",
effect: "Raises Sp. Def if HP is below 25%",
},
"SALAC": {
name: "Salac Berry",
effect: "Raises Speed if HP is below 25%",
},
"LANSAT": {
name: "Lansat Berry",
effect: "Raises critical hit ratio if HP is below 25%",
},
"STARF": {
name: "Starf Berry",
effect: "Sharply raises a random stat if HP is below 25%",
},
"LEPPA": {
name: "Leppa Berry",
effect: "Restores 10 PP to a move if its PP reaches 0",
},
} as const;

View File

@ -19,6 +19,7 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
export const enConfig = {
ability: ability,
@ -44,4 +45,5 @@ export const enConfig = {
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
}

48
src/locales/es/berry.ts Normal file
View File

@ -0,0 +1,48 @@
import { BerryTranslationEntries } from "#app/plugins/i18n";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Sitrus Berry",
effect: "Restores 25% HP if HP is below 50%",
},
"LUM": {
name: "Lum Berry",
effect: "Cures any non-volatile status condition and confusion",
},
"ENIGMA": {
name: "Enigma Berry",
effect: "Restores 25% HP if hit by a super effective move",
},
"LIECHI": {
name: "Liechi Berry",
effect: "Raises Attack if HP is below 25%",
},
"GANLON": {
name: "Ganlon Berry",
effect: "Raises Defense if HP is below 25%",
},
"PETAYA": {
name: "Petaya Berry",
effect: "Raises Sp. Atk if HP is below 25%",
},
"APICOT": {
name: "Apicot Berry",
effect: "Raises Sp. Def if HP is below 25%",
},
"SALAC": {
name: "Salac Berry",
effect: "Raises Speed if HP is below 25%",
},
"LANSAT": {
name: "Lansat Berry",
effect: "Raises critical hit ratio if HP is below 25%",
},
"STARF": {
name: "Starf Berry",
effect: "Sharply raises a random stat if HP is below 25%",
},
"LEPPA": {
name: "Leppa Berry",
effect: "Restores 10 PP to a move if its PP reaches 0",
},
} as const;

View File

@ -19,7 +19,7 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
export const esConfig = {
ability: ability,
@ -45,4 +45,5 @@ export const esConfig = {
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
}

48
src/locales/fr/berry.ts Normal file
View File

@ -0,0 +1,48 @@
import { BerryTranslationEntries } from "#app/plugins/i18n";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Sitrus Berry",
effect: "Restores 25% HP if HP is below 50%",
},
"LUM": {
name: "Lum Berry",
effect: "Cures any non-volatile status condition and confusion",
},
"ENIGMA": {
name: "Enigma Berry",
effect: "Restores 25% HP if hit by a super effective move",
},
"LIECHI": {
name: "Liechi Berry",
effect: "Raises Attack if HP is below 25%",
},
"GANLON": {
name: "Ganlon Berry",
effect: "Raises Defense if HP is below 25%",
},
"PETAYA": {
name: "Petaya Berry",
effect: "Raises Sp. Atk if HP is below 25%",
},
"APICOT": {
name: "Apicot Berry",
effect: "Raises Sp. Def if HP is below 25%",
},
"SALAC": {
name: "Salac Berry",
effect: "Raises Speed if HP is below 25%",
},
"LANSAT": {
name: "Lansat Berry",
effect: "Raises critical hit ratio if HP is below 25%",
},
"STARF": {
name: "Starf Berry",
effect: "Sharply raises a random stat if HP is below 25%",
},
"LEPPA": {
name: "Leppa Berry",
effect: "Restores 10 PP to a move if its PP reaches 0",
},
} as const;

View File

@ -19,7 +19,7 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
export const frConfig = {
ability: ability,
@ -45,4 +45,5 @@ export const frConfig = {
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
}
berry: berry,
}

View File

@ -52,7 +52,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats",
},
"TempBattleStatBoosterModifierType": {
description: "Augmente d1 cran {{tempBattleStatName}} pour tout léquipe pendant 5 combats",
description: "Augmente d1 cran {{tempBattleStatName}} pour toute léquipe pendant 5 combats",
},
"AttackTypeBoosterModifierType": {
description: "Augmente de 20% la puissance des capacités de type {{moveType}} dun Pokémon",
@ -129,7 +129,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"RARER_CANDY": { name: "Hyper Bonbon" },
"MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" },
"DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque les Maxi Champis" },
"DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque le Dynamax" },
"TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats" },
"MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement" },
@ -264,7 +264,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"fairy_feather": "Plume Enchantée",
},
BaseStatBoosterItem: {
"hp_up": "PP Plus",
"hp_up": "PV Plus",
"protein": "Protéine",
"iron": "Fer",
"calcium": "Calcium",

View File

@ -81,11 +81,11 @@ export const trainerClasses: SimpleTranslationEntries = {
"ranger": "Ranger",
"restaurant_staff": "Serveurs",
"rich": "Rich",
"rich_female": "Rich",
"rich_boy": "Richard",
"rich_female": "Mondaine",
"rich_boy": "Gentleman",
"rich_couple": "Couple de Bourgeois",
"rich_kid": "Rich Kid",
"rich_kid_female": "Rich Kid",
"rich_kid": "Richard",
"rich_kid_female": "Mademoiselle",
"rich_kids": "Richards",
"roughneck": "Loubard",
"scientist": "Scientifique",

48
src/locales/it/berry.ts Normal file
View File

@ -0,0 +1,48 @@
import { BerryTranslationEntries } from "#app/plugins/i18n";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Sitrus Berry",
effect: "Restores 25% HP if HP is below 50%",
},
"LUM": {
name: "Lum Berry",
effect: "Cures any non-volatile status condition and confusion",
},
"ENIGMA": {
name: "Enigma Berry",
effect: "Restores 25% HP if hit by a super effective move",
},
"LIECHI": {
name: "Liechi Berry",
effect: "Raises Attack if HP is below 25%",
},
"GANLON": {
name: "Ganlon Berry",
effect: "Raises Defense if HP is below 25%",
},
"PETAYA": {
name: "Petaya Berry",
effect: "Raises Sp. Atk if HP is below 25%",
},
"APICOT": {
name: "Apicot Berry",
effect: "Raises Sp. Def if HP is below 25%",
},
"SALAC": {
name: "Salac Berry",
effect: "Raises Speed if HP is below 25%",
},
"LANSAT": {
name: "Lansat Berry",
effect: "Raises critical hit ratio if HP is below 25%",
},
"STARF": {
name: "Starf Berry",
effect: "Sharply raises a random stat if HP is below 25%",
},
"LEPPA": {
name: "Leppa Berry",
effect: "Restores 10 PP to a move if its PP reaches 0",
},
} as const;

View File

@ -19,7 +19,7 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
export const itConfig = {
ability: ability,
@ -45,4 +45,5 @@ export const itConfig = {
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
}

View File

@ -0,0 +1,48 @@
import { BerryTranslationEntries } from "#app/plugins/i18n";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Sitrus Berry",
effect: "Restores 25% HP if HP is below 50%",
},
"LUM": {
name: "Lum Berry",
effect: "Cures any non-volatile status condition and confusion",
},
"ENIGMA": {
name: "Enigma Berry",
effect: "Restores 25% HP if hit by a super effective move",
},
"LIECHI": {
name: "Liechi Berry",
effect: "Raises Attack if HP is below 25%",
},
"GANLON": {
name: "Ganlon Berry",
effect: "Raises Defense if HP is below 25%",
},
"PETAYA": {
name: "Petaya Berry",
effect: "Raises Sp. Atk if HP is below 25%",
},
"APICOT": {
name: "Apicot Berry",
effect: "Raises Sp. Def if HP is below 25%",
},
"SALAC": {
name: "Salac Berry",
effect: "Raises Speed if HP is below 25%",
},
"LANSAT": {
name: "Lansat Berry",
effect: "Raises critical hit ratio if HP is below 25%",
},
"STARF": {
name: "Starf Berry",
effect: "Sharply raises a random stat if HP is below 25%",
},
"LEPPA": {
name: "Leppa Berry",
effect: "Restores 10 PP to a move if its PP reaches 0",
},
} as const;

View File

@ -14,6 +14,7 @@ import { pokemonStat } from "./pokemon-stat";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { berry } from "./berry";
export const ptBrConfig = {
@ -33,4 +34,5 @@ export const ptBrConfig = {
growth: growth,
weather: weather,
modifierType: modifierType,
berry: berry,
}

View File

@ -0,0 +1,48 @@
import { BerryTranslationEntries } from "#app/plugins/i18n";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Sitrus Berry",
effect: "Restores 25% HP if HP is below 50%",
},
"LUM": {
name: "Lum Berry",
effect: "Cures any non-volatile status condition and confusion",
},
"ENIGMA": {
name: "Enigma Berry",
effect: "Restores 25% HP if hit by a super effective move",
},
"LIECHI": {
name: "Liechi Berry",
effect: "Raises Attack if HP is below 25%",
},
"GANLON": {
name: "Ganlon Berry",
effect: "Raises Defense if HP is below 25%",
},
"PETAYA": {
name: "Petaya Berry",
effect: "Raises Sp. Atk if HP is below 25%",
},
"APICOT": {
name: "Apicot Berry",
effect: "Raises Sp. Def if HP is below 25%",
},
"SALAC": {
name: "Salac Berry",
effect: "Raises Speed if HP is below 25%",
},
"LANSAT": {
name: "Lansat Berry",
effect: "Raises critical hit ratio if HP is below 25%",
},
"STARF": {
name: "Starf Berry",
effect: "Sharply raises a random stat if HP is below 25%",
},
"LEPPA": {
name: "Leppa Berry",
effect: "Restores 10 PP to a move if its PP reaches 0",
},
} as const;

View File

@ -19,7 +19,7 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { weather } from "./weather";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
export const zhCnConfig = {
ability: ability,
@ -45,4 +45,5 @@ export const zhCnConfig = {
tutorial: tutorial,
weather: weather,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
}

View File

@ -46,6 +46,15 @@ export interface ModifierTypeTranslationEntries {
TeraType: SimpleTranslationEntries,
}
export interface BerryTranslationEntry {
name: string,
effect: string
}
export interface BerryTranslationEntries {
[key: string]: BerryTranslationEntry
}
export interface Localizable {
localize(): void;
}
@ -140,6 +149,7 @@ declare module 'i18next' {
weather: SimpleTranslationEntries;
modifierType: ModifierTypeTranslationEntries;
battleMessageUiHandler: SimpleTranslationEntries;
berry: BerryTranslationEntries;
};
}
}