Party sheets
Things that belong to the whole party (the ship, the boat, the lair): shared or one per character, who edits them, cross-references in formulas, and how to build them from the UI or in code.
Some things don't belong to one player, they belong to the whole party: the crew's ship, the pirate boat, the hideout, the shared inventory. A party sheet is a shared sheet that uses the same fields, layout and rolls as a regular character sheet, but belongs to the game, not to a character.
They are defined in the Party sheets tab of the builder (or by code, see below), and players open them from the game, in the "Shared with the party" strip.
Creating a party sheet (UI)
In the Party sheets tab, click Add party sheet. Each one has:
| Field | What it is |
|---|---|
| Name | What it's called (The ship, The boat, The hideout...). |
| Key | Internal identifier (ship, boat). Don't change it once it's in use. |
| Icon | An icon for the entry. |
| How many? | Just one (the party's ship), Several (a fleet) or Let the GM decide. |
| Default | Shared by the party or One per character (the GM can change it in their game). |
| Who edits it | Any member of the party or only the GM. |
| Created as a group | Whether the wizard offers to create it together (the ship in Lasers & Feelings). |
Below you have two sub-tabs, Fields and Layout, identical to those of a character sheet: the party sheet has its own set of fields (its own namespace, they don't collide with the PC's) and its own grid layout.
What it shares with the system and what it doesn't
A party sheet uses the same widgets as a character sheet, and the system's content reaches it the same way. You can put an inventory on the boat, the armory (to pull things from the catalog), the bestiary, a roster database, a hand of cards or the party stash, and they all read from the same place as on the character's sheet, because it's the same system. Coins travel too, so prices work.
What it does not inherit is the character's progression: levels, experience, perks and the creation wizard. A boat doesn't level up or pick feats. If your ship needs upgrades, make them fields of the party sheet (an upgrade counter, a Yes/No for each one with its effects).
One nuance: combat actions and those of armory pieces don't travel either. They are written in the character's language ("Broken bottle" rolls your Strength and deals damage to your HP) and on a party sheet those fields don't exist. The item itself can be stored and viewed; what gets rolled from the party sheet are its own rollable fields.
Shared vs. one per character
- Shared: there is one sheet for the whole party. It opens from the game and anyone with permission edits it; changes show in real time for the whole table (the ship's shields drop and everyone notices).
- One per character (per_character): there is no separate sheet; the party sheet's fields are injected into each character's sheet. It's like having those fields on your own sheet (the boat in Pirate Borg on the captain's sheet).
The GM decides which one to use in their game, in Campaign settings -> Rules, with the Shared / One per character selector for each sheet. There, their choice overrides whatever the system brings by default.
Reading the party sheet from a formula
A formula on the character sheet can read a value from the shared party sheet with the syntax:
group.<clave>.<campo>For example, a maneuver that adds the PC's skill and the shared boat's:
pilotaje + group.barco.velocidadTo make it work in both modes (shared and per-character) without changing the formula, add both forms. Only one has a value at a time:
barco_habilidad + group.barco.barco_habilidad + presenciaIn per_character the barco_habilidad field is on the sheet and group.barco.* is 0; in shared it's the other way around. The result is the same.
From code
A party sheet is just another section of the system definition. In the system's JSON (or in a build) it goes under group_sheets:
"group_sheets": [
{
"key": "nave",
"label": "La nave",
"icon": "Rocket",
"cardinality": "one",
"default_scope": "shared",
"write": "party",
"wizard": { "group_create": true },
"fields": [
{ "key": "escudos", "label": "Escudos", "type": "number", "min": 0, "max": 5 }
],
"layout": [
{ "label": "Nave", "widgets": [ { "type": "number_field", "config": { "field_key": "escudos" } } ] }
]
}
]cardinality: one | many | gm_choice. default_scope: shared | per_character. write: party | gm. The fields use the same grammar as the fields of a character sheet.
Everything done in the Party sheets tab can be written this way, and vice versa: a system imported by JSON with group_sheets can then be edited from the UI.