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_step": Optional[float],
"inputs": Optional[list[scaling_target]],
"output": scaling_target,
"output": scaling_target | List[scaling_target],
"scaling": list[float],
"max": float
}

View file

@ -3453,7 +3453,6 @@ const atrees = {
},
"scaling": [1],
"max": 10,
"slider_step": 4
}
]
},
@ -3537,7 +3536,6 @@ const atrees = {
]
},
{
"display_name": "Shield Strike",
"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",
"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",
"base_spell": 5,
"target_part": "Sparkling Hope",
"cost": 0,
"multipliers": [10, 0, 5, 0, 0, 0]
}
]
},
{
"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": "Bak'al's Grasp",
"base_abil": "Bash",
"parents": ["Tempest", "Uncontainable Corruption"],
"dependencies": [],
"blockers": [],
@ -3608,8 +3603,7 @@ const atrees = {
"col": 0,
"icon": "node_2"
},
"properties": {
},
"properties": {},
"effects": [
{
"type": "stat_scaling",
@ -3620,18 +3614,16 @@ const atrees = {
"abil": "Bash",
"name": "aoe"
},
"scaling": [1],
"scaling": [0.3333333333333333],
"max": 10,
"slider_step": 3
}
]
},
{
},{
"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": "War Scream",
"parents": ["Massive Bash", "Spirit of the Rabbit"],
"dependencies": [],
"blockers": [],
@ -3649,14 +3641,12 @@ const atrees = {
"type": "add_spell_prop",
"base_spell": 4,
"target_part": "Tempest",
"cost": "0",
"multipliers": [30, 10, 0, 0, 0, 10]
},
{
"type": "add_spell_prop",
"base_spell": 4,
"target_part": "Tempest Total Damage",
"cost": "0",
"hits": {
"Tempest": 3
}
@ -3665,19 +3655,15 @@ const atrees = {
"type": "add_spell_prop",
"base_spell": 4,
"target_part": "Total Damage",
"cost": "0",
"hits": {
"Tempest": 3
}
"hits": { "Tempest": 3 }
}
]
},
{
},{
"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": "Charge",
"parents": ["Tempest", "Whirlwind Strike"],
"dependencies": [],
"blockers": [],
@ -3697,22 +3683,15 @@ const atrees = {
},
{
"type": "raw_stat",
"bonuses": [
{
"type": "stat",
"name": "spd",
"value": 20
}
]
"bonuses": [{ "type": "stat", "name": "spd", "value": 20 }]
}
]
},
{
},{
"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": ["Tempest", "Massive Bash"],
"dependencies": [],
"blockers": [],
@ -3722,18 +3701,12 @@ const atrees = {
"col": 1,
"icon": "node_1"
},
"properties": {
},
"effects": [
]
},
{
"properties": {},
"effects": []
},{
"display_name": "Axe Kick",
"desc": "Increase the damage of Uppercut, but also increase its mana cost",
"archetype": "",
"archetype_req": 0,
"base_abil": "Uppercut",
"parents": ["Tempest", "Spirit of the Rabbit"],
"dependencies": [],
"blockers": [],
@ -3743,8 +3716,7 @@ const atrees = {
"col": 3,
"icon": "node_0"
},
"properties": {
},
"properties": {},
"effects": [
{
"type": "add_spell_prop",
@ -3754,13 +3726,12 @@ const atrees = {
"multipliers": [100, 0, 0, 0, 0, 0]
}
]
},
{
},{
"display_name": "Radiance",
"desc": "Bash will buff your allies' positive IDs. (15s Cooldown)",
"archetype": "Paladin",
"archetype_req": 2,
"base_abil": "Bash",
"parents": ["Spirit of the Rabbit", "Cheaper Bash 2"],
"dependencies": [],
"blockers": [],
@ -3773,16 +3744,13 @@ const atrees = {
"properties": {
"cooldown": 15
},
"effects": [
]
"effects": []
},
{
"display_name": "Cheaper Bash 2",
"desc": "Reduce the Mana cost of Bash",
"archetype": "",
"archetype_req": 0,
"base_abil": "Bash",
"parents": ["Radiance", "Shield Strike", "Sparkling Hope"],
"dependencies": [],
"blockers": [],
@ -3792,8 +3760,7 @@ const atrees = {
"col": 7,
"icon": "node_0"
},
"properties": {
},
"properties": {},
"effects": [
{
"type": "add_spell_prop",
@ -3806,8 +3773,7 @@ const atrees = {
{
"display_name": "Cheaper War Scream",
"desc": "Reduce the Mana cost of War Scream",
"archetype": "",
"archetype_req": 0,
"base_abil": "War Scream",
"parents": ["Massive Bash"],
"dependencies": [],
"blockers": [],
@ -3817,8 +3783,7 @@ const atrees = {
"col": 0,
"icon": "node_0"
},
"properties": {
},
"properties": {},
"effects": [
{
"type": "add_spell_prop",
@ -3849,10 +3814,13 @@ const atrees = {
"type": "stat_scaling",
"slider": true,
"slider_name": "Hits dealt",
"output": {
"type": "stat",
"name": "rainrawButDifferent"
},
"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": [2],
"max": 50
}
@ -3915,14 +3883,12 @@ const atrees = {
"type": "add_spell_prop",
"base_spell": 4,
"target_part": "Cyclone",
"cost": 0,
"multipliers": [10, 0, 0, 0, 5, 10]
},
{
"type": "add_spell_prop",
"base_spell": 4,
"target_part": "Cyclone Total Damage",
"cost": 0,
"hits": {
"Cyclone": 40
}
@ -3951,7 +3917,7 @@ const atrees = {
{
"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_req": 10,
"parents": ["Cheaper War Scream"],
@ -3963,15 +3929,18 @@ const atrees = {
"col": 1,
"icon": "node_3"
},
"properties": {},
"properties": {
"health_cost": 0.6
},
"effects": []
},
{
"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_req": 0,
"base_abil": "Blood Pact",
"parents": ["Blood Pact"],
"dependencies": ["Blood Pact"],
"blockers": [],
@ -3982,14 +3951,15 @@ const atrees = {
"icon": "node_1"
},
"properties": {},
"effects": []
"effects": [{
"type": "raw_stat",
"bonuses": [{ "type": "prop", "abil": "Blood Pact", "name": "health_cost", "value": -0.3}]
}]
},
{
"display_name": "Brink of Madness",
"desc": "If your health is 25% full or less, gain +40% Resistance",
"archetype": "",
"archetype_req": 0,
"parents": ["Blood Pact", "Cheaper Uppercut 2"],
"dependencies": [],
"blockers": [],
@ -4006,8 +3976,7 @@ const atrees = {
{
"display_name": "Cheaper Uppercut 2",
"desc": "Reduce the Mana cost of Uppercut",
"archetype": "",
"archetype_req": 0,
"base_abil": "Uppercut",
"parents": ["Second Chance", "Brink of Madness"],
"dependencies": [],
"blockers": [],

View file

@ -37,22 +37,27 @@ for _class, info in atree_data.items():
translate([abil], "base_abil")
if "effects" not in info[abil]:
print("WARNING: abil missing 'effects' tag")
print(info[abil])
info[abil]["effects"] = []
for effect in info[abil]["effects"]:
if effect["type"] == "raw_stat":
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"]]
elif effect["type"] == "stat_scaling":
if "inputs" in effect: # Might not exist for sliders
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"]]
if "abil" in effect["output"]:
effect["output"]["abil"] = id_data[_class][effect["output"]["abil"]]
if isinstance(effect["output"], list):
for output in effect["outputs"]:
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: