diff options
author | Daniel Weipert <code@drogueronin.de> | 2023-08-18 23:19:13 +0200 |
---|---|---|
committer | Daniel Weipert <code@drogueronin.de> | 2023-08-18 23:19:13 +0200 |
commit | 91d048ef0f994446aaee91e3afcbd99788e439d7 (patch) | |
tree | 30063656343d7c3c0f9ebd37b2eb1896bfa76820 /resources/js/classes/utility/ItemEffect.js | |
parent | f9b00e47e04eac414d892a08136a90833abeefd6 (diff) |
item effects,conditions
Diffstat (limited to 'resources/js/classes/utility/ItemEffect.js')
-rw-r--r-- | resources/js/classes/utility/ItemEffect.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/resources/js/classes/utility/ItemEffect.js b/resources/js/classes/utility/ItemEffect.js new file mode 100644 index 0000000..aa1c1df --- /dev/null +++ b/resources/js/classes/utility/ItemEffect.js @@ -0,0 +1,51 @@ +class ItemEffect { + /** + * @type {string} + */ + type = ''; + + /** + * @type {('increase')} + */ + application = ''; + + /** + * @type {number} + */ + amount = 0; + + /** + * @param {string} effectCode + */ + constructor (effectCode) { + if (effectCode.startsWith('heal')) { + this.type = 'heal'; + + this.amount = parseInt(effectCode.split(' ')[1]); + } + + else if (effectCode.startsWith('revive')) { + this.type = 'revive'; + + this.amount = effectCode.split(' ')[1]; + } + + else if (effectCode.startsWith('learn_')) { + this.type = effectCode.split(' ')[0]; + + this.what = effectCode.split(' ')[1]; + } + + else if (Object.values(StatType).includes(effectCode.split(' ')[1] || '')) { + this.type = 'stat'; + + this.application = effectCode.split(' ')[0]; + this.what = effectCode.split(' ')[1].split(',')[0]; + this.amount = effectCode.split(' ')[1].split(',')[1]; + } + + else { + this.type = effectCode; + } + } +} |