compactify stuff, better UI

This commit is contained in:
b 2021-01-19 04:12:36 -06:00
parent 777a1cfb3d
commit 3a61d39785
7 changed files with 598 additions and 926 deletions

View file

@ -1,83 +1,5 @@
{
"items": [
{
"name": "Demon Tide (1.20)",
"tier": "Legendary",
"type": "leggings",
"set": null,
"quest": null,
"poison": 0,
"spellCost3Pct": -25,
"spellCost2Pct": -20,
"spellCost1Pct": -30,
"spellCost4Pct": -30,
"thorns": 0,
"sprint": 0,
"category": "armor",
"slots": 2,
"drop": "NORMAL",
"hp": 2625,
"fDef": 65,
"wDef": -200,
"aDef": 0,
"tDef": 65,
"eDef": 0,
"lvl": 87,
"classReq": null,
"strReq": 0,
"dexReq": 65,
"intReq": 0,
"agiReq": 0,
"defReq": 45,
"hprPct": 0,
"mr": 0,
"sdPct": -45,
"mdPct": -40,
"ls": 0,
"ms": 0,
"xpb": 0,
"lb": 0,
"ref": 0,
"str": 0,
"dex": 0,
"int": 10,
"agi": 0,
"def": 0,
"expd": 0,
"spd": 0,
"atkTier": 0,
"hpBonus": 0,
"spRegen": 0,
"eSteal": 0,
"hprRaw": 0,
"sdRaw": 0,
"mdRaw": 0,
"fDamPct": 10,
"wDamPct": 20,
"aDamPct": 0,
"tDamPct": 10,
"eDamPct": 0,
"fDefPct": 0,
"wDefPct": 0,
"aDefPct": 0,
"tDefPct": 0,
"eDefPct": 0,
"spPct1": -30,
"spRaw1": 0,
"spPct2": -20,
"spRaw2": 0,
"spPct3": -25,
"spRaw3": 0,
"spPct4": -30,
"spRaw4": 0,
"rainbowRaw": 0,
"sprintReg": 0,
"jh": 0,
"lq": 0,
"gXp": 0,
"gSpd": 0,
"id": 10010
},
{
"name": "Dondasch",
"tier": "Legendary",
@ -57924,6 +57846,82 @@
"gSpd": 0,
"id": 772
},
{
"name": "Ambivalence",
"tier": "Legendary",
"set": null,
"quest": null,
"poison": 0,
"thorns": 0,
"sprint": 0,
"category": "accessory",
"slots": 0,
"drop": "never",
"restrict": "Untradable",
"hp": 0,
"fDef": 70,
"wDef": 0,
"aDef": 70,
"tDef": 70,
"eDef": 0,
"lvl": 100,
"classReq": null,
"strReq": 0,
"dexReq": 40,
"intReq": 0,
"agiReq": 40,
"defReq": 40,
"hprPct": 0,
"mr": 0,
"sdPct": 250,
"mdPct": 0,
"ls": 0,
"ms": 0,
"xpb": 0,
"lb": 0,
"ref": 0,
"str": 0,
"dex": 0,
"int": -70,
"agi": 0,
"def": 0,
"expd": 0,
"spd": 0,
"atkTier": 0,
"hpBonus": 0,
"spRegen": 0,
"eSteal": 0,
"hprRaw": 0,
"sdRaw": 0,
"mdRaw": 0,
"fDamPct": 0,
"wDamPct": 50,
"aDamPct": 0,
"tDamPct": 0,
"eDamPct": 0,
"fDefPct": 0,
"wDefPct": 0,
"aDefPct": 0,
"tDefPct": 0,
"eDefPct": 0,
"type": "necklace",
"fixID": true,
"spPct1": 130,
"spRaw1": 0,
"spPct2": 85,
"spRaw2": 0,
"spPct3": 130,
"spRaw3": 0,
"spPct4": 100,
"spRaw4": 0,
"rainbowRaw": 0,
"sprintReg": 0,
"jh": 0,
"lq": 0,
"gXp": 0,
"gSpd": 0,
"id": 773
},
{
"name": "Algaa",
"tier": "Rare",
@ -266667,8 +266665,8 @@
"int": 50,
"def": 0,
"agi": 0,
"mr": -5,
"ms": -5,
"mr": -4,
"ms": -4,
"sdPct": 30,
"spPct1": -38,
"spPct2": -38,
@ -270659,7 +270657,7 @@
"category": "armor",
"lvl": 98,
"hp": 3200,
"tDef": 200,
"tDef": 100,
"aDef": -150,
"slots": 3,
"str": 0,
@ -271168,13 +271166,15 @@
"fDef": 40,
"aDef": 40,
"slots": 2,
"str": 4,
"dex": 4,
"int": 4,
"def": 4,
"agi": 4,
"sdRaw": 175,
"mdRaw": 230,
"str": 3,
"dex": 3,
"int": 3,
"def": 3,
"agi": 3,
"ls": 175,
"ms": 2,
"lb": 15,
"thorns": 20,
"id": 10259
},
{
@ -272802,11 +272802,11 @@
"category": "weapon",
"lvl": 93,
"nDam": "0-0",
"eDam": "124-140",
"tDam": "54-210",
"wDam": "94-170",
"fDam": "109-115",
"aDam": "79-185",
"eDam": "120-142",
"tDam": "60-202",
"wDam": "90-172",
"fDam": "105-157",
"aDam": "75-187",
"slots": 4,
"str": 0,
"dex": 0,
@ -275167,7 +275167,7 @@
"agi": -550,
"ls": 973,
"ms": 6,
"atkTier": 3,
"atkTier": 1,
"sdRaw": 342,
"mdRaw": 727,
"wDamPct": -550,
@ -275859,344 +275859,6 @@
"tDamPct": 30,
"aDamPct": -50,
"id": 10394
},
{
"tier": "Rare",
"type": "helmet",
"name": "Dissociation (1.20)",
"displayName": "Dissociation (1.20)",
"set": null,
"quest": null,
"classReq": null,
"restrict": "1.20 item",
"fixID": false,
"strReq": 0,
"dexReq": 0,
"intReq": 0,
"defReq": 0,
"agiReq": 0,
"category": "armor",
"lvl": 101,
"slots": 0,
"str": -35,
"dex": 0,
"int": -20,
"def": -35,
"agi": 0,
"mr": 2,
"hpBonus": 3550,
"sdRaw": 300,
"mdPct": 60,
"tDefPct": 75,
"aDefPct": 75,
"spRaw3": -1,
"id": 10395
},
{
"tier": "Legendary",
"type": "leggings",
"name": "Anixolytic (1.20)",
"displayName": "Anixolytic (1.20)",
"set": null,
"quest": null,
"classReq": null,
"restrict": "1.20 item",
"fixID": false,
"strReq": 35,
"dexReq": 40,
"intReq": 50,
"defReq": 35,
"agiReq": 50,
"category": "armor",
"lvl": 101,
"hp": 3880,
"eDef": -175,
"tDef": 125,
"wDef": 150,
"fDef": -125,
"aDef": 150,
"slots": 0,
"str": 0,
"dex": 15,
"int": 10,
"def": 0,
"agi": 12,
"mr": 4,
"spRaw1": 1,
"spRaw3": 1,
"spRaw4": 1,
"sprintReg": 13,
"id": 10396
},
{
"name": "Anima-Infused Cuirass (1.20)",
"displayName": "Anima-Infused Cuirass (1.20)",
"tier": "Legendary",
"type": "chestplate",
"set": null,
"quest": "The Qira Hive",
"poison": 0,
"thorns": 0,
"sprint": 0,
"category": "armor",
"slots": 2,
"drop": "never",
"restrict": "Untradable",
"hp": 3800,
"fDef": 200,
"wDef": 200,
"aDef": 0,
"tDef": 200,
"eDef": 0,
"lvl": 100,
"classReq": null,
"strReq": 0,
"dexReq": 40,
"intReq": 40,
"agiReq": 0,
"defReq": 40,
"hprPct": 0,
"mr": 2,
"sdPct": 0,
"mdPct": 0,
"ls": 0,
"ms": 0,
"xpb": 0,
"lb": 0,
"ref": 0,
"str": -30,
"dex": 0,
"int": 0,
"agi": -30,
"def": 0,
"expd": 0,
"spd": 0,
"atkTier": 0,
"hpBonus": 0,
"spRegen": 0,
"eSteal": 0,
"hprRaw": 0,
"sdRaw": 0,
"mdRaw": 0,
"fDamPct": 20,
"wDamPct": 20,
"aDamPct": 0,
"tDamPct": 20,
"eDamPct": 0,
"fDefPct": 20,
"wDefPct": 20,
"aDefPct": 0,
"tDefPct": 20,
"eDefPct": 0,
"fixID": true,
"spPct1": 0,
"spRaw1": -1,
"spPct2": 0,
"spRaw2": 0,
"spPct3": 0,
"spRaw3": -1,
"spPct4": 0,
"spRaw4": -1,
"rainbowRaw": 0,
"sprintReg": 0,
"jh": 0,
"lq": 0,
"gXp": 0,
"gSpd": 0,
"id": 10397
},
{
"tier": "Unique",
"type": "boots",
"name": "Boots of Blue Stone (1.20)",
"displayName": "Boots of Blue Stone (1.20)",
"set": null,
"quest": null,
"classReq": null,
"restrict": "1.20 item",
"fixID": false,
"strReq": 20,
"dexReq": 20,
"intReq": 20,
"defReq": 20,
"agiReq": 20,
"category": "armor",
"lvl": 82,
"hp": 2000,
"eDef": 30,
"tDef": 30,
"wDef": 30,
"fDef": 30,
"aDef": 30,
"slots": 2,
"str": 5,
"dex": 5,
"int": 5,
"def": 5,
"agi": 5,
"sdRaw": 140,
"mdRaw": 180,
"eDamPct": 13,
"tDamPct": 13,
"wDamPct": 13,
"fDamPct": 13,
"aDamPct": 13,
"sprint": 13,
"sprintReg": 13,
"id": 10398
},
{
"tier": "Rare",
"type": "relik",
"name": "Estuarine (1.20)",
"displayName": "Estuarine (1.20)",
"set": null,
"quest": null,
"classReq": null,
"restrict": "1.20 item",
"fixID": false,
"strReq": 28,
"dexReq": 0,
"intReq": 32,
"defReq": 0,
"agiReq": 0,
"atkSpd": "NORMAL",
"category": "weapon",
"lvl": 71,
"nDam": "70-80",
"eDam": "100-110",
"tDam": "0-0",
"wDam": "71-85",
"fDam": "0-0",
"aDam": "0-0",
"slots": 3,
"str": 0,
"dex": 0,
"int": 8,
"def": 0,
"agi": 0,
"mr": 1,
"spd": -12,
"mdPct": -20,
"mdRaw": 130,
"wDamPct": 35,
"eDefPct": 30,
"id": 10399
},
{
"tier": "Rare",
"type": "helmet",
"name": "The Modulator (1.20)",
"displayName": "The Modulator (1.20)",
"set": null,
"quest": null,
"classReq": null,
"restrict": "1.20 item",
"fixID": true,
"strReq": 25,
"dexReq": 25,
"intReq": 25,
"defReq": 25,
"agiReq": 25,
"category": "armor",
"lvl": 88,
"hp": 2500,
"slots": 5,
"str": 8,
"dex": 8,
"int": 8,
"def": 8,
"agi": 8,
"spd": 15,
"eDefPct": 30,
"tDefPct": 30,
"wDefPct": 30,
"fDefPct": 30,
"aDefPct": 30,
"id": 10400
},
{
"tier": "Rare",
"type": "dagger",
"name": "Sreggad (1.20)",
"displayName": "Sreggad (1.20)",
"set": null,
"quest": null,
"classReq": null,
"restrict": "1.20 item",
"fixID": false,
"strReq": 0,
"dexReq": 0,
"intReq": 0,
"defReq": 0,
"agiReq": 0,
"atkSpd": "SUPER_SLOW",
"category": "weapon",
"lvl": 85,
"nDam": "0-0",
"eDam": "0-0",
"tDam": "0-0",
"wDam": "0-0",
"fDam": "0-0",
"aDam": "0-0",
"slots": 2,
"str": 0,
"dex": 0,
"int": 0,
"def": 20,
"agi": 20,
"hprRaw": 173,
"ls": 354,
"thorns": 333,
"hpBonus": 2500,
"ref": 333,
"eDefPct": 50,
"tDefPct": 50,
"wDefPct": 50,
"fDefPct": 50,
"aDefPct": 50,
"id": 10401
},
{
"tier": "Mythic",
"type": "dagger",
"name": "Nullification (1.20)",
"displayName": "Nullification (1.20)",
"set": null,
"quest": null,
"classReq": null,
"restrict": "1.20 item",
"fixID": false,
"strReq": 30,
"dexReq": 30,
"intReq": 30,
"defReq": 30,
"agiReq": 30,
"atkSpd": "FAST",
"category": "weapon",
"lvl": 95,
"nDam": "0-0",
"eDam": "80-88",
"tDam": "20-148",
"wDam": "65-103",
"fDam": "50-118",
"aDam": "35-133",
"slots": 3,
"str": 0,
"dex": 0,
"int": 0,
"def": 50,
"agi": 0,
"ls": 495,
"ms": 3,
"poison": -7000,
"ref": 80,
"eDefPct": 143,
"tDefPct": 143,
"wDefPct": 143,
"fDefPct": 143,
"aDefPct": 143,
"id": 10402
}
],
"sets": {
@ -277561,4 +277223,4 @@
]
}
}
}
}

