Tool Qualities Framework (#22380)

This PR adds a framework for Tool Qualities. This is done via adding a
new Tool Quality Container Component, which allows any arbitrary datum
to have tool qualities, which can be checked for by other systems as
desired. These are handled as key/value pairs in an associative list,
allowing atoms to have different quality levels as a given tool, such as
being a "level 3 crowbar" and a "level 1 hammer" at the same time.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
Co-authored-by: Batrachophreno <Batrochophreno@gmail.com>
This commit is contained in:
VMSolidus
2026-05-15 16:49:58 +00:00
committed by GitHub
co-authored by Batrachophreno
parent ed20d4d9a9
commit 1f9b926ed7
12 changed files with 91 additions and 3 deletions
+1
View File
@@ -366,6 +366,7 @@
attack_verb = list("bashed", "bludgeoned", "thrashed", "whacked", "slashed", "cut")
sharp = TRUE
tool_behaviour = TOOL_CROWBAR
tool_quality = STANDARD_TOOL_LEVEL - 2
// Flags.