feat: m4 teil 1 — beute, inventar und affixe
- 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.
This commit is contained in:
46
mods/core/affixes.toml
Normal file
46
mods/core/affixes.toml
Normal file
@@ -0,0 +1,46 @@
|
||||
# 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 } ]
|
||||
Reference in New Issue
Block a user