@rpgm-tools/neo-angband-content 0.11.0
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/LICENSE.md +43 -0
- package/README.md +65 -0
- package/dist/compile.d.ts +10 -0
- package/dist/compile.d.ts.map +1 -0
- package/dist/compile.js +42 -0
- package/dist/compile.js.map +1 -0
- package/dist/data-exactness.reader.d.ts +105 -0
- package/dist/data-exactness.reader.d.ts.map +1 -0
- package/dist/data-exactness.reader.js +547 -0
- package/dist/data-exactness.reader.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -0
- package/dist/parser.d.ts +70 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +365 -0
- package/dist/parser.js.map +1 -0
- package/dist/records.d.ts +101 -0
- package/dist/records.d.ts.map +1 -0
- package/dist/records.js +244 -0
- package/dist/records.js.map +1 -0
- package/dist/specs/generate.d.ts +12 -0
- package/dist/specs/generate.d.ts.map +1 -0
- package/dist/specs/generate.js +57 -0
- package/dist/specs/generate.js.map +1 -0
- package/dist/specs/index.d.ts +9 -0
- package/dist/specs/index.d.ts.map +1 -0
- package/dist/specs/index.js +60 -0
- package/dist/specs/index.js.map +1 -0
- package/dist/specs/init.d.ts +23 -0
- package/dist/specs/init.d.ts.map +1 -0
- package/dist/specs/init.js +305 -0
- package/dist/specs/init.js.map +1 -0
- package/dist/specs/misc.d.ts +33 -0
- package/dist/specs/misc.d.ts.map +1 -0
- package/dist/specs/misc.js +146 -0
- package/dist/specs/misc.js.map +1 -0
- package/dist/specs/mon-init.d.ts +22 -0
- package/dist/specs/mon-init.d.ts.map +1 -0
- package/dist/specs/mon-init.js +157 -0
- package/dist/specs/mon-init.js.map +1 -0
- package/dist/specs/obj-init.d.ts +19 -0
- package/dist/specs/obj-init.d.ts.map +1 -0
- package/dist/specs/obj-init.js +219 -0
- package/dist/specs/obj-init.js.map +1 -0
- package/dist/specs/ui-entry.d.ts +22 -0
- package/dist/specs/ui-entry.d.ts.map +1 -0
- package/dist/specs/ui-entry.js +69 -0
- package/dist/specs/ui-entry.js.map +1 -0
- package/dist/specs/visuals.d.ts +26 -0
- package/dist/specs/visuals.d.ts.map +1 -0
- package/dist/specs/visuals.js +35 -0
- package/dist/specs/visuals.js.map +1 -0
- package/pack/activation.json +3340 -0
- package/pack/artifact.json +5146 -0
- package/pack/blow_effects.json +370 -0
- package/pack/blow_methods.json +286 -0
- package/pack/body.json +59 -0
- package/pack/brand.json +100 -0
- package/pack/chest_trap.json +117 -0
- package/pack/class.json +5501 -0
- package/pack/constants.json +470 -0
- package/pack/curse.json +580 -0
- package/pack/dungeon_profile.json +836 -0
- package/pack/ego_item.json +2900 -0
- package/pack/flavor.json +1541 -0
- package/pack/hints.json +303 -0
- package/pack/history.json +1656 -0
- package/pack/manifest.json +52 -0
- package/pack/monster.json +29392 -0
- package/pack/monster_base.json +688 -0
- package/pack/monster_spell.json +2735 -0
- package/pack/names.json +1204 -0
- package/pack/object.json +11877 -0
- package/pack/object_base.json +364 -0
- package/pack/object_property.json +2034 -0
- package/pack/p_race.json +447 -0
- package/pack/pain.json +150 -0
- package/pack/pit.json +617 -0
- package/pack/player_property.json +519 -0
- package/pack/player_timed.json +1321 -0
- package/pack/projection.json +664 -0
- package/pack/quest.json +18 -0
- package/pack/realm.json +34 -0
- package/pack/room_template.json +9571 -0
- package/pack/shape.json +263 -0
- package/pack/slay.json +116 -0
- package/pack/store.json +675 -0
- package/pack/summon.json +143 -0
- package/pack/terrain.json +511 -0
- package/pack/trap.json +1483 -0
- package/pack/ui_entry.json +382 -0
- package/pack/ui_entry_base.json +60 -0
- package/pack/ui_entry_renderer.json +43 -0
- package/pack/ui_knowledge.json +302 -0
- package/pack/vault.json +4355 -0
- package/pack/visuals.json +680 -0
- package/pack/world.json +1030 -0
- package/package.json +67 -0
- package/src/compile.ts +55 -0
- package/src/data-exactness.reader.ts +559 -0
- package/src/index.ts +31 -0
- package/src/parser.ts +406 -0
- package/src/records.ts +341 -0
- package/src/specs/generate.ts +61 -0
- package/src/specs/index.ts +103 -0
- package/src/specs/init.ts +322 -0
- package/src/specs/misc.ts +153 -0
- package/src/specs/mon-init.ts +165 -0
- package/src/specs/obj-init.ts +230 -0
- package/src/specs/ui-entry.ts +74 -0
- package/src/specs/visuals.ts +37 -0
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specs for the gamedata files whose upstream parsers live in src/init.c:
|
|
3
|
+
* constants, world, player_property, names, trap, terrain (feat), body,
|
|
4
|
+
* history, p_race, realm, shape, class, flavor, hints.
|
|
5
|
+
*
|
|
6
|
+
* Format strings are copied verbatim from the parser_reg() calls.
|
|
7
|
+
*/
|
|
8
|
+
function validIntRange(range) {
|
|
9
|
+
const match = /^\s*(-?\d+)\s+to\s+(-?\d+)\s*$/.exec(range);
|
|
10
|
+
if (!match)
|
|
11
|
+
return false;
|
|
12
|
+
const lo = BigInt(match[1]);
|
|
13
|
+
const hi = BigInt(match[2]);
|
|
14
|
+
/* grab_int_range rejects INT_MIN and INT_MAX too (datafile.c:328-331). */
|
|
15
|
+
return lo > -2147483648n && lo < 2147483647n && hi > -2147483648n && hi < 2147483647n;
|
|
16
|
+
}
|
|
17
|
+
export const constantsSpec = {
|
|
18
|
+
name: "constants",
|
|
19
|
+
upstream: ["src/init.c"],
|
|
20
|
+
/* constants.txt fills a single struct angband_constants; the whole file
|
|
21
|
+
* compiles to one record of grouped, labelled values. */
|
|
22
|
+
recordStart: null,
|
|
23
|
+
directives: [
|
|
24
|
+
{ fmt: "level-max sym label int value", repeat: true },
|
|
25
|
+
{ fmt: "mon-gen sym label int value", repeat: true },
|
|
26
|
+
{ fmt: "mon-play sym label int value", repeat: true },
|
|
27
|
+
{ fmt: "dun-gen sym label int value", repeat: true },
|
|
28
|
+
{ fmt: "world sym label int value", repeat: true },
|
|
29
|
+
{ fmt: "carry-cap sym label int value", repeat: true },
|
|
30
|
+
{ fmt: "store sym label int value", repeat: true },
|
|
31
|
+
{ fmt: "obj-make sym label int value", repeat: true },
|
|
32
|
+
{ fmt: "player sym label int value", repeat: true },
|
|
33
|
+
{ fmt: "melee-critical sym label int value", repeat: true },
|
|
34
|
+
{ fmt: "melee-critical-level int cutoff int mult int add str msg", repeat: true },
|
|
35
|
+
{ fmt: "ranged-critical sym label int value", repeat: true },
|
|
36
|
+
{ fmt: "ranged-critical-level int cutoff int mult int add str msg", repeat: true },
|
|
37
|
+
{ fmt: "o-melee-critical sym label int value", repeat: true },
|
|
38
|
+
{ fmt: "o-melee-critical-level uint chance uint dice str msg", repeat: true },
|
|
39
|
+
{ fmt: "o-ranged-critical sym label int value", repeat: true },
|
|
40
|
+
{ fmt: "o-ranged-critical-level uint chance uint dice str msg", repeat: true },
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
export const worldSpec = {
|
|
44
|
+
name: "world",
|
|
45
|
+
upstream: ["src/init.c"],
|
|
46
|
+
recordStart: "level",
|
|
47
|
+
directives: [{ fmt: "level int depth sym name sym up sym down" }],
|
|
48
|
+
};
|
|
49
|
+
export const playerPropertySpec = {
|
|
50
|
+
name: "player_property",
|
|
51
|
+
upstream: ["src/init.c"],
|
|
52
|
+
recordStart: "type",
|
|
53
|
+
directives: [
|
|
54
|
+
{ fmt: "type str type" },
|
|
55
|
+
{ fmt: "code str code" },
|
|
56
|
+
{ fmt: "desc str desc", repeat: true },
|
|
57
|
+
{ fmt: "name str desc" },
|
|
58
|
+
{ fmt: "value int value" },
|
|
59
|
+
{ fmt: "bindui sym ui int aux sym uival" },
|
|
60
|
+
],
|
|
61
|
+
};
|
|
62
|
+
export const namesSpec = {
|
|
63
|
+
name: "names",
|
|
64
|
+
upstream: ["src/init.c"],
|
|
65
|
+
recordStart: "section",
|
|
66
|
+
directives: [
|
|
67
|
+
{ fmt: "section uint section" },
|
|
68
|
+
{ fmt: "word str name", repeat: true },
|
|
69
|
+
],
|
|
70
|
+
};
|
|
71
|
+
export const trapSpec = {
|
|
72
|
+
name: "trap",
|
|
73
|
+
upstream: ["src/init.c"],
|
|
74
|
+
recordStart: "name",
|
|
75
|
+
directives: [
|
|
76
|
+
{ fmt: "name sym name str desc" },
|
|
77
|
+
{ fmt: "graphics char glyph sym color" },
|
|
78
|
+
{ fmt: "appear uint rarity uint mindepth uint maxnum" },
|
|
79
|
+
{ fmt: "visibility str visibility" },
|
|
80
|
+
{ fmt: "flags ?str flags", repeat: true },
|
|
81
|
+
{ fmt: "effect sym eff ?sym type ?int radius ?int other", repeat: true },
|
|
82
|
+
{ fmt: "effect-yx int y int x", childOf: ["effect"] },
|
|
83
|
+
{ fmt: "dice str dice", childOf: ["effect"] },
|
|
84
|
+
{ fmt: "expr sym name sym base str expr", childOf: ["effect"], repeat: true },
|
|
85
|
+
{ fmt: "effect-xtra sym eff ?sym type ?int radius ?int other", repeat: true },
|
|
86
|
+
{ fmt: "effect-yx-xtra int y int x", childOf: ["effect-xtra"] },
|
|
87
|
+
{ fmt: "dice-xtra str dice", childOf: ["effect-xtra"] },
|
|
88
|
+
{ fmt: "expr-xtra sym name sym base str expr", childOf: ["effect-xtra"], repeat: true },
|
|
89
|
+
{ fmt: "save str flags" },
|
|
90
|
+
{ fmt: "desc str text", repeat: true },
|
|
91
|
+
{ fmt: "msg str text", repeat: true },
|
|
92
|
+
{ fmt: "msg-good str text", repeat: true },
|
|
93
|
+
{ fmt: "msg-bad str text", repeat: true },
|
|
94
|
+
{ fmt: "msg-xtra str text", repeat: true },
|
|
95
|
+
],
|
|
96
|
+
};
|
|
97
|
+
export const terrainSpec = {
|
|
98
|
+
name: "terrain",
|
|
99
|
+
upstream: ["src/init.c"],
|
|
100
|
+
recordStart: "code",
|
|
101
|
+
directives: [
|
|
102
|
+
{ fmt: "code str code" },
|
|
103
|
+
/* parse_feat_name returns PARSE_ERROR_REPEATED_DIRECTIVE when f->name is set
|
|
104
|
+
* (init.c:2059-2060). */
|
|
105
|
+
{ fmt: "name str name", rejectRepeated: () => true },
|
|
106
|
+
{ fmt: "graphics char glyph sym color" },
|
|
107
|
+
{ fmt: "mimic str feat" },
|
|
108
|
+
{ fmt: "priority uint priority" },
|
|
109
|
+
{ fmt: "flags ?str flags", repeat: true },
|
|
110
|
+
{ fmt: "digging int dig" },
|
|
111
|
+
{ fmt: "desc str text", repeat: true },
|
|
112
|
+
{ fmt: "walk-msg str text", repeat: true },
|
|
113
|
+
{ fmt: "run-msg str text", repeat: true },
|
|
114
|
+
{ fmt: "hurt-msg str text", repeat: true },
|
|
115
|
+
{ fmt: "die-msg str text", repeat: true },
|
|
116
|
+
{ fmt: "confused-msg str text", repeat: true },
|
|
117
|
+
{ fmt: "look-prefix str text", repeat: true },
|
|
118
|
+
{ fmt: "look-in-preposition str text", repeat: true },
|
|
119
|
+
{ fmt: "resist-flag sym flag", repeat: true },
|
|
120
|
+
],
|
|
121
|
+
};
|
|
122
|
+
export const bodySpec = {
|
|
123
|
+
name: "body",
|
|
124
|
+
upstream: ["src/init.c"],
|
|
125
|
+
recordStart: "body",
|
|
126
|
+
directives: [
|
|
127
|
+
{ fmt: "body str name" },
|
|
128
|
+
{ fmt: "slot sym slot sym name", repeat: true },
|
|
129
|
+
],
|
|
130
|
+
};
|
|
131
|
+
export const historySpec = {
|
|
132
|
+
name: "history",
|
|
133
|
+
upstream: ["src/init.c"],
|
|
134
|
+
recordStart: "chart",
|
|
135
|
+
directives: [
|
|
136
|
+
{ fmt: "chart uint chart int next int roll" },
|
|
137
|
+
{ fmt: "phrase str text", repeat: true },
|
|
138
|
+
],
|
|
139
|
+
};
|
|
140
|
+
export const pRaceSpec = {
|
|
141
|
+
name: "p_race",
|
|
142
|
+
upstream: ["src/init.c"],
|
|
143
|
+
recordStart: "name",
|
|
144
|
+
directives: [
|
|
145
|
+
{ fmt: "name str name" },
|
|
146
|
+
{ fmt: "stats int str int int int wis int dex int con" },
|
|
147
|
+
{ fmt: "skill-disarm-phys int disarm" },
|
|
148
|
+
{ fmt: "skill-disarm-magic int disarm" },
|
|
149
|
+
{ fmt: "skill-device int device" },
|
|
150
|
+
{ fmt: "skill-save int save" },
|
|
151
|
+
{ fmt: "skill-stealth int stealth" },
|
|
152
|
+
{ fmt: "skill-search int search" },
|
|
153
|
+
{ fmt: "skill-melee int melee" },
|
|
154
|
+
{ fmt: "skill-shoot int shoot" },
|
|
155
|
+
{ fmt: "skill-throw int throw" },
|
|
156
|
+
{ fmt: "skill-dig int dig" },
|
|
157
|
+
{ fmt: "hitdie int mhp" },
|
|
158
|
+
{ fmt: "exp int exp" },
|
|
159
|
+
{ fmt: "infravision int infra" },
|
|
160
|
+
{ fmt: "history uint hist" },
|
|
161
|
+
{ fmt: "age int base_age int mod_age" },
|
|
162
|
+
{ fmt: "height int base_hgt int mod_hgt" },
|
|
163
|
+
{ fmt: "weight int base_wgt int mod_wgt" },
|
|
164
|
+
{ fmt: "obj-flags ?str flags", repeat: true },
|
|
165
|
+
{ fmt: "player-flags ?str flags", repeat: true },
|
|
166
|
+
{ fmt: "values str values", repeat: true },
|
|
167
|
+
],
|
|
168
|
+
};
|
|
169
|
+
export const realmSpec = {
|
|
170
|
+
name: "realm",
|
|
171
|
+
upstream: ["src/init.c"],
|
|
172
|
+
recordStart: "name",
|
|
173
|
+
directives: [
|
|
174
|
+
{ fmt: "name str name" },
|
|
175
|
+
{ fmt: "stat sym stat" },
|
|
176
|
+
{ fmt: "verb str verb" },
|
|
177
|
+
{ fmt: "spell-noun str spell" },
|
|
178
|
+
{ fmt: "book-noun str book" },
|
|
179
|
+
],
|
|
180
|
+
};
|
|
181
|
+
export const shapeSpec = {
|
|
182
|
+
name: "shape",
|
|
183
|
+
upstream: ["src/init.c"],
|
|
184
|
+
recordStart: "name",
|
|
185
|
+
directives: [
|
|
186
|
+
{ fmt: "name str name" },
|
|
187
|
+
{ fmt: "combat int to-h int to-d int to-a" },
|
|
188
|
+
{ fmt: "skill-disarm-phys int disarm" },
|
|
189
|
+
{ fmt: "skill-disarm-magic int disarm" },
|
|
190
|
+
{ fmt: "skill-save int save" },
|
|
191
|
+
{ fmt: "skill-stealth int stealth" },
|
|
192
|
+
{ fmt: "skill-search int search" },
|
|
193
|
+
{ fmt: "skill-melee int melee" },
|
|
194
|
+
{ fmt: "skill-throw int throw" },
|
|
195
|
+
{ fmt: "skill-dig int dig" },
|
|
196
|
+
{ fmt: "obj-flags ?str flags", repeat: true },
|
|
197
|
+
{ fmt: "player-flags ?str flags", repeat: true },
|
|
198
|
+
{ fmt: "values str values", repeat: true },
|
|
199
|
+
{ fmt: "effect sym eff ?sym type ?int radius ?int other", repeat: true },
|
|
200
|
+
{ fmt: "effect-yx int y int x", childOf: ["effect"] },
|
|
201
|
+
{ fmt: "dice str dice", childOf: ["effect"] },
|
|
202
|
+
{ fmt: "expr sym name sym base str expr", childOf: ["effect"], repeat: true },
|
|
203
|
+
{ fmt: "effect-msg str text", childOf: ["effect"], repeat: true },
|
|
204
|
+
{ fmt: "blow str blow", repeat: true },
|
|
205
|
+
],
|
|
206
|
+
};
|
|
207
|
+
export const classSpec = {
|
|
208
|
+
name: "class",
|
|
209
|
+
upstream: ["src/init.c"],
|
|
210
|
+
recordStart: "name",
|
|
211
|
+
directives: [
|
|
212
|
+
{ fmt: "name str name" },
|
|
213
|
+
{ fmt: "stats int str int int int wis int dex int con" },
|
|
214
|
+
{ fmt: "skill-disarm-phys int base int incr" },
|
|
215
|
+
{ fmt: "skill-disarm-magic int base int incr" },
|
|
216
|
+
{ fmt: "skill-device int base int incr" },
|
|
217
|
+
{ fmt: "skill-save int base int incr" },
|
|
218
|
+
{ fmt: "skill-stealth int base int incr" },
|
|
219
|
+
{ fmt: "skill-search int base int incr" },
|
|
220
|
+
{ fmt: "skill-melee int base int incr" },
|
|
221
|
+
{ fmt: "skill-shoot int base int incr" },
|
|
222
|
+
{ fmt: "skill-throw int base int incr" },
|
|
223
|
+
{ fmt: "skill-dig int base int incr" },
|
|
224
|
+
{ fmt: "hitdie int mhp" },
|
|
225
|
+
{ fmt: "exp int exp" },
|
|
226
|
+
{ fmt: "max-attacks int max-attacks" },
|
|
227
|
+
{ fmt: "min-weight int min-weight" },
|
|
228
|
+
{ fmt: "strength-multiplier int att-multiply" },
|
|
229
|
+
{ fmt: "title str title", repeat: true },
|
|
230
|
+
{ fmt: "equip sym tval sym sval uint min uint max sym eopts", repeat: true },
|
|
231
|
+
{ fmt: "obj-flags ?str flags", repeat: true },
|
|
232
|
+
{ fmt: "player-flags ?str flags", repeat: true },
|
|
233
|
+
/* parse_class_magic rejects once c->magic.books is non-NULL
|
|
234
|
+
* (init.c:3714-3716). */
|
|
235
|
+
{ fmt: "magic uint first uint weight uint books", rejectRepeated: (prior) => prior.books !== 0 },
|
|
236
|
+
{
|
|
237
|
+
fmt: "book sym tval sym quality sym name uint spells str realm",
|
|
238
|
+
repeat: true,
|
|
239
|
+
/* parse_class_book checks the allocated magic-book capacity after tval
|
|
240
|
+
* resolution (init.c:3735-3746). The registry-dependent tval half is
|
|
241
|
+
* intentionally deferred; this structural half is available here. */
|
|
242
|
+
validate: ({ record }) => {
|
|
243
|
+
const magic = record.magic;
|
|
244
|
+
const books = record.book?.length ?? 0;
|
|
245
|
+
return magic === undefined || books >= (magic.books ?? 0)
|
|
246
|
+
? "TOO_MANY_ENTRIES"
|
|
247
|
+
: undefined;
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
{ fmt: "book-graphics char glyph sym color", childOf: ["book"], requireParent: true },
|
|
251
|
+
{
|
|
252
|
+
fmt: "book-properties int cost int common str minmax",
|
|
253
|
+
childOf: ["book"],
|
|
254
|
+
requireParent: true,
|
|
255
|
+
/* grab_int_range(..., "to") failures are INVALID_ALLOCATION
|
|
256
|
+
* (init.c:3823-3826). */
|
|
257
|
+
validate: ({ values }) => validIntRange(String(values.minmax))
|
|
258
|
+
? undefined
|
|
259
|
+
: "INVALID_ALLOCATION",
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
fmt: "spell sym name int level int mana int fail int exp",
|
|
263
|
+
childOf: ["book"],
|
|
264
|
+
orphanError: "TOO_MANY_ENTRIES",
|
|
265
|
+
repeat: true,
|
|
266
|
+
/* parse_class_spell uses the current book's declared spell capacity
|
|
267
|
+
* (init.c:3842-3854). */
|
|
268
|
+
validate: ({ target }) => {
|
|
269
|
+
const spells = target.spell?.length ?? 0;
|
|
270
|
+
return spells >= Number(target.spells) ? "TOO_MANY_ENTRIES" : undefined;
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
/* parse_class_effect requires a preceding spell (and therefore a book and
|
|
274
|
+
* magic), while its effect-detail successors intentionally tolerate a
|
|
275
|
+
* missing effect (init.c:3877-3905, 3925-3939). */
|
|
276
|
+
{
|
|
277
|
+
fmt: "effect sym eff ?sym type ?int radius ?int other",
|
|
278
|
+
childOf: ["spell"],
|
|
279
|
+
requireParent: true,
|
|
280
|
+
repeat: true,
|
|
281
|
+
},
|
|
282
|
+
{ fmt: "effect-yx int y int x", childOf: ["effect"] },
|
|
283
|
+
{ fmt: "dice str dice", childOf: ["effect"] },
|
|
284
|
+
{ fmt: "expr sym name sym base str expr", childOf: ["effect"], repeat: true },
|
|
285
|
+
{ fmt: "effect-msg str text", childOf: ["effect"], repeat: true },
|
|
286
|
+
{ fmt: "desc str desc", childOf: ["spell"], requireParent: true, repeat: true },
|
|
287
|
+
],
|
|
288
|
+
};
|
|
289
|
+
export const flavorSpec = {
|
|
290
|
+
name: "flavor",
|
|
291
|
+
upstream: ["src/init.c"],
|
|
292
|
+
recordStart: "kind",
|
|
293
|
+
directives: [
|
|
294
|
+
{ fmt: "kind sym tval char glyph" },
|
|
295
|
+
{ fmt: "flavor uint index sym attr ?str desc", repeat: true },
|
|
296
|
+
{ fmt: "fixed uint index sym sval sym attr ?str desc", repeat: true },
|
|
297
|
+
],
|
|
298
|
+
};
|
|
299
|
+
export const hintsSpec = {
|
|
300
|
+
name: "hints",
|
|
301
|
+
upstream: ["src/init.c"],
|
|
302
|
+
recordStart: "H",
|
|
303
|
+
directives: [{ fmt: "H str text" }],
|
|
304
|
+
};
|
|
305
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/specs/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specs for gamedata files whose upstream parsers live in single-purpose
|
|
3
|
+
* sources: summon (src/mon-summon.c), chest_trap (src/obj-chest.c), quest
|
|
4
|
+
* (src/player-quest.c), player_timed (src/player-timed.c), store
|
|
5
|
+
* (src/store.c).
|
|
6
|
+
*
|
|
7
|
+
* Format strings are copied verbatim from the parser_reg() calls.
|
|
8
|
+
*/
|
|
9
|
+
import type { FileSpec } from "../records.js";
|
|
10
|
+
export declare const summonSpec: FileSpec;
|
|
11
|
+
export declare const chestTrapSpec: FileSpec;
|
|
12
|
+
export declare const questSpec: FileSpec;
|
|
13
|
+
/**
|
|
14
|
+
* player_timed.txt: the effect-* directives attach to whichever of
|
|
15
|
+
* on-begin-effect / on-end-effect was seen most recently, mirroring the
|
|
16
|
+
* upstream parse state.
|
|
17
|
+
*/
|
|
18
|
+
export declare const playerTimedSpec: FileSpec;
|
|
19
|
+
/**
|
|
20
|
+
* store.txt: the grammar half of parse_store (store.c:132) and its sibling
|
|
21
|
+
* directive handlers. The semantic half - resolving the entrance feature, the
|
|
22
|
+
* owners and the stocking tables - is packages/core/src/store/bind.ts bindStore.
|
|
23
|
+
*/
|
|
24
|
+
export declare const storeSpec: FileSpec;
|
|
25
|
+
/**
|
|
26
|
+
* ui_knowledge.txt: the thematic monster-knowledge categories for the '~' ->
|
|
27
|
+
* Monsters browser (upstream ui-knowledge.c init_ui_knowledge_parser). Each
|
|
28
|
+
* 'monster-category' begins a category; the mcat-include-* directives attach
|
|
29
|
+
* to it. The reserved "***Unclassified***" catch-all is appended by the
|
|
30
|
+
* consumer, not the file (finish_ui_knowledge_parser).
|
|
31
|
+
*/
|
|
32
|
+
export declare const uiKnowledgeSpec: FileSpec;
|
|
33
|
+
//# sourceMappingURL=misc.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/specs/misc.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,UAAU,EAAE,QAaxB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,QAgB3B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,QAUvB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,QAmD7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,EAAE,QAcvB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,QAU7B,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specs for gamedata files whose upstream parsers live in single-purpose
|
|
3
|
+
* sources: summon (src/mon-summon.c), chest_trap (src/obj-chest.c), quest
|
|
4
|
+
* (src/player-quest.c), player_timed (src/player-timed.c), store
|
|
5
|
+
* (src/store.c).
|
|
6
|
+
*
|
|
7
|
+
* Format strings are copied verbatim from the parser_reg() calls.
|
|
8
|
+
*/
|
|
9
|
+
export const summonSpec = {
|
|
10
|
+
name: "summon",
|
|
11
|
+
upstream: ["src/mon-summon.c"],
|
|
12
|
+
recordStart: "name",
|
|
13
|
+
directives: [
|
|
14
|
+
{ fmt: "name str name" },
|
|
15
|
+
{ fmt: "msgt sym type" },
|
|
16
|
+
{ fmt: "uniques int allowed" },
|
|
17
|
+
{ fmt: "base sym base", repeat: true },
|
|
18
|
+
{ fmt: "race-flag sym flag" },
|
|
19
|
+
{ fmt: "fallback str fallback" },
|
|
20
|
+
{ fmt: "desc str desc" },
|
|
21
|
+
],
|
|
22
|
+
};
|
|
23
|
+
export const chestTrapSpec = {
|
|
24
|
+
name: "chest_trap",
|
|
25
|
+
upstream: ["src/obj-chest.c"],
|
|
26
|
+
recordStart: "name",
|
|
27
|
+
directives: [
|
|
28
|
+
{ fmt: "name str name" },
|
|
29
|
+
{ fmt: "code str code" },
|
|
30
|
+
{ fmt: "level int level" },
|
|
31
|
+
{ fmt: "effect sym eff ?sym type ?int radius ?int other", repeat: true },
|
|
32
|
+
{ fmt: "dice str dice", childOf: ["effect"] },
|
|
33
|
+
{ fmt: "expr sym name sym base str expr", childOf: ["effect"], repeat: true },
|
|
34
|
+
{ fmt: "destroy int val" },
|
|
35
|
+
{ fmt: "magic int val" },
|
|
36
|
+
{ fmt: "msg str text", repeat: true },
|
|
37
|
+
{ fmt: "msg-death str text", repeat: true },
|
|
38
|
+
],
|
|
39
|
+
};
|
|
40
|
+
export const questSpec = {
|
|
41
|
+
name: "quest",
|
|
42
|
+
upstream: ["src/player-quest.c"],
|
|
43
|
+
recordStart: "name",
|
|
44
|
+
directives: [
|
|
45
|
+
{ fmt: "name str name" },
|
|
46
|
+
{ fmt: "level uint level" },
|
|
47
|
+
{ fmt: "race str race" },
|
|
48
|
+
{ fmt: "number uint number" },
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* player_timed.txt: the effect-* directives attach to whichever of
|
|
53
|
+
* on-begin-effect / on-end-effect was seen most recently, mirroring the
|
|
54
|
+
* upstream parse state.
|
|
55
|
+
*/
|
|
56
|
+
export const playerTimedSpec = {
|
|
57
|
+
name: "player_timed",
|
|
58
|
+
upstream: ["src/player-timed.c"],
|
|
59
|
+
recordStart: "name",
|
|
60
|
+
directives: [
|
|
61
|
+
{ fmt: "name str name" },
|
|
62
|
+
{ fmt: "desc str text", repeat: true },
|
|
63
|
+
{ fmt: "on-end str text", repeat: true },
|
|
64
|
+
{ fmt: "on-increase str text", repeat: true },
|
|
65
|
+
{ fmt: "on-decrease str text", repeat: true },
|
|
66
|
+
{ fmt: "msgt sym type" },
|
|
67
|
+
{ fmt: "fail uint code str flag", repeat: true },
|
|
68
|
+
{ fmt: "grade sym color int max sym name sym up_msg ?sym down_msg", repeat: true },
|
|
69
|
+
{ fmt: "resist sym elem" },
|
|
70
|
+
{ fmt: "brand sym name", repeat: true },
|
|
71
|
+
{ fmt: "slay sym name", repeat: true },
|
|
72
|
+
{ fmt: "flag-synonym sym code int exact", repeat: true },
|
|
73
|
+
{ fmt: "on-begin-effect sym eff ?sym type ?int radius ?int other", repeat: true },
|
|
74
|
+
{ fmt: "on-end-effect sym eff ?sym type ?int radius ?int other", repeat: true },
|
|
75
|
+
/* Unlike class.txt / object.txt / trap.txt, all four of player-timed.c's
|
|
76
|
+
* effect-detail handlers return PARSE_ERROR_MISSING_RECORD_HEADER when
|
|
77
|
+
* ps->e is NULL (player-timed.c L480, L496, L524, L557) instead of
|
|
78
|
+
* tolerating the orphan - hence requireParent (ptimed.c
|
|
79
|
+
* test_missing_effect0). `effect-dice` also dice_free()s any previous
|
|
80
|
+
* dice (L503-505), so a repeat is legal and the last wins
|
|
81
|
+
* (ptimed.c test_effectdice0). */
|
|
82
|
+
{
|
|
83
|
+
fmt: "effect-yx int y int x",
|
|
84
|
+
childOf: ["on-begin-effect", "on-end-effect"],
|
|
85
|
+
requireParent: true,
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
fmt: "effect-dice str dice",
|
|
89
|
+
childOf: ["on-begin-effect", "on-end-effect"],
|
|
90
|
+
requireParent: true,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
fmt: "effect-expr sym name sym base str expr",
|
|
94
|
+
childOf: ["on-begin-effect", "on-end-effect"],
|
|
95
|
+
requireParent: true,
|
|
96
|
+
repeat: true,
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
fmt: "effect-msg str text",
|
|
100
|
+
childOf: ["on-begin-effect", "on-end-effect"],
|
|
101
|
+
requireParent: true,
|
|
102
|
+
repeat: true,
|
|
103
|
+
},
|
|
104
|
+
{ fmt: "flags ?str flags", repeat: true },
|
|
105
|
+
{ fmt: "lower-bound int bound" },
|
|
106
|
+
],
|
|
107
|
+
};
|
|
108
|
+
/**
|
|
109
|
+
* store.txt: the grammar half of parse_store (store.c:132) and its sibling
|
|
110
|
+
* directive handlers. The semantic half - resolving the entrance feature, the
|
|
111
|
+
* owners and the stocking tables - is packages/core/src/store/bind.ts bindStore.
|
|
112
|
+
*/
|
|
113
|
+
export const storeSpec = {
|
|
114
|
+
name: "store",
|
|
115
|
+
upstream: ["src/store.c"],
|
|
116
|
+
recordStart: "store",
|
|
117
|
+
directives: [
|
|
118
|
+
{ fmt: "store str feat" },
|
|
119
|
+
{ fmt: "owner uint purse str name", repeat: true },
|
|
120
|
+
{ fmt: "slots uint min uint max" },
|
|
121
|
+
{ fmt: "turnover uint turnover" },
|
|
122
|
+
{ fmt: "normal sym tval sym sval", repeat: true },
|
|
123
|
+
{ fmt: "always sym tval ?sym sval", repeat: true },
|
|
124
|
+
{ fmt: "buy str base", repeat: true },
|
|
125
|
+
{ fmt: "buy-flag sym flag str base", repeat: true },
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
* ui_knowledge.txt: the thematic monster-knowledge categories for the '~' ->
|
|
130
|
+
* Monsters browser (upstream ui-knowledge.c init_ui_knowledge_parser). Each
|
|
131
|
+
* 'monster-category' begins a category; the mcat-include-* directives attach
|
|
132
|
+
* to it. The reserved "***Unclassified***" catch-all is appended by the
|
|
133
|
+
* consumer, not the file (finish_ui_knowledge_parser).
|
|
134
|
+
*/
|
|
135
|
+
export const uiKnowledgeSpec = {
|
|
136
|
+
name: "ui_knowledge",
|
|
137
|
+
upstream: ["src/ui-knowledge.c"],
|
|
138
|
+
recordStart: "monster-category",
|
|
139
|
+
directives: [
|
|
140
|
+
{ fmt: "monster-category str name" },
|
|
141
|
+
{ fmt: "mcat-include-base str name", repeat: true },
|
|
142
|
+
{ fmt: "mcat-include-flag ?str flags", repeat: true },
|
|
143
|
+
{ fmt: "mcat-include-other str name", repeat: true },
|
|
144
|
+
],
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=misc.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/specs/misc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Specs for the gamedata files whose upstream parsers live in
|
|
3
|
+
* src/mon-init.c: blow_methods (meth_parser), blow_effects (eff_parser),
|
|
4
|
+
* pain, monster_spell, monster_base, monster, pit.
|
|
5
|
+
*
|
|
6
|
+
* Format strings are copied verbatim from the parser_reg() calls.
|
|
7
|
+
*/
|
|
8
|
+
import type { FileSpec } from "../records.js";
|
|
9
|
+
export declare const blowMethodsSpec: FileSpec;
|
|
10
|
+
export declare const blowEffectsSpec: FileSpec;
|
|
11
|
+
export declare const painSpec: FileSpec;
|
|
12
|
+
/**
|
|
13
|
+
* monster_spell.txt: each spell has an implicit first "level"; the
|
|
14
|
+
* power-cutoff directive starts another level, and the lore/message
|
|
15
|
+
* directives attach to the most recent level (the record itself until the
|
|
16
|
+
* first power-cutoff appears).
|
|
17
|
+
*/
|
|
18
|
+
export declare const monsterSpellSpec: FileSpec;
|
|
19
|
+
export declare const monsterBaseSpec: FileSpec;
|
|
20
|
+
export declare const monsterSpec: FileSpec;
|
|
21
|
+
export declare const pitSpec: FileSpec;
|
|
22
|
+
//# sourceMappingURL=mon-init.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mon-init.d.ts","sourceRoot":"","sources":["../../src/specs/mon-init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,eAAe,EAAE,QAc7B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAgB7B,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,QAQtB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAsB9B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,QAW7B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,QA+CzB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,QAkBrB,CAAC"}
|