Update Magic Page and PDF Generation

This commit is contained in:
2026-06-16 11:21:44 +02:00
parent a36f4a1902
commit c37bf59cf5
8 changed files with 397 additions and 19 deletions
+89
View File
@@ -333,5 +333,94 @@
</AddListEntry>
</Actions>
</Function>
<Function Name="charlib_magic_willpower">
<Actions>
<Action>
<Do>-2</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[data.character.talents.willpower] &gt;= 1</If>
<Do>-1</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[data.character.talents.willpower] &gt;= 4</If>
<Do>0</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[data.character.talents.willpower] &gt;= 7</If>
<Do>1</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[data.character.talents.willpower] &gt;= 10</If>
<Do>2</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[data.character.talents.willpower] &gt;= 14</If>
<Do>3</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[data.character.talents.willpower] &gt;= 18</If>
<Do>4</Do>
<Output>[local.val]</Output>
</Action>
</Actions>
<Return>[local.val]</Return>
</Function>
<Function Name="charlib_magic_talent">
<Actions>
<Action>
<Do>0</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 1</If>
<Do>1</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 3</If>
<Do>2</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 5</If>
<Do>3</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 7</If>
<Do>4</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 10</If>
<Do>5</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 13</If>
<Do>6</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 16</If>
<Do>7</Do>
<Output>[local.val]</Output>
</Action>
<Action>
<If>[params.0] &gt;= 18</If>
<Do>8</Do>
<Output>[local.val]</Output>
</Action>
</Actions>
<Return>[local.val]</Return>
</Function>
</Functions>
</Library>
+245
View File
@@ -5569,5 +5569,250 @@
</RowLayout>
</Body>
</Page>
<!-- Magie -->
<Page Visible="[data.character.definition.ismage]">
<Header>
<RowLayout>
<Content>
<Label Styles="HeaderItem;Italic">
<Text>"Heldenbogen"</Text>
</Label>
<Label Styles="HeaderItem">
<Text>"-"</Text>
</Label>
<Label Styles="HeaderItem">
<Text>[data.character.definition.name]</Text>
</Label>
<Label Styles="HeaderItem">
<Text>"-"</Text>
</Label>
<Label Styles="HeaderItem;Bold">
<Text>"Magie"</Text>
</Label>
</Content>
</RowLayout>
</Header>
<Body>
<RowLayout Styles="Page">
<Content>
<ColumnLayout>
<Content>
<Label Styles="InventoryHeader">
<Text>"Magiequellen"</Text>
</Label>
<TableLayout Styles="TableChildren;GapChildren">
<Columns>
<Column>
<Width>80</Width>
<Percent>true</Percent>
</Column>
<Column>
<Width>20</Width>
<Percent>true</Percent>
</Column>
</Columns>
<Content>
<Label Styles="TalentTableHeader">
<Text>"Quelle"</Text>
</Label>
<Label Styles="TalentTableHeader">
<Text>"Wert"</Text>
</Label>
<Label Styles="BiggerLowerBorder">
<Text>"Angeborene Magie</Text>
</Label>
<Label Styles="BiggerLowerBorder">
<Text>charlib_intrinsicmagic()</Text>
</Label>
<Label>
<Text>"Willenskraft"</Text>
</Label>
<ColumnLayout>
<Content>
<Label>
<Text>charlib_magic_willpower()</Text>
</Label>
<Label>
<Text>"/"</Text>
</Label>
<Label>
<Text>charlib_magic_willpower() + charlib_intrinsicmagic()</Text>
</Label>
</Content>
</ColumnLayout>
<Label>
<Text>"Objekt"</Text>
</Label>
<ColumnLayout>
<Content>
<Label>
<Text>"s.Obj."</Text>
</Label>
</Content>
</ColumnLayout>
<Label>
<Text>"Gesang"</Text>
</Label>
<ColumnLayout>
<Content>
<Label>
<Text>charlib_magic_talent([data.character.talent.singing])</Text>
</Label>
<Label>
<Text>"/"</Text>
</Label>
<Label>
<Text>charlib_magic_talent([data.character.talent.singing]) + charlib_intrinsicmagic()</Text>
</Label>
</Content>
</ColumnLayout>
<Label>
<Text>"Musik"</Text>
</Label>
<ColumnLayout>
<Content>
<Label>
<Text>charlib_magic_talent([data.character.talent.music])</Text>
</Label>
<Label>
<Text>"/"</Text>
</Label>
<Label>
<Text>charlib_magic_talent([data.character.talent.music]) + charlib_intrinsicmagic()</Text>
</Label>
</Content>
</ColumnLayout>
<Label>
<Text>"Tanz"</Text>
</Label>
<ColumnLayout>
<Content>
<Label>
<Text>charlib_magic_talent([data.character.talent.dancing])</Text>
</Label>
<Label>
<Text>"/"</Text>
</Label>
<Label>
<Text>charlib_magic_talent([data.character.talent.dancing]) + charlib_intrinsicmagic()</Text>
</Label>
</Content>
</ColumnLayout>
<Label>
<Text>"Tanz"</Text>
</Label>
<ColumnLayout>
<Content>
<Label>
<Text>charlib_magic_talent([data.character.talent.drawing])</Text>
</Label>
<Label>
<Text>"/"</Text>
</Label>
<Label>
<Text>charlib_magic_talent([data.character.talent.drawing]) + charlib_intrinsicmagic()</Text>
</Label>
</Content>
</ColumnLayout>
</Content>
</TableLayout>
</Content>
</ColumnLayout>
<ColumnLayout>
<Content>
<Label Styles="InventoryHeader">
<Text>"Mana"</Text>
</Label>
<TableLayout Styles="TableChildren;GapChildren">
<Columns>
<Column>
<Width>50</Width>
<Percent>true</Percent>
</Column>
<Column>
<Width>50</Width>
<Percent>true</Percent>
</Column>
</Columns>
<Content>
<Label Styles="TalentTableHeader">
<Text>"Aktuell"</Text>
</Label>
<Label Styles="TalentTableHeader">
<Text>"Max"</Text>
</Label>
</Content>
</TableLayout>
<Label Styles="InventoryHeader">
<Text>"Magische Objekte"</Text>
</Label>
<TableLayout Styles="TableChildren;GapChildren">
<Columns>
<Column>
<Width>40</Width>
<Percent>true</Percent>
</Column>
<Column>
<Width>40</Width>
<Percent>true</Percent>
</Column>
<Column>
<Width>20</Width>
<Percent>true</Percent>
</Column>
</Columns>
<Content>
<Label Styles="InventoryHeader">
<Text>"Name"</Text>
</Label>
<Label Styles="TalentTableHeader">
<Text>"Quelle"</Text>
</Label>
<Label Styles="TalentTableHeader">
<Text>"Wert"</Text>
</Label>
<Label>
<Text>"Laute"</Text>
</Label>
<Label>
<Text>"Musik"</Text>
</Label>
<Label>
<Text>"+2"</Text>
</Label>
</Content>
</TableLayout>
</Content>
</ColumnLayout>
</Content>
</RowLayout>
</Body>
</Page>
</Pages>
</Pdf>
+12 -12
View File
@@ -44,18 +44,6 @@
</OpenPage>
</OnPostLoad>
<OnPostCreate>
<Action>
<Do>Truncate([data.character.race.minheight] + [data.character.race.maxheight] / 2)</Do>
<Output>[data.character.definition.height]</Output>
</Action>
<Action>
<Do>Truncate([data.character.race.minweight] + [data.character.race.maxweight] / 2)</Do>
<Output>[data.character.definition.weight]</Output>
</Action>
<Action>
<Do>Truncate([data.character.race.minage] + [data.character.race.maxage] / 2)</Do>
<Output>[data.character.definition.age]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
@@ -136,6 +124,18 @@
<Button>
<Text>"Weiter"</Text>
<OnClick>
<Action>
<Do>Truncate([data.character.race.minheight] + [data.character.race.maxheight] / 2)</Do>
<Output>[data.character.definition.height]</Output>
</Action>
<Action>
<Do>Truncate([data.character.race.minweight] + [data.character.race.maxweight] / 2)</Do>
<Output>[data.character.definition.weight]</Output>
</Action>
<Action>
<Do>Truncate([data.character.race.minage] + [data.character.race.maxage] / 2)</Do>
<Output>[data.character.definition.age]</Output>
</Action>
<Action>
<Do>"profile"</Do>
<Output>[data.character.flow.currentPage]</Output>