From e3d4041857147425119cd967029e171eaaf62524 Mon Sep 17 00:00:00 2001 From: hppeng Date: Sat, 16 Jul 2022 18:13:38 -0700 Subject: [PATCH 1/7] Fix `base_spell` argument for better lightweaver modification --- js/atree_constants.js | 1 + js/atree_constants_min.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/js/atree_constants.js b/js/atree_constants.js index 8dcadf6..e1235a1 100644 --- a/js/atree_constants.js +++ b/js/atree_constants.js @@ -5724,6 +5724,7 @@ const atrees = { { "type": "add_spell_prop", "target_part": "Orb Damage", + "base_spell": 5, "hits": { "Single Orb": 2 } } ] diff --git a/js/atree_constants_min.js b/js/atree_constants_min.js index 460bab4..2becae1 100644 --- a/js/atree_constants_min.js +++ b/js/atree_constants_min.js @@ -1 +1 @@ -const atrees={"Archer":[{"display_name":"Arrow Shield","desc":"Create a shield around you that deal damage and knockback mobs when triggered. (2 Charges)","parents":[60,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":6,"icon":"node_archer"},"properties":{"charges":2,"duration":60,"aoe":5000},"effects":[{"type":"replace_spell","name":"Arrow Shield","cost":30,"base_spell":4,"display":"Total Damage","parts":[{"name":"Shield Damage","type":"damage","multipliers":[90,0,0,0,0,10]},{"name":"Total Damage","type":"total","hits":{"Shield Damage":2}}]}],"id":0},{"display_name":"Escape","desc":"Throw yourself backward to avoid danger. (Hold shift while escaping to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":7,"col":4,"icon":"node_archer"},"properties":{"aoe":0,"range":0},"effects":[{"type":"replace_spell","name":"Escape","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Arrow Bomb","desc":"Throw a long-range arrow that explodes and deal high damage in a large area. (Self-damage for 25% of your DPS)","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_archer"},"properties":{"aoe":4.5,"range":26},"effects":[{"type":"replace_spell","name":"Arrow Bomb","cost":50,"base_spell":3,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Arrow Bomb","type":"damage","multipliers":[160,0,0,0,20,0]},{"name":"Total Damage","type":"total","hits":{"Arrow Bomb":1}}]}],"id":2},{"display_name":"Heart Shatter","desc":"If you hit a mob directly with Arrow Bomb, shatter its heart and deal bonus damage.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Heart Shatter":1}}],"id":3},{"display_name":"Fire Creep","desc":"Arrow Bomb will leak a trail of fire for 6s, Damaging enemies that walk into it every 0.4s.","base_abil":2,"parents":[68,39,5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":16,"col":6,"icon":"node_1"},"properties":{"aoe":0.8,"duration":6},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[30,0,0,0,20,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Burn Damage","hits":{"Fire Creep":15}}],"id":4},{"display_name":"Bryophyte Roots","desc":"When you hit an enemy with Arrow Storm, create an area that slows them down and deals damage every 0.4s.","base_abil":7,"archetype":"Trapper","archetype_req":1,"parents":[4,35],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":16,"col":8,"icon":"node_1"},"properties":{"aoe":2,"duration":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Bryophyte Roots","cost":0,"multipliers":[40,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Roots Damage","hits":{"Bryophyte Roots":12}}],"id":5},{"display_name":"Nimble String","desc":"Arrow Storm throw out +6 arrows per stream and shoot twice as fast.","base_abil":7,"parents":[36,69],"dependencies":[7],"blockers":[68],"cost":2,"display":{"row":15,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-15,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","hits":{"Single Arrow":6}}],"id":6},{"display_name":"Arrow Storm","desc":"Shoot a stream of 8 arrows, dealing significant damage to close mobs and pushing them back.","parents":[58,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":2,"icon":"node_archer"},"properties":{"range":16},"effects":[{"type":"replace_spell","name":"Arrow Storm","cost":40,"base_spell":1,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Single Arrow","multipliers":[30,0,10,0,0,0]},{"name":"Single Stream","hits":{"Single Arrow":8}},{"name":"Total Damage","hits":{"Single Stream":1}}]}],"id":7},{"display_name":"Guardian Angels","desc":"Your protective arrows from Arrow Shield will become sentient bows, dealing damage up to 8 times each to nearby enemies. (Arrow Shield will no longer push nearby enemies)","archetype":"Boltslinger","archetype_req":3,"base_abil":0,"parents":[59,67],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":19,"col":1,"icon":"node_3"},"properties":{"range":4,"duration":60,"shots":8,"charges":2},"effects":[{"type":"replace_spell","name":"Guardian Angels","base_spell":4,"display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[30,0,0,0,0,10]},{"name":"Single Bow","type":"total","hits":{"Single Arrow":8}},{"name":"Total Damage","type":"total","hits":{"Single Bow":2}}]}],"id":8},{"display_name":"Windy Feet","desc":"When casting Escape, give speed to yourself and nearby allies.","base_abil":1,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":1,"icon":"node_1"},"properties":{"aoe":8,"duration":120},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":9},{"display_name":"Basaltic Trap","desc":"When you hit the ground with Arrow Bomb, leave a Trap that damages enemies. (Max 2 Traps)","archetype":"Trapper","archetype_req":2,"parents":[5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":8,"icon":"node_3"},"properties":{"aoe":7,"traps":2},"effects":[{"type":"replace_spell","name":"Basaltic Trap","base_spell":7,"display":"Trap Damage","parts":[{"name":"Trap Damage","type":"damage","multipliers":[140,30,0,0,30,0]}]}],"id":10},{"display_name":"Windstorm","desc":"Arrow Storm shoot +1 stream of arrows, and each stream shoots +2 arrows, effectively doubling its damage.","base_abil":7,"parents":[8,33],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-10,0,-2,0,0,2]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","cost":0,"hits":{"Single Arrow":2}}],"id":11},{"display_name":"Grappling Hook","base_abil":1,"desc":"When casting Escape, throw a hook that pulls you when hitting a block. If you hit an enemy, pull them towards you instead. (Escape will not throw you backward anymore)","archetype":"Trapper","archetype_req":0,"parents":[61,40,33],"dependencies":[],"blockers":[20],"cost":2,"display":{"row":21,"col":5,"icon":"node_2"},"properties":{"range":26},"effects":[],"id":12},{"display_name":"Implosion","desc":"Arrow bomb will pull enemies towards you. If a trap is nearby, it will pull them towards it instead. Increase Heart Shatter's damage.","archetype":"Trapper","archetype_req":0,"base_abil":2,"parents":[12,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[40,0,0,0,0,0]}],"id":13},{"display_name":"Twain's Arc","desc":"When you have 2+ Focus, holding shift will summon the Twain's Arc. Charge it up to shoot a destructive long-range beam. (Damage is dealt as Main Attack Damage)","archetype":"Sharpshooter","archetype_req":4,"parents":[62,64],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_2"},"properties":{"range":64,"focusReq":2},"effects":[{"type":"replace_spell","name":"Twain's Arc","base_spell":5,"scaling":"melee","use_atkspd":false,"display":"Single Shot","parts":[{"name":"Single Shot","type":"damage","multipliers":[200,0,0,0,0,0]}]}],"id":14},{"display_name":"Fierce Stomp","desc":"When using Escape, hold shift to quickly drop down and deal damage.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[42,64],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Fierce Stomp","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","cost":0,"hits":{"Fierce Stomp":1},"display":"Stomp Damage"}],"id":15},{"display_name":"Scorched Earth","desc":"Fire Creep become much stronger.","archetype":"Sharpshooter","archetype_req":0,"parents":[14],"dependencies":[4],"blockers":[],"cost":1,"display":{"row":26,"col":5,"icon":"node_1"},"properties":{"duration":2,"aoe":0.4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[10,0,0,0,5,0]}],"id":16},{"display_name":"Leap","desc":"When you double tap jump, leap foward. (2s Cooldown)","archetype":"Boltslinger","archetype_req":5,"parents":[42,55],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_1"},"properties":{"cooldown":2},"effects":[],"id":17},{"display_name":"Shocking Bomb","desc":"Arrow Bomb will not be affected by gravity, and all damage conversions become Thunder.","archetype":"Sharpshooter","archetype_req":5,"base_abil":2,"parents":[14,44,55],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":28,"col":4,"icon":"node_1"},"properties":{"gravity":0},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":3,"conversion":"Thunder"}],"id":18},{"display_name":"Mana Trap","desc":"Your Traps will give you 2.85 Mana per second when you stay close to them.","archetype":"Trapper","archetype_req":5,"base_abil":10,"parents":[43,44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":8,"icon":"node_3"},"properties":{"range":16,"manaRegen":2.85},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":10}],"id":19},{"display_name":"Escape Artist","desc":"When casting Escape, release 120 arrows towards the ground.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[46,17],"dependencies":[],"blockers":[12],"cost":2,"display":{"row":31,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Per Arrow","multipliers":[20,0,10,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Max Damage (Escape Artist)","hits":{"Per Arrow":120},"display":"Max Damage (Escape Artist)"}],"id":20},{"display_name":"Initiator","desc":"If you do not damage an enemy for 5s or more, your next sucessful hit will deal +50% damage and add +1 Focus.","archetype":"Sharpshooter","archetype_req":5,"parents":[18,44,47],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":31,"col":5,"icon":"node_2"},"properties":{},"effects":[],"id":21},{"display_name":"Call of the Hound","desc":"Arrow Shield summon a Hound that will attack and drag aggressive enemies towards your traps.","archetype":"Trapper","archetype_req":0,"base_abil":0,"parents":[21,47],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Hound Damage","multipliers":[40,0,0,0,0,0]}],"id":22},{"display_name":"Arrow Hurricane","desc":"Arrow Storm will shoot +2 stream of arrows.","archetype":"Boltslinger","archetype_req":8,"base_abil":7,"parents":[48,20],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":33,"col":0,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":2}}],"id":23},{"display_name":"Geyser Stomp","desc":"Fierce Stomp will create geysers, dealing more damage and vertical knockback.","base_abil":1,"parents":[56],"dependencies":[15],"blockers":[],"cost":2,"display":{"row":37,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Geyser Stomp","multipliers":[0,0,0,50,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","hits":{"Geyser Stomp":1}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":15,"name":"aoe","value":1}]}],"id":24},{"display_name":"Crepuscular Ray","desc":"If you have 5 Focus, casting Arrow Storm will make you levitate and shoot 20 homing arrows per second until you run out of Focus. While in that state, you will lose 1 Focus per second.","archetype":"Sharpshooter","archetype_req":10,"parents":[49],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":37,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Crepuscular Ray","base_spell":6,"display":"DPS","parts":[{"name":"Single Arrow","multipliers":[20,0,0,5,0,0]},{"name":"DPS","hits":{"Single Arrow":20}},{"name":"Total Damage","hits":{"DPS":7}}]}],"id":25},{"display_name":"Grape Bomb","desc":"Arrow bomb will throw 3 additional smaller bombs when exploding.","base_abil":2,"parents":[51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":37,"col":7,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Grape Bomb","multipliers":[30,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Grape Bomb":3}}],"id":26},{"display_name":"Tangled Traps","desc":"Your Traps will be connected by a rope that deals damage to enemies every 0.2s.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":38,"col":6,"icon":"node_1"},"properties":{"attackSpeed":0.2},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Line Damage Tick","multipliers":[20,0,0,0,0,20]},{"type":"add_spell_prop","base_spell":7,"target_part":"DPS","hits":{"Line Damage Tick":5}}],"id":27},{"display_name":"Snow Storm","desc":"Enemies near you will be slowed down.","parents":[24,63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":39,"col":2,"icon":"node_2"},"properties":{"range":2.5,"slowness":0.3},"effects":[],"id":28},{"display_name":"All-Seeing Panoptes","desc":"Your bows from Guardian Angels become all-seeing, increasing their range, damage and letting them shoot up to +5 times each.","archetype":"Boltslinger","archetype_req":11,"base_abil":0,"parents":[28],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":40,"col":1,"icon":"node_3"},"properties":{"range":8,"shots":5},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Arrow","multipliers":[0,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":5}}],"id":29},{"display_name":"Minefield","desc":"Allow you to place +6 Traps, but with reduced damage and range.","archetype":"Trapper","archetype_req":10,"base_abil":10,"parents":[26,53],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":40,"col":7,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Trap Damage","cost":0,"multipliers":[-80,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"aoe","value":-2},{"type":"prop","abil":10,"name":"traps","value":6}]}],"id":30},{"display_name":"Bow Proficiency I","desc":"Improve your Main Attack's damage and range when using a bow.","base_abil":999,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[5,0,0,0,0,0]}],"id":31},{"display_name":"Cheaper Arrow Bomb","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":32},{"display_name":"Cheaper Arrow Storm","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[12,11,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":21,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":33},{"display_name":"Cheaper Escape","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[7,0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":34},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Trapper","archetype_req":0,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":35},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7,39,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":36},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[34,36,39],"dependencies":[],"blockers":[],"cost":1,"display":{"row":14,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":37},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":38},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[36,0,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":39},{"display_name":"More Shields","desc":"Give +2 charges to Arrow Shield.","base_abil":0,"parents":[12,10],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":21,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Shield Damage":2,"Single Bow":2}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"charges","value":2}]}],"id":40},{"display_name":"Stormy Feet","desc":"Windy Feet will last longer and add more speed.","archetype":"Boltslinger","base_abil":1,"parents":[11],"dependencies":[9],"blockers":[],"cost":1,"display":{"row":23,"col":1,"icon":"node_0"},"properties":{"duration":60},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spdPct","value":20}]}],"id":41},{"display_name":"Refined Gunpowder","desc":"Increase the damage of Arrow Bomb.","base_abil":2,"parents":[11,64],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Bomb","multipliers":[50,0,0,0,0,0]}],"id":42},{"display_name":"More Traps","desc":"Increase the maximum amount of active Traps you can have by +2.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[54],"dependencies":[10],"blockers":[],"cost":1,"display":{"row":26,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"traps","value":2}]}],"id":43},{"display_name":"Better Arrow Shield","desc":"Arrow Shield will gain additional area of effect, knockback and damage.","archetype":"Sharpshooter","archetype_req":0,"base_abil":0,"parents":[19,18,14],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":28,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Shield","behavior":"modify","multipliers":[40,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"behavior":"modify","name":"aoe","value":1}]}],"id":44},{"display_name":"Better Leap","desc":"Reduce leap's cooldown by 1s.","archetype":"Boltslinger","archetype_req":0,"base_abil":17,"parents":[17,55],"dependencies":[17],"blockers":[],"cost":1,"display":{"row":29,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":17,"name":"cooldown","value":-1}]}],"id":45},{"display_name":"Better Guardian Angels","desc":"Your Guardian Angels can shoot +4 arrows before disappearing.","archetype":"Boltslinger","archetype_req":0,"base_abil":0,"parents":[20,55],"dependencies":[8],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":4}}],"id":46},{"display_name":"Cheaper Arrow Storm (2)","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[21,19],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":47},{"display_name":"Precise Shot","desc":"+30% Critical Hit Damage","parents":[46,49,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":48},{"display_name":"Cheaper Arrow Shield","desc":"Reduce the Mana cost of Arrow Shield.","base_abil":0,"parents":[48,21],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":49},{"display_name":"Rocket Jump","desc":"Arrow Bomb's self-damage will knockback you farther away.","base_abil":2,"parents":[47,21],"dependencies":[2],"blockers":[],"cost":1,"display":{"row":33,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":50},{"display_name":"Cheaper Escape (2)","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[22,70],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":51},{"display_name":"Stronger Hook","desc":"Increase your Grappling Hook's range, speed and strength.","archetype":"Trapper","archetype_req":5,"base_abil":1,"parents":[51],"dependencies":[12],"blockers":[],"cost":1,"display":{"row":35,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":12,"name":"range","value":8}]}],"id":52},{"display_name":"Cheaper Arrow Bomb (2)","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[63,30],"dependencies":[],"blockers":[],"cost":1,"display":{"row":40,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":53},{"display_name":"Bouncing Bomb","desc":"Arrow Bomb will bounce once when hitting a block or enemy","base_abil":2,"parents":[40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":7,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Homing Shots","desc":"Your Main Attack arrows will follow nearby enemies and not be affected by gravity","archetype":"Sharpshooter","base_abil":999,"parents":[17,18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_2"},"properties":{},"effects":[],"id":55},{"display_name":"Shrapnel Bomb","desc":"Arrow Bomb's explosion will fling 15 shrapnel, dealing damage in a large area","archetype":"Boltslinger","archetype_req":8,"base_abil":2,"parents":[23,48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Shrapnel Bomblet","multipliers":[40,0,0,0,20,0]}],"id":56},{"display_name":"Elusive","desc":"If you do not get hit for 8+ seconds, become immune to self-damage and remove Arrow Storm's recoil. (Dodging counts as not getting hit)","archetype":"Boltslinger","archetype_req":0,"parents":[24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":38,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"Double Shots","desc":"Double Main Attack arrows, but they deal -30% damage per arrow (harder to hit far enemies)","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[60],"cost":1,"display":{"row":7,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-30,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":2},"display":"Total Damage"}],"id":58},{"display_name":"Triple Shots","desc":"Triple Main Attack arrows, but they deal -20% damage per arrow","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[69,67],"dependencies":[58],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-20,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":1},"display":"Total Damage"}],"id":59},{"display_name":"Power Shots","desc":"Main Attack arrows have increased speed and knockback","archetype":"Sharpshooter","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[58],"cost":1,"display":{"row":7,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":60},{"display_name":"Focus","desc":"When hitting an aggressive mob 5+ blocks away, gain +1 Focus (Max 3). Resets if you miss once","archetype":"Sharpshooter","archetype_req":2,"parents":[68],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","output":{"type":"stat","name":"damMult.Focus"},"scaling":[40],"slider_max":3}],"id":61},{"display_name":"More Focus","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[33,12],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":62},{"display_name":"More Focus (2)","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[25,28],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":39,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":63},{"display_name":"Traveler","desc":"For every 1% Walk Speed you have from items, gain +1 Raw Spell Damage (Max 100)","parents":[42,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"spd"}],"output":{"type":"stat","name":"sdRaw"},"scaling":[1],"max":100}],"id":64},{"display_name":"Patient Hunter","desc":"Your Traps will deal +20% more damage for every second they are active (Max +80%)","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[40],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":8,"icon":"node_1"},"properties":{"max":80},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4,"output":{"type":"stat","name":"damMult.Basaltic:7.Trap Damage"},"slider_step":1,"scaling":[20]}],"id":65},{"display_name":"Stronger Patient Hunter","desc":"Add +80% Max Damage to Patient Hunter","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[65],"blockers":[],"cost":1,"display":{"row":38,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4},{"type":"raw_stat","bonuses":[{"type":"prop","abil":65,"name":"max","value":80}]}],"id":66},{"display_name":"Frenzy","desc":"Every time you hit an enemy, briefly gain +6% Walk Speed (Max 200%). Decay -40% of the bonus every second","archetype":"Boltslinger","archetype_req":0,"parents":[59,6],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","output":{"type":"stat","name":"spd"},"scaling":[6],"max":160}],"id":67},{"display_name":"Phantom Ray","desc":"Condense Arrow Storm into a single ray that damages enemies 10 times per second","base_abil":7,"parents":[37,4],"dependencies":[7],"blockers":[11,6,23],"cost":2,"display":{"row":16,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"replace_spell","name":"Phantom Ray","base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[25,0,5,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Arrow":16}}]},{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":68},{"display_name":"Arrow Rain","desc":"When Arrow Shield loses its last charge, unleash 150 arrows raining down on enemies","base_abil":0,"parents":[6,38],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":15,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Per Arrow)","multipliers":[80,0,0,0,0,60]},{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Total)","hits":{"Arrow Rain (Per Arrow)":150}}],"id":69},{"display_name":"Decimator","desc":"Phantom Ray will increase its damage by 10% everytime you do not miss with it (Max 70%)","archetype":"Sharpshooter","archetype_req":0,"base_abil":7,"parents":[49,51],"dependencies":[68],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Phantom Ray hits","slider_max":7,"output":{"type":"stat","name":"damMult.Decimator:1.Single Arrow"},"scaling":[10]}],"id":70}],"Warrior":[{"display_name":"Bash","desc":"Violently bash the ground, dealing high damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_warrior"},"properties":{"aoe":4,"range":3},"effects":[{"type":"replace_spell","name":"Bash","cost":45,"base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Hit","type":"damage","multipliers":[130,20,0,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Hit":1}}]}],"id":0},{"display_name":"Spear Proficiency 1","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":1},{"display_name":"Cheaper Bash","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":2},{"display_name":"Double Bash","desc":"Bash will hit a second time at a farther range","parents":[1],"base_abil":0,"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{"range":3},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","cost":0,"hits":{"Single Hit":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","cost":0,"multipliers":[-50,0,0,0,0,0]}],"id":3},{"display_name":"Charge","desc":"Charge forward at high speed (hold shift to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_warrior"},"properties":{},"effects":[{"type":"replace_spell","name":"Charge","cost":25,"base_spell":2,"spell_type":"damage","scaling":"spell","display":"","parts":[]}],"id":4},{"display_name":"Heavy Impact","desc":"After using Charge, violently crash down into the ground and deal damage","base_abil":4,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Heavy Impact","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Heavy Impact":1}}],"id":5},{"display_name":"Vehement","desc":"For every 1% or 1 Raw Main Attack Damage you have from items, gain +2% Walk Speed (Max 20%)","archetype":"Fallen","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[7],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"mdPct"},{"type":"stat","name":"mdRaw"}],"output":{"type":"stat","name":"spd"},"scaling":[2,2],"max":20}],"id":6},{"display_name":"Tougher Skin","desc":"Harden your skin and become permanently +5% more resistant. For every 1% or 1 Raw Heath Regen you have from items, gain +10 Health (Max 100)","archetype":"Paladin","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[6],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]},{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hprRaw"},{"type":"stat","name":"hprPct"}],"output":{"type":"stat","name":"hpBonus"},"scaling":[10,10],"max":100}],"id":7},{"display_name":"Uppercut","desc":"Rocket enemies in the air and deal massive damage","parents":[6,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_warrior"},"properties":{"aoe":3,"range":5},"effects":[{"type":"replace_spell","name":"Uppercut","cost":45,"base_spell":3,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Uppercut","multipliers":[200,40,40,0,0,0]},{"name":"Total Damage","hits":{"Uppercut":1}}]}],"id":8},{"display_name":"Cheaper Charge","desc":"Reduce the Mana cost of Charge","base_abil":4,"parents":[8,10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":9},{"display_name":"War Scream","desc":"Emit a terrorizing roar that deals damage, pull nearby enemies, and add damage resistance to yourself and allies","parents":[7,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_warrior"},"properties":{"duration":30,"aoe":12,"defense_bonus":10},"effects":[{"type":"replace_spell","name":"War Scream","cost":35,"base_spell":4,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"War Scream","multipliers":[50,0,0,0,50,0]},{"name":"Total Damage","hits":{"War Scream":1}}]}],"id":10},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases base damage from all Earth attacks","archetype":"Fallen","archetype_req":0,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":11},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases base damage from all Thunder attacks","archetype":"Fallen","archetype_req":0,"parents":[8,14,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":12},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases base damage from all Water attacks","archetype":"Battle Monk","archetype_req":0,"parents":[9,12,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":13},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Battle Monk","archetype_req":0,"parents":[10,12,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":14},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Paladin","archetype_req":0,"parents":[10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":15},{"display_name":"Quadruple Bash","desc":"Bash will hit 4 times at an even larger range","archetype":"Fallen","archetype_req":0,"base_abil":0,"parents":[11,17],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{"range":6},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Hit":2}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[-20,0,0,0,0,0]}],"id":16},{"display_name":"Fireworks","desc":"Mobs hit by Uppercut will explode mid-air and receive additional damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[12,16],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fireworks","multipliers":[80,0,20,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Fireworks":1}}],"id":17},{"display_name":"Half-Moon Swipe","desc":"Uppercut will deal a footsweep attack at a longer and wider angle. All elemental conversions become Water","archetype":"Battle Monk","archetype_req":1,"base_abil":8,"parents":[13],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{"range":4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":-10,"multipliers":[-70,0,0,30,0,0]}],"id":18},{"display_name":"Flyby Jab","desc":"Damage enemies in your way when using Charge","base_abil":4,"parents":[14,20],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":6,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flyby Jab","multipliers":[20,0,0,0,0,40]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Flyby Jab":1}}],"id":19},{"display_name":"Flaming Uppercut","desc":"Uppercut will light mobs on fire, dealing damage every 0.6 seconds","archetype":"Paladin","archetype_req":0,"base_abil":8,"parents":[15,19],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":12,"col":8,"icon":"node_1"},"properties":{"duration":3,"tick":0.6},"effects":[{"type":"replace_spell","name":"Flaming Uppercut","base_spell":8,"display":"DPS","parts":[{"name":"Damage Tick","multipliers":[0,0,0,0,50,0]},{"name":"DPS","hits":{"Damage Tick":1.6666666666666667}},{"name":"Total Damage","hits":{"Damage Tick":5}}]}],"id":20},{"display_name":"Iron Lungs","desc":"War Scream deals more damage","archetype":"Paladin","archetype_req":0,"base_abil":10,"parents":[19,20],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"War Scream","cost":0,"multipliers":[30,0,0,0,0,30]}],"id":21},{"display_name":"Generalist","desc":"After casting 3 different spells in a row, your next spell will cost 5 mana","archetype":"Battle Monk","archetype_req":3,"parents":[23],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":2,"icon":"node_3"},"properties":{},"effects":[],"id":22},{"display_name":"Counter","desc":"When dodging a nearby enemy attack, get 30% chance to instantly attack back","archetype":"Battle Monk","archetype_req":0,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_1"},"properties":{"chance":30},"effects":[{"type":"replace_spell","name":"Counter","base_spell":5,"display":"Counter Damage","parts":[{"name":"Counter Damage","multipliers":[60,0,20,0,0,20]}]}],"id":23},{"display_name":"Mantle of the Bovemists","desc":"When casting War Scream, create a holy shield around you that reduces all incoming damage by 70% for 3 hits (20s cooldown)","archetype":"Paladin","archetype_req":3,"parents":[21],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"mantle_charge":3},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Mantle","value":70}]}],"id":24},{"display_name":"Bak'al's Grasp","desc":"After casting War Scream, become Corrupted (15s Cooldown). You cannot heal while in that state. While Corrupted, every 2% of Health you lose will add +4 Raw Damage to your attacks (Max 120)","archetype":"Fallen","archetype_req":2,"parents":[16,17],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":16,"col":1,"icon":"node_3"},"properties":{"cooldown":15},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","slider_max":100,"slider_step":1,"output":{"type":"stat","name":"damRaw"},"max":120,"scaling":[2]}],"id":25},{"display_name":"Spear Proficiency 2","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[25,27],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":26},{"display_name":"Cheaper Uppercut","desc":"Reduce the Mana Cost of Uppercut","base_abil":8,"parents":[26,28,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":27},{"display_name":"Aerodynamics","desc":"During Charge, you can steer and change direction","archetype":"Battle Monk","archetype_req":0,"base_abil":4,"parents":[27,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":28},{"display_name":"Provoke","desc":"Mobs damaged by War Scream will target only you for at least 5s. Reduce the Mana cost of War Scream","base_abil":10,"parents":[28,24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":29},{"display_name":"Precise Strikes","desc":"+30% Critical Hit Damage","parents":[27,26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":18,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":30},{"display_name":"Air Shout","desc":"War Scream will fire a projectile that can go through walls and deal damage multiple times","base_abil":10,"parents":[28,29],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":18,"col":6,"icon":"node_1"},"properties":{"attackRate":2},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Air Shout","multipliers":[40,0,0,0,0,10]}],"id":31},{"display_name":"Enraged Blow","desc":"While Corriupted, every 1% of Health you lose will increase your damage by +3% (Max 300%)","archetype":"Fallen","archetype_req":0,"base_abil":25,"parents":[26],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":20,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider_name":"Corrupted","slider":true,"output":{"type":"stat","name":"damMult.Enraged"},"scaling":[3]}],"id":32},{"display_name":"Flying Kick","desc":"When using Charge, mobs hit will halt your momentum and get knocked back","archetype":"Battle Monk","archetype_req":1,"base_abil":4,"parents":[27,34],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":3,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick","multipliers":[150,0,0,20,0,30]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Flying Kick":1},"display":"Flying Kick Max Damage"}],"id":33},{"display_name":"Stronger Mantle","desc":"Add +2 additional charges to Mantle of the Bovemists","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[35,33],"dependencies":[24],"blockers":[],"cost":1,"display":{"row":20,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":24,"name":"mantle_charge","value":2}]}],"id":34},{"display_name":"Manachism","desc":"If you receive a hit that's less than 5% of your max HP, gain 10 Mana (1s Cooldown)","archetype":"Paladin","archetype_req":3,"parents":[34,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":8,"icon":"node_2"},"properties":{"cooldown":1},"effects":[],"id":35},{"display_name":"Boiling Blood","desc":"Bash leaves a trail of boiling blood behind its first explosion, slowing down and damaging enemies above it every 0.4 seconds","base_abil":0,"parents":[32,37],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Boiling Blood","cost":0,"multipliers":[25,0,0,0,5,0]}],"id":36},{"display_name":"Ragnarokkr","desc":"War Scream become deafening, increasing its range and giving damage bonus to players","archetype":"Fallen","archetype_req":0,"base_abil":10,"parents":[36,33],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":2,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":10},{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Ragnarokkr","value":30}]}],"id":37},{"display_name":"Ambidextrous","desc":"Increase your chance to attack with Counter by +30%","base_abil":23,"parents":[33,34,39],"dependencies":[23],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":23,"name":"chance","value":30}]}],"id":38},{"display_name":"Burning Heart","desc":"For every 100 Health Bonus you have from item IDs, gain +2% Fire Damage (Max 100%)","archetype":"Paladin","archetype_req":0,"parents":[38,40],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hpBonus"}],"output":{"type":"stat","name":"fDamPct"},"scaling":[0.02],"max":100}],"id":39},{"display_name":"Stronger Bash","desc":"Increase the damage of Bash","base_abil":0,"parents":[39,35],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[30,0,0,0,0,0]}],"id":40},{"display_name":"Intoxicating Blood","desc":"After leaving Corrupted, gain 2% of the health lost back for each enemy killed while Corrupted","archetype":"Fallen","archetype_req":5,"base_abil":25,"parents":[37,36],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":23,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":41},{"display_name":"Comet","desc":"After being hit by Fireworks, enemies will crash into the ground and receive more damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[37],"dependencies":[17],"blockers":[],"cost":2,"display":{"row":24,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Comet","cost":0,"multipliers":[80,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","cost":0,"hits":{"Comet":1}}],"id":42},{"display_name":"Collide","desc":"Mobs thrown into walls from Flying Kick will explode and receive additonal damage","archetype":"Battle Monk","archetype_req":4,"base_abil":4,"parents":[38,39],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":5,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Collide","cost":0,"multipliers":[150,0,0,0,50,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Collide":1}}],"id":43},{"display_name":"Rejuvenating Skin","desc":"Regain back 30% of the damage you take as healing over 30s","archetype":"Paladin","archetype_req":5,"parents":[39,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":44},{"display_name":"Uncontainable Corruption","desc":"Reduce the cooldown of Bak'al's Grasp by -5s, and increase the raw damage gained for every 2% of health lost by +1","base_abil":25,"parents":[36,46],"dependencies":[25],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"stat","name":"damRaw"},"scaling":[0.5]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":25,"name":"cooldown","value":-5}]}],"id":45},{"display_name":"Radiant Devotee","desc":"For every 4% Reflection you have from items, gain +1/5s Mana Regen (Max 10/5s)","archetype":"Battle Monk","archetype_req":1,"parents":[47,45],"dependencies":[],"blockers":[],"cost":1,"display":{"row":26,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","inputs":[{"type":"stat","name":"ref"}],"output":{"type":"stat","name":"mr"},"scaling":[0.25],"max":10}],"id":46},{"display_name":"Whirlwind Strike","desc":"Uppercut will create a strong gust of air, launching you upward with enemies (Hold shift to stay grounded)","archetype":"Battle Monk","archetype_req":5,"base_abil":8,"parents":[38,46],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":26,"col":4,"icon":"node_1"},"properties":{"range":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","multipliers":[0,0,0,0,0,50]}],"id":47},{"display_name":"Mythril Skin","desc":"Gain +5% Base Resistance and become immune to knockback","archetype":"Paladin","archetype_req":6,"parents":[44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]}],"id":48},{"display_name":"Armour Breaker","desc":"While Corrupted, losing 30% Health will make your next Uppercut destroy enemies' defense, rendering them weaker to damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[45,46],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":27,"col":1,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.ArmorBreaker","value":30}]}],"id":49},{"display_name":"Shield Strike","desc":"When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[48,51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"replace_spell","name":"Shield Strike","base_spell":6,"display":"Damage per Shield","parts":[{"name":"Damage per Shield","multipliers":[60,0,20,0,0,0]}]}],"id":50},{"display_name":"Sparkling Hope","desc":"Everytime you heal 5% of your max health, deal damage to all nearby enemies","archetype":"Paladin","archetype_req":0,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_2"},"properties":{"aoe":6},"effects":[{"type":"replace_spell","name":"Sparkling Hope","base_spell":7,"display":"Damage Tick","parts":[{"name":"Damage Tick","multipliers":[10,0,5,0,0,0]}]}],"id":51},{"display_name":"Massive Bash","desc":"While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)","archetype":"Fallen","archetype_req":8,"base_abil":25,"parents":[53,45],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"prop","abil":0,"name":"aoe"},"scaling":[0.3333333333333333],"max":10}],"id":52},{"display_name":"Tempest","desc":"War Scream will ripple the ground and deal damage 3 times in a large area","archetype":"Battle Monk","archetype_req":0,"base_abil":10,"parents":[52,54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{"aoe":16},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest","multipliers":[30,10,0,0,0,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest Total Damage","hits":{"Tempest":3}},{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Tempest":3}}],"id":53},{"display_name":"Spirit of the Rabbit","desc":"Reduce the Mana cost of Charge and increase your Walk Speed by +20%","archetype":"Battle Monk","archetype_req":5,"base_abil":4,"parents":[53,47],"dependencies":[],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5},{"type":"raw_stat","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":54},{"display_name":"Massacre","desc":"While Corrupted, if your effective attack speed is Slow or lower, hitting an enemy with your Main Attack will add +1% to your Corrupted bar","archetype":"Fallen","archetype_req":5,"base_abil":999,"parents":[53,52],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":55},{"display_name":"Axe Kick","desc":"Increase the damage of Uppercut, but also increase its mana cost","base_abil":8,"parents":[53,54],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":10,"multipliers":[100,0,0,0,0,0]}],"id":56},{"display_name":"Radiance","desc":"Bash will buff your allies' positive IDs. (15s Cooldown)","archetype":"Paladin","archetype_req":2,"base_abil":0,"parents":[54,58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":5,"icon":"node_2"},"properties":{"cooldown":15},"effects":[],"id":57},{"display_name":"Cheaper Bash 2","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[57,50,51],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":58},{"display_name":"Cheaper War Scream","desc":"Reduce the Mana cost of War Scream","base_abil":10,"parents":[52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":59},{"display_name":"Discombobulate","desc":"Every time you hit an enemy, briefly increase your elemental damage dealt to them by +3 (Additive, Max +80). This bonus decays -5 every second","archetype":"Battle Monk","archetype_req":11,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":2,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","slider_max":27,"output":[{"type":"stat","name":"eDamAddMin"},{"type":"stat","name":"eDamAddMax"},{"type":"stat","name":"tDamAddMin"},{"type":"stat","name":"tDamAddMax"},{"type":"stat","name":"wDamAddMin"},{"type":"stat","name":"wDamAddMax"},{"type":"stat","name":"fDamAddMin"},{"type":"stat","name":"fDamAddMax"},{"type":"stat","name":"aDamAddMin"},{"type":"stat","name":"aDamAddMax"}],"scaling":[3],"max":80}],"id":60},{"display_name":"Thunderclap","desc":"Bash will cast at the player's position and gain additional AoE.\n\n All elemental conversions become Thunder","archetype":"Battle Monk","archetype_req":8,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":1,"conversion":"Thunder"},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"aoe","value":3}]}],"id":61},{"display_name":"Cyclone","desc":"After casting War Scream, envelop yourself with a vortex that damages nearby enemies every 0.5s","archetype":"Battle Monk","archetype_req":0,"parents":[54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":4,"icon":"node_1"},"properties":{"aoe":4,"duration":20},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone","multipliers":[10,0,0,0,5,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone Total Damage","hits":{"Cyclone":40}}],"id":62},{"display_name":"Second Chance","desc":"When you receive a fatal blow, survive and regain 30% of your Health (10m Cooldown)","archetype":"Paladin","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":63},{"display_name":"Blood Pact","desc":"If you do not have enough mana to cast a spell, spend health instead (0.6% health per mana)","archetype":"Fallen","archetype_req":10,"parents":[59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_3"},"properties":{"health_cost":0.6},"effects":[],"id":64},{"display_name":"Haemorrhage","desc":"Reduce Blood Pact's health cost. (0.3% health per mana)","archetype":"Fallen","archetype_req":0,"base_abil":64,"parents":[64],"dependencies":[64],"blockers":[],"cost":1,"display":{"row":35,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":64,"name":"health_cost","value":-0.3}]}],"id":65},{"display_name":"Brink of Madness","desc":"If your health is 25% full or less, gain +40% Resistance","parents":[64,67],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Brink","value":40}]}],"id":66},{"display_name":"Cheaper Uppercut 2","desc":"Reduce the Mana cost of Uppercut","base_abil":8,"parents":[63,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":35,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":67},{"display_name":"Martyr","desc":"When you receive a fatal blow, all nearby allies become invincible","archetype":"Paladin","archetype_req":0,"parents":[63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":8,"icon":"node_1"},"properties":{"duration":3,"aoe":12},"effects":[],"id":68}],"Mage":[{"display_name":"Meteor","desc":"Summon a slow but powerful meteor from the sky, dealing massive damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_mage"},"properties":{"aoe":5,"range":18},"effects":[{"type":"replace_spell","name":"Meteor","cost":55,"base_spell":3,"display":"Total Damage","parts":[{"name":"Meteor Damage","multipliers":[300,100,0,0,0,0]},{"name":"Total Damage","hits":{"Meteor Damage":1}}]}],"id":0},{"display_name":"Teleport","desc":"Instantly teleport in the direction you're facing","parents":[4],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_mage"},"properties":{"range":12},"effects":[{"type":"replace_spell","name":"Teleport","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Heal","desc":"Heal yourself and nearby allies in a large area around you. (When healing an ally, you cannot heal more than 30% of their max health)","parents":[14,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_mage"},"properties":{"aoe":5},"effects":[{"type":"replace_spell","name":"Heal","cost":35,"base_spell":1,"display":"Heal","parts":[{"name":"Heal","power":0.1}]}],"id":2},{"display_name":"Ice Snake","desc":"Summon a fast-moving ice snake that reduces your enemies' speed and damage them.","parents":[13,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_mage"},"properties":{"range":18,"effects":40,"duration":3},"effects":[{"type":"replace_spell","name":"Ice Snake","cost":35,"base_spell":4,"display":"Ice Snake Damage","parts":[{"name":"Ice Snake Damage","multipliers":[70,0,0,30,0,0]}]}],"id":3},{"display_name":"Shooting Star","desc":"Drastically increase the speed of your Meteor ability.","base_abil":3,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[],"id":4},{"display_name":"Wand Proficiency I","desc":"Improve your Main Attack's damage and range when using a wand.","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":5},{"display_name":"Cheaper Meteor","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":6},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":7},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":8},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Light Bender","archetype_req":0,"parents":[12,8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":9},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":10},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":11},{"display_name":"Cheaper Teleport","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[2,3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":12},{"display_name":"Wisdom","desc":"For every 2% or 2 Raw Spell Damage you have from items, gain +1/5s mana regen (Max 5/5s)","archetype":"Arcanist","archetype_req":0,"parents":[1],"dependencies":[],"blockers":[14],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sdPct"},{"type":"stat","name":"sdRaw"}],"output":{"type":"stat","name":"mr"},"scaling":[0.5,0.5],"max":5}],"id":13},{"display_name":"Wand Proficiency II","desc":"Improve your Main Attack's damage and range when using a wand.","archetype":"Riftwalker","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":14},{"display_name":"Wind Slash","desc":"When using Teleport, slash through the air and deal damage to enemies you pierce.","archetype":"Riftwalker","base_abil":1,"parents":[10,16],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Wind Slash","base_spell":2,"multipliers":[50,0,0,0,0,50]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":2,"display":"Total Damage","hits":{"Wind Slash":1}}],"id":15},{"display_name":"Thunderstorm","desc":"After casting Meteor, summon 3 lightning strikes and deal additional damage","base_abil":0,"parents":[15,8],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","target_part":"Lightning Damage","base_spell":3,"multipliers":[30,0,15,0,0,0]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":3,"hits":{"Lightning Damage":3}}],"id":16},{"display_name":"Stronger Meteor","desc":"Increase the damage of Meteor.","base_abil":0,"archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Meteor Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Lightning Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]}],"id":17},{"display_name":"Burning Sigil","desc":"Meteor will leave a sigil that damages enemies every 0.4s.","base_abil":0,"parents":[11,7],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":7,"icon":"node_1"},"properties":{"aoe":7,"duration":8},"effects":[{"type":"replace_spell","name":"Burning Sigil","base_spell":6,"display":"DPS","parts":[{"name":"Tick Damage","multipliers":[15,0,0,0,25,0]},{"name":"DPS","hits":{"Tick Damage":2.5}},{"name":"Total Burn Damage","hits":{"Tick Damage":20}}]}],"id":18},{"display_name":"Sunshower","desc":"Heal emit a strong light, damaging nearby enemies.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[9],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Sunshower Damage","multipliers":[70,0,0,30,0,0]}],"id":19},{"display_name":"Windsweeper","desc":"Your Main Attack will add +1 Winded to enemies you hit. (Max 5, 0.5s cooldown) Ice Snake will deal additional damage to enemies for every Winded they have","archetype":"Riftwalker","archetype_req":3,"parents":[15,16],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":15,"col":1,"icon":"node_3"},"properties":{"max":5},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:4.Ice Snake Damage"},"scaling":[20],"slider_step":1,"slider_max":5},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"wConvBase:4.Ice Snake Damage"},"scaling":[10]}],"id":20},{"display_name":"Ophanim","desc":"When casting Meteor, instead summon 2 orbs of light with 200 Health that will attack when you use your Main Attack. When they damage an enemy, they lose 20% of their Health. They can be healed back.","archetype":"Light Bender","archetype_req":2,"parents":[19],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_3"},"properties":{"health":200},"effects":[{"type":"replace_spell","name":"Ophanim","base_spell":3,"display":"Per Melee (max)","parts":[{"name":"Per Orb","multipliers":[50,0,30,20,0,0]},{"name":"Per Melee (max)","hits":{"Per Orb":2}}]},{"type":"add_spell_prop","base_spell":3,"cost":30}],"id":21},{"display_name":"Arcane Transfer","desc":"Meteor and Ice Snake will add +5 Mana to a Mana Bank for every aggressive enemy you hit. Heal will now transfer the content of your Mana Bank into usable Mana instead of healing.","archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"bank":90},"effects":[{"type":"replace_spell","name":"Arcane Transfer","base_spell":1,"parts":[],"display":""}],"id":22},{"display_name":"Cheaper Heal","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[20,24],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":23},{"display_name":"Purification","desc":"Heal and Arcane Transfer will purify you of all negative effects and fire. (3s Cooldown)","base_abil":1,"parents":[21,23,25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":4,"icon":"node_2"},"properties":{},"effects":[],"id":24},{"display_name":"Sentient Snake","desc":"Ice Snake will follow the direction you're facing, allowing you to control it.","base_abil":3,"parents":[22,24],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":17,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":25},{"display_name":"Eye Piercer","desc":"Teleport will blind enemies, confusing them for a short amount of time.","base_abil":1,"parents":[23],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":18,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":26},{"display_name":"Breathless","desc":"Meteor will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[23,24],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":18,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:3.Meteor Damage"},{"type":"stat","name":"eConvBase:3.Meteor Damage"},{"type":"stat","name":"nConvBase:3.Per Orb"},{"type":"stat","name":"eConvBase:3.Per Orb"},{"type":"stat","name":"nConvBase:3.Lightning Damage"},{"type":"stat","name":"eConvBase:3.Lightning Damage"}],"scaling":[15]}],"id":27},{"display_name":"Larger Heal","desc":"Increase your Heal's range.","base_abil":1,"archetype":"Light Bender","archetype_req":0,"parents":[24,25],"dependencies":[2],"blockers":[22],"cost":1,"display":{"row":18,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":2,"name":"aoe","value":2}]}],"id":28},{"display_name":"Larger Mana Bank","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[25],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":18,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":22,"name":"bank","value":30}]}],"id":29},{"display_name":"Cheaper Ice Snake","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":30},{"display_name":"Cheaper Teleport II","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[24,32],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":31},{"display_name":"Fortitude","desc":"After healing 120% of your max health within 10s, apply a damage bonus to each player you've healed. (15s Cooldown)","base_abil":2,"archetype":"Light Bender","archetype_req":0,"parents":[30,31],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":2,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Fortitude","value":60}]}],"id":32},{"display_name":"Pyrokinesis","desc":"When your Mana Bank reaches 30, your Main Attack will stop and explode when it hits an enemy. (Damage is dealt as Main Attack Damage)","base_abil":4,"archetype":"Arcanist","archetype_req":4,"parents":[25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":7,"icon":"node_2"},"properties":{},"__TODO":"replace_spell pyrokinesis damage","effects":[],"id":33},{"display_name":"Seance","desc":"For every 5/3s Lifesteal you have from items, gain 1% Spell Damage (Max 50%)","archetype":"","archetype_req":0,"parents":[33,36],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"ls"}],"output":{"type":"stat","name":"sdPct"},"scaling":[0.2],"max":50}],"id":34},{"display_name":"Blink","desc":"Teleport will trigger 2 times in quick successions","base_abil":1,"archetype":"Riftwalker","archetype_req":0,"parents":[32,30],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"prop","abil":1,"name":"range","value":-4}]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Wind Slash":1}}],"id":35},{"display_name":"Snake Nest","desc":"Ice Snake will summon 3 snakes.","base_abil":3,"parents":[34,31,40],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":22,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":36},{"display_name":"Arcane Restoration","desc":"Pyrokinesis will add +1 Mana every 1s to your Mana Bank when hitting an aggressive enemy.","base_abil":999,"archetype":"Arcanist","archetype_req":0,"parents":[34,36],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":6,"icon":"node_1"},"properties":{"duration":4},"effects":[],"id":37},{"display_name":"Fluid Healing","desc":"For every 1% Water Damage Bonus you have, buff Heal's healing power by +0.3%.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[40,39],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"wDam"}],"output":{"type":"stat","name":"healPct"},"scaling":[0.3]}],"id":38},{"display_name":"Transonic Warp","desc":"Teleport will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[30],"dependencies":[3,20],"blockers":[],"cost":2,"display":{"row":23,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:2.Wind Slash"},"scaling":[30]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"tConvBase:2.Wind Slash"},"scaling":[10]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"aConvBase:2.Wind Slash"},"scaling":[5]}],"id":39},{"display_name":"Healthier Ophanim I","desc":"Increase the health of your orbs from Ophanim by +800 and reduce the damage they take when hitting an enemy by -5%.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[32,31],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":22,"col":3,"icon":"node_0"},"properties":{},"effects":[],"id":40},{"display_name":"Orphion's Pulse","desc":"Heal will trigger 2 more times, increasing the overall healing.","archetype":"Light Bender","base_abil":2,"parents":[40,36],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":23,"col":4,"icon":"node_1"},"properties":{"aoe":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Heal Pulse","power":0.15},{"type":"add_spell_prop","base_spell":1,"display":"Total Heal","target_part":"Total Heal","hits":{"Heal":1,"Heal Pulse":2}}],"id":41},{"display_name":"Diffusion","desc":"If you kill an enemy with Winded on them, the leftover Winded will spread to nearby enemies.","archetype":"Riftwalker","archetype_req":6,"base_abil":20,"parents":[39,38],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":25,"col":1,"icon":"node_3"},"properties":{"aoe":5},"effects":[],"id":42},{"display_name":"Lightweaver","desc":"After healing 60% of your max health within 10s, summon a rotating orb that damages all enemies it touches for 20s. (Max 3 Orbs)","archetype":"Light Bender","archetype_req":7,"parents":[41],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Lightweaver","base_spell":5,"display":"Orb Damage","parts":[{"name":"Single Orb","type":"damage","multipliers":[30,0,0,0,20,0]},{"name":"Orb Damage","type":"total","hits":{"Single Orb":3}}]}],"id":43},{"display_name":"Arcane Speed","desc":"After casting Heal or Arcane Transfer, gain +80% speed for 3s. (8s Cooldown)","base_abil":2,"parents":[43,45],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":25,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":44},{"display_name":"Larger Mana Bank II","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[34,44],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":25,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":45},{"display_name":"Psychokinesis","desc":"Meteor will launch directly from you as a slow projectile.","base_abil":3,"archetype":"Arcanist","archetype_req":5,"parents":[45,44],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":46},{"display_name":"More Winded","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[42],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":47},{"display_name":"Cheaper Ice Snake II","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[42,52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":48},{"display_name":"Cheaper Meteor II","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[52,43,44],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":49},{"display_name":"Chaos Explosion","desc":"When your Mana Bank reaches 120, casting Arcane Transfer will rapidly unleash the last 3 spells you've cast in order.","base_abil":22,"archetype":"Arcanist","archetype_req":8,"parents":[45],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_3"},"properties":{},"effects":[],"id":50},{"display_name":"Arcane Power","desc":"Meteor and Ice Snake will add +2 Mana to your Mana Bank for each aggressive mob you hit.","base_abil":22,"archetype":"Arcanist","archetype_req":0,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":29,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":51},{"display_name":"Explosive Entrance","desc":"Deal Damage in an area on the location you Teleport to.","base_abil":1,"parents":[48,49],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":27,"col":3,"icon":"node_1"},"properties":{"aoe":3},"effects":[{"type":"add_spell_prop","target_part":"Explosion Damage","base_spell":2,"multipliers":[50,0,0,0,30,0]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Explosion Damage":1}}],"id":52},{"display_name":"Gust","desc":"Ice Snake will add +1 Winded to enemies and deal more damage.","base_abil":3,"archetype":"Riftwalker","archetype_req":7,"parents":[48,52],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Ice Snake","base_spell":4,"multipliers":[0,0,0,0,0,20]}],"id":53},{"display_name":"Time Dilation","desc":"When sprinting, create an area that increases the speed of all allies the longer they run in it. (Step out or stop running to cancel)","archetype":"Riftwalker","archetype_req":7,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Better Ophanim","desc":"Increase your maximum orbs from Ophanim by +1.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[49],"_parents":["Explosive Entrance","Cheaper Meteor II"],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":1}}],"id":55},{"display_name":"Arctic Snake","desc":"Ice Snake will freeze enemies completely for 2s.","base_abil":3,"parents":[50],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":56},{"display_name":"Devitalize","desc":"Enemies will deal -2% damage for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[58,59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"More Winded II","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[54],"_parents":["Time Dilation","Dynamic Faith"],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":58},{"display_name":"Dynamic Faith","desc":"For every 2% Sprint you have from items, gain +1% Thunder Damage (Max 100%)","parents":[58,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sprint"}],"output":{"type":"stat","name":"tDamPct"},"scaling":[0.5],"max":100}],"id":59},{"display_name":"Divination","desc":"Increase your maximum orbs from Ophanim by +3 and reduce their damage.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[59,61],"dependencies":[21],"blockers":[],"cost":2,"display":{"row":32,"col":3,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Orb","multipliers":[-50,0,-10,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":3}}],"id":60},{"display_name":"Healthier Ophanim II","desc":"Increase the health of your orbs from Ophanim by +3000.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[55],"dependencies":[40],"blockers":[],"cost":1,"display":{"row":31,"col":4,"icon":"node_0"},"properties":{},"effects":[],"id":61},{"display_name":"Sunflare","desc":"After healing 400% of your max health within 10s, your next Heal will make every nearby ally temporarily immune.","archetype":"Light Bender","archetype_req":12,"base_abil":2,"parents":[61],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_3"},"properties":{"aoe":12,"duration":5},"effects":[],"id":62},{"display_name":"Larger Mana Bank III","desc":"Increase your maximum Mana Bank by +30.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":31,"col":7,"icon":"node_0"},"properties":{},"effects":[],"id":63},{"display_name":"Arcane Overflow","desc":"Arcane Transfer will allow you to overflow your mana over its maximum limits.","archetype":"Arcanist","archetype_req":12,"base_abil":22,"parents":[63],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":33,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":64},{"display_name":"Memory Recollection","desc":"Chaos Explosion will cast +2 spells.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[64],"dependencies":[50],"blockers":[],"cost":1,"display":{"row":34,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":65},{"display_name":"Manastorm","desc":"If you have more than 100 Mana, casting a spell will give you +10 mana over 5s.","archetype":"Arcanist","archetype_req":1,"parents":[69,64,62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":66},{"display_name":"Better Lightweaver","desc":"Increase your Max Orbs by +2.","archetype":"Light Bender","archetype_req":0,"base_abil":43,"parents":[69,66],"dependencies":[43],"blockers":[],"cost":1,"display":{"row":35,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Orb Damage","hits":{"Single Orb":2}}],"id":67},{"display_name":"Timelock","desc":"Holding shift and casting Heal will absorb all Winded on nearby enemies and make you Timelocked. While Timelocked, your mana will not be depleted and you become immovable from outside forces. Enemies will recieve Winded damage from all absorbed stacks. (Max 30)","archetype":"Riftwalker","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":0,"icon":"node_3"},"properties":{},"effects":[],"id":68},{"display_name":"Cheaper Heal II","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[68,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":69}]} \ No newline at end of file +const atrees={"Archer":[{"display_name":"Arrow Shield","desc":"Create a shield around you that deal damage and knockback mobs when triggered. (2 Charges)","parents":[60,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":6,"icon":"node_archer"},"properties":{"charges":2,"duration":60,"aoe":5000},"effects":[{"type":"replace_spell","name":"Arrow Shield","cost":30,"base_spell":4,"display":"Total Damage","parts":[{"name":"Shield Damage","type":"damage","multipliers":[90,0,0,0,0,10]},{"name":"Total Damage","type":"total","hits":{"Shield Damage":2}}]}],"id":0},{"display_name":"Escape","desc":"Throw yourself backward to avoid danger. (Hold shift while escaping to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":7,"col":4,"icon":"node_archer"},"properties":{"aoe":0,"range":0},"effects":[{"type":"replace_spell","name":"Escape","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Arrow Bomb","desc":"Throw a long-range arrow that explodes and deal high damage in a large area. (Self-damage for 25% of your DPS)","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_archer"},"properties":{"aoe":4.5,"range":26},"effects":[{"type":"replace_spell","name":"Arrow Bomb","cost":50,"base_spell":3,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Arrow Bomb","type":"damage","multipliers":[160,0,0,0,20,0]},{"name":"Total Damage","type":"total","hits":{"Arrow Bomb":1}}]}],"id":2},{"display_name":"Heart Shatter","desc":"If you hit a mob directly with Arrow Bomb, shatter its heart and deal bonus damage.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Heart Shatter":1}}],"id":3},{"display_name":"Fire Creep","desc":"Arrow Bomb will leak a trail of fire for 6s, Damaging enemies that walk into it every 0.4s.","base_abil":2,"parents":[68,39,5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":16,"col":6,"icon":"node_1"},"properties":{"aoe":0.8,"duration":6},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[30,0,0,0,20,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Burn Damage","hits":{"Fire Creep":15}}],"id":4},{"display_name":"Bryophyte Roots","desc":"When you hit an enemy with Arrow Storm, create an area that slows them down and deals damage every 0.4s.","base_abil":7,"archetype":"Trapper","archetype_req":1,"parents":[4,35],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":16,"col":8,"icon":"node_1"},"properties":{"aoe":2,"duration":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Bryophyte Roots","cost":0,"multipliers":[40,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Roots Damage","hits":{"Bryophyte Roots":12}}],"id":5},{"display_name":"Nimble String","desc":"Arrow Storm throw out +6 arrows per stream and shoot twice as fast.","base_abil":7,"parents":[36,69],"dependencies":[7],"blockers":[68],"cost":2,"display":{"row":15,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-15,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","hits":{"Single Arrow":6}}],"id":6},{"display_name":"Arrow Storm","desc":"Shoot a stream of 8 arrows, dealing significant damage to close mobs and pushing them back.","parents":[58,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":2,"icon":"node_archer"},"properties":{"range":16},"effects":[{"type":"replace_spell","name":"Arrow Storm","cost":40,"base_spell":1,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Single Arrow","multipliers":[30,0,10,0,0,0]},{"name":"Single Stream","hits":{"Single Arrow":8}},{"name":"Total Damage","hits":{"Single Stream":1}}]}],"id":7},{"display_name":"Guardian Angels","desc":"Your protective arrows from Arrow Shield will become sentient bows, dealing damage up to 8 times each to nearby enemies. (Arrow Shield will no longer push nearby enemies)","archetype":"Boltslinger","archetype_req":3,"base_abil":0,"parents":[59,67],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":19,"col":1,"icon":"node_3"},"properties":{"range":4,"duration":60,"shots":8,"charges":2},"effects":[{"type":"replace_spell","name":"Guardian Angels","base_spell":4,"display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[30,0,0,0,0,10]},{"name":"Single Bow","type":"total","hits":{"Single Arrow":8}},{"name":"Total Damage","type":"total","hits":{"Single Bow":2}}]}],"id":8},{"display_name":"Windy Feet","desc":"When casting Escape, give speed to yourself and nearby allies.","base_abil":1,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":1,"icon":"node_1"},"properties":{"aoe":8,"duration":120},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":9},{"display_name":"Basaltic Trap","desc":"When you hit the ground with Arrow Bomb, leave a Trap that damages enemies. (Max 2 Traps)","archetype":"Trapper","archetype_req":2,"parents":[5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":8,"icon":"node_3"},"properties":{"aoe":7,"traps":2},"effects":[{"type":"replace_spell","name":"Basaltic Trap","base_spell":7,"display":"Trap Damage","parts":[{"name":"Trap Damage","type":"damage","multipliers":[140,30,0,0,30,0]}]}],"id":10},{"display_name":"Windstorm","desc":"Arrow Storm shoot +1 stream of arrows, and each stream shoots +2 arrows, effectively doubling its damage.","base_abil":7,"parents":[8,33],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-10,0,-2,0,0,2]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","cost":0,"hits":{"Single Arrow":2}}],"id":11},{"display_name":"Grappling Hook","base_abil":1,"desc":"When casting Escape, throw a hook that pulls you when hitting a block. If you hit an enemy, pull them towards you instead. (Escape will not throw you backward anymore)","archetype":"Trapper","archetype_req":0,"parents":[61,40,33],"dependencies":[],"blockers":[20],"cost":2,"display":{"row":21,"col":5,"icon":"node_2"},"properties":{"range":26},"effects":[],"id":12},{"display_name":"Implosion","desc":"Arrow bomb will pull enemies towards you. If a trap is nearby, it will pull them towards it instead. Increase Heart Shatter's damage.","archetype":"Trapper","archetype_req":0,"base_abil":2,"parents":[12,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[40,0,0,0,0,0]}],"id":13},{"display_name":"Twain's Arc","desc":"When you have 2+ Focus, holding shift will summon the Twain's Arc. Charge it up to shoot a destructive long-range beam. (Damage is dealt as Main Attack Damage)","archetype":"Sharpshooter","archetype_req":4,"parents":[62,64],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_2"},"properties":{"range":64,"focusReq":2},"effects":[{"type":"replace_spell","name":"Twain's Arc","base_spell":5,"scaling":"melee","use_atkspd":false,"display":"Single Shot","parts":[{"name":"Single Shot","type":"damage","multipliers":[200,0,0,0,0,0]}]}],"id":14},{"display_name":"Fierce Stomp","desc":"When using Escape, hold shift to quickly drop down and deal damage.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[42,64],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Fierce Stomp","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","cost":0,"hits":{"Fierce Stomp":1},"display":"Stomp Damage"}],"id":15},{"display_name":"Scorched Earth","desc":"Fire Creep become much stronger.","archetype":"Sharpshooter","archetype_req":0,"parents":[14],"dependencies":[4],"blockers":[],"cost":1,"display":{"row":26,"col":5,"icon":"node_1"},"properties":{"duration":2,"aoe":0.4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[10,0,0,0,5,0]}],"id":16},{"display_name":"Leap","desc":"When you double tap jump, leap foward. (2s Cooldown)","archetype":"Boltslinger","archetype_req":5,"parents":[42,55],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_1"},"properties":{"cooldown":2},"effects":[],"id":17},{"display_name":"Shocking Bomb","desc":"Arrow Bomb will not be affected by gravity, and all damage conversions become Thunder.","archetype":"Sharpshooter","archetype_req":5,"base_abil":2,"parents":[14,44,55],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":28,"col":4,"icon":"node_1"},"properties":{"gravity":0},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":3,"conversion":"Thunder"}],"id":18},{"display_name":"Mana Trap","desc":"Your Traps will give you 2.85 Mana per second when you stay close to them.","archetype":"Trapper","archetype_req":5,"base_abil":10,"parents":[43,44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":8,"icon":"node_3"},"properties":{"range":16,"manaRegen":2.85},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":10}],"id":19},{"display_name":"Escape Artist","desc":"When casting Escape, release 120 arrows towards the ground.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[46,17],"dependencies":[],"blockers":[12],"cost":2,"display":{"row":31,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Per Arrow","multipliers":[20,0,10,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Max Damage (Escape Artist)","hits":{"Per Arrow":120},"display":"Max Damage (Escape Artist)"}],"id":20},{"display_name":"Initiator","desc":"If you do not damage an enemy for 5s or more, your next sucessful hit will deal +50% damage and add +1 Focus.","archetype":"Sharpshooter","archetype_req":5,"parents":[18,44,47],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":31,"col":5,"icon":"node_2"},"properties":{},"effects":[],"id":21},{"display_name":"Call of the Hound","desc":"Arrow Shield summon a Hound that will attack and drag aggressive enemies towards your traps.","archetype":"Trapper","archetype_req":0,"base_abil":0,"parents":[21,47],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Hound Damage","multipliers":[40,0,0,0,0,0]}],"id":22},{"display_name":"Arrow Hurricane","desc":"Arrow Storm will shoot +2 stream of arrows.","archetype":"Boltslinger","archetype_req":8,"base_abil":7,"parents":[48,20],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":33,"col":0,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":2}}],"id":23},{"display_name":"Geyser Stomp","desc":"Fierce Stomp will create geysers, dealing more damage and vertical knockback.","base_abil":1,"parents":[56],"dependencies":[15],"blockers":[],"cost":2,"display":{"row":37,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Geyser Stomp","multipliers":[0,0,0,50,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","hits":{"Geyser Stomp":1}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":15,"name":"aoe","value":1}]}],"id":24},{"display_name":"Crepuscular Ray","desc":"If you have 5 Focus, casting Arrow Storm will make you levitate and shoot 20 homing arrows per second until you run out of Focus. While in that state, you will lose 1 Focus per second.","archetype":"Sharpshooter","archetype_req":10,"parents":[49],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":37,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Crepuscular Ray","base_spell":6,"display":"DPS","parts":[{"name":"Single Arrow","multipliers":[20,0,0,5,0,0]},{"name":"DPS","hits":{"Single Arrow":20}},{"name":"Total Damage","hits":{"DPS":7}}]}],"id":25},{"display_name":"Grape Bomb","desc":"Arrow bomb will throw 3 additional smaller bombs when exploding.","base_abil":2,"parents":[51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":37,"col":7,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Grape Bomb","multipliers":[30,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Grape Bomb":3}}],"id":26},{"display_name":"Tangled Traps","desc":"Your Traps will be connected by a rope that deals damage to enemies every 0.2s.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":38,"col":6,"icon":"node_1"},"properties":{"attackSpeed":0.2},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Line Damage Tick","multipliers":[20,0,0,0,0,20]},{"type":"add_spell_prop","base_spell":7,"target_part":"DPS","hits":{"Line Damage Tick":5}}],"id":27},{"display_name":"Snow Storm","desc":"Enemies near you will be slowed down.","parents":[24,63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":39,"col":2,"icon":"node_2"},"properties":{"range":2.5,"slowness":0.3},"effects":[],"id":28},{"display_name":"All-Seeing Panoptes","desc":"Your bows from Guardian Angels become all-seeing, increasing their range, damage and letting them shoot up to +5 times each.","archetype":"Boltslinger","archetype_req":11,"base_abil":0,"parents":[28],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":40,"col":1,"icon":"node_3"},"properties":{"range":8,"shots":5},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Arrow","multipliers":[0,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":5}}],"id":29},{"display_name":"Minefield","desc":"Allow you to place +6 Traps, but with reduced damage and range.","archetype":"Trapper","archetype_req":10,"base_abil":10,"parents":[26,53],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":40,"col":7,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Trap Damage","cost":0,"multipliers":[-80,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"aoe","value":-2},{"type":"prop","abil":10,"name":"traps","value":6}]}],"id":30},{"display_name":"Bow Proficiency I","desc":"Improve your Main Attack's damage and range when using a bow.","base_abil":999,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[5,0,0,0,0,0]}],"id":31},{"display_name":"Cheaper Arrow Bomb","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":32},{"display_name":"Cheaper Arrow Storm","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[12,11,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":21,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":33},{"display_name":"Cheaper Escape","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[7,0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":34},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Trapper","archetype_req":0,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":35},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7,39,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":36},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[34,36,39],"dependencies":[],"blockers":[],"cost":1,"display":{"row":14,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":37},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":38},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[36,0,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":39},{"display_name":"More Shields","desc":"Give +2 charges to Arrow Shield.","base_abil":0,"parents":[12,10],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":21,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Shield Damage":2,"Single Bow":2}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"charges","value":2}]}],"id":40},{"display_name":"Stormy Feet","desc":"Windy Feet will last longer and add more speed.","archetype":"Boltslinger","base_abil":1,"parents":[11],"dependencies":[9],"blockers":[],"cost":1,"display":{"row":23,"col":1,"icon":"node_0"},"properties":{"duration":60},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spdPct","value":20}]}],"id":41},{"display_name":"Refined Gunpowder","desc":"Increase the damage of Arrow Bomb.","base_abil":2,"parents":[11,64],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Bomb","multipliers":[50,0,0,0,0,0]}],"id":42},{"display_name":"More Traps","desc":"Increase the maximum amount of active Traps you can have by +2.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[54],"dependencies":[10],"blockers":[],"cost":1,"display":{"row":26,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"traps","value":2}]}],"id":43},{"display_name":"Better Arrow Shield","desc":"Arrow Shield will gain additional area of effect, knockback and damage.","archetype":"Sharpshooter","archetype_req":0,"base_abil":0,"parents":[19,18,14],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":28,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Shield","behavior":"modify","multipliers":[40,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"behavior":"modify","name":"aoe","value":1}]}],"id":44},{"display_name":"Better Leap","desc":"Reduce leap's cooldown by 1s.","archetype":"Boltslinger","archetype_req":0,"base_abil":17,"parents":[17,55],"dependencies":[17],"blockers":[],"cost":1,"display":{"row":29,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":17,"name":"cooldown","value":-1}]}],"id":45},{"display_name":"Better Guardian Angels","desc":"Your Guardian Angels can shoot +4 arrows before disappearing.","archetype":"Boltslinger","archetype_req":0,"base_abil":0,"parents":[20,55],"dependencies":[8],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":4}}],"id":46},{"display_name":"Cheaper Arrow Storm (2)","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[21,19],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":47},{"display_name":"Precise Shot","desc":"+30% Critical Hit Damage","parents":[46,49,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":48},{"display_name":"Cheaper Arrow Shield","desc":"Reduce the Mana cost of Arrow Shield.","base_abil":0,"parents":[48,21],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":49},{"display_name":"Rocket Jump","desc":"Arrow Bomb's self-damage will knockback you farther away.","base_abil":2,"parents":[47,21],"dependencies":[2],"blockers":[],"cost":1,"display":{"row":33,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":50},{"display_name":"Cheaper Escape (2)","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[22,70],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":51},{"display_name":"Stronger Hook","desc":"Increase your Grappling Hook's range, speed and strength.","archetype":"Trapper","archetype_req":5,"base_abil":1,"parents":[51],"dependencies":[12],"blockers":[],"cost":1,"display":{"row":35,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":12,"name":"range","value":8}]}],"id":52},{"display_name":"Cheaper Arrow Bomb (2)","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[63,30],"dependencies":[],"blockers":[],"cost":1,"display":{"row":40,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":53},{"display_name":"Bouncing Bomb","desc":"Arrow Bomb will bounce once when hitting a block or enemy","base_abil":2,"parents":[40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":7,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Homing Shots","desc":"Your Main Attack arrows will follow nearby enemies and not be affected by gravity","archetype":"Sharpshooter","base_abil":999,"parents":[17,18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_2"},"properties":{},"effects":[],"id":55},{"display_name":"Shrapnel Bomb","desc":"Arrow Bomb's explosion will fling 15 shrapnel, dealing damage in a large area","archetype":"Boltslinger","archetype_req":8,"base_abil":2,"parents":[23,48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Shrapnel Bomblet","multipliers":[40,0,0,0,20,0]}],"id":56},{"display_name":"Elusive","desc":"If you do not get hit for 8+ seconds, become immune to self-damage and remove Arrow Storm's recoil. (Dodging counts as not getting hit)","archetype":"Boltslinger","archetype_req":0,"parents":[24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":38,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"Double Shots","desc":"Double Main Attack arrows, but they deal -30% damage per arrow (harder to hit far enemies)","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[60],"cost":1,"display":{"row":7,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-30,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":2},"display":"Total Damage"}],"id":58},{"display_name":"Triple Shots","desc":"Triple Main Attack arrows, but they deal -20% damage per arrow","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[69,67],"dependencies":[58],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-20,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":1},"display":"Total Damage"}],"id":59},{"display_name":"Power Shots","desc":"Main Attack arrows have increased speed and knockback","archetype":"Sharpshooter","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[58],"cost":1,"display":{"row":7,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":60},{"display_name":"Focus","desc":"When hitting an aggressive mob 5+ blocks away, gain +1 Focus (Max 3). Resets if you miss once","archetype":"Sharpshooter","archetype_req":2,"parents":[68],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","output":{"type":"stat","name":"damMult.Focus"},"scaling":[40],"slider_max":3}],"id":61},{"display_name":"More Focus","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[33,12],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":62},{"display_name":"More Focus (2)","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[25,28],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":39,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":63},{"display_name":"Traveler","desc":"For every 1% Walk Speed you have from items, gain +1 Raw Spell Damage (Max 100)","parents":[42,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"spd"}],"output":{"type":"stat","name":"sdRaw"},"scaling":[1],"max":100}],"id":64},{"display_name":"Patient Hunter","desc":"Your Traps will deal +20% more damage for every second they are active (Max +80%)","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[40],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":8,"icon":"node_1"},"properties":{"max":80},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4,"output":{"type":"stat","name":"damMult.Basaltic:7.Trap Damage"},"slider_step":1,"scaling":[20]}],"id":65},{"display_name":"Stronger Patient Hunter","desc":"Add +80% Max Damage to Patient Hunter","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[65],"blockers":[],"cost":1,"display":{"row":38,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4},{"type":"raw_stat","bonuses":[{"type":"prop","abil":65,"name":"max","value":80}]}],"id":66},{"display_name":"Frenzy","desc":"Every time you hit an enemy, briefly gain +6% Walk Speed (Max 200%). Decay -40% of the bonus every second","archetype":"Boltslinger","archetype_req":0,"parents":[59,6],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","output":{"type":"stat","name":"spd"},"scaling":[6],"max":160}],"id":67},{"display_name":"Phantom Ray","desc":"Condense Arrow Storm into a single ray that damages enemies 10 times per second","base_abil":7,"parents":[37,4],"dependencies":[7],"blockers":[11,6,23],"cost":2,"display":{"row":16,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"replace_spell","name":"Phantom Ray","base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[25,0,5,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Arrow":16}}]},{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":68},{"display_name":"Arrow Rain","desc":"When Arrow Shield loses its last charge, unleash 150 arrows raining down on enemies","base_abil":0,"parents":[6,38],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":15,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Per Arrow)","multipliers":[80,0,0,0,0,60]},{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Total)","hits":{"Arrow Rain (Per Arrow)":150}}],"id":69},{"display_name":"Decimator","desc":"Phantom Ray will increase its damage by 10% everytime you do not miss with it (Max 70%)","archetype":"Sharpshooter","archetype_req":0,"base_abil":7,"parents":[49,51],"dependencies":[68],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Phantom Ray hits","slider_max":7,"output":{"type":"stat","name":"damMult.Decimator:1.Single Arrow"},"scaling":[10]}],"id":70}],"Warrior":[{"display_name":"Bash","desc":"Violently bash the ground, dealing high damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_warrior"},"properties":{"aoe":4,"range":3},"effects":[{"type":"replace_spell","name":"Bash","cost":45,"base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Hit","type":"damage","multipliers":[130,20,0,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Hit":1}}]}],"id":0},{"display_name":"Spear Proficiency 1","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":1},{"display_name":"Cheaper Bash","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":2},{"display_name":"Double Bash","desc":"Bash will hit a second time at a farther range","parents":[1],"base_abil":0,"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{"range":3},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","cost":0,"hits":{"Single Hit":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","cost":0,"multipliers":[-50,0,0,0,0,0]}],"id":3},{"display_name":"Charge","desc":"Charge forward at high speed (hold shift to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_warrior"},"properties":{},"effects":[{"type":"replace_spell","name":"Charge","cost":25,"base_spell":2,"spell_type":"damage","scaling":"spell","display":"","parts":[]}],"id":4},{"display_name":"Heavy Impact","desc":"After using Charge, violently crash down into the ground and deal damage","base_abil":4,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Heavy Impact","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Heavy Impact":1}}],"id":5},{"display_name":"Vehement","desc":"For every 1% or 1 Raw Main Attack Damage you have from items, gain +2% Walk Speed (Max 20%)","archetype":"Fallen","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[7],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"mdPct"},{"type":"stat","name":"mdRaw"}],"output":{"type":"stat","name":"spd"},"scaling":[2,2],"max":20}],"id":6},{"display_name":"Tougher Skin","desc":"Harden your skin and become permanently +5% more resistant. For every 1% or 1 Raw Heath Regen you have from items, gain +10 Health (Max 100)","archetype":"Paladin","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[6],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]},{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hprRaw"},{"type":"stat","name":"hprPct"}],"output":{"type":"stat","name":"hpBonus"},"scaling":[10,10],"max":100}],"id":7},{"display_name":"Uppercut","desc":"Rocket enemies in the air and deal massive damage","parents":[6,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_warrior"},"properties":{"aoe":3,"range":5},"effects":[{"type":"replace_spell","name":"Uppercut","cost":45,"base_spell":3,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Uppercut","multipliers":[200,40,40,0,0,0]},{"name":"Total Damage","hits":{"Uppercut":1}}]}],"id":8},{"display_name":"Cheaper Charge","desc":"Reduce the Mana cost of Charge","base_abil":4,"parents":[8,10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":9},{"display_name":"War Scream","desc":"Emit a terrorizing roar that deals damage, pull nearby enemies, and add damage resistance to yourself and allies","parents":[7,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_warrior"},"properties":{"duration":30,"aoe":12,"defense_bonus":10},"effects":[{"type":"replace_spell","name":"War Scream","cost":35,"base_spell":4,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"War Scream","multipliers":[50,0,0,0,50,0]},{"name":"Total Damage","hits":{"War Scream":1}}]}],"id":10},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases base damage from all Earth attacks","archetype":"Fallen","archetype_req":0,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":11},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases base damage from all Thunder attacks","archetype":"Fallen","archetype_req":0,"parents":[8,14,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":12},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases base damage from all Water attacks","archetype":"Battle Monk","archetype_req":0,"parents":[9,12,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":13},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Battle Monk","archetype_req":0,"parents":[10,12,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":14},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Paladin","archetype_req":0,"parents":[10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":15},{"display_name":"Quadruple Bash","desc":"Bash will hit 4 times at an even larger range","archetype":"Fallen","archetype_req":0,"base_abil":0,"parents":[11,17],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{"range":6},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Hit":2}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[-20,0,0,0,0,0]}],"id":16},{"display_name":"Fireworks","desc":"Mobs hit by Uppercut will explode mid-air and receive additional damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[12,16],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fireworks","multipliers":[80,0,20,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Fireworks":1}}],"id":17},{"display_name":"Half-Moon Swipe","desc":"Uppercut will deal a footsweep attack at a longer and wider angle. All elemental conversions become Water","archetype":"Battle Monk","archetype_req":1,"base_abil":8,"parents":[13],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{"range":4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":-10,"multipliers":[-70,0,0,30,0,0]}],"id":18},{"display_name":"Flyby Jab","desc":"Damage enemies in your way when using Charge","base_abil":4,"parents":[14,20],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":6,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flyby Jab","multipliers":[20,0,0,0,0,40]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Flyby Jab":1}}],"id":19},{"display_name":"Flaming Uppercut","desc":"Uppercut will light mobs on fire, dealing damage every 0.6 seconds","archetype":"Paladin","archetype_req":0,"base_abil":8,"parents":[15,19],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":12,"col":8,"icon":"node_1"},"properties":{"duration":3,"tick":0.6},"effects":[{"type":"replace_spell","name":"Flaming Uppercut","base_spell":8,"display":"DPS","parts":[{"name":"Damage Tick","multipliers":[0,0,0,0,50,0]},{"name":"DPS","hits":{"Damage Tick":1.6666666666666667}},{"name":"Total Damage","hits":{"Damage Tick":5}}]}],"id":20},{"display_name":"Iron Lungs","desc":"War Scream deals more damage","archetype":"Paladin","archetype_req":0,"base_abil":10,"parents":[19,20],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"War Scream","cost":0,"multipliers":[30,0,0,0,0,30]}],"id":21},{"display_name":"Generalist","desc":"After casting 3 different spells in a row, your next spell will cost 5 mana","archetype":"Battle Monk","archetype_req":3,"parents":[23],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":2,"icon":"node_3"},"properties":{},"effects":[],"id":22},{"display_name":"Counter","desc":"When dodging a nearby enemy attack, get 30% chance to instantly attack back","archetype":"Battle Monk","archetype_req":0,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_1"},"properties":{"chance":30},"effects":[{"type":"replace_spell","name":"Counter","base_spell":5,"display":"Counter Damage","parts":[{"name":"Counter Damage","multipliers":[60,0,20,0,0,20]}]}],"id":23},{"display_name":"Mantle of the Bovemists","desc":"When casting War Scream, create a holy shield around you that reduces all incoming damage by 70% for 3 hits (20s cooldown)","archetype":"Paladin","archetype_req":3,"parents":[21],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"mantle_charge":3},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Mantle","value":70}]}],"id":24},{"display_name":"Bak'al's Grasp","desc":"After casting War Scream, become Corrupted (15s Cooldown). You cannot heal while in that state. While Corrupted, every 2% of Health you lose will add +4 Raw Damage to your attacks (Max 120)","archetype":"Fallen","archetype_req":2,"parents":[16,17],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":16,"col":1,"icon":"node_3"},"properties":{"cooldown":15},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","slider_max":100,"slider_step":1,"output":{"type":"stat","name":"damRaw"},"max":120,"scaling":[2]}],"id":25},{"display_name":"Spear Proficiency 2","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[25,27],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":26},{"display_name":"Cheaper Uppercut","desc":"Reduce the Mana Cost of Uppercut","base_abil":8,"parents":[26,28,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":27},{"display_name":"Aerodynamics","desc":"During Charge, you can steer and change direction","archetype":"Battle Monk","archetype_req":0,"base_abil":4,"parents":[27,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":28},{"display_name":"Provoke","desc":"Mobs damaged by War Scream will target only you for at least 5s. Reduce the Mana cost of War Scream","base_abil":10,"parents":[28,24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":29},{"display_name":"Precise Strikes","desc":"+30% Critical Hit Damage","parents":[27,26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":18,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":30},{"display_name":"Air Shout","desc":"War Scream will fire a projectile that can go through walls and deal damage multiple times","base_abil":10,"parents":[28,29],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":18,"col":6,"icon":"node_1"},"properties":{"attackRate":2},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Air Shout","multipliers":[40,0,0,0,0,10]}],"id":31},{"display_name":"Enraged Blow","desc":"While Corriupted, every 1% of Health you lose will increase your damage by +3% (Max 300%)","archetype":"Fallen","archetype_req":0,"base_abil":25,"parents":[26],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":20,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider_name":"Corrupted","slider":true,"output":{"type":"stat","name":"damMult.Enraged"},"scaling":[3]}],"id":32},{"display_name":"Flying Kick","desc":"When using Charge, mobs hit will halt your momentum and get knocked back","archetype":"Battle Monk","archetype_req":1,"base_abil":4,"parents":[27,34],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":3,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick","multipliers":[150,0,0,20,0,30]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Flying Kick":1},"display":"Flying Kick Max Damage"}],"id":33},{"display_name":"Stronger Mantle","desc":"Add +2 additional charges to Mantle of the Bovemists","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[35,33],"dependencies":[24],"blockers":[],"cost":1,"display":{"row":20,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":24,"name":"mantle_charge","value":2}]}],"id":34},{"display_name":"Manachism","desc":"If you receive a hit that's less than 5% of your max HP, gain 10 Mana (1s Cooldown)","archetype":"Paladin","archetype_req":3,"parents":[34,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":8,"icon":"node_2"},"properties":{"cooldown":1},"effects":[],"id":35},{"display_name":"Boiling Blood","desc":"Bash leaves a trail of boiling blood behind its first explosion, slowing down and damaging enemies above it every 0.4 seconds","base_abil":0,"parents":[32,37],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Boiling Blood","cost":0,"multipliers":[25,0,0,0,5,0]}],"id":36},{"display_name":"Ragnarokkr","desc":"War Scream become deafening, increasing its range and giving damage bonus to players","archetype":"Fallen","archetype_req":0,"base_abil":10,"parents":[36,33],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":2,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":10},{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Ragnarokkr","value":30}]}],"id":37},{"display_name":"Ambidextrous","desc":"Increase your chance to attack with Counter by +30%","base_abil":23,"parents":[33,34,39],"dependencies":[23],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":23,"name":"chance","value":30}]}],"id":38},{"display_name":"Burning Heart","desc":"For every 100 Health Bonus you have from item IDs, gain +2% Fire Damage (Max 100%)","archetype":"Paladin","archetype_req":0,"parents":[38,40],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hpBonus"}],"output":{"type":"stat","name":"fDamPct"},"scaling":[0.02],"max":100}],"id":39},{"display_name":"Stronger Bash","desc":"Increase the damage of Bash","base_abil":0,"parents":[39,35],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[30,0,0,0,0,0]}],"id":40},{"display_name":"Intoxicating Blood","desc":"After leaving Corrupted, gain 2% of the health lost back for each enemy killed while Corrupted","archetype":"Fallen","archetype_req":5,"base_abil":25,"parents":[37,36],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":23,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":41},{"display_name":"Comet","desc":"After being hit by Fireworks, enemies will crash into the ground and receive more damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[37],"dependencies":[17],"blockers":[],"cost":2,"display":{"row":24,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Comet","cost":0,"multipliers":[80,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","cost":0,"hits":{"Comet":1}}],"id":42},{"display_name":"Collide","desc":"Mobs thrown into walls from Flying Kick will explode and receive additonal damage","archetype":"Battle Monk","archetype_req":4,"base_abil":4,"parents":[38,39],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":5,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Collide","cost":0,"multipliers":[150,0,0,0,50,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Collide":1}}],"id":43},{"display_name":"Rejuvenating Skin","desc":"Regain back 30% of the damage you take as healing over 30s","archetype":"Paladin","archetype_req":5,"parents":[39,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":44},{"display_name":"Uncontainable Corruption","desc":"Reduce the cooldown of Bak'al's Grasp by -5s, and increase the raw damage gained for every 2% of health lost by +1","base_abil":25,"parents":[36,46],"dependencies":[25],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"stat","name":"damRaw"},"scaling":[0.5]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":25,"name":"cooldown","value":-5}]}],"id":45},{"display_name":"Radiant Devotee","desc":"For every 4% Reflection you have from items, gain +1/5s Mana Regen (Max 10/5s)","archetype":"Battle Monk","archetype_req":1,"parents":[47,45],"dependencies":[],"blockers":[],"cost":1,"display":{"row":26,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","inputs":[{"type":"stat","name":"ref"}],"output":{"type":"stat","name":"mr"},"scaling":[0.25],"max":10}],"id":46},{"display_name":"Whirlwind Strike","desc":"Uppercut will create a strong gust of air, launching you upward with enemies (Hold shift to stay grounded)","archetype":"Battle Monk","archetype_req":5,"base_abil":8,"parents":[38,46],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":26,"col":4,"icon":"node_1"},"properties":{"range":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","multipliers":[0,0,0,0,0,50]}],"id":47},{"display_name":"Mythril Skin","desc":"Gain +5% Base Resistance and become immune to knockback","archetype":"Paladin","archetype_req":6,"parents":[44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]}],"id":48},{"display_name":"Armour Breaker","desc":"While Corrupted, losing 30% Health will make your next Uppercut destroy enemies' defense, rendering them weaker to damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[45,46],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":27,"col":1,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.ArmorBreaker","value":30}]}],"id":49},{"display_name":"Shield Strike","desc":"When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[48,51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"replace_spell","name":"Shield Strike","base_spell":6,"display":"Damage per Shield","parts":[{"name":"Damage per Shield","multipliers":[60,0,20,0,0,0]}]}],"id":50},{"display_name":"Sparkling Hope","desc":"Everytime you heal 5% of your max health, deal damage to all nearby enemies","archetype":"Paladin","archetype_req":0,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_2"},"properties":{"aoe":6},"effects":[{"type":"replace_spell","name":"Sparkling Hope","base_spell":7,"display":"Damage Tick","parts":[{"name":"Damage Tick","multipliers":[10,0,5,0,0,0]}]}],"id":51},{"display_name":"Massive Bash","desc":"While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)","archetype":"Fallen","archetype_req":8,"base_abil":25,"parents":[53,45],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"prop","abil":0,"name":"aoe"},"scaling":[0.3333333333333333],"max":10}],"id":52},{"display_name":"Tempest","desc":"War Scream will ripple the ground and deal damage 3 times in a large area","archetype":"Battle Monk","archetype_req":0,"base_abil":10,"parents":[52,54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{"aoe":16},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest","multipliers":[30,10,0,0,0,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest Total Damage","hits":{"Tempest":3}},{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Tempest":3}}],"id":53},{"display_name":"Spirit of the Rabbit","desc":"Reduce the Mana cost of Charge and increase your Walk Speed by +20%","archetype":"Battle Monk","archetype_req":5,"base_abil":4,"parents":[53,47],"dependencies":[],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5},{"type":"raw_stat","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":54},{"display_name":"Massacre","desc":"While Corrupted, if your effective attack speed is Slow or lower, hitting an enemy with your Main Attack will add +1% to your Corrupted bar","archetype":"Fallen","archetype_req":5,"base_abil":999,"parents":[53,52],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":55},{"display_name":"Axe Kick","desc":"Increase the damage of Uppercut, but also increase its mana cost","base_abil":8,"parents":[53,54],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":10,"multipliers":[100,0,0,0,0,0]}],"id":56},{"display_name":"Radiance","desc":"Bash will buff your allies' positive IDs. (15s Cooldown)","archetype":"Paladin","archetype_req":2,"base_abil":0,"parents":[54,58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":5,"icon":"node_2"},"properties":{"cooldown":15},"effects":[],"id":57},{"display_name":"Cheaper Bash 2","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[57,50,51],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":58},{"display_name":"Cheaper War Scream","desc":"Reduce the Mana cost of War Scream","base_abil":10,"parents":[52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":59},{"display_name":"Discombobulate","desc":"Every time you hit an enemy, briefly increase your elemental damage dealt to them by +3 (Additive, Max +80). This bonus decays -5 every second","archetype":"Battle Monk","archetype_req":11,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":2,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","slider_max":27,"output":[{"type":"stat","name":"eDamAddMin"},{"type":"stat","name":"eDamAddMax"},{"type":"stat","name":"tDamAddMin"},{"type":"stat","name":"tDamAddMax"},{"type":"stat","name":"wDamAddMin"},{"type":"stat","name":"wDamAddMax"},{"type":"stat","name":"fDamAddMin"},{"type":"stat","name":"fDamAddMax"},{"type":"stat","name":"aDamAddMin"},{"type":"stat","name":"aDamAddMax"}],"scaling":[3],"max":80}],"id":60},{"display_name":"Thunderclap","desc":"Bash will cast at the player's position and gain additional AoE.\n\n All elemental conversions become Thunder","archetype":"Battle Monk","archetype_req":8,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":1,"conversion":"Thunder"},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"aoe","value":3}]}],"id":61},{"display_name":"Cyclone","desc":"After casting War Scream, envelop yourself with a vortex that damages nearby enemies every 0.5s","archetype":"Battle Monk","archetype_req":0,"parents":[54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":4,"icon":"node_1"},"properties":{"aoe":4,"duration":20},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone","multipliers":[10,0,0,0,5,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone Total Damage","hits":{"Cyclone":40}}],"id":62},{"display_name":"Second Chance","desc":"When you receive a fatal blow, survive and regain 30% of your Health (10m Cooldown)","archetype":"Paladin","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":63},{"display_name":"Blood Pact","desc":"If you do not have enough mana to cast a spell, spend health instead (0.6% health per mana)","archetype":"Fallen","archetype_req":10,"parents":[59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_3"},"properties":{"health_cost":0.6},"effects":[],"id":64},{"display_name":"Haemorrhage","desc":"Reduce Blood Pact's health cost. (0.3% health per mana)","archetype":"Fallen","archetype_req":0,"base_abil":64,"parents":[64],"dependencies":[64],"blockers":[],"cost":1,"display":{"row":35,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":64,"name":"health_cost","value":-0.3}]}],"id":65},{"display_name":"Brink of Madness","desc":"If your health is 25% full or less, gain +40% Resistance","parents":[64,67],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Brink","value":40}]}],"id":66},{"display_name":"Cheaper Uppercut 2","desc":"Reduce the Mana cost of Uppercut","base_abil":8,"parents":[63,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":35,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":67},{"display_name":"Martyr","desc":"When you receive a fatal blow, all nearby allies become invincible","archetype":"Paladin","archetype_req":0,"parents":[63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":8,"icon":"node_1"},"properties":{"duration":3,"aoe":12},"effects":[],"id":68}],"Mage":[{"display_name":"Meteor","desc":"Summon a slow but powerful meteor from the sky, dealing massive damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_mage"},"properties":{"aoe":5,"range":18},"effects":[{"type":"replace_spell","name":"Meteor","cost":55,"base_spell":3,"display":"Total Damage","parts":[{"name":"Meteor Damage","multipliers":[300,100,0,0,0,0]},{"name":"Total Damage","hits":{"Meteor Damage":1}}]}],"id":0},{"display_name":"Teleport","desc":"Instantly teleport in the direction you're facing","parents":[4],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_mage"},"properties":{"range":12},"effects":[{"type":"replace_spell","name":"Teleport","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Heal","desc":"Heal yourself and nearby allies in a large area around you. (When healing an ally, you cannot heal more than 30% of their max health)","parents":[14,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_mage"},"properties":{"aoe":5},"effects":[{"type":"replace_spell","name":"Heal","cost":35,"base_spell":1,"display":"Heal","parts":[{"name":"Heal","power":0.1}]}],"id":2},{"display_name":"Ice Snake","desc":"Summon a fast-moving ice snake that reduces your enemies' speed and damage them.","parents":[13,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_mage"},"properties":{"range":18,"effects":40,"duration":3},"effects":[{"type":"replace_spell","name":"Ice Snake","cost":35,"base_spell":4,"display":"Ice Snake Damage","parts":[{"name":"Ice Snake Damage","multipliers":[70,0,0,30,0,0]}]}],"id":3},{"display_name":"Shooting Star","desc":"Drastically increase the speed of your Meteor ability.","base_abil":3,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[],"id":4},{"display_name":"Wand Proficiency I","desc":"Improve your Main Attack's damage and range when using a wand.","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":5},{"display_name":"Cheaper Meteor","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":6},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":7},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":8},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Light Bender","archetype_req":0,"parents":[12,8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":9},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":10},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":11},{"display_name":"Cheaper Teleport","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[2,3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":12},{"display_name":"Wisdom","desc":"For every 2% or 2 Raw Spell Damage you have from items, gain +1/5s mana regen (Max 5/5s)","archetype":"Arcanist","archetype_req":0,"parents":[1],"dependencies":[],"blockers":[14],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sdPct"},{"type":"stat","name":"sdRaw"}],"output":{"type":"stat","name":"mr"},"scaling":[0.5,0.5],"max":5}],"id":13},{"display_name":"Wand Proficiency II","desc":"Improve your Main Attack's damage and range when using a wand.","archetype":"Riftwalker","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":14},{"display_name":"Wind Slash","desc":"When using Teleport, slash through the air and deal damage to enemies you pierce.","archetype":"Riftwalker","base_abil":1,"parents":[10,16],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Wind Slash","base_spell":2,"multipliers":[50,0,0,0,0,50]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":2,"display":"Total Damage","hits":{"Wind Slash":1}}],"id":15},{"display_name":"Thunderstorm","desc":"After casting Meteor, summon 3 lightning strikes and deal additional damage","base_abil":0,"parents":[15,8],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","target_part":"Lightning Damage","base_spell":3,"multipliers":[30,0,15,0,0,0]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":3,"hits":{"Lightning Damage":3}}],"id":16},{"display_name":"Stronger Meteor","desc":"Increase the damage of Meteor.","base_abil":0,"archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Meteor Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Lightning Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]}],"id":17},{"display_name":"Burning Sigil","desc":"Meteor will leave a sigil that damages enemies every 0.4s.","base_abil":0,"parents":[11,7],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":7,"icon":"node_1"},"properties":{"aoe":7,"duration":8},"effects":[{"type":"replace_spell","name":"Burning Sigil","base_spell":6,"display":"DPS","parts":[{"name":"Tick Damage","multipliers":[15,0,0,0,25,0]},{"name":"DPS","hits":{"Tick Damage":2.5}},{"name":"Total Burn Damage","hits":{"Tick Damage":20}}]}],"id":18},{"display_name":"Sunshower","desc":"Heal emit a strong light, damaging nearby enemies.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[9],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Sunshower Damage","multipliers":[70,0,0,30,0,0]}],"id":19},{"display_name":"Windsweeper","desc":"Your Main Attack will add +1 Winded to enemies you hit. (Max 5, 0.5s cooldown) Ice Snake will deal additional damage to enemies for every Winded they have","archetype":"Riftwalker","archetype_req":3,"parents":[15,16],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":15,"col":1,"icon":"node_3"},"properties":{"max":5},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:4.Ice Snake Damage"},"scaling":[20],"slider_step":1,"slider_max":5},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"wConvBase:4.Ice Snake Damage"},"scaling":[10]}],"id":20},{"display_name":"Ophanim","desc":"When casting Meteor, instead summon 2 orbs of light with 200 Health that will attack when you use your Main Attack. When they damage an enemy, they lose 20% of their Health. They can be healed back.","archetype":"Light Bender","archetype_req":2,"parents":[19],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_3"},"properties":{"health":200},"effects":[{"type":"replace_spell","name":"Ophanim","base_spell":3,"display":"Per Melee (max)","parts":[{"name":"Per Orb","multipliers":[50,0,30,20,0,0]},{"name":"Per Melee (max)","hits":{"Per Orb":2}}]},{"type":"add_spell_prop","base_spell":3,"cost":30}],"id":21},{"display_name":"Arcane Transfer","desc":"Meteor and Ice Snake will add +5 Mana to a Mana Bank for every aggressive enemy you hit. Heal will now transfer the content of your Mana Bank into usable Mana instead of healing.","archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"bank":90},"effects":[{"type":"replace_spell","name":"Arcane Transfer","base_spell":1,"parts":[],"display":""}],"id":22},{"display_name":"Cheaper Heal","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[20,24],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":23},{"display_name":"Purification","desc":"Heal and Arcane Transfer will purify you of all negative effects and fire. (3s Cooldown)","base_abil":1,"parents":[21,23,25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":4,"icon":"node_2"},"properties":{},"effects":[],"id":24},{"display_name":"Sentient Snake","desc":"Ice Snake will follow the direction you're facing, allowing you to control it.","base_abil":3,"parents":[22,24],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":17,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":25},{"display_name":"Eye Piercer","desc":"Teleport will blind enemies, confusing them for a short amount of time.","base_abil":1,"parents":[23],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":18,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":26},{"display_name":"Breathless","desc":"Meteor will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[23,24],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":18,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:3.Meteor Damage"},{"type":"stat","name":"eConvBase:3.Meteor Damage"},{"type":"stat","name":"nConvBase:3.Per Orb"},{"type":"stat","name":"eConvBase:3.Per Orb"},{"type":"stat","name":"nConvBase:3.Lightning Damage"},{"type":"stat","name":"eConvBase:3.Lightning Damage"}],"scaling":[15]}],"id":27},{"display_name":"Larger Heal","desc":"Increase your Heal's range.","base_abil":1,"archetype":"Light Bender","archetype_req":0,"parents":[24,25],"dependencies":[2],"blockers":[22],"cost":1,"display":{"row":18,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":2,"name":"aoe","value":2}]}],"id":28},{"display_name":"Larger Mana Bank","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[25],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":18,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":22,"name":"bank","value":30}]}],"id":29},{"display_name":"Cheaper Ice Snake","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":30},{"display_name":"Cheaper Teleport II","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[24,32],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":31},{"display_name":"Fortitude","desc":"After healing 120% of your max health within 10s, apply a damage bonus to each player you've healed. (15s Cooldown)","base_abil":2,"archetype":"Light Bender","archetype_req":0,"parents":[30,31],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":2,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Fortitude","value":60}]}],"id":32},{"display_name":"Pyrokinesis","desc":"When your Mana Bank reaches 30, your Main Attack will stop and explode when it hits an enemy. (Damage is dealt as Main Attack Damage)","base_abil":4,"archetype":"Arcanist","archetype_req":4,"parents":[25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":7,"icon":"node_2"},"properties":{},"__TODO":"replace_spell pyrokinesis damage","effects":[],"id":33},{"display_name":"Seance","desc":"For every 5/3s Lifesteal you have from items, gain 1% Spell Damage (Max 50%)","archetype":"","archetype_req":0,"parents":[33,36],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"ls"}],"output":{"type":"stat","name":"sdPct"},"scaling":[0.2],"max":50}],"id":34},{"display_name":"Blink","desc":"Teleport will trigger 2 times in quick successions","base_abil":1,"archetype":"Riftwalker","archetype_req":0,"parents":[32,30],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"prop","abil":1,"name":"range","value":-4}]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Wind Slash":1}}],"id":35},{"display_name":"Snake Nest","desc":"Ice Snake will summon 3 snakes.","base_abil":3,"parents":[34,31,40],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":22,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":36},{"display_name":"Arcane Restoration","desc":"Pyrokinesis will add +1 Mana every 1s to your Mana Bank when hitting an aggressive enemy.","base_abil":999,"archetype":"Arcanist","archetype_req":0,"parents":[34,36],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":6,"icon":"node_1"},"properties":{"duration":4},"effects":[],"id":37},{"display_name":"Fluid Healing","desc":"For every 1% Water Damage Bonus you have, buff Heal's healing power by +0.3%.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[40,39],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"wDam"}],"output":{"type":"stat","name":"healPct"},"scaling":[0.3]}],"id":38},{"display_name":"Transonic Warp","desc":"Teleport will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[30],"dependencies":[3,20],"blockers":[],"cost":2,"display":{"row":23,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:2.Wind Slash"},"scaling":[30]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"tConvBase:2.Wind Slash"},"scaling":[10]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"aConvBase:2.Wind Slash"},"scaling":[5]}],"id":39},{"display_name":"Healthier Ophanim I","desc":"Increase the health of your orbs from Ophanim by +800 and reduce the damage they take when hitting an enemy by -5%.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[32,31],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":22,"col":3,"icon":"node_0"},"properties":{},"effects":[],"id":40},{"display_name":"Orphion's Pulse","desc":"Heal will trigger 2 more times, increasing the overall healing.","archetype":"Light Bender","base_abil":2,"parents":[40,36],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":23,"col":4,"icon":"node_1"},"properties":{"aoe":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Heal Pulse","power":0.15},{"type":"add_spell_prop","base_spell":1,"display":"Total Heal","target_part":"Total Heal","hits":{"Heal":1,"Heal Pulse":2}}],"id":41},{"display_name":"Diffusion","desc":"If you kill an enemy with Winded on them, the leftover Winded will spread to nearby enemies.","archetype":"Riftwalker","archetype_req":6,"base_abil":20,"parents":[39,38],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":25,"col":1,"icon":"node_3"},"properties":{"aoe":5},"effects":[],"id":42},{"display_name":"Lightweaver","desc":"After healing 60% of your max health within 10s, summon a rotating orb that damages all enemies it touches for 20s. (Max 3 Orbs)","archetype":"Light Bender","archetype_req":7,"parents":[41],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Lightweaver","base_spell":5,"display":"Orb Damage","parts":[{"name":"Single Orb","type":"damage","multipliers":[30,0,0,0,20,0]},{"name":"Orb Damage","type":"total","hits":{"Single Orb":3}}]}],"id":43},{"display_name":"Arcane Speed","desc":"After casting Heal or Arcane Transfer, gain +80% speed for 3s. (8s Cooldown)","base_abil":2,"parents":[43,45],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":25,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":44},{"display_name":"Larger Mana Bank II","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[34,44],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":25,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":45},{"display_name":"Psychokinesis","desc":"Meteor will launch directly from you as a slow projectile.","base_abil":3,"archetype":"Arcanist","archetype_req":5,"parents":[45,44],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":46},{"display_name":"More Winded","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[42],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":47},{"display_name":"Cheaper Ice Snake II","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[42,52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":48},{"display_name":"Cheaper Meteor II","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[52,43,44],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":49},{"display_name":"Chaos Explosion","desc":"When your Mana Bank reaches 120, casting Arcane Transfer will rapidly unleash the last 3 spells you've cast in order.","base_abil":22,"archetype":"Arcanist","archetype_req":8,"parents":[45],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_3"},"properties":{},"effects":[],"id":50},{"display_name":"Arcane Power","desc":"Meteor and Ice Snake will add +2 Mana to your Mana Bank for each aggressive mob you hit.","base_abil":22,"archetype":"Arcanist","archetype_req":0,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":29,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":51},{"display_name":"Explosive Entrance","desc":"Deal Damage in an area on the location you Teleport to.","base_abil":1,"parents":[48,49],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":27,"col":3,"icon":"node_1"},"properties":{"aoe":3},"effects":[{"type":"add_spell_prop","target_part":"Explosion Damage","base_spell":2,"multipliers":[50,0,0,0,30,0]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Explosion Damage":1}}],"id":52},{"display_name":"Gust","desc":"Ice Snake will add +1 Winded to enemies and deal more damage.","base_abil":3,"archetype":"Riftwalker","archetype_req":7,"parents":[48,52],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Ice Snake","base_spell":4,"multipliers":[0,0,0,0,0,20]}],"id":53},{"display_name":"Time Dilation","desc":"When sprinting, create an area that increases the speed of all allies the longer they run in it. (Step out or stop running to cancel)","archetype":"Riftwalker","archetype_req":7,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Better Ophanim","desc":"Increase your maximum orbs from Ophanim by +1.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[49],"_parents":["Explosive Entrance","Cheaper Meteor II"],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":1}}],"id":55},{"display_name":"Arctic Snake","desc":"Ice Snake will freeze enemies completely for 2s.","base_abil":3,"parents":[50],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":56},{"display_name":"Devitalize","desc":"Enemies will deal -2% damage for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[58,59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"More Winded II","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[54],"_parents":["Time Dilation","Dynamic Faith"],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":58},{"display_name":"Dynamic Faith","desc":"For every 2% Sprint you have from items, gain +1% Thunder Damage (Max 100%)","parents":[58,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sprint"}],"output":{"type":"stat","name":"tDamPct"},"scaling":[0.5],"max":100}],"id":59},{"display_name":"Divination","desc":"Increase your maximum orbs from Ophanim by +3 and reduce their damage.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[59,61],"dependencies":[21],"blockers":[],"cost":2,"display":{"row":32,"col":3,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Orb","multipliers":[-50,0,-10,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":3}}],"id":60},{"display_name":"Healthier Ophanim II","desc":"Increase the health of your orbs from Ophanim by +3000.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[55],"dependencies":[40],"blockers":[],"cost":1,"display":{"row":31,"col":4,"icon":"node_0"},"properties":{},"effects":[],"id":61},{"display_name":"Sunflare","desc":"After healing 400% of your max health within 10s, your next Heal will make every nearby ally temporarily immune.","archetype":"Light Bender","archetype_req":12,"base_abil":2,"parents":[61],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_3"},"properties":{"aoe":12,"duration":5},"effects":[],"id":62},{"display_name":"Larger Mana Bank III","desc":"Increase your maximum Mana Bank by +30.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":31,"col":7,"icon":"node_0"},"properties":{},"effects":[],"id":63},{"display_name":"Arcane Overflow","desc":"Arcane Transfer will allow you to overflow your mana over its maximum limits.","archetype":"Arcanist","archetype_req":11,"base_abil":22,"parents":[63],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":33,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":64},{"display_name":"Memory Recollection","desc":"Chaos Explosion will cast +2 spells.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[64],"dependencies":[50],"blockers":[],"cost":1,"display":{"row":34,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":65},{"display_name":"Manastorm","desc":"If you have more than 100 Mana, casting a spell will give you +10 mana over 5s.","archetype":"Arcanist","archetype_req":1,"parents":[69,64,62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":66},{"display_name":"Better Lightweaver","desc":"Increase your Max Orbs by +2.","archetype":"Light Bender","archetype_req":0,"base_abil":43,"parents":[69,66],"dependencies":[43],"blockers":[],"cost":1,"display":{"row":35,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Orb Damage","base_spell":5,"hits":{"Single Orb":2}}],"id":67},{"display_name":"Timelock","desc":"Holding shift and casting Heal will absorb all Winded on nearby enemies and make you Timelocked. While Timelocked, your mana will not be depleted and you become immovable from outside forces. Enemies will recieve Winded damage from all absorbed stacks. (Max 30)","archetype":"Riftwalker","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":0,"icon":"node_3"},"properties":{},"effects":[],"id":68},{"display_name":"Cheaper Heal II","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[68,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":69}]} \ No newline at end of file From fb499c38209ab62edc86bb14e28e5ef7a68ee208 Mon Sep 17 00:00:00 2001 From: hppeng Date: Sat, 16 Jul 2022 19:09:19 -0700 Subject: [PATCH 2/7] Explosion damage affected by transonic warp also cap stat scalers --- js/README_atree_constants.md | 1 + js/atree.js | 1 + js/atree_constants.js | 44 +++++++++++++++++++++++++----------- js/atree_constants_min.js | 2 +- 4 files changed, 34 insertions(+), 14 deletions(-) diff --git a/js/README_atree_constants.md b/js/README_atree_constants.md index 47b5763..242f9bc 100644 --- a/js/README_atree_constants.md +++ b/js/README_atree_constants.md @@ -1,5 +1,6 @@ How to convert: +0. start in the `js` directory 1. edit `atree_constants.js` 2. run `python3 ../py_script/atree-generateID.py 3. check that the site still works diff --git a/js/atree.js b/js/atree.js index 57610b7..08622be 100644 --- a/js/atree.js +++ b/js/atree.js @@ -750,6 +750,7 @@ const atree_stats = new (class extends ComputeNode { for (const [scaling, input] of zip2(effect.scaling, effect.inputs)) { total += scaling * item_stats.get(input.name); } + if (total < 0) { total = 0; } // Normal stat scaling will not go negative. if ('max' in effect && total > effect.max) { total = effect.max; } // TODO: output (list...) if (Array.isArray(effect.output)) { diff --git a/js/atree_constants.js b/js/atree_constants.js index 8dcadf6..d839e78 100644 --- a/js/atree_constants.js +++ b/js/atree_constants.js @@ -4981,7 +4981,7 @@ const atrees = { "behavior": "modify", "target_part": "Total Damage", "base_spell": 2, - "hits": {"Wind Slash": 1} + "hits": {"Wind Slash": 1, "Explosion Damage": 1} } ] }, @@ -5074,30 +5074,48 @@ const atrees = { "type": "stat_scaling", "slider": true, "slider_name": "Winded", - "output": { - "type": "stat", - "name": "nConvBase:2.Wind Slash" - }, + "output": [ + { + "type": "stat", + "name": "nConvBase:2.Wind Slash" + }, + { + "type": "stat", + "name": "nConvBase:2.Explosion Damage" + } + ], "scaling": [30] }, { "type": "stat_scaling", "slider": true, "slider_name": "Winded", - "output": { - "type": "stat", - "name": "tConvBase:2.Wind Slash" - }, + "output": [ + { + "type": "stat", + "name": "tConvBase:2.Wind Slash" + }, + { + "type": "stat", + "name": "tConvBase:2.Explosion Damage" + } + ], "scaling": [10] }, { "type": "stat_scaling", "slider": true, "slider_name": "Winded", - "output": { - "type": "stat", - "name": "aConvBase:2.Wind Slash" - }, + "output": [ + { + "type": "stat", + "name": "aConvBase:2.Wind Slash" + }, + { + "type": "stat", + "name": "aConvBase:2.Explosion Damage" + } + ], "scaling": [5] } ] diff --git a/js/atree_constants_min.js b/js/atree_constants_min.js index 460bab4..85719f5 100644 --- a/js/atree_constants_min.js +++ b/js/atree_constants_min.js @@ -1 +1 @@ -const atrees={"Archer":[{"display_name":"Arrow Shield","desc":"Create a shield around you that deal damage and knockback mobs when triggered. (2 Charges)","parents":[60,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":6,"icon":"node_archer"},"properties":{"charges":2,"duration":60,"aoe":5000},"effects":[{"type":"replace_spell","name":"Arrow Shield","cost":30,"base_spell":4,"display":"Total Damage","parts":[{"name":"Shield Damage","type":"damage","multipliers":[90,0,0,0,0,10]},{"name":"Total Damage","type":"total","hits":{"Shield Damage":2}}]}],"id":0},{"display_name":"Escape","desc":"Throw yourself backward to avoid danger. (Hold shift while escaping to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":7,"col":4,"icon":"node_archer"},"properties":{"aoe":0,"range":0},"effects":[{"type":"replace_spell","name":"Escape","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Arrow Bomb","desc":"Throw a long-range arrow that explodes and deal high damage in a large area. (Self-damage for 25% of your DPS)","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_archer"},"properties":{"aoe":4.5,"range":26},"effects":[{"type":"replace_spell","name":"Arrow Bomb","cost":50,"base_spell":3,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Arrow Bomb","type":"damage","multipliers":[160,0,0,0,20,0]},{"name":"Total Damage","type":"total","hits":{"Arrow Bomb":1}}]}],"id":2},{"display_name":"Heart Shatter","desc":"If you hit a mob directly with Arrow Bomb, shatter its heart and deal bonus damage.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Heart Shatter":1}}],"id":3},{"display_name":"Fire Creep","desc":"Arrow Bomb will leak a trail of fire for 6s, Damaging enemies that walk into it every 0.4s.","base_abil":2,"parents":[68,39,5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":16,"col":6,"icon":"node_1"},"properties":{"aoe":0.8,"duration":6},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[30,0,0,0,20,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Burn Damage","hits":{"Fire Creep":15}}],"id":4},{"display_name":"Bryophyte Roots","desc":"When you hit an enemy with Arrow Storm, create an area that slows them down and deals damage every 0.4s.","base_abil":7,"archetype":"Trapper","archetype_req":1,"parents":[4,35],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":16,"col":8,"icon":"node_1"},"properties":{"aoe":2,"duration":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Bryophyte Roots","cost":0,"multipliers":[40,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Roots Damage","hits":{"Bryophyte Roots":12}}],"id":5},{"display_name":"Nimble String","desc":"Arrow Storm throw out +6 arrows per stream and shoot twice as fast.","base_abil":7,"parents":[36,69],"dependencies":[7],"blockers":[68],"cost":2,"display":{"row":15,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-15,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","hits":{"Single Arrow":6}}],"id":6},{"display_name":"Arrow Storm","desc":"Shoot a stream of 8 arrows, dealing significant damage to close mobs and pushing them back.","parents":[58,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":2,"icon":"node_archer"},"properties":{"range":16},"effects":[{"type":"replace_spell","name":"Arrow Storm","cost":40,"base_spell":1,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Single Arrow","multipliers":[30,0,10,0,0,0]},{"name":"Single Stream","hits":{"Single Arrow":8}},{"name":"Total Damage","hits":{"Single Stream":1}}]}],"id":7},{"display_name":"Guardian Angels","desc":"Your protective arrows from Arrow Shield will become sentient bows, dealing damage up to 8 times each to nearby enemies. (Arrow Shield will no longer push nearby enemies)","archetype":"Boltslinger","archetype_req":3,"base_abil":0,"parents":[59,67],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":19,"col":1,"icon":"node_3"},"properties":{"range":4,"duration":60,"shots":8,"charges":2},"effects":[{"type":"replace_spell","name":"Guardian Angels","base_spell":4,"display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[30,0,0,0,0,10]},{"name":"Single Bow","type":"total","hits":{"Single Arrow":8}},{"name":"Total Damage","type":"total","hits":{"Single Bow":2}}]}],"id":8},{"display_name":"Windy Feet","desc":"When casting Escape, give speed to yourself and nearby allies.","base_abil":1,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":1,"icon":"node_1"},"properties":{"aoe":8,"duration":120},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":9},{"display_name":"Basaltic Trap","desc":"When you hit the ground with Arrow Bomb, leave a Trap that damages enemies. (Max 2 Traps)","archetype":"Trapper","archetype_req":2,"parents":[5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":8,"icon":"node_3"},"properties":{"aoe":7,"traps":2},"effects":[{"type":"replace_spell","name":"Basaltic Trap","base_spell":7,"display":"Trap Damage","parts":[{"name":"Trap Damage","type":"damage","multipliers":[140,30,0,0,30,0]}]}],"id":10},{"display_name":"Windstorm","desc":"Arrow Storm shoot +1 stream of arrows, and each stream shoots +2 arrows, effectively doubling its damage.","base_abil":7,"parents":[8,33],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-10,0,-2,0,0,2]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","cost":0,"hits":{"Single Arrow":2}}],"id":11},{"display_name":"Grappling Hook","base_abil":1,"desc":"When casting Escape, throw a hook that pulls you when hitting a block. If you hit an enemy, pull them towards you instead. (Escape will not throw you backward anymore)","archetype":"Trapper","archetype_req":0,"parents":[61,40,33],"dependencies":[],"blockers":[20],"cost":2,"display":{"row":21,"col":5,"icon":"node_2"},"properties":{"range":26},"effects":[],"id":12},{"display_name":"Implosion","desc":"Arrow bomb will pull enemies towards you. If a trap is nearby, it will pull them towards it instead. Increase Heart Shatter's damage.","archetype":"Trapper","archetype_req":0,"base_abil":2,"parents":[12,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[40,0,0,0,0,0]}],"id":13},{"display_name":"Twain's Arc","desc":"When you have 2+ Focus, holding shift will summon the Twain's Arc. Charge it up to shoot a destructive long-range beam. (Damage is dealt as Main Attack Damage)","archetype":"Sharpshooter","archetype_req":4,"parents":[62,64],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_2"},"properties":{"range":64,"focusReq":2},"effects":[{"type":"replace_spell","name":"Twain's Arc","base_spell":5,"scaling":"melee","use_atkspd":false,"display":"Single Shot","parts":[{"name":"Single Shot","type":"damage","multipliers":[200,0,0,0,0,0]}]}],"id":14},{"display_name":"Fierce Stomp","desc":"When using Escape, hold shift to quickly drop down and deal damage.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[42,64],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Fierce Stomp","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","cost":0,"hits":{"Fierce Stomp":1},"display":"Stomp Damage"}],"id":15},{"display_name":"Scorched Earth","desc":"Fire Creep become much stronger.","archetype":"Sharpshooter","archetype_req":0,"parents":[14],"dependencies":[4],"blockers":[],"cost":1,"display":{"row":26,"col":5,"icon":"node_1"},"properties":{"duration":2,"aoe":0.4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[10,0,0,0,5,0]}],"id":16},{"display_name":"Leap","desc":"When you double tap jump, leap foward. (2s Cooldown)","archetype":"Boltslinger","archetype_req":5,"parents":[42,55],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_1"},"properties":{"cooldown":2},"effects":[],"id":17},{"display_name":"Shocking Bomb","desc":"Arrow Bomb will not be affected by gravity, and all damage conversions become Thunder.","archetype":"Sharpshooter","archetype_req":5,"base_abil":2,"parents":[14,44,55],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":28,"col":4,"icon":"node_1"},"properties":{"gravity":0},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":3,"conversion":"Thunder"}],"id":18},{"display_name":"Mana Trap","desc":"Your Traps will give you 2.85 Mana per second when you stay close to them.","archetype":"Trapper","archetype_req":5,"base_abil":10,"parents":[43,44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":8,"icon":"node_3"},"properties":{"range":16,"manaRegen":2.85},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":10}],"id":19},{"display_name":"Escape Artist","desc":"When casting Escape, release 120 arrows towards the ground.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[46,17],"dependencies":[],"blockers":[12],"cost":2,"display":{"row":31,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Per Arrow","multipliers":[20,0,10,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Max Damage (Escape Artist)","hits":{"Per Arrow":120},"display":"Max Damage (Escape Artist)"}],"id":20},{"display_name":"Initiator","desc":"If you do not damage an enemy for 5s or more, your next sucessful hit will deal +50% damage and add +1 Focus.","archetype":"Sharpshooter","archetype_req":5,"parents":[18,44,47],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":31,"col":5,"icon":"node_2"},"properties":{},"effects":[],"id":21},{"display_name":"Call of the Hound","desc":"Arrow Shield summon a Hound that will attack and drag aggressive enemies towards your traps.","archetype":"Trapper","archetype_req":0,"base_abil":0,"parents":[21,47],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Hound Damage","multipliers":[40,0,0,0,0,0]}],"id":22},{"display_name":"Arrow Hurricane","desc":"Arrow Storm will shoot +2 stream of arrows.","archetype":"Boltslinger","archetype_req":8,"base_abil":7,"parents":[48,20],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":33,"col":0,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":2}}],"id":23},{"display_name":"Geyser Stomp","desc":"Fierce Stomp will create geysers, dealing more damage and vertical knockback.","base_abil":1,"parents":[56],"dependencies":[15],"blockers":[],"cost":2,"display":{"row":37,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Geyser Stomp","multipliers":[0,0,0,50,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","hits":{"Geyser Stomp":1}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":15,"name":"aoe","value":1}]}],"id":24},{"display_name":"Crepuscular Ray","desc":"If you have 5 Focus, casting Arrow Storm will make you levitate and shoot 20 homing arrows per second until you run out of Focus. While in that state, you will lose 1 Focus per second.","archetype":"Sharpshooter","archetype_req":10,"parents":[49],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":37,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Crepuscular Ray","base_spell":6,"display":"DPS","parts":[{"name":"Single Arrow","multipliers":[20,0,0,5,0,0]},{"name":"DPS","hits":{"Single Arrow":20}},{"name":"Total Damage","hits":{"DPS":7}}]}],"id":25},{"display_name":"Grape Bomb","desc":"Arrow bomb will throw 3 additional smaller bombs when exploding.","base_abil":2,"parents":[51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":37,"col":7,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Grape Bomb","multipliers":[30,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Grape Bomb":3}}],"id":26},{"display_name":"Tangled Traps","desc":"Your Traps will be connected by a rope that deals damage to enemies every 0.2s.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":38,"col":6,"icon":"node_1"},"properties":{"attackSpeed":0.2},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Line Damage Tick","multipliers":[20,0,0,0,0,20]},{"type":"add_spell_prop","base_spell":7,"target_part":"DPS","hits":{"Line Damage Tick":5}}],"id":27},{"display_name":"Snow Storm","desc":"Enemies near you will be slowed down.","parents":[24,63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":39,"col":2,"icon":"node_2"},"properties":{"range":2.5,"slowness":0.3},"effects":[],"id":28},{"display_name":"All-Seeing Panoptes","desc":"Your bows from Guardian Angels become all-seeing, increasing their range, damage and letting them shoot up to +5 times each.","archetype":"Boltslinger","archetype_req":11,"base_abil":0,"parents":[28],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":40,"col":1,"icon":"node_3"},"properties":{"range":8,"shots":5},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Arrow","multipliers":[0,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":5}}],"id":29},{"display_name":"Minefield","desc":"Allow you to place +6 Traps, but with reduced damage and range.","archetype":"Trapper","archetype_req":10,"base_abil":10,"parents":[26,53],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":40,"col":7,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Trap Damage","cost":0,"multipliers":[-80,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"aoe","value":-2},{"type":"prop","abil":10,"name":"traps","value":6}]}],"id":30},{"display_name":"Bow Proficiency I","desc":"Improve your Main Attack's damage and range when using a bow.","base_abil":999,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[5,0,0,0,0,0]}],"id":31},{"display_name":"Cheaper Arrow Bomb","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":32},{"display_name":"Cheaper Arrow Storm","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[12,11,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":21,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":33},{"display_name":"Cheaper Escape","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[7,0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":34},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Trapper","archetype_req":0,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":35},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7,39,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":36},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[34,36,39],"dependencies":[],"blockers":[],"cost":1,"display":{"row":14,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":37},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":38},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[36,0,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":39},{"display_name":"More Shields","desc":"Give +2 charges to Arrow Shield.","base_abil":0,"parents":[12,10],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":21,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Shield Damage":2,"Single Bow":2}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"charges","value":2}]}],"id":40},{"display_name":"Stormy Feet","desc":"Windy Feet will last longer and add more speed.","archetype":"Boltslinger","base_abil":1,"parents":[11],"dependencies":[9],"blockers":[],"cost":1,"display":{"row":23,"col":1,"icon":"node_0"},"properties":{"duration":60},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spdPct","value":20}]}],"id":41},{"display_name":"Refined Gunpowder","desc":"Increase the damage of Arrow Bomb.","base_abil":2,"parents":[11,64],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Bomb","multipliers":[50,0,0,0,0,0]}],"id":42},{"display_name":"More Traps","desc":"Increase the maximum amount of active Traps you can have by +2.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[54],"dependencies":[10],"blockers":[],"cost":1,"display":{"row":26,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"traps","value":2}]}],"id":43},{"display_name":"Better Arrow Shield","desc":"Arrow Shield will gain additional area of effect, knockback and damage.","archetype":"Sharpshooter","archetype_req":0,"base_abil":0,"parents":[19,18,14],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":28,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Shield","behavior":"modify","multipliers":[40,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"behavior":"modify","name":"aoe","value":1}]}],"id":44},{"display_name":"Better Leap","desc":"Reduce leap's cooldown by 1s.","archetype":"Boltslinger","archetype_req":0,"base_abil":17,"parents":[17,55],"dependencies":[17],"blockers":[],"cost":1,"display":{"row":29,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":17,"name":"cooldown","value":-1}]}],"id":45},{"display_name":"Better Guardian Angels","desc":"Your Guardian Angels can shoot +4 arrows before disappearing.","archetype":"Boltslinger","archetype_req":0,"base_abil":0,"parents":[20,55],"dependencies":[8],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":4}}],"id":46},{"display_name":"Cheaper Arrow Storm (2)","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[21,19],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":47},{"display_name":"Precise Shot","desc":"+30% Critical Hit Damage","parents":[46,49,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":48},{"display_name":"Cheaper Arrow Shield","desc":"Reduce the Mana cost of Arrow Shield.","base_abil":0,"parents":[48,21],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":49},{"display_name":"Rocket Jump","desc":"Arrow Bomb's self-damage will knockback you farther away.","base_abil":2,"parents":[47,21],"dependencies":[2],"blockers":[],"cost":1,"display":{"row":33,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":50},{"display_name":"Cheaper Escape (2)","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[22,70],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":51},{"display_name":"Stronger Hook","desc":"Increase your Grappling Hook's range, speed and strength.","archetype":"Trapper","archetype_req":5,"base_abil":1,"parents":[51],"dependencies":[12],"blockers":[],"cost":1,"display":{"row":35,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":12,"name":"range","value":8}]}],"id":52},{"display_name":"Cheaper Arrow Bomb (2)","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[63,30],"dependencies":[],"blockers":[],"cost":1,"display":{"row":40,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":53},{"display_name":"Bouncing Bomb","desc":"Arrow Bomb will bounce once when hitting a block or enemy","base_abil":2,"parents":[40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":7,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Homing Shots","desc":"Your Main Attack arrows will follow nearby enemies and not be affected by gravity","archetype":"Sharpshooter","base_abil":999,"parents":[17,18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_2"},"properties":{},"effects":[],"id":55},{"display_name":"Shrapnel Bomb","desc":"Arrow Bomb's explosion will fling 15 shrapnel, dealing damage in a large area","archetype":"Boltslinger","archetype_req":8,"base_abil":2,"parents":[23,48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Shrapnel Bomblet","multipliers":[40,0,0,0,20,0]}],"id":56},{"display_name":"Elusive","desc":"If you do not get hit for 8+ seconds, become immune to self-damage and remove Arrow Storm's recoil. (Dodging counts as not getting hit)","archetype":"Boltslinger","archetype_req":0,"parents":[24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":38,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"Double Shots","desc":"Double Main Attack arrows, but they deal -30% damage per arrow (harder to hit far enemies)","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[60],"cost":1,"display":{"row":7,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-30,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":2},"display":"Total Damage"}],"id":58},{"display_name":"Triple Shots","desc":"Triple Main Attack arrows, but they deal -20% damage per arrow","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[69,67],"dependencies":[58],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-20,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":1},"display":"Total Damage"}],"id":59},{"display_name":"Power Shots","desc":"Main Attack arrows have increased speed and knockback","archetype":"Sharpshooter","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[58],"cost":1,"display":{"row":7,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":60},{"display_name":"Focus","desc":"When hitting an aggressive mob 5+ blocks away, gain +1 Focus (Max 3). Resets if you miss once","archetype":"Sharpshooter","archetype_req":2,"parents":[68],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","output":{"type":"stat","name":"damMult.Focus"},"scaling":[40],"slider_max":3}],"id":61},{"display_name":"More Focus","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[33,12],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":62},{"display_name":"More Focus (2)","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[25,28],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":39,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":63},{"display_name":"Traveler","desc":"For every 1% Walk Speed you have from items, gain +1 Raw Spell Damage (Max 100)","parents":[42,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"spd"}],"output":{"type":"stat","name":"sdRaw"},"scaling":[1],"max":100}],"id":64},{"display_name":"Patient Hunter","desc":"Your Traps will deal +20% more damage for every second they are active (Max +80%)","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[40],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":8,"icon":"node_1"},"properties":{"max":80},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4,"output":{"type":"stat","name":"damMult.Basaltic:7.Trap Damage"},"slider_step":1,"scaling":[20]}],"id":65},{"display_name":"Stronger Patient Hunter","desc":"Add +80% Max Damage to Patient Hunter","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[65],"blockers":[],"cost":1,"display":{"row":38,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4},{"type":"raw_stat","bonuses":[{"type":"prop","abil":65,"name":"max","value":80}]}],"id":66},{"display_name":"Frenzy","desc":"Every time you hit an enemy, briefly gain +6% Walk Speed (Max 200%). Decay -40% of the bonus every second","archetype":"Boltslinger","archetype_req":0,"parents":[59,6],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","output":{"type":"stat","name":"spd"},"scaling":[6],"max":160}],"id":67},{"display_name":"Phantom Ray","desc":"Condense Arrow Storm into a single ray that damages enemies 10 times per second","base_abil":7,"parents":[37,4],"dependencies":[7],"blockers":[11,6,23],"cost":2,"display":{"row":16,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"replace_spell","name":"Phantom Ray","base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[25,0,5,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Arrow":16}}]},{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":68},{"display_name":"Arrow Rain","desc":"When Arrow Shield loses its last charge, unleash 150 arrows raining down on enemies","base_abil":0,"parents":[6,38],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":15,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Per Arrow)","multipliers":[80,0,0,0,0,60]},{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Total)","hits":{"Arrow Rain (Per Arrow)":150}}],"id":69},{"display_name":"Decimator","desc":"Phantom Ray will increase its damage by 10% everytime you do not miss with it (Max 70%)","archetype":"Sharpshooter","archetype_req":0,"base_abil":7,"parents":[49,51],"dependencies":[68],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Phantom Ray hits","slider_max":7,"output":{"type":"stat","name":"damMult.Decimator:1.Single Arrow"},"scaling":[10]}],"id":70}],"Warrior":[{"display_name":"Bash","desc":"Violently bash the ground, dealing high damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_warrior"},"properties":{"aoe":4,"range":3},"effects":[{"type":"replace_spell","name":"Bash","cost":45,"base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Hit","type":"damage","multipliers":[130,20,0,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Hit":1}}]}],"id":0},{"display_name":"Spear Proficiency 1","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":1},{"display_name":"Cheaper Bash","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":2},{"display_name":"Double Bash","desc":"Bash will hit a second time at a farther range","parents":[1],"base_abil":0,"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{"range":3},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","cost":0,"hits":{"Single Hit":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","cost":0,"multipliers":[-50,0,0,0,0,0]}],"id":3},{"display_name":"Charge","desc":"Charge forward at high speed (hold shift to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_warrior"},"properties":{},"effects":[{"type":"replace_spell","name":"Charge","cost":25,"base_spell":2,"spell_type":"damage","scaling":"spell","display":"","parts":[]}],"id":4},{"display_name":"Heavy Impact","desc":"After using Charge, violently crash down into the ground and deal damage","base_abil":4,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Heavy Impact","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Heavy Impact":1}}],"id":5},{"display_name":"Vehement","desc":"For every 1% or 1 Raw Main Attack Damage you have from items, gain +2% Walk Speed (Max 20%)","archetype":"Fallen","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[7],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"mdPct"},{"type":"stat","name":"mdRaw"}],"output":{"type":"stat","name":"spd"},"scaling":[2,2],"max":20}],"id":6},{"display_name":"Tougher Skin","desc":"Harden your skin and become permanently +5% more resistant. For every 1% or 1 Raw Heath Regen you have from items, gain +10 Health (Max 100)","archetype":"Paladin","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[6],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]},{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hprRaw"},{"type":"stat","name":"hprPct"}],"output":{"type":"stat","name":"hpBonus"},"scaling":[10,10],"max":100}],"id":7},{"display_name":"Uppercut","desc":"Rocket enemies in the air and deal massive damage","parents":[6,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_warrior"},"properties":{"aoe":3,"range":5},"effects":[{"type":"replace_spell","name":"Uppercut","cost":45,"base_spell":3,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Uppercut","multipliers":[200,40,40,0,0,0]},{"name":"Total Damage","hits":{"Uppercut":1}}]}],"id":8},{"display_name":"Cheaper Charge","desc":"Reduce the Mana cost of Charge","base_abil":4,"parents":[8,10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":9},{"display_name":"War Scream","desc":"Emit a terrorizing roar that deals damage, pull nearby enemies, and add damage resistance to yourself and allies","parents":[7,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_warrior"},"properties":{"duration":30,"aoe":12,"defense_bonus":10},"effects":[{"type":"replace_spell","name":"War Scream","cost":35,"base_spell":4,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"War Scream","multipliers":[50,0,0,0,50,0]},{"name":"Total Damage","hits":{"War Scream":1}}]}],"id":10},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases base damage from all Earth attacks","archetype":"Fallen","archetype_req":0,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":11},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases base damage from all Thunder attacks","archetype":"Fallen","archetype_req":0,"parents":[8,14,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":12},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases base damage from all Water attacks","archetype":"Battle Monk","archetype_req":0,"parents":[9,12,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":13},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Battle Monk","archetype_req":0,"parents":[10,12,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":14},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Paladin","archetype_req":0,"parents":[10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":15},{"display_name":"Quadruple Bash","desc":"Bash will hit 4 times at an even larger range","archetype":"Fallen","archetype_req":0,"base_abil":0,"parents":[11,17],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{"range":6},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Hit":2}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[-20,0,0,0,0,0]}],"id":16},{"display_name":"Fireworks","desc":"Mobs hit by Uppercut will explode mid-air and receive additional damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[12,16],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fireworks","multipliers":[80,0,20,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Fireworks":1}}],"id":17},{"display_name":"Half-Moon Swipe","desc":"Uppercut will deal a footsweep attack at a longer and wider angle. All elemental conversions become Water","archetype":"Battle Monk","archetype_req":1,"base_abil":8,"parents":[13],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{"range":4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":-10,"multipliers":[-70,0,0,30,0,0]}],"id":18},{"display_name":"Flyby Jab","desc":"Damage enemies in your way when using Charge","base_abil":4,"parents":[14,20],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":6,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flyby Jab","multipliers":[20,0,0,0,0,40]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Flyby Jab":1}}],"id":19},{"display_name":"Flaming Uppercut","desc":"Uppercut will light mobs on fire, dealing damage every 0.6 seconds","archetype":"Paladin","archetype_req":0,"base_abil":8,"parents":[15,19],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":12,"col":8,"icon":"node_1"},"properties":{"duration":3,"tick":0.6},"effects":[{"type":"replace_spell","name":"Flaming Uppercut","base_spell":8,"display":"DPS","parts":[{"name":"Damage Tick","multipliers":[0,0,0,0,50,0]},{"name":"DPS","hits":{"Damage Tick":1.6666666666666667}},{"name":"Total Damage","hits":{"Damage Tick":5}}]}],"id":20},{"display_name":"Iron Lungs","desc":"War Scream deals more damage","archetype":"Paladin","archetype_req":0,"base_abil":10,"parents":[19,20],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"War Scream","cost":0,"multipliers":[30,0,0,0,0,30]}],"id":21},{"display_name":"Generalist","desc":"After casting 3 different spells in a row, your next spell will cost 5 mana","archetype":"Battle Monk","archetype_req":3,"parents":[23],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":2,"icon":"node_3"},"properties":{},"effects":[],"id":22},{"display_name":"Counter","desc":"When dodging a nearby enemy attack, get 30% chance to instantly attack back","archetype":"Battle Monk","archetype_req":0,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_1"},"properties":{"chance":30},"effects":[{"type":"replace_spell","name":"Counter","base_spell":5,"display":"Counter Damage","parts":[{"name":"Counter Damage","multipliers":[60,0,20,0,0,20]}]}],"id":23},{"display_name":"Mantle of the Bovemists","desc":"When casting War Scream, create a holy shield around you that reduces all incoming damage by 70% for 3 hits (20s cooldown)","archetype":"Paladin","archetype_req":3,"parents":[21],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"mantle_charge":3},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Mantle","value":70}]}],"id":24},{"display_name":"Bak'al's Grasp","desc":"After casting War Scream, become Corrupted (15s Cooldown). You cannot heal while in that state. While Corrupted, every 2% of Health you lose will add +4 Raw Damage to your attacks (Max 120)","archetype":"Fallen","archetype_req":2,"parents":[16,17],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":16,"col":1,"icon":"node_3"},"properties":{"cooldown":15},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","slider_max":100,"slider_step":1,"output":{"type":"stat","name":"damRaw"},"max":120,"scaling":[2]}],"id":25},{"display_name":"Spear Proficiency 2","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[25,27],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":26},{"display_name":"Cheaper Uppercut","desc":"Reduce the Mana Cost of Uppercut","base_abil":8,"parents":[26,28,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":27},{"display_name":"Aerodynamics","desc":"During Charge, you can steer and change direction","archetype":"Battle Monk","archetype_req":0,"base_abil":4,"parents":[27,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":28},{"display_name":"Provoke","desc":"Mobs damaged by War Scream will target only you for at least 5s. Reduce the Mana cost of War Scream","base_abil":10,"parents":[28,24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":29},{"display_name":"Precise Strikes","desc":"+30% Critical Hit Damage","parents":[27,26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":18,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":30},{"display_name":"Air Shout","desc":"War Scream will fire a projectile that can go through walls and deal damage multiple times","base_abil":10,"parents":[28,29],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":18,"col":6,"icon":"node_1"},"properties":{"attackRate":2},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Air Shout","multipliers":[40,0,0,0,0,10]}],"id":31},{"display_name":"Enraged Blow","desc":"While Corriupted, every 1% of Health you lose will increase your damage by +3% (Max 300%)","archetype":"Fallen","archetype_req":0,"base_abil":25,"parents":[26],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":20,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider_name":"Corrupted","slider":true,"output":{"type":"stat","name":"damMult.Enraged"},"scaling":[3]}],"id":32},{"display_name":"Flying Kick","desc":"When using Charge, mobs hit will halt your momentum and get knocked back","archetype":"Battle Monk","archetype_req":1,"base_abil":4,"parents":[27,34],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":3,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick","multipliers":[150,0,0,20,0,30]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Flying Kick":1},"display":"Flying Kick Max Damage"}],"id":33},{"display_name":"Stronger Mantle","desc":"Add +2 additional charges to Mantle of the Bovemists","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[35,33],"dependencies":[24],"blockers":[],"cost":1,"display":{"row":20,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":24,"name":"mantle_charge","value":2}]}],"id":34},{"display_name":"Manachism","desc":"If you receive a hit that's less than 5% of your max HP, gain 10 Mana (1s Cooldown)","archetype":"Paladin","archetype_req":3,"parents":[34,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":8,"icon":"node_2"},"properties":{"cooldown":1},"effects":[],"id":35},{"display_name":"Boiling Blood","desc":"Bash leaves a trail of boiling blood behind its first explosion, slowing down and damaging enemies above it every 0.4 seconds","base_abil":0,"parents":[32,37],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Boiling Blood","cost":0,"multipliers":[25,0,0,0,5,0]}],"id":36},{"display_name":"Ragnarokkr","desc":"War Scream become deafening, increasing its range and giving damage bonus to players","archetype":"Fallen","archetype_req":0,"base_abil":10,"parents":[36,33],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":2,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":10},{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Ragnarokkr","value":30}]}],"id":37},{"display_name":"Ambidextrous","desc":"Increase your chance to attack with Counter by +30%","base_abil":23,"parents":[33,34,39],"dependencies":[23],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":23,"name":"chance","value":30}]}],"id":38},{"display_name":"Burning Heart","desc":"For every 100 Health Bonus you have from item IDs, gain +2% Fire Damage (Max 100%)","archetype":"Paladin","archetype_req":0,"parents":[38,40],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hpBonus"}],"output":{"type":"stat","name":"fDamPct"},"scaling":[0.02],"max":100}],"id":39},{"display_name":"Stronger Bash","desc":"Increase the damage of Bash","base_abil":0,"parents":[39,35],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[30,0,0,0,0,0]}],"id":40},{"display_name":"Intoxicating Blood","desc":"After leaving Corrupted, gain 2% of the health lost back for each enemy killed while Corrupted","archetype":"Fallen","archetype_req":5,"base_abil":25,"parents":[37,36],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":23,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":41},{"display_name":"Comet","desc":"After being hit by Fireworks, enemies will crash into the ground and receive more damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[37],"dependencies":[17],"blockers":[],"cost":2,"display":{"row":24,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Comet","cost":0,"multipliers":[80,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","cost":0,"hits":{"Comet":1}}],"id":42},{"display_name":"Collide","desc":"Mobs thrown into walls from Flying Kick will explode and receive additonal damage","archetype":"Battle Monk","archetype_req":4,"base_abil":4,"parents":[38,39],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":5,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Collide","cost":0,"multipliers":[150,0,0,0,50,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Collide":1}}],"id":43},{"display_name":"Rejuvenating Skin","desc":"Regain back 30% of the damage you take as healing over 30s","archetype":"Paladin","archetype_req":5,"parents":[39,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":44},{"display_name":"Uncontainable Corruption","desc":"Reduce the cooldown of Bak'al's Grasp by -5s, and increase the raw damage gained for every 2% of health lost by +1","base_abil":25,"parents":[36,46],"dependencies":[25],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"stat","name":"damRaw"},"scaling":[0.5]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":25,"name":"cooldown","value":-5}]}],"id":45},{"display_name":"Radiant Devotee","desc":"For every 4% Reflection you have from items, gain +1/5s Mana Regen (Max 10/5s)","archetype":"Battle Monk","archetype_req":1,"parents":[47,45],"dependencies":[],"blockers":[],"cost":1,"display":{"row":26,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","inputs":[{"type":"stat","name":"ref"}],"output":{"type":"stat","name":"mr"},"scaling":[0.25],"max":10}],"id":46},{"display_name":"Whirlwind Strike","desc":"Uppercut will create a strong gust of air, launching you upward with enemies (Hold shift to stay grounded)","archetype":"Battle Monk","archetype_req":5,"base_abil":8,"parents":[38,46],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":26,"col":4,"icon":"node_1"},"properties":{"range":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","multipliers":[0,0,0,0,0,50]}],"id":47},{"display_name":"Mythril Skin","desc":"Gain +5% Base Resistance and become immune to knockback","archetype":"Paladin","archetype_req":6,"parents":[44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]}],"id":48},{"display_name":"Armour Breaker","desc":"While Corrupted, losing 30% Health will make your next Uppercut destroy enemies' defense, rendering them weaker to damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[45,46],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":27,"col":1,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.ArmorBreaker","value":30}]}],"id":49},{"display_name":"Shield Strike","desc":"When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[48,51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"replace_spell","name":"Shield Strike","base_spell":6,"display":"Damage per Shield","parts":[{"name":"Damage per Shield","multipliers":[60,0,20,0,0,0]}]}],"id":50},{"display_name":"Sparkling Hope","desc":"Everytime you heal 5% of your max health, deal damage to all nearby enemies","archetype":"Paladin","archetype_req":0,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_2"},"properties":{"aoe":6},"effects":[{"type":"replace_spell","name":"Sparkling Hope","base_spell":7,"display":"Damage Tick","parts":[{"name":"Damage Tick","multipliers":[10,0,5,0,0,0]}]}],"id":51},{"display_name":"Massive Bash","desc":"While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)","archetype":"Fallen","archetype_req":8,"base_abil":25,"parents":[53,45],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"prop","abil":0,"name":"aoe"},"scaling":[0.3333333333333333],"max":10}],"id":52},{"display_name":"Tempest","desc":"War Scream will ripple the ground and deal damage 3 times in a large area","archetype":"Battle Monk","archetype_req":0,"base_abil":10,"parents":[52,54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{"aoe":16},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest","multipliers":[30,10,0,0,0,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest Total Damage","hits":{"Tempest":3}},{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Tempest":3}}],"id":53},{"display_name":"Spirit of the Rabbit","desc":"Reduce the Mana cost of Charge and increase your Walk Speed by +20%","archetype":"Battle Monk","archetype_req":5,"base_abil":4,"parents":[53,47],"dependencies":[],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5},{"type":"raw_stat","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":54},{"display_name":"Massacre","desc":"While Corrupted, if your effective attack speed is Slow or lower, hitting an enemy with your Main Attack will add +1% to your Corrupted bar","archetype":"Fallen","archetype_req":5,"base_abil":999,"parents":[53,52],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":55},{"display_name":"Axe Kick","desc":"Increase the damage of Uppercut, but also increase its mana cost","base_abil":8,"parents":[53,54],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":10,"multipliers":[100,0,0,0,0,0]}],"id":56},{"display_name":"Radiance","desc":"Bash will buff your allies' positive IDs. (15s Cooldown)","archetype":"Paladin","archetype_req":2,"base_abil":0,"parents":[54,58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":5,"icon":"node_2"},"properties":{"cooldown":15},"effects":[],"id":57},{"display_name":"Cheaper Bash 2","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[57,50,51],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":58},{"display_name":"Cheaper War Scream","desc":"Reduce the Mana cost of War Scream","base_abil":10,"parents":[52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":59},{"display_name":"Discombobulate","desc":"Every time you hit an enemy, briefly increase your elemental damage dealt to them by +3 (Additive, Max +80). This bonus decays -5 every second","archetype":"Battle Monk","archetype_req":11,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":2,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","slider_max":27,"output":[{"type":"stat","name":"eDamAddMin"},{"type":"stat","name":"eDamAddMax"},{"type":"stat","name":"tDamAddMin"},{"type":"stat","name":"tDamAddMax"},{"type":"stat","name":"wDamAddMin"},{"type":"stat","name":"wDamAddMax"},{"type":"stat","name":"fDamAddMin"},{"type":"stat","name":"fDamAddMax"},{"type":"stat","name":"aDamAddMin"},{"type":"stat","name":"aDamAddMax"}],"scaling":[3],"max":80}],"id":60},{"display_name":"Thunderclap","desc":"Bash will cast at the player's position and gain additional AoE.\n\n All elemental conversions become Thunder","archetype":"Battle Monk","archetype_req":8,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":1,"conversion":"Thunder"},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"aoe","value":3}]}],"id":61},{"display_name":"Cyclone","desc":"After casting War Scream, envelop yourself with a vortex that damages nearby enemies every 0.5s","archetype":"Battle Monk","archetype_req":0,"parents":[54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":4,"icon":"node_1"},"properties":{"aoe":4,"duration":20},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone","multipliers":[10,0,0,0,5,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone Total Damage","hits":{"Cyclone":40}}],"id":62},{"display_name":"Second Chance","desc":"When you receive a fatal blow, survive and regain 30% of your Health (10m Cooldown)","archetype":"Paladin","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":63},{"display_name":"Blood Pact","desc":"If you do not have enough mana to cast a spell, spend health instead (0.6% health per mana)","archetype":"Fallen","archetype_req":10,"parents":[59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_3"},"properties":{"health_cost":0.6},"effects":[],"id":64},{"display_name":"Haemorrhage","desc":"Reduce Blood Pact's health cost. (0.3% health per mana)","archetype":"Fallen","archetype_req":0,"base_abil":64,"parents":[64],"dependencies":[64],"blockers":[],"cost":1,"display":{"row":35,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":64,"name":"health_cost","value":-0.3}]}],"id":65},{"display_name":"Brink of Madness","desc":"If your health is 25% full or less, gain +40% Resistance","parents":[64,67],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Brink","value":40}]}],"id":66},{"display_name":"Cheaper Uppercut 2","desc":"Reduce the Mana cost of Uppercut","base_abil":8,"parents":[63,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":35,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":67},{"display_name":"Martyr","desc":"When you receive a fatal blow, all nearby allies become invincible","archetype":"Paladin","archetype_req":0,"parents":[63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":8,"icon":"node_1"},"properties":{"duration":3,"aoe":12},"effects":[],"id":68}],"Mage":[{"display_name":"Meteor","desc":"Summon a slow but powerful meteor from the sky, dealing massive damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_mage"},"properties":{"aoe":5,"range":18},"effects":[{"type":"replace_spell","name":"Meteor","cost":55,"base_spell":3,"display":"Total Damage","parts":[{"name":"Meteor Damage","multipliers":[300,100,0,0,0,0]},{"name":"Total Damage","hits":{"Meteor Damage":1}}]}],"id":0},{"display_name":"Teleport","desc":"Instantly teleport in the direction you're facing","parents":[4],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_mage"},"properties":{"range":12},"effects":[{"type":"replace_spell","name":"Teleport","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Heal","desc":"Heal yourself and nearby allies in a large area around you. (When healing an ally, you cannot heal more than 30% of their max health)","parents":[14,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_mage"},"properties":{"aoe":5},"effects":[{"type":"replace_spell","name":"Heal","cost":35,"base_spell":1,"display":"Heal","parts":[{"name":"Heal","power":0.1}]}],"id":2},{"display_name":"Ice Snake","desc":"Summon a fast-moving ice snake that reduces your enemies' speed and damage them.","parents":[13,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_mage"},"properties":{"range":18,"effects":40,"duration":3},"effects":[{"type":"replace_spell","name":"Ice Snake","cost":35,"base_spell":4,"display":"Ice Snake Damage","parts":[{"name":"Ice Snake Damage","multipliers":[70,0,0,30,0,0]}]}],"id":3},{"display_name":"Shooting Star","desc":"Drastically increase the speed of your Meteor ability.","base_abil":3,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[],"id":4},{"display_name":"Wand Proficiency I","desc":"Improve your Main Attack's damage and range when using a wand.","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":5},{"display_name":"Cheaper Meteor","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":6},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":7},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":8},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Light Bender","archetype_req":0,"parents":[12,8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":9},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":10},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":11},{"display_name":"Cheaper Teleport","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[2,3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":12},{"display_name":"Wisdom","desc":"For every 2% or 2 Raw Spell Damage you have from items, gain +1/5s mana regen (Max 5/5s)","archetype":"Arcanist","archetype_req":0,"parents":[1],"dependencies":[],"blockers":[14],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sdPct"},{"type":"stat","name":"sdRaw"}],"output":{"type":"stat","name":"mr"},"scaling":[0.5,0.5],"max":5}],"id":13},{"display_name":"Wand Proficiency II","desc":"Improve your Main Attack's damage and range when using a wand.","archetype":"Riftwalker","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":14},{"display_name":"Wind Slash","desc":"When using Teleport, slash through the air and deal damage to enemies you pierce.","archetype":"Riftwalker","base_abil":1,"parents":[10,16],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Wind Slash","base_spell":2,"multipliers":[50,0,0,0,0,50]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":2,"display":"Total Damage","hits":{"Wind Slash":1}}],"id":15},{"display_name":"Thunderstorm","desc":"After casting Meteor, summon 3 lightning strikes and deal additional damage","base_abil":0,"parents":[15,8],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","target_part":"Lightning Damage","base_spell":3,"multipliers":[30,0,15,0,0,0]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":3,"hits":{"Lightning Damage":3}}],"id":16},{"display_name":"Stronger Meteor","desc":"Increase the damage of Meteor.","base_abil":0,"archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Meteor Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Lightning Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]}],"id":17},{"display_name":"Burning Sigil","desc":"Meteor will leave a sigil that damages enemies every 0.4s.","base_abil":0,"parents":[11,7],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":7,"icon":"node_1"},"properties":{"aoe":7,"duration":8},"effects":[{"type":"replace_spell","name":"Burning Sigil","base_spell":6,"display":"DPS","parts":[{"name":"Tick Damage","multipliers":[15,0,0,0,25,0]},{"name":"DPS","hits":{"Tick Damage":2.5}},{"name":"Total Burn Damage","hits":{"Tick Damage":20}}]}],"id":18},{"display_name":"Sunshower","desc":"Heal emit a strong light, damaging nearby enemies.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[9],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Sunshower Damage","multipliers":[70,0,0,30,0,0]}],"id":19},{"display_name":"Windsweeper","desc":"Your Main Attack will add +1 Winded to enemies you hit. (Max 5, 0.5s cooldown) Ice Snake will deal additional damage to enemies for every Winded they have","archetype":"Riftwalker","archetype_req":3,"parents":[15,16],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":15,"col":1,"icon":"node_3"},"properties":{"max":5},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:4.Ice Snake Damage"},"scaling":[20],"slider_step":1,"slider_max":5},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"wConvBase:4.Ice Snake Damage"},"scaling":[10]}],"id":20},{"display_name":"Ophanim","desc":"When casting Meteor, instead summon 2 orbs of light with 200 Health that will attack when you use your Main Attack. When they damage an enemy, they lose 20% of their Health. They can be healed back.","archetype":"Light Bender","archetype_req":2,"parents":[19],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_3"},"properties":{"health":200},"effects":[{"type":"replace_spell","name":"Ophanim","base_spell":3,"display":"Per Melee (max)","parts":[{"name":"Per Orb","multipliers":[50,0,30,20,0,0]},{"name":"Per Melee (max)","hits":{"Per Orb":2}}]},{"type":"add_spell_prop","base_spell":3,"cost":30}],"id":21},{"display_name":"Arcane Transfer","desc":"Meteor and Ice Snake will add +5 Mana to a Mana Bank for every aggressive enemy you hit. Heal will now transfer the content of your Mana Bank into usable Mana instead of healing.","archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"bank":90},"effects":[{"type":"replace_spell","name":"Arcane Transfer","base_spell":1,"parts":[],"display":""}],"id":22},{"display_name":"Cheaper Heal","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[20,24],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":23},{"display_name":"Purification","desc":"Heal and Arcane Transfer will purify you of all negative effects and fire. (3s Cooldown)","base_abil":1,"parents":[21,23,25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":4,"icon":"node_2"},"properties":{},"effects":[],"id":24},{"display_name":"Sentient Snake","desc":"Ice Snake will follow the direction you're facing, allowing you to control it.","base_abil":3,"parents":[22,24],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":17,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":25},{"display_name":"Eye Piercer","desc":"Teleport will blind enemies, confusing them for a short amount of time.","base_abil":1,"parents":[23],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":18,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":26},{"display_name":"Breathless","desc":"Meteor will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[23,24],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":18,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:3.Meteor Damage"},{"type":"stat","name":"eConvBase:3.Meteor Damage"},{"type":"stat","name":"nConvBase:3.Per Orb"},{"type":"stat","name":"eConvBase:3.Per Orb"},{"type":"stat","name":"nConvBase:3.Lightning Damage"},{"type":"stat","name":"eConvBase:3.Lightning Damage"}],"scaling":[15]}],"id":27},{"display_name":"Larger Heal","desc":"Increase your Heal's range.","base_abil":1,"archetype":"Light Bender","archetype_req":0,"parents":[24,25],"dependencies":[2],"blockers":[22],"cost":1,"display":{"row":18,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":2,"name":"aoe","value":2}]}],"id":28},{"display_name":"Larger Mana Bank","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[25],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":18,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":22,"name":"bank","value":30}]}],"id":29},{"display_name":"Cheaper Ice Snake","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":30},{"display_name":"Cheaper Teleport II","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[24,32],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":31},{"display_name":"Fortitude","desc":"After healing 120% of your max health within 10s, apply a damage bonus to each player you've healed. (15s Cooldown)","base_abil":2,"archetype":"Light Bender","archetype_req":0,"parents":[30,31],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":2,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Fortitude","value":60}]}],"id":32},{"display_name":"Pyrokinesis","desc":"When your Mana Bank reaches 30, your Main Attack will stop and explode when it hits an enemy. (Damage is dealt as Main Attack Damage)","base_abil":4,"archetype":"Arcanist","archetype_req":4,"parents":[25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":7,"icon":"node_2"},"properties":{},"__TODO":"replace_spell pyrokinesis damage","effects":[],"id":33},{"display_name":"Seance","desc":"For every 5/3s Lifesteal you have from items, gain 1% Spell Damage (Max 50%)","archetype":"","archetype_req":0,"parents":[33,36],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"ls"}],"output":{"type":"stat","name":"sdPct"},"scaling":[0.2],"max":50}],"id":34},{"display_name":"Blink","desc":"Teleport will trigger 2 times in quick successions","base_abil":1,"archetype":"Riftwalker","archetype_req":0,"parents":[32,30],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"prop","abil":1,"name":"range","value":-4}]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Wind Slash":1}}],"id":35},{"display_name":"Snake Nest","desc":"Ice Snake will summon 3 snakes.","base_abil":3,"parents":[34,31,40],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":22,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":36},{"display_name":"Arcane Restoration","desc":"Pyrokinesis will add +1 Mana every 1s to your Mana Bank when hitting an aggressive enemy.","base_abil":999,"archetype":"Arcanist","archetype_req":0,"parents":[34,36],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":6,"icon":"node_1"},"properties":{"duration":4},"effects":[],"id":37},{"display_name":"Fluid Healing","desc":"For every 1% Water Damage Bonus you have, buff Heal's healing power by +0.3%.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[40,39],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"wDam"}],"output":{"type":"stat","name":"healPct"},"scaling":[0.3]}],"id":38},{"display_name":"Transonic Warp","desc":"Teleport will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[30],"dependencies":[3,20],"blockers":[],"cost":2,"display":{"row":23,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:2.Wind Slash"},"scaling":[30]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"tConvBase:2.Wind Slash"},"scaling":[10]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"aConvBase:2.Wind Slash"},"scaling":[5]}],"id":39},{"display_name":"Healthier Ophanim I","desc":"Increase the health of your orbs from Ophanim by +800 and reduce the damage they take when hitting an enemy by -5%.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[32,31],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":22,"col":3,"icon":"node_0"},"properties":{},"effects":[],"id":40},{"display_name":"Orphion's Pulse","desc":"Heal will trigger 2 more times, increasing the overall healing.","archetype":"Light Bender","base_abil":2,"parents":[40,36],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":23,"col":4,"icon":"node_1"},"properties":{"aoe":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Heal Pulse","power":0.15},{"type":"add_spell_prop","base_spell":1,"display":"Total Heal","target_part":"Total Heal","hits":{"Heal":1,"Heal Pulse":2}}],"id":41},{"display_name":"Diffusion","desc":"If you kill an enemy with Winded on them, the leftover Winded will spread to nearby enemies.","archetype":"Riftwalker","archetype_req":6,"base_abil":20,"parents":[39,38],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":25,"col":1,"icon":"node_3"},"properties":{"aoe":5},"effects":[],"id":42},{"display_name":"Lightweaver","desc":"After healing 60% of your max health within 10s, summon a rotating orb that damages all enemies it touches for 20s. (Max 3 Orbs)","archetype":"Light Bender","archetype_req":7,"parents":[41],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Lightweaver","base_spell":5,"display":"Orb Damage","parts":[{"name":"Single Orb","type":"damage","multipliers":[30,0,0,0,20,0]},{"name":"Orb Damage","type":"total","hits":{"Single Orb":3}}]}],"id":43},{"display_name":"Arcane Speed","desc":"After casting Heal or Arcane Transfer, gain +80% speed for 3s. (8s Cooldown)","base_abil":2,"parents":[43,45],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":25,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":44},{"display_name":"Larger Mana Bank II","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[34,44],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":25,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":45},{"display_name":"Psychokinesis","desc":"Meteor will launch directly from you as a slow projectile.","base_abil":3,"archetype":"Arcanist","archetype_req":5,"parents":[45,44],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":46},{"display_name":"More Winded","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[42],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":47},{"display_name":"Cheaper Ice Snake II","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[42,52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":48},{"display_name":"Cheaper Meteor II","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[52,43,44],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":49},{"display_name":"Chaos Explosion","desc":"When your Mana Bank reaches 120, casting Arcane Transfer will rapidly unleash the last 3 spells you've cast in order.","base_abil":22,"archetype":"Arcanist","archetype_req":8,"parents":[45],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_3"},"properties":{},"effects":[],"id":50},{"display_name":"Arcane Power","desc":"Meteor and Ice Snake will add +2 Mana to your Mana Bank for each aggressive mob you hit.","base_abil":22,"archetype":"Arcanist","archetype_req":0,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":29,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":51},{"display_name":"Explosive Entrance","desc":"Deal Damage in an area on the location you Teleport to.","base_abil":1,"parents":[48,49],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":27,"col":3,"icon":"node_1"},"properties":{"aoe":3},"effects":[{"type":"add_spell_prop","target_part":"Explosion Damage","base_spell":2,"multipliers":[50,0,0,0,30,0]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Explosion Damage":1}}],"id":52},{"display_name":"Gust","desc":"Ice Snake will add +1 Winded to enemies and deal more damage.","base_abil":3,"archetype":"Riftwalker","archetype_req":7,"parents":[48,52],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Ice Snake","base_spell":4,"multipliers":[0,0,0,0,0,20]}],"id":53},{"display_name":"Time Dilation","desc":"When sprinting, create an area that increases the speed of all allies the longer they run in it. (Step out or stop running to cancel)","archetype":"Riftwalker","archetype_req":7,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Better Ophanim","desc":"Increase your maximum orbs from Ophanim by +1.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[49],"_parents":["Explosive Entrance","Cheaper Meteor II"],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":1}}],"id":55},{"display_name":"Arctic Snake","desc":"Ice Snake will freeze enemies completely for 2s.","base_abil":3,"parents":[50],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":56},{"display_name":"Devitalize","desc":"Enemies will deal -2% damage for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[58,59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"More Winded II","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[54],"_parents":["Time Dilation","Dynamic Faith"],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":58},{"display_name":"Dynamic Faith","desc":"For every 2% Sprint you have from items, gain +1% Thunder Damage (Max 100%)","parents":[58,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sprint"}],"output":{"type":"stat","name":"tDamPct"},"scaling":[0.5],"max":100}],"id":59},{"display_name":"Divination","desc":"Increase your maximum orbs from Ophanim by +3 and reduce their damage.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[59,61],"dependencies":[21],"blockers":[],"cost":2,"display":{"row":32,"col":3,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Orb","multipliers":[-50,0,-10,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":3}}],"id":60},{"display_name":"Healthier Ophanim II","desc":"Increase the health of your orbs from Ophanim by +3000.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[55],"dependencies":[40],"blockers":[],"cost":1,"display":{"row":31,"col":4,"icon":"node_0"},"properties":{},"effects":[],"id":61},{"display_name":"Sunflare","desc":"After healing 400% of your max health within 10s, your next Heal will make every nearby ally temporarily immune.","archetype":"Light Bender","archetype_req":12,"base_abil":2,"parents":[61],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_3"},"properties":{"aoe":12,"duration":5},"effects":[],"id":62},{"display_name":"Larger Mana Bank III","desc":"Increase your maximum Mana Bank by +30.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":31,"col":7,"icon":"node_0"},"properties":{},"effects":[],"id":63},{"display_name":"Arcane Overflow","desc":"Arcane Transfer will allow you to overflow your mana over its maximum limits.","archetype":"Arcanist","archetype_req":12,"base_abil":22,"parents":[63],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":33,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":64},{"display_name":"Memory Recollection","desc":"Chaos Explosion will cast +2 spells.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[64],"dependencies":[50],"blockers":[],"cost":1,"display":{"row":34,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":65},{"display_name":"Manastorm","desc":"If you have more than 100 Mana, casting a spell will give you +10 mana over 5s.","archetype":"Arcanist","archetype_req":1,"parents":[69,64,62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":66},{"display_name":"Better Lightweaver","desc":"Increase your Max Orbs by +2.","archetype":"Light Bender","archetype_req":0,"base_abil":43,"parents":[69,66],"dependencies":[43],"blockers":[],"cost":1,"display":{"row":35,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Orb Damage","hits":{"Single Orb":2}}],"id":67},{"display_name":"Timelock","desc":"Holding shift and casting Heal will absorb all Winded on nearby enemies and make you Timelocked. While Timelocked, your mana will not be depleted and you become immovable from outside forces. Enemies will recieve Winded damage from all absorbed stacks. (Max 30)","archetype":"Riftwalker","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":0,"icon":"node_3"},"properties":{},"effects":[],"id":68},{"display_name":"Cheaper Heal II","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[68,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":69}]} \ No newline at end of file +const atrees={"Archer":[{"display_name":"Arrow Shield","desc":"Create a shield around you that deal damage and knockback mobs when triggered. (2 Charges)","parents":[60,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":6,"icon":"node_archer"},"properties":{"charges":2,"duration":60,"aoe":5000},"effects":[{"type":"replace_spell","name":"Arrow Shield","cost":30,"base_spell":4,"display":"Total Damage","parts":[{"name":"Shield Damage","type":"damage","multipliers":[90,0,0,0,0,10]},{"name":"Total Damage","type":"total","hits":{"Shield Damage":2}}]}],"id":0},{"display_name":"Escape","desc":"Throw yourself backward to avoid danger. (Hold shift while escaping to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":7,"col":4,"icon":"node_archer"},"properties":{"aoe":0,"range":0},"effects":[{"type":"replace_spell","name":"Escape","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Arrow Bomb","desc":"Throw a long-range arrow that explodes and deal high damage in a large area. (Self-damage for 25% of your DPS)","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_archer"},"properties":{"aoe":4.5,"range":26},"effects":[{"type":"replace_spell","name":"Arrow Bomb","cost":50,"base_spell":3,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Arrow Bomb","type":"damage","multipliers":[160,0,0,0,20,0]},{"name":"Total Damage","type":"total","hits":{"Arrow Bomb":1}}]}],"id":2},{"display_name":"Heart Shatter","desc":"If you hit a mob directly with Arrow Bomb, shatter its heart and deal bonus damage.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Heart Shatter":1}}],"id":3},{"display_name":"Fire Creep","desc":"Arrow Bomb will leak a trail of fire for 6s, Damaging enemies that walk into it every 0.4s.","base_abil":2,"parents":[68,39,5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":16,"col":6,"icon":"node_1"},"properties":{"aoe":0.8,"duration":6},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[30,0,0,0,20,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Burn Damage","hits":{"Fire Creep":15}}],"id":4},{"display_name":"Bryophyte Roots","desc":"When you hit an enemy with Arrow Storm, create an area that slows them down and deals damage every 0.4s.","base_abil":7,"archetype":"Trapper","archetype_req":1,"parents":[4,35],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":16,"col":8,"icon":"node_1"},"properties":{"aoe":2,"duration":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Bryophyte Roots","cost":0,"multipliers":[40,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Roots Damage","hits":{"Bryophyte Roots":12}}],"id":5},{"display_name":"Nimble String","desc":"Arrow Storm throw out +6 arrows per stream and shoot twice as fast.","base_abil":7,"parents":[36,69],"dependencies":[7],"blockers":[68],"cost":2,"display":{"row":15,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-15,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","hits":{"Single Arrow":6}}],"id":6},{"display_name":"Arrow Storm","desc":"Shoot a stream of 8 arrows, dealing significant damage to close mobs and pushing them back.","parents":[58,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":2,"icon":"node_archer"},"properties":{"range":16},"effects":[{"type":"replace_spell","name":"Arrow Storm","cost":40,"base_spell":1,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Single Arrow","multipliers":[30,0,10,0,0,0]},{"name":"Single Stream","hits":{"Single Arrow":8}},{"name":"Total Damage","hits":{"Single Stream":1}}]}],"id":7},{"display_name":"Guardian Angels","desc":"Your protective arrows from Arrow Shield will become sentient bows, dealing damage up to 8 times each to nearby enemies. (Arrow Shield will no longer push nearby enemies)","archetype":"Boltslinger","archetype_req":3,"base_abil":0,"parents":[59,67],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":19,"col":1,"icon":"node_3"},"properties":{"range":4,"duration":60,"shots":8,"charges":2},"effects":[{"type":"replace_spell","name":"Guardian Angels","base_spell":4,"display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[30,0,0,0,0,10]},{"name":"Single Bow","type":"total","hits":{"Single Arrow":8}},{"name":"Total Damage","type":"total","hits":{"Single Bow":2}}]}],"id":8},{"display_name":"Windy Feet","desc":"When casting Escape, give speed to yourself and nearby allies.","base_abil":1,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":1,"icon":"node_1"},"properties":{"aoe":8,"duration":120},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":9},{"display_name":"Basaltic Trap","desc":"When you hit the ground with Arrow Bomb, leave a Trap that damages enemies. (Max 2 Traps)","archetype":"Trapper","archetype_req":2,"parents":[5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":8,"icon":"node_3"},"properties":{"aoe":7,"traps":2},"effects":[{"type":"replace_spell","name":"Basaltic Trap","base_spell":7,"display":"Trap Damage","parts":[{"name":"Trap Damage","type":"damage","multipliers":[140,30,0,0,30,0]}]}],"id":10},{"display_name":"Windstorm","desc":"Arrow Storm shoot +1 stream of arrows, and each stream shoots +2 arrows, effectively doubling its damage.","base_abil":7,"parents":[8,33],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-10,0,-2,0,0,2]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","cost":0,"hits":{"Single Arrow":2}}],"id":11},{"display_name":"Grappling Hook","base_abil":1,"desc":"When casting Escape, throw a hook that pulls you when hitting a block. If you hit an enemy, pull them towards you instead. (Escape will not throw you backward anymore)","archetype":"Trapper","archetype_req":0,"parents":[61,40,33],"dependencies":[],"blockers":[20],"cost":2,"display":{"row":21,"col":5,"icon":"node_2"},"properties":{"range":26},"effects":[],"id":12},{"display_name":"Implosion","desc":"Arrow bomb will pull enemies towards you. If a trap is nearby, it will pull them towards it instead. Increase Heart Shatter's damage.","archetype":"Trapper","archetype_req":0,"base_abil":2,"parents":[12,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[40,0,0,0,0,0]}],"id":13},{"display_name":"Twain's Arc","desc":"When you have 2+ Focus, holding shift will summon the Twain's Arc. Charge it up to shoot a destructive long-range beam. (Damage is dealt as Main Attack Damage)","archetype":"Sharpshooter","archetype_req":4,"parents":[62,64],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_2"},"properties":{"range":64,"focusReq":2},"effects":[{"type":"replace_spell","name":"Twain's Arc","base_spell":5,"scaling":"melee","use_atkspd":false,"display":"Single Shot","parts":[{"name":"Single Shot","type":"damage","multipliers":[200,0,0,0,0,0]}]}],"id":14},{"display_name":"Fierce Stomp","desc":"When using Escape, hold shift to quickly drop down and deal damage.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[42,64],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Fierce Stomp","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","cost":0,"hits":{"Fierce Stomp":1},"display":"Stomp Damage"}],"id":15},{"display_name":"Scorched Earth","desc":"Fire Creep become much stronger.","archetype":"Sharpshooter","archetype_req":0,"parents":[14],"dependencies":[4],"blockers":[],"cost":1,"display":{"row":26,"col":5,"icon":"node_1"},"properties":{"duration":2,"aoe":0.4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[10,0,0,0,5,0]}],"id":16},{"display_name":"Leap","desc":"When you double tap jump, leap foward. (2s Cooldown)","archetype":"Boltslinger","archetype_req":5,"parents":[42,55],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_1"},"properties":{"cooldown":2},"effects":[],"id":17},{"display_name":"Shocking Bomb","desc":"Arrow Bomb will not be affected by gravity, and all damage conversions become Thunder.","archetype":"Sharpshooter","archetype_req":5,"base_abil":2,"parents":[14,44,55],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":28,"col":4,"icon":"node_1"},"properties":{"gravity":0},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":3,"conversion":"Thunder"}],"id":18},{"display_name":"Mana Trap","desc":"Your Traps will give you 2.85 Mana per second when you stay close to them.","archetype":"Trapper","archetype_req":5,"base_abil":10,"parents":[43,44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":8,"icon":"node_3"},"properties":{"range":16,"manaRegen":2.85},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":10}],"id":19},{"display_name":"Escape Artist","desc":"When casting Escape, release 120 arrows towards the ground.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[46,17],"dependencies":[],"blockers":[12],"cost":2,"display":{"row":31,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Per Arrow","multipliers":[20,0,10,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Max Damage (Escape Artist)","hits":{"Per Arrow":120},"display":"Max Damage (Escape Artist)"}],"id":20},{"display_name":"Initiator","desc":"If you do not damage an enemy for 5s or more, your next sucessful hit will deal +50% damage and add +1 Focus.","archetype":"Sharpshooter","archetype_req":5,"parents":[18,44,47],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":31,"col":5,"icon":"node_2"},"properties":{},"effects":[],"id":21},{"display_name":"Call of the Hound","desc":"Arrow Shield summon a Hound that will attack and drag aggressive enemies towards your traps.","archetype":"Trapper","archetype_req":0,"base_abil":0,"parents":[21,47],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Hound Damage","multipliers":[40,0,0,0,0,0]}],"id":22},{"display_name":"Arrow Hurricane","desc":"Arrow Storm will shoot +2 stream of arrows.","archetype":"Boltslinger","archetype_req":8,"base_abil":7,"parents":[48,20],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":33,"col":0,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":2}}],"id":23},{"display_name":"Geyser Stomp","desc":"Fierce Stomp will create geysers, dealing more damage and vertical knockback.","base_abil":1,"parents":[56],"dependencies":[15],"blockers":[],"cost":2,"display":{"row":37,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Geyser Stomp","multipliers":[0,0,0,50,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","hits":{"Geyser Stomp":1}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":15,"name":"aoe","value":1}]}],"id":24},{"display_name":"Crepuscular Ray","desc":"If you have 5 Focus, casting Arrow Storm will make you levitate and shoot 20 homing arrows per second until you run out of Focus. While in that state, you will lose 1 Focus per second.","archetype":"Sharpshooter","archetype_req":10,"parents":[49],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":37,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Crepuscular Ray","base_spell":6,"display":"DPS","parts":[{"name":"Single Arrow","multipliers":[20,0,0,5,0,0]},{"name":"DPS","hits":{"Single Arrow":20}},{"name":"Total Damage","hits":{"DPS":7}}]}],"id":25},{"display_name":"Grape Bomb","desc":"Arrow bomb will throw 3 additional smaller bombs when exploding.","base_abil":2,"parents":[51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":37,"col":7,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Grape Bomb","multipliers":[30,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Grape Bomb":3}}],"id":26},{"display_name":"Tangled Traps","desc":"Your Traps will be connected by a rope that deals damage to enemies every 0.2s.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":38,"col":6,"icon":"node_1"},"properties":{"attackSpeed":0.2},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Line Damage Tick","multipliers":[20,0,0,0,0,20]},{"type":"add_spell_prop","base_spell":7,"target_part":"DPS","hits":{"Line Damage Tick":5}}],"id":27},{"display_name":"Snow Storm","desc":"Enemies near you will be slowed down.","parents":[24,63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":39,"col":2,"icon":"node_2"},"properties":{"range":2.5,"slowness":0.3},"effects":[],"id":28},{"display_name":"All-Seeing Panoptes","desc":"Your bows from Guardian Angels become all-seeing, increasing their range, damage and letting them shoot up to +5 times each.","archetype":"Boltslinger","archetype_req":11,"base_abil":0,"parents":[28],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":40,"col":1,"icon":"node_3"},"properties":{"range":8,"shots":5},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Arrow","multipliers":[0,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":5}}],"id":29},{"display_name":"Minefield","desc":"Allow you to place +6 Traps, but with reduced damage and range.","archetype":"Trapper","archetype_req":10,"base_abil":10,"parents":[26,53],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":40,"col":7,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Trap Damage","cost":0,"multipliers":[-80,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"aoe","value":-2},{"type":"prop","abil":10,"name":"traps","value":6}]}],"id":30},{"display_name":"Bow Proficiency I","desc":"Improve your Main Attack's damage and range when using a bow.","base_abil":999,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[5,0,0,0,0,0]}],"id":31},{"display_name":"Cheaper Arrow Bomb","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":32},{"display_name":"Cheaper Arrow Storm","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[12,11,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":21,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":33},{"display_name":"Cheaper Escape","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[7,0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":34},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Trapper","archetype_req":0,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":35},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7,39,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":36},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[34,36,39],"dependencies":[],"blockers":[],"cost":1,"display":{"row":14,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":37},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":38},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[36,0,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":39},{"display_name":"More Shields","desc":"Give +2 charges to Arrow Shield.","base_abil":0,"parents":[12,10],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":21,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Shield Damage":2,"Single Bow":2}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"charges","value":2}]}],"id":40},{"display_name":"Stormy Feet","desc":"Windy Feet will last longer and add more speed.","archetype":"Boltslinger","base_abil":1,"parents":[11],"dependencies":[9],"blockers":[],"cost":1,"display":{"row":23,"col":1,"icon":"node_0"},"properties":{"duration":60},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spdPct","value":20}]}],"id":41},{"display_name":"Refined Gunpowder","desc":"Increase the damage of Arrow Bomb.","base_abil":2,"parents":[11,64],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Bomb","multipliers":[50,0,0,0,0,0]}],"id":42},{"display_name":"More Traps","desc":"Increase the maximum amount of active Traps you can have by +2.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[54],"dependencies":[10],"blockers":[],"cost":1,"display":{"row":26,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"traps","value":2}]}],"id":43},{"display_name":"Better Arrow Shield","desc":"Arrow Shield will gain additional area of effect, knockback and damage.","archetype":"Sharpshooter","archetype_req":0,"base_abil":0,"parents":[19,18,14],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":28,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Shield","behavior":"modify","multipliers":[40,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"behavior":"modify","name":"aoe","value":1}]}],"id":44},{"display_name":"Better Leap","desc":"Reduce leap's cooldown by 1s.","archetype":"Boltslinger","archetype_req":0,"base_abil":17,"parents":[17,55],"dependencies":[17],"blockers":[],"cost":1,"display":{"row":29,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":17,"name":"cooldown","value":-1}]}],"id":45},{"display_name":"Better Guardian Angels","desc":"Your Guardian Angels can shoot +4 arrows before disappearing.","archetype":"Boltslinger","archetype_req":0,"base_abil":0,"parents":[20,55],"dependencies":[8],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":4}}],"id":46},{"display_name":"Cheaper Arrow Storm (2)","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[21,19],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":47},{"display_name":"Precise Shot","desc":"+30% Critical Hit Damage","parents":[46,49,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":48},{"display_name":"Cheaper Arrow Shield","desc":"Reduce the Mana cost of Arrow Shield.","base_abil":0,"parents":[48,21],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":49},{"display_name":"Rocket Jump","desc":"Arrow Bomb's self-damage will knockback you farther away.","base_abil":2,"parents":[47,21],"dependencies":[2],"blockers":[],"cost":1,"display":{"row":33,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":50},{"display_name":"Cheaper Escape (2)","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[22,70],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":51},{"display_name":"Stronger Hook","desc":"Increase your Grappling Hook's range, speed and strength.","archetype":"Trapper","archetype_req":5,"base_abil":1,"parents":[51],"dependencies":[12],"blockers":[],"cost":1,"display":{"row":35,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":12,"name":"range","value":8}]}],"id":52},{"display_name":"Cheaper Arrow Bomb (2)","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[63,30],"dependencies":[],"blockers":[],"cost":1,"display":{"row":40,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":53},{"display_name":"Bouncing Bomb","desc":"Arrow Bomb will bounce once when hitting a block or enemy","base_abil":2,"parents":[40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":7,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Homing Shots","desc":"Your Main Attack arrows will follow nearby enemies and not be affected by gravity","archetype":"Sharpshooter","base_abil":999,"parents":[17,18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_2"},"properties":{},"effects":[],"id":55},{"display_name":"Shrapnel Bomb","desc":"Arrow Bomb's explosion will fling 15 shrapnel, dealing damage in a large area","archetype":"Boltslinger","archetype_req":8,"base_abil":2,"parents":[23,48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Shrapnel Bomblet","multipliers":[40,0,0,0,20,0]}],"id":56},{"display_name":"Elusive","desc":"If you do not get hit for 8+ seconds, become immune to self-damage and remove Arrow Storm's recoil. (Dodging counts as not getting hit)","archetype":"Boltslinger","archetype_req":0,"parents":[24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":38,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"Double Shots","desc":"Double Main Attack arrows, but they deal -30% damage per arrow (harder to hit far enemies)","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[60],"cost":1,"display":{"row":7,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-30,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":2},"display":"Total Damage"}],"id":58},{"display_name":"Triple Shots","desc":"Triple Main Attack arrows, but they deal -20% damage per arrow","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[69,67],"dependencies":[58],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-20,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":1},"display":"Total Damage"}],"id":59},{"display_name":"Power Shots","desc":"Main Attack arrows have increased speed and knockback","archetype":"Sharpshooter","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[58],"cost":1,"display":{"row":7,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":60},{"display_name":"Focus","desc":"When hitting an aggressive mob 5+ blocks away, gain +1 Focus (Max 3). Resets if you miss once","archetype":"Sharpshooter","archetype_req":2,"parents":[68],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","output":{"type":"stat","name":"damMult.Focus"},"scaling":[40],"slider_max":3}],"id":61},{"display_name":"More Focus","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[33,12],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":62},{"display_name":"More Focus (2)","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[25,28],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":39,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":63},{"display_name":"Traveler","desc":"For every 1% Walk Speed you have from items, gain +1 Raw Spell Damage (Max 100)","parents":[42,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"spd"}],"output":{"type":"stat","name":"sdRaw"},"scaling":[1],"max":100}],"id":64},{"display_name":"Patient Hunter","desc":"Your Traps will deal +20% more damage for every second they are active (Max +80%)","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[40],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":8,"icon":"node_1"},"properties":{"max":80},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4,"output":{"type":"stat","name":"damMult.Basaltic:7.Trap Damage"},"slider_step":1,"scaling":[20]}],"id":65},{"display_name":"Stronger Patient Hunter","desc":"Add +80% Max Damage to Patient Hunter","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[65],"blockers":[],"cost":1,"display":{"row":38,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4},{"type":"raw_stat","bonuses":[{"type":"prop","abil":65,"name":"max","value":80}]}],"id":66},{"display_name":"Frenzy","desc":"Every time you hit an enemy, briefly gain +6% Walk Speed (Max 200%). Decay -40% of the bonus every second","archetype":"Boltslinger","archetype_req":0,"parents":[59,6],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","output":{"type":"stat","name":"spd"},"scaling":[6],"max":160}],"id":67},{"display_name":"Phantom Ray","desc":"Condense Arrow Storm into a single ray that damages enemies 10 times per second","base_abil":7,"parents":[37,4],"dependencies":[7],"blockers":[11,6,23],"cost":2,"display":{"row":16,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"replace_spell","name":"Phantom Ray","base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[25,0,5,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Arrow":16}}]},{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":68},{"display_name":"Arrow Rain","desc":"When Arrow Shield loses its last charge, unleash 150 arrows raining down on enemies","base_abil":0,"parents":[6,38],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":15,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Per Arrow)","multipliers":[80,0,0,0,0,60]},{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Total)","hits":{"Arrow Rain (Per Arrow)":150}}],"id":69},{"display_name":"Decimator","desc":"Phantom Ray will increase its damage by 10% everytime you do not miss with it (Max 70%)","archetype":"Sharpshooter","archetype_req":0,"base_abil":7,"parents":[49,51],"dependencies":[68],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Phantom Ray hits","slider_max":7,"output":{"type":"stat","name":"damMult.Decimator:1.Single Arrow"},"scaling":[10]}],"id":70}],"Warrior":[{"display_name":"Bash","desc":"Violently bash the ground, dealing high damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_warrior"},"properties":{"aoe":4,"range":3},"effects":[{"type":"replace_spell","name":"Bash","cost":45,"base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Hit","type":"damage","multipliers":[130,20,0,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Hit":1}}]}],"id":0},{"display_name":"Spear Proficiency 1","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":1},{"display_name":"Cheaper Bash","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":2},{"display_name":"Double Bash","desc":"Bash will hit a second time at a farther range","parents":[1],"base_abil":0,"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{"range":3},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","cost":0,"hits":{"Single Hit":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","cost":0,"multipliers":[-50,0,0,0,0,0]}],"id":3},{"display_name":"Charge","desc":"Charge forward at high speed (hold shift to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_warrior"},"properties":{},"effects":[{"type":"replace_spell","name":"Charge","cost":25,"base_spell":2,"spell_type":"damage","scaling":"spell","display":"","parts":[]}],"id":4},{"display_name":"Heavy Impact","desc":"After using Charge, violently crash down into the ground and deal damage","base_abil":4,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Heavy Impact","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Heavy Impact":1}}],"id":5},{"display_name":"Vehement","desc":"For every 1% or 1 Raw Main Attack Damage you have from items, gain +2% Walk Speed (Max 20%)","archetype":"Fallen","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[7],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"mdPct"},{"type":"stat","name":"mdRaw"}],"output":{"type":"stat","name":"spd"},"scaling":[2,2],"max":20}],"id":6},{"display_name":"Tougher Skin","desc":"Harden your skin and become permanently +5% more resistant. For every 1% or 1 Raw Heath Regen you have from items, gain +10 Health (Max 100)","archetype":"Paladin","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[6],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]},{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hprRaw"},{"type":"stat","name":"hprPct"}],"output":{"type":"stat","name":"hpBonus"},"scaling":[10,10],"max":100}],"id":7},{"display_name":"Uppercut","desc":"Rocket enemies in the air and deal massive damage","parents":[6,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_warrior"},"properties":{"aoe":3,"range":5},"effects":[{"type":"replace_spell","name":"Uppercut","cost":45,"base_spell":3,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Uppercut","multipliers":[200,40,40,0,0,0]},{"name":"Total Damage","hits":{"Uppercut":1}}]}],"id":8},{"display_name":"Cheaper Charge","desc":"Reduce the Mana cost of Charge","base_abil":4,"parents":[8,10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":9},{"display_name":"War Scream","desc":"Emit a terrorizing roar that deals damage, pull nearby enemies, and add damage resistance to yourself and allies","parents":[7,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_warrior"},"properties":{"duration":30,"aoe":12,"defense_bonus":10},"effects":[{"type":"replace_spell","name":"War Scream","cost":35,"base_spell":4,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"War Scream","multipliers":[50,0,0,0,50,0]},{"name":"Total Damage","hits":{"War Scream":1}}]}],"id":10},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases base damage from all Earth attacks","archetype":"Fallen","archetype_req":0,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":11},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases base damage from all Thunder attacks","archetype":"Fallen","archetype_req":0,"parents":[8,14,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":12},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases base damage from all Water attacks","archetype":"Battle Monk","archetype_req":0,"parents":[9,12,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":13},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Battle Monk","archetype_req":0,"parents":[10,12,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":14},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Paladin","archetype_req":0,"parents":[10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":15},{"display_name":"Quadruple Bash","desc":"Bash will hit 4 times at an even larger range","archetype":"Fallen","archetype_req":0,"base_abil":0,"parents":[11,17],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{"range":6},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Hit":2}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[-20,0,0,0,0,0]}],"id":16},{"display_name":"Fireworks","desc":"Mobs hit by Uppercut will explode mid-air and receive additional damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[12,16],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fireworks","multipliers":[80,0,20,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Fireworks":1}}],"id":17},{"display_name":"Half-Moon Swipe","desc":"Uppercut will deal a footsweep attack at a longer and wider angle. All elemental conversions become Water","archetype":"Battle Monk","archetype_req":1,"base_abil":8,"parents":[13],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{"range":4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":-10,"multipliers":[-70,0,0,30,0,0]}],"id":18},{"display_name":"Flyby Jab","desc":"Damage enemies in your way when using Charge","base_abil":4,"parents":[14,20],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":6,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flyby Jab","multipliers":[20,0,0,0,0,40]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Flyby Jab":1}}],"id":19},{"display_name":"Flaming Uppercut","desc":"Uppercut will light mobs on fire, dealing damage every 0.6 seconds","archetype":"Paladin","archetype_req":0,"base_abil":8,"parents":[15,19],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":12,"col":8,"icon":"node_1"},"properties":{"duration":3,"tick":0.6},"effects":[{"type":"replace_spell","name":"Flaming Uppercut","base_spell":8,"display":"DPS","parts":[{"name":"Damage Tick","multipliers":[0,0,0,0,50,0]},{"name":"DPS","hits":{"Damage Tick":1.6666666666666667}},{"name":"Total Damage","hits":{"Damage Tick":5}}]}],"id":20},{"display_name":"Iron Lungs","desc":"War Scream deals more damage","archetype":"Paladin","archetype_req":0,"base_abil":10,"parents":[19,20],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"War Scream","cost":0,"multipliers":[30,0,0,0,0,30]}],"id":21},{"display_name":"Generalist","desc":"After casting 3 different spells in a row, your next spell will cost 5 mana","archetype":"Battle Monk","archetype_req":3,"parents":[23],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":2,"icon":"node_3"},"properties":{},"effects":[],"id":22},{"display_name":"Counter","desc":"When dodging a nearby enemy attack, get 30% chance to instantly attack back","archetype":"Battle Monk","archetype_req":0,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_1"},"properties":{"chance":30},"effects":[{"type":"replace_spell","name":"Counter","base_spell":5,"display":"Counter Damage","parts":[{"name":"Counter Damage","multipliers":[60,0,20,0,0,20]}]}],"id":23},{"display_name":"Mantle of the Bovemists","desc":"When casting War Scream, create a holy shield around you that reduces all incoming damage by 70% for 3 hits (20s cooldown)","archetype":"Paladin","archetype_req":3,"parents":[21],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"mantle_charge":3},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Mantle","value":70}]}],"id":24},{"display_name":"Bak'al's Grasp","desc":"After casting War Scream, become Corrupted (15s Cooldown). You cannot heal while in that state. While Corrupted, every 2% of Health you lose will add +4 Raw Damage to your attacks (Max 120)","archetype":"Fallen","archetype_req":2,"parents":[16,17],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":16,"col":1,"icon":"node_3"},"properties":{"cooldown":15},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","slider_max":100,"slider_step":1,"output":{"type":"stat","name":"damRaw"},"max":120,"scaling":[2]}],"id":25},{"display_name":"Spear Proficiency 2","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[25,27],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":26},{"display_name":"Cheaper Uppercut","desc":"Reduce the Mana Cost of Uppercut","base_abil":8,"parents":[26,28,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":27},{"display_name":"Aerodynamics","desc":"During Charge, you can steer and change direction","archetype":"Battle Monk","archetype_req":0,"base_abil":4,"parents":[27,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":28},{"display_name":"Provoke","desc":"Mobs damaged by War Scream will target only you for at least 5s. Reduce the Mana cost of War Scream","base_abil":10,"parents":[28,24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":29},{"display_name":"Precise Strikes","desc":"+30% Critical Hit Damage","parents":[27,26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":18,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":30},{"display_name":"Air Shout","desc":"War Scream will fire a projectile that can go through walls and deal damage multiple times","base_abil":10,"parents":[28,29],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":18,"col":6,"icon":"node_1"},"properties":{"attackRate":2},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Air Shout","multipliers":[40,0,0,0,0,10]}],"id":31},{"display_name":"Enraged Blow","desc":"While Corriupted, every 1% of Health you lose will increase your damage by +3% (Max 300%)","archetype":"Fallen","archetype_req":0,"base_abil":25,"parents":[26],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":20,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider_name":"Corrupted","slider":true,"output":{"type":"stat","name":"damMult.Enraged"},"scaling":[3]}],"id":32},{"display_name":"Flying Kick","desc":"When using Charge, mobs hit will halt your momentum and get knocked back","archetype":"Battle Monk","archetype_req":1,"base_abil":4,"parents":[27,34],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":3,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick","multipliers":[150,0,0,20,0,30]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Flying Kick":1},"display":"Flying Kick Max Damage"}],"id":33},{"display_name":"Stronger Mantle","desc":"Add +2 additional charges to Mantle of the Bovemists","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[35,33],"dependencies":[24],"blockers":[],"cost":1,"display":{"row":20,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":24,"name":"mantle_charge","value":2}]}],"id":34},{"display_name":"Manachism","desc":"If you receive a hit that's less than 5% of your max HP, gain 10 Mana (1s Cooldown)","archetype":"Paladin","archetype_req":3,"parents":[34,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":8,"icon":"node_2"},"properties":{"cooldown":1},"effects":[],"id":35},{"display_name":"Boiling Blood","desc":"Bash leaves a trail of boiling blood behind its first explosion, slowing down and damaging enemies above it every 0.4 seconds","base_abil":0,"parents":[32,37],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Boiling Blood","cost":0,"multipliers":[25,0,0,0,5,0]}],"id":36},{"display_name":"Ragnarokkr","desc":"War Scream become deafening, increasing its range and giving damage bonus to players","archetype":"Fallen","archetype_req":0,"base_abil":10,"parents":[36,33],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":2,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":10},{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Ragnarokkr","value":30}]}],"id":37},{"display_name":"Ambidextrous","desc":"Increase your chance to attack with Counter by +30%","base_abil":23,"parents":[33,34,39],"dependencies":[23],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":23,"name":"chance","value":30}]}],"id":38},{"display_name":"Burning Heart","desc":"For every 100 Health Bonus you have from item IDs, gain +2% Fire Damage (Max 100%)","archetype":"Paladin","archetype_req":0,"parents":[38,40],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hpBonus"}],"output":{"type":"stat","name":"fDamPct"},"scaling":[0.02],"max":100}],"id":39},{"display_name":"Stronger Bash","desc":"Increase the damage of Bash","base_abil":0,"parents":[39,35],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[30,0,0,0,0,0]}],"id":40},{"display_name":"Intoxicating Blood","desc":"After leaving Corrupted, gain 2% of the health lost back for each enemy killed while Corrupted","archetype":"Fallen","archetype_req":5,"base_abil":25,"parents":[37,36],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":23,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":41},{"display_name":"Comet","desc":"After being hit by Fireworks, enemies will crash into the ground and receive more damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[37],"dependencies":[17],"blockers":[],"cost":2,"display":{"row":24,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Comet","cost":0,"multipliers":[80,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","cost":0,"hits":{"Comet":1}}],"id":42},{"display_name":"Collide","desc":"Mobs thrown into walls from Flying Kick will explode and receive additonal damage","archetype":"Battle Monk","archetype_req":4,"base_abil":4,"parents":[38,39],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":5,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Collide","cost":0,"multipliers":[150,0,0,0,50,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Collide":1}}],"id":43},{"display_name":"Rejuvenating Skin","desc":"Regain back 30% of the damage you take as healing over 30s","archetype":"Paladin","archetype_req":5,"parents":[39,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":44},{"display_name":"Uncontainable Corruption","desc":"Reduce the cooldown of Bak'al's Grasp by -5s, and increase the raw damage gained for every 2% of health lost by +1","base_abil":25,"parents":[36,46],"dependencies":[25],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"stat","name":"damRaw"},"scaling":[0.5]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":25,"name":"cooldown","value":-5}]}],"id":45},{"display_name":"Radiant Devotee","desc":"For every 4% Reflection you have from items, gain +1/5s Mana Regen (Max 10/5s)","archetype":"Battle Monk","archetype_req":1,"parents":[47,45],"dependencies":[],"blockers":[],"cost":1,"display":{"row":26,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","inputs":[{"type":"stat","name":"ref"}],"output":{"type":"stat","name":"mr"},"scaling":[0.25],"max":10}],"id":46},{"display_name":"Whirlwind Strike","desc":"Uppercut will create a strong gust of air, launching you upward with enemies (Hold shift to stay grounded)","archetype":"Battle Monk","archetype_req":5,"base_abil":8,"parents":[38,46],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":26,"col":4,"icon":"node_1"},"properties":{"range":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","multipliers":[0,0,0,0,0,50]}],"id":47},{"display_name":"Mythril Skin","desc":"Gain +5% Base Resistance and become immune to knockback","archetype":"Paladin","archetype_req":6,"parents":[44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]}],"id":48},{"display_name":"Armour Breaker","desc":"While Corrupted, losing 30% Health will make your next Uppercut destroy enemies' defense, rendering them weaker to damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[45,46],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":27,"col":1,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.ArmorBreaker","value":30}]}],"id":49},{"display_name":"Shield Strike","desc":"When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[48,51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"replace_spell","name":"Shield Strike","base_spell":6,"display":"Damage per Shield","parts":[{"name":"Damage per Shield","multipliers":[60,0,20,0,0,0]}]}],"id":50},{"display_name":"Sparkling Hope","desc":"Everytime you heal 5% of your max health, deal damage to all nearby enemies","archetype":"Paladin","archetype_req":0,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_2"},"properties":{"aoe":6},"effects":[{"type":"replace_spell","name":"Sparkling Hope","base_spell":7,"display":"Damage Tick","parts":[{"name":"Damage Tick","multipliers":[10,0,5,0,0,0]}]}],"id":51},{"display_name":"Massive Bash","desc":"While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)","archetype":"Fallen","archetype_req":8,"base_abil":25,"parents":[53,45],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"prop","abil":0,"name":"aoe"},"scaling":[0.3333333333333333],"max":10}],"id":52},{"display_name":"Tempest","desc":"War Scream will ripple the ground and deal damage 3 times in a large area","archetype":"Battle Monk","archetype_req":0,"base_abil":10,"parents":[52,54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{"aoe":16},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest","multipliers":[30,10,0,0,0,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest Total Damage","hits":{"Tempest":3}},{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Tempest":3}}],"id":53},{"display_name":"Spirit of the Rabbit","desc":"Reduce the Mana cost of Charge and increase your Walk Speed by +20%","archetype":"Battle Monk","archetype_req":5,"base_abil":4,"parents":[53,47],"dependencies":[],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5},{"type":"raw_stat","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":54},{"display_name":"Massacre","desc":"While Corrupted, if your effective attack speed is Slow or lower, hitting an enemy with your Main Attack will add +1% to your Corrupted bar","archetype":"Fallen","archetype_req":5,"base_abil":999,"parents":[53,52],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":55},{"display_name":"Axe Kick","desc":"Increase the damage of Uppercut, but also increase its mana cost","base_abil":8,"parents":[53,54],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":10,"multipliers":[100,0,0,0,0,0]}],"id":56},{"display_name":"Radiance","desc":"Bash will buff your allies' positive IDs. (15s Cooldown)","archetype":"Paladin","archetype_req":2,"base_abil":0,"parents":[54,58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":5,"icon":"node_2"},"properties":{"cooldown":15},"effects":[],"id":57},{"display_name":"Cheaper Bash 2","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[57,50,51],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":58},{"display_name":"Cheaper War Scream","desc":"Reduce the Mana cost of War Scream","base_abil":10,"parents":[52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":59},{"display_name":"Discombobulate","desc":"Every time you hit an enemy, briefly increase your elemental damage dealt to them by +3 (Additive, Max +80). This bonus decays -5 every second","archetype":"Battle Monk","archetype_req":11,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":2,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","slider_max":27,"output":[{"type":"stat","name":"eDamAddMin"},{"type":"stat","name":"eDamAddMax"},{"type":"stat","name":"tDamAddMin"},{"type":"stat","name":"tDamAddMax"},{"type":"stat","name":"wDamAddMin"},{"type":"stat","name":"wDamAddMax"},{"type":"stat","name":"fDamAddMin"},{"type":"stat","name":"fDamAddMax"},{"type":"stat","name":"aDamAddMin"},{"type":"stat","name":"aDamAddMax"}],"scaling":[3],"max":80}],"id":60},{"display_name":"Thunderclap","desc":"Bash will cast at the player's position and gain additional AoE.\n\n All elemental conversions become Thunder","archetype":"Battle Monk","archetype_req":8,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":1,"conversion":"Thunder"},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"aoe","value":3}]}],"id":61},{"display_name":"Cyclone","desc":"After casting War Scream, envelop yourself with a vortex that damages nearby enemies every 0.5s","archetype":"Battle Monk","archetype_req":0,"parents":[54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":4,"icon":"node_1"},"properties":{"aoe":4,"duration":20},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone","multipliers":[10,0,0,0,5,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone Total Damage","hits":{"Cyclone":40}}],"id":62},{"display_name":"Second Chance","desc":"When you receive a fatal blow, survive and regain 30% of your Health (10m Cooldown)","archetype":"Paladin","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":63},{"display_name":"Blood Pact","desc":"If you do not have enough mana to cast a spell, spend health instead (0.6% health per mana)","archetype":"Fallen","archetype_req":10,"parents":[59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_3"},"properties":{"health_cost":0.6},"effects":[],"id":64},{"display_name":"Haemorrhage","desc":"Reduce Blood Pact's health cost. (0.3% health per mana)","archetype":"Fallen","archetype_req":0,"base_abil":64,"parents":[64],"dependencies":[64],"blockers":[],"cost":1,"display":{"row":35,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":64,"name":"health_cost","value":-0.3}]}],"id":65},{"display_name":"Brink of Madness","desc":"If your health is 25% full or less, gain +40% Resistance","parents":[64,67],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Brink","value":40}]}],"id":66},{"display_name":"Cheaper Uppercut 2","desc":"Reduce the Mana cost of Uppercut","base_abil":8,"parents":[63,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":35,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":67},{"display_name":"Martyr","desc":"When you receive a fatal blow, all nearby allies become invincible","archetype":"Paladin","archetype_req":0,"parents":[63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":8,"icon":"node_1"},"properties":{"duration":3,"aoe":12},"effects":[],"id":68}],"Mage":[{"display_name":"Meteor","desc":"Summon a slow but powerful meteor from the sky, dealing massive damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_mage"},"properties":{"aoe":5,"range":18},"effects":[{"type":"replace_spell","name":"Meteor","cost":55,"base_spell":3,"display":"Total Damage","parts":[{"name":"Meteor Damage","multipliers":[300,100,0,0,0,0]},{"name":"Total Damage","hits":{"Meteor Damage":1}}]}],"id":0},{"display_name":"Teleport","desc":"Instantly teleport in the direction you're facing","parents":[4],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_mage"},"properties":{"range":12},"effects":[{"type":"replace_spell","name":"Teleport","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Heal","desc":"Heal yourself and nearby allies in a large area around you. (When healing an ally, you cannot heal more than 30% of their max health)","parents":[14,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_mage"},"properties":{"aoe":5},"effects":[{"type":"replace_spell","name":"Heal","cost":35,"base_spell":1,"display":"Heal","parts":[{"name":"Heal","power":0.1}]}],"id":2},{"display_name":"Ice Snake","desc":"Summon a fast-moving ice snake that reduces your enemies' speed and damage them.","parents":[13,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_mage"},"properties":{"range":18,"effects":40,"duration":3},"effects":[{"type":"replace_spell","name":"Ice Snake","cost":35,"base_spell":4,"display":"Ice Snake Damage","parts":[{"name":"Ice Snake Damage","multipliers":[70,0,0,30,0,0]}]}],"id":3},{"display_name":"Shooting Star","desc":"Drastically increase the speed of your Meteor ability.","base_abil":3,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[],"id":4},{"display_name":"Wand Proficiency I","desc":"Improve your Main Attack's damage and range when using a wand.","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":5},{"display_name":"Cheaper Meteor","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":6},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":7},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":8},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Light Bender","archetype_req":0,"parents":[12,8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":9},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":10},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":11},{"display_name":"Cheaper Teleport","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[2,3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":12},{"display_name":"Wisdom","desc":"For every 2% or 2 Raw Spell Damage you have from items, gain +1/5s mana regen (Max 5/5s)","archetype":"Arcanist","archetype_req":0,"parents":[1],"dependencies":[],"blockers":[14],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sdPct"},{"type":"stat","name":"sdRaw"}],"output":{"type":"stat","name":"mr"},"scaling":[0.5,0.5],"max":5}],"id":13},{"display_name":"Wand Proficiency II","desc":"Improve your Main Attack's damage and range when using a wand.","archetype":"Riftwalker","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":14},{"display_name":"Wind Slash","desc":"When using Teleport, slash through the air and deal damage to enemies you pierce.","archetype":"Riftwalker","base_abil":1,"parents":[10,16],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Wind Slash","base_spell":2,"multipliers":[50,0,0,0,0,50]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":2,"display":"Total Damage","hits":{"Wind Slash":1}}],"id":15},{"display_name":"Thunderstorm","desc":"After casting Meteor, summon 3 lightning strikes and deal additional damage","base_abil":0,"parents":[15,8],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","target_part":"Lightning Damage","base_spell":3,"multipliers":[30,0,15,0,0,0]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":3,"hits":{"Lightning Damage":3}}],"id":16},{"display_name":"Stronger Meteor","desc":"Increase the damage of Meteor.","base_abil":0,"archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Meteor Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Lightning Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]}],"id":17},{"display_name":"Burning Sigil","desc":"Meteor will leave a sigil that damages enemies every 0.4s.","base_abil":0,"parents":[11,7],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":7,"icon":"node_1"},"properties":{"aoe":7,"duration":8},"effects":[{"type":"replace_spell","name":"Burning Sigil","base_spell":6,"display":"DPS","parts":[{"name":"Tick Damage","multipliers":[15,0,0,0,25,0]},{"name":"DPS","hits":{"Tick Damage":2.5}},{"name":"Total Burn Damage","hits":{"Tick Damage":20}}]}],"id":18},{"display_name":"Sunshower","desc":"Heal emit a strong light, damaging nearby enemies.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[9],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Sunshower Damage","multipliers":[70,0,0,30,0,0]}],"id":19},{"display_name":"Windsweeper","desc":"Your Main Attack will add +1 Winded to enemies you hit. (Max 5, 0.5s cooldown) Ice Snake will deal additional damage to enemies for every Winded they have","archetype":"Riftwalker","archetype_req":3,"parents":[15,16],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":15,"col":1,"icon":"node_3"},"properties":{"max":5},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:4.Ice Snake Damage"},"scaling":[20],"slider_step":1,"slider_max":5},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"wConvBase:4.Ice Snake Damage"},"scaling":[10]}],"id":20},{"display_name":"Ophanim","desc":"When casting Meteor, instead summon 2 orbs of light with 200 Health that will attack when you use your Main Attack. When they damage an enemy, they lose 20% of their Health. They can be healed back.","archetype":"Light Bender","archetype_req":2,"parents":[19],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_3"},"properties":{"health":200},"effects":[{"type":"replace_spell","name":"Ophanim","base_spell":3,"display":"Per Melee (max)","parts":[{"name":"Per Orb","multipliers":[50,0,30,20,0,0]},{"name":"Per Melee (max)","hits":{"Per Orb":2}}]},{"type":"add_spell_prop","base_spell":3,"cost":30}],"id":21},{"display_name":"Arcane Transfer","desc":"Meteor and Ice Snake will add +5 Mana to a Mana Bank for every aggressive enemy you hit. Heal will now transfer the content of your Mana Bank into usable Mana instead of healing.","archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"bank":90},"effects":[{"type":"replace_spell","name":"Arcane Transfer","base_spell":1,"parts":[],"display":""}],"id":22},{"display_name":"Cheaper Heal","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[20,24],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":23},{"display_name":"Purification","desc":"Heal and Arcane Transfer will purify you of all negative effects and fire. (3s Cooldown)","base_abil":1,"parents":[21,23,25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":4,"icon":"node_2"},"properties":{},"effects":[],"id":24},{"display_name":"Sentient Snake","desc":"Ice Snake will follow the direction you're facing, allowing you to control it.","base_abil":3,"parents":[22,24],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":17,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":25},{"display_name":"Eye Piercer","desc":"Teleport will blind enemies, confusing them for a short amount of time.","base_abil":1,"parents":[23],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":18,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":26},{"display_name":"Breathless","desc":"Meteor will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[23,24],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":18,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:3.Meteor Damage"},{"type":"stat","name":"eConvBase:3.Meteor Damage"},{"type":"stat","name":"nConvBase:3.Per Orb"},{"type":"stat","name":"eConvBase:3.Per Orb"},{"type":"stat","name":"nConvBase:3.Lightning Damage"},{"type":"stat","name":"eConvBase:3.Lightning Damage"}],"scaling":[15]}],"id":27},{"display_name":"Larger Heal","desc":"Increase your Heal's range.","base_abil":1,"archetype":"Light Bender","archetype_req":0,"parents":[24,25],"dependencies":[2],"blockers":[22],"cost":1,"display":{"row":18,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":2,"name":"aoe","value":2}]}],"id":28},{"display_name":"Larger Mana Bank","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[25],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":18,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":22,"name":"bank","value":30}]}],"id":29},{"display_name":"Cheaper Ice Snake","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":30},{"display_name":"Cheaper Teleport II","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[24,32],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":31},{"display_name":"Fortitude","desc":"After healing 120% of your max health within 10s, apply a damage bonus to each player you've healed. (15s Cooldown)","base_abil":2,"archetype":"Light Bender","archetype_req":0,"parents":[30,31],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":2,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.Fortitude","value":60}]}],"id":32},{"display_name":"Pyrokinesis","desc":"When your Mana Bank reaches 30, your Main Attack will stop and explode when it hits an enemy. (Damage is dealt as Main Attack Damage)","base_abil":4,"archetype":"Arcanist","archetype_req":4,"parents":[25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":7,"icon":"node_2"},"properties":{},"__TODO":"replace_spell pyrokinesis damage","effects":[],"id":33},{"display_name":"Seance","desc":"For every 5/3s Lifesteal you have from items, gain 1% Spell Damage (Max 50%)","archetype":"","archetype_req":0,"parents":[33,36],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"ls"}],"output":{"type":"stat","name":"sdPct"},"scaling":[0.2],"max":50}],"id":34},{"display_name":"Blink","desc":"Teleport will trigger 2 times in quick successions","base_abil":1,"archetype":"Riftwalker","archetype_req":0,"parents":[32,30],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"prop","abil":1,"name":"range","value":-4}]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Wind Slash":1,"Explosion Damage":1}}],"id":35},{"display_name":"Snake Nest","desc":"Ice Snake will summon 3 snakes.","base_abil":3,"parents":[34,31,40],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":22,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":36},{"display_name":"Arcane Restoration","desc":"Pyrokinesis will add +1 Mana every 1s to your Mana Bank when hitting an aggressive enemy.","base_abil":999,"archetype":"Arcanist","archetype_req":0,"parents":[34,36],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":6,"icon":"node_1"},"properties":{"duration":4},"effects":[],"id":37},{"display_name":"Fluid Healing","desc":"For every 1% Water Damage Bonus you have, buff Heal's healing power by +0.3%.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[40,39],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"wDam"}],"output":{"type":"stat","name":"healPct"},"scaling":[0.3]}],"id":38},{"display_name":"Transonic Warp","desc":"Teleport will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[30],"dependencies":[3,20],"blockers":[],"cost":2,"display":{"row":23,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:2.Wind Slash"},{"type":"stat","name":"nConvBase:2.Explosion Damage"}],"scaling":[30]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"tConvBase:2.Wind Slash"},{"type":"stat","name":"tConvBase:2.Explosion Damage"}],"scaling":[10]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"aConvBase:2.Wind Slash"},{"type":"stat","name":"aConvBase:2.Explosion Damage"}],"scaling":[5]}],"id":39},{"display_name":"Healthier Ophanim I","desc":"Increase the health of your orbs from Ophanim by +800 and reduce the damage they take when hitting an enemy by -5%.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[32,31],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":22,"col":3,"icon":"node_0"},"properties":{},"effects":[],"id":40},{"display_name":"Orphion's Pulse","desc":"Heal will trigger 2 more times, increasing the overall healing.","archetype":"Light Bender","base_abil":2,"parents":[40,36],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":23,"col":4,"icon":"node_1"},"properties":{"aoe":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Heal Pulse","power":0.15},{"type":"add_spell_prop","base_spell":1,"display":"Total Heal","target_part":"Total Heal","hits":{"Heal":1,"Heal Pulse":2}}],"id":41},{"display_name":"Diffusion","desc":"If you kill an enemy with Winded on them, the leftover Winded will spread to nearby enemies.","archetype":"Riftwalker","archetype_req":6,"base_abil":20,"parents":[39,38],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":25,"col":1,"icon":"node_3"},"properties":{"aoe":5},"effects":[],"id":42},{"display_name":"Lightweaver","desc":"After healing 60% of your max health within 10s, summon a rotating orb that damages all enemies it touches for 20s. (Max 3 Orbs)","archetype":"Light Bender","archetype_req":7,"parents":[41],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Lightweaver","base_spell":5,"display":"Orb Damage","parts":[{"name":"Single Orb","type":"damage","multipliers":[30,0,0,0,20,0]},{"name":"Orb Damage","type":"total","hits":{"Single Orb":3}}]}],"id":43},{"display_name":"Arcane Speed","desc":"After casting Heal or Arcane Transfer, gain +80% speed for 3s. (8s Cooldown)","base_abil":2,"parents":[43,45],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":25,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":44},{"display_name":"Larger Mana Bank II","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[34,44],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":25,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":45},{"display_name":"Psychokinesis","desc":"Meteor will launch directly from you as a slow projectile.","base_abil":3,"archetype":"Arcanist","archetype_req":5,"parents":[45,44],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":46},{"display_name":"More Winded","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[42],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":47},{"display_name":"Cheaper Ice Snake II","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[42,52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":48},{"display_name":"Cheaper Meteor II","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[52,43,44],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":49},{"display_name":"Chaos Explosion","desc":"When your Mana Bank reaches 120, casting Arcane Transfer will rapidly unleash the last 3 spells you've cast in order.","base_abil":22,"archetype":"Arcanist","archetype_req":8,"parents":[45],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_3"},"properties":{},"effects":[],"id":50},{"display_name":"Arcane Power","desc":"Meteor and Ice Snake will add +2 Mana to your Mana Bank for each aggressive mob you hit.","base_abil":22,"archetype":"Arcanist","archetype_req":0,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":29,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":51},{"display_name":"Explosive Entrance","desc":"Deal Damage in an area on the location you Teleport to.","base_abil":1,"parents":[48,49],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":27,"col":3,"icon":"node_1"},"properties":{"aoe":3},"effects":[{"type":"add_spell_prop","target_part":"Explosion Damage","base_spell":2,"multipliers":[50,0,0,0,30,0]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Explosion Damage":1}}],"id":52},{"display_name":"Gust","desc":"Ice Snake will add +1 Winded to enemies and deal more damage.","base_abil":3,"archetype":"Riftwalker","archetype_req":7,"parents":[48,52],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Ice Snake","base_spell":4,"multipliers":[0,0,0,0,0,20]}],"id":53},{"display_name":"Time Dilation","desc":"When sprinting, create an area that increases the speed of all allies the longer they run in it. (Step out or stop running to cancel)","archetype":"Riftwalker","archetype_req":7,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Better Ophanim","desc":"Increase your maximum orbs from Ophanim by +1.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[49],"_parents":["Explosive Entrance","Cheaper Meteor II"],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":1}}],"id":55},{"display_name":"Arctic Snake","desc":"Ice Snake will freeze enemies completely for 2s.","base_abil":3,"parents":[50],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":56},{"display_name":"Devitalize","desc":"Enemies will deal -2% damage for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[58,59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"More Winded II","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[54],"_parents":["Time Dilation","Dynamic Faith"],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":58},{"display_name":"Dynamic Faith","desc":"For every 2% Sprint you have from items, gain +1% Thunder Damage (Max 100%)","parents":[58,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sprint"}],"output":{"type":"stat","name":"tDamPct"},"scaling":[0.5],"max":100}],"id":59},{"display_name":"Divination","desc":"Increase your maximum orbs from Ophanim by +3 and reduce their damage.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[59,61],"dependencies":[21],"blockers":[],"cost":2,"display":{"row":32,"col":3,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Orb","multipliers":[-50,0,-10,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":3}}],"id":60},{"display_name":"Healthier Ophanim II","desc":"Increase the health of your orbs from Ophanim by +3000.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[55],"dependencies":[40],"blockers":[],"cost":1,"display":{"row":31,"col":4,"icon":"node_0"},"properties":{},"effects":[],"id":61},{"display_name":"Sunflare","desc":"After healing 400% of your max health within 10s, your next Heal will make every nearby ally temporarily immune.","archetype":"Light Bender","archetype_req":12,"base_abil":2,"parents":[61],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_3"},"properties":{"aoe":12,"duration":5},"effects":[],"id":62},{"display_name":"Larger Mana Bank III","desc":"Increase your maximum Mana Bank by +30.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":31,"col":7,"icon":"node_0"},"properties":{},"effects":[],"id":63},{"display_name":"Arcane Overflow","desc":"Arcane Transfer will allow you to overflow your mana over its maximum limits.","archetype":"Arcanist","archetype_req":11,"base_abil":22,"parents":[63],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":33,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":64},{"display_name":"Memory Recollection","desc":"Chaos Explosion will cast +2 spells.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[64],"dependencies":[50],"blockers":[],"cost":1,"display":{"row":34,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":65},{"display_name":"Manastorm","desc":"If you have more than 100 Mana, casting a spell will give you +10 mana over 5s.","archetype":"Arcanist","archetype_req":1,"parents":[69,64,62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":66},{"display_name":"Better Lightweaver","desc":"Increase your Max Orbs by +2.","archetype":"Light Bender","archetype_req":0,"base_abil":43,"parents":[69,66],"dependencies":[43],"blockers":[],"cost":1,"display":{"row":35,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Orb Damage","hits":{"Single Orb":2}}],"id":67},{"display_name":"Timelock","desc":"Holding shift and casting Heal will absorb all Winded on nearby enemies and make you Timelocked. While Timelocked, your mana will not be depleted and you become immovable from outside forces. Enemies will recieve Winded damage from all absorbed stacks. (Max 30)","archetype":"Riftwalker","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":0,"icon":"node_3"},"properties":{},"effects":[],"id":68},{"display_name":"Cheaper Heal II","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[68,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":69}]} \ No newline at end of file From ce066e4d8188c30ff4ef1ee383d630fe8c35c53b Mon Sep 17 00:00:00 2001 From: hppeng Date: Sat, 16 Jul 2022 19:36:54 -0700 Subject: [PATCH 3/7] Compress item icon images --- media/items/new/generic-boots.png | Bin 8064 -> 3628 bytes media/items/new/generic-bow.png | Bin 6235 -> 3120 bytes media/items/new/generic-bracelet.png | Bin 7765 -> 3281 bytes media/items/new/generic-chestplate.png | Bin 8624 -> 3411 bytes media/items/new/generic-dagger.png | Bin 5843 -> 2876 bytes media/items/new/generic-helmet.png | Bin 8042 -> 3417 bytes media/items/new/generic-leggings.png | Bin 7638 -> 3206 bytes media/items/new/generic-necklace.png | Bin 8010 -> 3625 bytes media/items/new/generic-relik.png | Bin 7917 -> 3378 bytes media/items/new/generic-ring.png | Bin 8360 -> 3770 bytes media/items/new/generic-spear.png | Bin 5498 -> 2561 bytes media/items/new/generic-wand.png | Bin 6060 -> 2945 bytes 12 files changed, 0 insertions(+), 0 deletions(-) diff --git a/media/items/new/generic-boots.png b/media/items/new/generic-boots.png index 5cb73a28fcd51bc5e29a9b8976dc2ecc7b42e3bd..35198d7d452a21cd40a042f015c1944d920c878f 100644 GIT binary patch literal 3628 zcmV+{4%6|8P)Px&08mU+MMrQ<0RaNW(bR>Kn#Iu5h?Sj&lbeT>oB#j- zRcLKiX>Np(nS+p+0RjRbARs0tCO|+yR%mTtU|lD0|W#L3k*_HQdeqkN=ix-6B7pr z2pAe16BHK2&(daheUYA}e2S4xRarSXIZ;_&gO8UZCMXpb7!3^#DJ(8|g^XQYT^b!8 z5E2tAE-`)o71qKNU3I+xTbbp3j zZ*;c7#d3j&j+>&w&Cq9feo$9jL`zR@d4DS~GH`o=FfcGcMM@104;UC2fR2_xM@u_F zMSO^mZEbA`2?`Jp5O#uzBq%CHMMZIOaamzzGBPq~XlO`CNL6WWthl{mba|AasJ_X~ zmZPeltg@%GxUajwae;`jyurQ5%!-$vbApLzd4F4Na*LRtNKaH>Xl-?XhhArGS6^gd zYj8$JMjag;Co3%>BqnQhdv<|{4i6A>euSB&tYC3>z{}5|t+SM%r=6;=xWmVzueFAh zn|g_mrLngc85&MiS|cMPJwrzyA|y09Jz!~XTV!cDKSCrYDRF#*TVrWAJV0o2cu-JK zAS5MUUtc;vLmnU^5)>76b#+l$U1o1}Jv}{pijjMJdt_u}WOaL*rmd;9x?*#AkDR2l zzru=xb$yJJZFqjNzQSK zeSLjFNK0#Vd@waPPgh(sI6EvbGJ1uLMom#KG&VIlJwr)NA|)sf4-bWsnQeD{A0Hn` zPg8t|j}Q?OR#sLwJU?=MglBPgc!Y~@dVrp)vADy?iI$yfdxB5-k;%=GN{xbOY7^}%Mondf-&xfG51WXx{t%s9ooQAR#aDftU35z|QS{H^dGx5jIgU6%?PBV9#A977^3op)lL}1_-jOw#{{0x9q5IvgjFxG5?Ya12M}$$o<8P?&vK|^*gp~ zt=nv~3PS>X+x`z~cJve>qwU*oZl87Vbo!YITy3No8y_v!HJd9%0MqeXbnjxH-N zVp3I^pM5%Su7y#e;Q)viV7TH_%iMXNewJB9iRhZBLwU@~ZHLp|&!-io;=B1(@RaT; zsLB`bwC2lyKW*2xN*;YE5qB`cjLz6Pe@}XAIR=9P{fJUKfw#^ZI!y1GXH!$4?NXF3aIBr-dV3sdb*62H~tw#J9fgrSmS3sBs6{nwoWVf=P6JPGj9kP zf|>l+Z0b=Widt2u0BnxNrjADTG4zlEd)(~laE`=KLqgC1H3DEYHmsc{ljJc$0r>k6 z99$vaBmS2WPaFIX(^{v{;LsP~WuOZD9by@mD980kRsdc?;pIdvLDvO5UmFaa_+sn0 zME}1d0cXL-h-E!5r>qSp>5mGr%KVF8$MezkI$mQ=!yqV-zLr!%&SJ(896 zWtIlRyE>ASQ3^Dy;xVzPg6WDbtAno)|5s3luBVC?de&bF)F7r<0&t_K0f$?rqQXI( z4?N*Qw4kY9@csYvoAUWKWuqJ{*+FvLC#f>Dxv6*DJ}Q{iQWq=E);0DQnl z3!-U-s)7U!aO&!bQ{7~O!psK{KnC`OqqJzd)#`$F@)`i_j}X3pbE2B!9B*QJR!}Km_jlT<25#C6%wRn@P&*gX4j+)a{Ay>NOU-w<>ZoS6G*|* z9y(+8&d{DFW3mc|M}zj(2BM_S>+Fpr2T0QHErsqbl}4=#mhc@5Fqq6z?SYjUHA@O5E}2tkpW zqWVaH`)G1U27xOZM}Rp*TeDBTkN|(7>6tmMxR@37o~EeneE!hsDqy>&i{En%*b8=R z8m~p%2rYsZP43;=>4Q%p=_HlW13Ht>A8agU(i#e5k!zj5>Xt1q;Oy3nA-k zlE$d?Kc;Kv<$X#Ww4bE^J6p|s?9H$WNu0KYiZBxMY>Cun zQ}>?uZE4Q0)k}sq9EpN%PPjH|aXn5~{x_!k^MK~l7yRB(%3*t*fcLhVBpr68xb(u< z-g@3lyhyr!F=dnMOEqE@uT3p0Dd}}-65iUIYm7!?(S<2t&fuv|z^P8pUrP!#Vw%a8 zzJ=?1l-->6)}{$;!K`njy2<>zo5h_q*+bTx(_bBHLc@J7m!71hK5lRVZjfnAKZZd~ zEB#Vfp?@1M2<^qTX7sxye(nGv-yoKr1!6CcYgVD3u+ms8=JFKU0sOfW@aHn%>nwk4 zX&8TRwWLMJwqw5uaYSZ&_!5bo^)jB;x^u06 z!7x$+JQ9L)#5`3qLtREKGFvDzj$NpY<8VWg44lMe1mk1qdbt&(ubNX}trpn)YSoRF zB+UGAVK?9k@GTxVb`Wl^wUw1yGwOqz{NN6MV9J}xE6B*irr(eh>rz=xzd;Nn;x>F831neP}p7=BV)12a~dL?iQm z%F#P(036`Q9)JPLCD#UX*wy0G{EHdI2bN$$De@=B@#X>e!J-_CMS^ojj~3C{6meJ_ zJQxnQo~~cgxtb!0p-iJqqQaIR#7VR9u|o;C)Tl&$vaSZ#F_CxQYUBfaL}TAVOJavK zGTTFo!h+I=D&d-tshK@ivB75D<80{}MrHCzLQzP!I9|s%t`~@h)1r_KV`alkCeu5i z@67bWb*7}jwqJbf;bUflA;qLP;d2-9*`^ibC-g@n<*!cm_}5%}{d%$Alo?m9ZcKS2 zY>-7yBf`&jNle|^$FKFibvZN^O;iAleZ6-r_mYl0>U3uB2}g1mS4p21C0R~UX$mi3 zn$}weg_WnAJb5yue2{(ve>>+$t8?=JxN|$w1<>@lcN^|g`0R(HLqH`o+?|{5!q~{$ zcNDr3o&Z7i#^Wcd^DTPky1^0{xxD+lw7$Et`43EvNd_LnUyC$v&fe8GZC>}~k%7o1 zP8PD{SD!fEXb%F#?*uvuU)5CRCD;6(DJ~ZkXI>ukJHhG{h}hNe?;W;5t0)1)7T;p8`&jh)RQB;7RANK$1U<2 y@#LtOE+dDz{I$+Q4tJBA+~g)VxyeocKl(2nCUXo+NS;jq0000A5cL1v`MpoyaV@4`=21YeAjh{fj(g{QrV!+Bl9bEJtS)L}lbhq~^lFz`(-7MQ7wkr~lU} zh)&OsN-xl|afF734o}I6Ov@WvT+y_3(z11m$t(;@&PGN?K|nwlnO_P?$cRkOheJRJ zOUepQ$qtN79a~t@v3H5hDndj;LP0~*&Q9YN5Z1PHj>|3%ic2$f_esbp!NA1wiHIj4 zB=(C*!NkU4U|}aFqlie$3r)_ZXJWy^#T}kobPkHpb8rQP#ri}ic}FHhrsW4Eq=zJB z>ex9C%`Kv#1BAXwq62~9sX5xVPD8T`j^2UnJp4qYWRmjAp^2F+oZRaACe6KrX~k7E z3`}fXysEl}sA%ZlmDD_fBK@M0Ox!?v<~H@6efo~>?L%YA+WOyQmGwpSE#QIC-tlQUH7y5Ee-R03 za!P6|7cXa@5C8@ypU5{2Lo)$U@xb_W=b%W>@VLq!9d+%!My_5heM82!PDVD4t&m|0 zNB5>~h@q8(y{Dh1k-3VNe$UvHgO`6mT$;I~yM>d7l!A(5Kv-UNV`^cAS46yPK)A7u zQz?^i-G3Lx?V+Zm4mHCCVa%}#s?}T-m2IbXOx-pvQXpt0+dDbOjkV*?@EmvLnMx!+ z!n#6vEc?MKWv0K_Z3dDpfr27Bla&2I!0+2@Xk`&^F5y^hz(%!!d7*B;pn`;7nn`-#xr)BBt^03nRE`*&&F|BmiH zne*0YoHnwX1Mg2Bk%{=I8@J0J``5L9>h&@PdhTq?Qp#r2dEfWK-3B<1HzXQ^pBo_T zYDRc+WV!^mC+kE{Ei}{G%!WBQig?jQ`WTNX8S>i9#x0jkh`5tPLs5GwFFW?oLMR$( zn-?{xe_m?up8o|EG@TLt6{Lw4=vBIQ(N_GOd6Z#%g|g<;Yqe~TKU9jOB{2J? zaNk4M{Azd!5agT76oD)&m-*?cm}sNnek4$J@pdPn9wfG_9F91@#O zIz|!yr>9HZa(ar;4iDF(zO89@T#DSurJ>l#;oa))rb3Rs;aNllL~+&w{nRQu|C7sl z{y<1Uaf?4h`{y=?Gzn(iq!OcXc<9RF6^DbY9Q}`r*wK&Z4(OcIR9e0#UYr7zp#_y&YQ^nXl1pFKSz+0#4 zjIlut1v#t}DN-c(5FMhOa3m*3(wiO)f-|>U?oo& zN8iyujZK|K0#9LJ`fDD;~a zgG}%eF2XR1i*P6_;g_f1$B2An!d*dK?sqRX@`2>rBum4QE4o*Hr4WGzzu!~;Dh1;O z6McpAqB_K?~|D2Pd7{tEV}kKZySy#-)3(MQ>fe91xTwtu#8}hS z=^ZQhrIX<{qc2u)aM~tNq>g#f&QtKgrZ$alIh2T7XZbA(I4Na*J3erp^#0Y6@RT9R zes*uKN)kV1Zv?HIiE_7Kd_51p!N(vPtb;&n{-9$S8+>ZFz=9o}3#1dt(J9TYq1 z(tKBTN%j|abSZ8_&yHB(JUKmlfds73nMpesJHAkS2RLiRYK$aQDAcjmYa`w=IQH6U z<7w_NT;z4tH#E)?bw1?!UJg?>|FouLFLuAK+BWE36Iku6rGrO59SEHBBzgx{?=w0> z(d6G(T%>h1v_H6!1h#U|ZRIS!;UxsD4@mmLh2o%h`Vx)g(pPC+9#BqSk+jZI45NWE zhc#4f4mAlmwEt#9x;2M)XXLoxO{k~A^bw%=JUup(AmA59fa>GQum^5! z4Qnb$XEqo>cZP2ucYr6!=W2T!0mq)wRA}hUG%~$kgQNWyPn8F%llcXna`D})qq3HX zu+!NccjKPIe=uqUzu?y@7VOI)&9Nb?aCm=l8Hw=YH{JAi>F_k9ePk`E3w$;}Q9*h$uVmK}tM;Xa6Fq(P-;B}r8}{yc76 zj8J7qB?f|9n3be-#ihv5CY0$#a2m(y#=%QT`>0=GP9eqA2iU*@x=l3reeAY2Sal$F zE;|?}#gpoCKko`f0u8g_YM^jc<|w!`>np91X|d#wEVx2)gdcXJ(}$*U+q=( zcqS0${Zu~v_WkKriaxtAny)Jad#h2(R~D84g}w&C8qonbq{|1;yF#@qlol$4S?WKd zUiRo(%!;+I!c}zAlRq9%+uFjaNDITn|76Kg*QaLHtHr6LDv==wiblSOBAgE64q=wJ zg;5q^1AVJ)5tT)9BW%+Z7G#ub&^bi;y#26igVORshDPzciw^O|4VDy?g+S*aOE!K@ z;f6owwF=Z@-9c6{oiuiLHx#fE6?!x(<9MY=)GDwi)#JLIH>V#lrRoedaur6Ub}pXt z`Y4}n*%|>l6=AMIqn=vJW`yOW@Kl_5HL?p9@$VBElfdE^V5j(JnM?P`F#;GcCfVH+ zT<8^Uc+->YOJ9UF)wwT^VSa7$ejQBA!8Cb|B!2TD2xVJ~I zQm!1h@aM;0tf@(&>t0{z>u)nKXXfLYb8BI`X%uW9-~Sx&@@x6`rT2&&}_T| z>AGXQB)PN|awQ1hZ*9w6VUEv+?U*V&nK*KEiPq*glCBqhb0d7emmS$&QN)LK60=|< z7RQl+xjaZSxlJZ$u_TCwK}p6|U4Jpg@;VneIn)hT^;d$PQ|dMBd}-{wNQ-$$7g(&n*u zkxgOT07is4BPBajmlBKDa$q+fztwe0$5o1NI^f*_CWL2ZOSd(~P+@kCR)yWkeZj4{ zLo;|G-sC5X#goGu<+|z$Zg}Uu`BrV|fczi`{w;vwzPMb^E7gm71d2TiJhj}0VMMhV zqDyYrZ^pes(@Q1NAj~U(daWYir+le}UZzxOui({xb_h?T(aH9o;Vn`~WxUB9-;Hu6 zhi}kSw}8RsMI|PbYIgT&Yhd<8lBaMC^=)V=5c9uvnL~^vdQHL*3OKSEWxcCaH^Y5o zqC9MYoJoLL5g_{OBBet1*IjvM96;-~+0T%iamSbX2wTLRgAR7uVAFN;U{ZEk9A%o` zVG|HOb#&Fk3~V0Pe!`?i%x~YBC4Bk(--H%|SVd5~gxOIksuJ9;6Raw&)K? z5Qaqu!O|~DF$(br4O#UD@NoV{cygebt~`RoX2H$)zq~eFgnU>nmLgGkPa*`Qxe!Y)LTaK?yd+O$ zeWC`NW6eo@+Gqx%yGeos&AHu^&wMv@rqpzqJ1TyY{R(2M`NP(%;LtJnu*3Fh+T^d(d;AHJ*oxSgaV&y54Xlhf_0)+D?wC6S!u=!Ah~`7oRW(V z>&J5mQy!`9IH~c`h)hOB?bCC!{KzDHPz}67gT$Q~dD+uS+L|xnbA#wSf z9w$M3IKeO!^X~v5Z;mdHKbqPDMm0H@5bKu7y;zBHfP#j>Zk47ca*Uh;*_7oX*ixN= zWP~B57zbf`p<4(kDvG7zU*~MFvg$0>(~CL_xJbS{3&MLl`u+!)u^+iH)$r= z20ykM0~w+603Se$PD8mHsOD{%jhtr$R}eW8Q*Y@{j{=yqml;eL!|$*ap#hk_Tr;FC z#RyhSwa6)w2t6(4araG-m&N|Yb`w?QCJnfia!<6xBYWJCrq-i3N_Q(*5*;Tzx1VGN zmV~tOM>S&o*;l2m4ZDzi1;0(lEqrhXz@b{+^thcdmiSjw#wdIf^S~Ps3XFJE&?=KB;?ctjhaTT1 zhwoEDe5q;pva-iD7wN#{WPhu_XX?_|Yf%hl30!7%3D6Q495N||dWu!Npw#HH}@Ldx82+mS4K+x)cqUEl4zAxR*ce7BP|p{frYq)0vJg zXMf2|LO+I_6oO@#Yx;^`TaeJ(h;Hm>Nr5+2_ZlUproYw37sD4eAF_2kaP8+s;a29`W(mNGHK;f ztPwwu*}TJ%jlqM`&nhmFPoO9H=b=rWkmIEG74fY~pL~#bdj3jZ7wYf5Kdpp~1C>ZN zJC4%Q>Mj8Nnp)QDL%lD%dT)x7cJdQ`PsMpZ1GQ4`_)s*TR$mrRYfV&07lo-^5#dZ@n@~|AU zJ-?P8*~5Fwht7jCNsI4{4QH2^aP(=ZN$AZ8u*1?(;?RPyi&ETJj6q-cE~dXfEzz=s zo&~cB2#@k|Z=;^;7 z`>Y=Q@-ye*>Dp06ciaQ~xndbS$!bvfL|jp^w|9P)&u1I}grFtomZiUB)j$tN)R^yQ2PM=F6olzrC6)7^<=;|@YeGxZwc&Q)F0br+k0syY@tdDZi*RTLtoJJ>P~qVD%UiAWKs zH~v7h0en|DNc71vdzY+vUT4h@S&%DB`YKAM`aMJ8zE;UV6`FTmFsJZHP{P;9GH(T_ zt77KEmg>LF9lCNY^X0#80C1MFUjt(_kWD!&VMF~rI>1!=lWe6P5R}2yH{dqVR3Ug1 zi+<~A#Odnp$8r|iUYF?CHDBwh+`HQ-X=>_LWlCH(?4Ws0Pwai`?`558!<%I{J&VYf zC|;pockVvc{Em_^Yy-M*&L0A@N8s?iKjPQzC?8yzY@W(}e z(vb`p^u^LWYjU?2H?tgsIDtydK2?RT+uDEnI4j!P+Rj$gjsJlTU)}3>mwjHbCZLCt z6*(rPFP?@>bSrL<#Zn$l^J=oa-tXCFgGI%})Q+i!+=?Cm)yhVC>MVEt*0ZbTuTP(S z>X-XNxRS-Vtsdw}c+3GjP*C z(?#SP#g}@WWRb%1m3-!Y^+28yh)}uoEU7Ft4~wirFjztdZMzX}G>4g%)>H2EI^#+y zrZO6pRh-0q+}-`S5b>q6kw8y5pdE=j5(oJZo_X2m%N>P1uqSIhTKH(#oVa>U#~p`o z>r_gpGBh1*Ju1DYDYVegglbv6*eos_`Yz$w!ReX=<*uyURkSC60VJ#FV@C5oQ_X_8 zXERZ44`w6$mpDW$n=_*SK33a!yL2tB-@-u>trTc75lNJt^NTE48ZFvrw#HIMLgblK z$ruUV>6{GaniMvlL6=gD>9)gHyh6Q3e&C2 zm1_zjNnkOQAszhaKql1NL1k&$M-G&_vqPn=z0sW;bd9VoB=j%^D1zVL^ZgG)=xMxiz z)jHs)E$NyLkOLL5?(m$`f8+(owZslIo4|UynvzS|zF@TpIw17XAS=gkvts_Lcrg6d ztmlA?@z!?;c-^3m5x(`L_&d-2+yFd|rj@r+14PA>Q&Dv?g;pY-*x*Xt5=;NQj`2hO zl>uph&e z5p~4@Kgc0e8UuBG|Vit&|FSmN_4t9Qv0#7;#rJhYC4x z_{J`Lhf_%-wh1km8#y{Dsnwc)eoA_ylB738ClYNv?~O*$7-xbex%_(7P0`U7e1BtI zWuSz$WKYi^Hs=8&uza3_2r7-CiDs*{aJCc13;;{HJ-MuQ=j7K$YkT<-1ZuJ2%fs?d z)NV>dpXWPMbgO6-E2m~-v{7Xx>Q)W7qzuSo@JK~rI?ms$X9IcM5UqFf7-Ny?EBOAo z`?ZSebUSJ$H?{#QqdwSrdNYgEPNb}7pFiTw@ZJ`fn{uvB8P=q9+ra3Q+(}B zUEsHS^;i~<2W4_bugil1@&la0mEg}@m6VFc`Oe%iVEs!Y)(nACIprK?N=8HI%@I=8 zwvC($sH){2gK5tJyH0N(;aeNbW7IJb+yjpg150D#g8Boj6(UIIv$ek+{>2b;J(Tuc=ouBSl zF^2bW^i5y-l0&i8sdFlhjFH~G?U>JrtDk3w} zqh&t(uyxd|?fV`_WshgdwB+zmzKmAwON9YTU;}>~&#{aS{j{6hzt|Rznc6ukbAqI* z!P%BD7UpdpP6oVh4h&nO9XQHqrL{d9@3XhcP8Uyg2~;d^ME^MA9Pgob9AK3Hn5lqjw=; z5#)!3g`HwN!zwX#9UyH{0S&m3J5=5fXV!|#Y#gx>@k{s=7Dnz{>W~WOMQ;KM@%@1# z*Iy58x=R$!e;d0 z8^0#0?Rphhnu(KvjQJnsN12`LlHH0@6IfLM7f|16PhZ0m5wFbW_D6!pNN^Wx1hLC^ zE#V{-x?uNK6ALY>ly7ozUtBAaO{xa}2vqc>UWLGtl#inUVqHs%Ws{KVCx}nwTT~$c z7W0XbXUBQX*WQKEw=MM_r?}&vdSpeN77EI!_1`hqK6>5DF=YHfiRe-LtlgY5sy%e9 zAaKqnqva$XKVs>N6O?RQoH$!`6`Xg?896YgGOFK+J-5V5S|C$aQM*C%)bwxsRZ%v# z{QBiJL3&P@n4#bt`)dgDXQM0JQUEe+SM}Rd0Ve&?b$|&Z9RepovGt8xmMWHmZ58ym z&|9Eg?K79D7v#L{T)zD!)Qy5}HZ^h8ej1QkQ7|Ee8UH>$4=UU?rRvZ{?fbJMp2x}r zmcC>s@=6--AH2k{PhSPcwC7*6MeNc#0y-vVA4HW9|G$^`jdCCKpkx>Sa%O(k|Cq8; LN|KG@CZYcidcE6a diff --git a/media/items/new/generic-bow.png b/media/items/new/generic-bow.png index 908ed0cfde32467e09207f4292c1c3467e749d9c..9ab6c2a83b778579e292c2b640315365ddf889fd 100644 GIT binary patch literal 3120 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 KMNUMnLSTaQeJM!* literal 6235 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 O0HUI!{7%s_@_zv4S}WTC diff --git a/media/items/new/generic-bracelet.png b/media/items/new/generic-bracelet.png index f4c6da8ae9d486766a52717637253427cd40727f..4683abe38f0efd21d0e03f96be859c83d8f1447f 100644 GIT binary patch literal 3281 zcmV;?3@-DDP)Px%@lZ@uMMrQ<#n94RS7aWC>nsb7Qo2agdmY!E?Z;zX!psTV?NK8aWO<8MjZGD5Nv$?Oj zzh!oOxWmV_z{G=)n7+x(m7%DXqN$#$u!NDB85A0MhK+D~fqjXQxx~k#ue7kcz_!7~ z!OYK{sjt4t%~M!jV|034SX;Nk#w{x`J~=(DxV?{@qp7sHevFfsqpGX6yLxtcp{=qn zE;M3ka3vrle~pwI6&e>27J`nJthc;eZgZ}=zNN9YiI$yPZE{&`aWgYHvc1A;dx2$P zWj#MdKtf21n4o8Gc353xP)koJCM;4-Q5X{#9vUD+JwhTLA~P;B6%Q3ABPcpGIbd>k zr?a?dd4GV8m3)eklAorkwYq_hmTP>1v%bS8B`Rrhc`q$9wZFtiLq|VBM;;j;Ha0x5 zyun*wXM2W@Ra#+gcYYoj9(HqfXmEFFad*;J4j1WZFYS?J3n-Og0o<{TF*XKFF*ab+iD{;H2%SJEM+ohb93+I6Bfy2^(k|sL zyf?glcA*oq26*Q8<2!J{m{=F_ul`((isR@dSY0q6j}5`-!=;U z7_Q@Z7u8`6@VFmiN)0&D^TwbnVObSI_Iw|0gzwXVxoJj1Qn-v$cnii;4Zz$<#2m6Mm{K;N;W#i5R>uw(F6LBcL3ajkwwvR<_J#XdSkI+zRoGd z`SL?NmpggGj*xS$iO7(mI;Zq=0JzjzxK%cneou0=8w`T?0NfE2`4@nHU}T@fVI@*` z)(DW(G+T#t0p7;zvW6u~gWD)mhjjtwBa}XitR>4j?S@lKQ0oHx6C-C@DM)r~x-p;* z>*7>WftWliOOqnTcrG0cFkUN14@M$%&Y|?!faIG=;982_gm4^W%VX%s=(T2;W0GMi z1$hLLzl4yNi>lVA2t4j1%P^3ejIYuZ9S_t0i_qB;s+La~3qv|)bP2#=gfbIYEisfn zB{G?)D2{kv#IfK(I*(gA4HL{Uw-eVWz&Eh%J6O8^@byrXIVRdhP!!-iMrKiCfgrUe zmM8B;m(#+X&-&s6p$epcO}0tnN6B1@)oZ* ztEX~_ehXIN>Iap@1hXt_Z8y!7XO~9+7IOw@4T@yr-KLpu-G;lRF3WG-?ZRwEN7I=m zvZpA665~#Vi0_D1a&>sg0Q4%(Pagbn{SX z34s~w?|K64(Vhp_b8TZqD?2xaz`O=hny(3J{tMuSRGnO#PjX(WN+IhS$0wh{Ov7qMCJVdJTL2$OhuvTk<Sn6`+g?G@Q9%22I`3})-jr>}WTgp?-}hz^pb=-3s#>_tZnZ8y!bQo~6&=j&5*PF0 zLDtzwGUucs9xg1xnN3%BUe($Rl$xBl%MnVNO@wCjSICEY*2%K(>#(l6g)5ZQensWEqzvAF{{F76uEviPPMKIS{Bb1F4R7Or5td}t$VJG>bqD95`qe;bC zE;gBVk}vaJOEVrN=?sM#u}&5U-6iZSjWs%B5T;T3d~X6=3cQ%+#JiGL=Fp(I9%-7{ z#5y%fvIQFb%s=yOH@{7`Cg6JKY6b6(8uI7>9MS4ePlLf3;>&H;S~seAi3UBjUZQBCBcI|wZ(Wx*Ey#YfK(v{? znQe|kN#m%_EAb!O*UCCt-G8{+P4wNs7N&+Vd*~Txko%1m)l-L6&5G*kCj`O>QBhZo zatTr=KS?@VMS_N%8gReY;8Ql$rgL7_*v!LRMKgcau)18wM zu|@p;nR3a?JIq~?S_$wAxmVcBi?~yen4;>9oR4~nyEaq>7N{jHuw9&Q_Er`y?pyXN zl2d8*tY&9Jd`Vwkd0FN{`HBqq&}-%|f*k_beOR3oqb6)D^VWCfwN-m%yX;;`t1E=- zsQ{22sb>dG>gbu3*YVbLN~A_(j*)d4xF7#|8J353uWt!xP)Ty3(r7Fo9;nNx+&xrA zqkLXABo|?uc}IJDe&Eq-vBh-e+)%HD z%H`PdX~Na;pmY!_Cmf(9*)p&`VEM#?RA>n4pT6pSi@y#n01APE^3k&V`biI5|F4XKa%}l$^xR(!tEnXmNPO&eD^grjL}ChLfC+oTG=7n}Ls(o~p6M(9*28yor{bUS@1r zY;l~Zu9>B*qp!5R$IF(YskOkwp{=u#o~4A5nUI~NovE*`xxTc&!?wZ2sI~ z&(UCVcV%{bV|99$q^eqMa;&zzikF_3qpE0dcU*6Drn0w;n4n>Ec#WE&t+>6r#>&3P z%(}(MR$OFCPE>e;id}DYjhdo$go}len{9oBsI$0mcYjk@Ut4W+cZQ8#aCUTrigJO7 zo2RX7dx4~|wPtsHj+&xiW^Nc17-)Hak)5P{i;|L_rFe&qZ-0fQv9=^3CNVHJYK zvbbt`fL>;99vdNUcYj)6W-2HyWNULgJwr1yIcs!$hm)ICX>B+-K2cU&Asr(lASGB` zWQ&%NtG2s~n4gH2oqCComZPa186RhGcVcvTt+>2saCjRQ9DIk5d4-L2fQMmfa6m&z zU}$g0(bRByf+ZsISE+sn>X#fBk$4Nv%RCwC$U3qjAWws9rBq*EXg5d6q+sxa#=&Ihg1k>3d3n4k# z2xQ+E$RrVt>CC@zTT^CXIj+vw;xo_Wvl{qd@6uj*Pm zRn>vRJ%PZxZpuyJlgI9Sbjp*{XZb!d;|ae9?t1912mGFx z@rduN=}%61^v=g_7?i$q`Na1IKsb4l@5Bjn`Q4P;P|9tnyMHlxD?Y+3@$9Ml3vgU(JYkz*{btcYR zZ@=ZX>r#{R03HG7U7sqQOx5HYS3;IP2k^_@Mel}uu=X7qPCwr%;~V89(RyUayz5D$ zgu(tcKjiJ_04ehQ`>(Ef^ONgBqZ5Vo7!@U6spC_lcVdBZL&)*N8+iKQXbvn>u zG;-p+_~PnkNsUe#hjD~YlV+>IU^auen9YDeXXZjnQR&3-X1UX`MY)J}#|8snuv$68 z2?**8EI=V67IhZq^K2F+&!S z8XY$Z#W=xhl-opfBt@*S^65GyH0n1l_}^o9Avg0587K{ABOqNs<|6)jJ`VJjaS%w* zJ9&nB!+?ikG0?xCrMTtZ?roHhqWAFuAd@hxJp@l(?i~-|avq?REP4h5I@yaTpG0rr zU3sC=nFFp+??o1j6fBZmhqNX7HOBwE#r~X7s#j0@e;wiL~$H|qVgV^v#5;n3FK4%t}HYF)+a##QBLIN z1seMg>isAr3B=Ga26_>YlKy+<{aC|UoM zl05^qz`WSZvb41B@SOf%jdJ3oIJTv#>hmGw(|#mA-PWI(db~KIwx~KNs64B4+i+^E zQ%;;@D)6C->k~!!A^y>UXR?d4b~`j06DFGI-JR*-PDNJgUe)|9YO#2Bxg@?WB2*7! zql#&9XnkwEjOeTe15KZERPsLGVxPJ_ts%Ng!zLLAPb;!Qm#V^t{Aeh5rItr)IHaXm zPJLPobbmWr1y+Dt?8)QR{#+_k2mTy+!9lJMoySkBb^T^ zmw!G&jU?ci^zP@wbch4*aK$!?Ic} zrMQjeE6UV|W>Fa)m|5%aCqO#7{QZNm|C;s(S+$#wr#d7@Le21<=78ig4Xp&ZQT6k+j?QY#{(`9VCobiqW8RwF-5a$D(b1=#JK z)asTkt&j|tdW{=OjVSEv!$oV$1U}v{H%bvVHg8G`zBGIr=r|`+Ajdvj!SV zkdY0csn<$0l9Um;jENC|c}*FZIL_bXWeIm9m-_{|w6nd6q&pmhHW-8N7*QnYB)0kG zjh+u8SG$OMfGvbBVcx?9Q-kJa(Z$N-)`~>WX~?zSM|GK0P3kh3GdJl%VTSfBQHTY} zA3gt!Tt7s%iE!R`9aEb|oxu;brm=+5t ztJ(Tec4?!+YaJRfFg2QmXd;%RSdp4YR%9{TnaD-fpt>y0q9k5?f?2aEs8qRa2RXg% zUyy73FM7e)&S;@Xg2~eu%{$U^x9#amt}4j%q@QMlqTEqJct zLBV7;@|GV^A{$$dgVR^CRJYh*Vy`mQ=P0jD5DO}=Nml11N_RfgT|ii@BSs@ho0^FJ zDCN!7V)SfvqIKuB=y%oM5lXI0lQ@{cSS3uKJgUN~w1OVR&dKO`67;>NdmPfe4-PZn zpiLF`WAq?)q7?5NY^S6lgA5V=Vqrdw8Fy$Ms3J^hP6%xiK|5r7Q;E%JDUl=?-;-|# z)D$UBh(dkeuL#RBymoL@9eg^>Xs(D>=L|~cI@lak>47fEB9RJV6TMNadr>q+ zpwa@Mc|_w8`O)C%Xl;&4BuJMaDW*)Po+w$>7b;j?XBTV(MN_Z~P*=polquBHLA^X2j%?lci`A?tM}%4Z}MUgqaXEj|KwM3HDPd6{HC- zxtFJ@2h)O`4H5FSPa(hm7+aV}TZpVg>cZ6c<1p)ERfK5}Wwo;?TP1MiIk}54S?Mrw zW*ZT&B21&0$~2l`Ucuh8su-_4$N2k8UYYn7ZcIafoJ-W4JL8>Ui|G9joF|VwD}_U5#?KvU%i6AKC{Tg-Pj}= zrhi6~s%pfJ&0R!KD6^ov9r?|R`0GdOqBUa?BA#?ZUeG3h4ykb;3U&+f^VP)bg5a*6G&jV6w?qss-tv2d|Jj~V-8X;^5w z8SsYuf(|EStBQn>I})(uBnvtpy?)u^#T+znA=(mDl?r%A&@&D9an=j)y~Tann82|GbUb+>+er5LFFvXqY`ECcGu6Hr7ipFCm!z z#N~gCL~}J@%SrDHjrp5kB+=^;^QBV4rz=s5_g6Wd0K`FkcUDVNCat33%u8$C))7?E z7z)P}y-T>l2eKbX)=`2TSiP$_5bzF6x0I6}Oc;e5&>0`wU7FusH{6gMQJYm>wI|x) z;tKw3I*qBsf4mrj8Bk~Q5==MpPE)4N&HuwSUT}%c*}E$;FQ+-YJ1w<6{a{4Vo@h43 z#vmE^GMEBkqH{yon6D&mV=yky=F<%joI+p86^WRi}$X`!bh!116o* z(h6N912WL(am68jglAX9nU^%DHgr@3P!BiOrv|FOKp7bdy=qA=HrADG(CLJg8Wot6 zRP53zL5-@j)m)%PmVA@e$1YC9Sg$Q7zpsMiLm544FHqnWTG*r=y%6cGt!6QGkNE6z zQlTv)&1zA23mbEvN!tRGZW=sdEA1c~W)B68_Jyro^UPhy{|- zXcQz&w(w-KH9nv)O%+FEX7xbSGno`LM)XSwJAB~6`SnNEtxU|l?0&@rA)rv?@hb8( zS$UFEy`{<6mPd~fe@_iKi0V<8iJMC7_7x>Nb{<>5Zm22DZJAnx7U`;1a)DM>=c~{l zgy|}T#(`+fF%%by^%^H`vTI>k087fi`6D%nFLN3RM{t4XKajkrqApPJO+YN%)0+=y zDYezjUF9Aq(c)rXk+S*x*_vGD>~f=pmo?b75NFCX`l_Tzg&h!vfzh@{Yg=>wrlG@! zv=mvOEg3klt}U1O1@cDHg!qGdh#_AY!%njbx@7j$3RMnAu^>uasA=;GKA2kjp-o3}87qW6xHyj%;`-d(BfGoB zZSiZCu0$?QOD%t$-MB!@FC`n#(HR4WLc!S1Mtr=Ptm9k(%7`S^25{=hX^wEvc0mXx ztkF|vK~OmDwv~0_`pi12jJst&c1&#tV$_}S?+2>cYS#(^-Fj+&7$lgwfTs(vPGm<# zx14rsVb3#JU9FL|;0ffODA5W_$-rP6MWYZq`vbfCaD65#Q3m5UI7Qv5X5JX_-_O6& zijkCo!5WAyT+?voMWFgLHTK2JzB0Lv!O>1>a@Cs?*V{$m)b2Y`a~Wi@2by_xCu44? zF<*9f%h?o7U7R3?S4e2uxI!FG`_A)}+~qQRqMa9k`dk0<)L-RA$=wq@iRJNT?l{jK z(u%~Ha_TG*!Y)IsiKrnH>mLiKmuGq6M)N7pQ=6y_7CHl6pP(62aN7luW((7z9qZc! z`VDM3wP@kQ(Gw{n%2zl$qTSTVjGeYKNJDy zO@I265O?bzbkrtG#1uZ|ho&hTIEa5<2QoMX3fr_o3eJ*KD`}b%LIIr2Z2VFyllIET&kqFcN)jA@6x_8>x4z?giS#6%1ti&N@bhD-JLPj2} zC`N)O%x&!wacVb{Ji%=<2?|FBiWf*eW^M(fFHEZ0eu=(2j>h3_u|XAO2wQo1{|>1z zSDYB)-q;>>O=2_!r71}Ac#m+x+dh=5MHOdsb|WSS9Y~Ri(|)3coA$-m!s?8cdX59X zj3>{}U>wM$!h|wA_7vnHrG%OjQlpACvtW&jPZ-CmX~tFB zqAx~EHMAug7XQy&8lf$$(5 znxV<}2S^tnztOW1k<2Vw?wbY>e7 zBmQtQXdL6hWZCkhJmJZ8JKF*@rqFa(AEjkTaHY~(9xo!ndQ4{4jbX)^)q< zc1pEd`%ZjgP)9!|>V#)3h?|~71l>#Q!#HGN3DB7c2lCv|yaZP*L2~#^IhV^?)3m0y zh&*eK!{nI7;R#E4#hssl@kkeNWqlgFwF0gCO6vMNbbu8LoTtDK6A^|VyF3^Ai%ycE@_w zl&h>fpht8rHfATwHHwZ}ejF`Dn?@V^!r>chJ0Q&weY9gJ%so^AyOIM&dc{#Zu8BvU z32m?-t;#x@T8<8n>AY%&ptki}B~|~o{G%Qk=@;F(pp`Wy(xeb2CjjM}EpE1&$0E7)4lTy~S z?<2e|c}*y`mUkA7PHrd5F~XI>;`4^lV^PsXt#Ge%;^EB_wjJyTSj@J!p`u;Hmb83M zmZLwDu?cdrwHldwq~E4;Y1ls?EK7I=zTBMN0K?P}W3tn!`;0eKY>VcK+$yk0-JH*Ee-b3!=euYqCGXsdRNz4;9V0VfD+H1 zg9!sS(jAB0I0qEl*}$_fQ6@XfM?slMTb?X!Tm7jW8F&kOP()HJ900?H1}|*nJgKu| zzuSf4;;$8qaytLVgr#q5%kiv? zh2(+pg6wV>DTM8<#pSjQo!!6w-1!R!+T67n7vEmS>gC3;@#V3;6g3kW%)Vh&~`mFL7 zsxtQM$*2e_ifE`yD$C3{Y2&HJ=Eb`Ac84gHdx>yFs|E94*R;&-z46UkjwWTNA3vDf z*^yOVUS2qo-hCRR9Xp_v(nj5w>=-vO$LNTjrS$|4VSI5AA-ujC;p+*IJX^J6cSLhH&=jgO z^9|y&Sm1Ubc&wYw0{P&geMuQaOdLc2y5NEqko~&=Jn55FLT;IhONe^|`q%~nk?($H3{Os% zNpADQaX!P)s1eqw!E>mjFH^i)Afd9!Sy#|mLC}K}|KwYKKrTJo$J;W6P^g&3w1&~$y*WPPLZDZpP`7Lshdwj;7&@~G8O+9;Qb;yf!{_$a2%-E^-gX!jbxM%4t5=n@pN09pxQ9*P;B|!;|lyI_W=V`93vc;Xv?fBt#e1NX3^oa%F<$-R@OOq%UGXQJPPdnWizoZ~xt(v->f`rMS8a#L=~O}QyI b#hdc~>$nMeT^&0Q00000NkvXXu0mjf4#Bxy diff --git a/media/items/new/generic-chestplate.png b/media/items/new/generic-chestplate.png index 60aab35c08be6defb7153698816907fcc65af2d8..1231eae5a314461da1c07fe5d29e306698d266e1 100644 GIT binary patch literal 3411 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 literal 8624 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 DGMKO_ diff --git a/media/items/new/generic-helmet.png b/media/items/new/generic-helmet.png index ad3fd8287526a0064f611ad3b642ea3e4f1a5948..e8230b0dfb384a178dd412b5d41410ef44ad01f5 100644 GIT binary patch literal 3417 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 literal 8042 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 diff --git a/media/items/new/generic-leggings.png b/media/items/new/generic-leggings.png index 856a5fca398fc644fbf0cf4aa60aae9c91c2d42d..845fa016a14db630780334f2a19fac5bf5bf60aa 100644 GIT binary patch literal 3206 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 s6X;*$77p3+Y`x>kq;6Q4)K3L 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 diff --git a/media/items/new/generic-necklace.png b/media/items/new/generic-necklace.png index 1dd57f2062dbe9b9d27ed935bc06a918301f9da8..bbaa89f0a60a4b36efd6d384f59c16649ea3fea5 100644 GIT binary patch literal 3625 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 literal 8010 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 diff --git a/media/items/new/generic-relik.png b/media/items/new/generic-relik.png index b64c4e53edb69a402cce64b0511ef65e30c301b3..ae690ba1039ad79749fc38e8d9bcc5ce90341bc3 100644 GIT binary patch literal 3378 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 diff --git a/media/items/new/generic-ring.png b/media/items/new/generic-ring.png index edf1d19b07926055027a7d9551ca6445ae08db74..b9100216ce83f3801b882a29828a3558b9c7aaa9 100644 GIT binary patch literal 3770 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 literal 8360 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 diff --git a/media/items/new/generic-spear.png b/media/items/new/generic-spear.png index 74a6321a7e9ee1e667607e8133f3b57e89761746..89c46ab707c730a0f5801929adcf2db95e8c8e7d 100644 GIT binary patch literal 2561 zcmV+c3jXzpP)Px&08mU+MMrQ<1OoyQ5fCsiFuJRn`StKsK`U26EC6h0 z0000~KPnX!6;eJa1_T2O2nHb`A-t}gQBhGYA{Ksrehmr+KtMnyCME`HV=EvPx2Tv6 z4Gl{;B{elQM>ZrdBo_c^V*qMpO*$qD3JL&ZUtwWkaBy%51_VSiBD<`c_w(&39uyG` z2qqm900jkkd3jGfC?p#aBN`D!G$TbtMK&oL1_cFLT3P^JSvxEpDJdzorj`f>13peY z_3-NW^zJbw7&t2&02C7t3kOIyBmfBs9UUD&FdwFwih*`&1!`p1&B65V=~+ZB!?mUG z>*O^j8UPj*06{(*6b%pz2N@C!08UC24+<6#3mp~?03IC~7Zm_vT>uRXuc46)3kf

dd?dJexVE{=*05viv9uxo? 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 V?r-G#_e2E%ZFK{+8Wo4w{{yN#zlHz+ diff --git a/media/items/new/generic-wand.png b/media/items/new/generic-wand.png index 95383756f08818d015782bcf75ef0990518d28ba..cfebab9b5b8239e4a8dd5faa220c7333faff7e72 100644 GIT binary patch literal 2945 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 literal 6060 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 Date: Sat, 16 Jul 2022 19:43:13 -0700 Subject: [PATCH 4/7] Condense some code in `display.js` to use `make_elem` --- js/display.js | 46 ++++++++++++++++------------------------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/js/display.js b/js/display.js index 5235cbf..85062cc 100644 --- a/js/display.js +++ b/js/display.js @@ -5,13 +5,10 @@ function apply_elemental_format(p_elem, id, suffix) { let parts = idPrefixes[id].split(/ (.*)/); let element_prefix = parts[0]; let desc = parts[1]; - let i_elem = document.createElement('span'); - i_elem.classList.add(element_prefix); - i_elem.textContent = element_prefix; + let i_elem = make_elem('span', [element_prefix], {textContent: element_prefix}); p_elem.appendChild(i_elem); - let i_elem2 = document.createElement('span'); - i_elem2.textContent = " " + desc + suffix; + let i_elem2 = make_elem('span', {textContent: " "+desc+suffix}); p_elem.appendChild(i_elem2); } @@ -19,17 +16,14 @@ function displaySetBonuses(parent_id,build) { setHTML(parent_id, ""); let parent_div = document.getElementById(parent_id); - let set_summary_elem = document.createElement('p'); - set_summary_elem.classList.add('text-center'); - set_summary_elem.textContent = "Set Bonuses"; + let set_summary_elem = make_elem('p', ['text-center'], {textContent: "Set Bonuses"}); parent_div.append(set_summary_elem); for (const [setName, count] of build.activeSetCounts) { const active_set = sets.get(setName); if (active_set["hidden"]) { continue; } - let set_elem = document.createElement('p'); - set_elem.id = "set-"+setName; + let set_elem = make_elem('p', [], {id: "set-"+setName}); set_summary_elem.append(set_elem); const bonus = active_set.bonuses[count-1]; @@ -111,36 +105,28 @@ function displayBuildStats(parent_id,build,command_group,stats){ } displayFixedID(parent_div, id, id_val, elemental_format, style); if (id === "poison" && id_val > 0) { - let row = document.createElement('div'); - row.classList.add("row") - let value_elem = document.createElement('div'); - value_elem.classList.add('col'); - value_elem.classList.add('text-end'); + let row = make_elem('div', ['row']); + let value_elem = make_elem('div', ['col', 'text-end']); - let prefix_elem = document.createElement('b'); - prefix_elem.textContent = "\u279C With Strength: "; - let number_elem = document.createElement('b'); - number_elem.classList.add(style); - number_elem.textContent = (id_val * (1+skillPointsToPercentage(stats.get('str'))) ).toFixed(0) + idSuffixes[id]; + let prefix_elem = make_elem('b', [], {textContent: "\u279C With Strength: "}); + let number_elem = make_elem('b', [style], { + textContent: (id_val * (1+skillPointsToPercentage(stats.get('str'))) ).toFixed(0) + idSuffixes[id] + }); value_elem.append(prefix_elem); value_elem.append(number_elem); row.appendChild(value_elem); parent_div.appendChild(row); } else if (id === "ls" && id_val != 0) { - let row = document.createElement('div'); - row.classList.add("row") - let value_elem = document.createElement('div'); - value_elem.classList.add('col'); - value_elem.classList.add('text-end'); + let row = make_elem('div', ['row']); + let value_elem = make_elem('div', ['col', 'text-end']); - let prefix_elem = document.createElement('b'); - prefix_elem.textContent = "\u279C Effective LS: "; + let prefix_elem = make_elem('b', {textContent: "\u279C Effective LS: "}); let defStats = getDefenseStats(stats); - let number_elem = document.createElement('b'); - number_elem.classList.add(style); - number_elem.textContent = Math.round(defStats[1][0]*id_val/defStats[0]) + "/3s"; + let number_elem = ('b', [style], { + textContent: Math.round(defStats[1][0]*id_val/defStats[0]) + "/3s" + }); value_elem.append(prefix_elem); value_elem.append(number_elem); row.appendChild(value_elem); From 214883154574bc0036350d93d80fe30d85349220 Mon Sep 17 00:00:00 2001 From: hppeng Date: Sat, 16 Jul 2022 20:06:01 -0700 Subject: [PATCH 5/7] Fix display.js bugs, remove unused script imports --- builder/index.html | 2 +- builder/index_full.html | 3 --- js/display.js | 4 ++-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/builder/index.html b/builder/index.html index 308819f..ef49a12 100644 --- a/builder/index.html +++ b/builder/index.html @@ -1,2 +1,2 @@ - WynnBuilder

Join the discord today to suggest new features, submit bug reports, and hangout/talk to devs!
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Level:
Assign: 0
Original: 0
Assign: 0
Original: 0
Assign: 0
Original: 0
Assign: 0
Original: 0
Assign: 0
Original: 0
Active boosts
Earth
Thunder
Water
Fire
Air
Curse (Active)
Concentration (Passive)
Offense
Defense
Overall
melee
poison
Input a weapon to see abilities!

Made by hppeng, ferricles, and reschan with Atlas Inc (JavaScript required to function, nothing works without js)

Hard refresh the page (Ctrl+Shift+R on windows/chrome) if it isn't updating correctly.

+ WynnBuilder
Join the discord today to suggest new features, submit bug reports, and hangout/talk to devs!
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Level:
Assign: 0
Original: 0
Assign: 0
Original: 0
Assign: 0
Original: 0
Assign: 0
Original: 0
Assign: 0
Original: 0
Active boosts
Earth
Thunder
Water
Fire
Air
Curse (Active)
Concentration (Passive)
Offense
Defense
Overall
melee
poison
Input a weapon to see abilities!

Made by hppeng, ferricles, and reschan with Atlas Inc (JavaScript required to function, nothing works without js)

Hard refresh the page (Ctrl+Shift+R on windows/chrome) if it isn't updating correctly.

diff --git a/builder/index_full.html b/builder/index_full.html index a050f82..4b5bb41 100644 --- a/builder/index_full.html +++ b/builder/index_full.html @@ -1371,7 +1371,6 @@ - @@ -1385,8 +1384,6 @@ - - diff --git a/js/display.js b/js/display.js index 85062cc..00775ce 100644 --- a/js/display.js +++ b/js/display.js @@ -8,7 +8,7 @@ function apply_elemental_format(p_elem, id, suffix) { let i_elem = make_elem('span', [element_prefix], {textContent: element_prefix}); p_elem.appendChild(i_elem); - let i_elem2 = make_elem('span', {textContent: " "+desc+suffix}); + let i_elem2 = make_elem('span', [], {textContent: " "+desc+suffix}); p_elem.appendChild(i_elem2); } @@ -121,7 +121,7 @@ function displayBuildStats(parent_id,build,command_group,stats){ let row = make_elem('div', ['row']); let value_elem = make_elem('div', ['col', 'text-end']); - let prefix_elem = make_elem('b', {textContent: "\u279C Effective LS: "}); + let prefix_elem = make_elem('b', [], {textContent: "\u279C Effective LS: "}); let defStats = getDefenseStats(stats); let number_elem = ('b', [style], { From a89dd6e74111019fcc0058035a06596a3ad9f9e0 Mon Sep 17 00:00:00 2001 From: hppeng Date: Sat, 16 Jul 2022 20:40:24 -0700 Subject: [PATCH 6/7] Fix bug with gust not adding to ice snake damage directly --- js/atree_constants.js | 2 +- js/atree_constants_min.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/js/atree_constants.js b/js/atree_constants.js index a0606e2..c7e068e 100644 --- a/js/atree_constants.js +++ b/js/atree_constants.js @@ -5424,7 +5424,7 @@ const atrees = { "effects": [ { "type": "add_spell_prop", - "target_part": "Ice Snake", + "target_part": "Ice Snake Damage", "base_spell": 4, "multipliers": [0, 0, 0, 0, 0, 20] } diff --git a/js/atree_constants_min.js b/js/atree_constants_min.js index 7af351a..d0e122a 100644 --- a/js/atree_constants_min.js +++ b/js/atree_constants_min.js @@ -1 +1 @@ -const atrees={"Archer":[{"display_name":"Arrow Shield","desc":"Create a shield around you that deal damage and knockback mobs when triggered. (2 Charges)","parents":[60,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":6,"icon":"node_archer"},"properties":{"charges":2,"duration":60,"aoe":5000},"effects":[{"type":"replace_spell","name":"Arrow Shield","cost":30,"base_spell":4,"display":"Total Damage","parts":[{"name":"Shield Damage","type":"damage","multipliers":[90,0,0,0,0,10]},{"name":"Total Damage","type":"total","hits":{"Shield Damage":2}}]}],"id":0},{"display_name":"Escape","desc":"Throw yourself backward to avoid danger. (Hold shift while escaping to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":7,"col":4,"icon":"node_archer"},"properties":{"aoe":0,"range":0},"effects":[{"type":"replace_spell","name":"Escape","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Arrow Bomb","desc":"Throw a long-range arrow that explodes and deal high damage in a large area. (Self-damage for 25% of your DPS)","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_archer"},"properties":{"aoe":4.5,"range":26},"effects":[{"type":"replace_spell","name":"Arrow Bomb","cost":50,"base_spell":3,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Arrow Bomb","type":"damage","multipliers":[160,0,0,0,20,0]},{"name":"Total Damage","type":"total","hits":{"Arrow Bomb":1}}]}],"id":2},{"display_name":"Heart Shatter","desc":"If you hit a mob directly with Arrow Bomb, shatter its heart and deal bonus damage.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Heart Shatter":1}}],"id":3},{"display_name":"Fire Creep","desc":"Arrow Bomb will leak a trail of fire for 6s, Damaging enemies that walk into it every 0.4s.","base_abil":2,"parents":[68,39,5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":16,"col":6,"icon":"node_1"},"properties":{"aoe":0.8,"duration":6},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[30,0,0,0,20,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Burn Damage","hits":{"Fire Creep":15}}],"id":4},{"display_name":"Bryophyte Roots","desc":"When you hit an enemy with Arrow Storm, create an area that slows them down and deals damage every 0.4s.","base_abil":7,"archetype":"Trapper","archetype_req":1,"parents":[4,35],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":16,"col":8,"icon":"node_1"},"properties":{"aoe":2,"duration":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Bryophyte Roots","cost":0,"multipliers":[40,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Roots Damage","hits":{"Bryophyte Roots":12}}],"id":5},{"display_name":"Nimble String","desc":"Arrow Storm throw out +6 arrows per stream and shoot twice as fast.","base_abil":7,"parents":[36,69],"dependencies":[7],"blockers":[68],"cost":2,"display":{"row":15,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-15,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","hits":{"Single Arrow":6}}],"id":6},{"display_name":"Arrow Storm","desc":"Shoot a stream of 8 arrows, dealing significant damage to close mobs and pushing them back.","parents":[58,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":2,"icon":"node_archer"},"properties":{"range":16},"effects":[{"type":"replace_spell","name":"Arrow Storm","cost":40,"base_spell":1,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Single Arrow","multipliers":[30,0,10,0,0,0]},{"name":"Single Stream","hits":{"Single Arrow":8}},{"name":"Total Damage","hits":{"Single Stream":1}}]}],"id":7},{"display_name":"Guardian Angels","desc":"Your protective arrows from Arrow Shield will become sentient bows, dealing damage up to 8 times each to nearby enemies. (Arrow Shield will no longer push nearby enemies)","archetype":"Boltslinger","archetype_req":3,"base_abil":0,"parents":[59,67],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":19,"col":1,"icon":"node_3"},"properties":{"range":4,"duration":60,"shots":8,"charges":2},"effects":[{"type":"replace_spell","name":"Guardian Angels","base_spell":4,"display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[30,0,0,0,0,10]},{"name":"Single Bow","type":"total","hits":{"Single Arrow":8}},{"name":"Total Damage","type":"total","hits":{"Single Bow":2}}]}],"id":8},{"display_name":"Windy Feet","desc":"When casting Escape, give speed to yourself and nearby allies.","base_abil":1,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":1,"icon":"node_1"},"properties":{"aoe":8,"duration":120},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":9},{"display_name":"Basaltic Trap","desc":"When you hit the ground with Arrow Bomb, leave a Trap that damages enemies. (Max 2 Traps)","archetype":"Trapper","archetype_req":2,"parents":[5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":8,"icon":"node_3"},"properties":{"aoe":7,"traps":2},"effects":[{"type":"replace_spell","name":"Basaltic Trap","base_spell":7,"display":"Trap Damage","parts":[{"name":"Trap Damage","type":"damage","multipliers":[140,30,0,0,30,0]}]}],"id":10},{"display_name":"Windstorm","desc":"Arrow Storm shoot +1 stream of arrows, and each stream shoots +2 arrows, effectively doubling its damage.","base_abil":7,"parents":[8,33],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-10,0,-2,0,0,2]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","cost":0,"hits":{"Single Arrow":2}}],"id":11},{"display_name":"Grappling Hook","base_abil":1,"desc":"When casting Escape, throw a hook that pulls you when hitting a block. If you hit an enemy, pull them towards you instead. (Escape will not throw you backward anymore)","archetype":"Trapper","archetype_req":0,"parents":[61,40,33],"dependencies":[],"blockers":[20],"cost":2,"display":{"row":21,"col":5,"icon":"node_2"},"properties":{"range":26},"effects":[],"id":12},{"display_name":"Implosion","desc":"Arrow bomb will pull enemies towards you. If a trap is nearby, it will pull them towards it instead. Increase Heart Shatter's damage.","archetype":"Trapper","archetype_req":0,"base_abil":2,"parents":[12,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[40,0,0,0,0,0]}],"id":13},{"display_name":"Twain's Arc","desc":"When you have 2+ Focus, holding shift will summon the Twain's Arc. Charge it up to shoot a destructive long-range beam. (Damage is dealt as Main Attack Damage)","archetype":"Sharpshooter","archetype_req":4,"parents":[62,64],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_2"},"properties":{"range":64,"focusReq":2},"effects":[{"type":"replace_spell","name":"Twain's Arc","base_spell":5,"scaling":"melee","use_atkspd":false,"display":"Single Shot","parts":[{"name":"Single Shot","type":"damage","multipliers":[200,0,0,0,0,0]}]}],"id":14},{"display_name":"Fierce Stomp","desc":"When using Escape, hold shift to quickly drop down and deal damage.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[42,64],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Fierce Stomp","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","cost":0,"hits":{"Fierce Stomp":1},"display":"Stomp Damage"}],"id":15},{"display_name":"Scorched Earth","desc":"Fire Creep become much stronger.","archetype":"Sharpshooter","archetype_req":0,"parents":[14],"dependencies":[4],"blockers":[],"cost":1,"display":{"row":26,"col":5,"icon":"node_1"},"properties":{"duration":2,"aoe":0.4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[10,0,0,0,5,0]}],"id":16},{"display_name":"Leap","desc":"When you double tap jump, leap foward. (2s Cooldown)","archetype":"Boltslinger","archetype_req":5,"parents":[42,55],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_1"},"properties":{"cooldown":2},"effects":[],"id":17},{"display_name":"Shocking Bomb","desc":"Arrow Bomb will not be affected by gravity, and all damage conversions become Thunder.","archetype":"Sharpshooter","archetype_req":5,"base_abil":2,"parents":[14,44,55],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":28,"col":4,"icon":"node_1"},"properties":{"gravity":0},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":3,"conversion":"Thunder"}],"id":18},{"display_name":"Mana Trap","desc":"Your Traps will give you 2.85 Mana per second when you stay close to them.","archetype":"Trapper","archetype_req":5,"base_abil":10,"parents":[43,44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":8,"icon":"node_3"},"properties":{"range":16,"manaRegen":2.85},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":10}],"id":19},{"display_name":"Escape Artist","desc":"When casting Escape, release 120 arrows towards the ground.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[46,17],"dependencies":[],"blockers":[12],"cost":2,"display":{"row":31,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Per Arrow","multipliers":[20,0,10,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Max Damage (Escape Artist)","hits":{"Per Arrow":120},"display":"Max Damage (Escape Artist)"}],"id":20},{"display_name":"Initiator","desc":"If you do not damage an enemy for 5s or more, your next sucessful hit will deal +50% damage and add +1 Focus.","archetype":"Sharpshooter","archetype_req":5,"parents":[18,44,47],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":31,"col":5,"icon":"node_2"},"properties":{},"effects":[],"id":21},{"display_name":"Call of the Hound","desc":"Arrow Shield summon a Hound that will attack and drag aggressive enemies towards your traps.","archetype":"Trapper","archetype_req":0,"base_abil":0,"parents":[21,47],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Hound Damage","multipliers":[40,0,0,0,0,0]}],"id":22},{"display_name":"Arrow Hurricane","desc":"Arrow Storm will shoot +2 stream of arrows.","archetype":"Boltslinger","archetype_req":8,"base_abil":7,"parents":[48,20],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":33,"col":0,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":2}}],"id":23},{"display_name":"Geyser Stomp","desc":"Fierce Stomp will create geysers, dealing more damage and vertical knockback.","base_abil":1,"parents":[56],"dependencies":[15],"blockers":[],"cost":2,"display":{"row":37,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Geyser Stomp","multipliers":[0,0,0,50,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","hits":{"Geyser Stomp":1}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":15,"name":"aoe","value":1}]}],"id":24},{"display_name":"Crepuscular Ray","desc":"If you have 5 Focus, casting Arrow Storm will make you levitate and shoot 20 homing arrows per second until you run out of Focus. While in that state, you will lose 1 Focus per second.","archetype":"Sharpshooter","archetype_req":10,"parents":[49],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":37,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Crepuscular Ray","base_spell":6,"display":"DPS","parts":[{"name":"Single Arrow","multipliers":[20,0,0,5,0,0]},{"name":"DPS","hits":{"Single Arrow":20}},{"name":"Total Damage","hits":{"DPS":7}}]}],"id":25},{"display_name":"Grape Bomb","desc":"Arrow bomb will throw 3 additional smaller bombs when exploding.","base_abil":2,"parents":[51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":37,"col":7,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Grape Bomb","multipliers":[30,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Grape Bomb":3}}],"id":26},{"display_name":"Tangled Traps","desc":"Your Traps will be connected by a rope that deals damage to enemies every 0.2s.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":38,"col":6,"icon":"node_1"},"properties":{"attackSpeed":0.2},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Line Damage Tick","multipliers":[20,0,0,0,0,20]},{"type":"add_spell_prop","base_spell":7,"target_part":"DPS","hits":{"Line Damage Tick":5}}],"id":27},{"display_name":"Snow Storm","desc":"Enemies near you will be slowed down.","parents":[24,63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":39,"col":2,"icon":"node_2"},"properties":{"range":2.5,"slowness":0.3},"effects":[],"id":28},{"display_name":"All-Seeing Panoptes","desc":"Your bows from Guardian Angels become all-seeing, increasing their range, damage and letting them shoot up to +5 times each.","archetype":"Boltslinger","archetype_req":11,"base_abil":0,"parents":[28],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":40,"col":1,"icon":"node_3"},"properties":{"range":8,"shots":5},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Arrow","multipliers":[0,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":5}}],"id":29},{"display_name":"Minefield","desc":"Allow you to place +6 Traps, but with reduced damage and range.","archetype":"Trapper","archetype_req":10,"base_abil":10,"parents":[26,53],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":40,"col":7,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Trap Damage","cost":0,"multipliers":[-80,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"aoe","value":-2},{"type":"prop","abil":10,"name":"traps","value":6}]}],"id":30},{"display_name":"Bow Proficiency I","desc":"Improve your Main Attack's damage and range when using a bow.","base_abil":999,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[5,0,0,0,0,0]}],"id":31},{"display_name":"Cheaper Arrow Bomb","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":32},{"display_name":"Cheaper Arrow Storm","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[12,11,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":21,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":33},{"display_name":"Cheaper Escape","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[7,0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":34},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Trapper","archetype_req":0,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":35},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7,39,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":36},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[34,36,39],"dependencies":[],"blockers":[],"cost":1,"display":{"row":14,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":37},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":38},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[36,0,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":39},{"display_name":"More Shields","desc":"Give +2 charges to Arrow Shield.","base_abil":0,"parents":[12,10],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":21,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Shield Damage":2,"Single Bow":2}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"charges","value":2}]}],"id":40},{"display_name":"Stormy Feet","desc":"Windy Feet will last longer and add more speed.","archetype":"Boltslinger","base_abil":1,"parents":[11],"dependencies":[9],"blockers":[],"cost":1,"display":{"row":23,"col":1,"icon":"node_0"},"properties":{"duration":60},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spdPct","value":20}]}],"id":41},{"display_name":"Refined Gunpowder","desc":"Increase the damage of Arrow Bomb.","base_abil":2,"parents":[11,64],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Bomb","multipliers":[50,0,0,0,0,0]}],"id":42},{"display_name":"More Traps","desc":"Increase the maximum amount of active Traps you can have by +2.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[54],"dependencies":[10],"blockers":[],"cost":1,"display":{"row":26,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"traps","value":2}]}],"id":43},{"display_name":"Better Arrow Shield","desc":"Arrow Shield will gain additional area of effect, knockback and damage.","archetype":"Sharpshooter","archetype_req":0,"base_abil":0,"parents":[19,18,14],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":28,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Shield","behavior":"modify","multipliers":[40,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"behavior":"modify","name":"aoe","value":1}]}],"id":44},{"display_name":"Better Leap","desc":"Reduce leap's cooldown by 1s.","archetype":"Boltslinger","archetype_req":0,"base_abil":17,"parents":[17,55],"dependencies":[17],"blockers":[],"cost":1,"display":{"row":29,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":17,"name":"cooldown","value":-1}]}],"id":45},{"display_name":"Better Guardian Angels","desc":"Your Guardian Angels can shoot +4 arrows before disappearing.","archetype":"Boltslinger","archetype_req":0,"base_abil":0,"parents":[20,55],"dependencies":[8],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":4}}],"id":46},{"display_name":"Cheaper Arrow Storm (2)","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[21,19],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":47},{"display_name":"Precise Shot","desc":"+30% Critical Hit Damage","parents":[46,49,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":48},{"display_name":"Cheaper Arrow Shield","desc":"Reduce the Mana cost of Arrow Shield.","base_abil":0,"parents":[48,21],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":49},{"display_name":"Rocket Jump","desc":"Arrow Bomb's self-damage will knockback you farther away.","base_abil":2,"parents":[47,21],"dependencies":[2],"blockers":[],"cost":1,"display":{"row":33,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":50},{"display_name":"Cheaper Escape (2)","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[22,70],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":51},{"display_name":"Stronger Hook","desc":"Increase your Grappling Hook's range, speed and strength.","archetype":"Trapper","archetype_req":5,"base_abil":1,"parents":[51],"dependencies":[12],"blockers":[],"cost":1,"display":{"row":35,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":12,"name":"range","value":8}]}],"id":52},{"display_name":"Cheaper Arrow Bomb (2)","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[63,30],"dependencies":[],"blockers":[],"cost":1,"display":{"row":40,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":53},{"display_name":"Bouncing Bomb","desc":"Arrow Bomb will bounce once when hitting a block or enemy","base_abil":2,"parents":[40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":7,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Homing Shots","desc":"Your Main Attack arrows will follow nearby enemies and not be affected by gravity","archetype":"Sharpshooter","base_abil":999,"parents":[17,18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_2"},"properties":{},"effects":[],"id":55},{"display_name":"Shrapnel Bomb","desc":"Arrow Bomb's explosion will fling 15 shrapnel, dealing damage in a large area","archetype":"Boltslinger","archetype_req":8,"base_abil":2,"parents":[23,48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Shrapnel Bomblet","multipliers":[40,0,0,0,20,0]}],"id":56},{"display_name":"Elusive","desc":"If you do not get hit for 8+ seconds, become immune to self-damage and remove Arrow Storm's recoil. (Dodging counts as not getting hit)","archetype":"Boltslinger","archetype_req":0,"parents":[24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":38,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"Double Shots","desc":"Double Main Attack arrows, but they deal -30% damage per arrow (harder to hit far enemies)","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[60],"cost":1,"display":{"row":7,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-30,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":2},"display":"Total Damage"}],"id":58},{"display_name":"Triple Shots","desc":"Triple Main Attack arrows, but they deal -20% damage per arrow","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[69,67],"dependencies":[58],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-20,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":1},"display":"Total Damage"}],"id":59},{"display_name":"Power Shots","desc":"Main Attack arrows have increased speed and knockback","archetype":"Sharpshooter","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[58],"cost":1,"display":{"row":7,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":60},{"display_name":"Focus","desc":"When hitting an aggressive mob 5+ blocks away, gain +1 Focus (Max 3). Resets if you miss once","archetype":"Sharpshooter","archetype_req":2,"parents":[68],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","output":{"type":"stat","name":"damMult.Focus"},"scaling":[40],"slider_max":3}],"id":61},{"display_name":"More Focus","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[33,12],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":62},{"display_name":"More Focus (2)","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[25,28],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":39,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":63},{"display_name":"Traveler","desc":"For every 1% Walk Speed you have from items, gain +1 Raw Spell Damage (Max 100)","parents":[42,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"spd"}],"output":{"type":"stat","name":"sdRaw"},"scaling":[1],"max":100}],"id":64},{"display_name":"Patient Hunter","desc":"Your Traps will deal +20% more damage for every second they are active (Max +80%)","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[40],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":8,"icon":"node_1"},"properties":{"max":80},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4,"output":{"type":"stat","name":"damMult.Basaltic:7.Trap Damage"},"slider_step":1,"scaling":[20]}],"id":65},{"display_name":"Stronger Patient Hunter","desc":"Add +80% Max Damage to Patient Hunter","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[65],"blockers":[],"cost":1,"display":{"row":38,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4},{"type":"raw_stat","bonuses":[{"type":"prop","abil":65,"name":"max","value":80}]}],"id":66},{"display_name":"Frenzy","desc":"Every time you hit an enemy, briefly gain +6% Walk Speed (Max 200%). Decay -40% of the bonus every second","archetype":"Boltslinger","archetype_req":0,"parents":[59,6],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","output":{"type":"stat","name":"spd"},"scaling":[6],"max":160}],"id":67},{"display_name":"Phantom Ray","desc":"Condense Arrow Storm into a single ray that damages enemies 10 times per second","base_abil":7,"parents":[37,4],"dependencies":[7],"blockers":[11,6,23],"cost":2,"display":{"row":16,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"replace_spell","name":"Phantom Ray","base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[25,0,5,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Arrow":16}}]},{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":68},{"display_name":"Arrow Rain","desc":"When Arrow Shield loses its last charge, unleash 150 arrows raining down on enemies","base_abil":0,"parents":[6,38],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":15,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Per Arrow)","multipliers":[80,0,0,0,0,60]},{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Total)","hits":{"Arrow Rain (Per Arrow)":150}}],"id":69},{"display_name":"Decimator","desc":"Phantom Ray will increase its damage by 10% everytime you do not miss with it (Max 70%)","archetype":"Sharpshooter","archetype_req":0,"base_abil":7,"parents":[49,51],"dependencies":[68],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Phantom Ray hits","slider_max":7,"output":{"type":"stat","name":"damMult.Decimator:1.Single Arrow"},"scaling":[10]}],"id":70}],"Warrior":[{"display_name":"Bash","desc":"Violently bash the ground, dealing high damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_warrior"},"properties":{"aoe":4,"range":3},"effects":[{"type":"replace_spell","name":"Bash","cost":45,"base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Hit","type":"damage","multipliers":[130,20,0,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Hit":1}}]}],"id":0},{"display_name":"Spear Proficiency 1","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":1},{"display_name":"Cheaper Bash","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":2},{"display_name":"Double Bash","desc":"Bash will hit a second time at a farther range","parents":[1],"base_abil":0,"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{"range":3},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","cost":0,"hits":{"Single Hit":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","cost":0,"multipliers":[-50,0,0,0,0,0]}],"id":3},{"display_name":"Charge","desc":"Charge forward at high speed (hold shift to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_warrior"},"properties":{},"effects":[{"type":"replace_spell","name":"Charge","cost":25,"base_spell":2,"spell_type":"damage","scaling":"spell","display":"","parts":[]}],"id":4},{"display_name":"Heavy Impact","desc":"After using Charge, violently crash down into the ground and deal damage","base_abil":4,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Heavy Impact","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Heavy Impact":1}}],"id":5},{"display_name":"Vehement","desc":"For every 1% or 1 Raw Main Attack Damage you have from items, gain +2% Walk Speed (Max 20%)","archetype":"Fallen","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[7],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"mdPct"},{"type":"stat","name":"mdRaw"}],"output":{"type":"stat","name":"spd"},"scaling":[2,2],"max":20}],"id":6},{"display_name":"Tougher Skin","desc":"Harden your skin and become permanently +5% more resistant. For every 1% or 1 Raw Heath Regen you have from items, gain +10 Health (Max 100)","archetype":"Paladin","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[6],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]},{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hprRaw"},{"type":"stat","name":"hprPct"}],"output":{"type":"stat","name":"hpBonus"},"scaling":[10,10],"max":100}],"id":7},{"display_name":"Uppercut","desc":"Rocket enemies in the air and deal massive damage","parents":[6,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_warrior"},"properties":{"aoe":3,"range":5},"effects":[{"type":"replace_spell","name":"Uppercut","cost":45,"base_spell":3,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Uppercut","multipliers":[200,40,40,0,0,0]},{"name":"Total Damage","hits":{"Uppercut":1}}]}],"id":8},{"display_name":"Cheaper Charge","desc":"Reduce the Mana cost of Charge","base_abil":4,"parents":[8,10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":9},{"display_name":"War Scream","desc":"Emit a terrorizing roar that deals damage, pull nearby enemies, and add damage resistance to yourself and allies","parents":[7,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_warrior"},"properties":{"duration":30,"aoe":12,"defense_bonus":10},"effects":[{"type":"replace_spell","name":"War Scream","cost":35,"base_spell":4,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"War Scream","multipliers":[50,0,0,0,50,0]},{"name":"Total Damage","hits":{"War Scream":1}}]}],"id":10},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases base damage from all Earth attacks","archetype":"Fallen","archetype_req":0,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":11},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases base damage from all Thunder attacks","archetype":"Fallen","archetype_req":0,"parents":[8,14,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":12},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases base damage from all Water attacks","archetype":"Battle Monk","archetype_req":0,"parents":[9,12,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":13},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Battle Monk","archetype_req":0,"parents":[10,12,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":14},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Paladin","archetype_req":0,"parents":[10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":15},{"display_name":"Quadruple Bash","desc":"Bash will hit 4 times at an even larger range","archetype":"Fallen","archetype_req":0,"base_abil":0,"parents":[11,17],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{"range":6},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Hit":2}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[-20,0,0,0,0,0]}],"id":16},{"display_name":"Fireworks","desc":"Mobs hit by Uppercut will explode mid-air and receive additional damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[12,16],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fireworks","multipliers":[80,0,20,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Fireworks":1}}],"id":17},{"display_name":"Half-Moon Swipe","desc":"Uppercut will deal a footsweep attack at a longer and wider angle. All elemental conversions become Water","archetype":"Battle Monk","archetype_req":1,"base_abil":8,"parents":[13],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{"range":4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":-10,"multipliers":[-70,0,0,30,0,0]}],"id":18},{"display_name":"Flyby Jab","desc":"Damage enemies in your way when using Charge","base_abil":4,"parents":[14,20],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":6,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flyby Jab","multipliers":[20,0,0,0,0,40]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Flyby Jab":1}}],"id":19},{"display_name":"Flaming Uppercut","desc":"Uppercut will light mobs on fire, dealing damage every 0.6 seconds","archetype":"Paladin","archetype_req":0,"base_abil":8,"parents":[15,19],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":12,"col":8,"icon":"node_1"},"properties":{"duration":3,"tick":0.6},"effects":[{"type":"replace_spell","name":"Flaming Uppercut","base_spell":8,"display":"DPS","parts":[{"name":"Damage Tick","multipliers":[0,0,0,0,50,0]},{"name":"DPS","hits":{"Damage Tick":1.6666666666666667}},{"name":"Total Damage","hits":{"Damage Tick":5}}]}],"id":20},{"display_name":"Iron Lungs","desc":"War Scream deals more damage","archetype":"Paladin","archetype_req":0,"base_abil":10,"parents":[19,20],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"War Scream","cost":0,"multipliers":[30,0,0,0,0,30]}],"id":21},{"display_name":"Generalist","desc":"After casting 3 different spells in a row, your next spell will cost 5 mana","archetype":"Battle Monk","archetype_req":3,"parents":[23],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":2,"icon":"node_3"},"properties":{},"effects":[],"id":22},{"display_name":"Counter","desc":"When dodging a nearby enemy attack, get 30% chance to instantly attack back","archetype":"Battle Monk","archetype_req":0,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_1"},"properties":{"chance":30},"effects":[{"type":"replace_spell","name":"Counter","base_spell":5,"display":"Counter Damage","parts":[{"name":"Counter Damage","multipliers":[60,0,20,0,0,20]}]}],"id":23},{"display_name":"Mantle of the Bovemists","desc":"When casting War Scream, create a holy shield around you that reduces all incoming damage by 70% for 3 hits (20s cooldown)","archetype":"Paladin","archetype_req":3,"parents":[21],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"mantle_charge":3},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Mantle","value":70}]}],"id":24},{"display_name":"Bak'al's Grasp","desc":"After casting War Scream, become Corrupted (15s Cooldown). You cannot heal while in that state. While Corrupted, every 2% of Health you lose will add +4 Raw Damage to your attacks (Max 120)","archetype":"Fallen","archetype_req":2,"parents":[16,17],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":16,"col":1,"icon":"node_3"},"properties":{"cooldown":15},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","slider_max":100,"slider_step":1,"output":{"type":"stat","name":"damRaw"},"max":120,"scaling":[2]}],"id":25},{"display_name":"Spear Proficiency 2","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[25,27],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":26},{"display_name":"Cheaper Uppercut","desc":"Reduce the Mana Cost of Uppercut","base_abil":8,"parents":[26,28,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":27},{"display_name":"Aerodynamics","desc":"During Charge, you can steer and change direction","archetype":"Battle Monk","archetype_req":0,"base_abil":4,"parents":[27,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":28},{"display_name":"Provoke","desc":"Mobs damaged by War Scream will target only you for at least 5s. Reduce the Mana cost of War Scream","base_abil":10,"parents":[28,24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":29},{"display_name":"Precise Strikes","desc":"+30% Critical Hit Damage","parents":[27,26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":18,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":30},{"display_name":"Air Shout","desc":"War Scream will fire a projectile that can go through walls and deal damage multiple times","base_abil":10,"parents":[28,29],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":18,"col":6,"icon":"node_1"},"properties":{"attackRate":2},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Air Shout","multipliers":[40,0,0,0,0,10]}],"id":31},{"display_name":"Enraged Blow","desc":"While Corriupted, every 1% of Health you lose will increase your damage by +3% (Max 300%)","archetype":"Fallen","archetype_req":0,"base_abil":25,"parents":[26],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":20,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider_name":"Corrupted","slider":true,"output":{"type":"stat","name":"damMult.Enraged"},"scaling":[3]}],"id":32},{"display_name":"Flying Kick","desc":"When using Charge, mobs hit will halt your momentum and get knocked back","archetype":"Battle Monk","archetype_req":1,"base_abil":4,"parents":[27,34],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":3,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick","multipliers":[150,0,0,20,0,30]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Flying Kick":1},"display":"Flying Kick Max Damage"}],"id":33},{"display_name":"Stronger Mantle","desc":"Add +2 additional charges to Mantle of the Bovemists","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[35,33],"dependencies":[24],"blockers":[],"cost":1,"display":{"row":20,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":24,"name":"mantle_charge","value":2}]}],"id":34},{"display_name":"Manachism","desc":"If you receive a hit that's less than 5% of your max HP, gain 10 Mana (1s Cooldown)","archetype":"Paladin","archetype_req":3,"parents":[34,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":8,"icon":"node_2"},"properties":{"cooldown":1},"effects":[],"id":35},{"display_name":"Boiling Blood","desc":"Bash leaves a trail of boiling blood behind its first explosion, slowing down and damaging enemies above it every 0.4 seconds","base_abil":0,"parents":[32,37],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Boiling Blood","cost":0,"multipliers":[25,0,0,0,5,0]}],"id":36},{"display_name":"Ragnarokkr","desc":"War Scream become deafening, increasing its range and giving damage bonus to players","archetype":"Fallen","archetype_req":0,"base_abil":10,"parents":[36,33],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":2,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":10}],"id":37},{"display_name":"Ambidextrous","desc":"Increase your chance to attack with Counter by +30%","base_abil":23,"parents":[33,34,39],"dependencies":[23],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":23,"name":"chance","value":30}]}],"id":38},{"display_name":"Burning Heart","desc":"For every 100 Health Bonus you have from item IDs, gain +2% Fire Damage (Max 100%)","archetype":"Paladin","archetype_req":0,"parents":[38,40],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hpBonus"}],"output":{"type":"stat","name":"fDamPct"},"scaling":[0.02],"max":100}],"id":39},{"display_name":"Stronger Bash","desc":"Increase the damage of Bash","base_abil":0,"parents":[39,35],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[30,0,0,0,0,0]}],"id":40},{"display_name":"Intoxicating Blood","desc":"After leaving Corrupted, gain 2% of the health lost back for each enemy killed while Corrupted","archetype":"Fallen","archetype_req":5,"base_abil":25,"parents":[37,36],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":23,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":41},{"display_name":"Comet","desc":"After being hit by Fireworks, enemies will crash into the ground and receive more damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[37],"dependencies":[17],"blockers":[],"cost":2,"display":{"row":24,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Comet","cost":0,"multipliers":[80,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","cost":0,"hits":{"Comet":1}}],"id":42},{"display_name":"Collide","desc":"Mobs thrown into walls from Flying Kick will explode and receive additonal damage","archetype":"Battle Monk","archetype_req":4,"base_abil":4,"parents":[38,39],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":5,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Collide","cost":0,"multipliers":[150,0,0,0,50,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Collide":1}}],"id":43},{"display_name":"Rejuvenating Skin","desc":"Regain back 30% of the damage you take as healing over 30s","archetype":"Paladin","archetype_req":5,"parents":[39,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":44},{"display_name":"Uncontainable Corruption","desc":"Reduce the cooldown of Bak'al's Grasp by -5s, and increase the raw damage gained for every 2% of health lost by +1","base_abil":25,"parents":[36,46],"dependencies":[25],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"stat","name":"damRaw"},"scaling":[0.5]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":25,"name":"cooldown","value":-5}]}],"id":45},{"display_name":"Radiant Devotee","desc":"For every 4% Reflection you have from items, gain +1/5s Mana Regen (Max 10/5s)","archetype":"Battle Monk","archetype_req":1,"parents":[47,45],"dependencies":[],"blockers":[],"cost":1,"display":{"row":26,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","inputs":[{"type":"stat","name":"ref"}],"output":{"type":"stat","name":"mr"},"scaling":[0.25],"max":10}],"id":46},{"display_name":"Whirlwind Strike","desc":"Uppercut will create a strong gust of air, launching you upward with enemies (Hold shift to stay grounded)","archetype":"Battle Monk","archetype_req":5,"base_abil":8,"parents":[38,46],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":26,"col":4,"icon":"node_1"},"properties":{"range":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","multipliers":[0,0,0,0,0,50]}],"id":47},{"display_name":"Mythril Skin","desc":"Gain +5% Base Resistance and become immune to knockback","archetype":"Paladin","archetype_req":6,"parents":[44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]}],"id":48},{"display_name":"Armour Breaker","desc":"While Corrupted, losing 30% Health will make your next Uppercut destroy enemies' defense, rendering them weaker to damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[45,46],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":27,"col":1,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.ArmorBreaker","value":30}]}],"id":49},{"display_name":"Shield Strike","desc":"When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[48,51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"replace_spell","name":"Shield Strike","base_spell":6,"display":"Damage per Shield","parts":[{"name":"Damage per Shield","multipliers":[60,0,20,0,0,0]}]}],"id":50},{"display_name":"Sparkling Hope","desc":"Everytime you heal 5% of your max health, deal damage to all nearby enemies","archetype":"Paladin","archetype_req":0,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_2"},"properties":{"aoe":6},"effects":[{"type":"replace_spell","name":"Sparkling Hope","base_spell":7,"display":"Damage Tick","parts":[{"name":"Damage Tick","multipliers":[10,0,5,0,0,0]}]}],"id":51},{"display_name":"Massive Bash","desc":"While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)","archetype":"Fallen","archetype_req":8,"base_abil":25,"parents":[53,45],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"prop","abil":0,"name":"aoe"},"scaling":[0.3333333333333333],"max":10}],"id":52},{"display_name":"Tempest","desc":"War Scream will ripple the ground and deal damage 3 times in a large area","archetype":"Battle Monk","archetype_req":0,"base_abil":10,"parents":[52,54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{"aoe":16},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest","multipliers":[30,10,0,0,0,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest Total Damage","hits":{"Tempest":3}},{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Tempest":3}}],"id":53},{"display_name":"Spirit of the Rabbit","desc":"Reduce the Mana cost of Charge and increase your Walk Speed by +20%","archetype":"Battle Monk","archetype_req":5,"base_abil":4,"parents":[53,47],"dependencies":[],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5},{"type":"raw_stat","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":54},{"display_name":"Massacre","desc":"While Corrupted, if your effective attack speed is Slow or lower, hitting an enemy with your Main Attack will add +1% to your Corrupted bar","archetype":"Fallen","archetype_req":5,"base_abil":999,"parents":[53,52],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":55},{"display_name":"Axe Kick","desc":"Increase the damage of Uppercut, but also increase its mana cost","base_abil":8,"parents":[53,54],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":10,"multipliers":[100,0,0,0,0,0]}],"id":56},{"display_name":"Radiance","desc":"Bash will buff your allies' positive IDs. (15s Cooldown)","archetype":"Paladin","archetype_req":2,"base_abil":0,"parents":[54,58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":5,"icon":"node_2"},"properties":{"cooldown":15},"effects":[],"id":57},{"display_name":"Cheaper Bash 2","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[57,50,51],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":58},{"display_name":"Cheaper War Scream","desc":"Reduce the Mana cost of War Scream","base_abil":10,"parents":[52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":59},{"display_name":"Discombobulate","desc":"Every time you hit an enemy, briefly increase your elemental damage dealt to them by +3 (Additive, Max +80). This bonus decays -5 every second","archetype":"Battle Monk","archetype_req":11,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":2,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","slider_max":27,"output":[{"type":"stat","name":"eDamAddMin"},{"type":"stat","name":"eDamAddMax"},{"type":"stat","name":"tDamAddMin"},{"type":"stat","name":"tDamAddMax"},{"type":"stat","name":"wDamAddMin"},{"type":"stat","name":"wDamAddMax"},{"type":"stat","name":"fDamAddMin"},{"type":"stat","name":"fDamAddMax"},{"type":"stat","name":"aDamAddMin"},{"type":"stat","name":"aDamAddMax"}],"scaling":[3],"max":80}],"id":60},{"display_name":"Thunderclap","desc":"Bash will cast at the player's position and gain additional AoE.\n\n All elemental conversions become Thunder","archetype":"Battle Monk","archetype_req":8,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":1,"conversion":"Thunder"},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"aoe","value":3}]}],"id":61},{"display_name":"Cyclone","desc":"After casting War Scream, envelop yourself with a vortex that damages nearby enemies every 0.5s","archetype":"Battle Monk","archetype_req":0,"parents":[54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":4,"icon":"node_1"},"properties":{"aoe":4,"duration":20},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone","multipliers":[10,0,0,0,5,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone Total Damage","hits":{"Cyclone":40}}],"id":62},{"display_name":"Second Chance","desc":"When you receive a fatal blow, survive and regain 30% of your Health (10m Cooldown)","archetype":"Paladin","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":63},{"display_name":"Blood Pact","desc":"If you do not have enough mana to cast a spell, spend health instead (0.6% health per mana)","archetype":"Fallen","archetype_req":10,"parents":[59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_3"},"properties":{"health_cost":0.6},"effects":[],"id":64},{"display_name":"Haemorrhage","desc":"Reduce Blood Pact's health cost. (0.3% health per mana)","archetype":"Fallen","archetype_req":0,"base_abil":64,"parents":[64],"dependencies":[64],"blockers":[],"cost":1,"display":{"row":35,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":64,"name":"health_cost","value":-0.3}]}],"id":65},{"display_name":"Brink of Madness","desc":"If your health is 25% full or less, gain +40% Resistance","parents":[64,67],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Brink","value":40}]}],"id":66},{"display_name":"Cheaper Uppercut 2","desc":"Reduce the Mana cost of Uppercut","base_abil":8,"parents":[63,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":35,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":67},{"display_name":"Martyr","desc":"When you receive a fatal blow, all nearby allies become invincible","archetype":"Paladin","archetype_req":0,"parents":[63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":8,"icon":"node_1"},"properties":{"duration":3,"aoe":12},"effects":[],"id":68}],"Mage":[{"display_name":"Meteor","desc":"Summon a slow but powerful meteor from the sky, dealing massive damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_mage"},"properties":{"aoe":5,"range":18},"effects":[{"type":"replace_spell","name":"Meteor","cost":55,"base_spell":3,"display":"Total Damage","parts":[{"name":"Meteor Damage","multipliers":[300,100,0,0,0,0]},{"name":"Total Damage","hits":{"Meteor Damage":1}}]}],"id":0},{"display_name":"Teleport","desc":"Instantly teleport in the direction you're facing","parents":[4],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_mage"},"properties":{"range":12},"effects":[{"type":"replace_spell","name":"Teleport","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Heal","desc":"Heal yourself and nearby allies in a large area around you. (When healing an ally, you cannot heal more than 30% of their max health)","parents":[14,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_mage"},"properties":{"aoe":5},"effects":[{"type":"replace_spell","name":"Heal","cost":35,"base_spell":1,"display":"Heal","parts":[{"name":"Heal","power":0.1}]}],"id":2},{"display_name":"Ice Snake","desc":"Summon a fast-moving ice snake that reduces your enemies' speed and damage them.","parents":[13,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_mage"},"properties":{"range":18,"effects":40,"duration":3},"effects":[{"type":"replace_spell","name":"Ice Snake","cost":35,"base_spell":4,"display":"Ice Snake Damage","parts":[{"name":"Ice Snake Damage","multipliers":[70,0,0,30,0,0]}]}],"id":3},{"display_name":"Shooting Star","desc":"Drastically increase the speed of your Meteor ability.","base_abil":3,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[],"id":4},{"display_name":"Wand Proficiency I","desc":"Improve your Main Attack's damage and range when using a wand.","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":5},{"display_name":"Cheaper Meteor","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":6},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":7},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":8},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Light Bender","archetype_req":0,"parents":[12,8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":9},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":10},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":11},{"display_name":"Cheaper Teleport","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[2,3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":12},{"display_name":"Wisdom","desc":"For every 2% or 2 Raw Spell Damage you have from items, gain +1/5s mana regen (Max 5/5s)","archetype":"Arcanist","archetype_req":0,"parents":[1],"dependencies":[],"blockers":[14],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sdPct"},{"type":"stat","name":"sdRaw"}],"output":{"type":"stat","name":"mr"},"scaling":[0.5,0.5],"max":5}],"id":13},{"display_name":"Wand Proficiency II","desc":"Improve your Main Attack's damage and range when using a wand.","archetype":"Riftwalker","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":14},{"display_name":"Wind Slash","desc":"When using Teleport, slash through the air and deal damage to enemies you pierce.","archetype":"Riftwalker","base_abil":1,"parents":[10,16],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Wind Slash","base_spell":2,"multipliers":[50,0,0,0,0,50]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":2,"display":"Total Damage","hits":{"Wind Slash":1}}],"id":15},{"display_name":"Thunderstorm","desc":"After casting Meteor, summon 3 lightning strikes and deal additional damage","base_abil":0,"parents":[15,8],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","target_part":"Lightning Damage","base_spell":3,"multipliers":[30,0,15,0,0,0]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":3,"hits":{"Lightning Damage":3}}],"id":16},{"display_name":"Stronger Meteor","desc":"Increase the damage of Meteor.","base_abil":0,"archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Meteor Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Lightning Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]}],"id":17},{"display_name":"Burning Sigil","desc":"Meteor will leave a sigil that damages enemies every 0.4s.","base_abil":0,"parents":[11,7],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":7,"icon":"node_1"},"properties":{"aoe":7,"duration":8},"effects":[{"type":"replace_spell","name":"Burning Sigil","base_spell":6,"display":"DPS","parts":[{"name":"Tick Damage","multipliers":[15,0,0,0,25,0]},{"name":"DPS","hits":{"Tick Damage":2.5}},{"name":"Total Burn Damage","hits":{"Tick Damage":20}}]}],"id":18},{"display_name":"Sunshower","desc":"Heal emit a strong light, damaging nearby enemies.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[9],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Sunshower Damage","multipliers":[70,0,0,30,0,0]}],"id":19},{"display_name":"Windsweeper","desc":"Your Main Attack will add +1 Winded to enemies you hit. (Max 5, 0.5s cooldown) Ice Snake will deal additional damage to enemies for every Winded they have","archetype":"Riftwalker","archetype_req":3,"parents":[15,16],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":15,"col":1,"icon":"node_3"},"properties":{"max":5},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:4.Ice Snake Damage"},"scaling":[20],"slider_step":1,"slider_max":5},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"wConvBase:4.Ice Snake Damage"},"scaling":[10]}],"id":20},{"display_name":"Ophanim","desc":"When casting Meteor, instead summon 2 orbs of light with 200 Health that will attack when you use your Main Attack. When they damage an enemy, they lose 20% of their Health. They can be healed back.","archetype":"Light Bender","archetype_req":2,"parents":[19],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_3"},"properties":{"health":200},"effects":[{"type":"replace_spell","name":"Ophanim","base_spell":3,"display":"Per Melee (max)","parts":[{"name":"Per Orb","multipliers":[50,0,30,20,0,0]},{"name":"Per Melee (max)","hits":{"Per Orb":2}}]},{"type":"add_spell_prop","base_spell":3,"cost":30}],"id":21},{"display_name":"Arcane Transfer","desc":"Meteor and Ice Snake will add +5 Mana to a Mana Bank for every aggressive enemy you hit. Heal will now transfer the content of your Mana Bank into usable Mana instead of healing.","archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"bank":90},"effects":[{"type":"replace_spell","name":"Arcane Transfer","base_spell":1,"parts":[],"display":""}],"id":22},{"display_name":"Cheaper Heal","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[20,24],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":23},{"display_name":"Purification","desc":"Heal and Arcane Transfer will purify you of all negative effects and fire. (3s Cooldown)","base_abil":1,"parents":[21,23,25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":4,"icon":"node_2"},"properties":{},"effects":[],"id":24},{"display_name":"Sentient Snake","desc":"Ice Snake will follow the direction you're facing, allowing you to control it.","base_abil":3,"parents":[22,24],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":17,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":25},{"display_name":"Eye Piercer","desc":"Teleport will blind enemies, confusing them for a short amount of time.","base_abil":1,"parents":[23],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":18,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":26},{"display_name":"Breathless","desc":"Meteor will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[23,24],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":18,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:3.Meteor Damage"},{"type":"stat","name":"eConvBase:3.Meteor Damage"},{"type":"stat","name":"nConvBase:3.Per Orb"},{"type":"stat","name":"eConvBase:3.Per Orb"},{"type":"stat","name":"nConvBase:3.Lightning Damage"},{"type":"stat","name":"eConvBase:3.Lightning Damage"}],"scaling":[15]}],"id":27},{"display_name":"Larger Heal","desc":"Increase your Heal's range.","base_abil":1,"archetype":"Light Bender","archetype_req":0,"parents":[24,25],"dependencies":[2],"blockers":[22],"cost":1,"display":{"row":18,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":2,"name":"aoe","value":2}]}],"id":28},{"display_name":"Larger Mana Bank","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[25],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":18,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":22,"name":"bank","value":30}]}],"id":29},{"display_name":"Cheaper Ice Snake","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":30},{"display_name":"Cheaper Teleport II","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[24,32],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":31},{"display_name":"Fortitude","desc":"After healing 120% of your max health within 10s, apply a damage bonus to each player you've healed. (15s Cooldown)","base_abil":2,"archetype":"Light Bender","archetype_req":0,"parents":[30,31],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":2,"icon":"node_2"},"properties":{"duration":5},"effects":[],"id":32},{"display_name":"Pyrokinesis","desc":"When your Mana Bank reaches 30, your Main Attack will stop and explode when it hits an enemy. (Damage is dealt as Main Attack Damage)","base_abil":4,"archetype":"Arcanist","archetype_req":4,"parents":[25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":7,"icon":"node_2"},"properties":{},"__TODO":"replace_spell pyrokinesis damage","effects":[],"id":33},{"display_name":"Seance","desc":"For every 5/3s Lifesteal you have from items, gain 1% Spell Damage (Max 50%)","archetype":"","archetype_req":0,"parents":[33,36],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"ls"}],"output":{"type":"stat","name":"sdPct"},"scaling":[0.2],"max":50}],"id":34},{"display_name":"Blink","desc":"Teleport will trigger 2 times in quick successions","base_abil":1,"archetype":"Riftwalker","archetype_req":0,"parents":[32,30],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"prop","abil":1,"name":"range","value":-4}]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Wind Slash":1,"Explosion Damage":1}}],"id":35},{"display_name":"Snake Nest","desc":"Ice Snake will summon 3 snakes.","base_abil":3,"parents":[34,31,40],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":22,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":36},{"display_name":"Arcane Restoration","desc":"Pyrokinesis will add +1 Mana every 1s to your Mana Bank when hitting an aggressive enemy.","base_abil":999,"archetype":"Arcanist","archetype_req":0,"parents":[34,36],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":6,"icon":"node_1"},"properties":{"duration":4},"effects":[],"id":37},{"display_name":"Fluid Healing","desc":"For every 1% Water Damage Bonus you have, buff Heal's healing power by +0.3%.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[40,39],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"wDam"}],"output":{"type":"stat","name":"healPct"},"scaling":[0.3]}],"id":38},{"display_name":"Transonic Warp","desc":"Teleport will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[30],"dependencies":[3,20],"blockers":[],"cost":2,"display":{"row":23,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:2.Wind Slash"},{"type":"stat","name":"nConvBase:2.Explosion Damage"}],"scaling":[30]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"tConvBase:2.Wind Slash"},{"type":"stat","name":"tConvBase:2.Explosion Damage"}],"scaling":[10]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"aConvBase:2.Wind Slash"},{"type":"stat","name":"aConvBase:2.Explosion Damage"}],"scaling":[5]}],"id":39},{"display_name":"Healthier Ophanim I","desc":"Increase the health of your orbs from Ophanim by +800 and reduce the damage they take when hitting an enemy by -5%.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[32,31],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":22,"col":3,"icon":"node_0"},"properties":{},"effects":[],"id":40},{"display_name":"Orphion's Pulse","desc":"Heal will trigger 2 more times, increasing the overall healing.","archetype":"Light Bender","base_abil":2,"parents":[40,36],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":23,"col":4,"icon":"node_1"},"properties":{"aoe":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Heal Pulse","power":0.15},{"type":"add_spell_prop","base_spell":1,"display":"Total Heal","target_part":"Total Heal","hits":{"Heal":1,"Heal Pulse":2}}],"id":41},{"display_name":"Diffusion","desc":"If you kill an enemy with Winded on them, the leftover Winded will spread to nearby enemies.","archetype":"Riftwalker","archetype_req":6,"base_abil":20,"parents":[39,38],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":25,"col":1,"icon":"node_3"},"properties":{"aoe":5},"effects":[],"id":42},{"display_name":"Lightweaver","desc":"After healing 60% of your max health within 10s, summon a rotating orb that damages all enemies it touches for 20s. (Max 3 Orbs)","archetype":"Light Bender","archetype_req":7,"parents":[41],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Lightweaver","base_spell":5,"display":"Orb Damage","parts":[{"name":"Single Orb","type":"damage","multipliers":[30,0,0,0,20,0]},{"name":"Orb Damage","type":"total","hits":{"Single Orb":3}}]}],"id":43},{"display_name":"Arcane Speed","desc":"After casting Heal or Arcane Transfer, gain +80% speed for 3s. (8s Cooldown)","base_abil":2,"parents":[43,45],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":25,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":44},{"display_name":"Larger Mana Bank II","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[34,44],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":25,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":45},{"display_name":"Psychokinesis","desc":"Meteor will launch directly from you as a slow projectile.","base_abil":3,"archetype":"Arcanist","archetype_req":5,"parents":[45,44],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":46},{"display_name":"More Winded","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[42],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":47},{"display_name":"Cheaper Ice Snake II","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[42,52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":48},{"display_name":"Cheaper Meteor II","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[52,43,44],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":49},{"display_name":"Chaos Explosion","desc":"When your Mana Bank reaches 120, casting Arcane Transfer will rapidly unleash the last 3 spells you've cast in order.","base_abil":22,"archetype":"Arcanist","archetype_req":8,"parents":[45],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_3"},"properties":{},"effects":[],"id":50},{"display_name":"Arcane Power","desc":"Meteor and Ice Snake will add +2 Mana to your Mana Bank for each aggressive mob you hit.","base_abil":22,"archetype":"Arcanist","archetype_req":0,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":29,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":51},{"display_name":"Explosive Entrance","desc":"Deal Damage in an area on the location you Teleport to.","base_abil":1,"parents":[48,49],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":27,"col":3,"icon":"node_1"},"properties":{"aoe":3},"effects":[{"type":"add_spell_prop","target_part":"Explosion Damage","base_spell":2,"multipliers":[50,0,0,0,30,0]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Explosion Damage":1}}],"id":52},{"display_name":"Gust","desc":"Ice Snake will add +1 Winded to enemies and deal more damage.","base_abil":3,"archetype":"Riftwalker","archetype_req":7,"parents":[48,52],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Ice Snake","base_spell":4,"multipliers":[0,0,0,0,0,20]}],"id":53},{"display_name":"Time Dilation","desc":"When sprinting, create an area that increases the speed of all allies the longer they run in it. (Step out or stop running to cancel)","archetype":"Riftwalker","archetype_req":7,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Better Ophanim","desc":"Increase your maximum orbs from Ophanim by +1.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[49],"_parents":["Explosive Entrance","Cheaper Meteor II"],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":1}}],"id":55},{"display_name":"Arctic Snake","desc":"Ice Snake will freeze enemies completely for 2s.","base_abil":3,"parents":[50],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":56},{"display_name":"Devitalize","desc":"Enemies will deal -2% damage for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[58,59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"More Winded II","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[54],"_parents":["Time Dilation","Dynamic Faith"],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":58},{"display_name":"Dynamic Faith","desc":"For every 2% Sprint you have from items, gain +1% Thunder Damage (Max 100%)","parents":[58,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sprint"}],"output":{"type":"stat","name":"tDamPct"},"scaling":[0.5],"max":100}],"id":59},{"display_name":"Divination","desc":"Increase your maximum orbs from Ophanim by +3 and reduce their damage.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[59,61],"dependencies":[21],"blockers":[],"cost":2,"display":{"row":32,"col":3,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Orb","multipliers":[-50,0,-10,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":3}}],"id":60},{"display_name":"Healthier Ophanim II","desc":"Increase the health of your orbs from Ophanim by +3000.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[55],"dependencies":[40],"blockers":[],"cost":1,"display":{"row":31,"col":4,"icon":"node_0"},"properties":{},"effects":[],"id":61},{"display_name":"Sunflare","desc":"After healing 400% of your max health within 10s, your next Heal will make every nearby ally temporarily immune.","archetype":"Light Bender","archetype_req":12,"base_abil":2,"parents":[61],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_3"},"properties":{"aoe":12,"duration":5},"effects":[],"id":62},{"display_name":"Larger Mana Bank III","desc":"Increase your maximum Mana Bank by +30.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":31,"col":7,"icon":"node_0"},"properties":{},"effects":[],"id":63},{"display_name":"Arcane Overflow","desc":"Arcane Transfer will allow you to overflow your mana over its maximum limits.","archetype":"Arcanist","archetype_req":11,"base_abil":22,"parents":[63],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":33,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":64},{"display_name":"Memory Recollection","desc":"Chaos Explosion will cast +2 spells.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[64],"dependencies":[50],"blockers":[],"cost":1,"display":{"row":34,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":65},{"display_name":"Manastorm","desc":"If you have more than 100 Mana, casting a spell will give you +10 mana over 5s.","archetype":"Arcanist","archetype_req":1,"parents":[69,64,62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":66},{"display_name":"Better Lightweaver","desc":"Increase your Max Orbs by +2.","archetype":"Light Bender","archetype_req":0,"base_abil":43,"parents":[69,66],"dependencies":[43],"blockers":[],"cost":1,"display":{"row":35,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Orb Damage","base_spell":5,"hits":{"Single Orb":2}}],"id":67},{"display_name":"Timelock","desc":"Holding shift and casting Heal will absorb all Winded on nearby enemies and make you Timelocked. While Timelocked, your mana will not be depleted and you become immovable from outside forces. Enemies will recieve Winded damage from all absorbed stacks. (Max 30)","archetype":"Riftwalker","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":0,"icon":"node_3"},"properties":{},"effects":[],"id":68},{"display_name":"Cheaper Heal II","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[68,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":69}]} \ No newline at end of file +const atrees={"Archer":[{"display_name":"Arrow Shield","desc":"Create a shield around you that deal damage and knockback mobs when triggered. (2 Charges)","parents":[60,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":6,"icon":"node_archer"},"properties":{"charges":2,"duration":60,"aoe":5000},"effects":[{"type":"replace_spell","name":"Arrow Shield","cost":30,"base_spell":4,"display":"Total Damage","parts":[{"name":"Shield Damage","type":"damage","multipliers":[90,0,0,0,0,10]},{"name":"Total Damage","type":"total","hits":{"Shield Damage":2}}]}],"id":0},{"display_name":"Escape","desc":"Throw yourself backward to avoid danger. (Hold shift while escaping to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":7,"col":4,"icon":"node_archer"},"properties":{"aoe":0,"range":0},"effects":[{"type":"replace_spell","name":"Escape","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Arrow Bomb","desc":"Throw a long-range arrow that explodes and deal high damage in a large area. (Self-damage for 25% of your DPS)","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_archer"},"properties":{"aoe":4.5,"range":26},"effects":[{"type":"replace_spell","name":"Arrow Bomb","cost":50,"base_spell":3,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Arrow Bomb","type":"damage","multipliers":[160,0,0,0,20,0]},{"name":"Total Damage","type":"total","hits":{"Arrow Bomb":1}}]}],"id":2},{"display_name":"Heart Shatter","desc":"If you hit a mob directly with Arrow Bomb, shatter its heart and deal bonus damage.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Heart Shatter":1}}],"id":3},{"display_name":"Fire Creep","desc":"Arrow Bomb will leak a trail of fire for 6s, Damaging enemies that walk into it every 0.4s.","base_abil":2,"parents":[68,39,5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":16,"col":6,"icon":"node_1"},"properties":{"aoe":0.8,"duration":6},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[30,0,0,0,20,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Burn Damage","hits":{"Fire Creep":15}}],"id":4},{"display_name":"Bryophyte Roots","desc":"When you hit an enemy with Arrow Storm, create an area that slows them down and deals damage every 0.4s.","base_abil":7,"archetype":"Trapper","archetype_req":1,"parents":[4,35],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":16,"col":8,"icon":"node_1"},"properties":{"aoe":2,"duration":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Bryophyte Roots","cost":0,"multipliers":[40,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Roots Damage","hits":{"Bryophyte Roots":12}}],"id":5},{"display_name":"Nimble String","desc":"Arrow Storm throw out +6 arrows per stream and shoot twice as fast.","base_abil":7,"parents":[36,69],"dependencies":[7],"blockers":[68],"cost":2,"display":{"row":15,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-15,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","hits":{"Single Arrow":6}}],"id":6},{"display_name":"Arrow Storm","desc":"Shoot a stream of 8 arrows, dealing significant damage to close mobs and pushing them back.","parents":[58,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":2,"icon":"node_archer"},"properties":{"range":16},"effects":[{"type":"replace_spell","name":"Arrow Storm","cost":40,"base_spell":1,"spell_type":"damage","display":"Total Damage","parts":[{"name":"Single Arrow","multipliers":[30,0,10,0,0,0]},{"name":"Single Stream","hits":{"Single Arrow":8}},{"name":"Total Damage","hits":{"Single Stream":1}}]}],"id":7},{"display_name":"Guardian Angels","desc":"Your protective arrows from Arrow Shield will become sentient bows, dealing damage up to 8 times each to nearby enemies. (Arrow Shield will no longer push nearby enemies)","archetype":"Boltslinger","archetype_req":3,"base_abil":0,"parents":[59,67],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":19,"col":1,"icon":"node_3"},"properties":{"range":4,"duration":60,"shots":8,"charges":2},"effects":[{"type":"replace_spell","name":"Guardian Angels","base_spell":4,"display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[30,0,0,0,0,10]},{"name":"Single Bow","type":"total","hits":{"Single Arrow":8}},{"name":"Total Damage","type":"total","hits":{"Single Bow":2}}]}],"id":8},{"display_name":"Windy Feet","desc":"When casting Escape, give speed to yourself and nearby allies.","base_abil":1,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":1,"icon":"node_1"},"properties":{"aoe":8,"duration":120},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":9},{"display_name":"Basaltic Trap","desc":"When you hit the ground with Arrow Bomb, leave a Trap that damages enemies. (Max 2 Traps)","archetype":"Trapper","archetype_req":2,"parents":[5],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":8,"icon":"node_3"},"properties":{"aoe":7,"traps":2},"effects":[{"type":"replace_spell","name":"Basaltic Trap","base_spell":7,"display":"Trap Damage","parts":[{"name":"Trap Damage","type":"damage","multipliers":[140,30,0,0,30,0]}]}],"id":10},{"display_name":"Windstorm","desc":"Arrow Storm shoot +1 stream of arrows, and each stream shoots +2 arrows, effectively doubling its damage.","base_abil":7,"parents":[8,33],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Arrow","multipliers":[-10,0,-2,0,0,2]},{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Stream","cost":0,"hits":{"Single Arrow":2}}],"id":11},{"display_name":"Grappling Hook","base_abil":1,"desc":"When casting Escape, throw a hook that pulls you when hitting a block. If you hit an enemy, pull them towards you instead. (Escape will not throw you backward anymore)","archetype":"Trapper","archetype_req":0,"parents":[61,40,33],"dependencies":[],"blockers":[20],"cost":2,"display":{"row":21,"col":5,"icon":"node_2"},"properties":{"range":26},"effects":[],"id":12},{"display_name":"Implosion","desc":"Arrow bomb will pull enemies towards you. If a trap is nearby, it will pull them towards it instead. Increase Heart Shatter's damage.","archetype":"Trapper","archetype_req":0,"base_abil":2,"parents":[12,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Heart Shatter","multipliers":[40,0,0,0,0,0]}],"id":13},{"display_name":"Twain's Arc","desc":"When you have 2+ Focus, holding shift will summon the Twain's Arc. Charge it up to shoot a destructive long-range beam. (Damage is dealt as Main Attack Damage)","archetype":"Sharpshooter","archetype_req":4,"parents":[62,64],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_2"},"properties":{"range":64,"focusReq":2},"effects":[{"type":"replace_spell","name":"Twain's Arc","base_spell":5,"scaling":"melee","use_atkspd":false,"display":"Single Shot","parts":[{"name":"Single Shot","type":"damage","multipliers":[200,0,0,0,0,0]}]}],"id":14},{"display_name":"Fierce Stomp","desc":"When using Escape, hold shift to quickly drop down and deal damage.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[42,64],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Fierce Stomp","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","cost":0,"hits":{"Fierce Stomp":1},"display":"Stomp Damage"}],"id":15},{"display_name":"Scorched Earth","desc":"Fire Creep become much stronger.","archetype":"Sharpshooter","archetype_req":0,"parents":[14],"dependencies":[4],"blockers":[],"cost":1,"display":{"row":26,"col":5,"icon":"node_1"},"properties":{"duration":2,"aoe":0.4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fire Creep","multipliers":[10,0,0,0,5,0]}],"id":16},{"display_name":"Leap","desc":"When you double tap jump, leap foward. (2s Cooldown)","archetype":"Boltslinger","archetype_req":5,"parents":[42,55],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_1"},"properties":{"cooldown":2},"effects":[],"id":17},{"display_name":"Shocking Bomb","desc":"Arrow Bomb will not be affected by gravity, and all damage conversions become Thunder.","archetype":"Sharpshooter","archetype_req":5,"base_abil":2,"parents":[14,44,55],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":28,"col":4,"icon":"node_1"},"properties":{"gravity":0},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":3,"conversion":"Thunder"}],"id":18},{"display_name":"Mana Trap","desc":"Your Traps will give you 2.85 Mana per second when you stay close to them.","archetype":"Trapper","archetype_req":5,"base_abil":10,"parents":[43,44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":8,"icon":"node_3"},"properties":{"range":16,"manaRegen":2.85},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":10}],"id":19},{"display_name":"Escape Artist","desc":"When casting Escape, release 120 arrows towards the ground.","archetype":"Boltslinger","archetype_req":0,"base_abil":1,"parents":[46,17],"dependencies":[],"blockers":[12],"cost":2,"display":{"row":31,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Per Arrow","multipliers":[20,0,10,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Max Damage (Escape Artist)","hits":{"Per Arrow":120},"display":"Max Damage (Escape Artist)"}],"id":20},{"display_name":"Initiator","desc":"If you do not damage an enemy for 5s or more, your next sucessful hit will deal +50% damage and add +1 Focus.","archetype":"Sharpshooter","archetype_req":5,"parents":[18,44,47],"dependencies":[61],"blockers":[],"cost":2,"display":{"row":31,"col":5,"icon":"node_2"},"properties":{},"effects":[],"id":21},{"display_name":"Call of the Hound","desc":"Arrow Shield summon a Hound that will attack and drag aggressive enemies towards your traps.","archetype":"Trapper","archetype_req":0,"base_abil":0,"parents":[21,47],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Hound Damage","multipliers":[40,0,0,0,0,0]}],"id":22},{"display_name":"Arrow Hurricane","desc":"Arrow Storm will shoot +2 stream of arrows.","archetype":"Boltslinger","archetype_req":8,"base_abil":7,"parents":[48,20],"dependencies":[],"blockers":[68],"cost":2,"display":{"row":33,"col":0,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Stream":2}}],"id":23},{"display_name":"Geyser Stomp","desc":"Fierce Stomp will create geysers, dealing more damage and vertical knockback.","base_abil":1,"parents":[56],"dependencies":[15],"blockers":[],"cost":2,"display":{"row":37,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Geyser Stomp","multipliers":[0,0,0,50,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Stomp Damage","hits":{"Geyser Stomp":1}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":15,"name":"aoe","value":1}]}],"id":24},{"display_name":"Crepuscular Ray","desc":"If you have 5 Focus, casting Arrow Storm will make you levitate and shoot 20 homing arrows per second until you run out of Focus. While in that state, you will lose 1 Focus per second.","archetype":"Sharpshooter","archetype_req":10,"parents":[49],"dependencies":[7],"blockers":[],"cost":2,"display":{"row":37,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Crepuscular Ray","base_spell":6,"display":"DPS","parts":[{"name":"Single Arrow","multipliers":[20,0,0,5,0,0]},{"name":"DPS","hits":{"Single Arrow":20}},{"name":"Total Damage","hits":{"DPS":7}}]}],"id":25},{"display_name":"Grape Bomb","desc":"Arrow bomb will throw 3 additional smaller bombs when exploding.","base_abil":2,"parents":[51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":37,"col":7,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Grape Bomb","multipliers":[30,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Grape Bomb":3}}],"id":26},{"display_name":"Tangled Traps","desc":"Your Traps will be connected by a rope that deals damage to enemies every 0.2s.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":38,"col":6,"icon":"node_1"},"properties":{"attackSpeed":0.2},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Line Damage Tick","multipliers":[20,0,0,0,0,20]},{"type":"add_spell_prop","base_spell":7,"target_part":"DPS","hits":{"Line Damage Tick":5}}],"id":27},{"display_name":"Snow Storm","desc":"Enemies near you will be slowed down.","parents":[24,63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":39,"col":2,"icon":"node_2"},"properties":{"range":2.5,"slowness":0.3},"effects":[],"id":28},{"display_name":"All-Seeing Panoptes","desc":"Your bows from Guardian Angels become all-seeing, increasing their range, damage and letting them shoot up to +5 times each.","archetype":"Boltslinger","archetype_req":11,"base_abil":0,"parents":[28],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":40,"col":1,"icon":"node_3"},"properties":{"range":8,"shots":5},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Arrow","multipliers":[0,0,0,0,10,0]},{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":5}}],"id":29},{"display_name":"Minefield","desc":"Allow you to place +6 Traps, but with reduced damage and range.","archetype":"Trapper","archetype_req":10,"base_abil":10,"parents":[26,53],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":40,"col":7,"icon":"node_3"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":7,"target_part":"Trap Damage","cost":0,"multipliers":[-80,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"aoe","value":-2},{"type":"prop","abil":10,"name":"traps","value":6}]}],"id":30},{"display_name":"Bow Proficiency I","desc":"Improve your Main Attack's damage and range when using a bow.","base_abil":999,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[5,0,0,0,0,0]}],"id":31},{"display_name":"Cheaper Arrow Bomb","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[31],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":32},{"display_name":"Cheaper Arrow Storm","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[12,11,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":21,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":33},{"display_name":"Cheaper Escape","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[7,0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":34},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Trapper","archetype_req":0,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":35},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7,39,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":36},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[34,36,39],"dependencies":[],"blockers":[],"cost":1,"display":{"row":14,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":37},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Boltslinger","archetype_req":0,"parents":[7],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":38},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Sharpshooter","archetype_req":0,"parents":[36,0,34],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":39},{"display_name":"More Shields","desc":"Give +2 charges to Arrow Shield.","base_abil":0,"parents":[12,10],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":21,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Shield Damage":2,"Single Bow":2}},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"charges","value":2}]}],"id":40},{"display_name":"Stormy Feet","desc":"Windy Feet will last longer and add more speed.","archetype":"Boltslinger","base_abil":1,"parents":[11],"dependencies":[9],"blockers":[],"cost":1,"display":{"row":23,"col":1,"icon":"node_0"},"properties":{"duration":60},"effects":[{"type":"stat_bonus","toggle":"Windy Feet","bonuses":[{"type":"stat","name":"spdPct","value":20}]}],"id":41},{"display_name":"Refined Gunpowder","desc":"Increase the damage of Arrow Bomb.","base_abil":2,"parents":[11,64],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Bomb","multipliers":[50,0,0,0,0,0]}],"id":42},{"display_name":"More Traps","desc":"Increase the maximum amount of active Traps you can have by +2.","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[54],"dependencies":[10],"blockers":[],"cost":1,"display":{"row":26,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":10,"name":"traps","value":2}]}],"id":43},{"display_name":"Better Arrow Shield","desc":"Arrow Shield will gain additional area of effect, knockback and damage.","archetype":"Sharpshooter","archetype_req":0,"base_abil":0,"parents":[19,18,14],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":28,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Arrow Shield","behavior":"modify","multipliers":[40,0,0,0,0,0]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"behavior":"modify","name":"aoe","value":1}]}],"id":44},{"display_name":"Better Leap","desc":"Reduce leap's cooldown by 1s.","archetype":"Boltslinger","archetype_req":0,"base_abil":17,"parents":[17,55],"dependencies":[17],"blockers":[],"cost":1,"display":{"row":29,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":17,"name":"cooldown","value":-1}]}],"id":45},{"display_name":"Better Guardian Angels","desc":"Your Guardian Angels can shoot +4 arrows before disappearing.","archetype":"Boltslinger","archetype_req":0,"base_abil":0,"parents":[20,55],"dependencies":[8],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Single Bow","hits":{"Single Arrow":4}}],"id":46},{"display_name":"Cheaper Arrow Storm (2)","desc":"Reduce the Mana cost of Arrow Storm.","base_abil":7,"parents":[21,19],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":47},{"display_name":"Precise Shot","desc":"+30% Critical Hit Damage","parents":[46,49,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":48},{"display_name":"Cheaper Arrow Shield","desc":"Reduce the Mana cost of Arrow Shield.","base_abil":0,"parents":[48,21],"dependencies":[],"blockers":[],"cost":1,"display":{"row":33,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":49},{"display_name":"Rocket Jump","desc":"Arrow Bomb's self-damage will knockback you farther away.","base_abil":2,"parents":[47,21],"dependencies":[2],"blockers":[],"cost":1,"display":{"row":33,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":50},{"display_name":"Cheaper Escape (2)","desc":"Reduce the Mana cost of Escape.","base_abil":1,"parents":[22,70],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":51},{"display_name":"Stronger Hook","desc":"Increase your Grappling Hook's range, speed and strength.","archetype":"Trapper","archetype_req":5,"base_abil":1,"parents":[51],"dependencies":[12],"blockers":[],"cost":1,"display":{"row":35,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":12,"name":"range","value":8}]}],"id":52},{"display_name":"Cheaper Arrow Bomb (2)","desc":"Reduce the Mana cost of Arrow Bomb.","base_abil":2,"parents":[63,30],"dependencies":[],"blockers":[],"cost":1,"display":{"row":40,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":53},{"display_name":"Bouncing Bomb","desc":"Arrow Bomb will bounce once when hitting a block or enemy","base_abil":2,"parents":[40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":7,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Homing Shots","desc":"Your Main Attack arrows will follow nearby enemies and not be affected by gravity","archetype":"Sharpshooter","base_abil":999,"parents":[17,18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_2"},"properties":{},"effects":[],"id":55},{"display_name":"Shrapnel Bomb","desc":"Arrow Bomb's explosion will fling 15 shrapnel, dealing damage in a large area","archetype":"Boltslinger","archetype_req":8,"base_abil":2,"parents":[23,48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Shrapnel Bomblet","multipliers":[40,0,0,0,20,0]}],"id":56},{"display_name":"Elusive","desc":"If you do not get hit for 8+ seconds, become immune to self-damage and remove Arrow Storm's recoil. (Dodging counts as not getting hit)","archetype":"Boltslinger","archetype_req":0,"parents":[24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":38,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"Double Shots","desc":"Double Main Attack arrows, but they deal -30% damage per arrow (harder to hit far enemies)","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[60],"cost":1,"display":{"row":7,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-30,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":2},"display":"Total Damage"}],"id":58},{"display_name":"Triple Shots","desc":"Triple Main Attack arrows, but they deal -20% damage per arrow","archetype":"Boltslinger","archetype_req":0,"base_abil":999,"parents":[69,67],"dependencies":[58],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"Single Shot","multipliers":[-20,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":0,"target_part":"Total Damage","hits":{"Single Shot":1},"display":"Total Damage"}],"id":59},{"display_name":"Power Shots","desc":"Main Attack arrows have increased speed and knockback","archetype":"Sharpshooter","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[58],"cost":1,"display":{"row":7,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":60},{"display_name":"Focus","desc":"When hitting an aggressive mob 5+ blocks away, gain +1 Focus (Max 3). Resets if you miss once","archetype":"Sharpshooter","archetype_req":2,"parents":[68],"dependencies":[],"blockers":[],"cost":2,"display":{"row":19,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","output":{"type":"stat","name":"damMult.Focus"},"scaling":[40],"slider_max":3}],"id":61},{"display_name":"More Focus","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[33,12],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":62},{"display_name":"More Focus (2)","desc":"Add +2 max Focus","archetype":"Sharpshooter","archetype_req":0,"base_abil":61,"parents":[25,28],"dependencies":[61],"blockers":[],"cost":1,"display":{"row":39,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Focus","slider_max":2,"output":{"type":"stat","name":"damMult.Focus"},"scaling":[-5]}],"id":63},{"display_name":"Traveler","desc":"For every 1% Walk Speed you have from items, gain +1 Raw Spell Damage (Max 100)","parents":[42,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":25,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"spd"}],"output":{"type":"stat","name":"sdRaw"},"scaling":[1],"max":100}],"id":64},{"display_name":"Patient Hunter","desc":"Your Traps will deal +20% more damage for every second they are active (Max +80%)","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[40],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":8,"icon":"node_1"},"properties":{"max":80},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4,"output":{"type":"stat","name":"damMult.Basaltic:7.Trap Damage"},"slider_step":1,"scaling":[20]}],"id":65},{"display_name":"Stronger Patient Hunter","desc":"Add +80% Max Damage to Patient Hunter","archetype":"Trapper","archetype_req":0,"base_abil":10,"parents":[26],"dependencies":[65],"blockers":[],"cost":1,"display":{"row":38,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Trap Wait Time","slider_max":4},{"type":"raw_stat","bonuses":[{"type":"prop","abil":65,"name":"max","value":80}]}],"id":66},{"display_name":"Frenzy","desc":"Every time you hit an enemy, briefly gain +6% Walk Speed (Max 200%). Decay -40% of the bonus every second","archetype":"Boltslinger","archetype_req":0,"parents":[59,6],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","output":{"type":"stat","name":"spd"},"scaling":[6],"max":160}],"id":67},{"display_name":"Phantom Ray","desc":"Condense Arrow Storm into a single ray that damages enemies 10 times per second","base_abil":7,"parents":[37,4],"dependencies":[7],"blockers":[11,6,23],"cost":2,"display":{"row":16,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"replace_spell","name":"Phantom Ray","base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Arrow","type":"damage","multipliers":[25,0,5,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Arrow":16}}]},{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":68},{"display_name":"Arrow Rain","desc":"When Arrow Shield loses its last charge, unleash 150 arrows raining down on enemies","base_abil":0,"parents":[6,38],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":15,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Per Arrow)","multipliers":[80,0,0,0,0,60]},{"type":"add_spell_prop","base_spell":4,"target_part":"Arrow Rain (Total)","hits":{"Arrow Rain (Per Arrow)":150}}],"id":69},{"display_name":"Decimator","desc":"Phantom Ray will increase its damage by 10% everytime you do not miss with it (Max 70%)","archetype":"Sharpshooter","archetype_req":0,"base_abil":7,"parents":[49,51],"dependencies":[68],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Phantom Ray hits","slider_max":7,"output":{"type":"stat","name":"damMult.Decimator:1.Single Arrow"},"scaling":[10]}],"id":70}],"Warrior":[{"display_name":"Bash","desc":"Violently bash the ground, dealing high damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_warrior"},"properties":{"aoe":4,"range":3},"effects":[{"type":"replace_spell","name":"Bash","cost":45,"base_spell":1,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Single Hit","type":"damage","multipliers":[130,20,0,0,0,0]},{"name":"Total Damage","type":"total","hits":{"Single Hit":1}}]}],"id":0},{"display_name":"Spear Proficiency 1","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":1},{"display_name":"Cheaper Bash","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-10}],"id":2},{"display_name":"Double Bash","desc":"Bash will hit a second time at a farther range","parents":[1],"base_abil":0,"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{"range":3},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","cost":0,"hits":{"Single Hit":1}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","cost":0,"multipliers":[-50,0,0,0,0,0]}],"id":3},{"display_name":"Charge","desc":"Charge forward at high speed (hold shift to cancel)","parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_warrior"},"properties":{},"effects":[{"type":"replace_spell","name":"Charge","cost":25,"base_spell":2,"spell_type":"damage","scaling":"spell","display":"","parts":[]}],"id":4},{"display_name":"Heavy Impact","desc":"After using Charge, violently crash down into the ground and deal damage","base_abil":4,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":9,"col":1,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Heavy Impact","cost":0,"multipliers":[100,0,0,0,0,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Heavy Impact":1}}],"id":5},{"display_name":"Vehement","desc":"For every 1% or 1 Raw Main Attack Damage you have from items, gain +2% Walk Speed (Max 20%)","archetype":"Fallen","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[7],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"mdPct"},{"type":"stat","name":"mdRaw"}],"output":{"type":"stat","name":"spd"},"scaling":[2,2],"max":20}],"id":6},{"display_name":"Tougher Skin","desc":"Harden your skin and become permanently +5% more resistant. For every 1% or 1 Raw Heath Regen you have from items, gain +10 Health (Max 100)","archetype":"Paladin","archetype_req":0,"parents":[4],"dependencies":[],"blockers":[6],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]},{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hprRaw"},{"type":"stat","name":"hprPct"}],"output":{"type":"stat","name":"hpBonus"},"scaling":[10,10],"max":100}],"id":7},{"display_name":"Uppercut","desc":"Rocket enemies in the air and deal massive damage","parents":[6,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_warrior"},"properties":{"aoe":3,"range":5},"effects":[{"type":"replace_spell","name":"Uppercut","cost":45,"base_spell":3,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"Uppercut","multipliers":[200,40,40,0,0,0]},{"name":"Total Damage","hits":{"Uppercut":1}}]}],"id":8},{"display_name":"Cheaper Charge","desc":"Reduce the Mana cost of Charge","base_abil":4,"parents":[8,10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":9},{"display_name":"War Scream","desc":"Emit a terrorizing roar that deals damage, pull nearby enemies, and add damage resistance to yourself and allies","parents":[7,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_warrior"},"properties":{"duration":30,"aoe":12,"defense_bonus":10},"effects":[{"type":"replace_spell","name":"War Scream","cost":35,"base_spell":4,"spell_type":"damage","scaling":"spell","display":"Total Damage","parts":[{"name":"War Scream","multipliers":[50,0,0,0,50,0]},{"name":"Total Damage","hits":{"War Scream":1}}]}],"id":10},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases base damage from all Earth attacks","archetype":"Fallen","archetype_req":0,"parents":[8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":11},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases base damage from all Thunder attacks","archetype":"Fallen","archetype_req":0,"parents":[8,14,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":12},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases base damage from all Water attacks","archetype":"Battle Monk","archetype_req":0,"parents":[9,12,14],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":13},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Battle Monk","archetype_req":0,"parents":[10,12,9],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":14},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Paladin","archetype_req":0,"parents":[10],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":15},{"display_name":"Quadruple Bash","desc":"Bash will hit 4 times at an even larger range","archetype":"Fallen","archetype_req":0,"base_abil":0,"parents":[11,17],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{"range":6},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Total Damage","hits":{"Single Hit":2}},{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[-20,0,0,0,0,0]}],"id":16},{"display_name":"Fireworks","desc":"Mobs hit by Uppercut will explode mid-air and receive additional damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[12,16],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Fireworks","multipliers":[80,0,20,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","hits":{"Fireworks":1}}],"id":17},{"display_name":"Half-Moon Swipe","desc":"Uppercut will deal a footsweep attack at a longer and wider angle. All elemental conversions become Water","archetype":"Battle Monk","archetype_req":1,"base_abil":8,"parents":[13],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{"range":4},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":-10,"multipliers":[-70,0,0,30,0,0]}],"id":18},{"display_name":"Flyby Jab","desc":"Damage enemies in your way when using Charge","base_abil":4,"parents":[14,20],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":6,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flyby Jab","multipliers":[20,0,0,0,0,40]},{"type":"add_spell_prop","base_spell":2,"target_part":"Contact Damage","display":"Contact Damage","hits":{"Flyby Jab":1}}],"id":19},{"display_name":"Flaming Uppercut","desc":"Uppercut will light mobs on fire, dealing damage every 0.6 seconds","archetype":"Paladin","archetype_req":0,"base_abil":8,"parents":[15,19],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":12,"col":8,"icon":"node_1"},"properties":{"duration":3,"tick":0.6},"effects":[{"type":"replace_spell","name":"Flaming Uppercut","base_spell":8,"display":"DPS","parts":[{"name":"Damage Tick","multipliers":[0,0,0,0,50,0]},{"name":"DPS","hits":{"Damage Tick":1.6666666666666667}},{"name":"Total Damage","hits":{"Damage Tick":5}}]}],"id":20},{"display_name":"Iron Lungs","desc":"War Scream deals more damage","archetype":"Paladin","archetype_req":0,"base_abil":10,"parents":[19,20],"dependencies":[],"blockers":[],"cost":1,"display":{"row":13,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"War Scream","cost":0,"multipliers":[30,0,0,0,0,30]}],"id":21},{"display_name":"Generalist","desc":"After casting 3 different spells in a row, your next spell will cost 5 mana","archetype":"Battle Monk","archetype_req":3,"parents":[23],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":2,"icon":"node_3"},"properties":{},"effects":[],"id":22},{"display_name":"Counter","desc":"When dodging a nearby enemy attack, get 30% chance to instantly attack back","archetype":"Battle Monk","archetype_req":0,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_1"},"properties":{"chance":30},"effects":[{"type":"replace_spell","name":"Counter","base_spell":5,"display":"Counter Damage","parts":[{"name":"Counter Damage","multipliers":[60,0,20,0,0,20]}]}],"id":23},{"display_name":"Mantle of the Bovemists","desc":"When casting War Scream, create a holy shield around you that reduces all incoming damage by 70% for 3 hits (20s cooldown)","archetype":"Paladin","archetype_req":3,"parents":[21],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"mantle_charge":3},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Mantle","value":70}]}],"id":24},{"display_name":"Bak'al's Grasp","desc":"After casting War Scream, become Corrupted (15s Cooldown). You cannot heal while in that state. While Corrupted, every 2% of Health you lose will add +4 Raw Damage to your attacks (Max 120)","archetype":"Fallen","archetype_req":2,"parents":[16,17],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":16,"col":1,"icon":"node_3"},"properties":{"cooldown":15},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","slider_max":100,"slider_step":1,"output":{"type":"stat","name":"damRaw"},"max":120,"scaling":[2]}],"id":25},{"display_name":"Spear Proficiency 2","desc":"Improve your Main Attack's damage and range w/ spear","base_abil":999,"parents":[25,27],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":0,"icon":"node_0"},"properties":{"melee_range":1},"effects":[{"type":"add_spell_prop","base_spell":0,"target_part":"melee","multipliers":[5,0,0,0,0,0]}],"id":26},{"display_name":"Cheaper Uppercut","desc":"Reduce the Mana Cost of Uppercut","base_abil":8,"parents":[26,28,23],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":27},{"display_name":"Aerodynamics","desc":"During Charge, you can steer and change direction","archetype":"Battle Monk","archetype_req":0,"base_abil":4,"parents":[27,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":28},{"display_name":"Provoke","desc":"Mobs damaged by War Scream will target only you for at least 5s. Reduce the Mana cost of War Scream","base_abil":10,"parents":[28,24],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":29},{"display_name":"Precise Strikes","desc":"+30% Critical Hit Damage","parents":[27,26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":18,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"critDamPct","value":30}]}],"id":30},{"display_name":"Air Shout","desc":"War Scream will fire a projectile that can go through walls and deal damage multiple times","base_abil":10,"parents":[28,29],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":18,"col":6,"icon":"node_1"},"properties":{"attackRate":2},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Air Shout","multipliers":[40,0,0,0,0,10]}],"id":31},{"display_name":"Enraged Blow","desc":"While Corriupted, every 1% of Health you lose will increase your damage by +3% (Max 300%)","archetype":"Fallen","archetype_req":0,"base_abil":25,"parents":[26],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":20,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider_name":"Corrupted","slider":true,"output":{"type":"stat","name":"damMult.Enraged"},"scaling":[3]}],"id":32},{"display_name":"Flying Kick","desc":"When using Charge, mobs hit will halt your momentum and get knocked back","archetype":"Battle Monk","archetype_req":1,"base_abil":4,"parents":[27,34],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":3,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick","multipliers":[150,0,0,20,0,30]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Flying Kick":1},"display":"Flying Kick Max Damage"}],"id":33},{"display_name":"Stronger Mantle","desc":"Add +2 additional charges to Mantle of the Bovemists","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[35,33],"dependencies":[24],"blockers":[],"cost":1,"display":{"row":20,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":24,"name":"mantle_charge","value":2}]}],"id":34},{"display_name":"Manachism","desc":"If you receive a hit that's less than 5% of your max HP, gain 10 Mana (1s Cooldown)","archetype":"Paladin","archetype_req":3,"parents":[34,29],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":8,"icon":"node_2"},"properties":{"cooldown":1},"effects":[],"id":35},{"display_name":"Boiling Blood","desc":"Bash leaves a trail of boiling blood behind its first explosion, slowing down and damaging enemies above it every 0.4 seconds","base_abil":0,"parents":[32,37],"dependencies":[],"blockers":[],"cost":2,"display":{"row":22,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Boiling Blood","cost":0,"multipliers":[25,0,0,0,5,0]}],"id":36},{"display_name":"Ragnarokkr","desc":"War Scream become deafening, increasing its range and giving damage bonus to players","archetype":"Fallen","archetype_req":0,"base_abil":10,"parents":[36,33],"dependencies":[10],"blockers":[],"cost":2,"display":{"row":22,"col":2,"icon":"node_2"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":10}],"id":37},{"display_name":"Ambidextrous","desc":"Increase your chance to attack with Counter by +30%","base_abil":23,"parents":[33,34,39],"dependencies":[23],"blockers":[],"cost":1,"display":{"row":22,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":23,"name":"chance","value":30}]}],"id":38},{"display_name":"Burning Heart","desc":"For every 100 Health Bonus you have from item IDs, gain +2% Fire Damage (Max 100%)","archetype":"Paladin","archetype_req":0,"parents":[38,40],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"hpBonus"}],"output":{"type":"stat","name":"fDamPct"},"scaling":[0.02],"max":100}],"id":39},{"display_name":"Stronger Bash","desc":"Increase the damage of Bash","base_abil":0,"parents":[39,35],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Single Hit","multipliers":[30,0,0,0,0,0]}],"id":40},{"display_name":"Intoxicating Blood","desc":"After leaving Corrupted, gain 2% of the health lost back for each enemy killed while Corrupted","archetype":"Fallen","archetype_req":5,"base_abil":25,"parents":[37,36],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":23,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":41},{"display_name":"Comet","desc":"After being hit by Fireworks, enemies will crash into the ground and receive more damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[37],"dependencies":[17],"blockers":[],"cost":2,"display":{"row":24,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Comet","cost":0,"multipliers":[80,20,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Total Damage","cost":0,"hits":{"Comet":1}}],"id":42},{"display_name":"Collide","desc":"Mobs thrown into walls from Flying Kick will explode and receive additonal damage","archetype":"Battle Monk","archetype_req":4,"base_abil":4,"parents":[38,39],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":5,"icon":"node_1"},"properties":{"aoe":4},"effects":[{"type":"add_spell_prop","base_spell":2,"target_part":"Collide","cost":0,"multipliers":[150,0,0,0,50,0]},{"type":"add_spell_prop","base_spell":2,"target_part":"Flying Kick Max Damage","hits":{"Collide":1}}],"id":43},{"display_name":"Rejuvenating Skin","desc":"Regain back 30% of the damage you take as healing over 30s","archetype":"Paladin","archetype_req":5,"parents":[39,40],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":44},{"display_name":"Uncontainable Corruption","desc":"Reduce the cooldown of Bak'al's Grasp by -5s, and increase the raw damage gained for every 2% of health lost by +1","base_abil":25,"parents":[36,46],"dependencies":[25],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"stat","name":"damRaw"},"scaling":[0.5]},{"type":"raw_stat","bonuses":[{"type":"prop","abil":25,"name":"cooldown","value":-5}]}],"id":45},{"display_name":"Radiant Devotee","desc":"For every 4% Reflection you have from items, gain +1/5s Mana Regen (Max 10/5s)","archetype":"Battle Monk","archetype_req":1,"parents":[47,45],"dependencies":[],"blockers":[],"cost":1,"display":{"row":26,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","inputs":[{"type":"stat","name":"ref"}],"output":{"type":"stat","name":"mr"},"scaling":[0.25],"max":10}],"id":46},{"display_name":"Whirlwind Strike","desc":"Uppercut will create a strong gust of air, launching you upward with enemies (Hold shift to stay grounded)","archetype":"Battle Monk","archetype_req":5,"base_abil":8,"parents":[38,46],"dependencies":[8],"blockers":[],"cost":2,"display":{"row":26,"col":4,"icon":"node_1"},"properties":{"range":2},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","multipliers":[0,0,0,0,0,50]}],"id":47},{"display_name":"Mythril Skin","desc":"Gain +5% Base Resistance and become immune to knockback","archetype":"Paladin","archetype_req":6,"parents":[44],"dependencies":[],"blockers":[],"cost":2,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"defMult.Base","value":5}]}],"id":48},{"display_name":"Armour Breaker","desc":"While Corrupted, losing 30% Health will make your next Uppercut destroy enemies' defense, rendering them weaker to damage","archetype":"Fallen","archetype_req":0,"base_abil":8,"parents":[45,46],"dependencies":[25],"blockers":[],"cost":2,"display":{"row":27,"col":1,"icon":"node_2"},"properties":{"duration":5},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"damMult.ArmorBreaker","value":30}]}],"id":49},{"display_name":"Shield Strike","desc":"When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost","archetype":"Paladin","archetype_req":0,"base_abil":24,"parents":[48,51],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":6,"icon":"node_1"},"properties":{},"effects":[{"type":"replace_spell","name":"Shield Strike","base_spell":6,"display":"Damage per Shield","parts":[{"name":"Damage per Shield","multipliers":[60,0,20,0,0,0]}]}],"id":50},{"display_name":"Sparkling Hope","desc":"Everytime you heal 5% of your max health, deal damage to all nearby enemies","archetype":"Paladin","archetype_req":0,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_2"},"properties":{"aoe":6},"effects":[{"type":"replace_spell","name":"Sparkling Hope","base_spell":7,"display":"Damage Tick","parts":[{"name":"Damage Tick","multipliers":[10,0,5,0,0,0]}]}],"id":51},{"display_name":"Massive Bash","desc":"While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)","archetype":"Fallen","archetype_req":8,"base_abil":25,"parents":[53,45],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Corrupted","output":{"type":"prop","abil":0,"name":"aoe"},"scaling":[0.3333333333333333],"max":10}],"id":52},{"display_name":"Tempest","desc":"War Scream will ripple the ground and deal damage 3 times in a large area","archetype":"Battle Monk","archetype_req":0,"base_abil":10,"parents":[52,54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{"aoe":16},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest","multipliers":[30,10,0,0,0,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Tempest Total Damage","hits":{"Tempest":3}},{"type":"add_spell_prop","base_spell":4,"target_part":"Total Damage","hits":{"Tempest":3}}],"id":53},{"display_name":"Spirit of the Rabbit","desc":"Reduce the Mana cost of Charge and increase your Walk Speed by +20%","archetype":"Battle Monk","archetype_req":5,"base_abil":4,"parents":[53,47],"dependencies":[],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5},{"type":"raw_stat","bonuses":[{"type":"stat","name":"spd","value":20}]}],"id":54},{"display_name":"Massacre","desc":"While Corrupted, if your effective attack speed is Slow or lower, hitting an enemy with your Main Attack will add +1% to your Corrupted bar","archetype":"Fallen","archetype_req":5,"base_abil":999,"parents":[53,52],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":55},{"display_name":"Axe Kick","desc":"Increase the damage of Uppercut, but also increase its mana cost","base_abil":8,"parents":[53,54],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":3,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Uppercut","cost":10,"multipliers":[100,0,0,0,0,0]}],"id":56},{"display_name":"Radiance","desc":"Bash will buff your allies' positive IDs. (15s Cooldown)","archetype":"Paladin","archetype_req":2,"base_abil":0,"parents":[54,58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":29,"col":5,"icon":"node_2"},"properties":{"cooldown":15},"effects":[],"id":57},{"display_name":"Cheaper Bash 2","desc":"Reduce the Mana cost of Bash","base_abil":0,"parents":[57,50,51],"dependencies":[],"blockers":[],"cost":1,"display":{"row":29,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":58},{"display_name":"Cheaper War Scream","desc":"Reduce the Mana cost of War Scream","base_abil":10,"parents":[52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":59},{"display_name":"Discombobulate","desc":"Every time you hit an enemy, briefly increase your elemental damage dealt to them by +3 (Additive, Max +80). This bonus decays -5 every second","archetype":"Battle Monk","archetype_req":11,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":2,"icon":"node_3"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Hits dealt","slider_max":27,"output":[{"type":"stat","name":"eDamAddMin"},{"type":"stat","name":"eDamAddMax"},{"type":"stat","name":"tDamAddMin"},{"type":"stat","name":"tDamAddMax"},{"type":"stat","name":"wDamAddMin"},{"type":"stat","name":"wDamAddMax"},{"type":"stat","name":"fDamAddMin"},{"type":"stat","name":"fDamAddMax"},{"type":"stat","name":"aDamAddMin"},{"type":"stat","name":"aDamAddMax"}],"scaling":[3],"max":80}],"id":60},{"display_name":"Thunderclap","desc":"Bash will cast at the player's position and gain additional AoE.\n\n All elemental conversions become Thunder","archetype":"Battle Monk","archetype_req":8,"parents":[62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_1"},"properties":{},"effects":[{"type":"convert_spell_conv","target_part":"all","base_spell":1,"conversion":"Thunder"},{"type":"raw_stat","bonuses":[{"type":"prop","abil":0,"name":"aoe","value":3}]}],"id":61},{"display_name":"Cyclone","desc":"After casting War Scream, envelop yourself with a vortex that damages nearby enemies every 0.5s","archetype":"Battle Monk","archetype_req":0,"parents":[54],"dependencies":[],"blockers":[],"cost":2,"display":{"row":31,"col":4,"icon":"node_1"},"properties":{"aoe":4,"duration":20},"effects":[{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone","multipliers":[10,0,0,0,5,10]},{"type":"add_spell_prop","base_spell":4,"target_part":"Cyclone Total Damage","hits":{"Cyclone":40}}],"id":62},{"display_name":"Second Chance","desc":"When you receive a fatal blow, survive and regain 30% of your Health (10m Cooldown)","archetype":"Paladin","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":63},{"display_name":"Blood Pact","desc":"If you do not have enough mana to cast a spell, spend health instead (0.6% health per mana)","archetype":"Fallen","archetype_req":10,"parents":[59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":1,"icon":"node_3"},"properties":{"health_cost":0.6},"effects":[],"id":64},{"display_name":"Haemorrhage","desc":"Reduce Blood Pact's health cost. (0.3% health per mana)","archetype":"Fallen","archetype_req":0,"base_abil":64,"parents":[64],"dependencies":[64],"blockers":[],"cost":1,"display":{"row":35,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":64,"name":"health_cost","value":-0.3}]}],"id":65},{"display_name":"Brink of Madness","desc":"If your health is 25% full or less, gain +40% Resistance","parents":[64,67],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":4,"icon":"node_2"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"stat","name":"defMult.Brink","value":40}]}],"id":66},{"display_name":"Cheaper Uppercut 2","desc":"Reduce the Mana cost of Uppercut","base_abil":8,"parents":[63,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":35,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":67},{"display_name":"Martyr","desc":"When you receive a fatal blow, all nearby allies become invincible","archetype":"Paladin","archetype_req":0,"parents":[63],"dependencies":[],"blockers":[],"cost":2,"display":{"row":35,"col":8,"icon":"node_1"},"properties":{"duration":3,"aoe":12},"effects":[],"id":68}],"Mage":[{"display_name":"Meteor","desc":"Summon a slow but powerful meteor from the sky, dealing massive damage in a large area","parents":[],"dependencies":[],"blockers":[],"cost":1,"display":{"row":0,"col":4,"icon":"node_mage"},"properties":{"aoe":5,"range":18},"effects":[{"type":"replace_spell","name":"Meteor","cost":55,"base_spell":3,"display":"Total Damage","parts":[{"name":"Meteor Damage","multipliers":[300,100,0,0,0,0]},{"name":"Total Damage","hits":{"Meteor Damage":1}}]}],"id":0},{"display_name":"Teleport","desc":"Instantly teleport in the direction you're facing","parents":[4],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":4,"icon":"node_mage"},"properties":{"range":12},"effects":[{"type":"replace_spell","name":"Teleport","cost":25,"base_spell":2,"display":"","parts":[]}],"id":1},{"display_name":"Heal","desc":"Heal yourself and nearby allies in a large area around you. (When healing an ally, you cannot heal more than 30% of their max health)","parents":[14,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":2,"icon":"node_mage"},"properties":{"aoe":5},"effects":[{"type":"replace_spell","name":"Heal","cost":35,"base_spell":1,"display":"Heal","parts":[{"name":"Heal","power":0.1}]}],"id":2},{"display_name":"Ice Snake","desc":"Summon a fast-moving ice snake that reduces your enemies' speed and damage them.","parents":[13,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":6,"icon":"node_mage"},"properties":{"range":18,"effects":40,"duration":3},"effects":[{"type":"replace_spell","name":"Ice Snake","cost":35,"base_spell":4,"display":"Ice Snake Damage","parts":[{"name":"Ice Snake Damage","multipliers":[70,0,0,30,0,0]}]}],"id":3},{"display_name":"Shooting Star","desc":"Drastically increase the speed of your Meteor ability.","base_abil":3,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":4,"col":4,"icon":"node_1"},"properties":{},"effects":[],"id":4},{"display_name":"Wand Proficiency I","desc":"Improve your Main Attack's damage and range when using a wand.","base_abil":999,"parents":[0],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":5},{"display_name":"Cheaper Meteor","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[5],"dependencies":[],"blockers":[],"cost":1,"display":{"row":2,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-10}],"id":6},{"display_name":"Earth Mastery","base_abil":998,"desc":"Increases your base damage from all Earth attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"eDamPct","value":20},{"type":"stat","name":"eDamAddMin","value":2},{"type":"stat","name":"eDamAddMax","value":4}]}],"id":7},{"display_name":"Thunder Mastery","base_abil":998,"desc":"Increases your base damage from all Thunder attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2,12],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"tDamPct","value":10},{"type":"stat","name":"tDamAddMin","value":1},{"type":"stat","name":"tDamAddMax","value":8}]}],"id":8},{"display_name":"Water Mastery","base_abil":998,"desc":"Increases your base damage from all Water attacks","archetype":"Light Bender","archetype_req":0,"parents":[12,8],"dependencies":[],"blockers":[],"cost":1,"display":{"row":11,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"wDamPct","value":15},{"type":"stat","name":"wDamAddMin","value":2},{"type":"stat","name":"wDamAddMax","value":4}]}],"id":9},{"display_name":"Air Mastery","base_abil":998,"desc":"Increases base damage from all Air attacks","archetype":"Riftwalker","archetype_req":0,"parents":[2],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"aDamPct","value":15},{"type":"stat","name":"aDamAddMin","value":3},{"type":"stat","name":"aDamAddMax","value":4}]}],"id":10},{"display_name":"Fire Mastery","base_abil":998,"desc":"Increases base damage from all Fire attacks","archetype":"Arcanist","archetype_req":0,"parents":[3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":10,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"fDamPct","value":15},{"type":"stat","name":"fDamAddMin","value":3},{"type":"stat","name":"fDamAddMax","value":5}]}],"id":11},{"display_name":"Cheaper Teleport","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[2,3],"dependencies":[],"blockers":[],"cost":1,"display":{"row":8,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":12},{"display_name":"Wisdom","desc":"For every 2% or 2 Raw Spell Damage you have from items, gain +1/5s mana regen (Max 5/5s)","archetype":"Arcanist","archetype_req":0,"parents":[1],"dependencies":[],"blockers":[14],"cost":1,"display":{"row":6,"col":6,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sdPct"},{"type":"stat","name":"sdRaw"}],"output":{"type":"stat","name":"mr"},"scaling":[0.5,0.5],"max":5}],"id":13},{"display_name":"Wand Proficiency II","desc":"Improve your Main Attack's damage and range when using a wand.","archetype":"Riftwalker","archetype_req":0,"base_abil":999,"parents":[1],"dependencies":[],"blockers":[],"cost":1,"display":{"row":6,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"stat","name":"mdPct","value":5}]}],"id":14},{"display_name":"Wind Slash","desc":"When using Teleport, slash through the air and deal damage to enemies you pierce.","archetype":"Riftwalker","base_abil":1,"parents":[10,16],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":12,"col":0,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Wind Slash","base_spell":2,"multipliers":[50,0,0,0,0,50]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":2,"display":"Total Damage","hits":{"Wind Slash":1}}],"id":15},{"display_name":"Thunderstorm","desc":"After casting Meteor, summon 3 lightning strikes and deal additional damage","base_abil":0,"parents":[15,8],"dependencies":[0],"blockers":[],"cost":2,"display":{"row":12,"col":2,"icon":"node_1"},"properties":{"aoe":2},"effects":[{"type":"add_spell_prop","target_part":"Lightning Damage","base_spell":3,"multipliers":[30,0,15,0,0,0]},{"type":"add_spell_prop","target_part":"Total Damage","base_spell":3,"hits":{"Lightning Damage":3}}],"id":16},{"display_name":"Stronger Meteor","desc":"Increase the damage of Meteor.","base_abil":0,"archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":13,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Meteor Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Lightning Damage","behavior":"modify","multipliers":[30,90,0,0,0,0]}],"id":17},{"display_name":"Burning Sigil","desc":"Meteor will leave a sigil that damages enemies every 0.4s.","base_abil":0,"parents":[11,7],"dependencies":[],"blockers":[],"cost":2,"display":{"row":12,"col":7,"icon":"node_1"},"properties":{"aoe":7,"duration":8},"effects":[{"type":"replace_spell","name":"Burning Sigil","base_spell":6,"display":"DPS","parts":[{"name":"Tick Damage","multipliers":[15,0,0,0,25,0]},{"name":"DPS","hits":{"Tick Damage":2.5}},{"name":"Total Burn Damage","hits":{"Tick Damage":20}}]}],"id":18},{"display_name":"Sunshower","desc":"Heal emit a strong light, damaging nearby enemies.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[9],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":13,"col":4,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Sunshower Damage","multipliers":[70,0,0,30,0,0]}],"id":19},{"display_name":"Windsweeper","desc":"Your Main Attack will add +1 Winded to enemies you hit. (Max 5, 0.5s cooldown) Ice Snake will deal additional damage to enemies for every Winded they have","archetype":"Riftwalker","archetype_req":3,"parents":[15,16],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":15,"col":1,"icon":"node_3"},"properties":{"max":5},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"nConvBase:4.Ice Snake Damage"},"scaling":[20],"slider_step":1,"slider_max":5},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":{"type":"stat","name":"wConvBase:4.Ice Snake Damage"},"scaling":[10]}],"id":20},{"display_name":"Ophanim","desc":"When casting Meteor, instead summon 2 orbs of light with 200 Health that will attack when you use your Main Attack. When they damage an enemy, they lose 20% of their Health. They can be healed back.","archetype":"Light Bender","archetype_req":2,"parents":[19],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":4,"icon":"node_3"},"properties":{"health":200},"effects":[{"type":"replace_spell","name":"Ophanim","base_spell":3,"display":"Per Melee (max)","parts":[{"name":"Per Orb","multipliers":[50,0,30,20,0,0]},{"name":"Per Melee (max)","hits":{"Per Orb":2}}]},{"type":"add_spell_prop","base_spell":3,"cost":30}],"id":21},{"display_name":"Arcane Transfer","desc":"Meteor and Ice Snake will add +5 Mana to a Mana Bank for every aggressive enemy you hit. Heal will now transfer the content of your Mana Bank into usable Mana instead of healing.","archetype":"Arcanist","archetype_req":2,"parents":[18],"dependencies":[],"blockers":[],"cost":2,"display":{"row":15,"col":7,"icon":"node_3"},"properties":{"bank":90},"effects":[{"type":"replace_spell","name":"Arcane Transfer","base_spell":1,"parts":[],"display":""}],"id":22},{"display_name":"Cheaper Heal","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[20,24],"dependencies":[],"blockers":[],"cost":1,"display":{"row":17,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":23},{"display_name":"Purification","desc":"Heal and Arcane Transfer will purify you of all negative effects and fire. (3s Cooldown)","base_abil":1,"parents":[21,23,25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":17,"col":4,"icon":"node_2"},"properties":{},"effects":[],"id":24},{"display_name":"Sentient Snake","desc":"Ice Snake will follow the direction you're facing, allowing you to control it.","base_abil":3,"parents":[22,24],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":17,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":25},{"display_name":"Eye Piercer","desc":"Teleport will blind enemies, confusing them for a short amount of time.","base_abil":1,"parents":[23],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":18,"col":0,"icon":"node_1"},"properties":{},"effects":[],"id":26},{"display_name":"Breathless","desc":"Meteor will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[23,24],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":18,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:3.Meteor Damage"},{"type":"stat","name":"eConvBase:3.Meteor Damage"},{"type":"stat","name":"nConvBase:3.Per Orb"},{"type":"stat","name":"eConvBase:3.Per Orb"},{"type":"stat","name":"nConvBase:3.Lightning Damage"},{"type":"stat","name":"eConvBase:3.Lightning Damage"}],"scaling":[15]}],"id":27},{"display_name":"Larger Heal","desc":"Increase your Heal's range.","base_abil":1,"archetype":"Light Bender","archetype_req":0,"parents":[24,25],"dependencies":[2],"blockers":[22],"cost":1,"display":{"row":18,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":2,"name":"aoe","value":2}]}],"id":28},{"display_name":"Larger Mana Bank","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[25],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":18,"col":8,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":22,"name":"bank","value":30}]}],"id":29},{"display_name":"Cheaper Ice Snake","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[26],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":30},{"display_name":"Cheaper Teleport II","desc":"Reduce the Mana cost of Teleport.","base_abil":1,"parents":[24,32],"dependencies":[],"blockers":[],"cost":1,"display":{"row":20,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":2,"cost":-5}],"id":31},{"display_name":"Fortitude","desc":"After healing 120% of your max health within 10s, apply a damage bonus to each player you've healed. (15s Cooldown)","base_abil":2,"archetype":"Light Bender","archetype_req":0,"parents":[30,31],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":2,"icon":"node_2"},"properties":{"duration":5},"effects":[],"id":32},{"display_name":"Pyrokinesis","desc":"When your Mana Bank reaches 30, your Main Attack will stop and explode when it hits an enemy. (Damage is dealt as Main Attack Damage)","base_abil":4,"archetype":"Arcanist","archetype_req":4,"parents":[25],"dependencies":[],"blockers":[],"cost":2,"display":{"row":20,"col":7,"icon":"node_2"},"properties":{},"__TODO":"replace_spell pyrokinesis damage","effects":[],"id":33},{"display_name":"Seance","desc":"For every 5/3s Lifesteal you have from items, gain 1% Spell Damage (Max 50%)","archetype":"","archetype_req":0,"parents":[33,36],"dependencies":[],"blockers":[],"cost":1,"display":{"row":22,"col":7,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"ls"}],"output":{"type":"stat","name":"sdPct"},"scaling":[0.2],"max":50}],"id":34},{"display_name":"Blink","desc":"Teleport will trigger 2 times in quick successions","base_abil":1,"archetype":"Riftwalker","archetype_req":0,"parents":[32,30],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":21,"col":1,"icon":"node_1"},"properties":{},"effects":[{"type":"raw_stat","toggle":true,"bonuses":[{"type":"prop","abil":1,"name":"range","value":-4}]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Wind Slash":1,"Explosion Damage":1}}],"id":35},{"display_name":"Snake Nest","desc":"Ice Snake will summon 3 snakes.","base_abil":3,"parents":[34,31,40],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":22,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":36},{"display_name":"Arcane Restoration","desc":"Pyrokinesis will add +1 Mana every 1s to your Mana Bank when hitting an aggressive enemy.","base_abil":999,"archetype":"Arcanist","archetype_req":0,"parents":[34,36],"dependencies":[33],"blockers":[],"cost":2,"display":{"row":23,"col":6,"icon":"node_1"},"properties":{"duration":4},"effects":[],"id":37},{"display_name":"Fluid Healing","desc":"For every 1% Water Damage Bonus you have, buff Heal's healing power by +0.3%.","archetype":"Light Bender","archetype_req":0,"base_abil":2,"parents":[40,39],"dependencies":[],"blockers":[],"cost":2,"display":{"row":23,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"wDam"}],"output":{"type":"stat","name":"healPct"},"scaling":[0.3]}],"id":38},{"display_name":"Transonic Warp","desc":"Teleport will deal additional damage to enemies for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[30],"dependencies":[3,20],"blockers":[],"cost":2,"display":{"row":23,"col":0,"icon":"node_2"},"properties":{},"effects":[{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"nConvBase:2.Wind Slash"},{"type":"stat","name":"nConvBase:2.Explosion Damage"}],"scaling":[30]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"tConvBase:2.Wind Slash"},{"type":"stat","name":"tConvBase:2.Explosion Damage"}],"scaling":[10]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","output":[{"type":"stat","name":"aConvBase:2.Wind Slash"},{"type":"stat","name":"aConvBase:2.Explosion Damage"}],"scaling":[5]}],"id":39},{"display_name":"Healthier Ophanim I","desc":"Increase the health of your orbs from Ophanim by +800 and reduce the damage they take when hitting an enemy by -5%.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[32,31],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":22,"col":3,"icon":"node_0"},"properties":{},"effects":[],"id":40},{"display_name":"Orphion's Pulse","desc":"Heal will trigger 2 more times, increasing the overall healing.","archetype":"Light Bender","base_abil":2,"parents":[40,36],"dependencies":[2],"blockers":[22],"cost":2,"display":{"row":23,"col":4,"icon":"node_1"},"properties":{"aoe":5},"effects":[{"type":"add_spell_prop","base_spell":1,"target_part":"Heal Pulse","power":0.15},{"type":"add_spell_prop","base_spell":1,"display":"Total Heal","target_part":"Total Heal","hits":{"Heal":1,"Heal Pulse":2}}],"id":41},{"display_name":"Diffusion","desc":"If you kill an enemy with Winded on them, the leftover Winded will spread to nearby enemies.","archetype":"Riftwalker","archetype_req":6,"base_abil":20,"parents":[39,38],"dependencies":[20],"blockers":[],"cost":2,"display":{"row":25,"col":1,"icon":"node_3"},"properties":{"aoe":5},"effects":[],"id":42},{"display_name":"Lightweaver","desc":"After healing 60% of your max health within 10s, summon a rotating orb that damages all enemies it touches for 20s. (Max 3 Orbs)","archetype":"Light Bender","archetype_req":7,"parents":[41],"dependencies":[],"blockers":[],"cost":2,"display":{"row":25,"col":4,"icon":"node_3"},"properties":{},"effects":[{"type":"replace_spell","name":"Lightweaver","base_spell":5,"display":"Orb Damage","parts":[{"name":"Single Orb","type":"damage","multipliers":[30,0,0,0,20,0]},{"name":"Orb Damage","type":"total","hits":{"Single Orb":3}}]}],"id":43},{"display_name":"Arcane Speed","desc":"After casting Heal or Arcane Transfer, gain +80% speed for 3s. (8s Cooldown)","base_abil":2,"parents":[43,45],"dependencies":[2],"blockers":[],"cost":2,"display":{"row":25,"col":6,"icon":"node_1"},"properties":{},"effects":[],"id":44},{"display_name":"Larger Mana Bank II","desc":"Increase your maximum Mana Bank by +30.","base_abil":1,"archetype":"Arcanist","archetype_req":0,"parents":[34,44],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":25,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":45},{"display_name":"Psychokinesis","desc":"Meteor will launch directly from you as a slow projectile.","base_abil":3,"archetype":"Arcanist","archetype_req":5,"parents":[45,44],"dependencies":[0],"blockers":[],"cost":1,"display":{"row":26,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":46},{"display_name":"More Winded","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[42],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":26,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":47},{"display_name":"Cheaper Ice Snake II","desc":"Reduce the Mana cost of Ice Snake.","base_abil":3,"parents":[42,52],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":1,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":4,"cost":-5}],"id":48},{"display_name":"Cheaper Meteor II","desc":"Reduce the Mana cost of Meteor.","base_abil":0,"parents":[52,43,44],"dependencies":[],"blockers":[],"cost":1,"display":{"row":27,"col":5,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"cost":-5}],"id":49},{"display_name":"Chaos Explosion","desc":"When your Mana Bank reaches 120, casting Arcane Transfer will rapidly unleash the last 3 spells you've cast in order.","base_abil":22,"archetype":"Arcanist","archetype_req":8,"parents":[45],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":27,"col":8,"icon":"node_3"},"properties":{},"effects":[],"id":50},{"display_name":"Arcane Power","desc":"Meteor and Ice Snake will add +2 Mana to your Mana Bank for each aggressive mob you hit.","base_abil":22,"archetype":"Arcanist","archetype_req":0,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":29,"col":6,"icon":"node_0"},"properties":{},"effects":[],"id":51},{"display_name":"Explosive Entrance","desc":"Deal Damage in an area on the location you Teleport to.","base_abil":1,"parents":[48,49],"dependencies":[1],"blockers":[],"cost":2,"display":{"row":27,"col":3,"icon":"node_1"},"properties":{"aoe":3},"effects":[{"type":"add_spell_prop","target_part":"Explosion Damage","base_spell":2,"multipliers":[50,0,0,0,30,0]},{"type":"add_spell_prop","behavior":"modify","target_part":"Total Damage","base_spell":2,"hits":{"Explosion Damage":1}}],"id":52},{"display_name":"Gust","desc":"Ice Snake will add +1 Winded to enemies and deal more damage.","base_abil":3,"archetype":"Riftwalker","archetype_req":7,"parents":[48,52],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":2,"icon":"node_1"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Ice Snake Damage","base_spell":4,"multipliers":[0,0,0,0,0,20]}],"id":53},{"display_name":"Time Dilation","desc":"When sprinting, create an area that increases the speed of all allies the longer they run in it. (Step out or stop running to cancel)","archetype":"Riftwalker","archetype_req":7,"parents":[48],"dependencies":[],"blockers":[],"cost":2,"display":{"row":28,"col":0,"icon":"node_2"},"properties":{},"effects":[],"id":54},{"display_name":"Better Ophanim","desc":"Increase your maximum orbs from Ophanim by +1.","archetype":"Light Bender","archetype_req":0,"base_abil":21,"parents":[49],"_parents":["Explosive Entrance","Cheaper Meteor II"],"dependencies":[21],"blockers":[],"cost":1,"display":{"row":28,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":1}}],"id":55},{"display_name":"Arctic Snake","desc":"Ice Snake will freeze enemies completely for 2s.","base_abil":3,"parents":[50],"dependencies":[3],"blockers":[],"cost":2,"display":{"row":28,"col":7,"icon":"node_1"},"properties":{},"effects":[],"id":56},{"display_name":"Devitalize","desc":"Enemies will deal -2% damage for every Winded they have.","base_abil":20,"archetype":"Riftwalker","archetype_req":5,"parents":[58,59],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":1,"icon":"node_1"},"properties":{},"effects":[],"id":57},{"display_name":"More Winded II","desc":"Incrase your maximum Winded by +5.","base_abil":20,"archetype":"Riftwalker","archetype_req":0,"parents":[54],"_parents":["Time Dilation","Dynamic Faith"],"dependencies":[20],"blockers":[],"cost":1,"display":{"row":31,"col":0,"icon":"node_0"},"properties":{},"effects":[{"type":"raw_stat","bonuses":[{"type":"prop","abil":20,"name":"max","value":5}]},{"type":"stat_scaling","slider":true,"slider_name":"Winded","slider_max":5}],"id":58},{"display_name":"Dynamic Faith","desc":"For every 2% Sprint you have from items, gain +1% Thunder Damage (Max 100%)","parents":[58,61],"dependencies":[],"blockers":[],"cost":1,"display":{"row":31,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"stat_scaling","slider":false,"inputs":[{"type":"stat","name":"sprint"}],"output":{"type":"stat","name":"tDamPct"},"scaling":[0.5],"max":100}],"id":59},{"display_name":"Divination","desc":"Increase your maximum orbs from Ophanim by +3 and reduce their damage.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[59,61],"dependencies":[21],"blockers":[],"cost":2,"display":{"row":32,"col":3,"icon":"node_2"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":3,"target_part":"Per Orb","multipliers":[-50,0,-10,0,0,0]},{"type":"add_spell_prop","base_spell":3,"target_part":"Per Melee (max)","hits":{"Per Orb":3}}],"id":60},{"display_name":"Healthier Ophanim II","desc":"Increase the health of your orbs from Ophanim by +3000.","base_abil":21,"archetype":"Light Bender","archetype_req":0,"parents":[55],"dependencies":[40],"blockers":[],"cost":1,"display":{"row":31,"col":4,"icon":"node_0"},"properties":{},"effects":[],"id":61},{"display_name":"Sunflare","desc":"After healing 400% of your max health within 10s, your next Heal will make every nearby ally temporarily immune.","archetype":"Light Bender","archetype_req":12,"base_abil":2,"parents":[61],"dependencies":[],"blockers":[],"cost":2,"display":{"row":32,"col":5,"icon":"node_3"},"properties":{"aoe":12,"duration":5},"effects":[],"id":62},{"display_name":"Larger Mana Bank III","desc":"Increase your maximum Mana Bank by +30.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[56],"dependencies":[22],"blockers":[],"cost":1,"display":{"row":31,"col":7,"icon":"node_0"},"properties":{},"effects":[],"id":63},{"display_name":"Arcane Overflow","desc":"Arcane Transfer will allow you to overflow your mana over its maximum limits.","archetype":"Arcanist","archetype_req":11,"base_abil":22,"parents":[63],"dependencies":[22],"blockers":[],"cost":2,"display":{"row":33,"col":7,"icon":"node_3"},"properties":{},"effects":[],"id":64},{"display_name":"Memory Recollection","desc":"Chaos Explosion will cast +2 spells.","archetype":"Arcanist","archetype_req":0,"base_abil":22,"parents":[64],"dependencies":[50],"blockers":[],"cost":1,"display":{"row":34,"col":8,"icon":"node_0"},"properties":{},"effects":[],"id":65},{"display_name":"Manastorm","desc":"If you have more than 100 Mana, casting a spell will give you +10 mana over 5s.","archetype":"Arcanist","archetype_req":1,"parents":[69,64,62],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":5,"icon":"node_1"},"properties":{},"effects":[],"id":66},{"display_name":"Better Lightweaver","desc":"Increase your Max Orbs by +2.","archetype":"Light Bender","archetype_req":0,"base_abil":43,"parents":[69,66],"dependencies":[43],"blockers":[],"cost":1,"display":{"row":35,"col":4,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","target_part":"Orb Damage","base_spell":5,"hits":{"Single Orb":2}}],"id":67},{"display_name":"Timelock","desc":"Holding shift and casting Heal will absorb all Winded on nearby enemies and make you Timelocked. While Timelocked, your mana will not be depleted and you become immovable from outside forces. Enemies will recieve Winded damage from all absorbed stacks. (Max 30)","archetype":"Riftwalker","archetype_req":12,"parents":[58],"dependencies":[],"blockers":[],"cost":2,"display":{"row":34,"col":0,"icon":"node_3"},"properties":{},"effects":[],"id":68},{"display_name":"Cheaper Heal II","desc":"Reduce the Mana cost of Heal.","base_abil":2,"parents":[68,66],"dependencies":[],"blockers":[],"cost":1,"display":{"row":34,"col":2,"icon":"node_0"},"properties":{},"effects":[{"type":"add_spell_prop","base_spell":1,"cost":-5}],"id":69}]} \ No newline at end of file From 01648189a82af35ac84e5a86933657f98b95821f Mon Sep 17 00:00:00 2001 From: hppeng Date: Sat, 16 Jul 2022 20:49:06 -0700 Subject: [PATCH 7/7] Fix item page --- item/index.html | 1 + js/display.js | 1 + js/item.js | 25 +++++++++++++++---------- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/item/index.html b/item/index.html index d5d6568..8ad3bd9 100644 --- a/item/index.html +++ b/item/index.html @@ -58,6 +58,7 @@ + diff --git a/js/display.js b/js/display.js index 00775ce..24813a9 100644 --- a/js/display.js +++ b/js/display.js @@ -1877,6 +1877,7 @@ function displayIDProbabilities(parent_id, item, amp) { parent_elem.appendChild(table_elem); for (const [id,val] of Object.entries(itemMap.get(item_name))) { if (rolledIDs.includes(id)) { + if (!item.get("maxRolls").get(id)) { continue; } let min = item.get("minRolls").get(id); let max = item.get("maxRolls").get(id); //Apply corkian amps diff --git a/js/item.js b/js/item.js index c29d2f0..4371afe 100644 --- a/js/item.js +++ b/js/item.js @@ -20,14 +20,17 @@ function init_itempage() { //displayExpandedItem(expandItem(itemMap.get(item_url_tag).statMap, []), "item-view"); try{ item = expandItem(itemMap.get(item_url_tag.replaceAll("%20"," ")), []); - displaysq2ExpandedItem(item, "item-view"); - displaysq2AdditionalInfo("additional-info", item); - displaysq2IDCosts("identification-costs", item); - if (item.get("set") && sets[item.get("set")]) { - displaysq2AllSetBonuses("set-bonus-info",item.get("set")); + if (item.get('category') === 'weapon') { + item.set('powders', []); + apply_weapon_powders(item); } - console.log(item); - displaysq2IDProbabilities("identification-probabilities", item, amp_state); + displayExpandedItem(item, "item-view"); + displayAdditionalInfo("additional-info", item); + displayIDCosts("identification-costs", item); + if (item.get("set") && sets[item.get("set")]) { + displayAllSetBonuses("set-bonus-info",item.get("set")); + } + displayIDProbabilities("identification-probabilities", item, amp_state); } catch (error) { console.log(error); console.log(error.stack); @@ -56,6 +59,8 @@ function toggleAmps(button_id) { } - -load_init(init_itempage); -//load_ing_init(init); +(async function() { + let load_promises = [ load_init() ]; + await Promise.all(load_promises); + init_itempage(); +})();