summaryrefslogtreecommitdiff
path: root/resources/js/classes
diff options
context:
space:
mode:
Diffstat (limited to 'resources/js/classes')
-rw-r--r--resources/js/classes/InventoryItem.js4
-rw-r--r--resources/js/classes/Item.js6
-rw-r--r--resources/js/classes/Monster.js39
-rw-r--r--resources/js/classes/State.js5
-rw-r--r--resources/js/classes/Technique.js6
5 files changed, 49 insertions, 11 deletions
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,5 +1,10 @@
class State {
/**
+ * @type {string}
+ */
+ language = 'ja';
+
+ /**
* @type {number}
*/
turn = 0;
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 () {