From c1fe94a630a88c4f7203d54f34985c109030791c Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Sat, 19 Aug 2023 15:32:48 +0200 Subject: translations --- resources/js/classes/InventoryItem.js | 4 ++++ resources/js/classes/Item.js | 6 +++++- resources/js/classes/Monster.js | 39 +++++++++++++++++++++++++++-------- resources/js/classes/State.js | 5 +++++ resources/js/classes/Technique.js | 6 +++++- 5 files changed, 49 insertions(+), 11 deletions(-) (limited to 'resources/js/classes') diff --git a/resources/js/classes/InventoryItem.js b/resources/js/classes/InventoryItem.js index 2e9b764..d6eb311 100644 --- a/resources/js/classes/InventoryItem.js +++ b/resources/js/classes/InventoryItem.js @@ -26,6 +26,10 @@ class InventoryItem { return this.item.name; } + get description () { + return this.item.description; + } + get category () { return this.item.category; } diff --git a/resources/js/classes/Item.js b/resources/js/classes/Item.js index 8a12b9a..9da6a92 100644 --- a/resources/js/classes/Item.js +++ b/resources/js/classes/Item.js @@ -4,7 +4,11 @@ class Item { } get name () { - return slugToName(this.slug); + return translate(this.slug) || slugToName(this.slug); + } + + get description () { + return translate(`${this.slug}_description`) || 'ITEM_DESCRIPTION_MISSING'; } get category () { diff --git a/resources/js/classes/Monster.js b/resources/js/classes/Monster.js index 9023f32..5c930f8 100644 --- a/resources/js/classes/Monster.js +++ b/resources/js/classes/Monster.js @@ -70,6 +70,9 @@ class Monster { return DB.monsters[this.slug].moveset; } + /** + * @returns {DB_Evolution[]} + */ get evolutions () { return DB.monsters[this.slug].evolutions; } @@ -102,7 +105,7 @@ class Monster { } get name () { - return slugToName(this.slug); + return translate(this.slug) || slugToName(this.slug); } getLearnableTechniques () { @@ -126,18 +129,36 @@ class Monster { ); } - getPossibleEvolutions () { - // return this.evolutions.filter((evolution) => this.level >= evolution.at_level && (!evolution.item || this.heldItem === evolution.item)); - return this.evolutions.filter((evolution) => evolution.path === 'standard' && this.level >= evolution.at_level); - } + /** + * @param {EvolutionPathType} path + */ + getPossibleEvolutions (path) { + return this.evolutions.filter((evolution) => { + if (evolution.path !== path) { + return false; + } + + if (evolution.path === EvolutionPathType.standard) { + return this.level >= evolution.at_level; + } - canEvolve () { - return this.getPossibleEvolutions().length > 0; + else if (evolution.path === EvolutionPathType.item) { + return true; + } + }); } - evolve () { - const evolution = this.getPossibleEvolutions()[0]; + /** + * @param {EvolutionPathType} path + */ + canEvolve (path) { + return this.getPossibleEvolutions(path).length > 0; + } + /** + * @param {DB_Evolution} evolution + */ + evolve (evolution) { const statsPreEvolve = this.stats; const hpPreEvolve = this.hp; diff --git a/resources/js/classes/State.js b/resources/js/classes/State.js index 99a642c..44afa96 100644 --- a/resources/js/classes/State.js +++ b/resources/js/classes/State.js @@ -1,4 +1,9 @@ class State { + /** + * @type {string} + */ + language = 'ja'; + /** * @type {number} */ diff --git a/resources/js/classes/Technique.js b/resources/js/classes/Technique.js index 74783a2..5f01e64 100644 --- a/resources/js/classes/Technique.js +++ b/resources/js/classes/Technique.js @@ -14,7 +14,11 @@ class Technique { } get name () { - return slugToName(this.slug); + return translate(this.slug) || slugToName(this.slug); + } + + get description () { + return translate(`${this.slug}_description`) || 'TECHNIQUE_DESCRIPTION_MISSING'; } get types () { -- cgit v1.2.3