feat: when-filter am trigger schliesst die luecke aus m3
condition fragt Wesen, when filtert das Ereignis. Getrennt, weil dieselbe Bedingungsgrammatik auch beim Auslesen eines Attributs laeuft — dort gibt es kein Event, und eine Nutzlast-Pruefung in condition waere im Trigger sinnvoll und am Modifikator immer falsch, ohne dass der Modder es sieht. Nutzlast zurueck: damage_type und prefab. critical und amount bleiben draussen, bis jemand sie fordert. Dazu Item.triggers/actions/abilities und Trigger-Suche in der Ausruestung — mods/core/items.toml belegt es mit einem Dornenpanzer, der NUR Feuer reflektiert. 45 Tests.
This commit is contained in:
@@ -36,3 +36,20 @@ base_price = 1
|
||||
stackable = true
|
||||
symbol = "$"
|
||||
color = "yellow"
|
||||
|
||||
# Belegt den `when`-Filter in Daten: Der Panzer reflektiert NUR Feuer.
|
||||
# Zwei Schadenstypen braeuchten zwei Trigger — ODER ist im Vokabular
|
||||
# ausdruecklich nicht vorgesehen (Ticket 08).
|
||||
[[items]]
|
||||
id = "thorn_mail"
|
||||
name = "Dornenpanzer"
|
||||
base_price = 90
|
||||
slot = "core:body"
|
||||
symbol = "["
|
||||
color = "red"
|
||||
modifiers = [ { attribute = "resistance", damage_type = "fire", flat = 25 } ]
|
||||
triggers = [
|
||||
{ on = "damage_taken",
|
||||
when = { damage_type = "fire" },
|
||||
actions = [ { action = "damage", amount = 3, damage_type = "fire", target = "target" } ] },
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user