@hiveforge/hivemind-mcp 3.4.0 → 3.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +89 -309
- package/dist/cli/fix/fixer.js +1 -1
- package/dist/cli/fix/fixer.js.map +1 -1
- package/dist/cli/fix/writer.d.ts.map +1 -1
- package/dist/cli/fix/writer.js +75 -3
- package/dist/cli/fix/writer.js.map +1 -1
- package/dist/cli/init/output.d.ts.map +1 -1
- package/dist/cli/init/output.js +6 -5
- package/dist/cli/init/output.js.map +1 -1
- package/dist/cli/validate/formatter.d.ts.map +1 -1
- package/dist/cli/validate/formatter.js +16 -0
- package/dist/cli/validate/formatter.js.map +1 -1
- package/dist/cli/validate/types.d.ts +3 -0
- package/dist/cli/validate/types.d.ts.map +1 -1
- package/dist/cli/validate/validator.d.ts.map +1 -1
- package/dist/cli/validate/validator.js +32 -1
- package/dist/cli/validate/validator.js.map +1 -1
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/graph/database.d.ts +152 -0
- package/dist/graph/database.d.ts.map +1 -1
- package/dist/graph/database.js +418 -30
- package/dist/graph/database.js.map +1 -1
- package/dist/mcp/graph-tools.d.ts +78 -0
- package/dist/mcp/graph-tools.d.ts.map +1 -0
- package/dist/mcp/graph-tools.js +284 -0
- package/dist/mcp/graph-tools.js.map +1 -0
- package/dist/mcp/timeline-tools.d.ts +116 -0
- package/dist/mcp/timeline-tools.d.ts.map +1 -0
- package/dist/mcp/timeline-tools.js +317 -0
- package/dist/mcp/timeline-tools.js.map +1 -0
- package/dist/search/engine.d.ts +186 -0
- package/dist/search/engine.d.ts.map +1 -1
- package/dist/search/engine.js +263 -0
- package/dist/search/engine.js.map +1 -1
- package/dist/server.d.ts +52 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +472 -0
- package/dist/server.js.map +1 -1
- package/dist/templates/builtin/worldbuilding.d.ts.map +1 -1
- package/dist/templates/builtin/worldbuilding.js +401 -1
- package/dist/templates/builtin/worldbuilding.js.map +1 -1
- package/dist/templates/community/dnd-35e.d.ts +18 -0
- package/dist/templates/community/dnd-35e.d.ts.map +1 -0
- package/dist/templates/community/dnd-35e.js +859 -0
- package/dist/templates/community/dnd-35e.js.map +1 -0
- package/dist/templates/community/dnd-5e.d.ts +16 -0
- package/dist/templates/community/dnd-5e.d.ts.map +1 -0
- package/dist/templates/community/dnd-5e.js +509 -0
- package/dist/templates/community/dnd-5e.js.map +1 -0
- package/dist/templates/community/index.d.ts +9 -0
- package/dist/templates/community/index.d.ts.map +1 -1
- package/dist/templates/community/index.js +16 -0
- package/dist/templates/community/index.js.map +1 -1
- package/dist/templates/community/pathfinder-2e.d.ts +16 -0
- package/dist/templates/community/pathfinder-2e.d.ts.map +1 -0
- package/dist/templates/community/pathfinder-2e.js +711 -0
- package/dist/templates/community/pathfinder-2e.js.map +1 -0
- package/dist/templates/community/ttrpg-base.d.ts +17 -0
- package/dist/templates/community/ttrpg-base.d.ts.map +1 -0
- package/dist/templates/community/ttrpg-base.js +889 -0
- package/dist/templates/community/ttrpg-base.js.map +1 -0
- package/dist/templates/loader.d.ts +2 -0
- package/dist/templates/loader.d.ts.map +1 -1
- package/dist/templates/loader.js +45 -1
- package/dist/templates/loader.js.map +1 -1
- package/dist/templates/registry.d.ts +49 -2
- package/dist/templates/registry.d.ts.map +1 -1
- package/dist/templates/registry.js +276 -6
- package/dist/templates/registry.js.map +1 -1
- package/dist/templates/types.d.ts +28 -1
- package/dist/templates/types.d.ts.map +1 -1
- package/dist/templates/validator.d.ts +80 -1
- package/dist/templates/validator.d.ts.map +1 -1
- package/dist/templates/validator.js +22 -5
- package/dist/templates/validator.js.map +1 -1
- package/dist/types/index.d.ts +18 -18
- package/package.json +1 -1
|
@@ -0,0 +1,711 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pathfinder 2nd Edition template.
|
|
3
|
+
*
|
|
4
|
+
* Extends the TTRPG base template with PF2e-specific mechanics:
|
|
5
|
+
* - Three-action economy
|
|
6
|
+
* - Four degrees of success (critical success, success, failure, critical failure)
|
|
7
|
+
* - Proficiency ranks (untrained, trained, expert, master, legendary)
|
|
8
|
+
* - Focus points and focus spells
|
|
9
|
+
* - Ancestries, heritages, and versatile heritages
|
|
10
|
+
* - Character level 1-20 with dedication feats for multiclassing
|
|
11
|
+
*
|
|
12
|
+
* Compatible with official Pathfinder 2e content and homebrew.
|
|
13
|
+
*/
|
|
14
|
+
export const pathfinder2eTemplate = {
|
|
15
|
+
id: 'pathfinder-2e',
|
|
16
|
+
name: 'Pathfinder 2nd Edition',
|
|
17
|
+
version: '1.0.0',
|
|
18
|
+
description: 'Pathfinder 2nd Edition template with support for the three-action economy, proficiency ranks, ancestries, and PF2e-specific mechanics.',
|
|
19
|
+
extendsTemplate: 'ttrpg-base',
|
|
20
|
+
category: 'creative',
|
|
21
|
+
tags: ['pathfinder', 'pf2e', 'paizo', 'ttrpg', 'd20', 'three-action'],
|
|
22
|
+
author: {
|
|
23
|
+
name: 'HiveForge',
|
|
24
|
+
url: 'https://github.com/hiveforge-sh',
|
|
25
|
+
},
|
|
26
|
+
license: 'MIT',
|
|
27
|
+
entityTypes: [
|
|
28
|
+
// Extend character with PF2e-specific fields
|
|
29
|
+
{
|
|
30
|
+
name: 'character',
|
|
31
|
+
displayName: 'Character',
|
|
32
|
+
pluralName: 'Characters',
|
|
33
|
+
fields: [],
|
|
34
|
+
additionalFields: [
|
|
35
|
+
// Ancestry & Heritage (PF2e uses ancestry instead of race)
|
|
36
|
+
{
|
|
37
|
+
name: 'ancestry',
|
|
38
|
+
type: 'string',
|
|
39
|
+
description: 'Character ancestry (Human, Elf, Dwarf, etc.)',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'heritage',
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: 'Heritage within ancestry',
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
name: 'versatile_heritage',
|
|
48
|
+
type: 'string',
|
|
49
|
+
description: 'Versatile heritage (Dhampir, Tiefling, etc.)',
|
|
50
|
+
},
|
|
51
|
+
// PF2e proficiency ranks
|
|
52
|
+
{
|
|
53
|
+
name: 'perception',
|
|
54
|
+
type: 'record',
|
|
55
|
+
description: 'Perception proficiency rank and modifier',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: 'fortitude',
|
|
59
|
+
type: 'record',
|
|
60
|
+
description: 'Fortitude save proficiency and modifier',
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'reflex',
|
|
64
|
+
type: 'record',
|
|
65
|
+
description: 'Reflex save proficiency and modifier',
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: 'will',
|
|
69
|
+
type: 'record',
|
|
70
|
+
description: 'Will save proficiency and modifier',
|
|
71
|
+
},
|
|
72
|
+
// PF2e action economy
|
|
73
|
+
{
|
|
74
|
+
name: 'hero_points',
|
|
75
|
+
type: 'number',
|
|
76
|
+
description: 'Current hero points (max 3)',
|
|
77
|
+
},
|
|
78
|
+
// Focus spells
|
|
79
|
+
{
|
|
80
|
+
name: 'focus_points',
|
|
81
|
+
type: 'number',
|
|
82
|
+
description: 'Current focus points',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
name: 'focus_points_max',
|
|
86
|
+
type: 'number',
|
|
87
|
+
description: 'Maximum focus points (usually 1-3)',
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: 'focus_spells',
|
|
91
|
+
type: 'array',
|
|
92
|
+
arrayItemType: 'string',
|
|
93
|
+
description: 'Known focus spells',
|
|
94
|
+
},
|
|
95
|
+
// PF2e-specific class features
|
|
96
|
+
{
|
|
97
|
+
name: 'class_dc',
|
|
98
|
+
type: 'number',
|
|
99
|
+
description: 'Class DC for abilities',
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: 'key_ability',
|
|
103
|
+
type: 'string',
|
|
104
|
+
description: 'Key ability score for class',
|
|
105
|
+
},
|
|
106
|
+
// Archetype/multiclass dedications
|
|
107
|
+
{
|
|
108
|
+
name: 'archetypes',
|
|
109
|
+
type: 'array',
|
|
110
|
+
arrayItemType: 'string',
|
|
111
|
+
description: 'Archetype dedications taken',
|
|
112
|
+
},
|
|
113
|
+
// Feats by type
|
|
114
|
+
{
|
|
115
|
+
name: 'ancestry_feats',
|
|
116
|
+
type: 'array',
|
|
117
|
+
arrayItemType: 'string',
|
|
118
|
+
description: 'Ancestry feats',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
name: 'class_feats',
|
|
122
|
+
type: 'array',
|
|
123
|
+
arrayItemType: 'string',
|
|
124
|
+
description: 'Class feats',
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
name: 'skill_feats',
|
|
128
|
+
type: 'array',
|
|
129
|
+
arrayItemType: 'string',
|
|
130
|
+
description: 'Skill feats',
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: 'general_feats',
|
|
134
|
+
type: 'array',
|
|
135
|
+
arrayItemType: 'string',
|
|
136
|
+
description: 'General feats',
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
name: 'archetype_feats',
|
|
140
|
+
type: 'array',
|
|
141
|
+
arrayItemType: 'string',
|
|
142
|
+
description: 'Archetype feats',
|
|
143
|
+
},
|
|
144
|
+
// PF2e conditions (more detailed than base)
|
|
145
|
+
{
|
|
146
|
+
name: 'dying',
|
|
147
|
+
type: 'number',
|
|
148
|
+
description: 'Dying condition value (0-4)',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
name: 'wounded',
|
|
152
|
+
type: 'number',
|
|
153
|
+
description: 'Wounded condition value',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
name: 'doomed',
|
|
157
|
+
type: 'number',
|
|
158
|
+
description: 'Doomed condition value',
|
|
159
|
+
},
|
|
160
|
+
// Bulk system
|
|
161
|
+
{
|
|
162
|
+
name: 'bulk_carried',
|
|
163
|
+
type: 'number',
|
|
164
|
+
description: 'Current bulk carried',
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
name: 'bulk_limit',
|
|
168
|
+
type: 'number',
|
|
169
|
+
description: 'Bulk limit before encumbered',
|
|
170
|
+
},
|
|
171
|
+
// Lore skills (PF2e-specific)
|
|
172
|
+
{
|
|
173
|
+
name: 'lore_skills',
|
|
174
|
+
type: 'array',
|
|
175
|
+
arrayItemType: 'record',
|
|
176
|
+
description: 'Lore skills with proficiency ranks',
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
// Extend spell with PF2e action economy
|
|
181
|
+
{
|
|
182
|
+
name: 'spell',
|
|
183
|
+
displayName: 'Spell',
|
|
184
|
+
pluralName: 'Spells',
|
|
185
|
+
fields: [],
|
|
186
|
+
additionalFields: [
|
|
187
|
+
{
|
|
188
|
+
name: 'actions',
|
|
189
|
+
type: 'enum',
|
|
190
|
+
enumValues: ['1', '2', '3', 'free', 'reaction', '1 minute', '10 minutes', '1 hour', 'special'],
|
|
191
|
+
description: 'Actions required to cast',
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
name: 'traditions',
|
|
195
|
+
type: 'array',
|
|
196
|
+
arrayItemType: 'enum',
|
|
197
|
+
description: 'Spell traditions (arcane, divine, occult, primal)',
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
name: 'traits',
|
|
201
|
+
type: 'array',
|
|
202
|
+
arrayItemType: 'string',
|
|
203
|
+
description: 'Spell traits',
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: 'heightened',
|
|
207
|
+
type: 'record',
|
|
208
|
+
description: 'Heightened effects by level',
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
name: 'save',
|
|
212
|
+
type: 'string',
|
|
213
|
+
description: 'Basic save or special save effect',
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
name: 'area',
|
|
217
|
+
type: 'string',
|
|
218
|
+
description: 'Area of effect',
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
name: 'targets',
|
|
222
|
+
type: 'string',
|
|
223
|
+
description: 'Number and type of targets',
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
name: 'defense',
|
|
227
|
+
type: 'string',
|
|
228
|
+
description: 'Defense used (AC, save type)',
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
name: 'sustained',
|
|
232
|
+
type: 'boolean',
|
|
233
|
+
description: 'Whether spell can be sustained',
|
|
234
|
+
},
|
|
235
|
+
],
|
|
236
|
+
},
|
|
237
|
+
// Extend creature with PF2e stats
|
|
238
|
+
{
|
|
239
|
+
name: 'creature',
|
|
240
|
+
displayName: 'Creature',
|
|
241
|
+
pluralName: 'Creatures',
|
|
242
|
+
fields: [],
|
|
243
|
+
additionalFields: [
|
|
244
|
+
{
|
|
245
|
+
name: 'level',
|
|
246
|
+
type: 'number',
|
|
247
|
+
description: 'Creature level (-1 to 25+)',
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
name: 'traits',
|
|
251
|
+
type: 'array',
|
|
252
|
+
arrayItemType: 'string',
|
|
253
|
+
description: 'Creature traits',
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
name: 'perception',
|
|
257
|
+
type: 'number',
|
|
258
|
+
description: 'Perception modifier',
|
|
259
|
+
},
|
|
260
|
+
{
|
|
261
|
+
name: 'fortitude',
|
|
262
|
+
type: 'number',
|
|
263
|
+
description: 'Fortitude save modifier',
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
name: 'reflex',
|
|
267
|
+
type: 'number',
|
|
268
|
+
description: 'Reflex save modifier',
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
name: 'will',
|
|
272
|
+
type: 'number',
|
|
273
|
+
description: 'Will save modifier',
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
name: 'ac',
|
|
277
|
+
type: 'number',
|
|
278
|
+
description: 'Armor Class',
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
name: 'hp',
|
|
282
|
+
type: 'number',
|
|
283
|
+
description: 'Hit Points',
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
name: 'hardness',
|
|
287
|
+
type: 'number',
|
|
288
|
+
description: 'Hardness (for objects/constructs)',
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
name: 'immunities',
|
|
292
|
+
type: 'array',
|
|
293
|
+
arrayItemType: 'string',
|
|
294
|
+
description: 'Immunities',
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
name: 'weaknesses',
|
|
298
|
+
type: 'array',
|
|
299
|
+
arrayItemType: 'record',
|
|
300
|
+
description: 'Weaknesses with values',
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
name: 'resistances',
|
|
304
|
+
type: 'array',
|
|
305
|
+
arrayItemType: 'record',
|
|
306
|
+
description: 'Resistances with values',
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
name: 'speed',
|
|
310
|
+
type: 'record',
|
|
311
|
+
description: 'Speeds by type (land, fly, swim, climb, burrow)',
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
name: 'strikes',
|
|
315
|
+
type: 'array',
|
|
316
|
+
arrayItemType: 'record',
|
|
317
|
+
description: 'Strike actions',
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
name: 'spellcasting',
|
|
321
|
+
type: 'array',
|
|
322
|
+
arrayItemType: 'record',
|
|
323
|
+
description: 'Spellcasting entries',
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
name: 'rituals',
|
|
327
|
+
type: 'array',
|
|
328
|
+
arrayItemType: 'string',
|
|
329
|
+
description: 'Rituals known',
|
|
330
|
+
},
|
|
331
|
+
],
|
|
332
|
+
},
|
|
333
|
+
// Extend item with PF2e bulk and runes
|
|
334
|
+
{
|
|
335
|
+
name: 'item',
|
|
336
|
+
displayName: 'Item',
|
|
337
|
+
pluralName: 'Items',
|
|
338
|
+
fields: [],
|
|
339
|
+
additionalFields: [
|
|
340
|
+
{
|
|
341
|
+
name: 'level',
|
|
342
|
+
type: 'number',
|
|
343
|
+
description: 'Item level',
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
name: 'price',
|
|
347
|
+
type: 'string',
|
|
348
|
+
description: 'Price in gp/sp/cp',
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
name: 'bulk',
|
|
352
|
+
type: 'string',
|
|
353
|
+
description: 'Bulk (L for light, - for negligible)',
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
name: 'traits',
|
|
357
|
+
type: 'array',
|
|
358
|
+
arrayItemType: 'string',
|
|
359
|
+
description: 'Item traits',
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
name: 'usage',
|
|
363
|
+
type: 'string',
|
|
364
|
+
description: 'How the item is used (held, worn, etc.)',
|
|
365
|
+
},
|
|
366
|
+
{
|
|
367
|
+
name: 'activate',
|
|
368
|
+
type: 'record',
|
|
369
|
+
description: 'Activation requirements and effects',
|
|
370
|
+
},
|
|
371
|
+
// Rune system
|
|
372
|
+
{
|
|
373
|
+
name: 'fundamental_runes',
|
|
374
|
+
type: 'array',
|
|
375
|
+
arrayItemType: 'string',
|
|
376
|
+
description: 'Fundamental runes (potency, striking, resilient)',
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
name: 'property_runes',
|
|
380
|
+
type: 'array',
|
|
381
|
+
arrayItemType: 'string',
|
|
382
|
+
description: 'Property runes',
|
|
383
|
+
},
|
|
384
|
+
// PF2e weapon stats
|
|
385
|
+
{
|
|
386
|
+
name: 'damage_die',
|
|
387
|
+
type: 'string',
|
|
388
|
+
description: 'Base damage die',
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
name: 'weapon_group',
|
|
392
|
+
type: 'string',
|
|
393
|
+
description: 'Weapon group (sword, bow, etc.)',
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
name: 'weapon_traits',
|
|
397
|
+
type: 'array',
|
|
398
|
+
arrayItemType: 'string',
|
|
399
|
+
description: 'Weapon traits (agile, reach, etc.)',
|
|
400
|
+
},
|
|
401
|
+
// PF2e armor stats
|
|
402
|
+
{
|
|
403
|
+
name: 'armor_category',
|
|
404
|
+
type: 'enum',
|
|
405
|
+
enumValues: ['unarmored', 'light', 'medium', 'heavy'],
|
|
406
|
+
description: 'Armor category',
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
name: 'ac_bonus',
|
|
410
|
+
type: 'number',
|
|
411
|
+
description: 'AC bonus',
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
name: 'dex_cap',
|
|
415
|
+
type: 'number',
|
|
416
|
+
description: 'Dex modifier cap',
|
|
417
|
+
},
|
|
418
|
+
{
|
|
419
|
+
name: 'check_penalty',
|
|
420
|
+
type: 'number',
|
|
421
|
+
description: 'Check penalty',
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
name: 'speed_penalty',
|
|
425
|
+
type: 'number',
|
|
426
|
+
description: 'Speed penalty',
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
name: 'armor_group',
|
|
430
|
+
type: 'string',
|
|
431
|
+
description: 'Armor group',
|
|
432
|
+
},
|
|
433
|
+
],
|
|
434
|
+
},
|
|
435
|
+
// Ancestry entity type (PF2e-specific)
|
|
436
|
+
{
|
|
437
|
+
name: 'ancestry',
|
|
438
|
+
displayName: 'Ancestry',
|
|
439
|
+
pluralName: 'Ancestries',
|
|
440
|
+
description: 'Playable ancestries with heritages and feats',
|
|
441
|
+
icon: 'users',
|
|
442
|
+
fields: [
|
|
443
|
+
{
|
|
444
|
+
name: 'name',
|
|
445
|
+
type: 'string',
|
|
446
|
+
required: true,
|
|
447
|
+
description: 'Ancestry name',
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
name: 'hit_points',
|
|
451
|
+
type: 'number',
|
|
452
|
+
description: 'Ancestry hit points',
|
|
453
|
+
},
|
|
454
|
+
{
|
|
455
|
+
name: 'size',
|
|
456
|
+
type: 'enum',
|
|
457
|
+
enumValues: ['tiny', 'small', 'medium', 'large'],
|
|
458
|
+
description: 'Size category',
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
name: 'speed',
|
|
462
|
+
type: 'number',
|
|
463
|
+
description: 'Base speed in feet',
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
name: 'ability_boosts',
|
|
467
|
+
type: 'array',
|
|
468
|
+
arrayItemType: 'string',
|
|
469
|
+
description: 'Ability boosts',
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
name: 'ability_flaw',
|
|
473
|
+
type: 'string',
|
|
474
|
+
description: 'Ability flaw (if any)',
|
|
475
|
+
},
|
|
476
|
+
{
|
|
477
|
+
name: 'languages',
|
|
478
|
+
type: 'array',
|
|
479
|
+
arrayItemType: 'string',
|
|
480
|
+
description: 'Starting languages',
|
|
481
|
+
},
|
|
482
|
+
{
|
|
483
|
+
name: 'traits',
|
|
484
|
+
type: 'array',
|
|
485
|
+
arrayItemType: 'string',
|
|
486
|
+
description: 'Ancestry traits',
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
name: 'special_abilities',
|
|
490
|
+
type: 'array',
|
|
491
|
+
arrayItemType: 'record',
|
|
492
|
+
description: 'Special ancestry abilities',
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
name: 'heritages',
|
|
496
|
+
type: 'array',
|
|
497
|
+
arrayItemType: 'string',
|
|
498
|
+
description: 'Available heritages',
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
name: 'source',
|
|
502
|
+
type: 'string',
|
|
503
|
+
description: 'Source book',
|
|
504
|
+
},
|
|
505
|
+
],
|
|
506
|
+
},
|
|
507
|
+
// Heritage entity type (PF2e-specific)
|
|
508
|
+
{
|
|
509
|
+
name: 'heritage',
|
|
510
|
+
displayName: 'Heritage',
|
|
511
|
+
pluralName: 'Heritages',
|
|
512
|
+
description: 'Ancestry heritages and versatile heritages',
|
|
513
|
+
icon: 'git-branch',
|
|
514
|
+
fields: [
|
|
515
|
+
{
|
|
516
|
+
name: 'name',
|
|
517
|
+
type: 'string',
|
|
518
|
+
required: true,
|
|
519
|
+
description: 'Heritage name',
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
name: 'ancestry',
|
|
523
|
+
type: 'string',
|
|
524
|
+
description: 'Parent ancestry (blank for versatile heritages)',
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
name: 'is_versatile',
|
|
528
|
+
type: 'boolean',
|
|
529
|
+
description: 'Whether this is a versatile heritage',
|
|
530
|
+
},
|
|
531
|
+
{
|
|
532
|
+
name: 'abilities',
|
|
533
|
+
type: 'array',
|
|
534
|
+
arrayItemType: 'record',
|
|
535
|
+
description: 'Heritage abilities',
|
|
536
|
+
},
|
|
537
|
+
{
|
|
538
|
+
name: 'source',
|
|
539
|
+
type: 'string',
|
|
540
|
+
description: 'Source book',
|
|
541
|
+
},
|
|
542
|
+
],
|
|
543
|
+
},
|
|
544
|
+
// Action entity type (PF2e three-action economy)
|
|
545
|
+
{
|
|
546
|
+
name: 'action',
|
|
547
|
+
displayName: 'Action',
|
|
548
|
+
pluralName: 'Actions',
|
|
549
|
+
description: 'Actions, activities, and reactions',
|
|
550
|
+
icon: 'zap',
|
|
551
|
+
fields: [
|
|
552
|
+
{
|
|
553
|
+
name: 'name',
|
|
554
|
+
type: 'string',
|
|
555
|
+
required: true,
|
|
556
|
+
description: 'Action name',
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
name: 'action_type',
|
|
560
|
+
type: 'enum',
|
|
561
|
+
enumValues: ['action', 'activity', 'reaction', 'free'],
|
|
562
|
+
description: 'Type of action',
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
name: 'actions',
|
|
566
|
+
type: 'string',
|
|
567
|
+
description: 'Number of actions (1, 2, 3, or varies)',
|
|
568
|
+
},
|
|
569
|
+
{
|
|
570
|
+
name: 'traits',
|
|
571
|
+
type: 'array',
|
|
572
|
+
arrayItemType: 'string',
|
|
573
|
+
description: 'Action traits',
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
name: 'trigger',
|
|
577
|
+
type: 'string',
|
|
578
|
+
description: 'Trigger (for reactions)',
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
name: 'requirements',
|
|
582
|
+
type: 'string',
|
|
583
|
+
description: 'Requirements to use the action',
|
|
584
|
+
},
|
|
585
|
+
{
|
|
586
|
+
name: 'frequency',
|
|
587
|
+
type: 'string',
|
|
588
|
+
description: 'Usage frequency',
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
name: 'effect',
|
|
592
|
+
type: 'string',
|
|
593
|
+
description: 'Action effect',
|
|
594
|
+
},
|
|
595
|
+
{
|
|
596
|
+
name: 'critical_success',
|
|
597
|
+
type: 'string',
|
|
598
|
+
description: 'Critical success effect',
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
name: 'success',
|
|
602
|
+
type: 'string',
|
|
603
|
+
description: 'Success effect',
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
name: 'failure',
|
|
607
|
+
type: 'string',
|
|
608
|
+
description: 'Failure effect',
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
name: 'critical_failure',
|
|
612
|
+
type: 'string',
|
|
613
|
+
description: 'Critical failure effect',
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
name: 'source',
|
|
617
|
+
type: 'string',
|
|
618
|
+
description: 'Source (class, feat, etc.)',
|
|
619
|
+
},
|
|
620
|
+
],
|
|
621
|
+
},
|
|
622
|
+
// Condition entity type (PF2e has many conditions)
|
|
623
|
+
{
|
|
624
|
+
name: 'condition',
|
|
625
|
+
displayName: 'Condition',
|
|
626
|
+
pluralName: 'Conditions',
|
|
627
|
+
description: 'Status conditions and their effects',
|
|
628
|
+
icon: 'alert-circle',
|
|
629
|
+
fields: [
|
|
630
|
+
{
|
|
631
|
+
name: 'name',
|
|
632
|
+
type: 'string',
|
|
633
|
+
required: true,
|
|
634
|
+
description: 'Condition name',
|
|
635
|
+
},
|
|
636
|
+
{
|
|
637
|
+
name: 'has_value',
|
|
638
|
+
type: 'boolean',
|
|
639
|
+
description: 'Whether condition has a value (e.g., frightened 2)',
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
name: 'effects',
|
|
643
|
+
type: 'array',
|
|
644
|
+
arrayItemType: 'string',
|
|
645
|
+
description: 'Condition effects',
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
name: 'overrides',
|
|
649
|
+
type: 'array',
|
|
650
|
+
arrayItemType: 'string',
|
|
651
|
+
description: 'Conditions this overrides',
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
name: 'reduction',
|
|
655
|
+
type: 'string',
|
|
656
|
+
description: 'How condition value reduces',
|
|
657
|
+
},
|
|
658
|
+
],
|
|
659
|
+
},
|
|
660
|
+
],
|
|
661
|
+
relationshipTypes: [
|
|
662
|
+
// Ancestry-Heritage relationships
|
|
663
|
+
{
|
|
664
|
+
id: 'has_heritage',
|
|
665
|
+
displayName: 'Has Heritage',
|
|
666
|
+
description: 'Ancestry has this heritage option',
|
|
667
|
+
sourceTypes: ['ancestry'],
|
|
668
|
+
targetTypes: ['heritage'],
|
|
669
|
+
bidirectional: true,
|
|
670
|
+
reverseId: 'heritage_of_ancestry',
|
|
671
|
+
},
|
|
672
|
+
{
|
|
673
|
+
id: 'heritage_of_ancestry',
|
|
674
|
+
displayName: 'Heritage Of',
|
|
675
|
+
description: 'Heritage belongs to this ancestry',
|
|
676
|
+
sourceTypes: ['heritage'],
|
|
677
|
+
targetTypes: ['ancestry'],
|
|
678
|
+
bidirectional: false,
|
|
679
|
+
},
|
|
680
|
+
// Character-Ancestry relationships
|
|
681
|
+
{
|
|
682
|
+
id: 'has_ancestry',
|
|
683
|
+
displayName: 'Has Ancestry',
|
|
684
|
+
description: 'Character is of this ancestry',
|
|
685
|
+
sourceTypes: ['character'],
|
|
686
|
+
targetTypes: ['ancestry'],
|
|
687
|
+
bidirectional: true,
|
|
688
|
+
reverseId: 'ancestry_of',
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
id: 'ancestry_of',
|
|
692
|
+
displayName: 'Ancestry Of',
|
|
693
|
+
description: 'Ancestry of character',
|
|
694
|
+
sourceTypes: ['ancestry'],
|
|
695
|
+
targetTypes: ['character'],
|
|
696
|
+
bidirectional: false,
|
|
697
|
+
},
|
|
698
|
+
],
|
|
699
|
+
folderMappings: [
|
|
700
|
+
// PF2e-specific folders
|
|
701
|
+
{ folder: '**/Ancestries/**', types: ['ancestry'] },
|
|
702
|
+
{ folder: '**/Heritages/**', types: ['heritage'] },
|
|
703
|
+
{ folder: '**/Actions/**', types: ['action'] },
|
|
704
|
+
{ folder: '**/Activities/**', types: ['action'] },
|
|
705
|
+
{ folder: '**/Conditions/**', types: ['condition'] },
|
|
706
|
+
// PF2e calls them "Creatures" more often than "Monsters"
|
|
707
|
+
{ folder: '**/Creatures/**', types: ['creature'] },
|
|
708
|
+
{ folder: '**/Hazards/**', types: ['creature'] },
|
|
709
|
+
],
|
|
710
|
+
};
|
|
711
|
+
//# sourceMappingURL=pathfinder-2e.js.map
|