Update to 1.20 properly
This commit is contained in:
parent
f91439e9dd
commit
2ac4ac2fef
9 changed files with 65472 additions and 219823 deletions
284442
clean.json
284442
clean.json
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
59
id_map.json
59
id_map.json
|
@ -3543,5 +3543,62 @@
|
||||||
"Zjarr": 3541,
|
"Zjarr": 3541,
|
||||||
"Zombified Branch": 3542,
|
"Zombified Branch": 3542,
|
||||||
"default": 3543,
|
"default": 3543,
|
||||||
"Zipper": 3544
|
"Zipper": 3544,
|
||||||
|
"Anxiolytic": 3545,
|
||||||
|
"Panic Zealot": 3546,
|
||||||
|
"Dissociation": 3547,
|
||||||
|
"Adrenaline": 3548,
|
||||||
|
"Agave": 3549,
|
||||||
|
"Amanuensis": 3550,
|
||||||
|
"Ataraxy": 3551,
|
||||||
|
"Blossom Haze": 3552,
|
||||||
|
"Chain Rule": 3553,
|
||||||
|
"Clerical": 3554,
|
||||||
|
"Cursed Jackboots": 3555,
|
||||||
|
"Derecho": 3556,
|
||||||
|
"Double Vision": 3557,
|
||||||
|
"Entanglement": 3558,
|
||||||
|
"Example": 3559,
|
||||||
|
"Fluorescence": 3560,
|
||||||
|
"Gert Relik": 3561,
|
||||||
|
"Guillotine": 3562,
|
||||||
|
"Infernal Impulse": 3563,
|
||||||
|
"Inmate Outfit": 3564,
|
||||||
|
"Luminiferous Aether": 3565,
|
||||||
|
"Magnet Repulsor": 3566,
|
||||||
|
"Matchbook": 3567,
|
||||||
|
"Multitool": 3568,
|
||||||
|
"First Steps": 3569,
|
||||||
|
"Spiketop": 3570,
|
||||||
|
"Waist Apron": 3571,
|
||||||
|
"Ophiolite": 3572,
|
||||||
|
"Ornithopter": 3573,
|
||||||
|
"Outrage": 3574,
|
||||||
|
"Panic Attack": 3575,
|
||||||
|
"Pedometer": 3576,
|
||||||
|
"Phantasmagoria": 3577,
|
||||||
|
"Photon": 3578,
|
||||||
|
"Pro Tempore": 3579,
|
||||||
|
"Prosencephalon": 3580,
|
||||||
|
"Homeorhesis": 3581,
|
||||||
|
"Abrasion": 3582,
|
||||||
|
"Eyes on All": 3583,
|
||||||
|
"Metamorphosis": 3584,
|
||||||
|
"Cacophony": 3585,
|
||||||
|
"Recalcitrance": 3586,
|
||||||
|
"Rhythm of the Seasons": 3587,
|
||||||
|
"Dodge Core": 3588,
|
||||||
|
"Harden Core": 3589,
|
||||||
|
"Hustle Core": 3590,
|
||||||
|
"Overload Core": 3591,
|
||||||
|
"Synchro Core": 3592,
|
||||||
|
"Cinfras Souvenir T-Shirt": 3593,
|
||||||
|
"Speedyboy": 3594,
|
||||||
|
"Saltest Spear": 3595,
|
||||||
|
"Schist": 3596,
|
||||||
|
"Scarlet Veil": 3597,
|
||||||
|
"Spiritdancer": 3598,
|
||||||
|
"Stratosphere": 3599,
|
||||||
|
"The Jingling Jester": 3600,
|
||||||
|
"Vacarme": 3601
|
||||||
}
|
}
|
2
load.js
2
load.js
|
@ -1,4 +1,4 @@
|
||||||
const DB_VERSION = 30;
|
const DB_VERSION = 31;
|
||||||
// @See https://github.com/mdn/learning-area/blob/master/javascript/apis/client-side-storage/indexeddb/video-store/index.js
|
// @See https://github.com/mdn/learning-area/blob/master/javascript/apis/client-side-storage/indexeddb/video-store/index.js
|
||||||
|
|
||||||
let db;
|
let db;
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
Version 0: http://localhost:8000/#0_0K30oY09X2SJ2SK2SL2SM2SN0QQ
|
Version 0: http://localhost:8000/#0_0K30oY09X2SJ2SK2SL2SM2SN0QQ
|
||||||
Version 1: http://localhost:8000/#1_0690px0CE0QR0050050K40BR0Qk00001004fI
|
Version 1: http://localhost:8000/#1_0690px0CE0QR0050050K40BR0Qk00001004fI
|
||||||
Version 2: http://localhost:8000/#2_2SG2SH2SI2SJ2SK0K22SM2SN05n000t210t0000000
|
Version 2: http://localhost:8000/#2_2SG2SH2SI2SJ2SK0K22SM2SN05n000t210t0000000
|
||||||
|
Version 3: https://localhost:8000/#3_0250px0uX0K50K20OK0OJ00A0Qe1z+m21001M1g0000100nZ6
|
||||||
|
Version 3: https://localhost:8000/#3_0K60iv0CE0Qt0BK0BK0K40Jc0uG160V050o1L1g00001003C6
|
||||||
|
|
199
transform_preserve.py
Normal file
199
transform_preserve.py
Normal file
|
@ -0,0 +1,199 @@
|
||||||
|
"""
|
||||||
|
|
||||||
|
NOTE!!!!!!!
|
||||||
|
|
||||||
|
DEMON TIDE 1.20 IS HARD CODED!
|
||||||
|
|
||||||
|
AMBIVALENCE IS REMOVED!
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
import json
|
||||||
|
|
||||||
|
with open("dump.json", "r") as infile:
|
||||||
|
data = json.load(infile)
|
||||||
|
|
||||||
|
with open("updated.json", "r") as oldfile:
|
||||||
|
old_data = json.load(oldfile)
|
||||||
|
|
||||||
|
items = data["items"]
|
||||||
|
old_items = old_data["items"]
|
||||||
|
del data["request"]
|
||||||
|
|
||||||
|
# import os
|
||||||
|
# sets = dict()
|
||||||
|
# for filename in os.listdir('sets'):
|
||||||
|
# if "json" not in filename:
|
||||||
|
# continue
|
||||||
|
# set_name = filename[1:].split(".")[0].replace("+", " ").replace("%27", "'")
|
||||||
|
# with open("sets/"+filename) as set_info:
|
||||||
|
# set_obj = json.load(set_info)
|
||||||
|
# for item in set_obj["items"]:
|
||||||
|
# item_set_map[item] = set_name
|
||||||
|
# sets[set_name] = set_obj
|
||||||
|
#
|
||||||
|
# data["sets"] = sets
|
||||||
|
data["sets"] = old_data["sets"]
|
||||||
|
item_set_map = dict()
|
||||||
|
for set_name, set_data in data["sets"].items():
|
||||||
|
for item_name in set_data["items"]:
|
||||||
|
item_set_map[item_name] = set_name
|
||||||
|
|
||||||
|
must_mappings = [
|
||||||
|
"strength",
|
||||||
|
"dexterity",
|
||||||
|
"intelligence",
|
||||||
|
"agility",
|
||||||
|
"defense",
|
||||||
|
"strengthPoints",
|
||||||
|
"dexterityPoints",
|
||||||
|
"intelligencePoints",
|
||||||
|
"agilityPoints",
|
||||||
|
"defensePoints",
|
||||||
|
]
|
||||||
|
|
||||||
|
translate_mappings = {
|
||||||
|
#"name": "name",
|
||||||
|
#"displayName": "displayName",
|
||||||
|
#"tier": "tier",
|
||||||
|
#"set": "set",
|
||||||
|
"sockets": "slots",
|
||||||
|
#"type": "type",
|
||||||
|
#"armorType": "armorType", (deleted)
|
||||||
|
#"armorColor": "color", (deleted)
|
||||||
|
#"addedLore": "lore", (deleted)
|
||||||
|
#"material": "material", (deleted)
|
||||||
|
"dropType": "drop",
|
||||||
|
#"quest": "quest",
|
||||||
|
"restrictions": "restrict",
|
||||||
|
"damage": "nDam",
|
||||||
|
"fireDamage": "fDam",
|
||||||
|
"waterDamage": "wDam",
|
||||||
|
"airDamage": "aDam",
|
||||||
|
"thunderDamage": "tDam",
|
||||||
|
"earthDamage": "eDam",
|
||||||
|
"attackSpeed": "atkSpd",
|
||||||
|
"health": "hp",
|
||||||
|
"fireDefense": "fDef",
|
||||||
|
"waterDefense": "wDef",
|
||||||
|
"airDefense": "aDef",
|
||||||
|
"thunderDefense": "tDef",
|
||||||
|
"earthDefense": "eDef",
|
||||||
|
"level": "lvl",
|
||||||
|
"classRequirement": "classReq",
|
||||||
|
"strength": "strReq",
|
||||||
|
"dexterity": "dexReq",
|
||||||
|
"intelligence": "intReq",
|
||||||
|
"agility": "agiReq",
|
||||||
|
"defense": "defReq",
|
||||||
|
"healthRegen": "hprPct",
|
||||||
|
"manaRegen": "mr",
|
||||||
|
"spellDamage": "sdPct",
|
||||||
|
"damageBonus": "mdPct",
|
||||||
|
"lifeSteal": "ls",
|
||||||
|
"manaSteal": "ms",
|
||||||
|
"xpBonus": "xpb",
|
||||||
|
"lootBonus": "lb",
|
||||||
|
"reflection": "ref",
|
||||||
|
"strengthPoints": "str",
|
||||||
|
"dexterityPoints": "dex",
|
||||||
|
"intelligencePoints": "int",
|
||||||
|
"agilityPoints": "agi",
|
||||||
|
"defensePoints": "def",
|
||||||
|
#"thorns": "thorns",
|
||||||
|
"exploding": "expd",
|
||||||
|
"speed": "spd",
|
||||||
|
"attackSpeedBonus": "atkTier",
|
||||||
|
#"poison": "poison",
|
||||||
|
"healthBonus": "hpBonus",
|
||||||
|
"soulPoints": "spRegen",
|
||||||
|
"emeraldStealing": "eSteal",
|
||||||
|
"healthRegenRaw": "hprRaw",
|
||||||
|
"spellDamageRaw": "sdRaw",
|
||||||
|
"damageBonusRaw": "mdRaw",
|
||||||
|
"bonusFireDamage": "fDamPct",
|
||||||
|
"bonusWaterDamage": "wDamPct",
|
||||||
|
"bonusAirDamage": "aDamPct",
|
||||||
|
"bonusThunderDamage": "tDamPct",
|
||||||
|
"bonusEarthDamage": "eDamPct",
|
||||||
|
"bonusFireDefense": "fDefPct",
|
||||||
|
"bonusWaterDefense": "wDefPct",
|
||||||
|
"bonusAirDefense": "aDefPct",
|
||||||
|
"bonusThunderDefense": "tDefPct",
|
||||||
|
"bonusEarthDefense": "eDefPct",
|
||||||
|
"accessoryType": "type",
|
||||||
|
"identified": "fixID",
|
||||||
|
#"skin": "skin",
|
||||||
|
#"category": "category",
|
||||||
|
|
||||||
|
"spellCostPct1": "spPct1",
|
||||||
|
"spellCostRaw1": "spRaw1",
|
||||||
|
"spellCostPct2": "spPct2",
|
||||||
|
"spellCostRaw2": "spRaw2",
|
||||||
|
"spellCostPct3": "spPct3",
|
||||||
|
"spellCostRaw3": "spRaw3",
|
||||||
|
"spellCostPct4": "spPct4",
|
||||||
|
"spellCostRaw4": "spRaw4",
|
||||||
|
|
||||||
|
"rainbowSpellDamageRaw": "rainbowRaw",
|
||||||
|
#"sprint": "sprint",
|
||||||
|
"sprintRegen": "sprintReg",
|
||||||
|
"jumpHeight": "jh",
|
||||||
|
"lootQuality": "lq",
|
||||||
|
|
||||||
|
"gatherXpBonus": "gXp",
|
||||||
|
"gatherSpeed": "gSpd",
|
||||||
|
}
|
||||||
|
|
||||||
|
delete_keys = [
|
||||||
|
"addedLore",
|
||||||
|
"skin",
|
||||||
|
#"armorType",
|
||||||
|
#"armorColor",
|
||||||
|
#"material"
|
||||||
|
]
|
||||||
|
|
||||||
|
id_map = {item["name"]: item["id"] for item in old_items}
|
||||||
|
used_ids = set([v for k, v in id_map.items()])
|
||||||
|
max_id = 0
|
||||||
|
|
||||||
|
known_item_names = set()
|
||||||
|
|
||||||
|
for item in items:
|
||||||
|
for key in delete_keys:
|
||||||
|
if key in item:
|
||||||
|
del item[key]
|
||||||
|
|
||||||
|
for k in list(item.keys()):
|
||||||
|
if item[k] == 0 and not k in must_mappings:
|
||||||
|
del item[k]
|
||||||
|
|
||||||
|
for k, v in translate_mappings.items():
|
||||||
|
if k in item:
|
||||||
|
item[v] = item[k]
|
||||||
|
del item[k]
|
||||||
|
|
||||||
|
if not (item["name"] in id_map):
|
||||||
|
while max_id in used_ids:
|
||||||
|
max_id += 1
|
||||||
|
used_ids.add(max_id)
|
||||||
|
id_map[item["name"]] = max_id
|
||||||
|
print(f'New item: {item["name"]} (id: {max_id})')
|
||||||
|
item["id"] = id_map[item["name"]]
|
||||||
|
|
||||||
|
known_item_names.add(item["name"])
|
||||||
|
|
||||||
|
item["type"] = item["type"].lower()
|
||||||
|
if item["name"] in item_set_map:
|
||||||
|
item["set"] = item_set_map[item["name"]]
|
||||||
|
|
||||||
|
for item in old_items:
|
||||||
|
if "remapID" in item:
|
||||||
|
items.append(item)
|
||||||
|
elif item["name"] not in known_item_names:
|
||||||
|
print(f'Unknown old item: {item["name"]}!!!')
|
||||||
|
|
||||||
|
with open("clean.json", "w") as outfile:
|
||||||
|
json.dump(data, outfile, indent=2)
|
||||||
|
with open("compress.json", "w") as outfile:
|
||||||
|
json.dump(data, outfile)
|
576
updated.json
576
updated.json
|
@ -134668,73 +134668,33 @@
|
||||||
"type": "chestplate",
|
"type": "chestplate",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": "General's Orders",
|
"quest": "General's Orders",
|
||||||
"poison": 0,
|
"fixID": false,
|
||||||
"thorns": 0,
|
|
||||||
"sprint": 0,
|
|
||||||
"category": "armor",
|
|
||||||
"slots": 3,
|
|
||||||
"drop": "never",
|
|
||||||
"restrict": "Untradable",
|
|
||||||
"hp": 1900,
|
|
||||||
"fDef": 55,
|
|
||||||
"wDef": 55,
|
|
||||||
"aDef": 55,
|
|
||||||
"tDef": 55,
|
|
||||||
"eDef": 55,
|
|
||||||
"lvl": 80,
|
|
||||||
"classReq": null,
|
|
||||||
"strReq": 0,
|
"strReq": 0,
|
||||||
"dexReq": 0,
|
"dexReq": 0,
|
||||||
"intReq": 0,
|
"intReq": 0,
|
||||||
"agiReq": 0,
|
|
||||||
"defReq": 0,
|
"defReq": 0,
|
||||||
"hprPct": 0,
|
"agiReq": 0,
|
||||||
"mr": 0,
|
"category": "armor",
|
||||||
"sdPct": 0,
|
"lvl": 80,
|
||||||
"mdPct": 0,
|
"hp": 2150,
|
||||||
"ls": 0,
|
"eDef": 55,
|
||||||
"ms": 0,
|
"tDef": 55,
|
||||||
"xpb": 15,
|
"wDef": 55,
|
||||||
"lb": 0,
|
"fDef": 55,
|
||||||
"ref": 0,
|
"aDef": 55,
|
||||||
|
"slots": 3,
|
||||||
"str": -1,
|
"str": -1,
|
||||||
"dex": -1,
|
"dex": -1,
|
||||||
"int": -1,
|
"int": -1,
|
||||||
"agi": -1,
|
|
||||||
"def": -1,
|
"def": -1,
|
||||||
"expd": 0,
|
"agi": -1,
|
||||||
"spd": 0,
|
"hprRaw": 100,
|
||||||
"atkTier": 0,
|
"xpb": 15,
|
||||||
"hpBonus": 0,
|
"lb": 15,
|
||||||
"spRegen": 0,
|
"spd": 15,
|
||||||
"eSteal": 0,
|
"sdRaw": 150,
|
||||||
"hprRaw": 0,
|
"mdRaw": 200,
|
||||||
"sdRaw": 0,
|
"jh": 1,
|
||||||
"mdRaw": 0,
|
|
||||||
"fDamPct": 5,
|
|
||||||
"wDamPct": 5,
|
|
||||||
"aDamPct": 5,
|
|
||||||
"tDamPct": 5,
|
|
||||||
"eDamPct": 5,
|
|
||||||
"fDefPct": 0,
|
|
||||||
"wDefPct": 0,
|
|
||||||
"aDefPct": 0,
|
|
||||||
"tDefPct": 0,
|
|
||||||
"eDefPct": 0,
|
|
||||||
"spPct1": 0,
|
|
||||||
"spRaw1": 0,
|
|
||||||
"spPct2": 0,
|
|
||||||
"spRaw2": 0,
|
|
||||||
"spPct3": 0,
|
|
||||||
"spRaw3": 0,
|
|
||||||
"spPct4": 0,
|
|
||||||
"spRaw4": 0,
|
|
||||||
"rainbowRaw": 0,
|
|
||||||
"sprintReg": 0,
|
|
||||||
"jh": 0,
|
|
||||||
"lq": 0,
|
|
||||||
"gXp": 0,
|
|
||||||
"gSpd": 0,
|
|
||||||
"id": 1869
|
"id": 1869
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -240172,77 +240132,31 @@
|
||||||
"id": 3328
|
"id": 3328
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Tisaun's Honour",
|
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
|
"type": "ring",
|
||||||
|
"name": "Tisaun's Honour",
|
||||||
|
"displayName": "Tisaun's Honour",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"poison": 0,
|
|
||||||
"thorns": 8,
|
|
||||||
"sprint": 0,
|
|
||||||
"category": "accessory",
|
|
||||||
"slots": 0,
|
|
||||||
"drop": "lootchest",
|
|
||||||
"hp": 0,
|
|
||||||
"fDef": 20,
|
|
||||||
"wDef": 0,
|
|
||||||
"aDef": 0,
|
|
||||||
"tDef": 0,
|
|
||||||
"eDef": 15,
|
|
||||||
"lvl": 88,
|
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
"fixID": false,
|
||||||
"strReq": 35,
|
"strReq": 35,
|
||||||
"dexReq": 0,
|
"dexReq": 0,
|
||||||
"intReq": 0,
|
"intReq": 0,
|
||||||
"agiReq": 0,
|
|
||||||
"defReq": 35,
|
"defReq": 35,
|
||||||
"hprPct": 0,
|
"agiReq": 0,
|
||||||
"mr": 0,
|
"category": "accessory",
|
||||||
"sdPct": 0,
|
"lvl": 88,
|
||||||
"mdPct": 8,
|
"eDef": 15,
|
||||||
"ls": 0,
|
"fDef": 20,
|
||||||
"ms": 0,
|
|
||||||
"xpb": 0,
|
|
||||||
"lb": 0,
|
|
||||||
"ref": 8,
|
|
||||||
"str": 0,
|
"str": 0,
|
||||||
"dex": 0,
|
"dex": 0,
|
||||||
"int": 0,
|
"int": 0,
|
||||||
"agi": 0,
|
|
||||||
"def": 7,
|
"def": 7,
|
||||||
"expd": 0,
|
"agi": 0,
|
||||||
"spd": -5,
|
"thorns": 8,
|
||||||
"atkTier": 0,
|
"ref": 8,
|
||||||
"hpBonus": 0,
|
"mdPct": 6,
|
||||||
"spRegen": 0,
|
|
||||||
"eSteal": 0,
|
|
||||||
"hprRaw": 0,
|
|
||||||
"sdRaw": 0,
|
|
||||||
"mdRaw": 0,
|
|
||||||
"fDamPct": 0,
|
|
||||||
"wDamPct": 0,
|
|
||||||
"aDamPct": 0,
|
|
||||||
"tDamPct": 0,
|
|
||||||
"eDamPct": 0,
|
|
||||||
"fDefPct": 0,
|
|
||||||
"wDefPct": 0,
|
|
||||||
"aDefPct": 0,
|
|
||||||
"tDefPct": 0,
|
|
||||||
"eDefPct": 0,
|
|
||||||
"type": "ring",
|
|
||||||
"spPct1": 0,
|
|
||||||
"spRaw1": 0,
|
|
||||||
"spPct2": 0,
|
|
||||||
"spRaw2": 0,
|
|
||||||
"spPct3": 0,
|
|
||||||
"spRaw3": 0,
|
|
||||||
"spPct4": 0,
|
|
||||||
"spRaw4": 0,
|
|
||||||
"rainbowRaw": 0,
|
|
||||||
"sprintReg": 0,
|
|
||||||
"jh": 0,
|
|
||||||
"lq": 0,
|
|
||||||
"gXp": 0,
|
|
||||||
"gSpd": 0,
|
|
||||||
"id": 3329
|
"id": 3329
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -255961,32 +255875,9 @@
|
||||||
"remapID": 3020
|
"remapID": 3020
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"id": 3579,
|
||||||
"type": "ring",
|
"name": "3597",
|
||||||
"name": "Tisaun's Honor",
|
"remapID": 3329
|
||||||
"displayName": "Tisaun's Honor",
|
|
||||||
"set": null,
|
|
||||||
"quest": null,
|
|
||||||
"classReq": null,
|
|
||||||
"fixID": false,
|
|
||||||
"strReq": 35,
|
|
||||||
"dexReq": 0,
|
|
||||||
"intReq": 0,
|
|
||||||
"defReq": 35,
|
|
||||||
"agiReq": 0,
|
|
||||||
"category": "accessory",
|
|
||||||
"lvl": 88,
|
|
||||||
"eDef": 15,
|
|
||||||
"fDef": 20,
|
|
||||||
"str": 0,
|
|
||||||
"dex": 0,
|
|
||||||
"int": 0,
|
|
||||||
"def": 7,
|
|
||||||
"agi": 0,
|
|
||||||
"thorns": 8,
|
|
||||||
"ref": 8,
|
|
||||||
"mdPct": 6,
|
|
||||||
"id": 3579
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10122,
|
"id": 10122,
|
||||||
|
@ -256804,7 +256695,7 @@
|
||||||
{
|
{
|
||||||
"tier": "Unique",
|
"tier": "Unique",
|
||||||
"type": "helmet",
|
"type": "helmet",
|
||||||
"name": "Nychthemeron",
|
"name": "Breakdown",
|
||||||
"displayName": "Nychthemeron",
|
"displayName": "Nychthemeron",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
|
@ -256972,7 +256863,7 @@
|
||||||
{
|
{
|
||||||
"tier": "Fabled",
|
"tier": "Fabled",
|
||||||
"type": "spear",
|
"type": "spear",
|
||||||
"name": "Rhythm of Seasons",
|
"name": "Rhythm of the Seasons",
|
||||||
"displayName": "Rhythm of the Seasons",
|
"displayName": "Rhythm of the Seasons",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
|
@ -257683,41 +257574,9 @@
|
||||||
"remapID": 2065
|
"remapID": 2065
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"id": 3611,
|
||||||
"type": "chestplate",
|
"name": "3611",
|
||||||
"name": "Changelings Chestplate",
|
"remapID": 1869
|
||||||
"displayName": "Changelings Chestplate",
|
|
||||||
"set": null,
|
|
||||||
"quest": null,
|
|
||||||
"classReq": null,
|
|
||||||
"fixID": false,
|
|
||||||
"strReq": 0,
|
|
||||||
"dexReq": 0,
|
|
||||||
"intReq": 0,
|
|
||||||
"defReq": 0,
|
|
||||||
"agiReq": 0,
|
|
||||||
"category": "armor",
|
|
||||||
"lvl": 80,
|
|
||||||
"hp": 2150,
|
|
||||||
"eDef": 55,
|
|
||||||
"tDef": 55,
|
|
||||||
"wDef": 55,
|
|
||||||
"fDef": 55,
|
|
||||||
"aDef": 55,
|
|
||||||
"slots": 3,
|
|
||||||
"str": -1,
|
|
||||||
"dex": -1,
|
|
||||||
"int": -1,
|
|
||||||
"def": -1,
|
|
||||||
"agi": -1,
|
|
||||||
"hprRaw": 100,
|
|
||||||
"xpb": 15,
|
|
||||||
"lb": 15,
|
|
||||||
"spd": 15,
|
|
||||||
"sdRaw": 150,
|
|
||||||
"mdRaw": 200,
|
|
||||||
"jh": 1,
|
|
||||||
"id": 3611
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 10294,
|
"id": 10294,
|
||||||
|
@ -258668,7 +258527,7 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "leggings",
|
"type": "leggings",
|
||||||
"name": "Anixolytic",
|
"name": "Anxiolytic",
|
||||||
"displayName": "Anxiolytic",
|
"displayName": "Anxiolytic",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
|
@ -259124,6 +258983,57 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sets": {
|
"sets": {
|
||||||
|
"Synch Core": {
|
||||||
|
"items": [
|
||||||
|
"Overload Core",
|
||||||
|
"Synchro Core",
|
||||||
|
"Dodge Core",
|
||||||
|
"Harden Core",
|
||||||
|
"Hustle Core"
|
||||||
|
],
|
||||||
|
"bonuses": [
|
||||||
|
{},
|
||||||
|
{
|
||||||
|
"hprRaw": -20,
|
||||||
|
"fDefPct": -8,
|
||||||
|
"wDefPct": -8,
|
||||||
|
"aDefPct": -8,
|
||||||
|
"tDefPct": -8,
|
||||||
|
"eDefPct": -8,
|
||||||
|
"sprint": -8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hprRaw": 150,
|
||||||
|
"fDefPct": -40,
|
||||||
|
"wDefPct": -40,
|
||||||
|
"aDefPct": -40,
|
||||||
|
"tDefPct": -40,
|
||||||
|
"eDefPct": -40,
|
||||||
|
"sprint": -35,
|
||||||
|
"ws": 16,
|
||||||
|
"hpBonus": 1150,
|
||||||
|
"sdPct": 14,
|
||||||
|
"mdPct": 14,
|
||||||
|
"jh": 1,
|
||||||
|
"mr": -1,
|
||||||
|
"ms": -1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"hprRaw": 50,
|
||||||
|
"fDefPct": 8,
|
||||||
|
"wDefPct": 8,
|
||||||
|
"aDefPct": 8,
|
||||||
|
"tDefPct": 8,
|
||||||
|
"eDefPct": 8,
|
||||||
|
"sprint": 8,
|
||||||
|
"ws": 8,
|
||||||
|
"hpBonus": 666,
|
||||||
|
"sdPct": 7,
|
||||||
|
"mdPct": 7,
|
||||||
|
"jh": 1
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"Black": {
|
"Black": {
|
||||||
"items": [
|
"items": [
|
||||||
"Black Cap",
|
"Black Cap",
|
||||||
|
@ -259292,24 +259202,24 @@
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"str": 1,
|
"str": 2,
|
||||||
"dex": -1,
|
"dex": -2,
|
||||||
"int": -1,
|
"int": -2,
|
||||||
"agi": 1,
|
"agi": 2,
|
||||||
"def": 1,
|
"def": 2,
|
||||||
"spd": 2,
|
"spd": 5,
|
||||||
"hprRaw": 60,
|
"hprRaw": 55,
|
||||||
"mdRaw": 60
|
"mdRaw": 135
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"str": 4,
|
"str": 5,
|
||||||
"dex": -4,
|
"dex": -5,
|
||||||
"int": -4,
|
"int": -5,
|
||||||
"agi": 4,
|
"agi": 5,
|
||||||
"def": 4,
|
"def": 5,
|
||||||
"spd": 8,
|
"spd": 10,
|
||||||
"hprRaw": 180,
|
"hprRaw": 210,
|
||||||
"mdRaw": 180
|
"mdRaw": 270
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"str": 15,
|
"str": 15,
|
||||||
|
@ -259317,10 +259227,10 @@
|
||||||
"int": -15,
|
"int": -15,
|
||||||
"agi": 15,
|
"agi": 15,
|
||||||
"def": 15,
|
"def": 15,
|
||||||
"spd": 20,
|
"spd": 25,
|
||||||
"atkTier": 1,
|
"atkTier": 1,
|
||||||
"hprRaw": 480,
|
"hprRaw": 525,
|
||||||
"mdRaw": 480
|
"mdRaw": 540
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -259336,7 +259246,7 @@
|
||||||
{
|
{
|
||||||
"mr": -1,
|
"mr": -1,
|
||||||
"ms": 2,
|
"ms": 2,
|
||||||
"sdRaw": 35,
|
"sdRaw": 40,
|
||||||
"wDamPct": 5,
|
"wDamPct": 5,
|
||||||
"tDamPct": 5,
|
"tDamPct": 5,
|
||||||
"eDamPct": -34
|
"eDamPct": -34
|
||||||
|
@ -259344,7 +259254,7 @@
|
||||||
{
|
{
|
||||||
"mr": -2,
|
"mr": -2,
|
||||||
"ms": 4,
|
"ms": 4,
|
||||||
"sdRaw": 100,
|
"sdRaw": 115,
|
||||||
"wDamPct": 10,
|
"wDamPct": 10,
|
||||||
"tDamPct": 10,
|
"tDamPct": 10,
|
||||||
"eDamPct": -67
|
"eDamPct": -67
|
||||||
|
@ -259352,10 +259262,11 @@
|
||||||
{
|
{
|
||||||
"mr": -3,
|
"mr": -3,
|
||||||
"ms": 6,
|
"ms": 6,
|
||||||
"sdRaw": 195,
|
"sdRaw": 230,
|
||||||
"wDamPct": 25,
|
"wDamPct": 32,
|
||||||
"tDamPct": 25,
|
"tDamPct": 32,
|
||||||
"eDamPct": -100
|
"eDamPct": -100,
|
||||||
|
"atkTier": -2
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -259474,11 +259385,10 @@
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"mr": 2,
|
"mr": 2,
|
||||||
"xpb": 12,
|
"xpb": 40,
|
||||||
"str": 4,
|
"def": 25,
|
||||||
"hpBonus": 400,
|
"fDamPct": 20,
|
||||||
"sdRaw": 100,
|
"hprRaw": 180
|
||||||
"mdRaw": 50
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -259516,32 +259426,33 @@
|
||||||
],
|
],
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"xpb": -25,
|
"xpb": 20,
|
||||||
"lb": -25
|
"lb": 20
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"xpb": -50,
|
"xpb": 45,
|
||||||
"lb": -50,
|
"lb": 45,
|
||||||
"spd": -10,
|
|
||||||
"hpBonus": 300,
|
|
||||||
"sdRaw": -110,
|
|
||||||
"mdRaw": 60
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"xpb": -75,
|
|
||||||
"lb": -75,
|
|
||||||
"spd": 5,
|
"spd": 5,
|
||||||
"hpBonus": -150,
|
"hpBonus": 240,
|
||||||
"sdRaw": 100,
|
"eSteal": 5
|
||||||
"mdRaw": -75
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"xpb": -100,
|
"xpb": 75,
|
||||||
"lb": -100,
|
"lb": 75,
|
||||||
"spd": 5,
|
"spd": 10,
|
||||||
"hpBonus": -150,
|
"hpBonus": 480,
|
||||||
"sdRaw": 100,
|
"eSteal": 15,
|
||||||
"mdRaw": -75
|
"thorns": 12,
|
||||||
|
"ref": 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"xpb": 120,
|
||||||
|
"lb": 120,
|
||||||
|
"spd": 25,
|
||||||
|
"hpBonus": 720,
|
||||||
|
"eSteal": 20,
|
||||||
|
"thorns": 30,
|
||||||
|
"ref": 30
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -259591,18 +259502,18 @@
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"sdPct": -10,
|
"sdPct": -12,
|
||||||
"mdPct": 12,
|
"mdPct": 12,
|
||||||
"sdRaw": -40,
|
"sdRaw": -50,
|
||||||
"mdRaw": 30
|
"mdRaw": 60
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sdPct": -35,
|
"sdPct": -35,
|
||||||
"mdPct": 30,
|
"mdPct": 35,
|
||||||
"dex": 15,
|
"dex": 30,
|
||||||
"spd": 8,
|
"spd": 11,
|
||||||
"sdRaw": -90,
|
"sdRaw": -150,
|
||||||
"mdRaw": 125
|
"mdRaw": 180
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -259618,23 +259529,23 @@
|
||||||
{
|
{
|
||||||
"hprPct": -10,
|
"hprPct": -10,
|
||||||
"mr": 1,
|
"mr": 1,
|
||||||
"sdPct": 4,
|
"sdPct": 6,
|
||||||
"ref": 10,
|
"ref": 10,
|
||||||
"thorns": 8
|
"thorns": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hprPct": -20,
|
"hprPct": -20,
|
||||||
"mr": 2,
|
"mr": 2,
|
||||||
"sdPct": 12,
|
"sdPct": 14,
|
||||||
"ref": 30,
|
"ref": 35,
|
||||||
"thorns": 24
|
"thorns": 24
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hprPct": -35,
|
"hprPct": -30,
|
||||||
"mr": 4,
|
"mr": 4,
|
||||||
"sdPct": 28,
|
"sdPct": 30,
|
||||||
"ref": 70,
|
"ref": 75,
|
||||||
"thorns": 55
|
"thorns": 70
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -259831,10 +259742,12 @@
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"mdPct": 11,
|
"mdPct": 11,
|
||||||
"xpb": 10,
|
"xpb": 25,
|
||||||
"spd": 20,
|
"spd": 17,
|
||||||
"aDamPct": 15,
|
"aDamPct": 15,
|
||||||
"eDamPct": 15
|
"eDamPct": 15,
|
||||||
|
"sprint": 25,
|
||||||
|
"sprintReg": 50
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -260087,37 +260000,35 @@
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"xpb": 15,
|
"xpb": 25,
|
||||||
"lb": 15,
|
"lb": 25,
|
||||||
"ref": 5,
|
|
||||||
"spRegen": 15,
|
|
||||||
"fDefPct": 10,
|
|
||||||
"wDefPct": 10,
|
|
||||||
"aDefPct": 10,
|
|
||||||
"tDefPct": 10,
|
|
||||||
"eDefPct": 10
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"xpb": 35,
|
|
||||||
"lb": 35,
|
|
||||||
"ref": 15,
|
|
||||||
"spRegen": 35,
|
|
||||||
"fDefPct": 20,
|
"fDefPct": 20,
|
||||||
"wDefPct": 20,
|
"wDefPct": 20,
|
||||||
"aDefPct": 20,
|
"aDefPct": 20,
|
||||||
"tDefPct": 20,
|
"tDefPct": 20,
|
||||||
"eDefPct": 20
|
"eDefPct": 20,
|
||||||
|
"ms": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"xpb": 50,
|
"xpb": 50,
|
||||||
"lb": 50,
|
"lb": 50,
|
||||||
"ref": 30,
|
"fDefPct": 50,
|
||||||
"spRegen": 50,
|
"wDefPct": 50,
|
||||||
"fDefPct": 30,
|
"aDefPct": 50,
|
||||||
"wDefPct": 30,
|
"tDefPct": 50,
|
||||||
"aDefPct": 30,
|
"eDefPct": 50,
|
||||||
"tDefPct": 30,
|
"ms": 2
|
||||||
"eDefPct": 30
|
},
|
||||||
|
{
|
||||||
|
"xpb": 75,
|
||||||
|
"lb": 75,
|
||||||
|
"fDefPct": 100,
|
||||||
|
"wDefPct": 100,
|
||||||
|
"aDefPct": 100,
|
||||||
|
"tDefPct": 100,
|
||||||
|
"eDefPct": 100,
|
||||||
|
"sdPct": 40,
|
||||||
|
"ms": 6
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -260132,30 +260043,30 @@
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"mr": 1,
|
"mr": 1,
|
||||||
"sdPct": -5,
|
"sdPct": -10,
|
||||||
"mdPct": -10,
|
"mdPct": -15,
|
||||||
"def": 5,
|
"def": 7,
|
||||||
"spRegen": 5,
|
"spRegen": 10,
|
||||||
"wDamPct": 10,
|
"wDamPct": 15,
|
||||||
"aDamPct": 10
|
"aDamPct": 15
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mr": 3,
|
"mr": 3,
|
||||||
"sdPct": -10,
|
"sdPct": -20,
|
||||||
"mdPct": -20,
|
"mdPct": -40,
|
||||||
"def": 10,
|
"def": 15,
|
||||||
"spRegen": 10,
|
"spRegen": 25,
|
||||||
"wDamPct": 20,
|
"wDamPct": 40,
|
||||||
"aDamPct": 20
|
"aDamPct": 40
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mr": 5,
|
"mr": 6,
|
||||||
"sdPct": -15,
|
"sdPct": -40,
|
||||||
"mdPct": -35,
|
"mdPct": -85,
|
||||||
"def": 30,
|
"def": 40,
|
||||||
"spRegen": 100,
|
"spRegen": 100,
|
||||||
"wDamPct": 35,
|
"wDamPct": 85,
|
||||||
"aDamPct": 35
|
"aDamPct": 85
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -260195,25 +260106,26 @@
|
||||||
],
|
],
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{
|
{
|
||||||
"sdPct": -6,
|
"sdPct": -5,
|
||||||
"mdPct": -6,
|
"mdPct": -5,
|
||||||
"sdRaw": 15,
|
"sdRaw": 27,
|
||||||
"mdRaw": 10
|
"mdRaw": 25
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sdPct": -12,
|
"sdPct": -13,
|
||||||
"mdPct": -12,
|
"mdPct": -13,
|
||||||
"ls": 22,
|
"ls": 30,
|
||||||
"sdRaw": 55,
|
"sdRaw": 55,
|
||||||
"mdRaw": 45
|
"mdRaw": 70
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"sdPct": -23,
|
"sdPct": -33,
|
||||||
"mdPct": -23,
|
"mdPct": -33,
|
||||||
"ls": 51,
|
"ls": 90,
|
||||||
"ms": 2,
|
"ms": 2,
|
||||||
"sdRaw": 130,
|
"sdRaw": 160,
|
||||||
"mdRaw": 105
|
"mdRaw": 105,
|
||||||
|
"atkTier": 1
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -260228,16 +260140,16 @@
|
||||||
{
|
{
|
||||||
"int": 3,
|
"int": 3,
|
||||||
"def": 3,
|
"def": 3,
|
||||||
"hprRaw": 60
|
"hprRaw": 90
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mr": 4,
|
"mr": 5,
|
||||||
"int": 15,
|
"int": 20,
|
||||||
"def": 15,
|
"def": 20,
|
||||||
"hpBonus": 1500,
|
"hpBonus": 1500,
|
||||||
"hprRaw": 270,
|
"hprRaw": 330,
|
||||||
"fDefPct": 60,
|
"fDefPct": 75,
|
||||||
"wDefPct": 60
|
"wDefPct": 75
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -260283,24 +260195,24 @@
|
||||||
{
|
{
|
||||||
"hprPct": 10,
|
"hprPct": 10,
|
||||||
"lb": 8,
|
"lb": 8,
|
||||||
"agi": 5,
|
"agi": 3,
|
||||||
"def": 5,
|
"def": 3,
|
||||||
"spd": 6
|
"spd": 8
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hprPct": 20,
|
"hprPct": 20,
|
||||||
"lb": 16,
|
"lb": 20,
|
||||||
"agi": 7,
|
"agi": 7,
|
||||||
"def": 7,
|
"def": 7,
|
||||||
"spd": 14
|
"spd": 16
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"hprPct": 45,
|
"hprPct": 45,
|
||||||
"lb": 32,
|
"lb": 35,
|
||||||
"agi": 10,
|
"agi": 15,
|
||||||
"def": 10,
|
"def": 15,
|
||||||
"spd": 20,
|
"spd": 25,
|
||||||
"hprRaw": 45
|
"hprRaw": 50
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -260359,18 +260271,18 @@
|
||||||
"bonuses": [
|
"bonuses": [
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"ls": 125,
|
"ls": 180,
|
||||||
"agi": 3,
|
"agi": 3,
|
||||||
"def": 3
|
"def": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ls": 375,
|
"ls": 700,
|
||||||
"ref": 70,
|
"ref": 80,
|
||||||
"agi": 15,
|
"agi": 25,
|
||||||
"def": 15,
|
"def": 25,
|
||||||
"thorns": 70,
|
"thorns": 80,
|
||||||
"fDefPct": 75,
|
"fDefPct": 125,
|
||||||
"aDefPct": 75
|
"aDefPct": 125
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -260466,8 +260378,8 @@
|
||||||
{},
|
{},
|
||||||
{
|
{
|
||||||
"mdPct": 14,
|
"mdPct": 14,
|
||||||
"hpBonus": 30,
|
"hpBonus": 75,
|
||||||
"mdRaw": 20
|
"mdRaw": 25
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
11
validate.py
Normal file
11
validate.py
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
with open("updated.json") as infile:
|
||||||
|
data = json.load(infile)
|
||||||
|
|
||||||
|
duplicate_map = dict()
|
||||||
|
for item in data["items"]:
|
||||||
|
if item["name"] in duplicate_map:
|
||||||
|
print("DUPLICATE: " + str(item["id"]) + " <-> " + str(duplicate_map[item["name"]]["id"]))
|
||||||
|
else:
|
||||||
|
duplicate_map[item["name"]] = item
|
Loading…
Reference in a new issue