Initial TTRPG character meta-builder with visual sheet editor.
Offline Electron app seeds 10 system presets, supports create-from-scratch designer with palette/drag/resize/bricks, and exports .ttrpg-system.json for the player. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,177 @@
|
||||
{
|
||||
"format": "ttrpg-system",
|
||||
"formatVersion": 1,
|
||||
"id": "pf2e",
|
||||
"name": "Pathfinder 2e",
|
||||
"description": "Proficiency ranks, feats graph. Fan mechanical scaffold.",
|
||||
"edition": "fan",
|
||||
"schemaVersion": 1,
|
||||
"revision": 1,
|
||||
"bricks": {
|
||||
"attributes": [
|
||||
{
|
||||
"key": "str",
|
||||
"label": "STR",
|
||||
"scale": "numeric",
|
||||
"min": 1,
|
||||
"max": 10,
|
||||
"default": 2
|
||||
},
|
||||
{
|
||||
"key": "dex",
|
||||
"label": "DEX",
|
||||
"scale": "numeric",
|
||||
"min": 1,
|
||||
"max": 10,
|
||||
"default": 2
|
||||
},
|
||||
{
|
||||
"key": "mind",
|
||||
"label": "Mind",
|
||||
"scale": "numeric",
|
||||
"min": 1,
|
||||
"max": 10,
|
||||
"default": 2
|
||||
}
|
||||
],
|
||||
"resources": [
|
||||
{
|
||||
"key": "hp",
|
||||
"label": "HP",
|
||||
"min": 0,
|
||||
"default": 10,
|
||||
"track": true
|
||||
}
|
||||
],
|
||||
"derived": [
|
||||
{
|
||||
"key": "strMod",
|
||||
"label": "STR Mod",
|
||||
"formula": "attr.str",
|
||||
"dependsOn": [
|
||||
"attr.str"
|
||||
]
|
||||
}
|
||||
],
|
||||
"progression": {
|
||||
"label": "Features",
|
||||
"graph": {
|
||||
"nodes": [
|
||||
{
|
||||
"id": "n1",
|
||||
"label": "Start",
|
||||
"kind": "feat",
|
||||
"position": {
|
||||
"x": 0,
|
||||
"y": 0
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "n2",
|
||||
"label": "Advance",
|
||||
"kind": "feat",
|
||||
"position": {
|
||||
"x": 200,
|
||||
"y": 0
|
||||
}
|
||||
}
|
||||
],
|
||||
"edges": [
|
||||
{
|
||||
"id": "e1",
|
||||
"source": "n1",
|
||||
"target": "n2",
|
||||
"kind": "prerequisite"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"creationRules": [
|
||||
{
|
||||
"id": "arr",
|
||||
"type": "array",
|
||||
"appliesTo": "attribute",
|
||||
"params": {
|
||||
"array": [
|
||||
3,
|
||||
2,
|
||||
2
|
||||
],
|
||||
"keys": [
|
||||
"str",
|
||||
"dex",
|
||||
"mind"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"sheetLayout": {
|
||||
"pageSize": "fluid",
|
||||
"grid": {
|
||||
"size": 8
|
||||
},
|
||||
"pages": [
|
||||
{
|
||||
"id": "main",
|
||||
"label": "Main",
|
||||
"widgets": [
|
||||
{
|
||||
"id": "t",
|
||||
"type": "section",
|
||||
"frame": {
|
||||
"x": 16,
|
||||
"y": 16,
|
||||
"w": 280,
|
||||
"h": 36
|
||||
},
|
||||
"props": {
|
||||
"title": "Pathfinder 2e"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "str",
|
||||
"type": "dots",
|
||||
"bind": "attr.str",
|
||||
"frame": {
|
||||
"x": 16,
|
||||
"y": 64,
|
||||
"w": 160,
|
||||
"h": 70
|
||||
},
|
||||
"props": {
|
||||
"label": "STR",
|
||||
"max": 5
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "hp",
|
||||
"type": "track",
|
||||
"bind": "resource.hp",
|
||||
"frame": {
|
||||
"x": 200,
|
||||
"y": 64,
|
||||
"w": 200,
|
||||
"h": 80
|
||||
},
|
||||
"props": {
|
||||
"label": "HP",
|
||||
"max": 20
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "notes",
|
||||
"type": "notes",
|
||||
"bind": "meta.notes",
|
||||
"frame": {
|
||||
"x": 16,
|
||||
"y": 160,
|
||||
"w": 380,
|
||||
"h": 120
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user