commit b451c6d82de31aa45e11ef2b4af6908a2fd6f3e4 Author: sigonasr2, Sig, Sigo Date: Mon Jul 19 15:08:25 2021 +0900 Create combos.js This file calculates all possible driver elemental blade combinations vs all the blade combo combinations in the game to figure out the maximum efficient blade combo combinations. diff --git a/combos.js b/combos.js new file mode 100644 index 0000000..7bb363b --- /dev/null +++ b/combos.js @@ -0,0 +1,137 @@ +const FIRE=0; + const WATER=1; + const LIGHT=2; + const DARK=3; + const EARTH=4; + const ELECTRIC=5; + const WIND=6; + const ICE=7; + + var prettyNames={ + 0:"FIRE", + 1:"WATER", + 2:"LIGHT", + 3:"DARK", + 4:"EARTH", + 5:"ELECTRIC", + 6:"WIND", + 7:"ICE" + } + + var combos=[ + [FIRE,FIRE,FIRE], + [FIRE,WATER,FIRE], + [FIRE,WATER,FIRE], + [LIGHT,ELECTRIC,FIRE], + [WATER,WATER,WATER], + [ELECTRIC,ELECTRIC,WATER], + [LIGHT,LIGHT,WATER], + [FIRE,FIRE,LIGHT], + [LIGHT,LIGHT,LIGHT], + [WATER,WATER,DARK], + [ICE,ICE,DARK], + [WIND,WIND,EARTH], + [EARTH,FIRE,EARTH], + [ICE,ICE,EARTH], + [DARK,DARK,EARTH], + [EARTH,EARTH,ELECTRIC], + [WIND,WIND,ELECTRIC], + [DARK,LIGHT,ELECTRIC], + [WATER,EARTH,WIND], + [EARTH,FIRE,WIND], + [ICE,WATER,WIND], + [ELECTRIC,FIRE,WIND], + [FIRE,WATER,ICE], + [ELECTRIC,FIRE,ICE], + [WIND,ICE,ICE], + ] + + var maxcode="" + + var maxcombos=0 + var combolist=[] + + for (var i=0;i<=9;i++) { + maxcode+=String(ICE) + } + + maxcode=Number(maxcode) + + function ConvertCodeTo9Digit(code) { + var str = String(code) + if (str.includes('8')||str.includes('9')) { + return undefined + } + var incre = 9-str.length + for (var i=0;i{document.getElementById("console").value+=JSON.stringify(code)},50) + //Evaluate all combos. + if (code%1000000==0) { + console.log(code+" entries done ("+Math.round(((code/maxcode)*100))+"%)") + } + var temp=ConvertCodeTo9Digit(code) + if (!temp) { + continue + } + var combinations=0 + for (var combo of combos) { + var driver1=ConvertDriver(temp.substr(0,3)) + var driver2=ConvertDriver(temp.substr(3,3)) + var driver3=ConvertDriver(temp.substr(6,3)) + //See if any elements match up. If they do, then add 1 to the max combo count. + var matches=0; + for (var ind=0;ind<3;ind++) { + if (driver1.includes(combo[ind])) { + matches++; + driver1=[] + } else + if (driver2.includes(combo[ind])) { + matches++; + driver2=[] + } else + if (driver3.includes(combo[ind])) { + matches++; + driver3=[] + } + } + if (matches==3) { + combinations++ + } + } + if (maxcombos