Files
ttrpg-character-builder/presets/alien.json
T
Ivan Fontosh d1f180ee0a 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>
2026-09-12 14:49:31 +08:00

177 lines
3.3 KiB
JSON

{
"format": "ttrpg-system",
"formatVersion": 1,
"id": "alien",
"name": "Alien RPG",
"description": "Year Zero stress and career. 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": "Alien RPG"
}
},
{
"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
}
}
]
}
]
}
}