Fix some json for warrior (from the bottom up to massive bash)

This commit is contained in:
hppeng 2022-06-29 00:14:40 -07:00
parent 44d3fc996a
commit f1488a4352
3 changed files with 52 additions and 78 deletions

View file

@ -70,7 +70,7 @@ stat_scaling: {
"slider_name": Optional[str], "slider_name": Optional[str],
"slider_step": Optional[float], "slider_step": Optional[float],
"inputs": Optional[list[scaling_target]], "inputs": Optional[list[scaling_target]],
"output": scaling_target, "output": scaling_target | List[scaling_target],
"scaling": list[float], "scaling": list[float],
"max": float "max": float
} }

View file

@ -3453,7 +3453,6 @@ const atrees = {
}, },
"scaling": [1], "scaling": [1],
"max": 10, "max": 10,
"slider_step": 4
} }
] ]
}, },
@ -3537,7 +3536,6 @@ const atrees = {
] ]
}, },
{ {
"display_name": "Shield Strike", "display_name": "Shield Strike",
"desc": "When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost", "desc": "When your Mantle of the Bovemist loses all charges, deal damage around you for each Mantle individually lost",
@ -3564,7 +3562,6 @@ const atrees = {
} }
] ]
}, },
{ {
"display_name": "Sparkling Hope", "display_name": "Sparkling Hope",
"desc": "Everytime you heal 5% of your max health, deal damage to all nearby enemies", "desc": "Everytime you heal 5% of your max health, deal damage to all nearby enemies",
@ -3587,18 +3584,16 @@ const atrees = {
"type": "add_spell_prop", "type": "add_spell_prop",
"base_spell": 5, "base_spell": 5,
"target_part": "Sparkling Hope", "target_part": "Sparkling Hope",
"cost": 0,
"multipliers": [10, 0, 5, 0, 0, 0] "multipliers": [10, 0, 5, 0, 0, 0]
} }
] ]
}, },
{ {
"display_name": "Massive Bash", "display_name": "Massive Bash",
"desc": "While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)", "desc": "While Corrupted, every 3% Health you lose will add +1 AoE to Bash (Max 10)",
"archetype": "Fallen", "archetype": "Fallen",
"archetype_req": 8, "archetype_req": 8,
"base_abil": "Bak'al's Grasp", "base_abil": "Bash",
"parents": ["Tempest", "Uncontainable Corruption"], "parents": ["Tempest", "Uncontainable Corruption"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3608,8 +3603,7 @@ const atrees = {
"col": 0, "col": 0,
"icon": "node_2" "icon": "node_2"
}, },
"properties": { "properties": {},
},
"effects": [ "effects": [
{ {
"type": "stat_scaling", "type": "stat_scaling",
@ -3620,18 +3614,16 @@ const atrees = {
"abil": "Bash", "abil": "Bash",
"name": "aoe" "name": "aoe"
}, },
"scaling": [1], "scaling": [0.3333333333333333],
"max": 10, "max": 10,
"slider_step": 3
} }
] ]
}, },{
{
"display_name": "Tempest", "display_name": "Tempest",
"desc": "War Scream will ripple the ground and deal damage 3 times in a large area", "desc": "War Scream will ripple the ground and deal damage 3 times in a large area",
"archetype": "Battle Monk", "archetype": "Battle Monk",
"archetype_req": 0, "archetype_req": 0,
"base_abil": "War Scream",
"parents": ["Massive Bash", "Spirit of the Rabbit"], "parents": ["Massive Bash", "Spirit of the Rabbit"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3649,14 +3641,12 @@ const atrees = {
"type": "add_spell_prop", "type": "add_spell_prop",
"base_spell": 4, "base_spell": 4,
"target_part": "Tempest", "target_part": "Tempest",
"cost": "0",
"multipliers": [30, 10, 0, 0, 0, 10] "multipliers": [30, 10, 0, 0, 0, 10]
}, },
{ {
"type": "add_spell_prop", "type": "add_spell_prop",
"base_spell": 4, "base_spell": 4,
"target_part": "Tempest Total Damage", "target_part": "Tempest Total Damage",
"cost": "0",
"hits": { "hits": {
"Tempest": 3 "Tempest": 3
} }
@ -3665,19 +3655,15 @@ const atrees = {
"type": "add_spell_prop", "type": "add_spell_prop",
"base_spell": 4, "base_spell": 4,
"target_part": "Total Damage", "target_part": "Total Damage",
"cost": "0", "hits": { "Tempest": 3 }
"hits": {
"Tempest": 3
}
} }
] ]
}, },{
{
"display_name": "Spirit of the Rabbit", "display_name": "Spirit of the Rabbit",
"desc": "Reduce the Mana cost of Charge and increase your Walk Speed by +20%", "desc": "Reduce the Mana cost of Charge and increase your Walk Speed by +20%",
"archetype": "Battle Monk", "archetype": "Battle Monk",
"archetype_req": 5, "archetype_req": 5,
"base_abil": "Charge",
"parents": ["Tempest", "Whirlwind Strike"], "parents": ["Tempest", "Whirlwind Strike"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3697,22 +3683,15 @@ const atrees = {
}, },
{ {
"type": "raw_stat", "type": "raw_stat",
"bonuses": [ "bonuses": [{ "type": "stat", "name": "spd", "value": 20 }]
{
"type": "stat",
"name": "spd",
"value": 20
}
]
} }
] ]
}, },{
{
"display_name": "Massacre", "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", "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": "Fallen",
"archetype_req": 5, "archetype_req": 5,
"base_abil": 999,
"parents": ["Tempest", "Massive Bash"], "parents": ["Tempest", "Massive Bash"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3722,18 +3701,12 @@ const atrees = {
"col": 1, "col": 1,
"icon": "node_1" "icon": "node_1"
}, },
"properties": { "properties": {},
}, "effects": []
"effects": [ },{
]
},
{
"display_name": "Axe Kick", "display_name": "Axe Kick",
"desc": "Increase the damage of Uppercut, but also increase its mana cost", "desc": "Increase the damage of Uppercut, but also increase its mana cost",
"archetype": "", "base_abil": "Uppercut",
"archetype_req": 0,
"parents": ["Tempest", "Spirit of the Rabbit"], "parents": ["Tempest", "Spirit of the Rabbit"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3743,8 +3716,7 @@ const atrees = {
"col": 3, "col": 3,
"icon": "node_0" "icon": "node_0"
}, },
"properties": { "properties": {},
},
"effects": [ "effects": [
{ {
"type": "add_spell_prop", "type": "add_spell_prop",
@ -3754,13 +3726,12 @@ const atrees = {
"multipliers": [100, 0, 0, 0, 0, 0] "multipliers": [100, 0, 0, 0, 0, 0]
} }
] ]
}, },{
{
"display_name": "Radiance", "display_name": "Radiance",
"desc": "Bash will buff your allies' positive IDs. (15s Cooldown)", "desc": "Bash will buff your allies' positive IDs. (15s Cooldown)",
"archetype": "Paladin", "archetype": "Paladin",
"archetype_req": 2, "archetype_req": 2,
"base_abil": "Bash",
"parents": ["Spirit of the Rabbit", "Cheaper Bash 2"], "parents": ["Spirit of the Rabbit", "Cheaper Bash 2"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3773,16 +3744,13 @@ const atrees = {
"properties": { "properties": {
"cooldown": 15 "cooldown": 15
}, },
"effects": [ "effects": []
]
}, },
{ {
"display_name": "Cheaper Bash 2", "display_name": "Cheaper Bash 2",
"desc": "Reduce the Mana cost of Bash", "desc": "Reduce the Mana cost of Bash",
"archetype": "", "base_abil": "Bash",
"archetype_req": 0,
"parents": ["Radiance", "Shield Strike", "Sparkling Hope"], "parents": ["Radiance", "Shield Strike", "Sparkling Hope"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3792,8 +3760,7 @@ const atrees = {
"col": 7, "col": 7,
"icon": "node_0" "icon": "node_0"
}, },
"properties": { "properties": {},
},
"effects": [ "effects": [
{ {
"type": "add_spell_prop", "type": "add_spell_prop",
@ -3806,8 +3773,7 @@ const atrees = {
{ {
"display_name": "Cheaper War Scream", "display_name": "Cheaper War Scream",
"desc": "Reduce the Mana cost of War Scream", "desc": "Reduce the Mana cost of War Scream",
"archetype": "", "base_abil": "War Scream",
"archetype_req": 0,
"parents": ["Massive Bash"], "parents": ["Massive Bash"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -3817,8 +3783,7 @@ const atrees = {
"col": 0, "col": 0,
"icon": "node_0" "icon": "node_0"
}, },
"properties": { "properties": {},
},
"effects": [ "effects": [
{ {
"type": "add_spell_prop", "type": "add_spell_prop",
@ -3849,10 +3814,13 @@ const atrees = {
"type": "stat_scaling", "type": "stat_scaling",
"slider": true, "slider": true,
"slider_name": "Hits dealt", "slider_name": "Hits dealt",
"output": { "output": [
"type": "stat", { "type": "stat", "name": "eDamAddMin" }, { "type": "stat", "name": "eDamAddMax" },
"name": "rainrawButDifferent" { "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": [2], "scaling": [2],
"max": 50 "max": 50
} }
@ -3915,14 +3883,12 @@ const atrees = {
"type": "add_spell_prop", "type": "add_spell_prop",
"base_spell": 4, "base_spell": 4,
"target_part": "Cyclone", "target_part": "Cyclone",
"cost": 0,
"multipliers": [10, 0, 0, 0, 5, 10] "multipliers": [10, 0, 0, 0, 5, 10]
}, },
{ {
"type": "add_spell_prop", "type": "add_spell_prop",
"base_spell": 4, "base_spell": 4,
"target_part": "Cyclone Total Damage", "target_part": "Cyclone Total Damage",
"cost": 0,
"hits": { "hits": {
"Cyclone": 40 "Cyclone": 40
} }
@ -3951,7 +3917,7 @@ const atrees = {
{ {
"display_name": "Blood Pact", "display_name": "Blood Pact",
"desc": "If you do not have enough mana to cast a spell, spend health instead (1% health per mana)", "desc": "If you do not have enough mana to cast a spell, spend health instead (0.6% health per mana)",
"archetype": "", "archetype": "",
"archetype_req": 10, "archetype_req": 10,
"parents": ["Cheaper War Scream"], "parents": ["Cheaper War Scream"],
@ -3963,15 +3929,18 @@ const atrees = {
"col": 1, "col": 1,
"icon": "node_3" "icon": "node_3"
}, },
"properties": {}, "properties": {
"health_cost": 0.6
},
"effects": [] "effects": []
}, },
{ {
"display_name": "Haemorrhage", "display_name": "Haemorrhage",
"desc": "Reduce Blood Pact's health cost. (0.5% health per mana)", "desc": "Reduce Blood Pact's health cost. (0.3% health per mana)",
"archetype": "Fallen", "archetype": "Fallen",
"archetype_req": 0, "archetype_req": 0,
"base_abil": "Blood Pact",
"parents": ["Blood Pact"], "parents": ["Blood Pact"],
"dependencies": ["Blood Pact"], "dependencies": ["Blood Pact"],
"blockers": [], "blockers": [],
@ -3982,14 +3951,15 @@ const atrees = {
"icon": "node_1" "icon": "node_1"
}, },
"properties": {}, "properties": {},
"effects": [] "effects": [{
"type": "raw_stat",
"bonuses": [{ "type": "prop", "abil": "Blood Pact", "name": "health_cost", "value": -0.3}]
}]
}, },
{ {
"display_name": "Brink of Madness", "display_name": "Brink of Madness",
"desc": "If your health is 25% full or less, gain +40% Resistance", "desc": "If your health is 25% full or less, gain +40% Resistance",
"archetype": "",
"archetype_req": 0,
"parents": ["Blood Pact", "Cheaper Uppercut 2"], "parents": ["Blood Pact", "Cheaper Uppercut 2"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],
@ -4006,8 +3976,7 @@ const atrees = {
{ {
"display_name": "Cheaper Uppercut 2", "display_name": "Cheaper Uppercut 2",
"desc": "Reduce the Mana cost of Uppercut", "desc": "Reduce the Mana cost of Uppercut",
"archetype": "", "base_abil": "Uppercut",
"archetype_req": 0,
"parents": ["Second Chance", "Brink of Madness"], "parents": ["Second Chance", "Brink of Madness"],
"dependencies": [], "dependencies": [],
"blockers": [], "blockers": [],

View file

@ -37,22 +37,27 @@ for _class, info in atree_data.items():
translate([abil], "base_abil") translate([abil], "base_abil")
if "effects" not in info[abil]: if "effects" not in info[abil]:
print("WARNING: abil missing 'effects' tag")
print(info[abil]) print(info[abil])
info[abil]["effects"] = [] info[abil]["effects"] = []
for effect in info[abil]["effects"]: for effect in info[abil]["effects"]:
if effect["type"] == "raw_stat": if effect["type"] == "raw_stat":
for bonus in effect["bonuses"]: for bonus in effect["bonuses"]:
if "abil" in bonus: if "abil" in bonus and bonus["abil"] in id_data[_class]:
bonus["abil"] = id_data[_class][bonus["abil"]] bonus["abil"] = id_data[_class][bonus["abil"]]
elif effect["type"] == "stat_scaling": elif effect["type"] == "stat_scaling":
if "inputs" in effect: # Might not exist for sliders if "inputs" in effect: # Might not exist for sliders
for _input in effect["inputs"]: for _input in effect["inputs"]:
if "abil" in _input: if "abil" in _input and _input["abil"] in id_data[_class]:
_input["abil"] = id_data[_class][_input["abil"]] _input["abil"] = id_data[_class][_input["abil"]]
if isinstance(effect["output"], list):
if "abil" in effect["output"]: for output in effect["outputs"]:
effect["output"]["abil"] = id_data[_class][effect["output"]["abil"]] if "abil" in output and output["abil"] in id_data[_class]:
output["abil"] = id_data[_class][output["abil"]]
else:
if "abil" in effect["output"] and effect["output"]["abil"] in id_data[_class]:
effect["output"]["abil"] = id_data[_class][effect["output"]["abil"]]
with open('atree_constants_idfied.json', 'w', encoding='utf-8') as abil_dest: with open('atree_constants_idfied.json', 'w', encoding='utf-8') as abil_dest: