Der Held war seit M1 als Zwergenkrieger verdrahtet, waehrend zwei Rassen und zwei Klassen ungenutzt in der Registry lagen. Der Charakterbau ist eine Schleife ueber categories_ordered() und options_of() — ein Mod, der "Talent" mit pick = 2 ergaenzt, bekommt eine dritte Spalte ohne Code. - CharacterOption bekommt abilities und on_create (Ticket 02, TODO seit M3) - abilities_of liest jetzt Rasse und Klasse: Krieger traegt Wuchtschlag, Dieb Hinterhalt, Zwerg Steinsinn - on_create gibt die Startausruestung als gewoehnliche Aktionen — starting_hero() schrumpft auf Creature::new(name) - MainMenu trennt "neuer Held" von "Lauf fortsetzen" Befund: Das Feld abilities fehlte, obwohl Ticket 15 sein ganzes Argument darauf stuetzt — eine Klasse konnte nur flache Modifikatoren geben.
79 lines
2.7 KiB
TOML
79 lines
2.7 KiB
TOML
# Eine Faehigkeit ist ein benanntes, wiederholt ausloesbares ANGEBOT an den
|
|
# Spieler, das Aktionen ausfuehrt (Ticket 02) — kein Gegenstand im Inventar,
|
|
# sonst koennte ein Magier seine Zauber verkaufen.
|
|
#
|
|
# Angriff und Flucht sind bewusst keine Engine-Sonderfaelle, sondern gewoehnliche
|
|
# Faehigkeiten (Ticket 11/14). Ein Mod kann beide ersetzen.
|
|
#
|
|
# Menge = amount + scale * damage-Attribut(Verursacher) — eine Formel fuer
|
|
# Basisangriff, Feuerball und Wuchtschlag (Nachtrag aus Ticket 14).
|
|
|
|
[[abilities]]
|
|
id = "attack"
|
|
name = "Angriff"
|
|
cost = 0
|
|
actions = [ { action = "damage", scale = 1.0, damage_type = "slash", target = "target" } ]
|
|
|
|
[[abilities]]
|
|
id = "flee"
|
|
name = "Fliehen"
|
|
cost = 10
|
|
actions = [ { action = "flee" } ]
|
|
|
|
[[abilities]]
|
|
id = "power_strike"
|
|
name = "Wuchtschlag"
|
|
description = "Holt weit aus. Kostet Luft."
|
|
cost = 15
|
|
cooldown = 3
|
|
actions = [ { action = "damage", scale = 1.5, damage_type = "blunt", target = "target" } ]
|
|
|
|
[[abilities]]
|
|
id = "bone_throw"
|
|
name = "Knochenwurf"
|
|
cost = 8
|
|
cooldown = 2
|
|
actions = [ { action = "damage", amount = 6, damage_type = "blunt", target = "target" } ]
|
|
|
|
[[abilities]]
|
|
id = "rat_bite"
|
|
name = "Biss"
|
|
cost = 0
|
|
actions = [ { action = "damage", scale = 1.0, damage_type = "slash", target = "target" },
|
|
{ action = "apply_modifier", modifier = "core:poisoned", target = "target" } ]
|
|
|
|
[[abilities]]
|
|
id = "ghoul_claw"
|
|
name = "Klauenhieb"
|
|
cost = 0
|
|
actions = [ { action = "damage", scale = 1.2, damage_type = "slash", target = "target" } ]
|
|
|
|
[[abilities]]
|
|
id = "second_wind"
|
|
name = "Zweiter Atem"
|
|
description = "Sammelt sich, wenn es eng wird."
|
|
cost = 0
|
|
cooldown = 8
|
|
condition = [ { check = "health_below", who = "self", value = 0.4 } ]
|
|
actions = [ { action = "change_attribute", attribute = "health", amount = 25, target = "self" } ]
|
|
|
|
# Die Haelfte einer Charakteroption, die NICHT veraltet (Ticket 15): "+3 Staerke"
|
|
# ist auf Stufe 30 Rauschen, ein Wuchtschlag nicht.
|
|
|
|
[[abilities]]
|
|
id = "backstab"
|
|
name = "Hinterhalt"
|
|
description = "Trifft, wo es wehtut. Nur bei vollem Atem."
|
|
cost = 12
|
|
cooldown = 4
|
|
condition = [ { check = "attribute", who = "self", attribute = "dexterity", at_least = 2 } ]
|
|
actions = [ { action = "damage", scale = 2.0, damage_type = "slash", target = "target" } ]
|
|
|
|
[[abilities]]
|
|
id = "steinsinn"
|
|
name = "Steinsinn"
|
|
description = "Der Zwerg horcht ins Gestein und sammelt sich."
|
|
cost = 0
|
|
cooldown = 6
|
|
actions = [ { action = "change_attribute", attribute = "stamina", amount = 30, target = "self" } ]
|