Add stat Extra Blood for Gorefoot
This commit is contained in:
@@ -36,6 +36,7 @@ special_stats = {
|
|||||||
"template": "ama",
|
"template": "ama",
|
||||||
"param_tooltips": ["ama", "pal", "nec", "sor", "bar", "dru", "ass"],
|
"param_tooltips": ["ama", "pal", "nec", "sor", "bar", "dru", "ass"],
|
||||||
},
|
},
|
||||||
|
"item_extrablood": {"text": "Extra Blood"},
|
||||||
}
|
}
|
||||||
|
|
||||||
# Patching of missing data in properties.txt
|
# Patching of missing data in properties.txt
|
||||||
@@ -98,21 +99,36 @@ for stat in itemstatcost:
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# special.template: properties.txt row
|
# special.template: properties.txt row
|
||||||
prop = properties[special["template"]]
|
if "template" in special:
|
||||||
obj = {
|
prop = properties[special["template"]]
|
||||||
"text": prop["tooltip"],
|
obj = {
|
||||||
"save_bits": [],
|
"text": prop["tooltip"],
|
||||||
"save_add": itemstatcost[stat]["save_add"],
|
"save_bits": [],
|
||||||
"save_param_bits": itemstatcost[stat]["save_param_bits"],
|
"save_add": itemstatcost[stat]["save_add"],
|
||||||
}
|
"save_param_bits": itemstatcost[stat]["save_param_bits"],
|
||||||
for prop_stat in prop["stats"]:
|
}
|
||||||
if prop_stat == "VARIABLE":
|
for prop_stat in prop["stats"]:
|
||||||
prop_stat = stat
|
if prop_stat == "VARIABLE":
|
||||||
if itemstatcost[prop_stat]["save_add"] != obj["save_add"]:
|
prop_stat = stat
|
||||||
print(
|
if itemstatcost[prop_stat]["save_add"] != obj["save_add"]:
|
||||||
f"Unexpected divergence in save_add for stats in prop {special_stats[stat]}"
|
print(
|
||||||
)
|
f"Unexpected divergence in save_add for stats in prop {special_stats[stat]}"
|
||||||
obj["save_bits"].append(itemstatcost[prop_stat]["save_bits"])
|
)
|
||||||
|
obj["save_bits"].append(itemstatcost[prop_stat]["save_bits"])
|
||||||
|
# else: use stat row + custom data
|
||||||
|
else:
|
||||||
|
obj = {
|
||||||
|
"text": "" if "text" not in special else special["text"],
|
||||||
|
"save_bits": [itemstatcost[stat]["save_bits"]]
|
||||||
|
if "save_bits" not in special
|
||||||
|
else special["save_bits"],
|
||||||
|
"save_add": itemstatcost[stat]["save_add"]
|
||||||
|
if "save_add" not in special
|
||||||
|
else special["save_add"],
|
||||||
|
"save_param_bits": itemstatcost[stat]["save_param_bits"]
|
||||||
|
if "save_param_bits" not in special
|
||||||
|
else special["save_param_bits"],
|
||||||
|
}
|
||||||
|
|
||||||
# special.param_tooltips: extra tooltips depending on param value
|
# special.param_tooltips: extra tooltips depending on param value
|
||||||
if "param_tooltips" in special:
|
if "param_tooltips" in special:
|
||||||
|
|||||||
@@ -740,6 +740,14 @@
|
|||||||
"save_add": 0,
|
"save_add": 0,
|
||||||
"save_param_bits": null
|
"save_param_bits": null
|
||||||
},
|
},
|
||||||
|
"140": {
|
||||||
|
"text": "Extra Blood",
|
||||||
|
"save_bits": [
|
||||||
|
7
|
||||||
|
],
|
||||||
|
"save_add": 0,
|
||||||
|
"save_param_bits": null
|
||||||
|
},
|
||||||
"141": {
|
"141": {
|
||||||
"text": "#% Deadly Strike",
|
"text": "#% Deadly Strike",
|
||||||
"save_bits": [
|
"save_bits": [
|
||||||
|
|||||||
@@ -197,3 +197,11 @@ class ParseItemTest(unittest.TestCase):
|
|||||||
data, item = parse_item(data)
|
data, item = parse_item(data)
|
||||||
self.assertEqual(data, b"")
|
self.assertEqual(data, b"")
|
||||||
self.assertEqual(str(item.stats[4]), "Indestructible")
|
self.assertEqual(str(item.stats[4]), "Indestructible")
|
||||||
|
|
||||||
|
def test_gorefoot(self):
|
||||||
|
data = bytes.fromhex(
|
||||||
|
"10008000050475a7260ca7d38d420f3610018706103c7cb0800f81130118d41a426244f80f"
|
||||||
|
)
|
||||||
|
data, item = parse_item(data)
|
||||||
|
self.assertEqual(data, b"")
|
||||||
|
self.assertEqual(item.stats[6].id, 140) # Extra Blood special stat
|
||||||
|
|||||||
Reference in New Issue
Block a user