Files
bamort/backend/doc/template_a4_quer.yaml
T
Frank a32ba236e8 Planen und geplant zu werden
How to render a PDF Character sheet
2025-12-14 22:11:30 +01:00

887 lines
26 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
template:
Id: a4_quer_char_sheet_v1
name: "A4 Querformat Charakterbogen V1"
layout:
pageSizeMm:
width: 297
height: 210
marginsMm:
top: 6
bottom: 6
left: 6
right: 6
columns:
count: 4
equalWidth: true
gutterMm: 4
font:
name: "DejaVu Sans"
sizePt:
default: 16
small: 14
large: 18
lineHeightFactor:
default: 1.2
small: 1.1
large: 1.3
spacingMm:
vertical: 0.5
horizontal: 0.5
ptToMm: 0.3528
boxTypes:
- id: 01
name: header
type: labelValue
fontSize: default
style: {}
- id: 02
name: stats
type: labelValue
fontSize: large
style:
boxed: true
- id: 03
name: table
type: table
fontSize: default
style:
nobr: true
shorten: true
pages:
# ---------------------------------------------------------
# Seite 1 Statistikseite
# ---------------------------------------------------------
- pageType: page1_stats
blocks:
- blockId: 1
colStart: 1
colSpan: 4
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding:
rows:
- label: "Name des Charakters"
binding: "" # TODO
- label: "Name des Spielers"
binding: "" # TODO
- blockId: 2
colStart: 1
colSpan: 1
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding:
rows:
- label: "Typ, Grad"
binding: "" # TODO (z.B. character.type, character.level)
- label: "Spezialisierung"
binding: "" # TODO
- blockId: 3
colStart: 1
colSpan: 1
boxTypeId: 02 # stats, Box Label:Wert
anchor: top
heightMode: fixed
type: labelValue
binding:
rows:
- # Zeile 1
- label: "St"
binding: "character.attributes.st.base" # Stärke
- label: "Gs"
binding: "character.attributes.gs.base" # Geschicklichkeit
- label: "Gw"
binding: "character.attributes.gw.base" # Gewandheit
- # Zeile 2
- label: "Ko"
binding: "character.attributes.ko.base" # Konstitution
- label: "In"
binding: "character.attributes.in.base" # Intelligenz
- label: "Zt"
binding: "character.attributes.zt.base" # Zaubertalent
- # Zeile 3
- label: "Au"
binding: "character.attributes.au.base" # Ausdauer
- label: "pA"
binding: "character.attributes.pa.base" # persönliche Ausstrahlung
- label: "Wk"
binding: "character.attributes.wk.base" # Willenskraft
- # Zeile 4
- label: "B"
binding: "character.attributes.b.base" # Bewegungsweite / Basis-Bewegung
- label: "Raufen"
binding: "character.skills.raufen.base" # Grundwert Raufen (als Fertigkeit)
- blockId: 4
colStart: 1
colSpan: 1
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding:
rows:
- label: "persönliche Boni für:"
binding: "" # rein beschreibend
- label: "Ausdauer"
binding: "" # TODO
- label: "Schaden"
binding: "" # TODO
- label: "Angriff"
binding: "" # TODO
- label: "Abwehr"
binding: "" # TODO
- label: "Resistenz"
binding: "" # TODO
- label: "Zaubern"
binding: "" # TODO
- blockId: 5
colStart: 1
colSpan: 2
boxTypeId: 02
anchor: top
heightMode: fixed
type: labelValue
binding:
rows:
- label: "LP-Max"
binding: "" # TODO
- label: "AP-Max"
binding: "" # TODO
- label: "GG"
binding: "" # TODO
- label: "SG"
binding: "" # TODO
- blockId: 6
colStart: 1
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: fixed
type: table
table:
columns:
- key: "date"
label: "Datum"
- key: "es"
label: "ES"
- key: "ep"
label: "EP"
- key: "geld"
label: "Geld"
- key: "c1"
label: ""
- key: "c2"
label: ""
- key: "c3"
label: ""
- key: "c4"
label: ""
- key: "c5"
label: ""
- key: "c6"
label: ""
- key: "c7"
label: ""
binding:
list: "" # TODO (z.B. character.gameResults)
- blockId: 7
colStart: 2
colSpan: 1
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding:
rows:
- label: "Geburtsdatum"
binding: "" # TODO
- label: "Alter / Händigkeit"
binding: "" # TODO
- label: "Größe"
binding: "" # TODO
- label: "Gestalt / Gewicht"
binding: "" # TODO
- label: "Stand"
binding: "" # TODO
- label: "Heimat"
binding: "" # TODO
- label: "Glaube"
binding: "" # TODO
- label: "Besondere Merkmale"
binding: "" # TODO
- blockId: 8
colStart: 3
colSpan: 2
boxTypeId: 01
anchor: top
heightMode: fixed
type: staticText
text: "Liste der gelernten und angeborenen Fertigkeiten"
- blockId: 9
colStart: 3
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (z.B. character.skills.stats)
- blockId: 10
colStart: 3
colSpan: 2
boxTypeId: 01
anchor: bottom
heightMode: fixed
type: labelValue
binding:
rows:
- label: "Sehen"
binding: "" # TODO
- label: "Nachtsicht"
binding: "" # TODO
- label: "Hören"
binding: "" # TODO
- label: "Riechen/Schmecken"
binding: "" # TODO
- label: "Sechster Sinn"
binding: "" # TODO
- blockId: 11
colStart: 4
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (Fortsetzung Statistik-Fertigkeiten)
# ---------------------------------------------------------
# Seite 2 Spielbogen
# ---------------------------------------------------------
- pageType: page2_play
blocks:
- blockId: 1
colStart: 1
colSpan: 4
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding:
rows:
- label: "Name des Charakters, Grad"
binding: "" # TODO
- label: "Typ, GG, SG"
binding: "" # TODO
- blockId: 2
colStart: 1
colSpan: 2
boxTypeId: 02
anchor: top
heightMode: fixed
type: labelValue
binding: {} # St, Gs, Gw, Ko, In, Zt, Au, pA, Wk, B TODO
- blockId: 3
colStart: 1
colSpan: 2
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding: {} # Abwehr / Resistenz / Zaubern TODO
- blockId: 4
colStart: 1
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (Spiel-Fertigkeiten)
- blockId: 5
colStart: 2
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: fixed
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
binding:
list: "" # TODO (ungelernte Fertigkeiten)
- blockId: 6
colStart: 2
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (Fortsetzung Spiel-Fertigkeiten)
- blockId: 7
colStart: 3
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: fixed
type: table
table:
columns:
- key: "lp"
label: "LP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
- key: "c1"
label: ""
- key: "c2"
label: ""
- key: "c3"
label: ""
- key: "c4"
label: ""
- key: "c5"
label: ""
- key: "c6"
label: ""
binding:
list: "" # TODO (LP/AP-Tabelle)
- blockId: 8
colStart: 3
colSpan: 1
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding: {} # Bonus für Schaden/Angriff/Abwehr TODO
- blockId: 9
colStart: 3
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Waffe"
- key: "ew"
label: "EW"
- key: "damage"
label: "Schaden"
- key: "range"
label: "Nah"
binding:
list: "" # TODO (Waffen)
- blockId: 10
colStart: 3
colSpan: 2
boxTypeId: 01
anchor: bottom
heightMode: fixed
type: labelValue
binding: {} # Sinne (wie Seite 1 Block 10) TODO
- blockId: 11
colStart: 4
colSpan: 1
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding: {} # RK / mit Rüstung, B, Gw TODO
- blockId: 12
colStart: 4
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Waffe"
- key: "ew"
label: "EW"
- key: "damage"
label: "Schaden"
- key: "range"
label: "Nah"
binding:
list: "" # TODO (Fortsetzung Waffen)
- blockId: 13
colStart: 4
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: fixed
type: table
table:
columns:
- key: "spellClass"
label: "Zauberklasse"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (PP-Zauber)
# ---------------------------------------------------------
# Seite 3 Zauber
# ---------------------------------------------------------
- pageType: page3_spells
blocks:
- blockId: 1
colStart: 1
colSpan: 4
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding: {} # Name/Grad/Typ/Zaubern TODO
- blockId: 2
colStart: 1
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "ap_prozess"
label: "AP/Prozess"
multiline:
linesPerCell: 2
lines:
- binding: "ap" # erste Zeile: AP
- binding: "prozess" # zweite Zeile: Prozess
- key: "name"
label: "Zauber"
- key: "zd_rw"
label: "Zauberdauer/Reichweite"
multiline:
linesPerCell: 2
lines:
- binding: "zd" # erste Zeile: Zd
- binding: "rw" # zweite Zeile: Rw
- key: "wb_wd"
label: "Wirkungsbereich/Wirkungsdauer"
multiline:
linesPerCell: 2
lines:
- binding: "wb" # erste Zeile: Wb
- binding: "wd" # zweite Zeile: Wd
- key: "effect"
label: "Wirkung"
- key: "target"
label: "WirkZiel/Art"
multiline:
linesPerCell: 2
lines:
- binding: "Wirkziel" # erste Zeile: Wirkziel
- binding: "Art" # zweite Zeile: Art
binding:
list: "" # TODO (Zauber)
- blockId: 3
colStart: 3
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "ap_prozess"
label: "AP/Prozess"
multiline:
linesPerCell: 2
lines:
- binding: "ap" # erste Zeile: AP
- binding: "prozess" # zweite Zeile: Prozess
- key: "name"
label: "Zauber"
- key: "zd_rw"
label: "Zauberdauer/Reichweite"
multiline:
linesPerCell: 2
lines:
- binding: "zd" # erste Zeile: Zd
- binding: "rw" # zweite Zeile: Rw
- key: "wb_wd"
label: "Wirkungsbereich/Wirkungsdauer"
multiline:
linesPerCell: 2
lines:
- binding: "wb" # erste Zeile: Wb
- binding: "wd" # zweite Zeile: Wd
- key: "effect"
label: "Wirkung"
- key: "target"
label: "WirkZiel/Art"
multiline:
linesPerCell: 2
lines:
- binding: "Wirkziel" # erste Zeile: Wirkziel
- binding: "Art"
binding:
list: "" # TODO (Fortsetzung Zauber)
- blockId: 4
colStart: 3
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "item"
label: "Gegenstand"
- key: "description"
label: "Wirkung, Inhalt, Erläuterungen"
binding:
list: "" # TODO (magische Gegenstände/Ausrüstung)
# ---------------------------------------------------------
# Seite 4 Ausrüstung
# ---------------------------------------------------------
- pageType: page4_equipment
blocks:
- blockId: 1
colStart: 1
colSpan: 4
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding: {} # Name/Grad/Typ TODO
- blockId: 2
colStart: 1
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "item"
label: "Gegenstand"
- key: "description"
label: "Wirkung / Notizen"
binding:
list: "" # TODO (Ausrüstung am Körper)
- blockId: 3
colStart: 1
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "item"
label: "Gegenstand"
- key: "description"
label: "Wirkung / Notizen"
binding:
list: "" # TODO (Behälter 1 Im Wagen)
- blockId: 4
colStart: 3
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "item"
label: "Gegenstand"
- key: "description"
label: "Wirkung / Notizen"
binding:
list: "" # TODO (Behälter 2)
- blockId: 5
colStart: 3
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "item"
label: "Gegenstand"
- key: "description"
label: "Wirkung / Notizen"
binding:
list: "" # TODO (weiterer Behälter)
# ---------------------------------------------------------
# Seite 2.1 ff. Fortsetzung Spielbogen (Fertigkeiten/Waffen)
# ---------------------------------------------------------
- pageType: page2_play_cont
repeatable: true
blocks:
- blockId: 1
colStart: 1
colSpan: 4
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding: {} # Kopf wie Seite 2 TODO
- blockId: 2
colStart: 1
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (Fortsetzung Spiel-Fertigkeiten)
- blockId: 3
colStart: 2
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (Fortsetzung Spiel-Fertigkeiten)
- blockId: 4
colStart: 3
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Fertigkeit"
- key: "ew"
label: "EW"
- key: "pp"
label: "PP"
style:
backgroundColor: "#fff0b3" # hellgelb als Beispiel
binding:
list: "" # TODO (Fortsetzung Spiel-Fertigkeiten)
- blockId: 5
colStart: 4
colSpan: 1
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "name"
label: "Waffe"
- key: "ew"
label: "EW"
- key: "damage"
label: "Schaden"
- key: "range"
label: "Nah"
binding:
list: "" # TODO (Fortsetzung Waffen)
# ---------------------------------------------------------
# Seite 3.1 ff. Fortsetzung Zauber
# ---------------------------------------------------------
- pageType: page3_spells_cont
repeatable: true
blocks:
- blockId: 1
colStart: 1
colSpan: 4
boxTypeId: 01
anchor: top
heightMode: fixed
type: labelValue
binding: {} # Kopf wie Seite 3 TODO
- blockId: 2
colStart: 1
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "ap_prozess"
label: "AP/Prozess"
multiline:
linesPerCell: 2
lines:
- binding: "ap"
- binding: "prozess"
- key: "name"
label: "Zauber"
- key: "zd_rw"
label: "Zd/Rw"
multiline:
linesPerCell: 2
lines:
- binding: "zd"
- binding: "rw"
- key: "wbWd"
label: "Wb/Wd"
- key: "effect"
label: "Wirkung"
- key: "target"
label: "WirkZiel/Art"
binding:
list: "" # TODO (Fortsetzung Zauber)
- blockId: 3
colStart: 3
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "ap_prozess"
label: "AP/Prozess"
multiline:
linesPerCell: 2
lines:
- binding: "ap"
- binding: "prozess"
- key: "name"
label: "Zauber"
- key: "zd_rw"
label: "Zd/Rw"
multiline:
linesPerCell: 2
lines:
- binding: "zd"
- binding: "rw"
- key: "wbWd"
label: "Wb/Wd"
- key: "effect"
label: "Wirkung"
- key: "target"
label: "WirkZiel/Art"
binding:
list: "" # TODO (Fortsetzung Zauber)
- blockId: 4
colStart: 3
colSpan: 2
boxTypeId: 03
anchor: top
heightMode: rows
type: table
table:
columns:
- key: "item"
label: "Gegenstand"
- key: "description"
label: "Wirkung, Inhalt, Erläuterungen"
binding:
list: "" # TODO (magische Gegenstände/Ausrüstung)