Adding 1.20 item translation
This commit is contained in:
parent
fe124b4b0f
commit
8bad627a3d
7 changed files with 260930 additions and 70 deletions
15
builder.js
15
builder.js
|
@ -94,6 +94,7 @@ for (const it of itemTypes) {
|
||||||
let itemMap = new Map();
|
let itemMap = new Map();
|
||||||
/* Mapping from item names to set names. */
|
/* Mapping from item names to set names. */
|
||||||
let idMap = new Map();
|
let idMap = new Map();
|
||||||
|
let redirectMap = new Map();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Function that takes an item list and populates its corresponding dropdown.
|
* Function that takes an item list and populates its corresponding dropdown.
|
||||||
|
@ -150,6 +151,7 @@ function init() {
|
||||||
items = items.concat(noneItems);
|
items = items.concat(noneItems);
|
||||||
console.log(items);
|
console.log(items);
|
||||||
for (const item of items) {
|
for (const item of items) {
|
||||||
|
if (item.remapID === undefined) {
|
||||||
itemLists.get(item.type).push(item.displayName);
|
itemLists.get(item.type).push(item.displayName);
|
||||||
itemMap.set(item.displayName, item);
|
itemMap.set(item.displayName, item);
|
||||||
if (noneItems.includes(item)) {
|
if (noneItems.includes(item)) {
|
||||||
|
@ -159,6 +161,10 @@ function init() {
|
||||||
idMap.set(item.id, item.displayName);
|
idMap.set(item.id, item.displayName);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
redirectMap.set(item.id, item.remapID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (const armorType of armorTypes) {
|
for (const armorType of armorTypes) {
|
||||||
populateItemList(armorType);
|
populateItemList(armorType);
|
||||||
|
@ -211,6 +217,13 @@ function init() {
|
||||||
decodeBuild(url_tag);
|
decodeBuild(url_tag);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getItemNameFromID(id) {
|
||||||
|
if (redirectMap.has(id)) {
|
||||||
|
return getItemNameFromID(redirectMap.get(id));
|
||||||
|
}
|
||||||
|
return idMap.get(id);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Populate fields based on url, and calculate build.
|
* Populate fields based on url, and calculate build.
|
||||||
*/
|
*/
|
||||||
|
@ -226,7 +239,7 @@ function decodeBuild(url_tag) {
|
||||||
if (version === "0" || version === "1" || version === "2" || version === "3") {
|
if (version === "0" || version === "1" || version === "2" || version === "3") {
|
||||||
let equipments = info[1];
|
let equipments = info[1];
|
||||||
for (let i = 0; i < 9; ++i ) {
|
for (let i = 0; i < 9; ++i ) {
|
||||||
equipment[i] = idMap.get(Base64.toInt(equipments.slice(i*3,i*3+3)));
|
equipment[i] = getItemNameFromID(Base64.toInt(equipments.slice(i*3,i*3+3)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (version === "1") {
|
if (version === "1") {
|
||||||
|
|
190
clean.json
190
clean.json
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"items": [
|
"items": [
|
||||||
{
|
{
|
||||||
"name": "Demon Tide (1.20)",
|
"name": "Demon Tide",
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "leggings",
|
"type": "leggings",
|
||||||
"set": null,
|
"set": null,
|
||||||
|
@ -35506,6 +35506,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Cancer\u058e",
|
"name": "Cancer\u058e",
|
||||||
|
"displayName": "Cancer",
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "helmet",
|
"type": "helmet",
|
||||||
"set": null,
|
"set": null,
|
||||||
|
@ -265939,8 +265940,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "boots",
|
"type": "boots",
|
||||||
"name": "Ensa\u2019s Ideals (1.20)",
|
"name": "Ensa's Ideals (1.20)",
|
||||||
"displayName": "Ensa\u2019s Ideals (1.20)",
|
"displayName": "Ensa's Ideals (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -266378,8 +266379,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "ring",
|
"type": "ring",
|
||||||
"name": "Tisaun\u2019s Honor (1.20)",
|
"name": "Tisaun's Honor (1.20)",
|
||||||
"displayName": "Tisaun\u2019s Honor (1.20)",
|
"displayName": "Tisaun's Honor (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -266718,8 +266719,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Unique",
|
"tier": "Unique",
|
||||||
"type": "chestplate",
|
"type": "chestplate",
|
||||||
"name": "Nether\u2019s Reach (1.20)",
|
"name": "Nether's Reach (1.20)",
|
||||||
"displayName": "Nether\u2019s Reach (1.20)",
|
"displayName": "Nether's Reach (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -266792,8 +266793,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "dagger",
|
"type": "dagger",
|
||||||
"name": "Bob\u2019s Mythic Daggers (1.20)",
|
"name": "Bob's Mythic Daggers (1.20)",
|
||||||
"displayName": "Bob\u2019s Mythic Daggers (1.20)",
|
"displayName": "Bob's Mythic Daggers (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -267206,8 +267207,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "spear",
|
"type": "spear",
|
||||||
"name": "Bob\u2019s Mythic Spear (1.20)",
|
"name": "Bob's Mythic Spear (1.20)",
|
||||||
"displayName": "Bob\u2019s Mythic Spear (1.20)",
|
"displayName": "Bob's Mythic Spear (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -267445,8 +267446,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "chestplate",
|
"type": "chestplate",
|
||||||
"name": "Terra\u2019s Mold (1.20)",
|
"name": "Terra's Mold (1.20)",
|
||||||
"displayName": "Terra\u2019s Mold (1.20)",
|
"displayName": "Terra's Mold (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -267900,8 +267901,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "ring",
|
"type": "ring",
|
||||||
"name": "Old Keeper\u2019s Ring (1.20)",
|
"name": "Old Keeper's Ring (1.20)",
|
||||||
"displayName": "Old Keeper\u2019s Ring (1.20)",
|
"displayName": "Old Keeper's Ring (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -268068,7 +268069,7 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "leggings",
|
"type": "leggings",
|
||||||
"name": "Paradox (1.20)",
|
"name": "One For All",
|
||||||
"displayName": "Paradox (1.20)",
|
"displayName": "Paradox (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
|
@ -268272,7 +268273,7 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "boots",
|
"type": "boots",
|
||||||
"name": "Dragon Dance (1.20)",
|
"name": "Paradox",
|
||||||
"displayName": "Dragon Dance (1.20)",
|
"displayName": "Dragon Dance (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
|
@ -268560,8 +268561,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "leggings",
|
"type": "leggings",
|
||||||
"name": "Lion\u2019s Pelt (1.20)",
|
"name": "Lion's Pelt (1.20)",
|
||||||
"displayName": "Lion\u2019s Pelt (1.20)",
|
"displayName": "Lion's Pelt (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -269385,8 +269386,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "chestplate",
|
"type": "chestplate",
|
||||||
"name": "Tisaun\u2019s Valor (1.20)",
|
"name": "Tisaun's Valor (1.20)",
|
||||||
"displayName": "Tisaun\u2019s Valor (1.20)",
|
"displayName": "Tisaun's Valor (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -269965,8 +269966,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Unique",
|
"tier": "Unique",
|
||||||
"type": "helmet",
|
"type": "helmet",
|
||||||
"name": "Sano\u2019s Care (1.20)",
|
"name": "Sano's Care (1.20)",
|
||||||
"displayName": "Sano\u2019s Care (1.20)",
|
"displayName": "Sano's Care (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -270772,12 +270773,11 @@
|
||||||
{
|
{
|
||||||
"tier": "Set",
|
"tier": "Set",
|
||||||
"type": "ring",
|
"type": "ring",
|
||||||
"name": "Black Catalyst Set (1.20)",
|
"name": "Black Catalyst Set",
|
||||||
"displayName": "Black Catalyst Set (1.20)",
|
"displayName": "Black Catalyst Set (DEPRECATED!!!)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
"restrict": "1.20 item",
|
|
||||||
"fixID": true,
|
"fixID": true,
|
||||||
"strReq": 0,
|
"strReq": 0,
|
||||||
"dexReq": 0,
|
"dexReq": 0,
|
||||||
|
@ -270797,7 +270797,7 @@
|
||||||
"sdPct": 8,
|
"sdPct": 8,
|
||||||
"spPct1": -12,
|
"spPct1": -12,
|
||||||
"spPct3": -12,
|
"spPct3": -12,
|
||||||
"id": 10249
|
"id": 3574
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
|
@ -272002,8 +272002,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "boots",
|
"type": "boots",
|
||||||
"name": "Nether\u2019s Scar (1.20)",
|
"name": "Nether's Scar (1.20)",
|
||||||
"displayName": "Nether\u2019s Scar (1.20)",
|
"displayName": "Nether's Scar (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -272146,8 +272146,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Unique",
|
"tier": "Unique",
|
||||||
"type": "leggings",
|
"type": "leggings",
|
||||||
"name": "Bantisu\u2019s Approach (1.20)",
|
"name": "Bantisu's Approach (1.20)",
|
||||||
"displayName": "Bantisu\u2019s Approach (1.20)",
|
"displayName": "Bantisu's Approach (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -272406,8 +272406,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "helmet",
|
"type": "helmet",
|
||||||
"name": "Gale\u2019s Sight (1.20)",
|
"name": "Gale's Sight (1.20)",
|
||||||
"displayName": "Gale\u2019s Sight (1.20)",
|
"displayName": "Gale's Sight (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -272584,8 +272584,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "bow",
|
"type": "bow",
|
||||||
"name": "Bob\u2019s Mythic Bow (1.20)",
|
"name": "Bob's Mythic Bow (1.20)",
|
||||||
"displayName": "Bob\u2019s Mythic Bow (1.20)",
|
"displayName": "Bob's Mythic Bow (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -272824,8 +272824,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Unique",
|
"tier": "Unique",
|
||||||
"type": "chestplate",
|
"type": "chestplate",
|
||||||
"name": "Ahm\u2019s Remains (1.20)",
|
"name": "Ahm's Remains (1.20)",
|
||||||
"displayName": "Ahm\u2019s Remains (1.20)",
|
"displayName": "Ahm's Remains (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -273249,8 +273249,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "wand",
|
"type": "wand",
|
||||||
"name": "Bob\u2019s Mythic Wand (1.20)",
|
"name": "Bob's Mythic Wand (1.20)",
|
||||||
"displayName": "Bob\u2019s Mythic Wand (1.20)",
|
"displayName": "Bob's Mythic Wand (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -273535,8 +273535,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "boots",
|
"type": "boots",
|
||||||
"name": "Cerid\u2019s Ingenuity (1.20)",
|
"name": "Cerid's Ingenuity (1.20)",
|
||||||
"displayName": "Cerid\u2019s Ingenuity (1.20)",
|
"displayName": "Cerid's Ingenuity (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -273845,8 +273845,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "leggings",
|
"type": "leggings",
|
||||||
"name": "Ohms\u2019 Rage (1.20)",
|
"name": "Ohms' Rage (1.20)",
|
||||||
"displayName": "Ohms\u2019 Rage (1.20)",
|
"displayName": "Ohms' Rage (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -274024,8 +274024,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Legendary",
|
"tier": "Legendary",
|
||||||
"type": "necklace",
|
"type": "necklace",
|
||||||
"name": "Ensa\u2019s Faith (1.20)",
|
"name": "Ensa's Faith (1.20)",
|
||||||
"displayName": "Ensa\u2019s Faith (1.20)",
|
"displayName": "Ensa's Faith (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -274798,8 +274798,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "leggings",
|
"type": "leggings",
|
||||||
"name": "Rodoroc\u2019s Guard (1.20)",
|
"name": "Rodoroc's Guard (1.20)",
|
||||||
"displayName": "Rodoroc\u2019s Guard (1.20)",
|
"displayName": "Rodoroc's Guard (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -275277,7 +275277,7 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "boots",
|
"type": "boots",
|
||||||
"name": "Weatherwalkers (1.20)",
|
"name": "All for One",
|
||||||
"displayName": "Weatherwalkers (1.20)",
|
"displayName": "Weatherwalkers (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
|
@ -275654,8 +275654,8 @@
|
||||||
{
|
{
|
||||||
"tier": "Rare",
|
"tier": "Rare",
|
||||||
"type": "dagger",
|
"type": "dagger",
|
||||||
"name": "Skien\u2019s Paranoia (1.20)",
|
"name": "Skien's Paranoia (1.20)",
|
||||||
"displayName": "Skien\u2019s Paranoia (1.20)",
|
"displayName": "Skien's Paranoia (1.20)",
|
||||||
"set": null,
|
"set": null,
|
||||||
"quest": null,
|
"quest": null,
|
||||||
"classReq": null,
|
"classReq": null,
|
||||||
|
@ -276384,6 +276384,80 @@
|
||||||
"gXp": 0,
|
"gXp": 0,
|
||||||
"gSpd": 0,
|
"gSpd": 0,
|
||||||
"id": 10406
|
"id": 10406
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Cursed Jackboots",
|
||||||
|
"tier": "Legendary",
|
||||||
|
"type": "boots",
|
||||||
|
"set": null,
|
||||||
|
"quest": "Lost Soles",
|
||||||
|
"poison": 0,
|
||||||
|
"thorns": 0,
|
||||||
|
"sprint": 0,
|
||||||
|
"category": "armor",
|
||||||
|
"slots": 2,
|
||||||
|
"drop": "never",
|
||||||
|
"hp": 1400,
|
||||||
|
"fDef": 0,
|
||||||
|
"wDef": 50,
|
||||||
|
"aDef": 0,
|
||||||
|
"tDef": 80,
|
||||||
|
"eDef": 0,
|
||||||
|
"lvl": 60,
|
||||||
|
"classReq": null,
|
||||||
|
"strReq": 0,
|
||||||
|
"dexReq": 0,
|
||||||
|
"intReq": 0,
|
||||||
|
"agiReq": 0,
|
||||||
|
"defReq": 0,
|
||||||
|
"hprPct": -20,
|
||||||
|
"mr": 0,
|
||||||
|
"sdPct": 0,
|
||||||
|
"mdPct": 0,
|
||||||
|
"ls": 0,
|
||||||
|
"ms": 2,
|
||||||
|
"xpb": 0,
|
||||||
|
"lb": 0,
|
||||||
|
"ref": 0,
|
||||||
|
"str": 0,
|
||||||
|
"dex": 7,
|
||||||
|
"int": 7,
|
||||||
|
"agi": 0,
|
||||||
|
"def": 0,
|
||||||
|
"expd": 0,
|
||||||
|
"spd": 0,
|
||||||
|
"atkTier": 0,
|
||||||
|
"hpBonus": 0,
|
||||||
|
"spRegen": 0,
|
||||||
|
"eSteal": 0,
|
||||||
|
"hprRaw": 0,
|
||||||
|
"sdRaw": 100,
|
||||||
|
"mdRaw": 0,
|
||||||
|
"fDamPct": 0,
|
||||||
|
"wDamPct": 10,
|
||||||
|
"aDamPct": 0,
|
||||||
|
"tDamPct": 10,
|
||||||
|
"eDamPct": 0,
|
||||||
|
"fDefPct": 0,
|
||||||
|
"wDefPct": 0,
|
||||||
|
"aDefPct": 0,
|
||||||
|
"tDefPct": 0,
|
||||||
|
"eDefPct": -35,
|
||||||
|
"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": 10407
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"sets": {
|
"sets": {
|
||||||
|
@ -276998,13 +277072,17 @@
|
||||||
"xpb": -5
|
"xpb": -5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mr": 1,
|
"hp": -325,
|
||||||
"sdPct": 10,
|
"str": 0,
|
||||||
"xpb": 30,
|
"dex": 0,
|
||||||
"expd": 10,
|
"int": 0,
|
||||||
"hpBonus": 325,
|
"def": 0,
|
||||||
|
"agi": 0,
|
||||||
|
"xpb": 25,
|
||||||
"spRegen": 10,
|
"spRegen": 10,
|
||||||
"sdRaw": 90
|
"sdPct": 8,
|
||||||
|
"spPct1": -12,
|
||||||
|
"spPct3": -12
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
load.js
4
load.js
|
@ -1,4 +1,4 @@
|
||||||
const DB_VERSION = 25;
|
const DB_VERSION = 26;
|
||||||
// @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;
|
||||||
|
@ -48,12 +48,14 @@ async function load_local(init_func) {
|
||||||
* Clean bad item data. For now just assigns display name if it isn't already assigned.
|
* Clean bad item data. For now just assigns display name if it isn't already assigned.
|
||||||
*/
|
*/
|
||||||
function clean_item(item) {
|
function clean_item(item) {
|
||||||
|
if (item.remapID === undefined) {
|
||||||
if (item.displayName === undefined) {
|
if (item.displayName === undefined) {
|
||||||
item.displayName = item.name;
|
item.displayName = item.name;
|
||||||
}
|
}
|
||||||
item.skillpoints = [item.str, item.dex, item.int, item.def, item.agi];
|
item.skillpoints = [item.str, item.dex, item.int, item.def, item.agi];
|
||||||
item.has_negstat = item.str < 0 || item.dex < 0 || item.int < 0 || item.def < 0 || item.agi < 0;
|
item.has_negstat = item.str < 0 || item.dex < 0 || item.int < 0 || item.def < 0 || item.agi < 0;
|
||||||
item.reqs = [item.strReq, item.dexReq, item.intReq, item.defReq, item.agiReq];
|
item.reqs = [item.strReq, item.dexReq, item.intReq, item.defReq, item.agiReq];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
80
update_merge.py
Normal file
80
update_merge.py
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
import json
|
||||||
|
|
||||||
|
with open("clean.json") as infile:
|
||||||
|
olds = json.load(infile)
|
||||||
|
|
||||||
|
items = olds["items"]
|
||||||
|
|
||||||
|
item_oldnames_map = dict()
|
||||||
|
item_newnames_map = dict()
|
||||||
|
|
||||||
|
VERSION_STR = " (1.20)"
|
||||||
|
|
||||||
|
max_old_id = 0
|
||||||
|
|
||||||
|
for item in items:
|
||||||
|
item_id = item["id"]
|
||||||
|
if "displayName" in item:
|
||||||
|
displayName = item["displayName"]
|
||||||
|
else:
|
||||||
|
displayName = item["name"]
|
||||||
|
item_name = displayName.replace(VERSION_STR, "")
|
||||||
|
if item_id > 10000:
|
||||||
|
map_name = item["name"].replace(VERSION_STR, "")
|
||||||
|
item_newnames_map[map_name] = item
|
||||||
|
item["displayName"] = item_name
|
||||||
|
else:
|
||||||
|
item_oldnames_map[item_name] = item
|
||||||
|
if item_id > max_old_id:
|
||||||
|
max_old_id = item_id
|
||||||
|
|
||||||
|
dummy_items = []
|
||||||
|
|
||||||
|
for (name, item) in item_newnames_map.items():
|
||||||
|
if name in item_oldnames_map:
|
||||||
|
old_item = item_oldnames_map[name]
|
||||||
|
if "displayName" in item:
|
||||||
|
displayName = item["displayName"].replace(VERSION_STR, "")
|
||||||
|
else:
|
||||||
|
displayName = name
|
||||||
|
save_old = ["id","set","quest","drop","restrict", "name"]
|
||||||
|
old_mappings = { k: old_item[k] for k in save_old if k in old_item }
|
||||||
|
old_item.clear()
|
||||||
|
|
||||||
|
if "restrict" in item:
|
||||||
|
del item["restrict"]
|
||||||
|
|
||||||
|
for k in item:
|
||||||
|
old_item[k] = item[k]
|
||||||
|
for k in old_mappings:
|
||||||
|
old_item[k] = old_mappings[k]
|
||||||
|
save_id = item["id"]
|
||||||
|
item.clear()
|
||||||
|
item["id"] = save_id
|
||||||
|
item["name"] = str(save_id)
|
||||||
|
item["remapID"] = old_item["id"]
|
||||||
|
else:
|
||||||
|
if "restrict" in item:
|
||||||
|
in_str = input(name + " restriction: ").strip()
|
||||||
|
if in_str:
|
||||||
|
item["restrict"] = in_str
|
||||||
|
else:
|
||||||
|
del item["restrict"]
|
||||||
|
item["name"] = name
|
||||||
|
dummy_item = dict()
|
||||||
|
dummy_item["id"] = item["id"]
|
||||||
|
max_old_id += 1
|
||||||
|
item["id"] = max_old_id
|
||||||
|
dummy_item["remapID"] = item["id"]
|
||||||
|
dummy_items.append(dummy_item)
|
||||||
|
|
||||||
|
items.extend(dummy_items)
|
||||||
|
|
||||||
|
sets = olds["sets"]
|
||||||
|
|
||||||
|
data = dict()
|
||||||
|
data["items"] = items
|
||||||
|
data["sets"] = sets
|
||||||
|
|
||||||
|
with open("updated.json", "w") as outfile:
|
||||||
|
json.dump(data, outfile, indent=2)
|
260687
updated.json
Normal file
260687
updated.json
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue