@rpgm-tools/neo-angband-core 1.16.0 → 1.18.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/README.md +1 -1
- package/dist/game/object-inspect.d.ts.map +1 -1
- package/dist/game/object-inspect.js +4 -0
- package/dist/game/object-inspect.js.map +1 -1
- package/dist/mod/hooks.d.ts +149 -1
- package/dist/mod/hooks.d.ts.map +1 -1
- package/dist/mod/hooks.js +52 -0
- package/dist/mod/hooks.js.map +1 -1
- package/dist/mod/save-blocks.d.ts +1 -1
- package/dist/obj/object-info.d.ts +7 -0
- package/dist/obj/object-info.d.ts.map +1 -1
- package/dist/obj/object-info.js +82 -26
- package/dist/obj/object-info.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/game/object-inspect.ts +4 -0
- package/src/mod/hooks.ts +228 -1
- package/src/obj/object-info.ts +94 -19
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ import { Rng, ENGINE_VERSION, PARITY_BASELINE } from "@rpgm-tools/neo-angband-co
|
|
|
32
32
|
const rng = new Rng(1234);
|
|
33
33
|
console.log(rng.damroll(3, 6), rng.damroll(3, 6), rng.damroll(3, 6)); // 9 13 8
|
|
34
34
|
|
|
35
|
-
console.log(ENGINE_VERSION, PARITY_BASELINE); // 1.
|
|
35
|
+
console.log(ENGINE_VERSION, PARITY_BASELINE); // 1.18.0 4.2.6
|
|
36
36
|
```
|
|
37
37
|
|
|
38
38
|
Two entry points:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-inspect.d.ts","sourceRoot":"","sources":["../../src/game/object-inspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAW/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;IACvC,6EAA6E;IAC7E,SAAS,EAAE,SAAS,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/C,2EAA2E;IAC3E,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,qDAAqD;IACrD,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,gBAAgB,GACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"object-inspect.d.ts","sourceRoot":"","sources":["../../src/game/object-inspect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAW/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,8EAA8E;IAC9E,WAAW,EAAE,SAAS,cAAc,EAAE,CAAC;IACvC,6EAA6E;IAC7E,SAAS,EAAE,SAAS,CAAC;IACrB,uEAAuE;IACvE,UAAU,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;IAC/C,2EAA2E;IAC3E,SAAS,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,qDAAqD;IACrD,UAAU,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACzC;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAWD,yEAAyE;AACzE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,gBAAgB,GACvB,cAAc,CAyFhB;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,gBAAgB,GACvB,SAAS,CAEX"}
|
|
@@ -100,6 +100,10 @@ export function makeObjectInfoDeps(state, obj, extras) {
|
|
|
100
100
|
},
|
|
101
101
|
...(extras.raceOrigin ? { raceOrigin: extras.raceOrigin } : {}),
|
|
102
102
|
...(extras.inStore !== undefined ? { inStore: extras.inStore } : {}),
|
|
103
|
+
/* The mod text seams (objectInfoText, effectIntro). Handed over whole: the
|
|
104
|
+
* engine reads only those two members, and with no mod loaded the field is
|
|
105
|
+
* absent and the wording is 4.2.6's. */
|
|
106
|
+
...(state.modHooks ? { hooks: state.modHooks } : {}),
|
|
103
107
|
};
|
|
104
108
|
return deps;
|
|
105
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-inspect.js","sourceRoot":"","sources":["../../src/game/object-inspect.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"object-inspect.js","sourceRoot":"","sources":["../../src/game/object-inspect.ts"],"names":[],"mappings":"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"}
|
package/dist/mod/hooks.d.ts
CHANGED
|
@@ -112,6 +112,77 @@ export interface HistoryDisplayEntry {
|
|
|
112
112
|
/** True only for a write hook's raw user-note representation. */
|
|
113
113
|
readonly expandUserInput?: true;
|
|
114
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* The facts describe_effect (obj-info.c L2060) branches on when it writes the
|
|
117
|
+
* opening words of an item's effect description, offered to `effectIntro`.
|
|
118
|
+
*
|
|
119
|
+
* Every field is something core has already computed for its own wording; none
|
|
120
|
+
* is a judgement made for a mod. A post-4.2.6 wording that asks a different
|
|
121
|
+
* question of the same facts ("may this need a target?") derives its answer
|
|
122
|
+
* from them.
|
|
123
|
+
*/
|
|
124
|
+
export interface EffectIntro {
|
|
125
|
+
/**
|
|
126
|
+
* Which of describe_effect's two openings this is.
|
|
127
|
+
*
|
|
128
|
+
* `"unknown"`: the effect is not yet known, so core writes one whole
|
|
129
|
+
* sentence and stops ("It can be aimed.\n"). `"known"`: core writes the
|
|
130
|
+
* lead-in to the effect description ("When aimed, it "), and the description
|
|
131
|
+
* of the effect, or the activation's own text, follows it directly.
|
|
132
|
+
*/
|
|
133
|
+
readonly effect: "known" | "unknown";
|
|
134
|
+
/**
|
|
135
|
+
* The object's class, by the tval tests describe_effect and obj_known_effect
|
|
136
|
+
* make: `"food"` (tval_is_edible), `"potion"`, `"scroll"`, `"wand"`,
|
|
137
|
+
* `"staff"`, `"rod"`, or `"other"` for everything else, such as activatable
|
|
138
|
+
* equipment.
|
|
139
|
+
*/
|
|
140
|
+
readonly itemClass: "food" | "potion" | "scroll" | "wand" | "staff" | "rod" | "other";
|
|
141
|
+
/**
|
|
142
|
+
* obj_known_effect's `aimed`. For a known effect it is effect_aim: the
|
|
143
|
+
* effect takes a direction. For an unknown effect 4.2.6 sets it for every
|
|
144
|
+
* wand and every rod, because it cannot tell.
|
|
145
|
+
*/
|
|
146
|
+
readonly aimed: boolean;
|
|
147
|
+
/** The object carries an activation (obj->activation). */
|
|
148
|
+
readonly activation: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* The activation has its own description (obj->activation->desc), which
|
|
151
|
+
* follows the lead-in instead of a generated effect description. Always
|
|
152
|
+
* false for an unknown effect.
|
|
153
|
+
*/
|
|
154
|
+
readonly describedActivation: boolean;
|
|
155
|
+
/** The text core writes: faithful 4.2.6 wording, or the previous mod's. */
|
|
156
|
+
readonly text: string;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Where one piece of screen text sits, offered to `screenText` beside the text.
|
|
160
|
+
*
|
|
161
|
+
* It carries only what a mod needs to match one piece exactly and leave every
|
|
162
|
+
* other piece alone. Everything here is the text as the screen built it,
|
|
163
|
+
* before any mod restated it, so a match does not depend on load order.
|
|
164
|
+
*/
|
|
165
|
+
export interface ScreenTextSite {
|
|
166
|
+
/**
|
|
167
|
+
* The screen's stable id (`core:help-symbols`, `core:equip-cmp-select-help`),
|
|
168
|
+
* or `"core:prompt"` for the prompt of a row-0 prompt.
|
|
169
|
+
*/
|
|
170
|
+
readonly screen: string;
|
|
171
|
+
/**
|
|
172
|
+
* Which part of the screen: the `title`, the `footer`, an `action` label, a
|
|
173
|
+
* table's `caption`, `column` label, `cell`, `empty` state or row `detail`,
|
|
174
|
+
* a text block's `prose`, a `line` of pre-wrapped rows, or the `prompt`.
|
|
175
|
+
*/
|
|
176
|
+
readonly part: "title" | "footer" | "action" | "caption" | "column" | "cell" | "empty" | "detail" | "prose" | "line" | "prompt";
|
|
177
|
+
/** For a `cell` or `column`: the column's stable key (`desc1`, `glyph2`). */
|
|
178
|
+
readonly column?: string;
|
|
179
|
+
/**
|
|
180
|
+
* For a `cell` or `detail`: every cell of that row by column key, as the
|
|
181
|
+
* screen built it. This is how a mod tells two cells with the same text
|
|
182
|
+
* apart.
|
|
183
|
+
*/
|
|
184
|
+
readonly row?: Readonly<Record<string, string>>;
|
|
185
|
+
}
|
|
115
186
|
/** A newly available player ability, named without exposing a mutable game object. */
|
|
116
187
|
export type AbilityGained = {
|
|
117
188
|
readonly kind: "spell";
|
|
@@ -365,6 +436,82 @@ export interface ModHooks {
|
|
|
365
436
|
* Serves: the bug-fixes mod's cosmetic string corrections.
|
|
366
437
|
*/
|
|
367
438
|
messageText?: (raw: string) => string;
|
|
439
|
+
/**
|
|
440
|
+
* Screen text drawn outside the message line (the host's screen and prompt
|
|
441
|
+
* sinks): every text line, prose run, table cell, caption, column label,
|
|
442
|
+
* title and footer of a full screen shown through showTextScreen, and the
|
|
443
|
+
* prompt of a row-0 prompt (get_string, get_check, get_com and their kin).
|
|
444
|
+
* It is the counterpart of messageText for everything messageText cannot
|
|
445
|
+
* see, which includes the help pages, the equipment-comparison legends and
|
|
446
|
+
* any prompt a core constant supplies.
|
|
447
|
+
*
|
|
448
|
+
* Return the text to show. Faithful core shows what it was given. The hook
|
|
449
|
+
* receives each piece once, when the host builds the screen or draws the
|
|
450
|
+
* prompt, and never per frame. A line drawn in several colours arrives run
|
|
451
|
+
* by run. The same contract as messageText applies: a hook here may only
|
|
452
|
+
* restate text, never change what it means, and it must return the input
|
|
453
|
+
* unchanged for any text it does not recognise, because it sees every
|
|
454
|
+
* screen.
|
|
455
|
+
*
|
|
456
|
+
* `site` says where the text sits (see ScreenTextSite). A table cell's text
|
|
457
|
+
* alone is not always enough to find it: the equipment-comparison selection
|
|
458
|
+
* help has "move selection one page up" in two rows, and only the "n, PgDn"
|
|
459
|
+
* row's copy is upstream's typo.
|
|
460
|
+
*
|
|
461
|
+
* Serves: the bug-fixes and qol mods' help-page and prompt text corrections.
|
|
462
|
+
*/
|
|
463
|
+
screenText?: (raw: string, site: ScreenTextSite) => string;
|
|
464
|
+
/**
|
|
465
|
+
* The character's background, player->history, as assembled at birth from
|
|
466
|
+
* history.txt's phrases (get_history), immediately before a screen shows it
|
|
467
|
+
* (the host's character sheet, birth screen and character dump). This is not
|
|
468
|
+
* the event history that historyAdd and historyDisplay handle.
|
|
469
|
+
*
|
|
470
|
+
* Return the text to show. Faithful core shows the stored text unchanged.
|
|
471
|
+
* The hook receives the whole paragraph before any word wrap, so a phrase
|
|
472
|
+
* that straddles a line break is still one string. It runs at display time
|
|
473
|
+
* only: the save and the player keep the text get_history produced, so
|
|
474
|
+
* disabling the mod shows the original text again. A hook here may only
|
|
475
|
+
* restate the text, never change what it says about the character.
|
|
476
|
+
*
|
|
477
|
+
* Serves: the bug-fixes and qol mods' history.txt spelling and spacing
|
|
478
|
+
* corrections, which no content patch can reach because history records
|
|
479
|
+
* have no record key.
|
|
480
|
+
*/
|
|
481
|
+
characterBackground?: (text: string) => string;
|
|
482
|
+
/**
|
|
483
|
+
* One fragment of an item description, as object_info writes it into its
|
|
484
|
+
* textblock (obj/object-info.ts, objectInfo; obj-info.c's object_info_out).
|
|
485
|
+
* A fragment is what one textblock_append wrote, such as a whole
|
|
486
|
+
* "Affects your stealth\n" line, a lone "\n", or a coloured number. Reached
|
|
487
|
+
* from item inspection, object recall, the character dump and spoilers.
|
|
488
|
+
*
|
|
489
|
+
* Return the text to write. Faithful core writes the fragment unchanged. A
|
|
490
|
+
* hook here may only restate the fragment, never change what the item does
|
|
491
|
+
* or what the player knows about it, and it must return any fragment it
|
|
492
|
+
* does not recognise unchanged.
|
|
493
|
+
*
|
|
494
|
+
* Serves: the upstream-catchup mod's post-4.2.6 description wording
|
|
495
|
+
* (upstream ad5c8401a, "Affects your %s.").
|
|
496
|
+
*/
|
|
497
|
+
objectInfoText?: (text: string) => string;
|
|
498
|
+
/**
|
|
499
|
+
* The opening words of an item's effect description (obj/object-info.ts,
|
|
500
|
+
* describeEffect; obj-info.c describe_effect L2060), with the facts that
|
|
501
|
+
* chose them. Runs before objectInfoText sees the finished fragment.
|
|
502
|
+
*
|
|
503
|
+
* Return the text to write in their place. Faithful core writes 4.2.6's
|
|
504
|
+
* wording: "It can be eaten.\n", "It can be drunk.\n", "It can be read.\n",
|
|
505
|
+
* "It can be aimed.\n" or "It can be activated.\n" for an unknown effect,
|
|
506
|
+
* and "When activated, it ", "When aimed, it ", "When eaten, it ",
|
|
507
|
+
* "When quaffed, it " or "When read, it " before a known one. A hook here
|
|
508
|
+
* may only restate the introduction; it cannot change the effect text that
|
|
509
|
+
* follows.
|
|
510
|
+
*
|
|
511
|
+
* Serves: the upstream-catchup mod's post-4.2.6 effect introductions
|
|
512
|
+
* (upstream 4153ff6a6, "It requires a target." and "When used, it ").
|
|
513
|
+
*/
|
|
514
|
+
effectIntro?: (intro: EffectIntro) => string;
|
|
368
515
|
/**
|
|
369
516
|
* The player finished changing their options (the '=' menu closed).
|
|
370
517
|
*
|
|
@@ -457,7 +604,8 @@ export interface ModHooks {
|
|
|
457
604
|
* - ORDERING hooks (objectListTiebreak) chain the same way round: the last
|
|
458
605
|
* mod's comparator is the primary key and earlier ones break the ties it
|
|
459
606
|
* leaves, which is a valid total order and is "later wins" for a comparator.
|
|
460
|
-
* - TRANSFORM hooks (messageText, historyDisplay,
|
|
607
|
+
* - TRANSFORM hooks (messageText, screenText, historyDisplay,
|
|
608
|
+
* characterBackground, objectInfoText, effectIntro, projectionRadius) compose in
|
|
461
609
|
* load order, each seeing the previous one's output - so the last mod still
|
|
462
610
|
* speaks last and has the final say over the text that reaches the player,
|
|
463
611
|
* or over the radius the blast is built from.
|
package/dist/mod/hooks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/mod/hooks.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/mod/hooks.ts"],"names":[],"mappings":"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"}
|
package/dist/mod/hooks.js
CHANGED
|
@@ -99,6 +99,10 @@ export const MOD_HOOK_FOLDS = {
|
|
|
99
99
|
shapeLearnObviousFlagsDirectly: "any-yes",
|
|
100
100
|
levelRevisited: "all-observe",
|
|
101
101
|
messageText: "chained",
|
|
102
|
+
screenText: "chained",
|
|
103
|
+
characterBackground: "chained",
|
|
104
|
+
objectInfoText: "chained",
|
|
105
|
+
effectIntro: "chained",
|
|
102
106
|
optionsChanged: "all-observe",
|
|
103
107
|
abilityGained: "all-observe",
|
|
104
108
|
monsterBecameVisible: "all-observe",
|
|
@@ -230,6 +234,29 @@ export function guardModHooks(hooks, onFault) {
|
|
|
230
234
|
* eat a message the player needed to read. */
|
|
231
235
|
out.messageText = (raw) => guard("messageText", () => text(raw), raw);
|
|
232
236
|
}
|
|
237
|
+
const screenText = hooks.screenText;
|
|
238
|
+
if (screenText) {
|
|
239
|
+
/* The text as given, like messageText: a blank would erase a help line or a
|
|
240
|
+
* prompt the player has to read to answer it. */
|
|
241
|
+
out.screenText = (raw, site) => guard("screenText", () => screenText(raw, { ...site }), raw);
|
|
242
|
+
}
|
|
243
|
+
const background = hooks.characterBackground;
|
|
244
|
+
if (background) {
|
|
245
|
+
/* The stored background unchanged, which is what core shows with no mod. */
|
|
246
|
+
out.characterBackground = (text) => guard("characterBackground", () => background(text), text);
|
|
247
|
+
}
|
|
248
|
+
const infoText = hooks.objectInfoText;
|
|
249
|
+
if (infoText) {
|
|
250
|
+
/* The fragment unchanged: a throwing restater must not cut lines out of an
|
|
251
|
+
* item description. */
|
|
252
|
+
out.objectInfoText = (text) => guard("objectInfoText", () => infoText(text), text);
|
|
253
|
+
}
|
|
254
|
+
const intro = hooks.effectIntro;
|
|
255
|
+
if (intro) {
|
|
256
|
+
/* The introduction core was about to write. The contributor gets its own
|
|
257
|
+
* copy, so nothing it does to the object reaches the next mod. */
|
|
258
|
+
out.effectIntro = (facts) => guard("effectIntro", () => intro({ ...facts }), facts.text);
|
|
259
|
+
}
|
|
233
260
|
const options = hooks.optionsChanged;
|
|
234
261
|
if (options) {
|
|
235
262
|
/* Nothing to neutralise: core does not read an answer, so the neutral value
|
|
@@ -394,6 +421,31 @@ export function composeModHooks(contributions) {
|
|
|
394
421
|
if (text.length > 0) {
|
|
395
422
|
out.messageText = (raw) => text.reduce((s, fn) => fn(s), raw);
|
|
396
423
|
}
|
|
424
|
+
const screenText = list.map((c) => c.screenText).filter(isFn);
|
|
425
|
+
if (screenText.length > 0) {
|
|
426
|
+
/* Every contributor is handed the same site: it names where the text sits
|
|
427
|
+
* as the screen built it, which an earlier mod's restatement does not move. */
|
|
428
|
+
out.screenText = (raw, site) => screenText.reduce((s, fn) => fn(s, site), raw);
|
|
429
|
+
}
|
|
430
|
+
const background = list.map((c) => c.characterBackground).filter(isFn);
|
|
431
|
+
if (background.length > 0) {
|
|
432
|
+
out.characterBackground = (text) => background.reduce((s, fn) => fn(s), text);
|
|
433
|
+
}
|
|
434
|
+
const infoText = list.map((c) => c.objectInfoText).filter(isFn);
|
|
435
|
+
if (infoText.length > 0) {
|
|
436
|
+
out.objectInfoText = (text) => infoText.reduce((s, fn) => fn(s), text);
|
|
437
|
+
}
|
|
438
|
+
const intro = list.map((c) => c.effectIntro).filter(isFn);
|
|
439
|
+
if (intro.length > 0) {
|
|
440
|
+
/* LOAD order, each seeing the text the previous one produced, with the
|
|
441
|
+
* same facts: like historyDisplay, which chains over an entry the same way. */
|
|
442
|
+
out.effectIntro = (facts) => {
|
|
443
|
+
let text = facts.text;
|
|
444
|
+
for (const fn of intro)
|
|
445
|
+
text = fn({ ...facts, text });
|
|
446
|
+
return text;
|
|
447
|
+
};
|
|
448
|
+
}
|
|
397
449
|
const optionsChanged = list.map((c) => c.optionsChanged).filter(isFn);
|
|
398
450
|
if (optionsChanged.length > 0) {
|
|
399
451
|
/* LOAD order, and every one of them is told. There is no answer to choose
|
package/dist/mod/hooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/mod/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AAqcH;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,cAAc,GAAkD;IAC3E,qBAAqB,EAAE,aAAa;IACpC,kBAAkB,EAAE,aAAa;IACjC,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,iBAAiB,EAAE,gBAAgB;IACnC,kBAAkB,EAAE,aAAa;IACjC,UAAU,EAAE,gBAAgB;IAC5B,cAAc,EAAE,SAAS;IACzB,cAAc,EAAE,SAAS;IACzB,8BAA8B,EAAE,SAAS;IACzC,cAAc,EAAE,aAAa;IAC7B,WAAW,EAAE,SAAS;IACtB,cAAc,EAAE,aAAa;IAC7B,aAAa,EAAE,aAAa;IAC5B,oBAAoB,EAAE,aAAa;IACnC,kBAAkB,EAAE,aAAa;CAClC,CAAC;AAeF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAe,EACf,OAAsC;IAEtC,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE1C,SAAS,KAAK,CAAI,IAAoB,EAAE,GAAY,EAAE,OAAU;QAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,OAAO,CAAC;QACtC,IAAI,CAAC;YACH,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClB,OAAO,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACzB,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,CAAC;IACzC,IAAI,IAAI,EAAE,CAAC;QACT,6EAA6E;QAC7E,GAAG,CAAC,qBAAqB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAiB,EAAE,CAC/D,KAAK,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,kEAAkE;QAClE,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAU,EAAE,CACxC,KAAK,CAAC,oBAAoB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACX;;8DAEsD;QACtD,GAAG,CAAC,gBAAgB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAU,EAAE,CAC/C,KAAK,CAAC,kBAAkB,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;IACnC,IAAI,KAAK,EAAE,CAAC;QACV;;iFAEyE;QACzE,GAAG,CAAC,cAAc,GAAG,CAAC,GAAG,EAAE,KAAK,EAAW,EAAE,CAC3C,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,uEAAuE;QACvE,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,cAAc,EAAW,EAAE,CACrD,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,IAAI,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC7C,IAAI,YAAY,EAAE,CAAC;QACjB;uBACe;QACf,GAAG,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAW,EAAE,CACtD,KAAK,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAChD,IAAI,cAAc,EAAE,CAAC;QACnB;iCACyB;QACzB,GAAG,CAAC,kBAAkB,GAAG,CAAC,KAAK,EAAE,cAAc,EAAiB,EAAE,CAChE,KAAK,CACH,oBAAoB,EACpB,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,EAC3C,IAAI,CACL,CAAC;IACN,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC;IACjC,IAAI,OAAO,EAAE,CAAC;QACZ;gEACwD;QACxD,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,EAAW,EAAE,CAClC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC5C,IAAI,cAAc,EAAE,CAAC;QACnB;kFAC0E;QAC1E,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,EAAU,EAAE,CACjD,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,cAAc,CAAC;IACnC,IAAI,KAAK,EAAE,CAAC;QACV,wCAAwC;QACxC,GAAG,CAAC,cAAc,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,8BAA8B,CAAC;IACxD,IAAI,UAAU,EAAE,CAAC;QACf,8EAA8E;QAC9E,GAAG,CAAC,8BAA8B,GAAG,GAAY,EAAE,CACjD,KAAK,CAAC,gCAAgC,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,KAAK,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACd;2DACmD;QACnD,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAQ,EAAE;YAClD,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;QAC5E,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC;IAC/B,IAAI,IAAI,EAAE,CAAC;QACT;sDAC8C;QAC9C,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,EAAU,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,cAAc,CAAC;IACrC,IAAI,OAAO,EAAE,CAAC;QACZ;kFAC0E;QAC1E,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAQ,EAAE;YAClC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC;IACpC,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,EAAQ,EAAE;YACnC,KAAK,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;QAClE,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,CAAC;IAClD,IAAI,cAAc,EAAE,CAAC;QACnB;+EACuE;QACvE,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAQ,EAAE;YACvC,KAAK,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;QACtE,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,kBAAkB,CAAC;IACpD,IAAI,kBAAkB,EAAE,CAAC;QACvB,GAAG,CAAC,kBAAkB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAQ,EAAE;YAC/C,KAAK,CACH,oBAAoB,EACpB,GAAG,EAAE,CAAC,kBAAkB,CAAC,GAAG,EAAE,QAAQ,CAAC,EACvC,SAAS,CACV,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,aAAkC;IAElC,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAExC,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB;;;;;uCAKmC;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAC7E,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,qBAAqB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAiB,EAAE;YAC/D;;gEAEoD;YACpD,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;gBACrC,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,MAAM,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9E,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,kBAAkB,GAAG,CAAC,CAAC,EAAE,CAAC,EAAU,EAAE;YACxC;;oFAEwE;YACxE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACnB,IAAI,CAAC,KAAK,CAAC;oBAAE,OAAO,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB;;uEAE+D;QAC/D,GAAG,CAAC,gBAAgB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAU,EAAE,CAC/C,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,cAAc,GAAG,CAAC,GAAG,EAAE,KAAK,EAAW,EAAE;YAC3C;;qFAEyE;YACzE,KAAK,MAAM,EAAE,IAAI,KAAK;gBAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAE,cAAc,EAAW,EAAE;YACrD,KAAK,MAAM,EAAE,IAAI,QAAQ;gBAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC;oBAAE,OAAO,KAAK,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,GAAG,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAW,EAAE;YACtD,KAAK,MAAM,EAAE,IAAI,YAAY;gBAAE,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;oBAAE,OAAO,KAAK,CAAC;YACzE,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED;kFAC8E;IAC9E,MAAM,cAAc,GAAG,IAAI;SACxB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;SAChC,MAAM,CAAC,IAAI,CAAC;SACZ,OAAO,EAAE,CAAC;IACb,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,kBAAkB,GAAG,CAAC,KAAK,EAAE,cAAc,EAAiB,EAAE;YAChE,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;gBAChC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;gBACzC,IAAI,MAAM,KAAK,IAAI;oBAAE,OAAO,MAAM,CAAC;YACrC,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,GAAG,CAAC,UAAU,GAAG,CAAC,KAAK,EAAW,EAAE;YAClC,KAAK,MAAM,EAAE,IAAI,OAAO;gBAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBAAE,OAAO,KAAK,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,EAAU,EAAE;YACjD,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACtB,KAAK,MAAM,EAAE,IAAI,cAAc;gBAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;YAC3E,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,GAAG,CAAC,cAAc,GAAG,GAAY,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B;mFAC2E;QAC3E,GAAG,CAAC,8BAA8B,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB;;gFAEwE;QACxE,GAAG,CAAC,cAAc,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAQ,EAAE;YAClD,KAAK,MAAM,EAAE,IAAI,SAAS;gBAAE,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QACvD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,CAAC,GAAG,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACxE,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B;;;;;mCAK2B;QAC3B,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAQ,EAAE;YAClC,KAAK,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;gBAChC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,EAAQ,EAAE;YACnC,KAAK,MAAM,EAAE,IAAI,aAAa;gBAAE,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC5E,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B;mFAC2E;QAC3E,GAAG,CAAC,oBAAoB,GAAG,CAAC,GAAG,EAAQ,EAAE;YACvC,KAAK,MAAM,EAAE,IAAI,cAAc;gBAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9E,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,GAAG,CAAC,kBAAkB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAQ,EAAE;YAC/C,KAAK,MAAM,EAAE,IAAI,kBAAkB;gBAAE,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACzD,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,IAAI,CAAI,CAAgB;IAC/B,OAAO,OAAO,CAAC,KAAK,UAAU,CAAC;AACjC,CAAC"}
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/mod/hooks.ts"],"names":[],"mappings":"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"}
|
|
@@ -150,7 +150,7 @@ export type OrphanStore = Record<string, OrphanEntry[]>;
|
|
|
150
150
|
* core pack outright, and versionMap's versions are only ever used to key
|
|
151
151
|
* quarantined MOD entities. An existing save keeps whatever it recorded.
|
|
152
152
|
*/
|
|
153
|
-
export declare const CORE_PACK_VERSION = "1.
|
|
153
|
+
export declare const CORE_PACK_VERSION = "1.18.0";
|
|
154
154
|
/** A core-only manifest: the base game with no mods, deterministic. */
|
|
155
155
|
export declare function coreOnlyManifest(): SaveManifest;
|
|
156
156
|
/**
|
|
@@ -32,6 +32,7 @@ import type { Player } from "../player/player.js";
|
|
|
32
32
|
import type { ProjectionInfo } from "../world/projection.js";
|
|
33
33
|
import type { RuneEnv } from "./knowledge.js";
|
|
34
34
|
import type { KnownDesc } from "./known-object.js";
|
|
35
|
+
import type { ModHooks } from "../mod/hooks.js";
|
|
35
36
|
import type { GameObject } from "./object.js";
|
|
36
37
|
export declare const OINFO: {
|
|
37
38
|
readonly NONE: 0;
|
|
@@ -187,6 +188,12 @@ export interface ObjectInfoDeps {
|
|
|
187
188
|
effect: ObjectInfoEffectDeps;
|
|
188
189
|
/** object_is_in_store(obj): inspect from a store. Defaults false. */
|
|
189
190
|
inStore?: boolean;
|
|
191
|
+
/**
|
|
192
|
+
* The mod text seams this engine calls (mod/hooks.ts objectInfoText and
|
|
193
|
+
* effectIntro), taken from GameState.modHooks by makeObjectInfoDeps. Absent
|
|
194
|
+
* means faithful 4.2.6 wording, and so does an absent member.
|
|
195
|
+
*/
|
|
196
|
+
hooks?: Pick<ModHooks, "objectInfoText" | "effectIntro">;
|
|
190
197
|
}
|
|
191
198
|
/**
|
|
192
199
|
* object_info (obj-info.c L2393) folded with object_info_out: build the run
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object-info.d.ts","sourceRoot":"","sources":["../../src/obj/object-info.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAuBH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAUlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"object-info.d.ts","sourceRoot":"","sources":["../../src/obj/object-info.ts"],"names":[],"mappings":"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"}
|
package/dist/obj/object-info.js
CHANGED
|
@@ -37,7 +37,7 @@ import { SKILL, STAT_MAX } from "../player/types.js";
|
|
|
37
37
|
import { myRationalConstruct, myRationalProduct, myRationalSum, myRationalToUint, } from "../rational.js";
|
|
38
38
|
import { OBJ_NOTICE, sustainFlag } from "./knowledge.js";
|
|
39
39
|
import { objectEffectIsKnown, objectFullyKnown, objectKnownShadow, } from "./known-object.js";
|
|
40
|
-
import { appendBrand, appendSlay, copyBrands, copySlays, objectWeightOne, tvalIsAmmo, tvalIsEdible, tvalIsFuel, tvalIsLight, tvalIsMeleeWeapon, tvalIsPotion, tvalIsScroll, tvalIsStaff, tvalIsUseable, tvalIsWand, tvalIsWeapon, tvalIsWearable, } from "./object.js";
|
|
40
|
+
import { appendBrand, appendSlay, copyBrands, copySlays, objectWeightOne, tvalIsAmmo, tvalIsEdible, tvalIsFuel, tvalIsLight, tvalIsMeleeWeapon, tvalIsPotion, tvalIsScroll, tvalIsRod, tvalIsStaff, tvalIsUseable, tvalIsWand, tvalIsWeapon, tvalIsWearable, } from "./object.js";
|
|
41
41
|
import { EL_INFO_HATES, EL_INFO_IGNORE, ELEM_MAX, OBJ_MOD_MAX, OBJ_PROPERTY, OFT, } from "./types.js";
|
|
42
42
|
/* ------------------------------------------------------------------ *
|
|
43
43
|
* OINFO modes (obj-info.h L28-35). Values MUST match upstream so the
|
|
@@ -244,7 +244,11 @@ function describeStats(tb, shadow, env, mode, aware) {
|
|
|
244
244
|
tbAppendC(tb, attr, `${plusI(val)} ${desc}.\n`);
|
|
245
245
|
}
|
|
246
246
|
else if (knownEffect) {
|
|
247
|
-
|
|
247
|
+
/* "Affects your %s\n" (obj-info.c:181), with no full stop: 4.2.6 ends
|
|
248
|
+
* this one line bare while its "%+i %s.\n" sibling has one. The full
|
|
249
|
+
* stop is upstream ad5c8401a, after 4.2.6, and reaches a player only
|
|
250
|
+
* through a mod's objectInfoText hook. */
|
|
251
|
+
tbAppend(tb, `Affects your ${desc}\n`);
|
|
248
252
|
}
|
|
249
253
|
}
|
|
250
254
|
return true;
|
|
@@ -1231,26 +1235,55 @@ function describeEgo(tb, ego) {
|
|
|
1231
1235
|
}
|
|
1232
1236
|
return something;
|
|
1233
1237
|
}
|
|
1238
|
+
/** The tval class describe_effect and obj_known_effect branch on (EffectIntro.itemClass). */
|
|
1239
|
+
function effectItemClass(tval) {
|
|
1240
|
+
if (tvalIsEdible(tval))
|
|
1241
|
+
return "food";
|
|
1242
|
+
if (tvalIsPotion(tval))
|
|
1243
|
+
return "potion";
|
|
1244
|
+
if (tvalIsScroll(tval))
|
|
1245
|
+
return "scroll";
|
|
1246
|
+
if (tvalIsWand(tval))
|
|
1247
|
+
return "wand";
|
|
1248
|
+
if (tvalIsStaff(tval))
|
|
1249
|
+
return "staff";
|
|
1250
|
+
if (tvalIsRod(tval))
|
|
1251
|
+
return "rod";
|
|
1252
|
+
return "other";
|
|
1253
|
+
}
|
|
1234
1254
|
function describeEffect(tb, deps, obj, shadow, subjective) {
|
|
1235
1255
|
const effRecords = obj.activation?.effect ?? obj.effect ?? null;
|
|
1236
1256
|
if (!effRecords || effRecords.length === 0)
|
|
1237
1257
|
return false;
|
|
1238
1258
|
const storeConsumable = (deps.inStore ?? false) && tvalIsUseable(obj.tval);
|
|
1239
1259
|
const known = objectEffectIsKnown(obj, shadow) || storeConsumable;
|
|
1240
|
-
|
|
1260
|
+
const itemClass = effectItemClass(obj.tval);
|
|
1261
|
+
const introduce = (intro, text) => {
|
|
1262
|
+
const hook = deps.hooks?.effectIntro;
|
|
1263
|
+
return hook ? hook({ ...intro, itemClass, text }) : text;
|
|
1264
|
+
};
|
|
1265
|
+
/* Effect not known: mouth platitudes (obj-info.c L2076-2090). obj_known_effect
|
|
1266
|
+
* sets `aimed` here for every wand and rod, because it cannot tell
|
|
1267
|
+
* (obj-info.c L2034-2036). */
|
|
1241
1268
|
if (!known) {
|
|
1269
|
+
const aimedUnknown = tvalIsWand(obj.tval) || tvalIsRod(obj.tval);
|
|
1270
|
+
let platitude;
|
|
1242
1271
|
if (tvalIsEdible(obj.tval))
|
|
1243
|
-
|
|
1272
|
+
platitude = "It can be eaten.\n";
|
|
1244
1273
|
else if (tvalIsPotion(obj.tval))
|
|
1245
|
-
|
|
1274
|
+
platitude = "It can be drunk.\n";
|
|
1246
1275
|
else if (tvalIsScroll(obj.tval))
|
|
1247
|
-
|
|
1248
|
-
else if (
|
|
1249
|
-
|
|
1250
|
-
else if (tvalIsStaff(obj.tval))
|
|
1251
|
-
tbAppend(tb, "It can be used.");
|
|
1276
|
+
platitude = "It can be read.\n";
|
|
1277
|
+
else if (aimedUnknown)
|
|
1278
|
+
platitude = "It can be aimed.\n";
|
|
1252
1279
|
else
|
|
1253
|
-
|
|
1280
|
+
platitude = "It can be activated.\n";
|
|
1281
|
+
tbAppend(tb, introduce({
|
|
1282
|
+
effect: "unknown",
|
|
1283
|
+
aimed: aimedUnknown,
|
|
1284
|
+
activation: obj.activation != null,
|
|
1285
|
+
describedActivation: false,
|
|
1286
|
+
}, platitude));
|
|
1254
1287
|
return true;
|
|
1255
1288
|
}
|
|
1256
1289
|
const aimed = deps.effect.aimed;
|
|
@@ -1263,29 +1296,37 @@ function describeEffect(tb, deps, obj, shadow, subjective) {
|
|
|
1263
1296
|
const failureChance = tvalIsEdible(obj.tval) || tvalIsPotion(obj.tval) || tvalIsScroll(obj.tval)
|
|
1264
1297
|
? 0
|
|
1265
1298
|
: deps.effect.deviceFailure;
|
|
1299
|
+
/* Activations get a special message (obj-info.c L2093-2096). */
|
|
1266
1300
|
if (obj.activation && obj.activation.desc) {
|
|
1267
|
-
|
|
1268
|
-
tbAppend(tb, "It requires a target. ");
|
|
1269
|
-
tbAppend(tb, "When used, it ");
|
|
1301
|
+
tbAppend(tb, introduce({ effect: "known", aimed, activation: true, describedActivation: true }, "When activated, it "));
|
|
1270
1302
|
tbAppend(tb, obj.activation.desc);
|
|
1271
1303
|
}
|
|
1272
1304
|
else {
|
|
1273
1305
|
const level = obj.artifact?.level ?? obj.activation?.level ?? obj.kind.level;
|
|
1274
1306
|
const deviceSkill = deps.currentState.skills[SKILL.DEVICE] ?? 0;
|
|
1275
1307
|
const boost = Math.max(Math.trunc((deviceSkill - level) / 2), 0);
|
|
1308
|
+
/* obj-info.c L2106-2117: the activation test comes first, then aiming, so
|
|
1309
|
+
* an activatable wand is "activated" and an aimed effect on any other item
|
|
1310
|
+
* is "aimed". */
|
|
1276
1311
|
let prefix;
|
|
1277
|
-
if (
|
|
1278
|
-
prefix =
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
else if (
|
|
1284
|
-
prefix =
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
|
|
1288
|
-
|
|
1312
|
+
if (obj.activation)
|
|
1313
|
+
prefix = "When activated, it ";
|
|
1314
|
+
else if (aimed)
|
|
1315
|
+
prefix = "When aimed, it ";
|
|
1316
|
+
else if (tvalIsEdible(obj.tval))
|
|
1317
|
+
prefix = "When eaten, it ";
|
|
1318
|
+
else if (tvalIsPotion(obj.tval))
|
|
1319
|
+
prefix = "When quaffed, it ";
|
|
1320
|
+
else if (tvalIsScroll(obj.tval))
|
|
1321
|
+
prefix = "When read, it ";
|
|
1322
|
+
else
|
|
1323
|
+
prefix = "When activated, it ";
|
|
1324
|
+
prefix = introduce({
|
|
1325
|
+
effect: "known",
|
|
1326
|
+
aimed,
|
|
1327
|
+
activation: obj.activation != null,
|
|
1328
|
+
describedActivation: false,
|
|
1329
|
+
}, prefix);
|
|
1289
1330
|
const tbe = deps.effect.describe(prefix, boost, false);
|
|
1290
1331
|
if (tbe === null)
|
|
1291
1332
|
return false;
|
|
@@ -1393,6 +1434,21 @@ function describeFlavorText(tb, deps, obj, shadow, ego) {
|
|
|
1393
1434
|
* upstream object_info().
|
|
1394
1435
|
*/
|
|
1395
1436
|
export function objectInfo(obj, mode, deps) {
|
|
1437
|
+
const tb = objectInfoOut(obj, mode, deps);
|
|
1438
|
+
/* The objectInfoText seam (mod/hooks.ts): each fragment one append wrote, in
|
|
1439
|
+
* order, once the whole description exists. Absent, the textblock is returned
|
|
1440
|
+
* as built. A fragment a hook empties is dropped, as tbAppend drops an empty
|
|
1441
|
+
* append. */
|
|
1442
|
+
const restate = deps.hooks?.objectInfoText;
|
|
1443
|
+
if (restate) {
|
|
1444
|
+
tb.runs = tb.runs
|
|
1445
|
+
.map((r) => ({ text: restate(r.text), attr: r.attr }))
|
|
1446
|
+
.filter((r) => r.text.length > 0);
|
|
1447
|
+
}
|
|
1448
|
+
return tb;
|
|
1449
|
+
}
|
|
1450
|
+
/** object_info_out (obj-info.c L2315): the faithful run stream, before any mod text seam. */
|
|
1451
|
+
function objectInfoOut(obj, mode, deps) {
|
|
1396
1452
|
const tb = tbNew();
|
|
1397
1453
|
const terse = (mode & OINFO.TERSE) !== 0;
|
|
1398
1454
|
const subjective = (mode & OINFO.SUBJ) !== 0;
|