diff --git a/items_2.js b/items_2.js index 1f846ed..3e4dc31 100644 --- a/items_2.js +++ b/items_2.js @@ -233,6 +233,33 @@ class ExprField { function compareLexico(ia, keysA, ib, keysB) { for (let i = 0; i < keysA.length; i++) { // assuming keysA and keysB are the same length let aKey = keysA[i], bKey = keysB[i]; + if (typeof aKey === 'undefined') { + switch (typeof bKey) { + case 'string': + aKey = ""; + break; + case 'number': + aKey = 0; + break; + case 'undefined': + return 0; + default: + throw new Error(`Incomparable type ${typeof bKey}`); + } + } + else if (typeof(bKey) === 'undefined') { + switch (typeof aKey) { + case 'string': + bKey = ""; + break; + case 'number': + bKey = 0; + break; + default: + throw new Error(`Incomparable type ${typeof aKey}`); + } + + } if (typeof aKey !== typeof bKey) throw new Error(`Incomparable types ${typeof aKey} and ${typeof bKey}`); // can this even happen? switch (typeof aKey) { case 'string': diff --git a/py_script/sets/_Morph.json b/py_script/sets/_Morph.json index fcace6d..ba1dc87 100644 --- a/py_script/sets/_Morph.json +++ b/py_script/sets/_Morph.json @@ -58,11 +58,11 @@ "mr": 4, "xpb": 100, "lb": 100, - "str": 21, - "dex": 21, - "int": 21, - "agi": 21, - "def": 21, + "str": 15, + "dex": 15, + "int": 15, + "agi": 15, + "def": 15, "hpBonus": 6800, "spRaw1": -1, "spRaw2": -1,