More Character Creation

This commit is contained in:
2026-04-20 14:24:32 +02:00
parent 3cf5b9f35e
commit 2691eb6c47
9 changed files with 243 additions and 89 deletions
+12
View File
@@ -30,7 +30,13 @@
<Max>64</Max>
</String>
<String Name="gender"/>
<String Name="title"/>
<String Name="origin"/>
<String Name="profession"/>
<Bool Name="ismage"/>
<Int Name="height"/>
<Int Name="weight"/>
<Int Name="age"/>
</Variables>
</Group>
<Group Name="race">
@@ -38,6 +44,12 @@
<String Name="id"/>
<String Name="name"/>
<Int Name="speed"/>
<Int Name="minage"/>
<Int Name="maxage"/>
<Int Name="minheight"/>
<Int Name="maxheight"/>
<Int Name="minweight"/>
<Int Name="maxweight"/>
</Variables>
</Group>
</Groups>
+40
View File
@@ -0,0 +1,40 @@
<Library Name="charlib">
<Functions>
<Function Name="charlib_cost_a">
<Return>max(1, [param.0 - 11])</Return>
</Function>
<Function Name="charlib_cost_b">
<Return>max(1, [param.0 - 11]) * 2</Return>
</Function>
<Function Name="charlib_cost_c">
<Return>max(1, [param.0 - 11]) * 3</Return>
</Function>
<Function Name="charlib_cost_d">
<Return>max(1, [param.0 - 11]) * 4</Return>
</Function>
<Function Name="charlib_cost_e">
<Return>max(1, [param.0 - 11]) * 5</Return>
</Function>
<Function Name="charlib_cost_f">
<Return>max(1, [param.0 - 11]) * 6</Return>
</Function>
<Function Name="charlib_cost_attr">
<Return>max(1, [param.0] - 13) * 15</Return>
</Function>
<!--<Function Name="charlib_cost_b">
<Actions>
<Action>
<If>[param.0] &lt;= 12</If>
<Do>1</Do>
<Output>[local.cost]</Output>
</Action>
<Action>
<If>[param.0] > 12</If>
<Do>[param.0] - 11</Do>
<Output>[local.cost]</Output>
</Action>
</Actions>
<Return>[local.cost]</Return>
</Function>-->
</Functions>
</Library>
+129 -58
View File
@@ -13,6 +13,9 @@
<Path>wiki/races/Races</Path>
</BaseReference>
</Bases>
<Libraries>
<LibraryReference>charlib</LibraryReference>
</Libraries>
<StartPage>"start"</StartPage>
<Pages>
<Page Name="start">
@@ -23,18 +26,14 @@
<Rule>[rule.createcharacter]</Rule>
</Create>
<OnPostLoad>
<Actions>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</Actions>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</OnPostLoad>
<OnPostCreate>
<Actions>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</Actions>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</OnPostCreate>
</DataSlotLoader>
</Content>
@@ -63,13 +62,37 @@
<Display>[file.name]</Display>
<PropertyOutputs>
<PropertyOutput>
<Property>[data.race.speed]</Property>
<Property>[race.speed]</Property>
<Output>[data.character.race.speed]</Output>
</PropertyOutput>
<PropertyOutput>
<Property>[file.name]</Property>
<Output>[data.character.race.name]</Output>
</PropertyOutput>
<PropertyOutput>
<Property>[race.minage]</Property>
<Output>[data.character.race.minage]</Output>
</PropertyOutput>
<PropertyOutput>
<Property>[race.maxage]</Property>
<Output>[data.character.race.maxage]</Output>
</PropertyOutput>
<PropertyOutput>
<Property>[race.minweight]</Property>
<Output>[data.character.race.minweight]</Output>
</PropertyOutput>
<PropertyOutput>
<Property>[race.maxweight]</Property>
<Output>[data.character.race.maxweight]</Output>
</PropertyOutput>
<PropertyOutput>
<Property>[race.minheight]</Property>
<Output>[data.character.race.minheight]</Output>
</PropertyOutput>
<PropertyOutput>
<Property>[race.maxheight]</Property>
<Output>[data.character.race.maxheight]</Output>
</PropertyOutput>
</PropertyOutputs>
</BaseSingleSelect>
</Content>
@@ -87,15 +110,13 @@
<Button>
<Text>"Weiter"</Text>
<OnClick>
<Actions>
<Action>
<Do>"profile"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</Actions>
<Action>
<Do>"profile"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</OnClick>
</Button>
</Content>
@@ -130,44 +151,98 @@
<Button>
<Text>"Profil"</Text>
<OnClick>
<Actions>
<Action>
<Do>"profile"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</Actions>
<Action>
<Do>"profile"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</OnClick>
</Button>
<Button>
<Text>"Grundattribute"</Text>
<OnClick>
<Actions>
<Action>
<Do>"baseattributes"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</Actions>
<Action>
<Do>"baseattributes"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</OnClick>
</Button>
</Content>
</HorizontalContainer>
<!-- End Header Bar -->
<Header>
<Level>2</Level>
<Text>"Persönliche Daten"</Text>
</Header>
<GridContainer>
<Cols>2</Cols>
<Content>
<Label>
<Text>"Profile Page!"</Text>
<Text>"Name"</Text>
</Label>
<StringInput>
<Output>[data.character.definition.name]</Output>
</StringInput>
<Label>
<Text>"Geschlecht"</Text>
</Label>
<StringInput>
<Output>[data.character.definition.gender]</Output>
</StringInput>
<Label>
<Text>"Titel"</Text>
</Label>
<StringInput>
<Output>[data.character.definition.title]</Output>
</StringInput>
<Label>
<Text>"Herkunft"</Text>
</Label>
<StringInput>
<Output>[data.character.definition.origin]</Output>
</StringInput>
<Label>
<Text>"Profession"</Text>
</Label>
<StringInput>
<Output>[data.character.definition.profession]</Output>
</StringInput>
</Content>
</GridContainer>
<Header>
<Level>2</Level>
<Text>"Äußerliches"</Text>
</Header>
<GridContainer>
<Cols>3</Cols>
<Content>
<Label>
<Text>"Größe"</Text>
</Label>
<ValueAndBorders>
<Value>[data.character.definition.height]</Value>
<LowerBorder>[data.character.race.minheight]</LowerBorder>
<UpperBorder>[data.character.race.maxheight]</UpperBorder>
</ValueAndBorders>
<ValueButtons>
<Output>[data.character.definition.height]</Output>
<Cost>charlib_cost_a</Cost>
<Budget>[data.character.control.xp]</Budget>
<Buttons>
<ValueButton>
<Value>+50</Value>
</ValueButton>
</Buttons>
</ValueButtons>
</Content>
</GridContainer>
</Content>
</Page>
</Page><!-- End Profile Page-->
<Page Name="baseattributes">
<Content>
<!-- Header Bar -->
@@ -196,29 +271,25 @@
<Button>
<Text>"Profil"</Text>
<OnClick>
<Actions>
<Action>
<Do>"profile"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</Actions>
<Action>
<Do>"profile"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</OnClick>
</Button>
<Button>
<Text>"Grundattribute"</Text>
<OnClick>
<Actions>
<Action>
<Do>"baseattributes"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</Actions>
<Action>
<Do>"baseattributes"</Do>
<Output>[data.character.flow.currentPage]</Output>
</Action>
<OpenPage>
<Page>[data.character.flow.currentPage]</Page>
</OpenPage>
</OnClick>
</Button>
</Content>