Merge branch 'pagefaultgames:main' into main

This commit is contained in:
3ae3ae 2024-07-05 09:26:46 +09:00 committed by GitHub
commit ff17ba71ba
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
35 changed files with 1714 additions and 1555 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -879,7 +879,7 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr {
}
applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) {
if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr)) {
attacker.damageAndUpdate(Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER);
attacker.turnData.damageTaken += Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio));
return true;

File diff suppressed because it is too large Load Diff

View File

@ -280,7 +280,6 @@ export class QuietFormChangePhase extends BattlePhase {
end(): void {
if (this.pokemon.scene?.currentBattle.battleSpec === BattleSpec.FINAL_BOSS && this.pokemon instanceof EnemyPokemon) {
this.scene.playBgm();
this.pokemon.summonData.battleStats = [ 0, 0, 0, 0, 0, 0, 0 ];
this.scene.unshiftPhase(new PokemonHealPhase(this.scene, this.pokemon.getBattlerIndex(), this.pokemon.getMaxHp(), null, false, false, false, true));
this.pokemon.findAndRemoveTags(() => true);
this.pokemon.bossSegments = 5;

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const deConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const deConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
partyUiHandler: partyUiHandler
partyUiHandler: partyUiHandler,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "Übertragen",
"reroll": "Neu rollen",
"lockRarities": "Seltenheit festsetzen",
"checkTeam": "Team überprüfen",
"transferDesc": "Übertrage ein gehaltenes Item zu einem anderen Pokémon.",
"rerollDesc": "Nutze Geld um die Items neu zu rollen.",
"lockRaritiesDesc": "Setze die Seltenheit der Items fest. (Beeinflusst die Rollkosten).",
"checkTeamDesc": "Überprüfe dein Team or nutze Formänderungsitems.",
"rerollCost": "{{formattedMoney}}₽",
"itemCost": "{{formattedMoney}}₽"
} as const;

View File

@ -43,6 +43,7 @@ import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
import { weather } from "./weather";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const enConfig = {
ability: ability,
@ -91,4 +92,5 @@ export const enConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "Transfer",
"reroll": "Reroll",
"lockRarities": "Lock Rarities",
"checkTeam": "Check Team",
"transferDesc": "Transfer a held item from one Pokémon to another.",
"rerollDesc": "Spend money to reroll your item options.",
"lockRaritiesDesc": "Lock item rarities on reroll (affects reroll cost).",
"checkTeamDesc": "Check your team or use a form changing item.",
"rerollCost": "₽{{formattedMoney}}",
"itemCost": "₽{{formattedMoney}}"
} as const;

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const esConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const esConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
partyUiHandler: partyUiHandler
partyUiHandler: partyUiHandler,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,15 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "Transferir",
"reroll": "Actualizar",
"lockRarities": "Bloquear rarezas",
"checkTeam": "Ver Equipo",
"transferDesc": "Transfiere un objeto que lleva un Pokémon a otro.",
"rerollDesc": "Gasta dinero para actualizar las opciones de objetos.",
"lockRaritiesDesc": "Bloquea las rarezas de los objetos al actualizar (afecta el costo de actualización).",
"checkTeamDesc": "Revisa tu equipo o usa un objeto que cambia de forma.",
"rerollCost": "{{formattedMoney}} ₽",
"itemCost": "{{formattedMoney}} ₽"
} as const;

View File

@ -3,46 +3,46 @@ import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Baie Sitrus",
effect: "Restaure 25% des PV sils sont inférieurs à 50%",
effect: "Restaure 25% des PV sils sont inférieurs à 50%.",
},
"LUM": {
name: "Baie Prine",
effect: "Soigne tout problème de statut permanant et la confusion",
effect: "Soigne tout problème de statut permanant et la confusion.",
},
"ENIGMA": {
name: "Baie Enigma",
effect: "Restaure 25% des PV si touché par une capacité super efficace",
effect: "Restaure 25% des PV si touché par une capacité super efficace.",
},
"LIECHI": {
name: "Baie Lichii",
effect: "Augmente lAttaque si les PV sont inférieurs à 25%",
effect: "Augmente lAttaque si les PV sont inférieurs à 25%.",
},
"GANLON": {
name: "Baie Lingan",
effect: "Augmente la Défense si les PV sont inférieurs à 25%",
effect: "Augmente la Défense si les PV sont inférieurs à 25%.",
},
"PETAYA": {
name: "Baie Pitaye",
effect: "Augmente lAtq. Spé. si les PV sont inférieurs à 25%",
effect: "Augmente lAtq. Spé. si les PV sont inférieurs à 25%.",
},
"APICOT": {
name: "Baie Abriko",
effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%",
effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%.",
},
"SALAC": {
name: "Baie Sailak",
effect: "Augmente la Vitesse si les PV sont inférieurs à 25%",
effect: "Augmente la Vitesse si les PV sont inférieurs à 25%.",
},
"LANSAT": {
name: "Baie Lansat",
effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%",
effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%.",
},
"STARF": {
name: "Baie Frista",
effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%",
effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%.",
},
"LEPPA": {
name: "Baie Mepo",
effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0",
effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0.",
},
} as const;

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const frConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const frConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
partyUiHandler: partyUiHandler
partyUiHandler: partyUiHandler,
modifierSelectUiHandler: modifierSelectUiHandler
};

