Evolution/Skill Tree/load
{\"Centaur\":[{\"name\":\"KnockBack\",\"count\":1,\"costPrimary\":7,\"type\":4,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Push\",\"count\":1,\"costPrimary\":7,\"type\":4,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Strength\",\"count\":1,\"costPrimary\":5,\"type\":1,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Virility\",\"count\":2,\"costPrimary\":5,\"type\":3,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Health\",\"count\":2,\"costPrimary\":5,\"type\":3,\"connectionRight\":true,\"connectionBottom\":false},{\"name\":\"Ram\",\"count\":1,\"costPrimary\":8,\"costSecondary\":2,\"speciesSecondary\":78,\"type\":4,\"connectionRight\":false,\"connectionBottom\":true},{\"name\":\"Health\",\"count\":2,\"costPrimary\":5,\"type\":1,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Core\",\"count\":1,\"costPrimary\":10,\"type\":9,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Virility\",\"count\":5,\"costPrimary\":3,\"type\":1,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Rush\",\"count\":1,\"costPrimary\":7,\"costSecondary\":7,\"speciesSecondary\":78,\"type\":4,\"connectionRight\":false,\"connectionBottom\":false},{\"name\":\"Cock\",\"count\":2,\"costPrimary\":4,\"type\":1,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Virility\",\"count\":2,\"costPrimary\":5,\"type\":3,\"connectionRight\":false,\"connectionBottom\":true},{\"name\":\"Virility\",\"count\":5,\"costPrimary\":3,\"type\":1,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Virility\",\"count\":2,\"costPrimary\":5,\"type\":3,\"connectionRight\":false,\"connectionBottom\":true},{\"name\":\"Cum\",\"count\":1,\"costPrimary\":5,\"type\":1,\"connectionRight\":true,\"connectionBottom\":false},{\"name\":\"Virility\",\"count\":5,\"costPrimary\":3,\"type\":1,\"connectionRight\":true,\"connectionBottom\":false},{\"name\":\"Strength\",\"count\":2,\"costPrimary\":5,\"type\":3,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"LustRes\",\"count\":1,\"costPrimary\":2,\"costSecondary\":15,\"speciesSecondary\":10,\"type\":1,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Strength\",\"count\":2,\"costPrimary\":5,\"type\":3,\"connectionRight\":true,\"connectionBottom\":true},{\"name\":\"Virility\",\"count\":5,\"costPrimary\":2,\"type\":1,\"connectionRight\":true,\"connectionBottom\":false},{\"name\":\"StrengthForm\",\"count\":1,\"costPrimary\":15,\"costSecondary\":15,\"speciesSecondary\":31,\"type\":6,\"connectionRight\":false,\"connectionBottom\":true},{\"name\":\"Health\",\"count\":3,\"costPrimary\":5,\"type\":1,\"connectionRight\":false,\"connectionBottom\":false},{\"name\":\"Strength\",\"count\":5,\"costPrimary\":10,\"costSecondary\":5,\"speciesSecondary\":78,\"type\":1,\"connectionRight\":false,\"connectionBottom\":false},{\"name\":\"Speed\",\"count\":1,\"costPrimary\":3,\"costSecondary\":8,\"speciesSecondary\":3,\"type\":1,\"connectionRight\":false,\"connectionBottom\":false},{\"name\":\"ArmorHorse\",\"count\":1,\"costPrimary\":5,\"costSecondary\":10,\"speciesSecondary\":31,\"type\":7,\"connectionRight\":false,\"connectionBottom\":false}]}
Pre-script preparation:
Find \r\n and replace with (empty) in regex mode (text mode)
Script operation:
- Open web console
- Set the file text, type and copy the text inside the single quotes for each skill tree
let skillText = { "Centaur": TEXT FROM SKILL FILE HERE, "PlantGirl": TEXT FROM SKILL FILE HERE, "Mermaid": TEXT FROM SKILL FILE HERE, "LavaGirl": TEXT FROM SKILL FILE HERE, "Lymean": TEXT FROM SKILL FILE HERE, "Succubus": TEXT FROM SKILL FILE HERE, "Harpy": TEXT FROM SKILL FILE HERE, "LizardGirl": TEXT FROM SKILL FILE HERE, "InsectGirl": TEXT FROM SKILL FILE HERE, "BeastGirl": TEXT FROM SKILL FILE HERE, "Shadow": TEXT FROM SKILL FILE HERE, "Tanid": TEXT FROM SKILL FILE HERE };
- Run this script:
let json = {},outputText = ""; function createEntry(node) { let outObj = {}; outObj.name = node.name; outObj.count = node.amountPossible; outObj.costPrimary = node.pointCostPrimary; if (node.pointCostSecondary > 0) { outObj.costSecondary = node.pointCostSecondary; outObj.speciesSecondary = node.secondarySpeciesPoints; } outObj.type = node.nodeType; outObj.connectionRight = node.connectionRight; outObj.connectionBottom = node.connectionBottom; return outObj; } for (const prop in skillText) { if (skillText.hasOwnProperty(prop)) { for (var i = 0; i < skillText[prop].length; i++) { skillText[prop][i] = createEntry(skillText[prop][i]); } } } outputText += JSON.stringify(skillText); outputText += "{{Documentation}}"; outputText;
- Press copy button on the output string
- Replace all the text in Evolution/Skill_Tree/load with the output, remove any " before and after the output