From 87b6212eab1673b1a66ca9849232963f2e57363f Mon Sep 17 00:00:00 2001 From: b Date: Wed, 6 Jan 2021 18:02:10 -0600 Subject: [PATCH] Separate out build.js --- TODO.txt | 12 ++++++++ build.js | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ index.html | 2 ++ test.js | 80 ------------------------------------------------------ 4 files changed, 94 insertions(+), 80 deletions(-) create mode 100644 TODO.txt create mode 100644 build.js diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 0000000..22632df --- /dev/null +++ b/TODO.txt @@ -0,0 +1,12 @@ +Item identifications +- Base max/min, rounding correctly, and handling pre-ID + +Damage calculation +- General calculation framework +- Weapon powdering +- Spell multipler +- Melee dps and multiplier +- Poison calculations + +Skillpoint engine +- Make it work... diff --git a/build.js b/build.js new file mode 100644 index 0000000..79fc017 --- /dev/null +++ b/build.js @@ -0,0 +1,80 @@ +/*Class that represents a wynn player's build. +*/ +class Build{ + + /*Construct a build. + */ + constructor(level,helmet,chestplate,leggings,boots,ring1,ring2,bracelet,necklace,weapon){ + if(helmet.type.valueOf() != "helmet".valueOf()){ + throw new TypeError("No such helmet named ", helmet.name); + }else{ + this.helmet = helmet; + } + if(chestplate.type.valueOf() != "chestplate"){ + throw new TypeError("No such chestplate named ", chestplate.name); + }else{ + this.chestplate = chestplate; + } + if(leggings.type.valueOf() != "leggings"){ + throw new TypeError("No such leggings named ", leggings.name); + }else{ + this.leggings = leggings; + } + if(boots.type.valueOf() != "boots"){ + throw new TypeError("No such boots named ", boots.name); + }else{ + this.boots = boots; + } + if(ring1.type.valueOf() != "ring"){ + throw new TypeError("No such ring named ", ring1.name); + }else{ + this.ring1 = ring1; + } + if(ring2.type.valueOf() != "ring"){ + throw new TypeError("No such ring named ", ring2.name); + }else{ + this.ring2 = ring2; + } + if(bracelet.type.valueOf() != "bracelet"){ + throw new TypeError("No such bracelet named ", bracelet.name); + }else{ + this.bracelet = bracelet; + } + if(necklace.type.valueOf() != "necklace"){ + throw new TypeError("No such necklace named ", necklace.name); + }else{ + this.necklace = necklace; + } + if(weapon.type.valueOf() == "wand" || weapon.type.valueOf() == "bow" || weapon.type.valueOf() == "dagger" || weapon.type.valueOf() == "spear" || weapon.type.valueOf() == "relik"){ + this.weapon = weapon; + }else{ + throw new TypeError("No such weapon named ", weapon.name); + } + if(level < 1){ //Should these be constants? + this.level = 1; + }else if (level > 106){ + this.level = 106; + }else{ + this.level = level; + } + this.skillpoints = levelToSkillPoints(this.level) + } + + /*Returns build in string format + */ TODO + toString(){ + return this.helmet.name + ", " + this.chestplate.name + ", " + this.leggings.name + ", " + this.boots.name + ", " + this.ring1.name + ", " + this.ring2.name + ", " + this.bracelet.name + ", " + this.necklace.name + ", " + this.weapon.name; + } + + /* Getters */ TODO + getHealth(){ + health = parseInt(this.helmet.hp,10) + parseInt(this.helmet.hpBonus,10) + parseInt(this.chestplate.hp,10) + parseInt(this.chestplate.hpBonus,10) + parseInt(this.leggings.hp,10) + parseInt(this.leggings.hpBonus,10) + parseInt(this.boots.hp,10) + parseInt(this.boots.hpBonus,10) + parseInt(this.ring1.hp,10) + parseInt(this.ring1.hpBonus,10) + parseInt(this.ring2.hp,10) + parseInt(this.ring2.hpBonus,10) + parseInt(this.bracelet.hp,10) + parseInt(this.bracelet.hpBonus,10) + parseInt(this.necklace.hp,10) + parseInt(this.necklace.hpBonus,10) + parseInt(this.weapon.hp,10) + parseInt(this.weapon.hpBonus,10) + levelToHPBase(this.level); + if(health<5){ + return 5; + }else{ + return health; + } + } + /* Setters */ TODO + +} diff --git a/index.html b/index.html index 1ceb7d2..418b11f 100644 --- a/index.html +++ b/index.html @@ -144,6 +144,8 @@ + diff --git a/test.js b/test.js index 9386da2..076c0bf 100644 --- a/test.js +++ b/test.js @@ -316,83 +316,3 @@ function levelToHPBase(level){ } } -/*Class that represents a wynn player's build. -*/ -class Build{ - - /*Construct a build. - */ - constructor(level,helmet,chestplate,leggings,boots,ring1,ring2,bracelet,necklace,weapon){ - if(helmet.type.valueOf() != "helmet".valueOf()){ - throw new TypeError("No such helmet named ", helmet.name); - }else{ - this.helmet = helmet; - } - if(chestplate.type.valueOf() != "chestplate"){ - throw new TypeError("No such chestplate named ", chestplate.name); - }else{ - this.chestplate = chestplate; - } - if(leggings.type.valueOf() != "leggings"){ - throw new TypeError("No such leggings named ", leggings.name); - }else{ - this.leggings = leggings; - } - if(boots.type.valueOf() != "boots"){ - throw new TypeError("No such boots named ", boots.name); - }else{ - this.boots = boots; - } - if(ring1.type.valueOf() != "ring"){ - throw new TypeError("No such ring named ", ring1.name); - }else{ - this.ring1 = ring1; - } - if(ring2.type.valueOf() != "ring"){ - throw new TypeError("No such ring named ", ring2.name); - }else{ - this.ring2 = ring2; - } - if(bracelet.type.valueOf() != "bracelet"){ - throw new TypeError("No such bracelet named ", bracelet.name); - }else{ - this.bracelet = bracelet; - } - if(necklace.type.valueOf() != "necklace"){ - throw new TypeError("No such necklace named ", necklace.name); - }else{ - this.necklace = necklace; - } - if(weapon.type.valueOf() == "wand" || weapon.type.valueOf() == "bow" || weapon.type.valueOf() == "dagger" || weapon.type.valueOf() == "spear" || weapon.type.valueOf() == "relik"){ - this.weapon = weapon; - }else{ - throw new TypeError("No such weapon named ", weapon.name); - } - if(level < 1){ //Should these be constants? - this.level = 1; - }else if (level > 106){ - this.level = 106; - }else{ - this.level = level; - } - this.skillpoints = levelToSkillPoints(this.level) - } - - /*Returns build in string format - */ TODO - toString(){ - return this.helmet.name + ", " + this.chestplate.name + ", " + this.leggings.name + ", " + this.boots.name + ", " + this.ring1.name + ", " + this.ring2.name + ", " + this.bracelet.name + ", " + this.necklace.name + ", " + this.weapon.name; - } - - /* Getters */ TODO - getHealth(){ - health = parseInt(this.helmet.hp,10) + parseInt(this.helmet.hpBonus,10) + parseInt(this.chestplate.hp,10) + parseInt(this.chestplate.hpBonus,10) + parseInt(this.leggings.hp,10) + parseInt(this.leggings.hpBonus,10) + parseInt(this.boots.hp,10) + parseInt(this.boots.hpBonus,10) + parseInt(this.ring1.hp,10) + parseInt(this.ring1.hpBonus,10) + parseInt(this.ring2.hp,10) + parseInt(this.ring2.hpBonus,10) + parseInt(this.bracelet.hp,10) + parseInt(this.bracelet.hpBonus,10) + parseInt(this.necklace.hp,10) + parseInt(this.necklace.hpBonus,10) + parseInt(this.weapon.hp,10) + parseInt(this.weapon.hpBonus,10) + levelToHPBase(this.level); - if(health<5){ - return 5; - }else{ - return health; - } - } - /* Setters */ TODO - -}