@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 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.16.0 4.2.6
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,CAqFhB;AAED,iFAAiF;AACjF,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,gBAAgB,GACvB,SAAS,CAEX"}
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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"}
@@ -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, projectionRadius) compose in
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.
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/mod/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/mod/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AA0mBH;;;;;;;;;;;;;;;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,UAAU,EAAE,SAAS;IACrB,mBAAmB,EAAE,SAAS;IAC9B,cAAc,EAAE,SAAS;IACzB,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,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,IAAI,UAAU,EAAE,CAAC;QACf;yDACiD;QACjD,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAU,EAAE,CACrC,KAAK,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,mBAAmB,CAAC;IAC7C,IAAI,UAAU,EAAE,CAAC;QACf,4EAA4E;QAC5E,GAAG,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAU,EAAE,CACzC,KAAK,CAAC,qBAAqB,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/D,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb;+BACuB;QACvB,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,EAAU,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV;0EACkE;QAClE,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,EAAU,EAAE,CAClC,KAAK,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAChE,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,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC9D,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B;uFAC+E;QAC/E,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,EAAE,IAAI,EAAU,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IACzF,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,mBAAmB,GAAG,CAAC,IAAI,EAAU,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACxF,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,EAAU,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IACjF,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB;uFAC+E;QAC/E,GAAG,CAAC,WAAW,GAAG,CAAC,KAAK,EAAU,EAAE;YAClC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;YACtB,KAAK,MAAM,EAAE,IAAI,KAAK;gBAAE,IAAI,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtD,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;;;;;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"}
@@ -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.16.0";
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":"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"}
1
+ {"version":3,"file":"object-info.d.ts","sourceRoot":"","sources":["../../src/obj/object-info.ts"],"names":[],"mappings":"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"}
@@ -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
- tbAppend(tb, `Affects your ${desc}.\n`);
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
- /* Effect not known: mouth platitudes. */
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
- tbAppend(tb, "It can be eaten.\n");
1272
+ platitude = "It can be eaten.\n";
1244
1273
  else if (tvalIsPotion(obj.tval))
1245
- tbAppend(tb, "It can be drunk.\n");
1274
+ platitude = "It can be drunk.\n";
1246
1275
  else if (tvalIsScroll(obj.tval))
1247
- tbAppend(tb, "It can be read.\n");
1248
- else if (tvalIsWand(obj.tval))
1249
- tbAppend(tb, "It requires a target. It can be used.");
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
- tbAppend(tb, "It may require a target. It can be used.");
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
- if (aimed)
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 (tvalIsEdible(obj.tval)) {
1278
- prefix = aimed ? "It requires a target. When eaten, it " : "When eaten, it ";
1279
- }
1280
- else if (tvalIsPotion(obj.tval)) {
1281
- prefix = aimed ? "It requires a target. When quaffed, it " : "When quaffed, it ";
1282
- }
1283
- else if (tvalIsScroll(obj.tval)) {
1284
- prefix = aimed ? "It requires a target. When read, it " : "When read, it ";
1285
- }
1286
- else {
1287
- prefix = aimed ? "It requires a target. When used, it " : "When used, it ";
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;