File diff suppressed because it is too large Load Diff

View File

@ -20,5 +20,5 @@ export const menuUiHandler: SimpleTranslationEntries = {
"exportData": "Exporter données",
"cancel": "Retour",
"losingProgressionWarning": "Vous allez perdre votre progression depuis le début du combat. Continuer ?",
"noEggs": "You are not hatching\nany eggs at the moment!"
"noEggs": "Vous ne faites actuellement\néclore aucun Œuf !"
} as const;

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "Transférer",
"reroll": "Relancer",
"lockRarities": "Bloquer la rareté",
"checkTeam": "Consulter Équipe",
"transferDesc": "Transférer un objet tenu par un Pokémon vers un autre.",
"rerollDesc": "Payer pour relancer les objets gratuits proposés.",
"lockRaritiesDesc": "Assure la relance de proposer des objets gratuits de rareté égale ou supérieure. Affecte le cout de relance.",
"checkTeamDesc": "Consulter votre équipe ou utiliser un objet\nde changement de forme.",
"rerollCost": "{{formattedMoney}} ₽",
"itemCost": "{{formattedMoney}} ₽"
} as const;

View File

@ -4,7 +4,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
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}}",
@ -101,7 +101,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
"TmModifierTypeWithInfo": {
name: "CT{{moveId}} - {{moveName}}",
description: "Apprend la capacité {{moveName}} à un Pokémon\n(Maintenez C ou Maj pour plus dinfos).",
description: "Apprend la capacité {{moveName}} à un Pokémon.\n(Maintenez C ou Maj pour plus dinfos)",
},
"EvolutionItemModifierType": {
description: "Permet à certains Pokémon dévoluer.",

View File

@ -14,8 +14,8 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEFshortened": "DéfSp",
"SPD": "Vitesse",
"SPDshortened": "Vit",
"ACC": "Accuracy",
"EVA": "Evasiveness"
"ACC": "Précison",
"EVA": "Esquive"
},
Type: {

View File

@ -31,7 +31,7 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"selectMoveSwapWith": "Sélectionnez laquelle échanger avec",
"unlockPassive": "Débloquer Passif",
"reduceCost": "Diminuer le cout",
"sameSpeciesEgg": "Buy an Egg",
"sameSpeciesEgg": "Acheter un Œuf",
"cycleShiny": ": » Chromatiques",
"cycleForm": ": » Formes",
"cycleGender": ": » Sexes",

View File

@ -51,7 +51,7 @@ export const statusEffect: StatusEffectTranslationEntries = {
description: "gelé",
obtain: "{{pokemonNameWithAffix}} est\ngelé !",
obtainSource: "{{pokemonNameWithAffix}} est\ngelé par {{sourceText}} !",
activation: "{{pokemonNameWithAffix}}est gelé !\nIl ne peut plus attaquer !",
activation: "{{pokemonNameWithAffix}} est gelé !\nIl ne peut plus attaquer !",
overlap: "{{pokemonNameWithAffix}} est\ndéjà gelé.",
heal: "{{pokemonNameWithAffix}} nest\nplus gelé !"
},

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const itConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const itConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
partyUiHandler: partyUiHandler
partyUiHandler: partyUiHandler,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "Trasferisci",
"reroll": "Rerolla",
"lockRarities": "Blocca le rarità",
"checkTeam": "Stato squadra",
"transferDesc": "Trasferisci un oggetto da un Pokémon ad un altro.",
"rerollDesc": "Spendi soldi per rerollare le ricompense.",
"lockRaritiesDesc": "Blocca le rarità al reroll (influisce sui costi).",
"checkTeamDesc": "Controlla la squadra Pokémon.",
"rerollCost": "{{formattedMoney}}₽",
"itemCost": "{{formattedMoney}}₽"
} as const;

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const koConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const koConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
partyUiHandler: partyUiHandler
partyUiHandler: partyUiHandler,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "건네주기",
"reroll": "갱신",
"lockRarities": "희귀도 고정",
"checkTeam": "파티 확인",
"transferDesc": "지닌 물건을 다른 포켓몬에게 건네줍니다.",
"rerollDesc": "돈을 소모하여 아이템 목록을 새로 고칩니다.",
"lockRaritiesDesc": "갱신되는 아이템의 희귀도가 고정됩니다(갱신 비용 증가).",
"checkTeamDesc": "파티를 확인하거나 폼 변경 아이템을 사용합니다.",
"rerollCost": "₽{{formattedMoney}}",
"itemCost": "₽{{formattedMoney}}"
} as const;

