added buffable information
This commit is contained in:
parent
117a71018e
commit
8cc402f5fd
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"no-chestpiece": {
|
"no-chestpiece": {
|
||||||
"id": "no-chestpieces",
|
"id": "no-chestpiece",
|
||||||
"name": "No chestpiece",
|
"name": "No chestpiece",
|
||||||
"defenses": [0, 0, 0, 0, 0, 0, 0, 0],
|
"defenses": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
"resistances": [0, 0, 0, 0],
|
"resistances": [0, 0, 0, 0],
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"no-talisman": { "id": "no-talismans", "name": "No talisman" },
|
"no-talisman": { "id": "no-talisman", "name": "No talisman" },
|
||||||
"crimson-amber-medallion": {
|
"crimson-amber-medallion": {
|
||||||
"id": "crimson-amber-medallion",
|
"id": "crimson-amber-medallion",
|
||||||
"name": "Crimson Amber Medallion",
|
"name": "Crimson Amber Medallion",
|
||||||
|
File diff suppressed because it is too large
Load Diff
327
src/planner.html
327
src/planner.html
@ -1,21 +1,22 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<!-- metadata -->
|
<!-- metadata -->
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8" />
|
||||||
<meta name="language" content="english">
|
<meta name="language" content="english" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
|
||||||
<link rel="stylesheet" href="style/main.css">
|
<link rel="stylesheet" href="style/main.css" />
|
||||||
|
|
||||||
<!-- title and description -->
|
<!-- title and description -->
|
||||||
<title>Erdtree - Build Planner</title>
|
<title>Erdtree - Build Planner</title>
|
||||||
<meta name="description" content="">
|
<meta name="description" content="" />
|
||||||
<meta property="og:title" content="Erdtree Build Planner">
|
<meta property="og:title" content="Erdtree Build Planner" />
|
||||||
<meta property="og:description"
|
<meta
|
||||||
content="Erdtree - Elden Ring build planner, armor optimizer, weapon finder and more!">
|
property="og:description"
|
||||||
<meta property="og:url" content="https://erdtree.palmoe.dk">
|
content="Erdtree - Elden Ring build planner, armor optimizer, weapon finder and more!"
|
||||||
|
/>
|
||||||
|
<meta property="og:url" content="https://erdtree.palmoe.dk" />
|
||||||
|
|
||||||
<!-- scripts -->
|
<!-- scripts -->
|
||||||
<script src="script/planner.js"></script>
|
<script src="script/planner.js"></script>
|
||||||
@ -35,86 +36,21 @@
|
|||||||
|
|
||||||
<main>
|
<main>
|
||||||
<div class="app">
|
<div class="app">
|
||||||
<!-- equipment -->
|
<!-- Class -->
|
||||||
<article>
|
<article style="flex-basis: 20%; max-width: 320px">
|
||||||
<ul>
|
<div>
|
||||||
<li><b>Equipment</b></li>
|
<b>Character</b>
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<b>Weapons</b>
|
|
||||||
<a href="weapons.html">Optimize</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div class="select">
|
|
||||||
<select id="left-hand-1" name="weapons" onchange="update()"></select>
|
|
||||||
<select id="left-hand-2" name="weapons" onchange="update()"></select>
|
|
||||||
<select id="left-hand-3" name="weapons" onchange="update()"></select>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="select">
|
|
||||||
<select id="right-hand-1" name="weapons" onchange="update()"></select>
|
<hr />
|
||||||
<select id="right-hand-2" name="weapons" onchange="update()"></select>
|
<div>
|
||||||
<select id="right-hand-3" name="weapons" onchange="update()"></select>
|
<b>Name</b>
|
||||||
|
<input id="name" />
|
||||||
</div>
|
</div>
|
||||||
</li>
|
|
||||||
|
|
||||||
<hr>
|
<div>
|
||||||
|
|
||||||
<li>
|
|
||||||
<b>Armor</b>
|
|
||||||
<a href="armor.html">Optimize</a>
|
|
||||||
</li>
|
|
||||||
<li class="select">
|
|
||||||
<select id="helmet" name="helmets" onchange="update()"></select>
|
|
||||||
<select id="chestpiece" name="chestpieces" onchange="update()"></select>
|
|
||||||
<select id="gauntlets" name="gauntlets" onchange="update()"></select>
|
|
||||||
<select id="leggings" name="leggings" onchange="update()"></select>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<li><b>Talismans</b></li>
|
|
||||||
<li class="select">
|
|
||||||
<select id="talisman-1" name="talismans" onchange="update()"></select>
|
|
||||||
<select id="talisman-2" name="talismans" onchange="update()"></select>
|
|
||||||
<select id="talisman-3" name="talismans" onchange="update()"></select>
|
|
||||||
<select id="talisman-4" name="talismans" onchange="update()"></select>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<li><b>Spells</b></li>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<details>
|
|
||||||
<summary>Click to show slots</summary>
|
|
||||||
</details>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
<li>
|
|
||||||
<div></div>
|
|
||||||
<button onclick="reset('equipment')">Reset</button>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</article>
|
|
||||||
|
|
||||||
<!-- stats -->
|
|
||||||
<article>
|
|
||||||
<ul>
|
|
||||||
<li>
|
|
||||||
<b>Statistics</b>
|
|
||||||
<a href="optimizer.html">Optimize Class</a> <!-- TODO -->
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<hr>
|
|
||||||
|
|
||||||
<li>
|
|
||||||
<label for="class"><b>Starting Class</b></label>
|
<label for="class"><b>Starting Class</b></label>
|
||||||
<div>
|
<div>
|
||||||
|
|
||||||
<select id="class" onchange="update()">
|
<select id="class" onchange="update()">
|
||||||
<option id="wretch" selected>Wretch</option>
|
<option id="wretch" selected>Wretch</option>
|
||||||
<option id="vagabond">Vagabond</option>
|
<option id="vagabond">Vagabond</option>
|
||||||
@ -128,66 +64,201 @@
|
|||||||
<option id="confessor">Confessor</option>
|
<option id="confessor">Confessor</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</div>
|
||||||
|
<div>
|
||||||
<li>
|
<label><b>Level</b></label>
|
||||||
<label for="level"><b>Level</b></label>
|
<span>
|
||||||
<input type="number" id="level" class="stat" disabled>
|
<input type="number" id="final-level" disabled />
|
||||||
</li>
|
</span>
|
||||||
|
</div>
|
||||||
<li><br></li>
|
<div>
|
||||||
|
|
||||||
<li>
|
|
||||||
<label for="vigor">Vigor</label>
|
<label for="vigor">Vigor</label>
|
||||||
<input type="number" id="vigor" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="vigor" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
<label for="mind">Mind</label>
|
<label for="mind">Mind</label>
|
||||||
<input type="number" id="mind" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="mind" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
<label for="endurance">Endurance</label>
|
<label for="endurance">Endurance</label>
|
||||||
<input type="number" id="endurance" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="endurance" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
<label for="strength">Strength</label>
|
<label for="strength">Strength</label>
|
||||||
<input type="number" id="strength" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="strength" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
<label for="dexterity">Dexterity</label>
|
<label for="dexterity">Dexterity</label>
|
||||||
<input type="number" id="dexterity" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="dexterity" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
<label for="intelligence">Intelligence</label>
|
<label for="intelligence">Intelligence</label>
|
||||||
<input type="number" id="intelligence" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="intelligence" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
<label for="faith">Faith</label>
|
<label for="faith">Faith</label>
|
||||||
<input type="number" id="faith" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="faith" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
<label for="arcane">Arcane</label>
|
<label for="arcane">Arcane</label>
|
||||||
<input type="number" id="arcane" class="stat" name="stat">
|
<span>
|
||||||
</li>
|
<input type="number" id="arcane" name="final" min="0" max="99" onchange="update()" />
|
||||||
<li>
|
</span>
|
||||||
<div></div>
|
</div>
|
||||||
<button onclick="reset('statistics')">Reset</button>
|
<hr />
|
||||||
</li>
|
<b>Import</b>
|
||||||
</ul>
|
<div>
|
||||||
|
<input type="file" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<b>Export</b>
|
||||||
|
<div>
|
||||||
|
<button>Export</button>
|
||||||
|
</div>
|
||||||
</article>
|
</article>
|
||||||
|
|
||||||
<!-- misc. -->
|
<!-- equipment -->
|
||||||
<article>
|
<article style="flex-basis: 20%; max-width: 450px">
|
||||||
<ul></ul>
|
<b>Equipment</b>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<b>Weapons & Shields</b>
|
||||||
|
|
||||||
|
<template id="picker">
|
||||||
|
<div class="popup">
|
||||||
|
<input type="image" src="/resource/icon/standard.jpg" height="20px" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
<select id="lh1" name="weapon" onchange="update()"></select>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<img id="lh1-img" src="/resource/icon/standard.jpg" width="20px" />
|
||||||
|
<select id="lh1-infusion" name="infusion"></select>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
<select id="rh1" name="weapon" onchange="update()"></select>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<select id="rh1-infusion" name="infusion"></select>
|
||||||
|
<img id="rh1-img" src="/resource/icon/standard.jpg" width="20px" />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
<select id="lh2" name="weapon" onchange="update()"></select>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<img id="lh2-img" src="/resource/icon/standard.jpg" width="20px" />
|
||||||
|
<select id="lh2-infusion" name="infusion"></select>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
<select id="rh2" name="weapon" onchange="update()"></select>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<select id="rh2-infusion" name="infusion"></select>
|
||||||
|
<img id="rh2-img" src="/resource/icon/standard.jpg" width="20px" />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
<select id="lh3" name="weapon" onchange="update()"></select>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<img id="lh3-img" src="/resource/icon/standard.jpg" width="20px" />
|
||||||
|
<select id="lh3-infusion" name="infusion"></select>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
<select id="rh3" name="weapon" onchange="update()"></select>
|
||||||
|
</span>
|
||||||
|
<span>
|
||||||
|
<select id="rh3-infusion" name="infusion"></select>
|
||||||
|
<img id="rh3-img" src="/resource/icon/standard.jpg" width="20px" />
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<b>Armor</b>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label>Helmet</label>
|
||||||
|
<select id="helmet" name="armor" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Chestpiece</label>
|
||||||
|
<select id="chestpiece" name="armor" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Gauntlets</label>
|
||||||
|
<select id="gauntlets" name="armor" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Leggings</label>
|
||||||
|
<select id="leggings" name="armor" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<li><b>Talismans</b></li>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<label>Talisman #1</label>
|
||||||
|
<select id="talisman-1" name="talisman" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Talisman #2</label>
|
||||||
|
<select id="talisman-2" name="talisman" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Talisman #3</label>
|
||||||
|
<select id="talisman-3" name="talisman" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<label>Talisman #4</label>
|
||||||
|
<select id="talisman-4" name="talisman" onchange="update()"></select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr />
|
||||||
|
<li><b>Spells</b></li>
|
||||||
</article>
|
</article>
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<h5>Erdtree Planner (<a href="https://git.palmoe.dk/vodofrede/erdtree">available under BSD-3-Clause license</a>)
|
<h5>
|
||||||
|
Erdtree Planner (<a href="https://git.palmoe.dk/vodofrede/erdtree"
|
||||||
|
>available under BSD-3-Clause license</a
|
||||||
|
>)
|
||||||
</h5>
|
</h5>
|
||||||
<h5>Copyright 2022 vodofrede</h5>
|
<h5>Copyright 2022 vodofrede</h5>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,96 +1,130 @@
|
|||||||
const HELMETS = fetch("/data/armor/helmets.json")
|
let HELMETS;
|
||||||
.then(response => response.json())
|
let CHESTPIECES;
|
||||||
.catch(error => console.log(error));
|
let GAUNTLETS;
|
||||||
const CHESTPIECES = fetch("/data/armor/chestpieces.json")
|
let LEGGINGS;
|
||||||
.then(response => response.json())
|
let WEAPONS;
|
||||||
.catch(error => console.log(error));
|
let TALISMANS;
|
||||||
const GAUNTLETS = fetch("/data/armor/gauntlets.json")
|
let EQUIPMENT;
|
||||||
.then(response => response.json())
|
let CLASSES;
|
||||||
.catch(error => console.log(error));
|
let INFUSIONS;
|
||||||
const LEGGINGS = fetch("/data/armor/leggings.json")
|
|
||||||
.then(response => response.json())
|
|
||||||
.catch(error => console.log(error));
|
|
||||||
const WEAPONS = fetch("/data/weapons.json")
|
|
||||||
.then(response => response.json())
|
|
||||||
.catch(error => console.log(error));
|
|
||||||
const TALISMANS = fetch("/data/talismans.json")
|
|
||||||
.then(response => response.json())
|
|
||||||
.catch(error => console.log(error));
|
|
||||||
|
|
||||||
const CLASSES = fetch("/data/classes.json")
|
let startingClass = "wretch";
|
||||||
.then(response => response.json())
|
let popupActive = false;
|
||||||
.catch(error => console.log(error));
|
|
||||||
|
|
||||||
let startingClass;
|
let populate = (select, items) => items.forEach(item => select.options.add(new Option(item.name, item.id)));
|
||||||
|
let selected = select => select.options[select.selectedIndex];
|
||||||
|
|
||||||
async function init() {
|
async function init() {
|
||||||
await populate();
|
HELMETS = await fetch("/data/helmets.json").then(response => response.json());
|
||||||
await update();
|
CHESTPIECES = await fetch("/data/chestpieces.json").then(response => response.json());
|
||||||
}
|
GAUNTLETS = await fetch("/data/gauntlets.json").then(response => response.json());
|
||||||
|
LEGGINGS = await fetch("/data/leggings.json").then(response => response.json());
|
||||||
|
TALISMANS = await fetch("/data/talismans.json").then(response => response.json());
|
||||||
|
WEAPONS = await fetch("/data/weapons.json").then(response => response.json());
|
||||||
|
EQUIPMENT = { ...HELMETS, ...CHESTPIECES, ...GAUNTLETS, ...LEGGINGS, ...TALISMANS, ...WEAPONS };
|
||||||
|
|
||||||
async function update() {
|
CLASSES = await fetch("/data/classes.json").then(response => response.json());
|
||||||
// get current chosen starting class
|
INFUSIONS = await fetch("/data/infusions.json").then(response => response.json());
|
||||||
let classSelect = document.getElementById("class");
|
|
||||||
let currentClass = await (CLASSES.then(classes => {
|
|
||||||
return classes.find(c => c.id == classSelect.options[classSelect.selectedIndex].id);
|
|
||||||
}));
|
|
||||||
|
|
||||||
// get virtual stats
|
// populate selects
|
||||||
let items = await itemStats();
|
[...document.getElementsByName("weapon")].forEach(select => {
|
||||||
console.log(items);
|
populate(select, Object.values(WEAPONS));
|
||||||
|
});
|
||||||
// update statistics screen
|
populate(document.getElementById("helmet"), Object.values(HELMETS));
|
||||||
let prevClass = startingClass ?? currentClass;
|
populate(document.getElementById("chestpiece"), Object.values(CHESTPIECES));
|
||||||
[...document.getElementsByName("stat")].forEach((stat, i) => {
|
populate(document.getElementById("gauntlets"), Object.values(GAUNTLETS));
|
||||||
stat.value = ((stat.value == "" || (stat.value - parseInt(items[i])) == prevClass.stats[i]) ? currentClass.stats[i] + parseInt(items[i]) : parseInt(stat.value) + parseInt(items[i]));
|
populate(document.getElementById("leggings"), Object.values(LEGGINGS));
|
||||||
|
[...document.getElementsByName("talisman")].forEach(select => {
|
||||||
|
populate(select, Object.values(TALISMANS));
|
||||||
});
|
});
|
||||||
document.getElementById("level").value = [...document.getElementsByName("stat")]
|
|
||||||
.reduce((total, stat) => total + parseInt(stat.value), 0) - 79;
|
|
||||||
startingClass = currentClass;
|
|
||||||
}
|
|
||||||
|
|
||||||
function reset(area) {
|
// override ctrl/cmd+s
|
||||||
switch (area) {
|
document.addEventListener("keydown", event => {
|
||||||
case "equipment":
|
if (!(event.isComposing || event.code === "229")) {
|
||||||
let types = ["helmets", "chestpieces", "gauntlets", "leggings", "weapons", "talismans"];
|
if ((event.ctrlKey || event.metaKey) && event.key == "s") {
|
||||||
types.forEach(ty => {
|
event.preventDefault();
|
||||||
let selects = [...document.getElementsByName(ty)];
|
exportBuild();
|
||||||
selects.forEach(select => {
|
|
||||||
select.selectedIndex = 0;
|
|
||||||
})
|
|
||||||
})
|
|
||||||
break;
|
|
||||||
case "statistics":
|
|
||||||
document.getElementById("class").selectedIndex = 0;
|
|
||||||
[...document.getElementsByName("stat")].forEach(stat => stat.value = 10);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
async function itemStats() {
|
function update() {
|
||||||
let helmet = document.getElementById("helmet");
|
// get current chosen starting class
|
||||||
let talismans = document.getElementsByName("talismans");
|
let classSelect = document.getElementById("class");
|
||||||
let ids = [helmet, ...talismans]
|
let currentClass = CLASSES.find(c => c.id == classSelect.options[classSelect.selectedIndex].id);
|
||||||
.map(elem => elem.options[elem.selectedIndex].value)
|
|
||||||
.filter(id => !id.startsWith("no-"));
|
|
||||||
let relevant = [await HELMETS, await TALISMANS].flat().filter(item => ids.includes(item.id));
|
|
||||||
|
|
||||||
return relevant.reduce((total, item) => total.map((stat, i) => stat += item.stats[i]), [0, 0, 0, 0, 0, 0, 0, 0]);
|
// item stats
|
||||||
}
|
let itemStats = [...document.getElementsByName("armor"), ...document.getElementsByName("talisman")].reduce(
|
||||||
|
(stats, select) => {
|
||||||
|
let item = EQUIPMENT[select.options[select.selectedIndex].value];
|
||||||
|
return stats.map((stat, i) => (item.stats != undefined ? stat + item.stats[i] : stat));
|
||||||
|
},
|
||||||
|
[0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
);
|
||||||
|
|
||||||
async function populate() {
|
if (currentClass != startingClass) {
|
||||||
Promise.all([HELMETS, CHESTPIECES, GAUNTLETS, LEGGINGS, WEAPONS, TALISMANS]).then(itemTypes => {
|
// reset stats if other class was chosen
|
||||||
itemTypes.forEach((itemType, i) => {
|
[...document.getElementsByName("final")].forEach((el, i) => {
|
||||||
let ty = ["helmets", "chestpieces", "gauntlets", "leggings", "weapons", "talismans"][i];
|
el.value = Math.min(currentClass.stats[i] + itemStats[i], 99);
|
||||||
let selects = [...document.getElementsByName(ty)];
|
|
||||||
selects.forEach(select => {
|
|
||||||
itemType.forEach(item => {
|
|
||||||
select.options.add(new Option(item.name, item.id));
|
|
||||||
})
|
|
||||||
})
|
|
||||||
});
|
});
|
||||||
|
startingClass = currentClass;
|
||||||
|
} else {
|
||||||
|
// clamp stat ranges
|
||||||
|
[...document.getElementsByName("final")].forEach((el, i) => {
|
||||||
|
el.value = Math.min(Math.max(currentClass.stats[i] + itemStats[i], el.value), 99);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// show only available infusions for each weapon
|
||||||
|
let weapons = [...document.getElementsByName("weapon")]
|
||||||
|
.map(sl => sl.options[sl.selectedIndex].value)
|
||||||
|
.map(id => WEAPONS[id]);
|
||||||
|
let infusions = [...document.getElementsByName("infusion")];
|
||||||
|
infusions
|
||||||
|
.map((inf, i) => [weapons[i], inf])
|
||||||
|
.forEach(([weapon, infusionSelect]) => {
|
||||||
|
infusionSelect.length = 0;
|
||||||
|
Object.keys(weapon.infusions).forEach(infusionId => {
|
||||||
|
let infusion = INFUSIONS[infusionId];
|
||||||
|
infusionSelect.options.add(new Option(infusion.name, infusion.id));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// update infusion icons
|
||||||
|
[...document.getElementsByName("infusion")].forEach(select => {});
|
||||||
|
|
||||||
|
// calculate total level
|
||||||
|
// document.getElementById("final-level").value = currentClass.level + additional.reduce((sum, n) => sum + n);
|
||||||
|
}
|
||||||
|
|
||||||
|
function importBuild(buildString) {}
|
||||||
|
|
||||||
|
function exportBuild() {
|
||||||
|
let classSelect = document.getElementById("class");
|
||||||
|
let itemStats = [...document.getElementsByName("armor"), ...document.getElementsByName("talisman")].reduce(
|
||||||
|
(stats, select) => {
|
||||||
|
let item = EQUIPMENT[selected(select).value];
|
||||||
|
return stats.map((stat, i) => (item.stats != undefined ? stat + item.stats[i] : stat));
|
||||||
|
},
|
||||||
|
[0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
);
|
||||||
|
console.log(itemStats);
|
||||||
|
let build = {
|
||||||
|
name: document.getElementById("name").value,
|
||||||
|
class: classSelect.options[classSelect.selectedIndex].value,
|
||||||
|
stats: [...document.getElementsByName("final")].map((stat, i) => stat.value - itemStats[i]),
|
||||||
|
weapons: [...document.getElementsByName("weapon")].map(selected).map(w => w.value),
|
||||||
|
infusions: [...document.getElementsByName("infusion")].map(selected).map(i => i.value),
|
||||||
|
armor: [...document.getElementsByName("armor")].map(selected).map(a => a.value),
|
||||||
|
talismans: [...document.getElementsByName("talisman")].map(selected).map(t => t.value),
|
||||||
|
};
|
||||||
|
|
||||||
|
let file = new Blob([JSON.stringify(build, null, 4)], { type: "text/plain" });
|
||||||
|
let link = document.createElement("a");
|
||||||
|
link.href = URL.createObjectURL(file);
|
||||||
|
link.download = "build-" + (build.name || build.class.toLowerCase()) + ".json";
|
||||||
|
link.click();
|
||||||
|
}
|
||||||
|
@ -51,8 +51,8 @@ html {
|
|||||||
*::before,
|
*::before,
|
||||||
*::after {
|
*::after {
|
||||||
box-sizing: inherit;
|
box-sizing: inherit;
|
||||||
margin: 0;
|
margin: 0px;
|
||||||
padding: 0;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
body > * {
|
body > * {
|
||||||
@ -98,6 +98,12 @@ hr {
|
|||||||
margin-bottom: 0.3rem;
|
margin-bottom: 0.3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
gap: 0.2rem;
|
||||||
|
}
|
||||||
|
|
||||||
/* nav */
|
/* nav */
|
||||||
nav {
|
nav {
|
||||||
/* position */
|
/* position */
|
||||||
@ -215,16 +221,19 @@ label {
|
|||||||
}
|
}
|
||||||
|
|
||||||
input {
|
input {
|
||||||
|
width: auto;
|
||||||
margin: 0rem 0rem 0rem 0rem;
|
margin: 0rem 0rem 0rem 0rem;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
select {
|
select {
|
||||||
|
width: 100%;
|
||||||
margin: 0rem 0rem 0.2rem 0rem;
|
margin: 0rem 0rem 0.2rem 0rem;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
select * {
|
select option {
|
||||||
|
overflow: hidden;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,6 +267,7 @@ select * {
|
|||||||
.app {
|
.app {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row wrap;
|
flex-flow: row wrap;
|
||||||
|
justify-content: center;
|
||||||
gap: 30px;
|
gap: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
607
src/weapon.html
607
src/weapon.html
@ -1,5 +1,6 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<!-- metadata -->
|
<!-- metadata -->
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
@ -8,19 +9,16 @@
|
|||||||
<link rel="stylesheet" href="style/main.css" />
|
<link rel="stylesheet" href="style/main.css" />
|
||||||
<!-- title and description -->
|
<!-- title and description -->
|
||||||
<title>Erdtree - Weapon Finder</title>
|
<title>Erdtree - Weapon Finder</title>
|
||||||
<meta
|
<meta name="description"
|
||||||
name="description"
|
content="Erdtree - Elden Ring build planner, armor optimizer, weapon finder and more!" />
|
||||||
content="Erdtree - Elden Ring build planner, armor optimizer, weapon finder and more!"
|
|
||||||
/>
|
|
||||||
<meta property="og:title" content="Erdtree Build Planner" />
|
<meta property="og:title" content="Erdtree Build Planner" />
|
||||||
<meta
|
<meta property="og:description"
|
||||||
property="og:description"
|
content="Erdtree - Elden Ring build planner, armor optimizer, weapon finder and more!" />
|
||||||
content="Erdtree - Elden Ring build planner, armor optimizer, weapon finder and more!"
|
|
||||||
/>
|
|
||||||
<meta property="og:url" content="https://erdtree.palmoe.dk" />
|
<meta property="og:url" content="https://erdtree.palmoe.dk" />
|
||||||
<!-- scripts -->
|
<!-- scripts -->
|
||||||
<script src="/script/weapon.js"></script>
|
<script src="/script/weapon.js"></script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body onload="init();">
|
<body onload="init();">
|
||||||
<nav>
|
<nav>
|
||||||
<h1><a href="/">Elden Ring Build Planner</a></h1>
|
<h1><a href="/">Elden Ring Build Planner</a></h1>
|
||||||
@ -39,224 +37,170 @@
|
|||||||
<hr />
|
<hr />
|
||||||
<div>
|
<div>
|
||||||
<label for="str">Strength</label>
|
<label for="str">Strength</label>
|
||||||
<input id="str" type="number" name="stat" value="10" min="0" max="99" onchange="update()" />
|
<input id="str" type="number" name="stat" value="10" min="0"
|
||||||
|
max="99" onchange="update()" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="dex">Dexterity</label>
|
<label for="dex">Dexterity</label>
|
||||||
<input id="dex" type="number" name="stat" value="10" min="0" max="99" onchange="update()" />
|
<input id="dex" type="number" name="stat" value="10" min="0"
|
||||||
|
max="99" onchange="update()" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="int">Intelligence</label>
|
<label for="int">Intelligence</label>
|
||||||
<input id="int" type="number" name="stat" value="10" min="0" max="99" onchange="update()" />
|
<input id="int" type="number" name="stat" value="10" min="0"
|
||||||
|
max="99" onchange="update()" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="fth">Faith</label>
|
<label for="fth">Faith</label>
|
||||||
<input id="fth" type="number" name="stat" value="10" min="0" max="99" onchange="update()" />
|
<input id="fth" type="number" name="stat" value="10" min="0"
|
||||||
|
max="99" onchange="update()" />
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<label for="arc">Arcane</label>
|
<label for="arc">Arcane</label>
|
||||||
<input id="arc" type="number" name="stat" value="10" min="0" max="99" onchange="update()" />
|
<input id="arc" type="number" name="stat" value="10" min="0"
|
||||||
|
max="99" onchange="update()" />
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input type="radio" id="max-upgrade" name="upgrade-level" onchange="update()" checked />
|
<input type="radio" id="max-upgrade"
|
||||||
|
name="upgrade-level" onchange="update()" checked />
|
||||||
<label for="max-upgrade">Reinforced (+10 or +25)</label>
|
<label for="max-upgrade">Reinforced (+10 or +25)</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input type="radio" id="min-upgrade" name="upgrade-level" onchange="update()" />
|
<input type="radio" id="min-upgrade"
|
||||||
|
name="upgrade-level" onchange="update()" />
|
||||||
<label for="min-upgrade">Not Reinforced (+0)</label>
|
<label for="min-upgrade">Not Reinforced (+0)</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input id="requirements" type="checkbox" onchange="update()" checked />
|
<input id="requirements" type="checkbox"
|
||||||
|
onchange="update()" checked />
|
||||||
<label for="requirements">Requirements Met</label>
|
<label for="requirements">Requirements Met</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input id="2handing" type="checkbox" onchange="update()" />
|
<input id="2handing" type="checkbox"
|
||||||
|
onchange="update()" />
|
||||||
<label for="2handing">2-handing (1.5x strength)</label>
|
<label for="2handing">2-handing (1.5x strength)</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<span>
|
||||||
|
<input type="checkbox" id="buffable"
|
||||||
|
onchange="update()" />
|
||||||
|
<label for="buffable">Only Buffable</label>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
<div>
|
<div>
|
||||||
<b>Infusions</b>
|
<b>Infusions</b>
|
||||||
<span>
|
<span>
|
||||||
<button onclick="setAll('infusion', true)">Any</button>
|
<button onclick="setAll('infusion', true)">Any</button>
|
||||||
<button onclick="setAll('infusion', false)">None</button>
|
<button
|
||||||
|
onclick="setAll('infusion', false)">None</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="standard-infusion" value="standard"
|
||||||
id="standard-infusion"
|
type="checkbox" name="infusion" onchange="update()"
|
||||||
value="standard"
|
checked />
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="standard-infusion">Standard</label>
|
<label for="standard-infusion">Standard</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="heavy-infusion" value="heavy" type="checkbox"
|
||||||
id="heavy-infusion"
|
name="infusion" onchange="update()" checked />
|
||||||
value="heavy"
|
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="heavy-infusion">Heavy</label>
|
<label for="heavy-infusion">Heavy</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="keen-infusion" value="keen" type="checkbox"
|
||||||
id="keen-infusion"
|
name="infusion" onchange="update()" checked />
|
||||||
value="keen"
|
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="keen-infusion">Keen</label>
|
<label for="keen-infusion">Keen</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="quality-infusion" value="quality"
|
||||||
id="quality-infusion"
|
type="checkbox" name="infusion" onchange="update()"
|
||||||
value="quality"
|
checked />
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="quality-infusion">Quality</label>
|
<label for="quality-infusion">Quality</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="fire-infusion" value="fire" type="checkbox"
|
||||||
id="fire-infusion"
|
name="infusion" onchange="update()" checked />
|
||||||
value="fire"
|
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="fire-infusion">Fire</label>
|
<label for="fire-infusion">Fire</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="flame-art-infusion" value="flame-art"
|
||||||
id="flame-art-infusion"
|
type="checkbox" name="infusion" onchange="update()"
|
||||||
value="flame-art"
|
checked />
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="flame-art-infusion">Flame Art</label>
|
<label for="flame-art-infusion">Flame Art</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="lightning-infusion" value="lightning"
|
||||||
id="lightning-infusion"
|
type="checkbox" name="infusion" onchange="update()"
|
||||||
value="lightning"
|
checked />
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="lightning-infusion">Lightning</label>
|
<label for="lightning-infusion">Lightning</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="sacred-infusion" value="sacred"
|
||||||
id="sacred-infusion"
|
type="checkbox" name="infusion" onchange="update()"
|
||||||
value="sacred"
|
checked />
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="sacred-infusion">Sacred</label>
|
<label for="sacred-infusion">Sacred</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="magic-infusion" value="magic" type="checkbox"
|
||||||
id="magic-infusion"
|
name="infusion" onchange="update()" checked />
|
||||||
value="magic"
|
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="magic-infusion">Magic</label>
|
<label for="magic-infusion">Magic</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="cold-infusion" value="cold" type="checkbox"
|
||||||
id="cold-infusion"
|
name="infusion" onchange="update()" checked />
|
||||||
value="cold"
|
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="cold-infusion">Cold</label>
|
<label for="cold-infusion">Cold</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="poison-infusion" value="poison"
|
||||||
id="poison-infusion"
|
type="checkbox" name="infusion" onchange="update()"
|
||||||
value="poison"
|
checked />
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="poison-infusion">Poison</label>
|
<label for="poison-infusion">Poison</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="blood-infusion" value="blood" type="checkbox"
|
||||||
id="blood-infusion"
|
name="infusion" onchange="update()" checked />
|
||||||
value="blood"
|
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="blood-infusion">Blood</label>
|
<label for="blood-infusion">Blood</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input id="occult-infusion" value="occult"
|
||||||
id="occult-infusion"
|
type="checkbox" name="infusion" onchange="update()"
|
||||||
value="occult"
|
checked />
|
||||||
type="checkbox"
|
|
||||||
name="infusion"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="occult-infusion">Occult</label>
|
<label for="occult-infusion">Occult</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -265,31 +209,36 @@
|
|||||||
<b>Damage Types</b>
|
<b>Damage Types</b>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input id="physical-type" type="checkbox" name="damage-type" disabled />
|
<input id="physical-type" type="checkbox"
|
||||||
|
name="damage-type" disabled />
|
||||||
<label for="physical-type">Physical Damage</label>
|
<label for="physical-type">Physical Damage</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input id="magic-type" type="checkbox" name="damage-type" disabled />
|
<input id="magic-type" type="checkbox"
|
||||||
|
name="damage-type" disabled />
|
||||||
<label for="magic-type">Magic Damage</label>
|
<label for="magic-type">Magic Damage</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input id="fire-type" type="checkbox" name="damage-type" disabled />
|
<input id="fire-type" type="checkbox" name="damage-type"
|
||||||
|
disabled />
|
||||||
<label for="fire-type">Fire Damage</label>
|
<label for="fire-type">Fire Damage</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input id="lightning-type" type="checkbox" name="damage-type" disabled />
|
<input id="lightning-type" type="checkbox"
|
||||||
|
name="damage-type" disabled />
|
||||||
<label for="lightning-type">Lightning Damage</label>
|
<label for="lightning-type">Lightning Damage</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input id="holy-type" type="checkbox" name="damage-type" disabled />
|
<input id="holy-type" type="checkbox" name="damage-type"
|
||||||
|
disabled />
|
||||||
<label for="holy-type">Holy Damage</label>
|
<label for="holy-type">Holy Damage</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -327,143 +276,96 @@
|
|||||||
<b style="user-select: none">Weapon</b>
|
<b style="user-select: none">Weapon</b>
|
||||||
</th>
|
</th>
|
||||||
<th>
|
<th>
|
||||||
<b
|
<b onclick="changeSort('max')"
|
||||||
onclick="changeSort('max')"
|
|
||||||
onmouseover="this.style.cursor = 'pointer'"
|
onmouseover="this.style.cursor = 'pointer'"
|
||||||
style="user-select: none"
|
style="user-select: none">
|
||||||
>
|
|
||||||
Max
|
Max
|
||||||
</b>
|
</b>
|
||||||
</th>
|
</th>
|
||||||
<th id="standard" name="damage-result">
|
<th id="standard" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/standard.jpg"
|
src="/resource/icon/standard.jpg"
|
||||||
width="25px"
|
height="25px" title="Standard"
|
||||||
title="Standard"
|
|
||||||
alt="Standard"
|
alt="Standard"
|
||||||
onclick="changeSort('standard')"
|
onclick="changeSort('standard')" />
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="heavy" name="damage-result">
|
<th id="heavy" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/heavy.jpg"
|
src="/resource/icon/heavy.jpg"
|
||||||
width="25px"
|
height="25px" title="Heavy" alt="Heavy"
|
||||||
title="Heavy"
|
onclick="changeSort('heavy')" />
|
||||||
alt="Heavy"
|
|
||||||
onclick="changeSort('heavy')"
|
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="keen" name="damage-result">
|
<th id="keen" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/keen.jpg"
|
src="/resource/icon/keen.jpg"
|
||||||
width="25px"
|
height="25px" title="Keen" alt="Keen"
|
||||||
title="Keen"
|
onclick="changeSort('keen')" />
|
||||||
alt="Keen"
|
|
||||||
onclick="changeSort('keen')"
|
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="quality" name="damage-result">
|
<th id="quality" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/quality.jpg"
|
src="/resource/icon/quality.jpg"
|
||||||
width="25px"
|
height="25px" title="Quality"
|
||||||
title="Quality"
|
|
||||||
alt="Quality"
|
alt="Quality"
|
||||||
onclick="changeSort('quality')"
|
onclick="changeSort('quality')" />
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="fire" name="damage-result">
|
<th id="fire" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/fire.jpg"
|
src="/resource/icon/fire.jpg"
|
||||||
width="25px"
|
height="25px" title="Fire" alt="Fire"
|
||||||
title="Fire"
|
onclick="changeSort('fire')" />
|
||||||
alt="Fire"
|
|
||||||
onclick="changeSort('fire')"
|
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="flame-art" name="damage-result">
|
<th id="flame-art" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/flame-art.jpg"
|
src="/resource/icon/flame-art.jpg"
|
||||||
width="25px"
|
height="25px" title="Flame Art"
|
||||||
title="Flame Art"
|
|
||||||
alt="Flame Art"
|
alt="Flame Art"
|
||||||
onclick="changeSort('flame-art')"
|
onclick="changeSort('flame-art')" />
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="lightning" name="damage-result">
|
<th id="lightning" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/lightning.jpg"
|
src="/resource/icon/lightning.jpg"
|
||||||
width="25px"
|
height="25px" title="Lightning"
|
||||||
title="Lightning"
|
|
||||||
alt="Lightning"
|
alt="Lightning"
|
||||||
onclick="changeSort('lightning')"
|
onclick="changeSort('lightning')" />
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="sacred" name="damage-result">
|
<th id="sacred" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/sacred.jpg"
|
src="/resource/icon/sacred.jpg"
|
||||||
width="25px"
|
height="25px" title="Sacred"
|
||||||
title="Sacred"
|
|
||||||
alt="Sacred"
|
alt="Sacred"
|
||||||
onclick="changeSort('sacred')"
|
onclick="changeSort('sacred')" />
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="magic" name="damage-result">
|
<th id="magic" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/magic.jpg"
|
src="/resource/icon/magic.jpg"
|
||||||
width="25px"
|
height="25px" title="Magic" alt="Magic"
|
||||||
title="Magic"
|
onclick="changeSort('magic')" />
|
||||||
alt="Magic"
|
|
||||||
onclick="changeSort('magic')"
|
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="cold" name="damage-result">
|
<th id="cold" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/cold.jpg"
|
src="/resource/icon/cold.jpg"
|
||||||
width="25px"
|
height="25px" title="Cold" alt="Cold"
|
||||||
title="Cold"
|
onclick="changeSort('cold')" />
|
||||||
alt="Cold"
|
|
||||||
onclick="changeSort('cold')"
|
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="poison" name="damage-result">
|
<th id="poison" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/poison.jpg"
|
src="/resource/icon/poison.jpg"
|
||||||
width="25px"
|
height="25px" title="Poison"
|
||||||
title="Poison"
|
|
||||||
alt="Poison"
|
alt="Poison"
|
||||||
onclick="changeSort('poison')"
|
onclick="changeSort('poison')" />
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="blood" name="damage-result">
|
<th id="blood" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/blood.jpg"
|
src="/resource/icon/blood.jpg"
|
||||||
width="25px"
|
height="25px" title="Blood" alt="Blood"
|
||||||
title="Blood"
|
onclick="changeSort('blood')" />
|
||||||
alt="Blood"
|
|
||||||
onclick="changeSort('blood')"
|
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
<th id="occult" name="damage-result">
|
<th id="occult" name="damage-result">
|
||||||
<input
|
<input type="image"
|
||||||
type="image"
|
|
||||||
src="/resource/icon/occult.jpg"
|
src="/resource/icon/occult.jpg"
|
||||||
width="25px"
|
height="25px" title="Occult"
|
||||||
title="Occult"
|
|
||||||
alt="Occult"
|
alt="Occult"
|
||||||
onclick="changeSort('occult')"
|
onclick="changeSort('occult')" />
|
||||||
/>
|
|
||||||
</th>
|
</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@ -477,10 +379,10 @@
|
|||||||
<b>Categories</b>
|
<b>Categories</b>
|
||||||
<span>
|
<span>
|
||||||
<button onclick="setAll('category', true)">Any</button>
|
<button onclick="setAll('category', true)">Any</button>
|
||||||
<button onclick="setAll('category', false)">None</button>
|
<button
|
||||||
|
onclick="setAll('category', false)">None</button>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
<div>
|
<div>
|
||||||
<b>Weapons</b>
|
<b>Weapons</b>
|
||||||
@ -491,313 +393,177 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="dagger" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="dagger"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="dagger">Daggers</label>
|
<label for="dagger">Daggers</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="straight-sword"
|
||||||
type="checkbox"
|
name="category" class="weapon" onchange="update()"
|
||||||
id="straight-sword"
|
checked />
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="straight-sword">Straight Swords</label>
|
<label for="straight-sword">Straight Swords</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="greatsword" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="greatsword"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="greatsword">Greatswords</label>
|
<label for="greatsword">Greatswords</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="colossal-sword"
|
||||||
type="checkbox"
|
name="category" class="weapon" onchange="update()"
|
||||||
id="colossal-sword"
|
checked />
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="colossal-sword">Colossal Swords</label>
|
<label for="colossal-sword">Colossal Swords</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="thrusting-sword"
|
||||||
type="checkbox"
|
name="category" class="weapon" onchange="update()"
|
||||||
id="thrusting-sword"
|
checked />
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="thrusting-sword">Thrusting Swords</label>
|
<label for="thrusting-sword">Thrusting Swords</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="heavy-thrusting-sword"
|
||||||
type="checkbox"
|
name="category" class="weapon" onchange="update()"
|
||||||
id="heavy-thrusting-sword"
|
checked />
|
||||||
name="category"
|
<label for="heavy-thrusting-sword">Heavy Thrusting
|
||||||
class="weapon"
|
Swords</label>
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="heavy-thrusting-sword">Heavy Thrusting Swords</label>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="curved-sword" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="curved-sword"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="curved-sword">Curved Swords</label>
|
<label for="curved-sword">Curved Swords</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="curved-greatsword"
|
||||||
type="checkbox"
|
name="category" class="weapon" onchange="update()"
|
||||||
id="curved-greatsword"
|
checked />
|
||||||
name="category"
|
<label for="curved-greatsword">Curved
|
||||||
class="weapon"
|
Greatswords</label>
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="curved-greatsword">Curved Greatswords</label>
|
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="katana" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="katana"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="katana">Katanas</label>
|
<label for="katana">Katanas</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="twinblade" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="twinblade"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="twinblade">Twinblades</label>
|
<label for="twinblade">Twinblades</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="hammer" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="hammer"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="hammer">Hammers</label>
|
<label for="hammer">Hammers</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="great-hammer" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="great-hammer"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="great-hammer">Great Hammers</label>
|
<label for="great-hammer">Great Hammers</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="flail" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="flail"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="flail">Flails</label>
|
<label for="flail">Flails</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="axe" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="axe"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="axe">Axes</label>
|
<label for="axe">Axes</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="greataxe" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="greataxe"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="greataxe">Greataxes</label>
|
<label for="greataxe">Greataxes</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="spear" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="spear"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="spear">Spears</label>
|
<label for="spear">Spears</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="great-spear" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="great-spear"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="great-spear">Great Spears</label>
|
<label for="great-spear">Great Spears</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="halberd" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="halberd"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="halberd">Halberds</label>
|
<label for="halberd">Halberds</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="scythe" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="scythe"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="scythe">Scythes</label>
|
<label for="scythe">Scythes</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="whip" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="whip"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="whip">Whips</label>
|
<label for="whip">Whips</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="fist" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="fist"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="fist">Fists</label>
|
<label for="fist">Fists</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="claw" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="claw"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="claw">Claws</label>
|
<label for="claw">Claws</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="colossal-weapon"
|
||||||
type="checkbox"
|
name="category" class="weapon" onchange="update()"
|
||||||
id="colossal-weapon"
|
checked />
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="colossal-weapon">Colossal Weapons</label>
|
<label for="colossal-weapon">Colossal Weapons</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input
|
<input type="checkbox" id="torch" name="category"
|
||||||
type="checkbox"
|
class="weapon" onchange="update()" checked />
|
||||||
id="torch"
|
|
||||||
name="category"
|
|
||||||
class="weapon"
|
|
||||||
onchange="update()"
|
|
||||||
checked
|
|
||||||
/>
|
|
||||||
<label for="torch">Torches</label>
|
<label for="torch">Torches</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -841,19 +607,22 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input type="checkbox" id="small-shield" name="category" />
|
<input type="checkbox" id="small-shield"
|
||||||
|
name="category" />
|
||||||
<label for="small-shield">Small Shields</label>
|
<label for="small-shield">Small Shields</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input type="checkbox" id="medium-shield" name="category" />
|
<input type="checkbox" id="medium-shield"
|
||||||
|
name="category" />
|
||||||
<label for="medium-shield">Medium Shields</label>
|
<label for="medium-shield">Medium Shields</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input type="checkbox" id="greatshield" name="category" />
|
<input type="checkbox" id="greatshield"
|
||||||
|
name="category" />
|
||||||
<label for="greatshield">Greatshields</label>
|
<label for="greatshield">Greatshields</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -863,13 +632,15 @@
|
|||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input type="checkbox" id="glintstone-staff" name="category" />
|
<input type="checkbox" id="glintstone-staff"
|
||||||
|
name="category" />
|
||||||
<label for="glintstone-staff">Glintstone Staves</label>
|
<label for="glintstone-staff">Glintstone Staves</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span>
|
<span>
|
||||||
<input type="checkbox" id="sacred-seal" name="category" />
|
<input type="checkbox" id="sacred-seal"
|
||||||
|
name="category" />
|
||||||
<label for="sacred-seal">Sacred Seals</label>
|
<label for="sacred-seal">Sacred Seals</label>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -879,10 +650,12 @@
|
|||||||
<footer>
|
<footer>
|
||||||
<h5>
|
<h5>
|
||||||
Erdtree Planner (
|
Erdtree Planner (
|
||||||
<a href="https://git.palmoe.dk/vodofrede/erdtree">available under BSD-3-Clause license</a>
|
<a href="https://git.palmoe.dk/vodofrede/erdtree">available under
|
||||||
|
BSD-3-Clause license</a>
|
||||||
)
|
)
|
||||||
</h5>
|
</h5>
|
||||||
<h5>Copyright 2022 vodofrede</h5>
|
<h5>Copyright 2022 vodofrede</h5>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
Loading…
Reference in New Issue
Block a user