Parent Region:
INPUT[suggester(optionQuery(#Category/Place)):MyContainer]
Column
Place Name
INPUT[select( option(1, ā¹ļøGeneral), option(2, āļøGoals), option(3, šGM Notes), class(tabbed) )]Tabbed
NOTE
INPUT[select( option(1, šHierarchy), option(2, šPeople), option(3, ā”Enemies/Allies), option(4, š ļøServices), option(5,āMembership), option(6, š”ļøRanks), class(tabbed) )]Tabbed
General
Select Parent: INPUT[suggester(optionQuery(#Category/Hub),optionQuery(#Category/Region)):MyContainer]
Select Category: INPUT[template-group-type][:MyCategory]
Values: The syndicate values skill and ambition, but also discretion and loyalty.
Allies / Enemies:
Membership Requirements:
Benefits This crime syndicate can protect its members from the consequences of all but the most heinous crimes. Rank 1: borrow resources (100 gp), case (+15), diversion (+15), gather information, lookout (4 ways, +15) Rank 2: borrow resources (1,000 gp), put in a good word, remove evidence, rob, search black market Rank 3: borrow resources (5,000 gp), command team (1d4 NPCs of 3rd level, or 3d4 NPCs of 1st level), destroy evidence, market manipulation, reciprocal benefits Rank 4: black market mastery, borrow resources (15,000 gp), command team (1d4 NPCs of 6th level, or 5d4 NPCs of 3rd level)
Goals
Public Goals
- Achieve This
- Achieve That
Private Goals
- Achieve This
- Achieve That
Membership
To join the group, a PC must spend X week ādoingā something, or āsomething elseā.
GM Notes
Make notes of what you need to track in the town here.
Hierarchy
BUTTON[button_person] List important relationships here.
// 1) Grab your frontmatter arrays
const leader = dv.current().leader ?? null;
const officers = dv.current().officers ?? [];
const members = dv.current().members ?? [];
const initiates = dv.current().initiates ?? [];
// 2) Render the Mermaid diagram
dv.paragraph(
"```mermaid\nflowchart LR\n" +
// Leader node
(leader
? `L[${leader}]:::internal-link\n`
: "") +
// Officers group
(officers.length > 0
? `OG[Officers]\nL --> OG\n` +
officers.map((o,i) =>
`O${i+1}[${o}]:::internal-link\nOG --> O${i+1}\n`
).join("")
: "") +
// Members group
(members.length > 0
? `MG[Members]\n${officers.length ? "OG" : "L"} --> MG\n` +
members.map((m,i) =>
`M${i+1}[${m}]:::internal-link\nMG --> M${i+1}\n`
).join("")
: "") +
// Initiates group
(initiates.length > 0
? `IG[Initiates]\n${members.length ? "MG" : (officers.length ? "OG" : "L")} --> IG\n` +
initiates.map((n,i) =>
`I${i+1}[${n}]:::internal-link\nIG --> I${i+1}\n`
).join("")
: "") +
"```"
)Relationship Config - Enter name of People Notes
Leader Officers INPUT[list:leader]INPUT[list:officers]
Members Initiates INPUT[list:members]INPUT[list:initiates]
Enemies/Allies
Enemies: INPUT[inlineListSuggester(optionQuery(#Category/Group),optionQuery(#Category/People)):MyEnemies]
Allies: INPUT[inlineListSuggester(optionQuery(#Category/Group),optionQuery(#Category/People)):MyAllies]
People
The following people are members of this group.
properties:
file.name:
displayName: Star Systems Name
note.MyCategory:
displayName: Type of Star System
note.char_race:
displayName: Race
note.char_gender:
displayName: Gender
note.char_age:
displayName: Age
views:
- type: cards
name: Group Members - Cards
filters:
and:
- file.folder == "2-World/People"
- list(Connected_Groups).contains(this)
order:
- file.name
- char_age
- char_gender
- char_race
image: note.image
- type: table
name: Group Members - Table
filters:
and:
- file.folder == "2-World/People"
- list(Connected_Groups).contains(this)
order:
- file.name
sort:
- property: file.name
direction: DESC
columnSize:
file.name: 182
Services
Services offered.
Public Services
Item Cost Weight Service 1 1gp L Service 2 1cp -
Member Services
Item Cost Weight Service 1 1gp L Service 2 1cp -
Ranks
Ranks listed here
- Rank 1: Benefit
- Rank 2: Benefit
- Rank 3: Benefit