File diff suppressed because one or more lines are too long

View file

@ -429,7 +429,7 @@ function displayExpandedItem(item, parent_id){
" [ " + item.get("powders").map(x => powderNames.get(x)) + " ]";*/
let powderPrefix = document.createElement("b");
powderPrefix.classList.add("itemp");
powderPrefix.classList.add("powderLeft");
powderPrefix.classList.add("left");
powderPrefix.textContent = "Powder Slots: " + item.get(id) + " [";
p_elem.appendChild(powderPrefix);
@ -444,7 +444,7 @@ function displayExpandedItem(item, parent_id){
}
let powderSuffix = document.createElement("b");
powderSuffix.classList.add("itemp");
powderSuffix.classList.add("powderRight");
powderSuffix.classList.add("left");
powderSuffix.textContent = "]";
p_elem.appendChild(powderSuffix);
@ -1130,7 +1130,7 @@ function displayDefenseStats(parent_elem, build, insertSummary){
hprRow.appendChild(hpr);
hprRow.appendChild(boost);
statsTable.appendChild(hprRow);
/*//EHPR
//EHPR
let ehprRow = document.createElement("tr");
let ehpr = document.createElement("td");
ehpr.classList.add("left");
@ -1144,7 +1144,7 @@ function displayDefenseStats(parent_elem, build, insertSummary){
ehprRow.append(boost);
statsTable.append(ehprRow);
ehprRow = document.createElement("tr");
/*ehprRow = document.createElement("tr");
ehpr = document.createElement("td");
ehpr.classList.add("left");
ehpr.textContent = "Effective HP Regen (no agi):";

View file

@ -409,6 +409,482 @@
</div>
</div>
</div>
<div class="skillpoints">
<div class="center" style="grid-column:1;grid-row:1">
<div>
<label for="str-skp" class="skpLabel" id="str-skp-label">Strength:</label><br>
<input type="string" id="str-skp" name="str-skp" value="0" class="skpInput"/>
</div>
<div id="str-skp-assign" class="skpDesc">
Manually Assigned: 0
</div>
<div id="str-skp-base" class="skpDesc">
Original Value: 0
</div>
<div id ="str-skp-pct" class="skpDesc">
</div>
</div>
<div class="center" style="grid-column:2;grid-row:1">
<div>
<label for="dex-skp" class="skpLabel" id="dex-skp-label">Dexterity:</label><br>
<input type="string" id="dex-skp" name="dex-skp" value="0" class="skpInput"/>
</div>
<div id="dex-skp-assign" class="skpDesc">
Manually Assigned: 0
</div>
<div id="dex-skp-base" class="skpDesc">
Original Value: 0
</div>
<div id ="dex-skp-pct" class="skpDesc">
</div>
</div>
<div class="center" style="grid-column:3;grid-row:1">
<div>
<label for="int-skp" class="skpLabel" id="int-skp-label">Intelligence:</label><br>
<input type="string" id="int-skp" name="int-skp" value="0" class="skpInput"/>
</div>
<div id="int-skp-assign" class="skpDesc">
Manually Assigned: 0
</div>
<div id="int-skp-base" class="skpDesc">
Original Value: 0
</div>
<div id ="int-skp-pct" class="skpDesc">
</div>
</div>
<div class="center" style="grid-column:4;grid-row:1">
<div>
<label for="def-skp" class="skpLabel" id="def-skp-label">Defense:</label><br>
<input type="string" id="def-skp" name="def-skp" value="0" class="skpInput"/>
</div>
<div id="def-skp-assign" class="skpDesc">
Manually Assigned: 0
</div>
<div id="def-skp-base" class="skpDesc">
Original Value: 0
</div>
<div id ="def-skp-pct" class="skpDesc">
</div>
</div>
<div class="center" style="grid-column:5;grid-row:1">
<div>
<label for="agi-skp" class="skpLabel" id="agi-skp-label">Agility:</label><br>
<input type="string" id="agi-skp" name="agi-skp" value="0" class="skpInput"/>
</div>
<div id="agi-skp-assign" class="skpDesc">
Manually Assigned: 0
</div>
<div id="agi-skp-base" class="skpDesc">
Original Value: 0
</div>
<div id ="agi-skp-pct" class="skpDesc">
</div>
</div>
</div>
<div class="id-box fade-in" id="id-edit" style="display: none">
<div class="id-edit1">
<table class="white-space: nowrap">
<tr>
<th colspan="5">
<h1>Damage values:</h1>
</th>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="sdPct" class="idLabel" id="sdPct-label">S. Damage %:</label><br>
<input type="number" id="sdPct" name="sdPct" value="0" class="idInput"/>
</div>
<div id="sdPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="sdRaw" class="idLabel" id="sdRaw-label">Raw Spell:</label><br>
<input type="number" id="sdRaw" name="sdRaw" value="0" class="idInput"/>
</div>
<div id="sdRaw-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="mdPct" class="idLabel" id="mdPct-label">M. Damage %:</label><br>
<input type="number" id="mdPct" name="mdPct" value="0" class="idInput"/>
</div>
<div id="mdPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="mdRaw" class="idLabel" id="mdRaw-label">Raw Melee:</label><br>
<input type="number" id="mdRaw" name="mdRaw" value="0" class="idInput"/>
</div>
<div id="mdRaw-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="poison" class="idLabel" id="poison-label">Poison:</label><br>
<input type="number" id="poison" name="poison" value="0" class="idInput"/>
</div>
<div id="poison-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="eDamPct" class="idLabel Earth" id="eDamPct-label">Damage %:</label><br>
<input type="number" id="eDamPct" name="eDamPct" value="0" class="idInput"/>
</div>
<div id="eDamPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="tDamPct" class="idLabel Thunder" id="tDamPct-label">Damage %:</label><br>
<input type="number" id="tDamPct" name="tDamPct" value="0" class="idInput"/>
</div>
<div id="tDamPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="wDamPct" class="idLabel Water" id="wDamPct-label">Damage %:</label><br>
<input type="number" id="wDamPct" name="wDamPct" value="0" class="idInput"/>
</div>
<div id="wDamPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="fDamPct" class="idLabel Fire" id="fDamPct-label">Damage %:</label><br>
<input type="number" id="fDamPct" name="fDamPct" value="0" class="idInput"/>
</div>
<div id="fDamPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="aDamPct" class="idLabel Air" id="aDamPct-label">Damage %:</label><br>
<input type="number" id="aDamPct" name="aDamPct" value="0" class="idInput"/>
</div>
<div id="aDamPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="atkTier" class="idLabel" id="atkTier-label">+Tier:</label><br>
<input type="number" id="atkTier" name="atkTier" value="0" class="idInput"/>
</div>
<div id="atkTier-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="id-edit1">
<table>
<tr>
<th colspan="5">
<h1>Defense values:</h1>
</th>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="eDefPct" class="idLabel Earth" id="eDefPct-label">Defense %:</label><br>
<input type="number" id="eDefPct" name="eDefPct" value="0" class="idInput"/>
</div>
<div id="eDefPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="tDefPct" class="idLabel Thunder" id="tDefPct-label">Defense %:</label><br>
<input type="number" id="tDefPct" name="tDefPct" value="0" class="idInput"/>
</div>
<div id="tDefPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="wDefPct" class="idLabel Water" id="wDefPct-label">Defense %:</label><br>
<input type="number" id="wDefPct" name="wDefPct" value="0" class="idInput"/>
</div>
<div id="wDefPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="fDefPct" class="idLabel Fire" id="fDefPct-label">Defense %:</label><br>
<input type="number" id="fDefPct" name="fDefPct" value="0" class="idInput"/>
</div>
<div id="fDefPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="aDefPct" class="idLabel Air" id="aDefPct-label">Defense %:</label><br>
<input type="number" id="aDefPct" name="aDefPct" value="0" class="idInput"/>
</div>
<div id="aDefPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="hprRaw" class="idLabel" id="hprRaw-label">HPR Raw:</label><br>
<input type="number" id="hprRaw" name="hprRaw" value="0" class="idInput"/>
</div>
<div id="hprRaw-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="hprPct" class="idLabel" id="hprPct-label">HPR %:</label><br>
<input type="number" id="hprPct" name="hprPct" value="0" class="idInput"/>
</div>
<div id="hprPct-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="hpBonus" class="idLabel" id="hpBonus-label">Health Bonus:</label><br>
<input type="number" id="hpBonus" name="hpBonus" value="0" class="idInput"/>
</div>
<div id="hpBonus-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="id-edit1">
<table>
<tr>
<th colspan="5">
<h1>Utility values:</h1>
</th>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct1" class="idLabel" id="spPct1-label">1st Spell Cost %:</label><br>
<input type="number" id="spPct1" name="spPct1" value="0" class="idInput"/>
</div>
<div id="spPct1-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct2" class="idLabel" id="spPct2-label">2nd Spell Cost %:</label><br>
<input type="number" id="spPct2" name="spPct2" value="0" class="idInput"/>
</div>
<div id="spPct2-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct3" class="idLabel" id="spPct3-label">3rd Spell Cost %:</label><br>
<input type="number" id="spPct3" name="spPct3" value="0" class="idInput"/>
</div>
<div id="spPct3-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct4" class="idLabel" id="spPct4-label">4th Spell Cost %:</label><br>
<input type="number" id="spPct4" name="spPct4" value="0" class="idInput"/>
</div>
<div id="spPct4-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw1" class="idLabel" id="spRaw1-label">1st Spell Cost Raw:</label><br>
<input type="number" id="spRaw1" name="spRaw1" value="0" class="idInput"/>
</div>
<div id="spRaw1-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw2" class="idLabel" id="spRaw2-label">2nd Spell Cost Raw:</label><br>
<input type="number" id="spRaw2" name="spRaw2" value="0" class="idInput"/>
</div>
<div id="spRaw2-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw3" class="idLabel" id="spRaw3-label">3rd Spell Cost Raw:</label><br>
<input type="number" id="spRaw3" name="spRaw3" value="0" class="idInput"/>
</div>
<div id="spRaw3-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw4" class="idLabel" id="spRaw4-label">4th Spell Cost Raw:</label><br>
<input type="number" id="spRaw4" name="spRaw4" value="0" class="idInput"/>
</div>
<div id="spRaw4-base" class="idDesc">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
<br>
<div class="center">
<button class = "button" id = "update-button" onclick = "updateStats()">
Update Stats
</button>
<button class = "button" id = "show-id-button" onclick = "toggleID()">
Edit IDs
</button>
</div>
<br><br><br><br><br><br><br><br>
</div>
</div>
<div class="build-overall-container hide-container-block" style="display: none;">
@ -440,481 +916,6 @@
</div>
</div>
</div>
<div class="skillpoints">
<div class="center" style="grid-column:1;grid-row:1">
<div>
<label for="str-skp" class="skpLabel" id="str-skp-label">Strength:</label><br>
<input type="string" id="str-skp" name="str-skp" value="0" class="skpInput"/>
</div>
<div id="str-skp-assign">
Manually Assigned: 0
</div>
<div id="str-skp-base">
Original Value: 0
</div>
<div id ="str-skp-pct">
</div>
</div>
<div class="center" style="grid-column:2;grid-row:1">
<div>
<label for="dex-skp" class="skpLabel" id="dex-skp-label">Dexterity:</label><br>
<input type="string" id="dex-skp" name="dex-skp" value="0" class="skpInput"/>
</div>
<div id="dex-skp-assign">
Manually Assigned: 0
</div>
<div id="dex-skp-base">
Original Value: 0
</div>
<div id ="dex-skp-pct">
</div>
</div>
<div class="center" style="grid-column:3;grid-row:1">
<div>
<label for="int-skp" class="skpLabel" id="int-skp-label">Intelligence:</label><br>
<input type="string" id="int-skp" name="int-skp" value="0" class="skpInput"/>
</div>
<div id="int-skp-assign">
Manually Assigned: 0
</div>
<div id="int-skp-base">
Original Value: 0
</div>
<div id ="int-skp-pct">
</div>
</div>
<div class="center" style="grid-column:4;grid-row:1">
<div>
<label for="def-skp" class="skpLabel" id="def-skp-label">Defense:</label><br>
<input type="string" id="def-skp" name="def-skp" value="0" class="skpInput"/>
</div>
<div id="def-skp-assign">
Manually Assigned: 0
</div>
<div id="def-skp-base">
Original Value: 0
</div>
<div id ="def-skp-pct">
</div>
</div>
<div class="center" style="grid-column:5;grid-row:1">
<div>
<label for="agi-skp" class="skpLabel" id="agi-skp-label">Agility:</label><br>
<input type="string" id="agi-skp" name="agi-skp" value="0" class="skpInput"/>
</div>
<div id="agi-skp-assign">
Manually Assigned: 0
</div>
<div id="agi-skp-base">
Original Value: 0
</div>
<div id ="agi-skp-pct">
</div>
</div>
</div>
<div class="id-box fade-in" id="id-edit" style="display: none">
<div class="id-edit1">
<table class="white-space: nowrap">
<tr>
<th colspan="2">
<h1>Damage values:</h1>
</th>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="sdPct" class="idLabel" id="sdPct-label">Spell Damage %:</label><br>
<input type="number" id="sdPct" name="sdPct" value="0" class="idInput"/>
</div>
<div id="sdPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="sdRaw" class="idLabel" id="sdRaw-label">Spell Damage Raw:</label><br>
<input type="number" id="sdRaw" name="sdRaw" value="0" class="idInput"/>
</div>
<div id="sdRaw-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="mdPct" class="idLabel" id="mdPct-label">Melee Damage %:</label><br>
<input type="number" id="mdPct" name="mdPct" value="0" class="idInput"/>
</div>
<div id="mdPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="mdRaw" class="idLabel" id="mdRaw-label">Melee Damage Raw:</label><br>
<input type="number" id="mdRaw" name="mdRaw" value="0" class="idInput"/>
</div>
<div id="mdRaw-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="poison" class="idLabel" id="poison-label">Poison:</label><br>
<input type="number" id="poison" name="poison" value="0" class="idInput"/>
</div>
<div id="poison-base">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="eDamPct" class="idLabel" id="eDamPct-label">Earth Damage %:</label><br>
<input type="number" id="eDamPct" name="eDamPct" value="0" class="idInput"/>
</div>
<div id="eDamPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="tDamPct" class="idLabel" id="tDamPct-label">Thunder Damage %:</label><br>
<input type="number" id="tDamPct" name="tDamPct" value="0" class="idInput"/>
</div>
<div id="tDamPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="wDamPct" class="idLabel" id="wDamPct-label">Water Damage %:</label><br>
<input type="number" id="wDamPct" name="wDamPct" value="0" class="idInput"/>
</div>
<div id="wDamPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="fDamPct" class="idLabel" id="fDamPct-label">Fire Damage %:</label><br>
<input type="number" id="fDamPct" name="fDamPct" value="0" class="idInput"/>
</div>
<div id="fDamPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="aDamPct" class="idLabel" id="aDamPct-label">Air Damage %:</label><br>
<input type="number" id="aDamPct" name="aDamPct" value="0" class="idInput"/>
</div>
<div id="aDamPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="atkTier" class="idLabel" id="atkTier-label">Attack Speed Bonus:</label><br>
<input type="number" id="atkTier" name="atkTier" value="0" class="idInput"/>
</div>
<div id="atkTier-base">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="id-edit1">
<table>
<tr>
<th colspan="2">
<h1>Defense values:</h1>
</th>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="eDefPct" class="idLabel" id="eDefPct-label">Earth Defense %:</label><br>
<input type="number" id="eDefPct" name="eDefPct" value="0" class="idInput"/>
</div>
<div id="eDefPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="tDefPct" class="idLabel" id="tDefPct-label">Thunder Defense %:</label><br>
<input type="number" id="tDefPct" name="tDefPct" value="0" class="idInput"/>
</div>
<div id="tDefPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="wDefPct" class="idLabel" id="wDefPct-label">Water Defense %:</label><br>
<input type="number" id="wDefPct" name="wDefPct" value="0" class="idInput"/>
</div>
<div id="wDefPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="fDefPct" class="idLabel" id="fDefPct-label">Fire Defense %:</label><br>
<input type="number" id="fDefPct" name="fDefPct" value="0" class="idInput"/>
</div>
<div id="fDefPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="aDefPct" class="idLabel" id="aDefPct-label">Air Defense %:</label><br>
<input type="number" id="aDefPct" name="aDefPct" value="0" class="idInput"/>
</div>
<div id="aDefPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="hprRaw" class="idLabel" id="hprRaw-label">Health Regen Raw:</label><br>
<input type="number" id="hprRaw" name="hprRaw" value="0" class="idInput"/>
</div>
<div id="hprRaw-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="hprPct" class="idLabel" id="hprPct-label">Health Regen %:</label><br>
<input type="number" id="hprPct" name="hprPct" value="0" class="idInput"/>
</div>
<div id="hprPct-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="hpBonus" class="idLabel" id="hpBonus-label">Health Bonus:</label><br>
<input type="number" id="hpBonus" name="hpBonus" value="0" class="idInput"/>
</div>
<div id="hpBonus-base">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
<div class="id-edit1">
<table>
<tr>
<th colspan="2">
<h1>Utility values:</h1>
</th>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct1" class="idLabel" id="spPct1-label">1st Spell Cost %:</label><br>
<input type="number" id="spPct1" name="spPct1" value="0" class="idInput"/>
</div>
<div id="spPct1-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct2" class="idLabel" id="spPct2-label">2nd Spell Cost %:</label><br>
<input type="number" id="spPct2" name="spPct2" value="0" class="idInput"/>
</div>
<div id="spPct2-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct3" class="idLabel" id="spPct3-label">3rd Spell Cost %:</label><br>
<input type="number" id="spPct3" name="spPct3" value="0" class="idInput"/>
</div>
<div id="spPct3-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spPct4" class="idLabel" id="spPct4-label">4th Spell Cost %:</label><br>
<input type="number" id="spPct4" name="spPct4" value="0" class="idInput"/>
</div>
<div id="spPct4-base">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
<tr>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw1" class="idLabel" id="spRaw1-label">1st Spell Cost Raw:</label><br>
<input type="number" id="spRaw1" name="spRaw1" value="0" class="idInput"/>
</div>
<div id="spRaw1-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw2" class="idLabel" id="spRaw2-label">2nd Spell Cost Raw:</label><br>
<input type="number" id="spRaw2" name="spRaw2" value="0" class="idInput"/>
</div>
<div id="spRaw2-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw3" class="idLabel" id="spRaw3-label">3rd Spell Cost Raw:</label><br>
<input type="number" id="spRaw3" name="spRaw3" value="0" class="idInput"/>
</div>
<div id="spRaw3-base">
Original Value: 0
</div>
</div>
</div>
</td>
<td>
<div class="idLeft">
<div class="idWrap">
<div>
<label for="spRaw4" class="idLabel" id="spRaw4-label">4th Spell Cost Raw:</label><br>
<input type="number" id="spRaw4" name="spRaw4" value="0" class="idInput"/>
</div>
<div id="spRaw4-base">
Original Value: 0
</div>
</div>
</div>
</td>
</tr>
</table>
</div>
</div>
<br>
<div class="center">
<button class = "button" id = "update-button" onclick = "updateStats()">
Update Stats
</button>
<button class = "button" id = "show-id-button" onclick = "toggleID()">
Edit IDs
</button>
</div>
<div class = "build hide-container-grid" style="display: none;">
<div class = "center build-helmet" id = "build-helmet" style = "grid-item-1">
<div class = "center" id = "build-helmet-stats"></div>

View file

@ -1,4 +1,4 @@
const DB_VERSION = 21;
const DB_VERSION = 22;
// @See https://github.com/mdn/learning-area/blob/master/javascript/apis/client-side-storage/indexeddb/video-store/index.js
let db;

View file

@ -29,7 +29,14 @@ div {
grid-template-rows: min-content min-content auto;
}
.skillpoints, .id-edit1 {
.id-edit1 {
}
.idLabel, .skpLabel, .idDesc, .skpDesc {
font-size: 80%;
}
.skillpoints {
padding: 0% 4% 2%;
display: grid;
grid-template-columns: repeat(5, 1fr);
@ -37,14 +44,6 @@ div {
grid-auto-rows: minmax(60px, auto);
}
.id-edit2 {
padding: 0% 4% 2%;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 5px;
grid-auto-rows: minmax(60px, auto);
}
.powder-specials{
padding: 0% 4% 2%;
display: grid;
@ -127,6 +126,14 @@ table.center{
margin: 2px 2%;
padding: 0;
}
.powderLeft {
margin: 2px 0% 2px 2%;
padding: 0;
}
.powderRight {
margin: 2px 2% 2px 0%;
padding: 0;
}
.space {
margin-right: 5px;
}

View file

@ -9,7 +9,7 @@
top: 0;
}
.summary {
padding: 2% 4% 4%;
padding: 2% 2% 0%;
display: grid;
grid-template-columns: 1.25fr 1.25fr 1fr 1fr;
grid-auto-columns: minmax(200px, auto);
@ -44,9 +44,11 @@
}
.iteminput {
width: 15vw;
}
.skpInput, .idInput {
width: 90%;
height: 7vw;
max-height: 30px;
}