- data/: [[loot_tables]] und [[affixes]] als Registries; LootEntry mit guaranteed, nothing, table-in-table, count und affixes - game/loot.rs: EINE Ziehmaschinerie fuer Gegenstaende und Affixe, Tiefendeckel gegen wechselseitigen Bezug - PickUp zieht erst beim Aufheben (Ticket 16) — moeglich nur, weil alle Haufen dasselbe Symbol zeigen - UseItem/Equip/Unequip/Drop, Inventar-Screen als Registry-Schleife - Affixe im Attributpfad, in der Resistenz und in der Trigger-Suche; item_label stellt Affixnamen voran, item_price multipliziert Faktoren - Room haelt eine loot_table (nicht je Haufen eine), Prefab-loot ueberschreibt die Etagentabelle 53 Tests. Offen aus M4: Handel.
47 lines
1.5 KiB
TOML
47 lines
1.5 KiB
TOML
# Affixe (Ticket 07/16): eine benannte Modifikatorliste, die an einem EINZELNEN
|
|
# Exemplar haengt. Strukturell dasselbe wie eine Charakteroption — der
|
|
# Unterschied ist, woran sie haengt.
|
|
#
|
|
# Abstufungen sind EIGENE EINTRAEGE, keine Zahl am Exemplar: Eine Staerke je
|
|
# Exemplar haette Save-Format (ID-Liste), Preisformel und Stapelregel auf einmal
|
|
# gekostet. Mit Stufen kann der Modder seine Abstufungen benennen.
|
|
|
|
[[affixes]]
|
|
id = "sharp"
|
|
name = "Scharfes"
|
|
price_factor = 1.3
|
|
modifiers = [ { attribute = "damage", flat = 2 } ]
|
|
|
|
[[affixes]]
|
|
id = "flaming"
|
|
name = "Flammendes"
|
|
price_factor = 1.6
|
|
modifiers = [ { attribute = "damage", flat = 3 } ]
|
|
triggers = [
|
|
{ on = "attack_hit", chance = 0.25,
|
|
actions = [ { action = "damage", amount = 4, damage_type = "fire", target = "target" } ] },
|
|
]
|
|
|
|
[[affixes]]
|
|
id = "greater_flaming"
|
|
name = "Stark flammendes"
|
|
price_factor = 2.4
|
|
modifiers = [ { attribute = "damage", flat = 6 } ]
|
|
triggers = [
|
|
{ on = "attack_hit", chance = 0.4,
|
|
actions = [ { action = "damage", amount = 9, damage_type = "fire", target = "target" } ] },
|
|
]
|
|
|
|
[[affixes]]
|
|
id = "sturdy"
|
|
name = "Robuste"
|
|
price_factor = 1.4
|
|
modifiers = [ { attribute = "max_health", flat = 12 } ]
|
|
|
|
[[affixes]]
|
|
id = "warding"
|
|
name = "Schirmende"
|
|
price_factor = 1.8
|
|
modifiers = [ { attribute = "resistance", damage_type = "fire", flat = 20 },
|
|
{ attribute = "resistance", damage_type = "ice", flat = 20 } ]
|