Compare commits
10 commits
d7fd7c735b
...
f628ee0d62
Author | SHA1 | Date | |
---|---|---|---|
f628ee0d62 | |||
3e2e22a1f0 | |||
5e603392a0 | |||
35ab32ead5 | |||
bddcba1f82 | |||
3900057c68 | |||
5c105f1791 | |||
0c57b8ccef | |||
3aebfb43a1 | |||
c0d0556d3d |
11 changed files with 963 additions and 5136 deletions
9
.gitignore
vendored
9
.gitignore
vendored
|
@ -1,7 +1,4 @@
|
||||||
# /in
|
/input/*
|
||||||
# /out
|
/output/*
|
||||||
|
|
||||||
**/EquipParamProtector.csv
|
/__pycache__
|
||||||
**/EquipParamWeapon.csv
|
|
||||||
**/EquipParamAccessory.csv
|
|
||||||
**/SpEffectParam.csv
|
|
33
NOTES.md
33
NOTES.md
|
@ -1,33 +0,0 @@
|
||||||
# Notes
|
|
||||||
|
|
||||||
## Armor
|
|
||||||
|
|
||||||
- Weight: `EquipParamProtector.csv`
|
|
||||||
- Poise: `EquipParamProtector.csv` - in-game poise value is (poise \* 1000)
|
|
||||||
- Resistance: `EquipParamProtector.csv`
|
|
||||||
- Defenses: `EquipParamProtector.csv` - defense is (1 - absorption) \* 100
|
|
||||||
- Stats: ???
|
|
||||||
|
|
||||||
## Classes
|
|
||||||
|
|
||||||
- Starting: `CharaInitParam.csv`
|
|
||||||
- Softcaps: `CalcCorrectGraph.csv`
|
|
||||||
|
|
||||||
## Weapons
|
|
||||||
|
|
||||||
- Damage: `EquipParamWeapon.csv`
|
|
||||||
- Scaling: `EquipParamWeapon.csv`
|
|
||||||
- Upgrading: `ReinforceParamWeapon.csv`
|
|
||||||
- Ash of War: `EquipParamGem.csv`
|
|
||||||
|
|
||||||
## Talismans
|
|
||||||
|
|
||||||
- Weight: `EquipParamAccessory.csv`
|
|
||||||
- Stats: `SpEffectParam.csv`
|
|
||||||
- Effects: `SpEffectParam.csv`
|
|
||||||
|
|
||||||
## Magic
|
|
||||||
|
|
||||||
- FP cost: `Magic.csv`
|
|
||||||
- Stam. cost: `Magic.csv`
|
|
||||||
- Reqs.: `Magic.csv`
|
|
19
README.md
Normal file
19
README.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# Notes
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
### Regulation Extraction
|
||||||
|
|
||||||
|
1. [UXM](https://cdn.discordapp.com/attachments/529900741998149643/955650210711892029/UXM_2.4.ER-1.03.1-fix01.zip) to extract the game files.
|
||||||
|
2. [Yapped (Rune Bear)](https://github.com/vawser/Yapped-Rune-Bear) for converting regulation to `.csv`.
|
||||||
|
|
||||||
|
## Required Files
|
||||||
|
|
||||||
|
- `AttackElementCorrectParam.csv`
|
||||||
|
- `CalcCorrectGraph.csv`
|
||||||
|
- `CharaInitParam.csv`
|
||||||
|
- `EquipParamAccessory.csv`
|
||||||
|
- `EquipParamProtector.csv`
|
||||||
|
- `EquipParamWeapon.csv`
|
||||||
|
- `ReinforceWeaponParam.csv`
|
||||||
|
- `SpEffectParam.csv`
|
|
@ -1,78 +1,321 @@
|
||||||
import csv
|
import csv
|
||||||
import json
|
import json
|
||||||
|
import os
|
||||||
|
|
||||||
IGNORED = [
|
from corrections import IGNORED, IGNORED_WEAPON_INFUSIONS, MISSING, HELMET_STATS
|
||||||
"",
|
|
||||||
"head",
|
INFUSIONS = [
|
||||||
"body",
|
"Standard ",
|
||||||
"arms",
|
"Heavy ",
|
||||||
"legs",
|
"Keen ",
|
||||||
"travel-hairstyle",
|
"Quality ",
|
||||||
"millicents-robe",
|
"Fire ",
|
||||||
"millicents-gloves",
|
"Flame Art ",
|
||||||
"millicents-boots",
|
"Lightning ",
|
||||||
"millicents-tunic",
|
"Sacred ",
|
||||||
"millicents-robe",
|
"Magic ",
|
||||||
"braves-corc-circlet",
|
"Cold ",
|
||||||
"braves-battlewear",
|
"Poison ",
|
||||||
"braves-battlewear-altered",
|
"Blood ",
|
||||||
"braves-bracer",
|
"Occult ",
|
||||||
"braves-legwraps",
|
|
||||||
"braves-leather-helm",
|
|
||||||
"ragged-hat",
|
|
||||||
"ragged-hat-altered",
|
|
||||||
"ragged-armor",
|
|
||||||
"ragged-armor-altered",
|
|
||||||
"ragged-gloves",
|
|
||||||
"ragged-loincloth",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
helmets = []
|
WEAPON_CATEGORIES = {
|
||||||
chestpieces = []
|
1: "dagger",
|
||||||
gauntlets = []
|
2: "straight-sword",
|
||||||
leggings = []
|
3: "greatsword",
|
||||||
talismans = []
|
4: "colossal-sword",
|
||||||
|
5: "thrusting-sword",
|
||||||
|
6: "heavy-thrusting-sword",
|
||||||
|
7: "curved-sword",
|
||||||
|
8: "curved-greatsword",
|
||||||
|
9: "katana",
|
||||||
|
10: "twinblade",
|
||||||
|
11: "hammer",
|
||||||
|
12: "great-hammer",
|
||||||
|
13: "flail",
|
||||||
|
14: "axe",
|
||||||
|
15: "greataxe",
|
||||||
|
16: "spear",
|
||||||
|
17: "great-spear",
|
||||||
|
18: "halberd",
|
||||||
|
19: "scythe",
|
||||||
|
20: "whip",
|
||||||
|
21: "fist",
|
||||||
|
22: "claw",
|
||||||
|
23: "colossal-weapon",
|
||||||
|
24: "torch",
|
||||||
|
30: "small-shield",
|
||||||
|
31: "medium-shield",
|
||||||
|
32: "greatshield",
|
||||||
|
33: "glintstone-staff",
|
||||||
|
34: "sacred-seal",
|
||||||
|
40: "light-bow",
|
||||||
|
41: "bow",
|
||||||
|
42: "greatbow",
|
||||||
|
43: "crossbow",
|
||||||
|
44: "ballista",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|
||||||
|
global helmets
|
||||||
|
helmets = {}
|
||||||
|
global chestpieces
|
||||||
|
chestpieces = {}
|
||||||
|
global gauntlets
|
||||||
|
gauntlets = {}
|
||||||
|
global leggings
|
||||||
|
leggings = {}
|
||||||
|
global talismans
|
||||||
|
talismans = {}
|
||||||
|
global classes
|
||||||
|
classes = {}
|
||||||
|
global weapons
|
||||||
|
weapons = {}
|
||||||
|
global infusions
|
||||||
|
infusions = {}
|
||||||
|
global calculations
|
||||||
|
calculations = {}
|
||||||
|
|
||||||
# armors
|
# armors
|
||||||
with open("input/EquipParamProtector.csv") as af:
|
with open("input/EquipParamProtector.csv") as af:
|
||||||
reader = csv.DictReader(af, delimiter=";")
|
rows = list(csv.DictReader(af, delimiter=";"))
|
||||||
|
|
||||||
for a in reader:
|
for armor in rows:
|
||||||
if not ignored(a):
|
if not ignored(armor):
|
||||||
armor_piece(a)
|
process_armor_piece(armor)
|
||||||
|
|
||||||
# talismans
|
# talismans
|
||||||
with (
|
with (
|
||||||
open("input/EquipParamAccessory.csv") as tf,
|
open("input/EquipParamAccessory.csv") as tf,
|
||||||
open("input/SpEffectParam.csv") as ef,
|
open("input/SpEffectParam.csv") as ef,
|
||||||
):
|
):
|
||||||
effects = list(csv.DictReader(ef, delimiter=";"))
|
|
||||||
reader = list(csv.DictReader(tf, delimiter=";"))
|
|
||||||
|
|
||||||
for t in reader:
|
effects = list(csv.DictReader(ef, delimiter=";"))
|
||||||
if not ignored(t):
|
rows = list(csv.DictReader(tf, delimiter=";"))
|
||||||
talisman(t, effects)
|
|
||||||
|
for talisman in rows:
|
||||||
|
if not ignored(talisman):
|
||||||
|
process_talisman(talisman, effects)
|
||||||
|
|
||||||
|
# classes
|
||||||
|
classes = [
|
||||||
|
{
|
||||||
|
"id": "vagabond",
|
||||||
|
"name": "Vagabond",
|
||||||
|
"level": 9,
|
||||||
|
"stats": [15, 10, 11, 14, 13, 9, 9, 7],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "warrior",
|
||||||
|
"name": "Warrior",
|
||||||
|
"level": 8,
|
||||||
|
"stats": [11, 12, 11, 10, 16, 10, 8, 9],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "hero",
|
||||||
|
"name": "Hero",
|
||||||
|
"level": 7,
|
||||||
|
"stats": [14, 9, 12, 16, 9, 7, 8, 11],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "bandit",
|
||||||
|
"name": "Bandit",
|
||||||
|
"level": 5,
|
||||||
|
"stats": [10, 11, 10, 9, 13, 9, 8, 14],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "astrologer",
|
||||||
|
"name": "Astrologer",
|
||||||
|
"level": 6,
|
||||||
|
"stats": [9, 15, 9, 8, 12, 16, 7, 9],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "prophet",
|
||||||
|
"name": "Prophet",
|
||||||
|
"level": 7,
|
||||||
|
"stats": [10, 14, 8, 11, 10, 7, 16, 10],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "samurai",
|
||||||
|
"name": "Samurai",
|
||||||
|
"level": 9,
|
||||||
|
"stats": [12, 11, 13, 12, 15, 9, 8, 8],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "prisoner",
|
||||||
|
"name": "Prisoner",
|
||||||
|
"level": 9,
|
||||||
|
"stats": [11, 12, 11, 11, 14, 14, 6, 9],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "confessor",
|
||||||
|
"name": "Confessor",
|
||||||
|
"level": 10,
|
||||||
|
"stats": [10, 13, 10, 12, 12, 9, 14, 9],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "wretch",
|
||||||
|
"name": "Wretch",
|
||||||
|
"level": 1,
|
||||||
|
"stats": [10, 10, 10, 10, 10, 10, 10, 10],
|
||||||
|
},
|
||||||
|
]
|
||||||
|
|
||||||
|
# weapons
|
||||||
|
with (
|
||||||
|
open("input/AttackElementCorrectParam.csv") as af,
|
||||||
|
open("input/EquipParamWeapon.csv") as wf,
|
||||||
|
open("input/CalcCorrectGraph.csv") as cf,
|
||||||
|
open("input/SpEffectParam.csv") as sf,
|
||||||
|
):
|
||||||
|
|
||||||
|
rows = list(csv.DictReader(wf, delimiter=";"))
|
||||||
|
rows = [row for row in rows if 1000000 <= int(row["Row ID"]) <= 44010000]
|
||||||
|
|
||||||
|
masks = list(csv.DictReader(af, delimiter=";"))
|
||||||
|
masks = {row["Row ID"]: row for row in masks}
|
||||||
|
|
||||||
|
softcaps = list(csv.DictReader(cf, delimiter=";"))
|
||||||
|
softcaps = {
|
||||||
|
row["Row ID"]: row for row in softcaps if 0 <= int(row["Row ID"]) <= 16
|
||||||
|
}
|
||||||
|
|
||||||
|
effects = list(csv.DictReader(sf, delimiter=";"))
|
||||||
|
effects = {row["Row ID"]: row for row in effects}
|
||||||
|
|
||||||
|
for row in rows:
|
||||||
|
if not ignored(row):
|
||||||
|
process_weapon(row, masks, effects)
|
||||||
|
|
||||||
|
process_damage(softcaps)
|
||||||
|
|
||||||
|
# infusions
|
||||||
|
with open("input/ReinforceParamWeapon.csv") as inf:
|
||||||
|
rows = list(csv.DictReader(inf, delimiter=";"))
|
||||||
|
|
||||||
|
extract_infusions(rows)
|
||||||
|
|
||||||
# add missing items
|
# add missing items
|
||||||
# add_missing_items()
|
helmets.update(MISSING["helmets"])
|
||||||
|
chestpieces.update(MISSING["chestpieces"])
|
||||||
|
gauntlets.update(MISSING["gauntlets"])
|
||||||
|
leggings.update(MISSING["leggings"])
|
||||||
|
|
||||||
# sort all files
|
# sort all files
|
||||||
|
helmets = dict(sorted(helmets.items(), key=lambda item: item[0]))
|
||||||
|
chestpieces = dict(sorted(chestpieces.items(), key=lambda item: item[0]))
|
||||||
|
gauntlets = dict(sorted(gauntlets.items(), key=lambda item: item[0]))
|
||||||
|
leggings = dict(sorted(leggings.items(), key=lambda item: item[0]))
|
||||||
|
classes = sorted(classes, key=lambda item: item["level"])
|
||||||
|
weapons = dict(sorted(weapons.items(), key=lambda item: item[0]))
|
||||||
|
|
||||||
# add none cases (no helmet etc.)
|
# add none cases (no helmet etc.)
|
||||||
|
helmets = {
|
||||||
|
"no-helmet": {
|
||||||
|
"id": "no-helmet",
|
||||||
|
"name": "No helmet",
|
||||||
|
"defenses": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
"resistances": [0, 0, 0, 0],
|
||||||
|
"poise": 0,
|
||||||
|
"weight": 0,
|
||||||
|
},
|
||||||
|
**helmets,
|
||||||
|
}
|
||||||
|
chestpieces = {
|
||||||
|
"no-chestpiece": {
|
||||||
|
"id": "no-chestpiece",
|
||||||
|
"name": "No chestpiece",
|
||||||
|
"defenses": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
"resistances": [0, 0, 0, 0],
|
||||||
|
"poise": 0,
|
||||||
|
"weight": 0,
|
||||||
|
},
|
||||||
|
**chestpieces,
|
||||||
|
}
|
||||||
|
gauntlets = {
|
||||||
|
"no-gauntlets": {
|
||||||
|
"id": "no-gauntlets",
|
||||||
|
"name": "No gauntlets",
|
||||||
|
"defenses": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
"resistances": [0, 0, 0, 0],
|
||||||
|
"poise": 0,
|
||||||
|
"weight": 0,
|
||||||
|
},
|
||||||
|
**gauntlets,
|
||||||
|
}
|
||||||
|
leggings = {
|
||||||
|
"no-leggings": {
|
||||||
|
"id": "no-leggings",
|
||||||
|
"name": "No leggings",
|
||||||
|
"defenses": [0, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
"resistances": [0, 0, 0, 0],
|
||||||
|
"poise": 0,
|
||||||
|
"weight": 0,
|
||||||
|
},
|
||||||
|
**leggings,
|
||||||
|
}
|
||||||
|
talismans = {
|
||||||
|
"no-talisman": {
|
||||||
|
"id": "no-talisman",
|
||||||
|
"name": "No talisman",
|
||||||
|
},
|
||||||
|
**talismans,
|
||||||
|
}
|
||||||
|
weapons = {
|
||||||
|
"unarmed": {
|
||||||
|
"id": "unarmed",
|
||||||
|
"name": "Unarmed",
|
||||||
|
"requirements": [0, 0, 0, 0, 0],
|
||||||
|
"category": "fist",
|
||||||
|
"unique": False,
|
||||||
|
"infusions": {
|
||||||
|
"standard": {
|
||||||
|
"damage": [20, 0, 0, 0, 0],
|
||||||
|
"scaling": [0.5, 0.5, 0.0, 0.0, 0.0],
|
||||||
|
"masks": [
|
||||||
|
[1, 1, 0, 0, 0],
|
||||||
|
[0, 0, 1, 0, 0],
|
||||||
|
[0, 0, 0, 1, 0],
|
||||||
|
[0, 1, 0, 0, 0],
|
||||||
|
[0, 0, 0, 1, 0],
|
||||||
|
],
|
||||||
|
"corrections": ["0", "0", "0", "0", "0"],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
**weapons,
|
||||||
|
}
|
||||||
|
|
||||||
# save to files
|
# save to files
|
||||||
with open("output/helmets.json", "w") as hf:
|
with (
|
||||||
|
open("output/helmets.json", "w") as hf,
|
||||||
|
open("output/chestpieces.json", "w") as cf,
|
||||||
|
open("output/gauntlets.json", "w") as gf,
|
||||||
|
open("output/leggings.json", "w") as lf,
|
||||||
|
open("output/talismans.json", "w") as tf,
|
||||||
|
open("output/classes.json", "w") as scf,
|
||||||
|
open("output/weapons.json", "w") as wf,
|
||||||
|
open("output/infusions.json", "w") as inf,
|
||||||
|
open("output/damage.json", "w") as df,
|
||||||
|
):
|
||||||
json.dump(helmets, hf)
|
json.dump(helmets, hf)
|
||||||
with open("output/chestpieces.json", "w") as cf:
|
|
||||||
json.dump(chestpieces, cf)
|
json.dump(chestpieces, cf)
|
||||||
with open("output/gauntlets.json", "w") as gf:
|
|
||||||
json.dump(gauntlets, gf)
|
json.dump(gauntlets, gf)
|
||||||
with open("output/leggings.json", "w") as lf:
|
|
||||||
json.dump(leggings, lf)
|
json.dump(leggings, lf)
|
||||||
with open("output/talismans.json", "w") as tf:
|
|
||||||
json.dump(talismans, tf)
|
json.dump(talismans, tf)
|
||||||
|
json.dump(classes, scf)
|
||||||
|
json.dump(weapons, wf)
|
||||||
|
json.dump(infusions, inf)
|
||||||
|
json.dump(calculations, df)
|
||||||
|
|
||||||
|
# format output files with prettier
|
||||||
|
if os.system("prettier output --write --tab-width 4") != 0:
|
||||||
|
print(
|
||||||
|
"please install prettier (the code formatting tool) to auto-format the output files after generating"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def ignored(row):
|
def ignored(row):
|
||||||
|
@ -91,11 +334,15 @@ def to_kebab(name):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def armor_piece(row):
|
def process_armor_piece(row):
|
||||||
item = {}
|
item = {}
|
||||||
|
|
||||||
|
id = to_kebab(row["Row Name"])
|
||||||
|
item["id"] = id
|
||||||
item["name"] = row["Row Name"]
|
item["name"] = row["Row Name"]
|
||||||
item["id"] = to_kebab(item["name"])
|
|
||||||
|
if id in HELMET_STATS:
|
||||||
|
item["stats"] = HELMET_STATS[id]
|
||||||
|
|
||||||
item["defenses"] = [
|
item["defenses"] = [
|
||||||
round((1.0 - float(row["Absorption - Physical"])) * 100.0, 2),
|
round((1.0 - float(row["Absorption - Physical"])) * 100.0, 2),
|
||||||
|
@ -115,29 +362,29 @@ def armor_piece(row):
|
||||||
int(row["Resist - Blight"]),
|
int(row["Resist - Blight"]),
|
||||||
]
|
]
|
||||||
|
|
||||||
item["poise"] = round(float(row["Poise"]) * 1000.0, 2)
|
item["poise"] = int(round(float(row["Poise"]) * 1000.0, 2))
|
||||||
item["weight"] = round(float(row["Weight"]), 2)
|
item["weight"] = round(float(row["Weight"]), 2)
|
||||||
|
|
||||||
row_id = int(row["Row ID"])
|
if row["Is Head Equipment"] == "True":
|
||||||
if row_id % 1000 == 0:
|
helmets[id] = item
|
||||||
helmets.append(item)
|
elif row["Is Body Equipment"] == "True":
|
||||||
elif row_id % 1000 == 100:
|
chestpieces[id] = item
|
||||||
chestpieces.append(item)
|
elif row["Is Arm Equipment"] == "True":
|
||||||
elif row_id % 1000 == 200:
|
gauntlets[id] = item
|
||||||
gauntlets.append(item)
|
elif row["Is Leg Equipment"] == "True":
|
||||||
elif row_id % 1000 == 300:
|
leggings[id] = item
|
||||||
leggings.append(item)
|
|
||||||
|
|
||||||
|
|
||||||
def talisman(row, effects):
|
def process_talisman(row, effects):
|
||||||
item = {}
|
item = {}
|
||||||
|
|
||||||
|
id = to_kebab(row["Row Name"])
|
||||||
|
item["id"] = id
|
||||||
item["name"] = row["Row Name"]
|
item["name"] = row["Row Name"]
|
||||||
item["id"] = to_kebab(item["name"])
|
|
||||||
|
|
||||||
item["weight"] = row["Weight"]
|
item["weight"] = row["Weight"]
|
||||||
|
|
||||||
effect_id = row["SpEffect ID 1"]
|
effect_id = row["SpEffect ID [0]"]
|
||||||
for effect in effects:
|
for effect in effects:
|
||||||
if effect["Row ID"] == effect_id:
|
if effect["Row ID"] == effect_id:
|
||||||
item["stats"] = [
|
item["stats"] = [
|
||||||
|
@ -156,16 +403,414 @@ def talisman(row, effects):
|
||||||
float(effect["Max Stamina"]),
|
float(effect["Max Stamina"]),
|
||||||
float(effect["Equip Load %"]),
|
float(effect["Equip Load %"]),
|
||||||
]
|
]
|
||||||
if all(stat == 0.0 for stat in item["stats"]):
|
|
||||||
item.pop("stats")
|
|
||||||
if all(mult == 1.0 for mult in item["multipliers"]):
|
|
||||||
item.pop("multipliers")
|
|
||||||
|
|
||||||
talismans.append(item)
|
if all(stat == 0.0 for stat in item["stats"]):
|
||||||
|
item.pop("stats")
|
||||||
|
if all(mult == 1.0 for mult in item["multipliers"]):
|
||||||
|
item.pop("multipliers")
|
||||||
|
|
||||||
|
talismans[id] = item
|
||||||
|
|
||||||
|
|
||||||
def add_missing_items():
|
def split_weapon_name(name):
|
||||||
raise NotImplementedError
|
infusion = "standard"
|
||||||
|
for other in INFUSIONS:
|
||||||
|
if "Bloody" in name and not to_kebab(name) in IGNORED_WEAPON_INFUSIONS:
|
||||||
|
name = name.replace("Bloody ", "")
|
||||||
|
infusion = "blood"
|
||||||
|
elif "celebrants-cleaver-blades" in to_kebab(name):
|
||||||
|
name = "Celebrant's Cleaver"
|
||||||
|
elif other in name and not to_kebab(name) in IGNORED_WEAPON_INFUSIONS:
|
||||||
|
infusion = other
|
||||||
|
name = name.replace(infusion, "")
|
||||||
|
|
||||||
|
return name.strip().replace(" ", " "), to_kebab(infusion)
|
||||||
|
|
||||||
|
|
||||||
|
def to_mask(str):
|
||||||
|
if str == "True":
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
def process_weapon(row, masks, effects):
|
||||||
|
name, infusion = split_weapon_name(row["Row Name"])
|
||||||
|
id = to_kebab(name)
|
||||||
|
|
||||||
|
damage = [
|
||||||
|
int(row["Damage: Physical"]),
|
||||||
|
int(row["Damage: Magic"]),
|
||||||
|
int(row["Damage: Fire"]),
|
||||||
|
int(row["Damage: Lightning"]),
|
||||||
|
int(row["Damage: Holy"]),
|
||||||
|
]
|
||||||
|
|
||||||
|
scaling = [
|
||||||
|
float(row["Correction: STR"]) / 100.0,
|
||||||
|
float(row["Correction: DEX"]) / 100.0,
|
||||||
|
float(row["Correction: INT"]) / 100.0,
|
||||||
|
float(row["Correction: FTH"]) / 100.0,
|
||||||
|
float(row["Correction: ARC"]) / 100.0,
|
||||||
|
]
|
||||||
|
|
||||||
|
mask_id = row["Attack Element Correct ID"]
|
||||||
|
mask_row = masks[mask_id]
|
||||||
|
|
||||||
|
weapon_masks = [
|
||||||
|
[ # physical
|
||||||
|
to_mask(mask_row["Physical Correction: STR"]),
|
||||||
|
to_mask(mask_row["Physical Correction: DEX"]),
|
||||||
|
to_mask(mask_row["Physical Correction: INT"]),
|
||||||
|
to_mask(mask_row["Physical Correction: FTH"]),
|
||||||
|
to_mask(mask_row["Physical Correction: ARC"]),
|
||||||
|
],
|
||||||
|
[ # magic
|
||||||
|
to_mask(mask_row["Magic Correction: STR"]),
|
||||||
|
to_mask(mask_row["Magic Correction: DEX"]),
|
||||||
|
to_mask(mask_row["Magic Correction: INT"]),
|
||||||
|
to_mask(mask_row["Magic Correction: FTH"]),
|
||||||
|
to_mask(mask_row["Magic Correction: ARC"]),
|
||||||
|
],
|
||||||
|
[ # fire
|
||||||
|
to_mask(mask_row["Fire Correction: STR"]),
|
||||||
|
to_mask(mask_row["Fire Correction: DEX"]),
|
||||||
|
to_mask(mask_row["Fire Correction: INT"]),
|
||||||
|
to_mask(mask_row["Fire Correction: FTH"]),
|
||||||
|
to_mask(mask_row["Fire Correction: ARC"]),
|
||||||
|
],
|
||||||
|
[ # lightning
|
||||||
|
to_mask(mask_row["Lightning Correction: STR"]),
|
||||||
|
to_mask(mask_row["Lightning Correction: DEX"]),
|
||||||
|
to_mask(mask_row["Lightning Correction: INT"]),
|
||||||
|
to_mask(mask_row["Lightning Correction: FTH"]),
|
||||||
|
to_mask(mask_row["Lightning Correction: ARC"]),
|
||||||
|
],
|
||||||
|
[ # holy
|
||||||
|
to_mask(mask_row["Holy Correction: STR"]),
|
||||||
|
to_mask(mask_row["Holy Correction: DEX"]),
|
||||||
|
to_mask(mask_row["Holy Correction: INT"]),
|
||||||
|
to_mask(mask_row["Holy Correction: FTH"]),
|
||||||
|
to_mask(mask_row["Holy Correction: ARC"]),
|
||||||
|
],
|
||||||
|
]
|
||||||
|
|
||||||
|
corrections = [
|
||||||
|
row["Correction Type: Physical"],
|
||||||
|
row["Correction Type: Magic"],
|
||||||
|
row["Correction Type: Fire"],
|
||||||
|
row["Correction Type: Lightning"],
|
||||||
|
row["Correction Type: Holy"],
|
||||||
|
]
|
||||||
|
|
||||||
|
buffable = "True" in row["Is Buffable"]
|
||||||
|
|
||||||
|
# Auxiliary Effects (blood, poison)
|
||||||
|
aux = {}
|
||||||
|
for aux_id in [row["Behavior SpEffect 1"], row["Behavior SpEffect 2"]]:
|
||||||
|
if int(aux_id) != -1 and int(aux_id) > 100000:
|
||||||
|
aux_name = effects[aux_id]["Row Name"]
|
||||||
|
xs = [x for x in range(0, 26)]
|
||||||
|
ys = [effects[str(int(aux_id) + x)] for x in xs]
|
||||||
|
|
||||||
|
if "Hemorrhage" in aux_name:
|
||||||
|
ty = "bleed"
|
||||||
|
ys = [int(y["Inflict Hemorrhage +"]) for y in ys]
|
||||||
|
elif "Frostbite" in aux_name:
|
||||||
|
ty = "frost"
|
||||||
|
ys = [int(y["Inflict Frostbite +"]) for y in ys]
|
||||||
|
elif "Poison" in aux_name:
|
||||||
|
ty = "poison"
|
||||||
|
ys = [int(y["Inflict Poison +"]) for y in ys]
|
||||||
|
elif "Scarlet Rot" in aux_name:
|
||||||
|
ty = "scarlet_rot"
|
||||||
|
ys = [int(y["Inflict Scarlet Rot +"]) for y in ys]
|
||||||
|
elif "Madness" in aux_name:
|
||||||
|
ty = "madness"
|
||||||
|
ys = [int(y["Inflict Madness +"]) for y in ys]
|
||||||
|
elif "Sleep" in aux_name:
|
||||||
|
ty = "sleep"
|
||||||
|
ys = [int(y["Inflict Sleep +"]) for y in ys]
|
||||||
|
elif "Blight" in aux_name:
|
||||||
|
ty = "blight"
|
||||||
|
ys = [int(y["Inflict Blight +"]) for y in ys]
|
||||||
|
aux[ty] = regression(xs, ys)
|
||||||
|
elif int(aux_id) != -1 and int(aux_id) <= 100000:
|
||||||
|
aux_name = effects[aux_id]["Row Name"]
|
||||||
|
if "Hemorrhage" in aux_name:
|
||||||
|
ty = "bleed"
|
||||||
|
base = effects[aux_id]["Inflict Hemorrhage +"]
|
||||||
|
elif "Frostbite" in aux_name:
|
||||||
|
ty = "frost"
|
||||||
|
base = effects[aux_id]["Inflict Frostbite +"]
|
||||||
|
elif "Poison" in aux_name:
|
||||||
|
ty = "poison"
|
||||||
|
base = effects[aux_id]["Inflict Poison +"]
|
||||||
|
elif "Scarlet Rot" in aux_name:
|
||||||
|
ty = "scarlet_rot"
|
||||||
|
base = effects[aux_id]["Inflict Scarlet Rot +"]
|
||||||
|
elif "Madness" in aux_name:
|
||||||
|
ty = "madness"
|
||||||
|
base = effects[aux_id]["Inflict Madness +"]
|
||||||
|
elif "Sleep" in aux_name:
|
||||||
|
ty = "sleep"
|
||||||
|
base = effects[aux_id]["Inflict Sleep +"]
|
||||||
|
elif "Blight" in aux_name:
|
||||||
|
ty = "blight"
|
||||||
|
base = effects[aux_id]["Inflict Blight +"]
|
||||||
|
aux[ty] = [0.0, aux_name]
|
||||||
|
|
||||||
|
if id in weapons:
|
||||||
|
if not id in IGNORED_WEAPON_INFUSIONS:
|
||||||
|
weapon = weapons[id]
|
||||||
|
weapon["infusions"][infusion] = {
|
||||||
|
"damage": damage,
|
||||||
|
"scaling": scaling,
|
||||||
|
"aux": aux,
|
||||||
|
"masks": weapon_masks,
|
||||||
|
"corrections": corrections,
|
||||||
|
"buffable": buffable,
|
||||||
|
}
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
weapon = {}
|
||||||
|
|
||||||
|
weapon["id"] = id
|
||||||
|
weapon["name"] = name
|
||||||
|
|
||||||
|
weapon["requirements"] = [
|
||||||
|
int(row["Requirement: STR"]),
|
||||||
|
int(row["Requirement: DEX"]),
|
||||||
|
int(row["Requirement: INT"]),
|
||||||
|
int(row["Requirement: FTH"]),
|
||||||
|
int(row["Requirement: ARC"]),
|
||||||
|
]
|
||||||
|
|
||||||
|
weapon["category"] = WEAPON_CATEGORIES[int(row["Row ID"]) // 1000000]
|
||||||
|
|
||||||
|
if int(row["Reinforcement Material Set ID"]) == 2200:
|
||||||
|
weapon["unique"] = True
|
||||||
|
else:
|
||||||
|
weapon["unique"] = False
|
||||||
|
|
||||||
|
weapon["infusions"] = {}
|
||||||
|
weapon["infusions"][infusion] = {
|
||||||
|
"damage": damage,
|
||||||
|
"scaling": scaling,
|
||||||
|
"aux": aux,
|
||||||
|
"masks": weapon_masks,
|
||||||
|
"corrections": corrections,
|
||||||
|
"buffable": buffable,
|
||||||
|
}
|
||||||
|
|
||||||
|
weapons[id] = weapon
|
||||||
|
|
||||||
|
|
||||||
|
def regression(xs, ys):
|
||||||
|
# least-squares sum regression
|
||||||
|
n = len(xs)
|
||||||
|
xy = sum([x * y for x, y in zip(xs, ys)]) # sum of all x * y
|
||||||
|
xsq = sum([x * x for x in xs]) # sum of all squared xs
|
||||||
|
|
||||||
|
a = (n * xy - sum(xs) * sum(ys)) / (n * xsq - sum(xs) ** 2)
|
||||||
|
b = ys[0]
|
||||||
|
|
||||||
|
return round(a, 5), b
|
||||||
|
|
||||||
|
|
||||||
|
def extract_infusions(rows):
|
||||||
|
for i, ty in enumerate(INFUSIONS):
|
||||||
|
infusion = {}
|
||||||
|
id = to_kebab(ty)
|
||||||
|
|
||||||
|
infusion["id"] = id
|
||||||
|
infusion["name"] = ty.strip()
|
||||||
|
|
||||||
|
relevant = [row for row in rows[0 + i + i * 25 : 26 + i + i * 25]]
|
||||||
|
|
||||||
|
xs = [x for x in range(0, 26)]
|
||||||
|
|
||||||
|
# damage & upgrade
|
||||||
|
physical = [float(relevant[i]["Damage %: Physical"]) for i in range(0, 26)]
|
||||||
|
magic = [float(relevant[i]["Damage %: Magic"]) for i in range(0, 26)]
|
||||||
|
fire = [float(relevant[i]["Damage %: Fire"]) for i in range(0, 26)]
|
||||||
|
lightning = [float(relevant[i]["Damage %: Lightning"]) for i in range(0, 26)]
|
||||||
|
holy = [float(relevant[i]["Damage %: Holy"]) for i in range(0, 26)]
|
||||||
|
|
||||||
|
physical_upg, physical_dmg = regression(xs, physical)
|
||||||
|
magic_upg, magic_dmg = regression(xs, magic)
|
||||||
|
fire_upg, fire_dmg = regression(xs, fire)
|
||||||
|
lightning_upg, lightning_dmg = regression(xs, lightning)
|
||||||
|
holy_upg, holy_dmg = regression(xs, holy)
|
||||||
|
|
||||||
|
infusion["damage"] = [
|
||||||
|
physical_dmg,
|
||||||
|
magic_dmg,
|
||||||
|
fire_dmg,
|
||||||
|
lightning_dmg,
|
||||||
|
holy_dmg,
|
||||||
|
]
|
||||||
|
infusion["upgrade"] = [
|
||||||
|
physical_upg,
|
||||||
|
magic_upg,
|
||||||
|
fire_upg,
|
||||||
|
lightning_upg,
|
||||||
|
holy_upg,
|
||||||
|
]
|
||||||
|
|
||||||
|
# scaling
|
||||||
|
strength = [float(relevant[i]["Correction %: STR"]) for i in range(0, 26)]
|
||||||
|
dexterity = [float(relevant[i]["Correction %: DEX"]) for i in range(0, 26)]
|
||||||
|
intelligence = [float(relevant[i]["Correction %: INT"]) for i in range(0, 26)]
|
||||||
|
faith = [float(relevant[i]["Correction %: FTH"]) for i in range(0, 26)]
|
||||||
|
arcane = [float(relevant[i]["Correction %: ARC"]) for i in range(0, 26)]
|
||||||
|
|
||||||
|
str_growth, str_scaling = regression(xs, strength)
|
||||||
|
dex_growth, dex_scaling = regression(xs, dexterity)
|
||||||
|
int_growth, int_scaling = regression(xs, intelligence)
|
||||||
|
fth_growth, fth_scaling = regression(xs, faith)
|
||||||
|
arc_growth, arc_scaling = regression(xs, arcane)
|
||||||
|
|
||||||
|
infusion["scaling"] = [
|
||||||
|
str_scaling,
|
||||||
|
dex_scaling,
|
||||||
|
int_scaling,
|
||||||
|
fth_scaling,
|
||||||
|
arc_scaling,
|
||||||
|
]
|
||||||
|
infusion["growth"] = [
|
||||||
|
str_growth,
|
||||||
|
dex_growth,
|
||||||
|
int_growth,
|
||||||
|
fth_growth,
|
||||||
|
arc_growth,
|
||||||
|
]
|
||||||
|
|
||||||
|
infusions[id] = infusion
|
||||||
|
|
||||||
|
|
||||||
|
def process_damage(caps):
|
||||||
|
for row in caps.values():
|
||||||
|
calculation = {}
|
||||||
|
|
||||||
|
id = row["Row ID"]
|
||||||
|
calculation["id"] = id
|
||||||
|
|
||||||
|
calculation["softcaps"] = [
|
||||||
|
[ # physical
|
||||||
|
int(row["Stat Max 0"]),
|
||||||
|
int(row["Stat Max 1"]),
|
||||||
|
int(row["Stat Max 2"]),
|
||||||
|
int(row["Stat Max 3"]),
|
||||||
|
int(row["Stat Max 4"]),
|
||||||
|
],
|
||||||
|
[ # magic
|
||||||
|
int(row["Stat Max 0"]),
|
||||||
|
int(row["Stat Max 1"]),
|
||||||
|
int(row["Stat Max 2"]),
|
||||||
|
int(row["Stat Max 3"]),
|
||||||
|
int(row["Stat Max 4"]),
|
||||||
|
],
|
||||||
|
[ # fire
|
||||||
|
int(row["Stat Max 0"]),
|
||||||
|
int(row["Stat Max 1"]),
|
||||||
|
int(row["Stat Max 2"]),
|
||||||
|
int(row["Stat Max 3"]),
|
||||||
|
int(row["Stat Max 4"]),
|
||||||
|
],
|
||||||
|
[ # lightning
|
||||||
|
int(row["Stat Max 0"]),
|
||||||
|
int(row["Stat Max 1"]),
|
||||||
|
int(row["Stat Max 2"]),
|
||||||
|
int(row["Stat Max 3"]),
|
||||||
|
int(row["Stat Max 4"]),
|
||||||
|
],
|
||||||
|
[ # holy
|
||||||
|
int(row["Stat Max 0"]),
|
||||||
|
int(row["Stat Max 1"]),
|
||||||
|
int(row["Stat Max 2"]),
|
||||||
|
int(row["Stat Max 3"]),
|
||||||
|
int(row["Stat Max 4"]),
|
||||||
|
],
|
||||||
|
]
|
||||||
|
|
||||||
|
calculation["growth"] = [
|
||||||
|
[
|
||||||
|
int(row["Grow 0"]),
|
||||||
|
int(row["Grow 1"]),
|
||||||
|
int(row["Grow 2"]),
|
||||||
|
int(row["Grow 3"]),
|
||||||
|
int(row["Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
int(row["Grow 0"]),
|
||||||
|
int(row["Grow 1"]),
|
||||||
|
int(row["Grow 2"]),
|
||||||
|
int(row["Grow 3"]),
|
||||||
|
int(row["Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
int(row["Grow 0"]),
|
||||||
|
int(row["Grow 1"]),
|
||||||
|
int(row["Grow 2"]),
|
||||||
|
int(row["Grow 3"]),
|
||||||
|
int(row["Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
int(row["Grow 0"]),
|
||||||
|
int(row["Grow 1"]),
|
||||||
|
int(row["Grow 2"]),
|
||||||
|
int(row["Grow 3"]),
|
||||||
|
int(row["Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
int(row["Grow 0"]),
|
||||||
|
int(row["Grow 1"]),
|
||||||
|
int(row["Grow 2"]),
|
||||||
|
int(row["Grow 3"]),
|
||||||
|
int(row["Grow 4"]),
|
||||||
|
],
|
||||||
|
]
|
||||||
|
|
||||||
|
calculation["adjustments"] = [
|
||||||
|
[
|
||||||
|
float(row["Adjustment Point - Grow 0"]),
|
||||||
|
float(row["Adjustment Point - Grow 1"]),
|
||||||
|
float(row["Adjustment Point - Grow 2"]),
|
||||||
|
float(row["Adjustment Point - Grow 3"]),
|
||||||
|
float(row["Adjustment Point - Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
float(row["Adjustment Point - Grow 0"]),
|
||||||
|
float(row["Adjustment Point - Grow 1"]),
|
||||||
|
float(row["Adjustment Point - Grow 2"]),
|
||||||
|
float(row["Adjustment Point - Grow 3"]),
|
||||||
|
float(row["Adjustment Point - Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
float(row["Adjustment Point - Grow 0"]),
|
||||||
|
float(row["Adjustment Point - Grow 1"]),
|
||||||
|
float(row["Adjustment Point - Grow 2"]),
|
||||||
|
float(row["Adjustment Point - Grow 3"]),
|
||||||
|
float(row["Adjustment Point - Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
float(row["Adjustment Point - Grow 0"]),
|
||||||
|
float(row["Adjustment Point - Grow 1"]),
|
||||||
|
float(row["Adjustment Point - Grow 2"]),
|
||||||
|
float(row["Adjustment Point - Grow 3"]),
|
||||||
|
float(row["Adjustment Point - Grow 4"]),
|
||||||
|
],
|
||||||
|
[
|
||||||
|
float(row["Adjustment Point - Grow 0"]),
|
||||||
|
float(row["Adjustment Point - Grow 1"]),
|
||||||
|
float(row["Adjustment Point - Grow 2"]),
|
||||||
|
float(row["Adjustment Point - Grow 3"]),
|
||||||
|
float(row["Adjustment Point - Grow 4"]),
|
||||||
|
],
|
||||||
|
]
|
||||||
|
|
||||||
|
calculations[id] = calculation
|
||||||
|
|
||||||
|
|
||||||
main()
|
main()
|
||||||
|
|
170
corrections.py
Normal file
170
corrections.py
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
# dont add these items to the output
|
||||||
|
IGNORED = [
|
||||||
|
"",
|
||||||
|
"head",
|
||||||
|
"body",
|
||||||
|
"arms",
|
||||||
|
"legs",
|
||||||
|
"travel-hairstyle",
|
||||||
|
"millicents-robe",
|
||||||
|
"millicents-gloves",
|
||||||
|
"millicents-boots",
|
||||||
|
"millicents-tunic",
|
||||||
|
"millicents-robe",
|
||||||
|
"braves-cord-circlet",
|
||||||
|
"braves-battlewear",
|
||||||
|
"braves-battlewear-altered",
|
||||||
|
"braves-bracer",
|
||||||
|
"braves-legwraps",
|
||||||
|
"braves-leather-helm",
|
||||||
|
"ragged-hat",
|
||||||
|
"ragged-hat-altered",
|
||||||
|
"ragged-armor",
|
||||||
|
"ragged-armor-altered",
|
||||||
|
"ragged-gloves",
|
||||||
|
"ragged-loincloth",
|
||||||
|
"deathbed-smalls",
|
||||||
|
# these items are wrong in the param files
|
||||||
|
"ash-of-war-scarab",
|
||||||
|
"sanguine-noble-hood",
|
||||||
|
"sanguine-noble-robe",
|
||||||
|
"sanguine-noble-bracelets",
|
||||||
|
"sanguine-noble-trousers",
|
||||||
|
"fias-robe",
|
||||||
|
"fias-robe-altered",
|
||||||
|
"deathbed-dress",
|
||||||
|
"rotten-duelist-greaves",
|
||||||
|
]
|
||||||
|
|
||||||
|
# these items are either missing or wrong in the param files
|
||||||
|
MISSING = {
|
||||||
|
"helmets": {
|
||||||
|
"ash-of-war-scarab": {
|
||||||
|
"name": "Ash-of-War Scarab",
|
||||||
|
"defenses": [-5.8, -5.6, -5.8, -5.8, -4.9, -4.9, -4.9, -5.1],
|
||||||
|
"resistances": [42, 22, 27, 26],
|
||||||
|
"poise": 2,
|
||||||
|
"weight": 5.1,
|
||||||
|
},
|
||||||
|
"godskin-noble-hood": {
|
||||||
|
"name": "Godskin Noble Hood",
|
||||||
|
"defenses": [1.4, 2.8, 1.8, 1.4, 4.5, 4, 4.2, 4.8],
|
||||||
|
"resistances": [16, 10, 27, 29],
|
||||||
|
"poise": 1,
|
||||||
|
"weight": 1.7,
|
||||||
|
},
|
||||||
|
"sanguine-noble-hood": {
|
||||||
|
"name": "Sanguine Noble Hood",
|
||||||
|
"defenses": [1.4, 0.9, 0.9, 0.9, 4.6, 3.8, 4.5, 4.6],
|
||||||
|
"resistances": [18, 5, 29, 27],
|
||||||
|
"poise": 0,
|
||||||
|
"weight": 1.4,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"chestpieces": {
|
||||||
|
"godskin-noble-robe": {
|
||||||
|
"name": "Godskin Noble Robe",
|
||||||
|
"defenses": [6.1, 9.5, 6.7, 6.1, 13, 12.4, 12.6, 14.1],
|
||||||
|
"resistances": [46, 25, 76, 83],
|
||||||
|
"poise": 5,
|
||||||
|
"weight": 6.3,
|
||||||
|
},
|
||||||
|
"sanguine-noble-robe": {
|
||||||
|
"name": "Sanguine Noble Robe",
|
||||||
|
"defenses": [6.1, 5.3, 5.3, 5.3, 13.3, 11.9, 13.0, 13.5],
|
||||||
|
"resistances": [50, 21, 83, 76],
|
||||||
|
"poise": 2,
|
||||||
|
"weight": 5.1,
|
||||||
|
},
|
||||||
|
"fias-robe": {
|
||||||
|
"name": "Fia's Robe",
|
||||||
|
"defenses": [5.3, 6.1, 5.3, 5.3, 12.6, 12.4, 12.6, 13],
|
||||||
|
"resistances": [46, 21, 76, 108],
|
||||||
|
"poise": 2,
|
||||||
|
"weight": 5.1,
|
||||||
|
},
|
||||||
|
"fias-robe": {
|
||||||
|
"name": "Fia's Robe",
|
||||||
|
"defenses": [5.3, 6.1, 5.3, 5.3, 12.6, 12.4, 12.6, 13.0],
|
||||||
|
"resistances": [46, 21, 76, 108],
|
||||||
|
"poise": 2,
|
||||||
|
"weight": 5.1,
|
||||||
|
},
|
||||||
|
"fias-robe-altered": {
|
||||||
|
"name": "Fia's Robe (Altered)",
|
||||||
|
"defenses": [2.7, 4.2, 2.7, 2.7, 11.9, 11.4, 11.9, 12.6],
|
||||||
|
"resistances": [34, 10, 57, 93],
|
||||||
|
"poise": 0,
|
||||||
|
"weight": 3.2,
|
||||||
|
},
|
||||||
|
"deathbed-dress": {
|
||||||
|
"id": "deathbed-dress",
|
||||||
|
"name": "Deathbed Dress",
|
||||||
|
"defenses": [0.6, 2.7, 0.6, 0.6, 11.9, 11.4, 11.9, 12.4],
|
||||||
|
"resistances": [38, 11, 63, 107],
|
||||||
|
"poise": 1,
|
||||||
|
"weight": 3.2,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"gauntlets": {
|
||||||
|
"godskin-noble-bracelets": {
|
||||||
|
"name": "Godskin Noble Bracelets",
|
||||||
|
"defenses": [1.3, 2.1, 1.5, 1.3, 3.2, 2.9, 3.1, 3.4],
|
||||||
|
"resistances": [14, 8, 24, 25],
|
||||||
|
"poise": 1,
|
||||||
|
"weight": 1.7,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
"leggings": {
|
||||||
|
"godskin-noble-trousers": {
|
||||||
|
"name": "Godskin Noble Trousers",
|
||||||
|
"defenses": [2.3, 4.5, 3, 2.3, 7.2, 6.5, 6.8, 7.7],
|
||||||
|
"resistances": [24, 14, 39, 41],
|
||||||
|
"poise": 1,
|
||||||
|
"weight": 2.5,
|
||||||
|
},
|
||||||
|
"rotten-duelist-greaves": {
|
||||||
|
"id": "rotten-duelist-greaves",
|
||||||
|
"name": "Rotten Duelist Greaves",
|
||||||
|
"defenses": [7.4, 6.2, 7.7, 7.1, 6.2, 6.5, 5.8, 6.2],
|
||||||
|
"resistances": [35, 35, 15, 15],
|
||||||
|
"poise": 10,
|
||||||
|
"weight": 7.3,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
# until i find where this is located in the param files, this is the workaround
|
||||||
|
HELMET_STATS = {
|
||||||
|
"alberichs-pointed-hat": [0, 0, 0, 0, 0, 0, 0, 4],
|
||||||
|
"crimson-hood": [1, 0, 0, 0, 0, 0, 0, 0],
|
||||||
|
"haima-glintstone-crown": [0, 0, 0, 2, 0, 2, 0, 0],
|
||||||
|
"haligtree-helm": [0, 0, 0, 0, 0, 0, 1, 0],
|
||||||
|
"haligtree-knight-helm": [0, 0, 0, 0, 0, 0, 2, 0],
|
||||||
|
"hierodas-glintstone-crown": [0, 0, 2, 0, 0, 2, 0, 0],
|
||||||
|
"imp-head-cat": [0, 0, 0, 0, 0, 2, 0, 0],
|
||||||
|
"imp-head-corpse": [0, 0, 0, 0, 0, 0, 2, 0],
|
||||||
|
"imp-head-elder": [0, 0, 0, 0, 0, 0, 0, 2],
|
||||||
|
"imp-head-long-tongued": [0, 0, 0, 0, 2, 0, 0, 0],
|
||||||
|
"imp-head-wolf": [0, 0, 2, 0, 0, 0, 0, 0],
|
||||||
|
"imp-head-fanged": [0, 0, 0, 2, 0, 0, 0, 0],
|
||||||
|
"karolos-glinstone-crown": [0, 0, 0, 0, 0, 3, 0, 0],
|
||||||
|
"mask-of-confidence": [0, 0, 0, 0, 0, 0, 0, 3],
|
||||||
|
"navy-hood": [0, 1, 0, 0, 0, 0, 0, 0],
|
||||||
|
"okina-mask": [0, 0, 0, 0, 3, 0, 0, 0],
|
||||||
|
"olivinus-glintstone-crown": [0, 0, 0, 0, 0, 3, 0, 0],
|
||||||
|
"omensmirk-mask": [0, 0, 0, 2, 0, 0, 0, 0],
|
||||||
|
"queens-crescent-crown": [0, 0, 0, 0, 0, 3, 0, 0],
|
||||||
|
"silver-tear-mask": [0, 0, 0, 0, 0, 0, 0, 8],
|
||||||
|
"twinsage-glintstone-crown": [0, 0, 0, 0, 0, 6, 0, 0],
|
||||||
|
"witchs-glintstone-crown": [0, 0, 0, 0, 0, 3, 0, 3],
|
||||||
|
}
|
||||||
|
|
||||||
|
IGNORED_WEAPON_INFUSIONS = [
|
||||||
|
"heavy-crossbow",
|
||||||
|
"bloody-helice",
|
||||||
|
"mohgwyns-sacred-spear",
|
||||||
|
"sacred-relic-sword",
|
||||||
|
"treespear",
|
||||||
|
"serpentbone-blade",
|
||||||
|
]
|
File diff suppressed because it is too large
Load diff
|
@ -1,730 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "Iron Gauntlets",
|
|
||||||
"id": "iron-gauntlets",
|
|
||||||
"defenses": [2.8, 2.3, 2.9, 2.9, 2.1, 2.3, 1.5, 1.9],
|
|
||||||
"resistances": [8, 15, 6, 4],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Kaiden Gauntlets",
|
|
||||||
"id": "kaiden-gauntlets",
|
|
||||||
"defenses": [2.9, 2.1, 2.9, 2.9, 1.9, 2.1, 1.7, 1.9],
|
|
||||||
"resistances": [8, 15, 6, 6],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Drake Knight Gauntlets",
|
|
||||||
"id": "drake-knight-gauntlets",
|
|
||||||
"defenses": [2.8, 2.3, 2.9, 2.8, 2.5, 2.8, 2.1, 2.5],
|
|
||||||
"resistances": [8, 15, 7, 7],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Scaled Gauntlets",
|
|
||||||
"id": "scaled-gauntlets",
|
|
||||||
"defenses": [4.0, 3.4, 4.2, 4.0, 3.3, 3.5, 3.2, 3.3],
|
|
||||||
"resistances": [19, 28, 13, 13],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 5.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Perfumer Gloves",
|
|
||||||
"id": "perfumer-gloves",
|
|
||||||
"defenses": [1.0, 1.5, 1.3, 1.0, 3.2, 2.9, 3.1, 3.2],
|
|
||||||
"resistances": [20, 6, 21, 22],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Traveler's Gloves",
|
|
||||||
"id": "travelers-gloves",
|
|
||||||
"defenses": [1.3, 1.3, 1.0, 0.6, 3.2, 3.2, 3.1, 3.2],
|
|
||||||
"resistances": [18, 7, 22, 21],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Alberich's Bracers",
|
|
||||||
"id": "alberichs-bracers",
|
|
||||||
"defenses": [1.3, 1.0, 1.3, 1.3, 3.2, 2.9, 3.1, 3.2],
|
|
||||||
"resistances": [13, 8, 22, 24],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Spellblade's Gloves",
|
|
||||||
"id": "spellblades-gloves",
|
|
||||||
"defenses": [0.9, 0.5, 0.9, 0.9, 3.1, 2.7, 2.8, 3.1],
|
|
||||||
"resistances": [11, 6, 19, 20],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bull-Goat Gauntlets",
|
|
||||||
"id": "bull-goat-gauntlets",
|
|
||||||
"defenses": [5.2, 5.2, 4.6, 4.6, 3.3, 3.3, 3.7, 3.2],
|
|
||||||
"resistances": [24, 28, 15, 18],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 8.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ronin's Gauntlets",
|
|
||||||
"id": "ronins-gauntlets",
|
|
||||||
"defenses": [2.7, 2.7, 2.8, 2.7, 2.9, 3.1, 3.2, 2.9],
|
|
||||||
"resistances": [25, 19, 20, 21],
|
|
||||||
"poise": 2.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blaidd's Gauntlets",
|
|
||||||
"id": "blaidds-gauntlets",
|
|
||||||
"defenses": [3.6, 3.2, 3.6, 3.8, 2.8, 3.2, 2.7, 2.9],
|
|
||||||
"resistances": [13, 21, 8, 8],
|
|
||||||
"poise": 5.0,
|
|
||||||
"weight": 4.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Black Knife Gauntlets",
|
|
||||||
"id": "black-knife-gauntlets",
|
|
||||||
"defenses": [2.8, 2.7, 3.1, 3.1, 2.1, 2.3, 1.6, 2.8],
|
|
||||||
"resistances": [9, 15, 8, 8],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Exile Gauntlets",
|
|
||||||
"id": "exile-gauntlets",
|
|
||||||
"defenses": [2.9, 2.1, 3.1, 2.9, 1.7, 2.5, 1.5, 2.1],
|
|
||||||
"resistances": [8, 17, 6, 4],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Banished Knight Gauntlets",
|
|
||||||
"id": "banished-knight-gauntlets",
|
|
||||||
"defenses": [4.7, 3.7, 4.9, 4.4, 3.3, 3.3, 3.2, 3.3],
|
|
||||||
"resistances": [20, 28, 13, 14],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 5.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Briar Gauntlets",
|
|
||||||
"id": "briar-gauntlets",
|
|
||||||
"defenses": [3.2, 2.8, 3.3, 3.1, 2.7, 3.1, 2.1, 2.7],
|
|
||||||
"resistances": [12, 24, 8, 8],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Night's Cavalry Gauntlets",
|
|
||||||
"id": "nights-cavalry-gauntlets",
|
|
||||||
"defenses": [3.5, 3.2, 3.5, 3.3, 2.7, 3.1, 2.7, 3.1],
|
|
||||||
"resistances": [13, 19, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 4.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blue Silver Bracelets",
|
|
||||||
"id": "blue-silver-bracelets",
|
|
||||||
"defenses": [2.3, 1.5, 2.5, 1.9, 1.9, 1.6, 1.0, 1.0],
|
|
||||||
"resistances": [4, 14, 4, 4],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Malformed Dragon Gauntlets",
|
|
||||||
"id": "malformed-dragon-gauntlets",
|
|
||||||
"defenses": [4.2, 3.7, 4.4, 4.2, 3.2, 3.2, 3.4, 3.2],
|
|
||||||
"resistances": [19, 25, 13, 13],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 5.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tree Sentinel Gauntlets",
|
|
||||||
"id": "tree-sentinel-gauntlets",
|
|
||||||
"defenses": [4.7, 3.7, 4.7, 4.4, 3.2, 4.3, 3.1, 3.5],
|
|
||||||
"resistances": [22, 30, 14, 15],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 6.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Royal Knight Gauntlets",
|
|
||||||
"id": "royal-knight-gauntlets",
|
|
||||||
"defenses": [4.0, 3.6, 4.4, 4.2, 3.5, 3.3, 3.1, 3.2],
|
|
||||||
"resistances": [17, 22, 12, 12],
|
|
||||||
"poise": 5.0,
|
|
||||||
"weight": 5.2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Nox Monk Bracelets",
|
|
||||||
"id": "nox-monk-bracelets",
|
|
||||||
"defenses": [2.1, 2.3, 2.1, 1.9, 2.9, 2.8, 2.8, 2.3],
|
|
||||||
"resistances": [20, 13, 15, 15],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Guardian Bracers",
|
|
||||||
"id": "guardian-bracers",
|
|
||||||
"defenses": [2.7, 2.5, 2.5, 2.3, 2.9, 2.8, 2.9, 2.9],
|
|
||||||
"resistances": [25, 17, 20, 19],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cleanrot Gauntlets",
|
|
||||||
"id": "cleanrot-gauntlets",
|
|
||||||
"defenses": [3.6, 3.3, 4.0, 4.4, 3.1, 3.2, 2.8, 3.3],
|
|
||||||
"resistances": [21, 22, 9, 11],
|
|
||||||
"poise": 5.0,
|
|
||||||
"weight": 5.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fire Monk Gauntlets",
|
|
||||||
"id": "fire-monk-gauntlets",
|
|
||||||
"defenses": [3.5, 3.1, 3.3, 3.1, 2.7, 3.3, 2.3, 2.3],
|
|
||||||
"resistances": [11, 18, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blackflame Monk Gauntlets",
|
|
||||||
"id": "blackflame-monk-gauntlets",
|
|
||||||
"defenses": [3.3, 2.8, 3.6, 3.2, 2.5, 3.2, 1.9, 2.5],
|
|
||||||
"resistances": [11, 18, 7, 11],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fire Prelate Gauntlets",
|
|
||||||
"id": "fire-prelate-gauntlets",
|
|
||||||
"defenses": [4.9, 4.3, 4.6, 4.6, 3.3, 5.0, 3.2, 3.3],
|
|
||||||
"resistances": [22, 21, 30, 17],
|
|
||||||
"poise": 9.0,
|
|
||||||
"weight": 8.2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Vulgar Militia Gauntlets",
|
|
||||||
"id": "vulgar-militia-gauntlets",
|
|
||||||
"defenses": [1.7, 2.1, 1.9, 1.6, 2.1, 2.1, 2.3, 2.1],
|
|
||||||
"resistances": [20, 9, 14, 14],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Elden Lord Bracers",
|
|
||||||
"id": "elden-lord-bracers",
|
|
||||||
"defenses": [2.9, 2.7, 2.8, 3.1, 2.1, 2.8, 1.7, 1.9],
|
|
||||||
"resistances": [11, 18, 6, 7],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Radahn's Gauntlets",
|
|
||||||
"id": "radahns-gauntlets",
|
|
||||||
"defenses": [4.7, 3.7, 4.6, 4.4, 3.3, 3.5, 3.1, 3.3],
|
|
||||||
"resistances": [20, 33, 14, 13],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 5.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Queen's Bracelets",
|
|
||||||
"id": "queens-bracelets",
|
|
||||||
"defenses": [1.5, 1.3, 1.3, 1.0, 3.4, 3.1, 3.2, 3.3],
|
|
||||||
"resistances": [14, 8, 24, 28],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sanguine Noble Bracelets",
|
|
||||||
"id": "sanguine-noble-bracelets",
|
|
||||||
"defenses": [1.7, 1.6, 1.6, 1.3, 3.2, 3.1, 3.2, 3.6],
|
|
||||||
"resistances": [17, 8, 28, 25],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Godskin Apostle Bracelets",
|
|
||||||
"id": "godskin-apostle-bracelets",
|
|
||||||
"defenses": [1.3, 2.1, 1.5, 1.3, 3.2, 2.9, 3.1, 3.4],
|
|
||||||
"resistances": [14, 8, 24, 25],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 1.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Depraved Perfumer Gloves",
|
|
||||||
"id": "depraved-perfumer-gloves",
|
|
||||||
"defenses": [1.5, 1.5, 1.4, 1.2, 3.2, 3.1, 3.1, 3.1],
|
|
||||||
"resistances": [23, 8, 20, 28],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crucible Gauntlets",
|
|
||||||
"id": "crucible-gauntlets",
|
|
||||||
"defenses": [4.4, 3.4, 4.2, 4.2, 3.2, 3.2, 2.8, 3.3],
|
|
||||||
"resistances": [17, 24, 12, 12],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 5.2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Lusat's Manchettes",
|
|
||||||
"id": "lusats-manchettes",
|
|
||||||
"defenses": [1.3, 0.1, 1.3, 0.1, 3.4, 2.8, 3.1, 3.1],
|
|
||||||
"resistances": [12, 6, 20, 22],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Azur's Manchettes",
|
|
||||||
"id": "azurs-manchettes",
|
|
||||||
"defenses": [1.0, 0.1, 0.6, 0.6, 3.4, 2.8, 2.9, 3.2],
|
|
||||||
"resistances": [12, 8, 22, 20],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "All-Knowing Gauntlets",
|
|
||||||
"id": "all-knowing-gauntlets",
|
|
||||||
"defenses": [3.2, 2.9, 3.3, 2.9, 3.1, 2.3, 2.5, 2.1],
|
|
||||||
"resistances": [9, 15, 7, 7],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Twinned Gauntlets",
|
|
||||||
"id": "twinned-gauntlets",
|
|
||||||
"defenses": [3.3, 3.1, 3.6, 2.9, 2.8, 2.8, 2.1, 2.5],
|
|
||||||
"resistances": [11, 18, 7, 18],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Astrologer Gloves",
|
|
||||||
"id": "astrologer-gloves",
|
|
||||||
"defenses": [1.3, 1.0, 1.0, 1.0, 3.2, 3.1, 3.2, 3.1],
|
|
||||||
"resistances": [14, 7, 24, 21],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 1.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Lionel's Gauntlets",
|
|
||||||
"id": "lionels-gauntlets",
|
|
||||||
"defenses": [4.4, 4.1, 4.9, 5.0, 3.3, 3.7, 3.2, 3.3],
|
|
||||||
"resistances": [21, 33, 14, 17],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 7.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hoslow's Gauntlets",
|
|
||||||
"id": "hoslows-gauntlets",
|
|
||||||
"defenses": [3.5, 2.9, 3.3, 3.1, 2.7, 2.9, 2.5, 2.5],
|
|
||||||
"resistances": [13, 20, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Vagabond Knight Gauntlets",
|
|
||||||
"id": "vagabond-knight-gauntlets",
|
|
||||||
"defenses": [3.3, 2.8, 3.1, 2.9, 2.5, 2.7, 2.1, 2.1],
|
|
||||||
"resistances": [12, 19, 8, 8],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Warrior Gauntlets",
|
|
||||||
"id": "warrior-gauntlets",
|
|
||||||
"defenses": [2.3, 2.3, 1.9, 1.9, 2.5, 2.7, 2.9, 2.3],
|
|
||||||
"resistances": [21, 14, 17, 17],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "War Surgeon Gloves",
|
|
||||||
"id": "war-surgeon-gloves",
|
|
||||||
"defenses": [1.6, 1.8, 2.0, 1.6, 2.2, 2.4, 2.6, 2.4],
|
|
||||||
"resistances": [18, 13, 15, 17],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Royal Remains Gauntlets",
|
|
||||||
"id": "royal-remains-gauntlets",
|
|
||||||
"defenses": [2.9, 2.8, 3.2, 2.9, 2.3, 2.5, 1.9, 2.1],
|
|
||||||
"resistances": [12, 19, 8, 4],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Beast Champion Gauntlets",
|
|
||||||
"id": "beast-champion-gauntlets",
|
|
||||||
"defenses": [4.4, 4.1, 4.7, 4.6, 3.2, 3.4, 3.2, 3.3],
|
|
||||||
"resistances": [19, 30, 14, 13],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 5.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Champion Bracers",
|
|
||||||
"id": "champion-bracers",
|
|
||||||
"defenses": [1.6, 2.1, 1.7, 1.9, 1.9, 2.3, 2.5, 2.3],
|
|
||||||
"resistances": [17, 11, 14, 13],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Noble's Gloves",
|
|
||||||
"id": "nobles-gloves",
|
|
||||||
"defenses": [1.5, 1.6, 1.5, 1.6, 3.3, 3.3, 3.2, 3.3],
|
|
||||||
"resistances": [15, 8, 25, 28],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Maliketh's Gauntlets",
|
|
||||||
"id": "malikeths-gauntlets",
|
|
||||||
"defenses": [3.3, 2.9, 3.5, 3.3, 2.7, 2.8, 2.3, 3.2],
|
|
||||||
"resistances": [12, 19, 8, 17],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 4.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Malenia's Gauntlet",
|
|
||||||
"id": "malenias-gauntlet",
|
|
||||||
"defenses": [3.1, 2.3, 3.2, 2.8, 1.9, 2.3, 1.6, 2.7],
|
|
||||||
"resistances": [17, 14, 6, 6],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Veteran's Gauntlets",
|
|
||||||
"id": "veterans-gauntlets",
|
|
||||||
"defenses": [4.7, 4.3, 4.7, 4.4, 3.3, 3.5, 3.2, 3.3],
|
|
||||||
"resistances": [21, 30, 15, 15],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 6.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bloodhound Knight Gauntlets",
|
|
||||||
"id": "bloodhound-knight-gauntlets",
|
|
||||||
"defenses": [3.1, 2.8, 3.5, 3.3, 2.3, 2.5, 1.7, 2.5],
|
|
||||||
"resistances": [11, 17, 8, 8],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sorcerer Manchettes",
|
|
||||||
"id": "sorcerer-manchettes",
|
|
||||||
"defenses": [1.0, 1.3, 1.3, 0.1, 3.2, 3.1, 2.9, 3.1],
|
|
||||||
"resistances": [13, 4, 21, 20],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Raging Wolf Gauntlets",
|
|
||||||
"id": "raging-wolf-gauntlets",
|
|
||||||
"defenses": [3.2, 2.8, 3.2, 3.1, 2.4, 2.7, 1.6, 2.2],
|
|
||||||
"resistances": [11, 19, 6, 6],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Land of Reeds Gauntlets",
|
|
||||||
"id": "land-of-reeds-gauntlets",
|
|
||||||
"defenses": [2.1, 2.3, 2.9, 2.3, 2.5, 2.8, 2.9, 2.7],
|
|
||||||
"resistances": [20, 17, 17, 18],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "White Reed Gauntlets",
|
|
||||||
"id": "white-reed-gauntlets",
|
|
||||||
"defenses": [2.3, 2.5, 2.8, 2.1, 2.7, 2.7, 2.9, 2.5],
|
|
||||||
"resistances": [22, 14, 18, 17],
|
|
||||||
"poise": 2.0,
|
|
||||||
"weight": 2.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Confessor Gloves",
|
|
||||||
"id": "confessor-gloves",
|
|
||||||
"defenses": [2.1, 2.7, 2.1, 2.3, 2.8, 2.8, 3.1, 2.5],
|
|
||||||
"resistances": [21, 17, 17, 18],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Traveling Maiden Gloves",
|
|
||||||
"id": "traveling-maiden-gloves",
|
|
||||||
"defenses": [1.3, 1.5, 1.5, 1.0, 3.3, 3.2, 3.2, 3.3],
|
|
||||||
"resistances": [15, 8, 25, 28],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 1.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Preceptor's Gloves",
|
|
||||||
"id": "preceptors-gloves",
|
|
||||||
"defenses": [1.5, 1.6, 1.5, 1.5, 3.6, 3.3, 3.2, 3.2],
|
|
||||||
"resistances": [17, 8, 28, 25],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bandit Manchettes",
|
|
||||||
"id": "bandit-manchettes",
|
|
||||||
"defenses": [1.5, 1.6, 1.7, 1.7, 1.9, 1.9, 2.1, 1.7],
|
|
||||||
"resistances": [15, 8, 17, 17],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Eccentric's Manchettes",
|
|
||||||
"id": "eccentrics-manchettes",
|
|
||||||
"defenses": [2.9, 2.1, 2.8, 2.9, 2.1, 2.3, 1.5, 1.9],
|
|
||||||
"resistances": [8, 18, 6, 4],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fingerprint Gauntlets",
|
|
||||||
"id": "fingerprint-gauntlets",
|
|
||||||
"defenses": [3.3, 2.9, 2.9, 2.9, 2.3, 3.1, 1.6, 2.3],
|
|
||||||
"resistances": [11, 20, 4, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bloodsoaked Manchettes",
|
|
||||||
"id": "bloodsoaked-manchettes",
|
|
||||||
"defenses": [1.3, 1.5, 1.0, 0.6, 3.1, 3.1, 3.1, 3.1],
|
|
||||||
"resistances": [14, 9, 24, 22],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Omen Gauntlets",
|
|
||||||
"id": "omen-gauntlets",
|
|
||||||
"defenses": [4.6, 3.7, 4.7, 4.7, 3.2, 3.6, 3.7, 3.4],
|
|
||||||
"resistances": [22, 21, 19, 25],
|
|
||||||
"poise": 9.0,
|
|
||||||
"weight": 7.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Carian Knight Gauntlets",
|
|
||||||
"id": "carian-knight-gauntlets",
|
|
||||||
"defenses": [2.9, 2.7, 3.1, 2.9, 3.1, 2.9, 2.3, 2.9],
|
|
||||||
"resistances": [9, 15, 7, 8],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Errant Sorcerer Manchettes",
|
|
||||||
"id": "errant-sorcerer-manchettes",
|
|
||||||
"defenses": [0.6, 0.6, 1.3, 0.6, 3.2, 3.1, 2.9, 3.2],
|
|
||||||
"resistances": [11, 7, 21, 22],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Battlemage Manchettes",
|
|
||||||
"id": "battlemage-manchettes",
|
|
||||||
"defenses": [1.0, 1.3, 0.6, 1.0, 3.2, 2.8, 2.9, 3.1],
|
|
||||||
"resistances": [13, 7, 20, 22],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Traveler's Manchettes",
|
|
||||||
"id": "travelers-manchettes",
|
|
||||||
"defenses": [1.6, 1.5, 1.3, 1.0, 3.3, 3.2, 3.2, 3.1],
|
|
||||||
"resistances": [13, 8, 25, 25],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 1.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Gold Bracelets",
|
|
||||||
"id": "gold-bracelets",
|
|
||||||
"defenses": [1.0, 0.6, 0.6, 0.1, 2.9, 2.8, 2.9, 3.2],
|
|
||||||
"resistances": [13, 4, 20, 20],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 0.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Zamor Bracelets",
|
|
||||||
"id": "zamor-bracelets",
|
|
||||||
"defenses": [2.8, 2.1, 2.9, 2.5, 1.9, 1.9, 1.3, 1.7],
|
|
||||||
"resistances": [6, 20, 0, 4],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 2.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chain Gauntlets",
|
|
||||||
"id": "chain-gauntlets",
|
|
||||||
"defenses": [2.9, 2.1, 3.2, 2.9, 1.7, 2.7, 1.5, 1.9],
|
|
||||||
"resistances": [8, 14, 4, 6],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mushroom Arms",
|
|
||||||
"id": "mushroom-arms",
|
|
||||||
"defenses": [1.5, 1.7, 0.6, 1.3, 3.3, 1.3, 3.2, 3.2],
|
|
||||||
"resistances": [34, 8, 30, 25],
|
|
||||||
"poise": 0.0,
|
|
||||||
"weight": 1.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Leather Gloves",
|
|
||||||
"id": "leather-gloves",
|
|
||||||
"defenses": [1.9, 2.3, 1.9, 2.1, 2.3, 2.3, 2.5, 2.5],
|
|
||||||
"resistances": [20, 12, 14, 17],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Knight Gauntlets",
|
|
||||||
"id": "knight-gauntlets",
|
|
||||||
"defenses": [3.1, 2.9, 3.3, 3.3, 2.7, 2.7, 2.3, 2.1],
|
|
||||||
"resistances": [9, 17, 6, 6],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Godrick Soldier Gauntlets",
|
|
||||||
"id": "godrick-soldier-gauntlets",
|
|
||||||
"defenses": [3.2, 2.8, 3.2, 3.1, 2.5, 2.7, 1.9, 2.3],
|
|
||||||
"resistances": [11, 18, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Raya Lucarian Gauntlets",
|
|
||||||
"id": "raya-lucarian-gauntlets",
|
|
||||||
"defenses": [3.2, 2.7, 3.3, 3.2, 2.7, 2.7, 1.7, 2.1],
|
|
||||||
"resistances": [11, 18, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Leyndell Soldier Gauntlets",
|
|
||||||
"id": "leyndell-soldier-gauntlets",
|
|
||||||
"defenses": [3.2, 2.9, 3.1, 3.2, 2.3, 2.5, 2.1, 2.3],
|
|
||||||
"resistances": [11, 18, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Radahn Soldier Gauntlets",
|
|
||||||
"id": "radahn-soldier-gauntlets",
|
|
||||||
"defenses": [3.3, 2.7, 3.1, 2.9, 2.5, 2.8, 1.9, 2.3],
|
|
||||||
"resistances": [11, 17, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mausoleum Gauntlets",
|
|
||||||
"id": "mausoleum-gauntlets",
|
|
||||||
"defenses": [3.2, 2.7, 3.3, 3.1, 2.5, 2.5, 2.1, 2.5],
|
|
||||||
"resistances": [11, 17, 8, 7],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Haligtree Gauntlets",
|
|
||||||
"id": "haligtree-gauntlets",
|
|
||||||
"defenses": [3.2, 2.9, 3.1, 3.2, 2.3, 2.5, 1.9, 2.5],
|
|
||||||
"resistances": [11, 18, 8, 8],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Gelmir Knight Gauntlets",
|
|
||||||
"id": "gelmir-knight-gauntlets",
|
|
||||||
"defenses": [3.3, 2.8, 3.5, 3.3, 2.7, 3.1, 2.5, 2.7],
|
|
||||||
"resistances": [12, 18, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Godrick Knight Gauntlets",
|
|
||||||
"id": "godrick-knight-gauntlets",
|
|
||||||
"defenses": [3.3, 2.9, 3.5, 3.2, 2.7, 2.9, 2.3, 2.7],
|
|
||||||
"resistances": [12, 19, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cuckoo Knight Gauntlets",
|
|
||||||
"id": "cuckoo-knight-gauntlets",
|
|
||||||
"defenses": [3.3, 2.8, 3.6, 3.3, 3.1, 2.9, 2.1, 2.5],
|
|
||||||
"resistances": [11, 19, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Leyndell Knight Gauntlets",
|
|
||||||
"id": "leyndell-knight-gauntlets",
|
|
||||||
"defenses": [3.3, 3.1, 3.3, 3.3, 2.5, 2.8, 2.5, 2.7],
|
|
||||||
"resistances": [12, 19, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Redmane Knight Gauntlets",
|
|
||||||
"id": "redmane-knight-gauntlets",
|
|
||||||
"defenses": [3.5, 2.8, 3.3, 3.1, 2.7, 3.1, 2.3, 2.7],
|
|
||||||
"resistances": [12, 18, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mausoleum Knight Gauntlets",
|
|
||||||
"id": "mausoleum-knight-gauntlets",
|
|
||||||
"defenses": [3.3, 2.8, 3.6, 3.2, 2.7, 2.8, 2.5, 2.8],
|
|
||||||
"resistances": [12, 18, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Haligtree Knight Gauntlets",
|
|
||||||
"id": "haligtree-knight-gauntlets",
|
|
||||||
"defenses": [3.3, 3.1, 3.3, 3.3, 2.5, 2.8, 2.3, 2.8],
|
|
||||||
"resistances": [12, 19, 8, 8],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Foot Soldier Gauntlets",
|
|
||||||
"id": "foot-soldier-gauntlets",
|
|
||||||
"defenses": [2.1, 2.3, 2.1, 2.1, 2.5, 2.7, 2.8, 2.5],
|
|
||||||
"resistances": [20, 13, 17, 17],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Omenkiller Long Gloves",
|
|
||||||
"id": "omenkiller-long-gloves",
|
|
||||||
"defenses": [2.1, 1.9, 1.7, 1.7, 2.1, 2.3, 2.8, 2.5],
|
|
||||||
"resistances": [22, 9, 15, 15],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Golden Prosthetic",
|
|
||||||
"id": "golden-prosthetic",
|
|
||||||
"defenses": [1.5, 1.5, 1.5, 1.3, 3.2, 3.1, 3.2, 3.2],
|
|
||||||
"resistances": [15, 8, 25, 25],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Highwayman Gauntlets",
|
|
||||||
"id": "highwayman-gauntlets",
|
|
||||||
"defenses": [1.9, 2.5, 1.9, 2.1, 2.7, 2.7, 2.8, 2.5],
|
|
||||||
"resistances": [19, 12, 17, 17],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.6
|
|
||||||
}
|
|
||||||
]
|
|
1346
output/helmets.json
1346
output/helmets.json
File diff suppressed because it is too large
Load diff
|
@ -1,842 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "Leather Trousers",
|
|
||||||
"id": "leather-trousers",
|
|
||||||
"defenses": [6.5, 5.4, 6.8, 6.8, 5.0, 5.4, 3.4, 4.5],
|
|
||||||
"resistances": [16, 29, 11, 7],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 5.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Kaiden Trousers",
|
|
||||||
"id": "kaiden-trousers",
|
|
||||||
"defenses": [6.5, 4.5, 6.5, 6.5, 4.0, 4.5, 3.8, 4.0],
|
|
||||||
"resistances": [15, 26, 7, 7],
|
|
||||||
"poise": 7.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Drake Knight Greaves",
|
|
||||||
"id": "drake-knight-greaves",
|
|
||||||
"defenses": [6.5, 5.4, 6.8, 6.5, 5.8, 6.5, 5.0, 5.8],
|
|
||||||
"resistances": [16, 29, 13, 13],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 5.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Scaled Greaves",
|
|
||||||
"id": "scaled-greaves",
|
|
||||||
"defenses": [9.2, 8.0, 9.6, 9.2, 7.7, 8.1, 7.4, 7.7],
|
|
||||||
"resistances": [35, 51, 24, 24],
|
|
||||||
"poise": 16.0,
|
|
||||||
"weight": 9.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Perfumer Sarong",
|
|
||||||
"id": "perfumer-sarong",
|
|
||||||
"defenses": [2.3, 3.4, 3.0, 2.3, 7.3, 6.8, 7.1, 7.3],
|
|
||||||
"resistances": [37, 11, 39, 41],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Traveler's Slops",
|
|
||||||
"id": "travelers-slops",
|
|
||||||
"defenses": [3.0, 3.0, 2.3, 1.5, 7.3, 7.3, 7.1, 7.3],
|
|
||||||
"resistances": [34, 13, 41, 39],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Alberich's Trousers",
|
|
||||||
"id": "alberichs-trousers",
|
|
||||||
"defenses": [3.0, 2.3, 3.0, 3.0, 7.3, 6.8, 7.2, 7.3],
|
|
||||||
"resistances": [26, 14, 41, 44],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Spellblade's Trousers",
|
|
||||||
"id": "spellblades-trousers",
|
|
||||||
"defenses": [2.9, 2.2, 2.9, 2.9, 7.3, 6.7, 7.0, 7.3],
|
|
||||||
"resistances": [25, 13, 38, 41],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bull-Goat Greaves",
|
|
||||||
"id": "bull-goat-greaves",
|
|
||||||
"defenses": [11.9, 11.8, 10.6, 10.6, 7.6, 7.7, 8.5, 7.3],
|
|
||||||
"resistances": [44, 51, 29, 34],
|
|
||||||
"poise": 28.0,
|
|
||||||
"weight": 16.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ronin's Greaves",
|
|
||||||
"id": "ronins-greaves",
|
|
||||||
"defenses": [6.2, 6.2, 6.5, 6.2, 6.8, 7.1, 7.3, 6.8],
|
|
||||||
"resistances": [46, 35, 36, 38],
|
|
||||||
"poise": 5.0,
|
|
||||||
"weight": 5.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cloth Trousers",
|
|
||||||
"id": "cloth-trousers",
|
|
||||||
"defenses": [3.0, 2.3, 1.5, 2.3, 7.3, 7.1, 6.8, 7.1],
|
|
||||||
"resistances": [26, 14, 37, 37],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blaidd's Greaves",
|
|
||||||
"id": "blaidds-greaves",
|
|
||||||
"defenses": [8.4, 7.3, 8.4, 8.8, 6.5, 7.3, 6.2, 6.8],
|
|
||||||
"resistances": [24, 39, 16, 16],
|
|
||||||
"poise": 14.0,
|
|
||||||
"weight": 8.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Black Knife Greaves",
|
|
||||||
"id": "black-knife-greaves",
|
|
||||||
"defenses": [6.5, 6.2, 7.1, 7.1, 5.0, 5.4, 3.8, 6.5],
|
|
||||||
"resistances": [17, 29, 14, 14],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 5.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Exile Greaves",
|
|
||||||
"id": "exile-greaves",
|
|
||||||
"defenses": [7.1, 5.4, 7.4, 7.1, 4.5, 6.2, 3.8, 5.4],
|
|
||||||
"resistances": [17, 34, 13, 11],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 5.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Banished Knight Greaves",
|
|
||||||
"id": "banished-knight-greaves",
|
|
||||||
"defenses": [10.8, 8.6, 11.1, 10.1, 7.7, 7.7, 7.4, 7.6],
|
|
||||||
"resistances": [37, 51, 24, 26],
|
|
||||||
"poise": 17.0,
|
|
||||||
"weight": 10.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Briar Greaves",
|
|
||||||
"id": "briar-greaves",
|
|
||||||
"defenses": [7.4, 6.5, 7.7, 7.1, 6.2, 7.1, 5.0, 6.2],
|
|
||||||
"resistances": [22, 44, 15, 15],
|
|
||||||
"poise": 9.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Page Trousers",
|
|
||||||
"id": "page-trousers",
|
|
||||||
"defenses": [3.4, 3.0, 2.3, 2.3, 7.2, 7.1, 7.3, 7.3],
|
|
||||||
"resistances": [24, 13, 44, 44],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Night's Cavalry Greaves",
|
|
||||||
"id": "nights-cavalry-greaves",
|
|
||||||
"defenses": [8.0, 7.3, 8.0, 7.7, 6.2, 7.2, 6.2, 7.2],
|
|
||||||
"resistances": [24, 35, 15, 15],
|
|
||||||
"poise": 12.0,
|
|
||||||
"weight": 7.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blue Silver Mail Skirt",
|
|
||||||
"id": "blue-silver-mail-skirt",
|
|
||||||
"defenses": [6.8, 5.0, 7.1, 6.2, 5.8, 5.4, 4.0, 4.0],
|
|
||||||
"resistances": [15, 35, 7, 7],
|
|
||||||
"poise": 7.0,
|
|
||||||
"weight": 5.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Nomadic Merchant's Trousers",
|
|
||||||
"id": "nomadic-merchants-trousers",
|
|
||||||
"defenses": [4.5, 5.0, 4.0, 3.8, 5.4, 5.4, 5.4, 5.0],
|
|
||||||
"resistances": [35, 20, 44, 29],
|
|
||||||
"poise": 2.0,
|
|
||||||
"weight": 4.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Malformed Dragon Greaves",
|
|
||||||
"id": "malformed-dragon-greaves",
|
|
||||||
"defenses": [9.6, 8.6, 10.1, 9.6, 7.4, 7.4, 7.9, 7.4],
|
|
||||||
"resistances": [35, 47, 24, 24],
|
|
||||||
"poise": 16.0,
|
|
||||||
"weight": 9.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Tree Sentinel Greaves",
|
|
||||||
"id": "tree-sentinel-greaves",
|
|
||||||
"defenses": [10.8, 8.6, 10.8, 10.1, 7.4, 9.9, 7.2, 8.1],
|
|
||||||
"resistances": [41, 56, 26, 29],
|
|
||||||
"poise": 17.0,
|
|
||||||
"weight": 11.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Royal Knight Greaves",
|
|
||||||
"id": "royal-knight-greaves",
|
|
||||||
"defenses": [9.2, 8.3, 10.1, 9.6, 8.1, 7.6, 7.1, 7.4],
|
|
||||||
"resistances": [31, 41, 22, 22],
|
|
||||||
"poise": 14.0,
|
|
||||||
"weight": 9.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Nox Monk Greaves",
|
|
||||||
"id": "nox-monk-greaves",
|
|
||||||
"defenses": [5.4, 5.8, 5.4, 5.0, 7.1, 6.8, 6.8, 5.8],
|
|
||||||
"resistances": [39, 26, 31, 31],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fur Leggings",
|
|
||||||
"id": "fur-leggings",
|
|
||||||
"defenses": [3.4, 3.8, 3.4, 3.4, 3.8, 4.0, 5.0, 4.0],
|
|
||||||
"resistances": [39, 26, 34, 24],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Shaman Leggings",
|
|
||||||
"id": "shaman-leggings",
|
|
||||||
"defenses": [3.0, 3.4, 3.0, 4.5, 4.5, 4.0, 4.5, 3.8],
|
|
||||||
"resistances": [39, 26, 34, 22],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Duelist Greaves",
|
|
||||||
"id": "duelist-greaves",
|
|
||||||
"defenses": [8.0, 7.1, 8.0, 7.4, 5.8, 6.8, 5.4, 6.2],
|
|
||||||
"resistances": [29, 31, 15, 15],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sanguine Noble Waistcloth",
|
|
||||||
"id": "sanguine-noble-waistcloth",
|
|
||||||
"defenses": [3.0, 2.3, 2.3, 2.3, 7.4, 6.5, 7.3, 7.6],
|
|
||||||
"resistances": [29, 11, 44, 41],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Guardian Greaves",
|
|
||||||
"id": "guardian-greaves",
|
|
||||||
"defenses": [6.2, 5.8, 5.8, 5.4, 6.8, 6.5, 6.8, 6.8],
|
|
||||||
"resistances": [47, 31, 37, 35],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 5.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cleanrot Greaves",
|
|
||||||
"id": "cleanrot-greaves",
|
|
||||||
"defenses": [8.4, 7.6, 9.2, 10.1, 7.2, 7.3, 6.5, 7.7],
|
|
||||||
"resistances": [39, 41, 17, 20],
|
|
||||||
"poise": 13.0,
|
|
||||||
"weight": 9.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fire Monk Greaves",
|
|
||||||
"id": "fire-monk-greaves",
|
|
||||||
"defenses": [8.0, 7.1, 7.7, 7.1, 6.2, 7.6, 5.4, 5.4],
|
|
||||||
"resistances": [20, 34, 15, 15],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blackflame Monk Greaves",
|
|
||||||
"id": "blackflame-monk-greaves",
|
|
||||||
"defenses": [7.7, 6.5, 8.4, 7.4, 5.8, 7.4, 4.5, 5.8],
|
|
||||||
"resistances": [20, 34, 13, 20],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fire Prelate Greaves",
|
|
||||||
"id": "fire-prelate-greaves",
|
|
||||||
"defenses": [11.1, 9.8, 10.6, 10.6, 7.7, 11.5, 7.4, 7.6],
|
|
||||||
"resistances": [41, 39, 56, 31],
|
|
||||||
"poise": 24.0,
|
|
||||||
"weight": 15.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Aristocrat Boots",
|
|
||||||
"id": "aristocrat-boots",
|
|
||||||
"defenses": [4.3, 4.8, 4.3, 4.3, 3.6, 3.8, 4.3, 3.6],
|
|
||||||
"resistances": [29, 21, 23, 19],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Old Aristocrat Shoes",
|
|
||||||
"id": "old-aristocrat-shoes",
|
|
||||||
"defenses": [3.4, 3.4, 3.0, 3.4, 4.5, 5.0, 4.5, 3.4],
|
|
||||||
"resistances": [22, 15, 17, 20],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Vulgar Militia Greaves",
|
|
||||||
"id": "vulgar-militia-greaves",
|
|
||||||
"defenses": [5.4, 6.2, 5.8, 5.0, 6.2, 6.2, 6.5, 6.2],
|
|
||||||
"resistances": [44, 24, 34, 34],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sage Trousers",
|
|
||||||
"id": "sage-trousers",
|
|
||||||
"defenses": [3.4, 3.0, 3.0, 1.5, 7.6, 7.1, 7.3, 7.6],
|
|
||||||
"resistances": [22, 13, 39, 41],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Elden Lord Greaves",
|
|
||||||
"id": "elden-lord-greaves",
|
|
||||||
"defenses": [6.5, 5.8, 6.2, 6.8, 4.5, 6.2, 3.8, 4.0],
|
|
||||||
"resistances": [16, 31, 7, 11],
|
|
||||||
"poise": 7.0,
|
|
||||||
"weight": 5.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Radahn's Greaves",
|
|
||||||
"id": "radahns-greaves",
|
|
||||||
"defenses": [10.8, 8.6, 10.6, 10.1, 7.7, 8.1, 7.2, 7.7],
|
|
||||||
"resistances": [37, 61, 26, 24],
|
|
||||||
"poise": 17.0,
|
|
||||||
"weight": 10.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Queen's Leggings",
|
|
||||||
"id": "queens-leggings",
|
|
||||||
"defenses": [2.3, 1.5, 1.5, 0.3, 7.6, 6.8, 7.1, 7.3],
|
|
||||||
"resistances": [22, 14, 37, 41],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sanguine Noble Trousers",
|
|
||||||
"id": "sanguine-noble-trousers",
|
|
||||||
"defenses": [3.4, 3.0, 3.0, 1.5, 7.2, 6.8, 7.1, 7.9],
|
|
||||||
"resistances": [26, 13, 41, 39],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Godskin Apostle Trousers",
|
|
||||||
"id": "godskin-apostle-trousers",
|
|
||||||
"defenses": [2.3, 4.5, 3.0, 2.3, 7.2, 6.5, 6.8, 7.7],
|
|
||||||
"resistances": [24, 14, 39, 41],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Depraved Perfumer Trousers",
|
|
||||||
"id": "depraved-perfumer-trousers",
|
|
||||||
"defenses": [3.9, 3.9, 3.7, 3.3, 7.8, 7.5, 7.3, 7.5],
|
|
||||||
"resistances": [46, 15, 40, 58],
|
|
||||||
"poise": 2.0,
|
|
||||||
"weight": 4.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crucible Greaves",
|
|
||||||
"id": "crucible-greaves",
|
|
||||||
"defenses": [10.1, 8.0, 9.6, 9.6, 7.4, 7.3, 6.5, 7.7],
|
|
||||||
"resistances": [31, 44, 22, 22],
|
|
||||||
"poise": 16.0,
|
|
||||||
"weight": 9.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Old Sorcerer's Legwraps",
|
|
||||||
"id": "old-sorcerers-legwraps",
|
|
||||||
"defenses": [3.4, 1.5, 3.4, 1.5, 8.1, 6.8, 7.2, 7.3],
|
|
||||||
"resistances": [24, 13, 39, 44],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "All-Knowing Greaves",
|
|
||||||
"id": "all-knowing-greaves",
|
|
||||||
"defenses": [7.4, 6.8, 7.7, 6.8, 7.1, 5.4, 5.8, 5.0],
|
|
||||||
"resistances": [17, 29, 13, 13],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Twinned Greaves",
|
|
||||||
"id": "twinned-greaves",
|
|
||||||
"defenses": [7.7, 7.1, 8.4, 6.8, 6.5, 6.5, 5.0, 5.8],
|
|
||||||
"resistances": [20, 34, 13, 34],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Prophet Trousers",
|
|
||||||
"id": "prophet-trousers",
|
|
||||||
"defenses": [3.0, 3.4, 3.4, 3.0, 7.6, 7.3, 7.2, 7.6],
|
|
||||||
"resistances": [26, 14, 47, 51],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Astrologer Trousers",
|
|
||||||
"id": "astrologer-trousers",
|
|
||||||
"defenses": [3.8, 3.4, 3.4, 3.4, 7.7, 7.4, 7.6, 7.4],
|
|
||||||
"resistances": [31, 15, 56, 47],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Lionel's Greaves",
|
|
||||||
"id": "lionels-greaves",
|
|
||||||
"defenses": [10.1, 9.4, 11.1, 11.4, 7.7, 8.5, 7.4, 7.7],
|
|
||||||
"resistances": [39, 61, 26, 31],
|
|
||||||
"poise": 22.0,
|
|
||||||
"weight": 13.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Hoslow's Greaves",
|
|
||||||
"id": "hoslows-greaves",
|
|
||||||
"defenses": [8.0, 6.8, 7.7, 7.1, 6.2, 6.8, 5.8, 5.8],
|
|
||||||
"resistances": [24, 37, 15, 15],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Vagabond Knight Greaves",
|
|
||||||
"id": "vagabond-knight-greaves",
|
|
||||||
"defenses": [7.4, 5.8, 6.8, 6.5, 5.0, 5.8, 4.5, 4.5],
|
|
||||||
"resistances": [20, 34, 13, 13],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 5.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Warrior Greaves",
|
|
||||||
"id": "warrior-greaves",
|
|
||||||
"defenses": [5.4, 5.4, 4.5, 4.5, 5.8, 6.2, 6.8, 5.4],
|
|
||||||
"resistances": [39, 26, 31, 31],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 4.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "War Surgeon Trousers",
|
|
||||||
"id": "war-surgeon-trousers",
|
|
||||||
"defenses": [3.9, 4.4, 4.9, 3.9, 5.3, 5.7, 6.1, 5.7],
|
|
||||||
"resistances": [33, 23, 28, 31],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 4.2
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Royal Remains Greaves",
|
|
||||||
"id": "royal-remains-greaves",
|
|
||||||
"defenses": [6.8, 6.5, 7.4, 6.8, 5.4, 5.8, 4.5, 5.0],
|
|
||||||
"resistances": [22, 35, 15, 7],
|
|
||||||
"poise": 9.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Beast Champion Greaves",
|
|
||||||
"id": "beast-champion-greaves",
|
|
||||||
"defenses": [10.1, 9.4, 10.8, 10.6, 7.4, 7.9, 7.3, 7.7],
|
|
||||||
"resistances": [35, 56, 26, 24],
|
|
||||||
"poise": 17.0,
|
|
||||||
"weight": 10.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Champion Gaiters",
|
|
||||||
"id": "champion-gaiters",
|
|
||||||
"defenses": [3.8, 5.0, 4.0, 4.5, 4.5, 5.4, 5.8, 5.4],
|
|
||||||
"resistances": [31, 20, 26, 24],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Noble's Trousers",
|
|
||||||
"id": "nobles-trousers",
|
|
||||||
"defenses": [3.4, 3.8, 3.4, 3.8, 7.6, 7.7, 7.4, 7.6],
|
|
||||||
"resistances": [29, 15, 47, 51],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Maliketh's Greaves",
|
|
||||||
"id": "malikeths-greaves",
|
|
||||||
"defenses": [7.7, 6.8, 8.0, 7.7, 6.2, 6.5, 5.4, 7.3],
|
|
||||||
"resistances": [22, 35, 15, 31],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Malenia's Greaves",
|
|
||||||
"id": "malenias-greaves",
|
|
||||||
"defenses": [7.1, 5.4, 7.4, 6.5, 4.5, 5.4, 3.8, 6.2],
|
|
||||||
"resistances": [31, 26, 11, 11],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 5.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Veteran's Greaves",
|
|
||||||
"id": "veterans-greaves",
|
|
||||||
"defenses": [10.8, 9.8, 10.8, 10.1, 7.7, 8.1, 7.3, 7.6],
|
|
||||||
"resistances": [39, 56, 29, 29],
|
|
||||||
"poise": 22.0,
|
|
||||||
"weight": 11.7
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bloodhound Knight Greaves",
|
|
||||||
"id": "bloodhound-knight-greaves",
|
|
||||||
"defenses": [7.1, 6.5, 8.0, 7.7, 5.4, 5.8, 4.0, 5.8],
|
|
||||||
"resistances": [20, 31, 14, 14],
|
|
||||||
"poise": 8.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Commoner's Shoes",
|
|
||||||
"id": "commoners-shoes",
|
|
||||||
"defenses": [1.5, 3.0, 3.0, 2.3, 7.1, 6.5, 6.8, 7.1],
|
|
||||||
"resistances": [22, 14, 39, 41],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sorcerer Leggings",
|
|
||||||
"id": "sorcerer-leggings",
|
|
||||||
"defenses": [2.3, 3.0, 3.0, 0.3, 7.3, 7.1, 6.8, 7.2],
|
|
||||||
"resistances": [24, 7, 39, 37],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Raging Wolf Greaves",
|
|
||||||
"id": "raging-wolf-greaves",
|
|
||||||
"defenses": [7.5, 6.6, 7.5, 7.2, 5.6, 6.3, 3.8, 5.2],
|
|
||||||
"resistances": [19, 34, 11, 11],
|
|
||||||
"poise": 9.0,
|
|
||||||
"weight": 6.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Land of Reeds Greaves",
|
|
||||||
"id": "land-of-reeds-greaves",
|
|
||||||
"defenses": [5.0, 5.4, 6.8, 5.4, 5.8, 6.5, 6.8, 6.2],
|
|
||||||
"resistances": [37, 31, 31, 34],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "White Reed Greaves",
|
|
||||||
"id": "white-reed-greaves",
|
|
||||||
"defenses": [5.4, 5.8, 6.5, 5.0, 6.2, 6.2, 6.8, 5.8],
|
|
||||||
"resistances": [41, 26, 34, 31],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Confessor Boots",
|
|
||||||
"id": "confessor-boots",
|
|
||||||
"defenses": [4.5, 5.8, 4.5, 5.0, 6.2, 6.2, 6.8, 5.4],
|
|
||||||
"resistances": [37, 29, 29, 31],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 4.8
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Prisoner Trousers",
|
|
||||||
"id": "prisoner-trousers",
|
|
||||||
"defenses": [2.3, 3.0, 3.0, 2.3, 6.8, 6.5, 6.5, 7.2],
|
|
||||||
"resistances": [26, 14, 39, 39],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Traveling Maiden Boots",
|
|
||||||
"id": "traveling-maiden-boots",
|
|
||||||
"defenses": [3.1, 3.5, 3.5, 2.4, 7.7, 7.4, 7.5, 7.7],
|
|
||||||
"resistances": [29, 15, 47, 51],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Finger Maiden Shoes",
|
|
||||||
"id": "finger-maiden-shoes",
|
|
||||||
"defenses": [3.0, 2.3, 2.3, 1.5, 7.6, 7.2, 7.3, 7.6],
|
|
||||||
"resistances": [24, 13, 39, 39],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Preceptor's Trousers",
|
|
||||||
"id": "preceptors-trousers",
|
|
||||||
"defenses": [3.4, 3.8, 3.4, 3.4, 8.3, 7.6, 7.3, 7.3],
|
|
||||||
"resistances": [31, 15, 51, 47],
|
|
||||||
"poise": 2.0,
|
|
||||||
"weight": 3.9
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bandit Boots",
|
|
||||||
"id": "bandit-boots",
|
|
||||||
"defenses": [4.0, 4.5, 5.0, 5.0, 5.4, 5.4, 5.8, 5.0],
|
|
||||||
"resistances": [34, 20, 35, 35],
|
|
||||||
"poise": 2.0,
|
|
||||||
"weight": 4.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Eccentric's Breeches",
|
|
||||||
"id": "eccentrics-breeches",
|
|
||||||
"defenses": [6.5, 4.5, 6.2, 6.5, 4.5, 5.0, 3.0, 4.0],
|
|
||||||
"resistances": [15, 31, 7, 7],
|
|
||||||
"poise": 6.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fingerprint Greaves",
|
|
||||||
"id": "fingerprint-greaves",
|
|
||||||
"defenses": [7.7, 6.8, 6.8, 6.8, 5.4, 7.2, 3.8, 5.4],
|
|
||||||
"resistances": [20, 37, 7, 14],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Consort's Trousers",
|
|
||||||
"id": "consorts-trousers",
|
|
||||||
"defenses": [3.0, 2.3, 2.3, 3.0, 7.4, 7.1, 7.1, 7.3],
|
|
||||||
"resistances": [29, 15, 41, 39],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Omen Greaves",
|
|
||||||
"id": "omen-greaves",
|
|
||||||
"defenses": [10.6, 8.6, 10.8, 10.8, 7.4, 8.3, 8.5, 7.9],
|
|
||||||
"resistances": [41, 39, 35, 47],
|
|
||||||
"poise": 24.0,
|
|
||||||
"weight": 14.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Carian Knight Greaves",
|
|
||||||
"id": "carian-knight-greaves",
|
|
||||||
"defenses": [6.8, 6.2, 7.1, 6.8, 7.1, 6.8, 5.4, 6.8],
|
|
||||||
"resistances": [17, 29, 13, 14],
|
|
||||||
"poise": 7.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Errant Sorcerer Boots",
|
|
||||||
"id": "errant-sorcerer-boots",
|
|
||||||
"defenses": [3.0, 3.0, 3.8, 3.0, 7.6, 7.3, 7.2, 7.6],
|
|
||||||
"resistances": [24, 15, 47, 51],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Battlemage Legwraps",
|
|
||||||
"id": "battlemage-legwraps",
|
|
||||||
"defenses": [3.0, 3.4, 2.3, 3.0, 7.4, 6.8, 7.1, 7.2],
|
|
||||||
"resistances": [26, 14, 39, 44],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Snow Witch Skirt",
|
|
||||||
"id": "snow-witch-skirt",
|
|
||||||
"defenses": [3.0, 3.4, 3.4, 2.3, 7.4, 7.4, 7.3, 7.4],
|
|
||||||
"resistances": [24, 20, 44, 44],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Traveler's Boots",
|
|
||||||
"id": "travelers-boots",
|
|
||||||
"defenses": [3.8, 3.4, 3.0, 2.3, 7.7, 7.3, 7.4, 7.2],
|
|
||||||
"resistances": [24, 15, 47, 47],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Gold Waistwrap",
|
|
||||||
"id": "gold-waistwrap",
|
|
||||||
"defenses": [4.0, 3.8, 3.8, 3.0, 7.6, 7.4, 7.6, 8.1],
|
|
||||||
"resistances": [35, 15, 56, 56],
|
|
||||||
"poise": 3.0,
|
|
||||||
"weight": 4.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Zamor Legwraps",
|
|
||||||
"id": "zamor-legwraps",
|
|
||||||
"defenses": [6.5, 5.0, 6.8, 5.8, 4.5, 4.5, 3.0, 4.0],
|
|
||||||
"resistances": [11, 37, 0, 7],
|
|
||||||
"poise": 7.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Chain Leggings",
|
|
||||||
"id": "chain-leggings",
|
|
||||||
"defenses": [6.8, 5.0, 7.4, 6.8, 4.0, 6.2, 3.4, 4.5],
|
|
||||||
"resistances": [16, 26, 7, 11],
|
|
||||||
"poise": 7.0,
|
|
||||||
"weight": 5.5
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mushroom Legs",
|
|
||||||
"id": "mushroom-legs",
|
|
||||||
"defenses": [3.4, 4.0, 1.5, 3.0, 7.6, 3.0, 7.3, 7.4],
|
|
||||||
"resistances": [63, 15, 56, 47],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 3.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Leather Boots",
|
|
||||||
"id": "leather-boots",
|
|
||||||
"defenses": [4.5, 5.4, 4.5, 5.0, 5.4, 5.4, 5.8, 5.8],
|
|
||||||
"resistances": [37, 22, 26, 31],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 4.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Knight Greaves",
|
|
||||||
"id": "knight-greaves",
|
|
||||||
"defenses": [7.1, 6.8, 7.7, 7.7, 6.2, 6.2, 5.4, 5.0],
|
|
||||||
"resistances": [17, 31, 11, 11],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Godrick Soldier Greaves",
|
|
||||||
"id": "godrick-soldier-greaves",
|
|
||||||
"defenses": [7.4, 6.5, 7.4, 7.1, 5.8, 6.2, 4.5, 5.4],
|
|
||||||
"resistances": [20, 34, 14, 14],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Raya Lucarian Greaves",
|
|
||||||
"id": "raya-lucarian-greaves",
|
|
||||||
"defenses": [7.4, 6.2, 7.7, 7.4, 6.2, 6.2, 4.0, 5.0],
|
|
||||||
"resistances": [20, 34, 14, 14],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Leyndell Soldier Greaves",
|
|
||||||
"id": "leyndell-soldier-greaves",
|
|
||||||
"defenses": [7.4, 6.8, 7.1, 7.4, 5.4, 5.8, 5.0, 5.4],
|
|
||||||
"resistances": [20, 34, 14, 14],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Radahn Soldier Greaves",
|
|
||||||
"id": "radahn-soldier-greaves",
|
|
||||||
"defenses": [7.7, 6.2, 7.1, 6.8, 5.8, 6.5, 4.5, 5.4],
|
|
||||||
"resistances": [20, 31, 14, 15],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mausoleum Greaves",
|
|
||||||
"id": "mausoleum-greaves",
|
|
||||||
"defenses": [7.4, 6.2, 7.7, 7.1, 5.8, 5.8, 5.0, 5.8],
|
|
||||||
"resistances": [20, 31, 14, 13],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Haligtree Greaves",
|
|
||||||
"id": "haligtree-greaves",
|
|
||||||
"defenses": [7.4, 6.8, 7.1, 7.4, 5.4, 5.8, 4.5, 5.8],
|
|
||||||
"resistances": [20, 34, 14, 15],
|
|
||||||
"poise": 9.0,
|
|
||||||
"weight": 6.6
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Gelmir Knight Greaves",
|
|
||||||
"id": "gelmir-knight-greaves",
|
|
||||||
"defenses": [7.7, 6.5, 8.0, 7.7, 6.2, 7.1, 5.8, 6.2],
|
|
||||||
"resistances": [22, 34, 15, 14],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Godrick Knight Greaves",
|
|
||||||
"id": "godrick-knight-greaves",
|
|
||||||
"defenses": [7.7, 6.8, 8.0, 7.4, 6.2, 6.8, 5.4, 6.2],
|
|
||||||
"resistances": [22, 35, 15, 15],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cuckoo Knight Greaves",
|
|
||||||
"id": "cuckoo-knight-greaves",
|
|
||||||
"defenses": [7.7, 6.5, 8.4, 7.7, 7.1, 6.8, 5.0, 5.8],
|
|
||||||
"resistances": [20, 35, 15, 15],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Leyndell Knight Greaves",
|
|
||||||
"id": "leyndell-knight-greaves",
|
|
||||||
"defenses": [7.7, 7.1, 7.7, 7.7, 5.8, 6.5, 5.8, 6.2],
|
|
||||||
"resistances": [22, 35, 15, 15],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Redmane Knight Greaves",
|
|
||||||
"id": "redmane-knight-greaves",
|
|
||||||
"defenses": [7.7, 6.5, 7.7, 7.1, 6.2, 7.3, 5.4, 6.2],
|
|
||||||
"resistances": [22, 34, 15, 15],
|
|
||||||
"poise": 11.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Mausoleum Knight Greaves",
|
|
||||||
"id": "mausoleum-knight-greaves",
|
|
||||||
"defenses": [7.7, 6.5, 8.4, 7.4, 6.2, 6.5, 5.8, 6.5],
|
|
||||||
"resistances": [22, 34, 15, 14],
|
|
||||||
"poise": 12.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Haligtree Knight Greaves",
|
|
||||||
"id": "haligtree-knight-greaves",
|
|
||||||
"defenses": [7.7, 7.1, 7.7, 7.7, 5.8, 6.5, 5.4, 6.5],
|
|
||||||
"resistances": [22, 35, 15, 15],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 7.3
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Foot Soldier Greaves",
|
|
||||||
"id": "foot-soldier-greaves",
|
|
||||||
"defenses": [5.4, 5.8, 5.4, 5.4, 6.2, 6.5, 6.8, 6.2],
|
|
||||||
"resistances": [39, 26, 34, 34],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 5.1
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Omenkiller Boots",
|
|
||||||
"id": "omenkiller-boots",
|
|
||||||
"defenses": [5.0, 4.5, 4.0, 4.0, 5.0, 5.4, 6.5, 5.8],
|
|
||||||
"resistances": [41, 17, 29, 29],
|
|
||||||
"poise": 4.0,
|
|
||||||
"weight": 4.4
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Deathbed Smalls",
|
|
||||||
"id": "deathbed-smalls",
|
|
||||||
"defenses": [1.5, 2.3, 1.5, 1.5, 6.8, 6.5, 6.8, 7.2],
|
|
||||||
"resistances": [24, 7, 39, 66],
|
|
||||||
"poise": 1.0,
|
|
||||||
"weight": 2.0
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Rotten Duelist Greaves",
|
|
||||||
"id": "rotten-duelist-greaves",
|
|
||||||
"defenses": [7.4, 6.2, 7.7, 7.1, 6.2, 6.5, 5.8, 6.2],
|
|
||||||
"resistances": [35, 35, 15, 15],
|
|
||||||
"poise": 10.0,
|
|
||||||
"weight": 7.3
|
|
||||||
}
|
|
||||||
]
|
|
|
@ -1,519 +0,0 @@
|
||||||
[
|
|
||||||
{
|
|
||||||
"name": "Crimson Amber Medallion",
|
|
||||||
"id": "crimson-amber-medallion",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.06, 1.0, 1.0, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crimson Amber Medallion +1",
|
|
||||||
"id": "crimson-amber-medallion-+1",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.07, 1.0, 1.0, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crimson Amber Medallion +2",
|
|
||||||
"id": "crimson-amber-medallion-+2",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.08, 1.0, 1.0, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cerulean Amber Medallion",
|
|
||||||
"id": "cerulean-amber-medallion",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.0, 1.07, 1.0, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cerulean Amber Medallion +1",
|
|
||||||
"id": "cerulean-amber-medallion-+1",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.0, 1.09, 1.0, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cerulean Amber Medallion +2",
|
|
||||||
"id": "cerulean-amber-medallion-+2",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.0, 1.11, 1.0, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Viridian Amber Medallion",
|
|
||||||
"id": "viridian-amber-medallion",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.0, 1.0, 1.11, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Viridian Amber Medallion +1",
|
|
||||||
"id": "viridian-amber-medallion-+1",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.0, 1.0, 1.13, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Viridian Amber Medallion +2",
|
|
||||||
"id": "viridian-amber-medallion-+2",
|
|
||||||
"weight": "0.3",
|
|
||||||
"multipliers": [1.0, 1.0, 1.15, 1.0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Arsenal Charm",
|
|
||||||
"id": "arsenal-charm",
|
|
||||||
"weight": "1.5",
|
|
||||||
"multipliers": [1.0, 1.0, 1.0, 1.15]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Arsenal Charm +1",
|
|
||||||
"id": "arsenal-charm-+1",
|
|
||||||
"weight": "1.5",
|
|
||||||
"multipliers": [1.0, 1.0, 1.0, 1.17]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Great-Jar's Arsenal",
|
|
||||||
"id": "great-jars-arsenal",
|
|
||||||
"weight": "1.5",
|
|
||||||
"multipliers": [1.0, 1.0, 1.0, 1.19]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Erdtree's Favor",
|
|
||||||
"id": "erdtrees-favor",
|
|
||||||
"weight": "1.5",
|
|
||||||
"multipliers": [1.03, 1.0, 1.07, 1.05]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Erdtree's Favor +1",
|
|
||||||
"id": "erdtrees-favor-+1",
|
|
||||||
"weight": "1.5",
|
|
||||||
"multipliers": [1.035, 1.0, 1.085, 1.065]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Erdtree's Favor +2",
|
|
||||||
"id": "erdtrees-favor-+2",
|
|
||||||
"weight": "1.5",
|
|
||||||
"multipliers": [1.04, 1.0, 1.1, 1.08]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Radagon's Scarseal",
|
|
||||||
"id": "radagons-scarseal",
|
|
||||||
"weight": "0.8",
|
|
||||||
"stats": [3, 0, 3, 3, 3, 0, 0, 0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Radagon's Soreseal",
|
|
||||||
"id": "radagons-soreseal",
|
|
||||||
"weight": "0.8",
|
|
||||||
"stats": [5, 0, 5, 5, 5, 0, 0, 0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Starscourge Heirloom",
|
|
||||||
"id": "starscourge-heirloom",
|
|
||||||
"weight": "0.8",
|
|
||||||
"stats": [0, 0, 0, 5, 0, 0, 0, 0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Prosthesis-Wearer Heirloom",
|
|
||||||
"id": "prosthesis-wearer-heirloom",
|
|
||||||
"weight": "0.8",
|
|
||||||
"stats": [0, 0, 0, 0, 5, 0, 0, 0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stargazer Heirloom",
|
|
||||||
"id": "stargazer-heirloom",
|
|
||||||
"weight": "0.6",
|
|
||||||
"stats": [0, 0, 0, 0, 0, 5, 0, 0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Two Fingers Heirloom",
|
|
||||||
"id": "two-fingers-heirloom",
|
|
||||||
"weight": "0.6",
|
|
||||||
"stats": [0, 0, 0, 0, 0, 0, 5, 0]
|
|
||||||
},
|
|
||||||
{ "name": "Silver Scarab", "id": "silver-scarab", "weight": "1.2" },
|
|
||||||
{ "name": "Gold Scarab", "id": "gold-scarab", "weight": "1.2" },
|
|
||||||
{ "name": "Moon of Nokstella", "id": "moon-of-nokstella", "weight": "0.8" },
|
|
||||||
{
|
|
||||||
"name": "Green Turtle Talisman",
|
|
||||||
"id": "green-turtle-talisman",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stalwart Horn Charm",
|
|
||||||
"id": "stalwart-horn-charm",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Stalwart Horn Charm +1",
|
|
||||||
"id": "stalwart-horn-charm-+1",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Immunizing Horn Charm",
|
|
||||||
"id": "immunizing-horn-charm",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Immunizing Horn Charm +1",
|
|
||||||
"id": "immunizing-horn-charm-+1",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Clarifying Horn Charm",
|
|
||||||
"id": "clarifying-horn-charm",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Clarifying Horn Charm +1",
|
|
||||||
"id": "clarifying-horn-charm-+1",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Prince of Death's Pustule",
|
|
||||||
"id": "prince-of-deaths-pustule",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Prince of Death's Cyst",
|
|
||||||
"id": "prince-of-deaths-cyst",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{ "name": "Mottled Necklace", "id": "mottled-necklace", "weight": "0.9" },
|
|
||||||
{
|
|
||||||
"name": "Mottled Necklace +1",
|
|
||||||
"id": "mottled-necklace-+1",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Bull-Goat's Talisman",
|
|
||||||
"id": "bull-goats-talisman",
|
|
||||||
"weight": "0.5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Marika's Scarseal",
|
|
||||||
"id": "marikas-scarseal",
|
|
||||||
"weight": "0.8",
|
|
||||||
"stats": [0, 3, 0, 0, 0, 3, 3, 3]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Marika's Soreseal",
|
|
||||||
"id": "marikas-soreseal",
|
|
||||||
"weight": "0.8",
|
|
||||||
"stats": [0, 5, 0, 0, 0, 5, 5, 5]
|
|
||||||
},
|
|
||||||
{ "name": "Warrior Jar Shard", "id": "warrior-jar-shard", "weight": "0.9" },
|
|
||||||
{
|
|
||||||
"name": "Shard of Alexander",
|
|
||||||
"id": "shard-of-alexander",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Millicent's Prosthesis",
|
|
||||||
"id": "millicents-prosthesis",
|
|
||||||
"weight": "1.6",
|
|
||||||
"stats": [0, 0, 0, 0, 5, 0, 0, 0]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Magic Scorpion Charm",
|
|
||||||
"id": "magic-scorpion-charm",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Lightning Scorpion Charm",
|
|
||||||
"id": "lightning-scorpion-charm",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Fire Scorpion Charm",
|
|
||||||
"id": "fire-scorpion-charm",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Sacred Scorpion Charm",
|
|
||||||
"id": "sacred-scorpion-charm",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Red-Feathered Branchsword",
|
|
||||||
"id": "red-feathered-branchsword",
|
|
||||||
"weight": "1.4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ritual Sword Talisman",
|
|
||||||
"id": "ritual-sword-talisman",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{ "name": "Spear Talisman", "id": "spear-talisman", "weight": "0.5" },
|
|
||||||
{ "name": "Hammer Talisman", "id": "hammer-talisman", "weight": "0.9" },
|
|
||||||
{
|
|
||||||
"name": "Winged Sword Insignia",
|
|
||||||
"id": "winged-sword-insignia",
|
|
||||||
"weight": "1.4"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Rotten Winged Sword Insignia",
|
|
||||||
"id": "rotten-winged-sword-insignia",
|
|
||||||
"weight": "1.4"
|
|
||||||
},
|
|
||||||
{ "name": "Dagger Talisman", "id": "dagger-talisman", "weight": "1.1" },
|
|
||||||
{
|
|
||||||
"name": "Arrow's Reach Talisman",
|
|
||||||
"id": "arrows-reach-talisman",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{ "name": "Blue Dancer Charm", "id": "blue-dancer-charm", "weight": "0.9" },
|
|
||||||
{
|
|
||||||
"name": "Twinblade Talisman",
|
|
||||||
"id": "twinblade-talisman",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{ "name": "Axe Talisman", "id": "axe-talisman", "weight": "0.8" },
|
|
||||||
{ "name": "Lance Talisman", "id": "lance-talisman", "weight": "0.7" },
|
|
||||||
{
|
|
||||||
"name": "Arrow's Sting Talisman",
|
|
||||||
"id": "arrows-sting-talisman",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Lord of Blood's Exultation",
|
|
||||||
"id": "lord-of-bloods-exultation",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Kindred of Rot's Exultation",
|
|
||||||
"id": "kindred-of-rots-exultation",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{ "name": "Claw Talisman", "id": "claw-talisman", "weight": "0.7" },
|
|
||||||
{ "name": "Roar Medallion", "id": "roar-medallion", "weight": "0.7" },
|
|
||||||
{
|
|
||||||
"name": "Curved Sword Talisman",
|
|
||||||
"id": "curved-sword-talisman",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{ "name": "Companion Jar", "id": "companion-jar", "weight": "0.6" },
|
|
||||||
{
|
|
||||||
"name": "Perfumer's Talisman",
|
|
||||||
"id": "perfumers-talisman",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Graven-School Talisman",
|
|
||||||
"id": "graven-school-talisman",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Graven-Mass Talisman",
|
|
||||||
"id": "graven-mass-talisman",
|
|
||||||
"weight": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Faithful's Canvas Talisman",
|
|
||||||
"id": "faithfuls-canvas-talisman",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Flock's Canvas Talisman",
|
|
||||||
"id": "flocks-canvas-talisman",
|
|
||||||
"weight": "1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Old Lord's Talisman",
|
|
||||||
"id": "old-lords-talisman",
|
|
||||||
"weight": "0.5"
|
|
||||||
},
|
|
||||||
{ "name": "Radagon Icon", "id": "radagon-icon", "weight": "0.7" },
|
|
||||||
{
|
|
||||||
"name": "Primal Glintstone Blade",
|
|
||||||
"id": "primal-glintstone-blade",
|
|
||||||
"weight": "0.6",
|
|
||||||
"multipliers": [0.85, 1.0, 1.0, 1.0]
|
|
||||||
},
|
|
||||||
{ "name": "Godfrey Icon", "id": "godfrey-icon", "weight": "0.8" },
|
|
||||||
{
|
|
||||||
"name": "Dragoncrest Shield Talisman",
|
|
||||||
"id": "dragoncrest-shield-talisman",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Dragoncrest Shield Talisman +1",
|
|
||||||
"id": "dragoncrest-shield-talisman-+1",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Dragoncrest Shield Talisman +2",
|
|
||||||
"id": "dragoncrest-shield-talisman-+2",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Dragoncrest Greatshield Talisman",
|
|
||||||
"id": "dragoncrest-greatshield-talisman",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Spelldrake Talisman",
|
|
||||||
"id": "spelldrake-talisman",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Spelldrake Talisman +1",
|
|
||||||
"id": "spelldrake-talisman-+1",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Spelldrake Talisman +2",
|
|
||||||
"id": "spelldrake-talisman-+2",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Flamedrake Talisman",
|
|
||||||
"id": "flamedrake-talisman",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Flamedrake Talisman +1",
|
|
||||||
"id": "flamedrake-talisman-+1",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Flamedrake Talisman +2",
|
|
||||||
"id": "flamedrake-talisman-+2",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Boltdrake Talisman",
|
|
||||||
"id": "boltdrake-talisman",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Boltdrake Talisman +1",
|
|
||||||
"id": "boltdrake-talisman-+1",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Boltdrake Talisman +2",
|
|
||||||
"id": "boltdrake-talisman-+2",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Haligdrake Talisman",
|
|
||||||
"id": "haligdrake-talisman",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Haligdrake Talisman +1",
|
|
||||||
"id": "haligdrake-talisman-+1",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Haligdrake Talisman +2",
|
|
||||||
"id": "haligdrake-talisman-+2",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pearldrake Talisman",
|
|
||||||
"id": "pearldrake-talisman",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pearldrake Talisman +1",
|
|
||||||
"id": "pearldrake-talisman-+1",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Pearldrake Talisman +2",
|
|
||||||
"id": "pearldrake-talisman-+2",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crucible Scale Talisman",
|
|
||||||
"id": "crucible-scale-talisman",
|
|
||||||
"weight": "1.1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crucible Feather Talisman",
|
|
||||||
"id": "crucible-feather-talisman",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blue-Feathered Branchsword",
|
|
||||||
"id": "blue-feathered-branchsword",
|
|
||||||
"weight": "1.1"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ritual Shield Talisman",
|
|
||||||
"id": "ritual-shield-talisman",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Greatshield Talisman",
|
|
||||||
"id": "greatshield-talisman",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crucible Knot Talisman",
|
|
||||||
"id": "crucible-knot-talisman",
|
|
||||||
"weight": "0.5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Crimson Seed Talisman",
|
|
||||||
"id": "crimson-seed-talisman",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Cerulean Seed Talisman",
|
|
||||||
"id": "cerulean-seed-talisman",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Blessed Dew Talisman",
|
|
||||||
"id": "blessed-dew-talisman",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{ "name": "Taker's Cameo", "id": "takers-cameo", "weight": "1" },
|
|
||||||
{
|
|
||||||
"name": "Godskin Swaddling Cloth",
|
|
||||||
"id": "godskin-swaddling-cloth",
|
|
||||||
"weight": "0.9"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Assassin's Crimson Dagger",
|
|
||||||
"id": "assassins-crimson-dagger",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Assassin's Cerulean Dagger",
|
|
||||||
"id": "assassins-cerulean-dagger",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{ "name": "Crepus's Vial", "id": "crepuss-vial", "weight": "0.7" },
|
|
||||||
{ "name": "Concealing Veil", "id": "concealing-veil", "weight": "0.9" },
|
|
||||||
{
|
|
||||||
"name": "Carian Filigreed Crest",
|
|
||||||
"id": "carian-filigreed-crest",
|
|
||||||
"weight": "0.8"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Longtail Cat Talisman",
|
|
||||||
"id": "longtail-cat-talisman",
|
|
||||||
"weight": "0.6"
|
|
||||||
},
|
|
||||||
{ "name": "Shabriri's Woe", "id": "shabriris-woe", "weight": "0.6" },
|
|
||||||
{ "name": "Daedicar's Woe", "id": "daedicars-woe", "weight": "0.8" },
|
|
||||||
{ "name": "Sacrificial Twig", "id": "sacrificial-twig", "weight": "1" },
|
|
||||||
{
|
|
||||||
"name": "Furled Finger's Trick-Mirror",
|
|
||||||
"id": "furled-fingers-trick-mirror",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Host's Trick-Mirror",
|
|
||||||
"id": "hosts-trick-mirror",
|
|
||||||
"weight": "0.7"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Entwining Umbilical Cord",
|
|
||||||
"id": "entwining-umbilical-cord",
|
|
||||||
"weight": "0.5"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ancestral Spirit's Horn",
|
|
||||||
"id": "ancestral-spirits-horn",
|
|
||||||
"weight": "1.2"
|
|
||||||
}
|
|
||||||
]
|
|
60
sandbox.js
Normal file
60
sandbox.js
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
const fs = require("fs");
|
||||||
|
|
||||||
|
const sum = (a, b) => a + b;
|
||||||
|
|
||||||
|
let weapons = JSON.parse(fs.readFileSync("./output/weapons.json"));
|
||||||
|
let corrections = JSON.parse(fs.readFileSync("./output/damage.json"));
|
||||||
|
let infusions = JSON.parse(fs.readFileSync("./output/infusions.json"));
|
||||||
|
|
||||||
|
let weapon = weapons.find(item => item.id == "longsword");
|
||||||
|
let infusion = infusions.find(inf => inf.id == "standard");
|
||||||
|
let stats = [20, 10, 10, 10, 10]
|
||||||
|
|
||||||
|
function damage(item, infusion, stats, upgrade) {
|
||||||
|
let itemInfusion = item.infusions[infusion.id];
|
||||||
|
|
||||||
|
let bases = infusion.damage.map((amount, ty) => itemInfusion.damage[ty] * (amount + infusion.upgrade[ty] * upgrade));
|
||||||
|
|
||||||
|
let extras = bases.map((amount, ty) => {
|
||||||
|
let calc = corrections.find(c => c.id == itemInfusion.corrections[ty]);
|
||||||
|
let correction = modifiers(calc, stats, itemInfusion.masks[ty]);
|
||||||
|
console.log(correction);
|
||||||
|
let scalings = itemInfusion.scaling.map(itemScaling => {
|
||||||
|
return (itemScaling * infusion.scaling[ty] + itemScaling * infusion.scaling[ty] * infusion.growth[ty] * upgrade);
|
||||||
|
})
|
||||||
|
let extras = scalings.map((statScaling, j) => amount * statScaling * correction[j] / 100.0)
|
||||||
|
return extras.reduce(sum);
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("base dmg: " + bases);
|
||||||
|
console.log("extra dmg: " + extras)
|
||||||
|
|
||||||
|
return Math.floor(bases.reduce(sum) + extras.reduce(sum));
|
||||||
|
}
|
||||||
|
|
||||||
|
function modifiers(calc, stats, masks) {
|
||||||
|
return stats.map((stat, ty) => {
|
||||||
|
let mask = masks[ty];
|
||||||
|
if (mask == 0) {
|
||||||
|
return 0.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
let capIndex = calc.softcaps[ty].findIndex(cap => cap >= stat) - 1;
|
||||||
|
let cap = calc.softcaps[ty][capIndex];
|
||||||
|
let capDelta = (calc.softcaps[ty][capIndex + 1] || cap) - cap;
|
||||||
|
let growth = calc.growth[ty][capIndex];
|
||||||
|
let growthDelta = (calc.growth[ty][capIndex + 1] || growth) - growth;
|
||||||
|
let adjust = calc.adjustments[ty][capIndex];
|
||||||
|
|
||||||
|
if (Math.sign(adjust) != -1) {
|
||||||
|
return growth + growthDelta * ((stat - cap) / capDelta) ** adjust;
|
||||||
|
} else {
|
||||||
|
return growth + growthDelta * (1 - (1 - ((stat - cap) / capDelta)) ** Math.abs(adjust));
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
for (u = 0; u < 26; u++) {
|
||||||
|
console.log("+" + 25 + ": " + damage(weapon, infusion, stats, 25))
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue