Closed pete-wn closed 8 years ago
I have added three new total sections:
nodeBonusesTotal
- contains the total of every node bonus based on rudimentary extraction of bonus (searching for numbers) and booleansjewelModsTotal
- contains the total of every jewel mod based on rudimentary extractionallBonusesTotal
- contains the total of every node AND jewel modI'd like to go through and add some pseudo bonuses, at least basic ones. I'll create a new case for this.
Ugh. Turns out GGG is making sloppy JSON for some of the nodes. Nodes SHOULD have their bonuses on separate lines, but not all of them do. Great.
Okay, it's not terrible other than Acrobatics.
For most skills, we can just replace a .
with a ,
to clean it up, for example:
Original:
"10808" : {
"icon" : "https://p7p4m6s5.ssl.hwcdn.net/imageArt/2DArt/SkillIcons/passives/vaalpact.png",
"isKeystone" : true,
"bonuses" : [
"Life Leech applies instantly. Life Regeneration has no effect."
],
"isNoteable" : false,
"name" : "Vaal Pact"
}
"bonuses" : [
"Life Leech applies instantly, Life Regeneration has no effect"
],
Original:
"10661" : {
"icon" : "https://p7p4m6s5.ssl.hwcdn.net/imageArt/2DArt/SkillIcons/passives/KeystoneIronReflexes.png",
"isKeystone" : true,
"bonuses" : [
"Converts all Evasion Rating to Armour. Dexterity provides no bonus to Evasion Rating"
],
"isNoteable" : false,
"name" : "Iron Reflexes"
},
"bonuses" : [
"Converts all Evasion Rating to Armour, Dexterity provides no bonus to Evasion Rating"
],
Original:
"54307" : {
"icon" : "https://p7p4m6s5.ssl.hwcdn.net/imageArt/2DArt/SkillIcons/passives/KeystoneAcrobatics.png",
"isKeystone" : true,
"bonuses" : [
"30% Chance to Dodge Attacks. 50% less Armour and Energy Shield, 30% less Chance to Block Spells and Attacks"
],
"isNoteable" : false,
"name" : "Acrobatics"
},
Acrobatics should be given custom parsing:
"bonuses" : [
"30% Chance to Dodge Attacks",
"50% less Armour and Energy Shield",
"30% less Chance to Block Spells and Attacks"
],
Original:
"57279" : {
"icon" : "https://p7p4m6s5.ssl.hwcdn.net/imageArt/2DArt/SkillIcons/passives/KeystoneBloodMagic.png",
"isKeystone" : true,
"bonuses" : [
"Removes all mana. Spend Life instead of Mana for Skills"
],
"isNoteable" : false,
"name" : "Blood Magic"
},
"bonuses" : [
"Removes all mana, Spend Life instead of Mana for Skills"
],
I've fixed this by doing the following:
Add a pseudo total similar to the way pseudo mods are handled by the indexer.
For each skill node, we already detect the "mod" and the "value" - simply create a hash during indexing that adds the value for each node to the mode.
For example, if there are five mods with "+% to maximum Life" that have a value of 4,4,5,5,5 then the total node hash should contain
"+% to maximumum Life" : 23
This will be rudimentary and won't create an accurate picture if someone has "+6% to Armour and Evasion" as well as "+24% Armour" but it's a start. It may be worth looking into the offline skilltree project or other projects to see if anyone has created a lookup table to bring these mods together (and if not, maybe create one).