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.
59 lines
2.0 KiB
TOML
59 lines
2.0 KiB
TOML
# Rasse und Klasse sind Charakteroptionen, keine eigenen Konzepte (Ticket 02).
|
|
# Die Kategorien sind selbst Inhalt und tragen `pick = N`, damit ein Mod eine
|
|
# dritte Wahl ergaenzen kann, ohne dass die Engine davon weiss.
|
|
|
|
[[categories]]
|
|
id = "race"
|
|
name = "Rasse"
|
|
order = 10
|
|
pick = 1
|
|
|
|
[[categories]]
|
|
id = "class"
|
|
name = "Klasse"
|
|
order = 20
|
|
pick = 1
|
|
|
|
[[options]]
|
|
id = "dwarf"
|
|
category = "core:race"
|
|
name = "Zwerg"
|
|
description = "Zäh, misstrauisch, trinkfest."
|
|
modifiers = [ { attribute = "constitution", flat = 2 },
|
|
{ attribute = "max_health", flat = 10 } ]
|
|
abilities = ["core:steinsinn"]
|
|
|
|
[[options]]
|
|
id = "elf"
|
|
category = "core:race"
|
|
name = "Elf"
|
|
description = "Flink, hochmütig, langlebig."
|
|
modifiers = [ { attribute = "dexterity", flat = 2 },
|
|
{ attribute = "luck", flat = 1 } ]
|
|
|
|
[[options]]
|
|
id = "warrior"
|
|
category = "core:class"
|
|
name = "Krieger"
|
|
description = "Schlägt zu, wo andere nachdenken."
|
|
modifiers = [ { attribute = "strength", flat = 3 },
|
|
{ attribute = "damage", percent = 10 } ]
|
|
abilities = ["core:power_strike"]
|
|
# `on_create` ist KEINE neue Mechanik, sondern gewoehnliche Aktionen, einmal
|
|
# beim Bau ausgefuehrt (Ticket 02). Die Engine kennt den Begriff
|
|
# "Startausruestung" deshalb gar nicht.
|
|
on_create = [ { action = "give_item", item = "core:iron_sword" },
|
|
{ action = "give_item", item = "core:health_potion", count = 2 } ]
|
|
|
|
[[options]]
|
|
id = "thief"
|
|
category = "core:class"
|
|
name = "Dieb"
|
|
description = "Nimmt, was nicht niet- und nagelfest ist."
|
|
modifiers = [ { attribute = "dexterity", flat = 2 },
|
|
{ attribute = "luck", flat = 2 },
|
|
{ attribute = "critical_chance", percent = 15 } ]
|
|
abilities = ["core:backstab"]
|
|
on_create = [ { action = "give_item", item = "core:leather_cap" },
|
|
{ action = "give_item", item = "core:gold", count = 40 } ]
|