View File

@ -42,7 +42,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
}
},
"PokemonPpUpModifierType": {
description: "포켓몬이 기억하고 있는 기술 중 1개의 PP 최대치를 5마다 {{upPoints}}씩 상승시킨다 (최대 3).",
description: "포켓몬이 기억하고 있는 기술 중 1개의 PP 최대치를 5마다 {{upPoints}}씩 상승시킨다. (최대 3)",
},
"PokemonNatureChangeModifierType": {
name: "{{natureName}}민트",
@ -73,7 +73,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
description: "기절해 버린 포켓몬 전원의 HP를 완전히 회복한다.",
},
"MoneyRewardModifierType": {
description: "{{moneyMultiplier}} 양의 돈을 획득한다 (₽{{moneyAmount}}).",
description: "{{moneyMultiplier}} 양의 돈을 획득한다. (₽{{moneyAmount}})",
extra: {
"small": "적은",
"moderate": "적당한",
@ -90,7 +90,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
description: "배틀 승리로 얻는 친밀도가 50% 증가한다.",
},
"PokemonMoveAccuracyBoosterModifierType": {
description: "기술의 명중률이 {{accuracyAmount}} 증가한다 (최대 100).",
description: "기술의 명중률이 {{accuracyAmount}} 증가한다. (최대 100)",
},
"PokemonMultiHitModifierType": {
description: "지닌 개수(최대 3개)마다 추가 공격을 하는 대신, 공격력이 60%(1개)/75%(2개)/82.5%(3개)만큼 감소합니다.",
@ -101,7 +101,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
"TmModifierTypeWithInfo": {
name: "No.{{moveId}} {{moveName}}",
description: "포켓몬에게 {{moveName}}를(을) 가르침\n(C 또는 Shift를 꾹 눌러 정보 확인).",
description: "포켓몬에게 {{moveName}}를(을) 가르침.\n(C 또는 Shift를 꾹 눌러 정보 확인)",
},
"EvolutionItemModifierType": {
description: "어느 특정 포켓몬을 진화시킨다.",
@ -110,7 +110,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
description: "어느 특정 포켓몬을 폼 체인지시킨다.",
},
"FusePokemonModifierType": {
description: "두 포켓몬을 결합시킨다 (특성 변환, 종족값과 타입 분배, 기술폭 공유).",
description: "두 포켓몬을 결합시킨다. (특성 변환, 종족값과 타입 분배, 기술폭 공유)",
},
"TerastallizeModifierType": {
name: "테라피스 {{teraType}}",
@ -184,7 +184,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"EVIOLITE": { name: "진화의휘석", description: "진화의 이상한 덩어리. 지니게 하면 진화 전 포켓몬의 방어와 특수방어가 올라간다." },
"SOUL_DEW": { name: "마음의물방울", description: "지닌 포켓몬의 성격의 효과가 10% 증가한다 (합연산)." },
"SOUL_DEW": { name: "마음의물방울", description: "지닌 포켓몬의 성격의 효과가 10% 증가한다. (합연산)" },
"NUGGET": { name: "금구슬" },
"BIG_NUGGET": { name: "큰금구슬" },
@ -201,14 +201,14 @@ export const modifierType: ModifierTypeTranslationEntries = {
"MULTI_LENS": { name: "멀티렌즈" },
"HEALING_CHARM": { name: "치유의부적", description: "HP를 회복하는 기술이나 도구를 썼을 때 효율이 10% 증가한다 (부활 제외)." },
"HEALING_CHARM": { name: "치유의부적", description: "HP를 회복하는 기술이나 도구를 썼을 때 효율이 10% 증가한다. (부활 제외)" },
"CANDY_JAR": { name: "사탕단지", description: "이상한사탕 종류의 아이템이 올려주는 레벨이 1 증가한다." },
"BERRY_POUCH": { name: "열매주머니", description: "사용한 나무열매가 소모되지 않을 확률이 30% 추가된다." },
"FOCUS_BAND": { name: "기합의머리띠", description: "기절할 듯한 데미지를 받아도 HP를 1 남겨서 견딜 확률이 10% 추가된다." },
"QUICK_CLAW": { name: "선제공격손톱", description: "상대보다 먼저 행동할 수 있게 될 확률이 10% 추가된다 (우선도 처리 이후)." },
"QUICK_CLAW": { name: "선제공격손톱", description: "상대보다 먼저 행동할 수 있게 될 확률이 10% 추가된다. (우선도 처리 이후)" },
"KINGS_ROCK": { name: "왕의징표석", description: "공격해서 데미지를 줄 때 상대를 풀죽일 확률이 10% 추가된다." },

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const ptBrConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const ptBrConfig = {
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
weather: weather
weather: weather,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "Alterar",
"reroll": "Atualizar",
"lockRarities": "Travar Raridades",
"checkTeam": "Checar Time",
"transferDesc": "Transfira um item segurado de um Pokémon para outro.",
"rerollDesc": "Gaste dinheiro para atualizar as suas opções de itens.",
"lockRaritiesDesc": "Trava a raridade dos itens na atualização (afeta o custo da atualização).",
"checkTeamDesc": "Cheque seu time ou use um item de mudança de forma.",
"rerollCost": "₽{{formattedMoney}}",
"itemCost": "₽{{formattedMoney}}"
} as const;

View File

@ -10,7 +10,7 @@ export const nature: SimpleTranslationEntries = {
"Docile": "Dócil",
"Relaxed": "Relaxada",
"Impish": "Inquieta",
"Lax": "Relaxada",
"Lax": "Frouxa",
"Timid": "Tímida",
"Hasty": "Apressada",
"Serious": "Séria",

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const zhCnConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const zhCnConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
partyUiHandler: partyUiHandler
partyUiHandler: partyUiHandler,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "交换道具",
"reroll": "刷新商店",
"lockRarities": "锁定稀有度",
"checkTeam": "查看队伍",
"transferDesc": "将宝可梦携带的道具交换给其他宝可梦",
"rerollDesc": "花钱刷新道具",
"lockRaritiesDesc": "在刷新时锁定道具稀有度(影响刷新费用)",
"checkTeamDesc": "检查队伍或使用形态改变道具",
"rerollCost": "₽{{formattedMoney}}",
"itemCost": "₽{{formattedMoney}}"
} as const;

File diff suppressed because it is too large Load Diff

View File

@ -43,6 +43,7 @@ import { weather } from "./weather";
import { partyUiHandler } from "./party-ui-handler";
import { settings } from "./settings.js";
import { common } from "./common.js";
import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const zhTwConfig = {
ability: ability,
@ -90,5 +91,6 @@ export const zhTwConfig = {
tutorial: tutorial,
voucher: voucher,
weather: weather,
partyUiHandler: partyUiHandler
partyUiHandler: partyUiHandler,
modifierSelectUiHandler: modifierSelectUiHandler
};

View File

@ -0,0 +1,14 @@
import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const modifierSelectUiHandler: SimpleTranslationEntries = {
"transfer": "Transfer",
"reroll": "Reroll",
"lockRarities": "Lock Rarities",
"checkTeam": "Check Team",
"transferDesc": "Transfer a held item from one Pokémon to another.",
"rerollDesc": "Spend money to reroll your item options.",
"lockRaritiesDesc": "Lock item rarities on reroll (affects reroll cost).",
"checkTeamDesc": "Check your team or use a form changing item.",
"rerollCost": "₽{{formattedMoney}}",
"itemCost": "₽{{formattedMoney}}"
} as const;

View File

@ -1,7 +1,7 @@
import BattleScene from "../battle-scene";
import { getPlayerShopModifierTypeOptionsForWave, ModifierTypeOption, TmModifierType } from "../modifier/modifier-type";
import { getPokeballAtlasKey, PokeballType } from "../data/pokeball";
import { addTextObject, getModifierTierTextTint, getTextColor, TextStyle } from "./text";
import { addTextObject, getTextStyleOptions, getModifierTierTextTint, getTextColor, TextStyle } from "./text";
import AwaitableUiHandler from "./awaitable-ui-handler";
import { Mode } from "./ui";
import { LockModifierTiersModifier, PokemonHeldItemModifier } from "../modifier/modifier";
@ -10,6 +10,7 @@ import {Button} from "#enums/buttons";
import MoveInfoOverlay from "./move-info-overlay";
import { allMoves } from "../data/move";
import * as Utils from "./../utils";
import i18next from "i18next";
export const SHOP_OPTIONS_ROW_LIMIT = 6;
@ -27,6 +28,8 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
private rowCursor: integer = 0;
private player: boolean;
private rerollCost: integer;
private transferButtonWidth: integer;
private checkButtonWidth: integer;
public options: ModifierOption[];
public shopOptionsRows: ModifierOption[][];
@ -46,22 +49,29 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.modifierContainer = this.scene.add.container(0, 0);
ui.add(this.modifierContainer);
this.transferButtonContainer = this.scene.add.container((this.scene.game.canvas.width / 6) - 71, -64);
const canvas = document.createElement("canvas");
const context = canvas.getContext("2d");
const [ , styleOptions, , , ] = getTextStyleOptions(TextStyle.PARTY, (this.scene as BattleScene).uiTheme);
context.font = styleOptions.fontSize + "px " + styleOptions.fontFamily;
this.transferButtonWidth = context.measureText(i18next.t("modifierSelectUiHandler:transfer")).width;
this.checkButtonWidth = context.measureText(i18next.t("modifierSelectUiHandler:checkTeam")).width;
this.transferButtonContainer = this.scene.add.container((this.scene.game.canvas.width - this.checkButtonWidth) / 6 - 21, -64);
this.transferButtonContainer.setName("transfer-btn");
this.transferButtonContainer.setVisible(false);
ui.add(this.transferButtonContainer);
const transferButtonText = addTextObject(this.scene, -4, -2, "Transfer", TextStyle.PARTY);
const transferButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:transfer"), TextStyle.PARTY);
transferButtonText.setName("text-transfer-btn");
transferButtonText.setOrigin(1, 0);
this.transferButtonContainer.add(transferButtonText);
this.checkButtonContainer = this.scene.add.container((this.scene.game.canvas.width / 6) - 1, -64);
this.checkButtonContainer = this.scene.add.container((this.scene.game.canvas.width) / 6 - 1, -64);
this.checkButtonContainer.setName("use-btn");
this.checkButtonContainer.setVisible(false);
ui.add(this.checkButtonContainer);
const checkButtonText = addTextObject(this.scene, -4, -2, "Check Team", TextStyle.PARTY);
const checkButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:checkTeam"), TextStyle.PARTY);
checkButtonText.setName("text-use-btn");
checkButtonText.setOrigin(1, 0);
this.checkButtonContainer.add(checkButtonText);
@ -71,7 +81,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.rerollButtonContainer.setVisible(false);
ui.add(this.rerollButtonContainer);
const rerollButtonText = addTextObject(this.scene, -4, -2, "Reroll", TextStyle.PARTY);
const rerollButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:reroll"), TextStyle.PARTY);
rerollButtonText.setName("text-reroll-btn");
rerollButtonText.setOrigin(0, 0);
this.rerollButtonContainer.add(rerollButtonText);
@ -86,7 +96,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.lockRarityButtonContainer.setVisible(false);
ui.add(this.lockRarityButtonContainer);
this.lockRarityButtonText = addTextObject(this.scene, -4, -2, "Lock Rarities", TextStyle.PARTY);
this.lockRarityButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:lockRarities"), TextStyle.PARTY);
this.lockRarityButtonText.setOrigin(0, 0);
this.lockRarityButtonContainer.add(this.lockRarityButtonText);
@ -390,16 +400,16 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
}
} else if (cursor === 0) {
this.cursorObj.setPosition(6, this.lockRarityButtonContainer.visible ? -72 : -60);
ui.showText("Spend money to reroll your item options.");
ui.showText(i18next.t("modifierSelectUiHandler:rerollDesc"));
} else if (cursor === 1) {
this.cursorObj.setPosition((this.scene.game.canvas.width / 6) - 120, -60);
ui.showText("Transfer a held item from one Pokémon to another.");
this.cursorObj.setPosition((this.scene.game.canvas.width - this.transferButtonWidth - this.checkButtonWidth)/6 - 30, -60);
ui.showText(i18next.t("modifierSelectUiHandler:transferDesc"));
} else if (cursor === 2) {
this.cursorObj.setPosition((this.scene.game.canvas.width / 6) - 60, -60);
ui.showText("Check your team or use a form changing item.");
this.cursorObj.setPosition((this.scene.game.canvas.width - this.checkButtonWidth)/6 - 10, -60);
ui.showText(i18next.t("modifierSelectUiHandler:checkTeamDesc"));
} else {
this.cursorObj.setPosition(6, -60);
ui.showText("Lock item rarities on reroll (affects reroll cost).");
ui.showText(i18next.t("modifierSelectUiHandler:lockRaritiesDesc"));
}
return ret;
@ -456,7 +466,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
const formattedMoney = Utils.formatMoney(this.scene.moneyFormat, this.rerollCost);
this.rerollCostText.setText(`${formattedMoney}`);
this.rerollCostText.setText(i18next.t("modifierSelectUiHandler:rerollCost", { formattedMoney }));
this.rerollCostText.setColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED));
this.rerollCostText.setShadowColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED, true));
}
@ -720,7 +730,7 @@ class ModifierOption extends Phaser.GameObjects.Container {
const formattedMoney = Utils.formatMoney(scene.moneyFormat, this.modifierTypeOption.cost);
this.itemCostText.setText(`${formattedMoney}`);
this.itemCostText.setText(i18next.t("modifierSelectUiHandler:itemCost", { formattedMoney }));
this.itemCostText.setColor(getTextColor(textStyle, false, scene.uiTheme));
this.itemCostText.setShadowColor(getTextColor(textStyle, true, scene.uiTheme));
}

View File

@ -82,7 +82,7 @@ export function addTextInputObject(scene: Phaser.Scene, x: number, y: number, wi
return ret;
}
function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ number, Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, number, number ] {
export function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ number, Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, number, number ] {
let shadowXpos = 4;
let shadowYpos = 5;
const scale = 0.1666666667;