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:
@@ -39,11 +39,19 @@ pub struct Item {
|
||||
pub color: Option<String>,
|
||||
#[serde(default)]
|
||||
pub modifiers: Vec<Modifier>,
|
||||
/// Was beim Benutzen passiert (Trank, Schriftrolle).
|
||||
#[serde(default)]
|
||||
pub actions: Vec<Action>,
|
||||
/// Faehigkeiten, die der Gegenstand **gewaehrt**, solange er getragen wird.
|
||||
/// Nicht im Inventar tragbar — sonst koennte ein Magier seine Zauber
|
||||
/// verkaufen (Ticket 02).
|
||||
#[serde(default)]
|
||||
pub abilities: Vec<String>,
|
||||
#[serde(default)]
|
||||
pub triggers: Vec<Trigger>,
|
||||
/// Ersetzt den genannten Eintrag und uebernimmt dessen ID (Ticket 03).
|
||||
#[serde(default)]
|
||||
pub overrides: Option<String>,
|
||||
// TODO(M3+): `actions`, `abilities`, `triggers` — brauchen erst Kampf und
|
||||
// Event-System.
|
||||
}
|
||||
|
||||
fn default_symbol() -> char {
|
||||
|
||||
Reference in New Issue
Block a user