@dreadwood-types/types 0.1.268 → 0.1.270
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/dist/attackableNpcs.d.ts.map +1 -1
- package/dist/attackableNpcs.js +2 -0
- package/dist/attackableNpcs.js.map +1 -1
- package/dist/bossSignatures.d.ts +1 -1
- package/dist/bossSignatures.d.ts.map +1 -1
- package/dist/bossSignatures.js +6 -0
- package/dist/bossSignatures.js.map +1 -1
- package/dist/calvertonExtension.d.ts +217 -0
- package/dist/calvertonExtension.d.ts.map +1 -0
- package/dist/calvertonExtension.js +334 -0
- package/dist/calvertonExtension.js.map +1 -0
- package/dist/calvertonQuestDef.d.ts +64 -0
- package/dist/calvertonQuestDef.d.ts.map +1 -0
- package/dist/calvertonQuestDef.js +354 -0
- package/dist/calvertonQuestDef.js.map +1 -0
- package/dist/constants.d.ts +4 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/expandedContracts.d.ts.map +1 -1
- package/dist/expandedContracts.js +4 -1
- package/dist/expandedContracts.js.map +1 -1
- package/dist/explorerLedger.d.ts.map +1 -1
- package/dist/explorerLedger.js +1 -0
- package/dist/explorerLedger.js.map +1 -1
- package/dist/gravewatch.d.ts +103 -0
- package/dist/gravewatch.d.ts.map +1 -0
- package/dist/gravewatch.js +80 -0
- package/dist/gravewatch.js.map +1 -0
- package/dist/gravewatchQuest.d.ts +121 -0
- package/dist/gravewatchQuest.d.ts.map +1 -0
- package/dist/gravewatchQuest.js +96 -0
- package/dist/gravewatchQuest.js.map +1 -0
- package/dist/gravewatchQuestDefs.d.ts +11 -0
- package/dist/gravewatchQuestDefs.d.ts.map +1 -0
- package/dist/gravewatchQuestDefs.js +198 -0
- package/dist/gravewatchQuestDefs.js.map +1 -0
- package/dist/groundItems.d.ts.map +1 -1
- package/dist/groundItems.js +1 -0
- package/dist/groundItems.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +2 -0
- package/dist/legacy.d.ts.map +1 -1
- package/dist/legacy.js +2 -0
- package/dist/legacy.js.map +1 -1
- package/dist/quests.d.ts.map +1 -1
- package/dist/quests.js +80 -0
- package/dist/quests.js.map +1 -1
- package/dist/safePockets.d.ts.map +1 -1
- package/dist/safePockets.js +8 -0
- package/dist/safePockets.js.map +1 -1
- package/dist/sparringYard.d.ts +10 -2
- package/dist/sparringYard.d.ts.map +1 -1
- package/dist/sparringYard.js +14 -7
- package/dist/sparringYard.js.map +1 -1
- package/dist/storyQuests.d.ts +1 -1
- package/dist/storyQuests.d.ts.map +1 -1
- package/dist/storyQuests.js +42 -0
- package/dist/storyQuests.js.map +1 -1
- package/package.json +43 -43
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export const GRAVEWATCH_NAME = 'The Gravewatch';
|
|
2
|
+
export const GRAVEWATCH_ID = 'gravewatch';
|
|
3
|
+
export const GRAVEWATCH_POST_NAME = 'The Gravewatch post';
|
|
4
|
+
/** The watch post: its box is the SAFE POCKET (ring, gate and all). */
|
|
5
|
+
export const GRAVEWATCH_POST = { minX: 308, maxX: 332, minZ: 662, maxZ: 676 };
|
|
6
|
+
export const GRAVEWATCH_SAFE_POCKET = GRAVEWATCH_POST;
|
|
7
|
+
export function inGravewatchSafePocket(x, z) {
|
|
8
|
+
const tx = Math.floor(x);
|
|
9
|
+
const tz = Math.floor(z);
|
|
10
|
+
const b = GRAVEWATCH_SAFE_POCKET;
|
|
11
|
+
return tx >= b.minX && tx <= b.maxX && tz >= b.minZ && tz <= b.maxZ;
|
|
12
|
+
}
|
|
13
|
+
/** The ground the post's roads may lay (the post and the link road to Gallowmere's road). */
|
|
14
|
+
export const GRAVEWATCH_ROAD_BOX = { minX: 306, maxX: 390, minZ: 650, maxZ: 678 };
|
|
15
|
+
/** The roads (world polylines, width in tiles): the path from the post up to the crypt gate, and the road east to Gallowmere's link road. */
|
|
16
|
+
export const GRAVEWATCH_PATHS = [
|
|
17
|
+
{ id: 'gate-path', w: 3, pts: [[320, 676], [320, 657]] },
|
|
18
|
+
{ id: 'link-road', w: 3, pts: [[388, 651], [388, 658], [346, 658], [336, 664], [321, 664]] },
|
|
19
|
+
];
|
|
20
|
+
/** The post's pieces: a lodge tent, the Sexton's fire, crates and a barrel, a banner, grave-lanterns at the corners and warning stakes at the ends. */
|
|
21
|
+
export const GRAVEWATCH_PIECES = [
|
|
22
|
+
{ id: 'gw-post-tent', kind: 'dreadprop', style: 'tent-face0', x: 313, z: 668 },
|
|
23
|
+
{ id: 'gw-post-fire', kind: 'campfire', style: 'beach-pit', x: 324, z: 672, scale: 1 },
|
|
24
|
+
{ id: 'gw-post-crates', kind: 'dreadprop', style: 'crates', x: 327, z: 667 },
|
|
25
|
+
{ id: 'gw-post-barrel', kind: 'barrel', style: 'barrel', x: 328, z: 670, scale: 1 },
|
|
26
|
+
{ id: 'gw-post-logs', kind: 'logpile', style: 'pile', x: 316, z: 673, scale: 0.9 },
|
|
27
|
+
{ id: 'gw-post-banner', kind: 'dreadprop', style: 'banner', x: 325, z: 668 },
|
|
28
|
+
{ id: 'gw-post-lantern-nw', kind: 'dreadmodel', style: 'gravelantern-s', x: 309, z: 663 },
|
|
29
|
+
{ id: 'gw-post-lantern-ne', kind: 'dreadmodel', style: 'gravelantern-s', x: 331, z: 668 },
|
|
30
|
+
{ id: 'gw-post-lantern-sw', kind: 'dreadmodel', style: 'gravelantern-s', x: 309, z: 675 },
|
|
31
|
+
{ id: 'gw-post-lantern-se', kind: 'dreadmodel', style: 'gravelantern-s', x: 331, z: 675 },
|
|
32
|
+
{ id: 'gw-post-stake-1', kind: 'dreadmodel', style: 'skullstake-s', x: 309, z: 669 },
|
|
33
|
+
{ id: 'gw-post-stake-2', kind: 'dreadmodel', style: 'skullstake-s', x: 331, z: 672 },
|
|
34
|
+
{ id: 'gw-post-stake-3', kind: 'dreadmodel', style: 'skullstake-s', x: 317, z: 662 },
|
|
35
|
+
{ id: 'gw-post-stake-4', kind: 'dreadmodel', style: 'skullstake-s', x: 323, z: 662 },
|
|
36
|
+
];
|
|
37
|
+
/** The signs (the placard signpost). */
|
|
38
|
+
export const GRAVEWATCH_SIGNS = [
|
|
39
|
+
{ id: 'gw-sign-post', x: 335, z: 666, text: 'The Gravewatch post. Inside the stakes no player may strike another. North of it lie the Crypt Grounds: Grave Hounds, a Crypt Knight and worse. Dreadwoods ground, PvP, and nobody eats in a fight.' },
|
|
40
|
+
{ id: 'gw-sign-road', x: 391, z: 656, text: 'The Gravewatch post, west along this road. Sexton Dunmore keeps the watch (Combat 22+).' },
|
|
41
|
+
];
|
|
42
|
+
/** Standable tiles (admin teleports, smokes). */
|
|
43
|
+
export const GRAVEWATCH_STANDS = {
|
|
44
|
+
road: { x: 360, z: 658 },
|
|
45
|
+
post: { x: 320, z: 669 },
|
|
46
|
+
gate: { x: 320, z: 656 },
|
|
47
|
+
};
|
|
48
|
+
// ---- Sexton Dunmore ------------------------------------------------------------------------------------------------------------------
|
|
49
|
+
export const GRAVEWATCH_SEXTON_KIND = 'gvsexton';
|
|
50
|
+
export const GRAVEWATCH_SEXTON_NAME = 'Sexton Dunmore';
|
|
51
|
+
export const GRAVEWATCH_SEXTON = { id: 'gw-sexton', kind: GRAVEWATCH_SEXTON_KIND, name: GRAVEWATCH_SEXTON_NAME, x: 323, z: 668, faceX: 320, faceZ: 656, leash: 1 };
|
|
52
|
+
export function isGravewatchFolkKind(kind) {
|
|
53
|
+
return kind === GRAVEWATCH_SEXTON_KIND;
|
|
54
|
+
}
|
|
55
|
+
/** What a click says when it is not a talk (never an attack). */
|
|
56
|
+
export const GRAVEWATCH_SEXTON_LINE = 'Sexton Dunmore keeps one eye on the crypt gate and does not look round. "Someone has to count them going in. Someone has to count them coming out."';
|
|
57
|
+
// ---- The Tomb Warden -----------------------------------------------------------------------------------------------------------------
|
|
58
|
+
/** A `skeleton` kind: the undead rule (dragonfire.ts isUndeadNpcKind) finds it by prefix, so silver weapons bite it harder. */
|
|
59
|
+
export const TOMB_WARDEN_KIND = 'skeletonwarden';
|
|
60
|
+
export const TOMB_WARDEN_NAME = 'The Tomb Warden';
|
|
61
|
+
/** Level 26, a mini-boss: tougher than its level, back in four minutes. Placeholders for the balance pass. */
|
|
62
|
+
export const TOMB_WARDEN = {
|
|
63
|
+
name: TOMB_WARDEN_NAME,
|
|
64
|
+
level: [26, 26],
|
|
65
|
+
maxHit: 15,
|
|
66
|
+
healthFactor: 1.25,
|
|
67
|
+
respawnMs: 240_000,
|
|
68
|
+
aggro: 5,
|
|
69
|
+
leash: 9,
|
|
70
|
+
/** Where he stands, on open ground at the mausoleum's west side (the Crypt Knight keeps the plaza, 11 tiles away; checked in the game: the spot must have open neighbours or a fight cannot start). */
|
|
71
|
+
x: 309,
|
|
72
|
+
z: 630,
|
|
73
|
+
spawnLeash: 3,
|
|
74
|
+
text: 'The Tomb Warden turns from the mausoleum wall, a bar of black iron in both hands. "The dead are not yours to wake."',
|
|
75
|
+
note: 'The mausoleum\'s keeper: a skeleton in a rusted warden\'s plate. Every fourth blow is a Tomb Hammer, announced a full turn ahead and twice an ordinary hit; step out of his reach before it lands and it misses. Drops the Gravewarden\'s Seal every time.',
|
|
76
|
+
};
|
|
77
|
+
export function isGravewatchHostileKind(kind) {
|
|
78
|
+
return kind === TOMB_WARDEN_KIND;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=gravewatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravewatch.js","sourceRoot":"","sources":["../src/gravewatch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* THE GRAVEWATCH quest chain (slice A6, T72 2026-10-14; plan `.cursor/task-plans/2026-10-14-t72-gravewatch.md`; the layout, the post and the
|
|
3
|
+
* Tomb Warden are in gravewatch.ts). Sexton Dunmore keeps the Gravewatch post, a safe pocket just south of the Crypt Grounds' gate, and
|
|
4
|
+
* gives five quests, levels 22-28, each needing the one before:
|
|
5
|
+
*
|
|
6
|
+
* 1. The Sexton's Lantern (Combat 22) put down six Grave Hounds, then tell Dunmore
|
|
7
|
+
* 2. Names on the Stones (Combat 22) read three headstones inside the grounds; Dunmore works out the order they name
|
|
8
|
+
* 3. Three Braziers (Combat 24) THE TIMED RUN: an eight minute clock (the story engine's `clock`, the Night Mail's): go in, light
|
|
9
|
+
* the west, east and steps braziers in the order the stones gave, ring the sexton's bell at the
|
|
10
|
+
* steps, and be back at the post before the clock runs out; a wrong brazier puts out the lot and
|
|
11
|
+
* loses time, and a lost run starts again from the first step
|
|
12
|
+
* 4. The Tomb Warden (Combat 26) put down the lair mini-boss (telegraphed Tomb Hammer, step clear to dodge); his seal to Dunmore
|
|
13
|
+
* 5. Seal the Crypt (Combat 28) put down the Crypt Knight, set the seal in the mausoleum door, tell Dunmore: the Ledger page
|
|
14
|
+
*
|
|
15
|
+
* Why the story engine's clock and not the Rat Caves' TimedRun (timedRun.ts): a TimedRun puts you in a place of its own and walks you out at
|
|
16
|
+
* the deadline, which the open Crypt Grounds are not; the story clock is the same wall-clock engine (saved with the progress, runs through a
|
|
17
|
+
* logout and a restart, fails the run cleanly and offers it again) with a prop sequence in it. Decision logged in the plan file.
|
|
18
|
+
*
|
|
19
|
+
* Every number here is a PLACEHOLDER for the balance pass. Every position is a WORLD tile inside the Crypt Grounds (centre 320,640).
|
|
20
|
+
*/
|
|
21
|
+
import type { LanternWakeQuestProp } from './lanternWakeQuests.js';
|
|
22
|
+
export declare const GRAVEWATCH_QUEST_IDS: readonly ["sextonsLantern", "namesOnTheStones", "threeBraziers", "theTombWarden", "sealTheCrypt"];
|
|
23
|
+
export type GravewatchQuestId = (typeof GRAVEWATCH_QUEST_IDS)[number];
|
|
24
|
+
/** Combat levels each quest asks. */
|
|
25
|
+
export declare const GRAVEWATCH_COMBAT_LEVELS: Readonly<Record<GravewatchQuestId, number>>;
|
|
26
|
+
export declare const GRAVEWATCH_QUEST_NAMES: Readonly<Record<GravewatchQuestId, string>>;
|
|
27
|
+
/** How many Grave Hounds quest 1 wants, and how many headstones quest 2. */
|
|
28
|
+
export declare const GRAVEWATCH_HOUNDS_TO_DEFEAT = 6;
|
|
29
|
+
export declare const GRAVEWATCH_STONES_TO_READ = 3;
|
|
30
|
+
/** The timed run (quest 3): eight minutes from the moment it is accepted, with warnings at three minutes, one and half a minute left. */
|
|
31
|
+
export declare const GRAVEWATCH_RUN_MS: number;
|
|
32
|
+
export declare const GRAVEWATCH_RUN_WARN_MS: readonly number[];
|
|
33
|
+
/** What each quest pays: coins, Explorer XP, a combat XP lump and silver (the metal the dead mind). Placeholders. */
|
|
34
|
+
export declare const GRAVEWATCH_REWARDS: {
|
|
35
|
+
readonly sextonsLantern: {
|
|
36
|
+
readonly coins: 600;
|
|
37
|
+
readonly explorerXp: 350;
|
|
38
|
+
readonly choiceXp: 1000;
|
|
39
|
+
readonly silverBars: 0;
|
|
40
|
+
};
|
|
41
|
+
readonly namesOnTheStones: {
|
|
42
|
+
readonly coins: 500;
|
|
43
|
+
readonly explorerXp: 300;
|
|
44
|
+
readonly choiceXp: 0;
|
|
45
|
+
readonly silverBars: 1;
|
|
46
|
+
};
|
|
47
|
+
readonly threeBraziers: {
|
|
48
|
+
readonly coins: 1100;
|
|
49
|
+
readonly explorerXp: 650;
|
|
50
|
+
readonly choiceXp: 1500;
|
|
51
|
+
readonly silverBars: 2;
|
|
52
|
+
};
|
|
53
|
+
readonly theTombWarden: {
|
|
54
|
+
readonly coins: 1500;
|
|
55
|
+
readonly explorerXp: 800;
|
|
56
|
+
readonly choiceXp: 2000;
|
|
57
|
+
readonly silverBars: 3;
|
|
58
|
+
};
|
|
59
|
+
readonly sealTheCrypt: {
|
|
60
|
+
readonly coins: 2500;
|
|
61
|
+
readonly explorerXp: 1200;
|
|
62
|
+
readonly choiceXp: 3000;
|
|
63
|
+
readonly silverBars: 3;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
/** The final quest's gear piece: a silver dagger (existing item, forged at Blacksmithing 34), the Crypt gear placeholder. */
|
|
67
|
+
export declare const GRAVEWATCH_FINAL_GEAR = "silverdagger";
|
|
68
|
+
export declare const GRAVEWARDEN_SEAL_KIND = "gravewardenseal";
|
|
69
|
+
export declare const GRAVEWATCH_QUEST_ITEM_KINDS: readonly string[];
|
|
70
|
+
export declare const GRAVEWATCH_QUEST_ITEM_NAMES: Readonly<Record<string, string>>;
|
|
71
|
+
export declare const GRAVEWATCH_QUEST_ITEM_NOTES: Readonly<Record<string, string>>;
|
|
72
|
+
export declare const GV_PROP: {
|
|
73
|
+
readonly stone: "gvstone";
|
|
74
|
+
readonly brazier: "gvbrazier";
|
|
75
|
+
readonly bell: "gvbell";
|
|
76
|
+
readonly door: "gvdoor";
|
|
77
|
+
};
|
|
78
|
+
/** The three headstones that name the order: the lamplighter, his wife and the sexton before them. */
|
|
79
|
+
export declare const GV_STONE_WEST: LanternWakeQuestProp;
|
|
80
|
+
export declare const GV_STONE_EAST: LanternWakeQuestProp;
|
|
81
|
+
export declare const GV_STONE_STEPS: LanternWakeQuestProp;
|
|
82
|
+
export declare const GV_STONES: readonly LanternWakeQuestProp[];
|
|
83
|
+
/** The three braziers: the west wall, the east wall and the mausoleum steps. */
|
|
84
|
+
export declare const GV_BRAZIER_WEST: LanternWakeQuestProp;
|
|
85
|
+
export declare const GV_BRAZIER_EAST: LanternWakeQuestProp;
|
|
86
|
+
export declare const GV_BRAZIER_STEPS: LanternWakeQuestProp;
|
|
87
|
+
export declare const GV_BRAZIERS: readonly LanternWakeQuestProp[];
|
|
88
|
+
/** The right order: west, east, steps (the stones say who lit which, and the steps last). */
|
|
89
|
+
export declare const GRAVEWATCH_BRAZIER_ORDER: readonly string[];
|
|
90
|
+
/** The sexton's bell by the mausoleum steps, rung when the three burn; and the mausoleum door, where the Warden's seal is set (quest 5). */
|
|
91
|
+
export declare const GV_BELL: LanternWakeQuestProp;
|
|
92
|
+
export declare const GV_DOOR: LanternWakeQuestProp;
|
|
93
|
+
export declare const GRAVEWATCH_QUEST_PROPS: readonly LanternWakeQuestProp[];
|
|
94
|
+
/** The grounds inside the railing, for the `reach` step (world tiles, inclusive). */
|
|
95
|
+
export declare const GRAVEWATCH_CRYPT_AREA: {
|
|
96
|
+
readonly minX: 303;
|
|
97
|
+
readonly maxX: 337;
|
|
98
|
+
readonly minZ: 629;
|
|
99
|
+
readonly maxZ: 651;
|
|
100
|
+
};
|
|
101
|
+
/** The post's yard, for the final talk steps' helper. */
|
|
102
|
+
export declare const GRAVEWATCH_POST_AREA: {
|
|
103
|
+
readonly minX: 308;
|
|
104
|
+
readonly maxX: 332;
|
|
105
|
+
readonly minZ: 662;
|
|
106
|
+
readonly maxZ: 676;
|
|
107
|
+
};
|
|
108
|
+
/** The kit model a Gravewatch quest prop draws with (CAPITAL_BUILDING_MODELS stand-ins), or null if not one of them. */
|
|
109
|
+
export declare function gravewatchPropModel(prop: string): string | null;
|
|
110
|
+
/** What the game calls each prop (hover name, guide). */
|
|
111
|
+
export declare const GRAVEWATCH_QUEST_PROP_NAMES: Readonly<Record<string, string>>;
|
|
112
|
+
/** What a prop says when no step wants it. */
|
|
113
|
+
export declare const GRAVEWATCH_PROP_IDLE_LINES: Readonly<Record<string, string>>;
|
|
114
|
+
/** The effect names the backend does on a wrong brazier (nothing extra: the clock is the punishment) - kept for the guide only. */
|
|
115
|
+
export declare const GRAVEWATCH_WRONG_BRAZIER_NOTICE = "The wrong brazier! The flames gutter and go out, one after the other, and the graves round you stir. Start again from the first.";
|
|
116
|
+
/** The Ledger line for the final quest's page: the Tomb Warden's fall is a boss line (explorerLedger.ts LEDGER_BOSSES); the quests are derived. */
|
|
117
|
+
export declare const GRAVEWATCH_LEDGER_BOSS: {
|
|
118
|
+
readonly kind: "skeletonwarden";
|
|
119
|
+
readonly label: "The Tomb Warden";
|
|
120
|
+
};
|
|
121
|
+
//# sourceMappingURL=gravewatchQuest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravewatchQuest.d.ts","sourceRoot":"","sources":["../src/gravewatchQuest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,eAAO,MAAM,oBAAoB,mGAAoG,CAAC;AACtI,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,qCAAqC;AACrC,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAMhF,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAM9E,CAAC;AAEF,4EAA4E;AAC5E,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAE3C,yIAAyI;AACzI,eAAO,MAAM,iBAAiB,QAAa,CAAC;AAC5C,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAA8B,CAAC;AAEnF,qHAAqH;AACrH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAMrB,CAAC;AACX,6HAA6H;AAC7H,eAAO,MAAM,qBAAqB,iBAAiB,CAAC;AAGpD,eAAO,MAAM,qBAAqB,oBAAoB,CAAC;AACvD,eAAO,MAAM,2BAA2B,EAAE,SAAS,MAAM,EAA4B,CAAC;AACtF,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAqD,CAAC;AAC/H,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAExE,CAAC;AAGF,eAAO,MAAM,OAAO;;;;;CAAsF,CAAC;AAE3G,sGAAsG;AACtG,eAAO,MAAM,aAAa,EAAE,oBAAoG,CAAC;AACjI,eAAO,MAAM,aAAa,EAAE,oBAAoG,CAAC;AACjI,eAAO,MAAM,cAAc,EAAE,oBAAsG,CAAC;AACpI,eAAO,MAAM,SAAS,EAAE,SAAS,oBAAoB,EAAmD,CAAC;AACzG,gFAAgF;AAChF,eAAO,MAAM,eAAe,EAAE,oBAAwG,CAAC;AACvI,eAAO,MAAM,eAAe,EAAE,oBAAwG,CAAC;AACvI,eAAO,MAAM,gBAAgB,EAAE,oBAA0G,CAAC;AAC1I,eAAO,MAAM,WAAW,EAAE,SAAS,oBAAoB,EAAyD,CAAC;AACjH,6FAA6F;AAC7F,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAA2E,CAAC;AAClI,4IAA4I;AAC5I,eAAO,MAAM,OAAO,EAAE,oBAA0F,CAAC;AACjH,eAAO,MAAM,OAAO,EAAE,oBAA0F,CAAC;AACjH,eAAO,MAAM,sBAAsB,EAAE,SAAS,oBAAoB,EAAqD,CAAC;AAExH,qFAAqF;AACrF,eAAO,MAAM,qBAAqB;;;;;CAA0D,CAAC;AAC7F,yDAAyD;AACzD,eAAO,MAAM,oBAAoB;;;;;CAA0D,CAAC;AAE5F,wHAAwH;AACxH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAM/D;AAED,yDAAyD;AACzD,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CASxE,CAAC;AAEF,8CAA8C;AAC9C,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKvE,CAAC;AAEF,mIAAmI;AACnI,eAAO,MAAM,+BAA+B,qIACwF,CAAC;AAErI,mJAAmJ;AACnJ,eAAO,MAAM,sBAAsB;;;CAAgE,CAAC"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export const GRAVEWATCH_QUEST_IDS = ['sextonsLantern', 'namesOnTheStones', 'threeBraziers', 'theTombWarden', 'sealTheCrypt'];
|
|
2
|
+
/** Combat levels each quest asks. */
|
|
3
|
+
export const GRAVEWATCH_COMBAT_LEVELS = {
|
|
4
|
+
sextonsLantern: 22,
|
|
5
|
+
namesOnTheStones: 22,
|
|
6
|
+
threeBraziers: 24,
|
|
7
|
+
theTombWarden: 26,
|
|
8
|
+
sealTheCrypt: 28,
|
|
9
|
+
};
|
|
10
|
+
export const GRAVEWATCH_QUEST_NAMES = {
|
|
11
|
+
sextonsLantern: "The Sexton's Lantern",
|
|
12
|
+
namesOnTheStones: 'Names on the Stones',
|
|
13
|
+
threeBraziers: 'Three Braziers',
|
|
14
|
+
theTombWarden: 'The Tomb Warden',
|
|
15
|
+
sealTheCrypt: 'Seal the Crypt',
|
|
16
|
+
};
|
|
17
|
+
/** How many Grave Hounds quest 1 wants, and how many headstones quest 2. */
|
|
18
|
+
export const GRAVEWATCH_HOUNDS_TO_DEFEAT = 6;
|
|
19
|
+
export const GRAVEWATCH_STONES_TO_READ = 3;
|
|
20
|
+
/** The timed run (quest 3): eight minutes from the moment it is accepted, with warnings at three minutes, one and half a minute left. */
|
|
21
|
+
export const GRAVEWATCH_RUN_MS = 8 * 60_000;
|
|
22
|
+
export const GRAVEWATCH_RUN_WARN_MS = [180_000, 60_000, 30_000];
|
|
23
|
+
/** What each quest pays: coins, Explorer XP, a combat XP lump and silver (the metal the dead mind). Placeholders. */
|
|
24
|
+
export const GRAVEWATCH_REWARDS = {
|
|
25
|
+
sextonsLantern: { coins: 600, explorerXp: 350, choiceXp: 1000, silverBars: 0 },
|
|
26
|
+
namesOnTheStones: { coins: 500, explorerXp: 300, choiceXp: 0, silverBars: 1 },
|
|
27
|
+
threeBraziers: { coins: 1100, explorerXp: 650, choiceXp: 1500, silverBars: 2 },
|
|
28
|
+
theTombWarden: { coins: 1500, explorerXp: 800, choiceXp: 2000, silverBars: 3 },
|
|
29
|
+
sealTheCrypt: { coins: 2500, explorerXp: 1200, choiceXp: 3000, silverBars: 3 },
|
|
30
|
+
};
|
|
31
|
+
/** The final quest's gear piece: a silver dagger (existing item, forged at Blacksmithing 34), the Crypt gear placeholder. */
|
|
32
|
+
export const GRAVEWATCH_FINAL_GEAR = 'silverdagger';
|
|
33
|
+
// ---- The seal ------------------------------------------------------------------------------------------------------------------------
|
|
34
|
+
export const GRAVEWARDEN_SEAL_KIND = 'gravewardenseal';
|
|
35
|
+
export const GRAVEWATCH_QUEST_ITEM_KINDS = [GRAVEWARDEN_SEAL_KIND];
|
|
36
|
+
export const GRAVEWATCH_QUEST_ITEM_NAMES = { [GRAVEWARDEN_SEAL_KIND]: "Gravewarden's Seal" };
|
|
37
|
+
export const GRAVEWATCH_QUEST_ITEM_NOTES = {
|
|
38
|
+
[GRAVEWARDEN_SEAL_KIND]: 'A rusted iron seal that hung at the Tomb Warden\'s belt. Sexton Dunmore wants it, and the mausoleum door wants it after that.',
|
|
39
|
+
};
|
|
40
|
+
// ---- Props (questprop entities, style `<prop>:<which>`) -------------------------------------------------------------------------------
|
|
41
|
+
export const GV_PROP = { stone: 'gvstone', brazier: 'gvbrazier', bell: 'gvbell', door: 'gvdoor' };
|
|
42
|
+
/** The three headstones that name the order: the lamplighter, his wife and the sexton before them. */
|
|
43
|
+
export const GV_STONE_WEST = { id: 'gv-quest-stone-west', x: 308, z: 645, style: `${GV_PROP.stone}:west` };
|
|
44
|
+
export const GV_STONE_EAST = { id: 'gv-quest-stone-east', x: 332, z: 644, style: `${GV_PROP.stone}:east` };
|
|
45
|
+
export const GV_STONE_STEPS = { id: 'gv-quest-stone-steps', x: 326, z: 636, style: `${GV_PROP.stone}:steps` };
|
|
46
|
+
export const GV_STONES = [GV_STONE_WEST, GV_STONE_EAST, GV_STONE_STEPS];
|
|
47
|
+
/** The three braziers: the west wall, the east wall and the mausoleum steps. */
|
|
48
|
+
export const GV_BRAZIER_WEST = { id: 'gv-quest-brazier-west', x: 305, z: 641, style: `${GV_PROP.brazier}:west` };
|
|
49
|
+
export const GV_BRAZIER_EAST = { id: 'gv-quest-brazier-east', x: 335, z: 641, style: `${GV_PROP.brazier}:east` };
|
|
50
|
+
export const GV_BRAZIER_STEPS = { id: 'gv-quest-brazier-steps', x: 325, z: 632, style: `${GV_PROP.brazier}:steps` };
|
|
51
|
+
export const GV_BRAZIERS = [GV_BRAZIER_WEST, GV_BRAZIER_EAST, GV_BRAZIER_STEPS];
|
|
52
|
+
/** The right order: west, east, steps (the stones say who lit which, and the steps last). */
|
|
53
|
+
export const GRAVEWATCH_BRAZIER_ORDER = [GV_BRAZIER_WEST.style, GV_BRAZIER_EAST.style, GV_BRAZIER_STEPS.style];
|
|
54
|
+
/** The sexton's bell by the mausoleum steps, rung when the three burn; and the mausoleum door, where the Warden's seal is set (quest 5). */
|
|
55
|
+
export const GV_BELL = { id: 'gv-quest-bell', x: 324, z: 633, style: `${GV_PROP.bell}:a` };
|
|
56
|
+
export const GV_DOOR = { id: 'gv-quest-door', x: 320, z: 632, style: `${GV_PROP.door}:a` };
|
|
57
|
+
export const GRAVEWATCH_QUEST_PROPS = [...GV_STONES, ...GV_BRAZIERS, GV_BELL, GV_DOOR];
|
|
58
|
+
/** The grounds inside the railing, for the `reach` step (world tiles, inclusive). */
|
|
59
|
+
export const GRAVEWATCH_CRYPT_AREA = { minX: 303, maxX: 337, minZ: 629, maxZ: 651 };
|
|
60
|
+
/** The post's yard, for the final talk steps' helper. */
|
|
61
|
+
export const GRAVEWATCH_POST_AREA = { minX: 308, maxX: 332, minZ: 662, maxZ: 676 };
|
|
62
|
+
/** The kit model a Gravewatch quest prop draws with (CAPITAL_BUILDING_MODELS stand-ins), or null if not one of them. */
|
|
63
|
+
export function gravewatchPropModel(prop) {
|
|
64
|
+
if (prop === GV_PROP.stone)
|
|
65
|
+
return 'questclue';
|
|
66
|
+
if (prop === GV_PROP.brazier)
|
|
67
|
+
return 'evwatchbrazier';
|
|
68
|
+
if (prop === GV_PROP.bell)
|
|
69
|
+
return 'questbeacon';
|
|
70
|
+
if (prop === GV_PROP.door)
|
|
71
|
+
return 'evoldstorechest';
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
/** What the game calls each prop (hover name, guide). */
|
|
75
|
+
export const GRAVEWATCH_QUEST_PROP_NAMES = {
|
|
76
|
+
[GV_STONE_WEST.style]: "Edric Hale's Headstone",
|
|
77
|
+
[GV_STONE_EAST.style]: "Maud Hale's Headstone",
|
|
78
|
+
[GV_STONE_STEPS.style]: "The Old Sexton's Headstone",
|
|
79
|
+
[GV_BRAZIER_WEST.style]: 'West Brazier',
|
|
80
|
+
[GV_BRAZIER_EAST.style]: 'East Brazier',
|
|
81
|
+
[GV_BRAZIER_STEPS.style]: 'Steps Brazier',
|
|
82
|
+
[GV_BELL.style]: "The Sexton's Bell",
|
|
83
|
+
[GV_DOOR.style]: 'The Mausoleum Door',
|
|
84
|
+
};
|
|
85
|
+
/** What a prop says when no step wants it. */
|
|
86
|
+
export const GRAVEWATCH_PROP_IDLE_LINES = {
|
|
87
|
+
[GV_PROP.stone]: 'Moss over a name. Whoever it was, they were loved once.',
|
|
88
|
+
[GV_PROP.brazier]: 'A cold iron brazier, black with old soot. Lit in the right order it would keep the dead down; lit for no reason it only wakes them.',
|
|
89
|
+
[GV_PROP.bell]: 'A small bronze bell on a post. Sexton Dunmore swears it has not rung on its own for years.',
|
|
90
|
+
[GV_PROP.door]: 'The mausoleum door: iron-banded oak, a ring of old lock where a seal once hung.',
|
|
91
|
+
};
|
|
92
|
+
/** The effect names the backend does on a wrong brazier (nothing extra: the clock is the punishment) - kept for the guide only. */
|
|
93
|
+
export const GRAVEWATCH_WRONG_BRAZIER_NOTICE = 'The wrong brazier! The flames gutter and go out, one after the other, and the graves round you stir. Start again from the first.';
|
|
94
|
+
/** The Ledger line for the final quest's page: the Tomb Warden's fall is a boss line (explorerLedger.ts LEDGER_BOSSES); the quests are derived. */
|
|
95
|
+
export const GRAVEWATCH_LEDGER_BOSS = { kind: 'skeletonwarden', label: 'The Tomb Warden' };
|
|
96
|
+
//# sourceMappingURL=gravewatchQuest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravewatchQuest.js","sourceRoot":"","sources":["../src/gravewatchQuest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Gravewatch's five quests as story quests (see gravewatchQuest.ts for the design). Their own file, five lines in storyQuests.ts
|
|
3
|
+
* STORY_QUESTS; types only from storyQuests.ts. Rewards are placeholders for the balance pass.
|
|
4
|
+
*/
|
|
5
|
+
import type { StoryQuestDef } from './storyQuests.js';
|
|
6
|
+
export declare const SEXTONS_LANTERN_QUEST: StoryQuestDef;
|
|
7
|
+
export declare const NAMES_ON_THE_STONES_QUEST: StoryQuestDef;
|
|
8
|
+
export declare const THREE_BRAZIERS_QUEST: StoryQuestDef;
|
|
9
|
+
export declare const THE_TOMB_WARDEN_QUEST: StoryQuestDef;
|
|
10
|
+
export declare const SEAL_THE_CRYPT_QUEST: StoryQuestDef;
|
|
11
|
+
//# sourceMappingURL=gravewatchQuestDefs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravewatchQuestDefs.d.ts","sourceRoot":"","sources":["../src/gravewatchQuestDefs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,kBAAkB,CAAC;AA2CnE,eAAO,MAAM,qBAAqB,EAAE,aAgCnC,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,aAmCvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aA2DlC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,aAkCnC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,aA4ClC,CAAC"}
|
|
@@ -0,0 +1,198 @@
|
|
|
1
|
+
import { GRAVEWATCH_SEXTON_KIND, GRAVEWATCH_SEXTON_NAME, TOMB_WARDEN_KIND, TOMB_WARDEN_NAME } from './gravewatch.js';
|
|
2
|
+
import { GRAVEWARDEN_SEAL_KIND, GRAVEWATCH_BRAZIER_ORDER, GRAVEWATCH_COMBAT_LEVELS, GRAVEWATCH_CRYPT_AREA, GRAVEWATCH_FINAL_GEAR, GRAVEWATCH_HOUNDS_TO_DEFEAT, GRAVEWATCH_REWARDS, GRAVEWATCH_RUN_MS, GRAVEWATCH_RUN_WARN_MS, GRAVEWATCH_STONES_TO_READ, GRAVEWATCH_WRONG_BRAZIER_NOTICE, GV_BELL, GV_BRAZIER_EAST, GV_BRAZIER_STEPS, GV_BRAZIER_WEST, GV_DOOR, GV_PROP, GV_STONE_EAST, GV_STONE_STEPS, GV_STONE_WEST, } from './gravewatchQuest.js';
|
|
3
|
+
const DUNMORE = { kind: GRAVEWATCH_SEXTON_KIND, name: GRAVEWATCH_SEXTON_NAME };
|
|
4
|
+
const COMBAT_SKILLS = ['strength', 'archery', 'precision'];
|
|
5
|
+
function rewards(r, extra = []) {
|
|
6
|
+
return {
|
|
7
|
+
coins: r.coins,
|
|
8
|
+
xp: { explorer: r.explorerXp },
|
|
9
|
+
...(r.choiceXp > 0 ? { choiceXp: { qty: r.choiceXp, skills: COMBAT_SKILLS } } : {}),
|
|
10
|
+
items: [...(r.silverBars > 0 ? [{ kind: 'silverbar', qty: r.silverBars }] : []), ...extra],
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
const gate = (q, prev, refuse) => ({
|
|
14
|
+
...(prev ? { quest: prev } : {}),
|
|
15
|
+
combat: GRAVEWATCH_COMBAT_LEVELS[q],
|
|
16
|
+
refuse,
|
|
17
|
+
});
|
|
18
|
+
export const SEXTONS_LANTERN_QUEST = {
|
|
19
|
+
giver: DUNMORE,
|
|
20
|
+
requires: gate('sextonsLantern', undefined, 'The grounds north of this post are Dreadwoods ground, friend, and the dead there bite. Come back when you can stand a fight on your own two feet (Combat 22).'),
|
|
21
|
+
offer: 'I am the sexton here, and the last of the Gravewatch: we used to count the dead going in and count them coming out, and between us nobody ever got up. Now the hounds run the graves and I cannot get to my own lantern at the gate. Will you thin them for me? Six will do for a start.',
|
|
22
|
+
accept: 'The Grave Hounds run the headstones inside the railing, north of this post. Anyone can strike you in those woods, so mind your back as well as the dogs. Silver bites the dead harder, if you can get any. Come and tell me when it is done.',
|
|
23
|
+
decline: 'Then keep inside the stakes, where nobody can strike you. I will be here, counting.',
|
|
24
|
+
steps: [
|
|
25
|
+
{
|
|
26
|
+
kind: 'kill',
|
|
27
|
+
npcKinds: ['gravehound'],
|
|
28
|
+
qty: GRAVEWATCH_HOUNDS_TO_DEFEAT,
|
|
29
|
+
npcLabel: 'Grave Hound',
|
|
30
|
+
label: `Put down ${GRAVEWATCH_HOUNDS_TO_DEFEAT} Grave Hounds`,
|
|
31
|
+
hint: 'The Grave Hounds (level 22) prowl the headstones inside the Crypt Grounds railing, north of the Gravewatch post. The woods are PvP and nobody may eat in a fight. They also count for Bruce\'s Grave Hound contract.',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
kind: 'talk',
|
|
35
|
+
npc: DUNMORE,
|
|
36
|
+
label: 'Tell Sexton Dunmore the hounds are thinned',
|
|
37
|
+
hint: 'Sexton Dunmore keeps the Gravewatch post, a safe pocket just south of the Crypt Grounds gate.',
|
|
38
|
+
say: 'Quieter already. I can hear the wind in the lantern again. I will not pretend that is all there is to it: the hounds were only the dogs of something worse. When you are ready, ask me about the names on the stones.',
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
done: 'There. A purse from the Gravewatch\'s box, such as it is. The lantern at the gate will burn tonight.',
|
|
42
|
+
after: 'The hounds come back, they always do. Ask me about the names on the stones when you are ready.',
|
|
43
|
+
rewards: rewards(GRAVEWATCH_REWARDS.sextonsLantern),
|
|
44
|
+
};
|
|
45
|
+
export const NAMES_ON_THE_STONES_QUEST = {
|
|
46
|
+
giver: DUNMORE,
|
|
47
|
+
requires: gate('namesOnTheStones', 'sextonsLantern', 'Thin the hounds first, then we can talk about the stones. Ask me again when the lantern burns.'),
|
|
48
|
+
offer: 'The old Gravewatch kept a rule for waking the braziers: three of them, lit in an order, or the graves wake wrong. The order is cut in three headstones inside the grounds, where the old sexton and the lamplighter and his wife lie. I cannot read them from here. Will you?',
|
|
49
|
+
accept: 'Walk in past the gate, through the hounds, and read three stones: the lamplighter on the west side, his wife on the east, and the old sexton near the steps. Then come back and tell me what they say.',
|
|
50
|
+
decline: 'Then the braziers stay cold and the graves stay wrong. I will keep the lantern lit.',
|
|
51
|
+
steps: [
|
|
52
|
+
{
|
|
53
|
+
kind: 'touch',
|
|
54
|
+
prop: GV_PROP.stone,
|
|
55
|
+
qty: GRAVEWATCH_STONES_TO_READ,
|
|
56
|
+
label: 'Read the three headstones in the Crypt Grounds',
|
|
57
|
+
hint: "The lamplighter's headstone is by the west railing, his wife's by the east railing, and the old sexton's near the mausoleum steps. Click each. Grave Hounds and the Crypt Knight walk these grounds, and the woods are PvP.",
|
|
58
|
+
notices: {
|
|
59
|
+
[GV_STONE_WEST.style]: 'Edric Hale, lamplighter. "He lit the west first, and went home."',
|
|
60
|
+
[GV_STONE_EAST.style]: 'Maud Hale. "She lit the east after him, and kept the oil."',
|
|
61
|
+
[GV_STONE_STEPS.style]: 'The old sexton. "And I lit the steps last, so the dead would know the way in."',
|
|
62
|
+
},
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
kind: 'talk',
|
|
66
|
+
npc: DUNMORE,
|
|
67
|
+
label: 'Tell Sexton Dunmore what the stones say',
|
|
68
|
+
hint: 'Sexton Dunmore keeps the Gravewatch post, south of the Crypt Grounds gate.',
|
|
69
|
+
say: 'West, east, and the steps last: just as the old Gravewatch did it. Light them in that order inside eight minutes, ring the sexton\'s bell, and the graves lie quiet for a night. Light them wrong and every flame goes out and the clock runs on. Ask me for the run when you are ready.',
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
done: 'Good eyes. Here is a bar of silver from the box: the dead mind it more than they mind steel.',
|
|
73
|
+
after: 'West, east and the steps last. Ask me for the run when you are ready.',
|
|
74
|
+
rewards: rewards(GRAVEWATCH_REWARDS.namesOnTheStones),
|
|
75
|
+
};
|
|
76
|
+
export const THREE_BRAZIERS_QUEST = {
|
|
77
|
+
giver: DUNMORE,
|
|
78
|
+
requires: gate('threeBraziers', 'namesOnTheStones', 'You do not know the order yet. Read the three headstones and bring me the names; then we will talk about the run (Combat 24).'),
|
|
79
|
+
offer: 'Eight minutes. The old Gravewatch tolled a bell every night to say the braziers were lit, and if the bell tolls first, the dead are up. You go in at the gate, light the west brazier, then the east, then the one by the mausoleum steps, ring the sexton\'s bell, and be back here before the clock is out. The hounds and the Knight walk those graves the whole time. Ready?',
|
|
80
|
+
accept: 'The clock starts now: eight minutes. Gate, west brazier, east brazier, steps brazier, the bell, then back to me. A wrong brazier puts them all out and you start the three again. If the clock beats you, the run is lost and I will offer it again.',
|
|
81
|
+
decline: 'Wise, perhaps. The run waits whenever you are ready, but the clock starts the moment you say yes.',
|
|
82
|
+
clock: {
|
|
83
|
+
durationMs: GRAVEWATCH_RUN_MS,
|
|
84
|
+
warnAtMs: GRAVEWATCH_RUN_WARN_MS,
|
|
85
|
+
warn: '{left} left on the Gravewatch. Next: {next}.',
|
|
86
|
+
fail: 'The bell tolls before you finish. The braziers gutter and the graves settle, still wrong. The run is lost: go back to Sexton Dunmore and he will offer it again.',
|
|
87
|
+
},
|
|
88
|
+
steps: [
|
|
89
|
+
{
|
|
90
|
+
kind: 'reach',
|
|
91
|
+
area: GRAVEWATCH_CRYPT_AREA,
|
|
92
|
+
at: { x: 320, z: 650, label: 'the Crypt Grounds gate' },
|
|
93
|
+
label: 'Go in through the Crypt Grounds gate',
|
|
94
|
+
hint: 'The gate is a gap in the south railing, due north of the Gravewatch post. The clock is running.',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
kind: 'touch',
|
|
98
|
+
prop: GV_PROP.brazier,
|
|
99
|
+
qty: GRAVEWATCH_BRAZIER_ORDER.length,
|
|
100
|
+
order: GRAVEWATCH_BRAZIER_ORDER,
|
|
101
|
+
wrong: { notice: GRAVEWATCH_WRONG_BRAZIER_NOTICE },
|
|
102
|
+
label: 'Light the west, east and steps braziers in that order',
|
|
103
|
+
hint: 'West brazier by the west railing, east brazier by the east railing, then the one by the mausoleum steps. Wrong order puts them all out.',
|
|
104
|
+
notices: {
|
|
105
|
+
[GV_BRAZIER_WEST.style]: 'The west brazier catches. One lit.',
|
|
106
|
+
[GV_BRAZIER_EAST.style]: 'The east brazier catches and answers the first. Two lit.',
|
|
107
|
+
[GV_BRAZIER_STEPS.style]: 'The steps brazier catches, and the three burn together. The graves hush. Ring the sexton\'s bell.',
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
kind: 'touch',
|
|
112
|
+
prop: GV_PROP.bell,
|
|
113
|
+
qty: 1,
|
|
114
|
+
label: "Ring the sexton's bell by the mausoleum steps",
|
|
115
|
+
hint: 'The small bronze bell on a post just east of the mausoleum steps.',
|
|
116
|
+
notices: { [GV_BELL.style]: 'You ring the bell. It is thin and clear, and every grave in the grounds seems to listen. Now back to the post, quickly.' },
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
kind: 'talk',
|
|
120
|
+
npc: DUNMORE,
|
|
121
|
+
label: 'Run back to Sexton Dunmore before the clock is out',
|
|
122
|
+
hint: 'Sexton Dunmore waits at the Gravewatch post, a safe pocket south of the gate.',
|
|
123
|
+
say: 'I heard it ring from here, and I have not heard that bell in thirty years. The graves are quiet. But the quiet is the Warden of the mausoleum listening: he does not like it when the sexton\'s bell rings.',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
done: 'Faster than the last one who tried. Here is the Gravewatch\'s purse and two bars of silver.',
|
|
127
|
+
after: 'Quiet graves. The Warden will be next, I think.',
|
|
128
|
+
rewards: rewards(GRAVEWATCH_REWARDS.threeBraziers),
|
|
129
|
+
};
|
|
130
|
+
export const THE_TOMB_WARDEN_QUEST = {
|
|
131
|
+
giver: DUNMORE,
|
|
132
|
+
requires: gate('theTombWarden', 'threeBraziers', 'The Warden of the mausoleum is more than the hounds were. Light the three braziers first, then come back (Combat 26).'),
|
|
133
|
+
offer: 'The Tomb Warden was a man once, one of the Gravewatch, and the rust keeps him at the mausoleum wall. He is stirred now, and he has the seal that shuts the door. Every fourth blow he swings the bar down so hard you can hear it from here: he lifts it first, and a ring closes round him. Step out of his reach and it misses. Bring me his seal.',
|
|
134
|
+
accept: 'He stands at the mausoleum\'s west side, nine paces from the Knight. Step out of his reach when you see the ring, and bring food: you cannot eat in a fight in these woods, so eat before you start. Silver blades bite the dead harder.',
|
|
135
|
+
decline: 'Then rest at the post. The Warden will still be there.',
|
|
136
|
+
steps: [
|
|
137
|
+
{
|
|
138
|
+
kind: 'kill',
|
|
139
|
+
npcKinds: [TOMB_WARDEN_KIND],
|
|
140
|
+
qty: 1,
|
|
141
|
+
npcLabel: TOMB_WARDEN_NAME,
|
|
142
|
+
label: `Put down ${TOMB_WARDEN_NAME}`,
|
|
143
|
+
hint: 'He stands at the west side of the mausoleum inside the Crypt Grounds (level 26). Every fourth blow is a Tomb Hammer, announced a full turn ahead: step out of his reach before it lands and it misses. The woods are PvP.',
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
kind: 'deliver',
|
|
147
|
+
npc: DUNMORE,
|
|
148
|
+
items: [{ kinds: [GRAVEWARDEN_SEAL_KIND], qty: 1, label: "Gravewarden's Seal" }],
|
|
149
|
+
label: "Bring Sexton Dunmore the Gravewarden's Seal",
|
|
150
|
+
hint: "The Tomb Warden drops the seal every time. Sexton Dunmore keeps the Gravewatch post, south of the gate.",
|
|
151
|
+
say: 'The seal. I thought I would never hold it again. The Warden is down, but the Knight on the plaza still holds the crypt: one more thing to do. Ask me when you are ready.',
|
|
152
|
+
short: 'The seal, friend, not a story about it. The Tomb Warden drops it every time.',
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
done: 'The Warden rests. Here is the purse, and three bars of silver for a blade.',
|
|
156
|
+
after: 'The Warden is down. Only the Knight is left, and the door.',
|
|
157
|
+
rewards: rewards(GRAVEWATCH_REWARDS.theTombWarden),
|
|
158
|
+
};
|
|
159
|
+
export const SEAL_THE_CRYPT_QUEST = {
|
|
160
|
+
giver: DUNMORE,
|
|
161
|
+
requires: gate('sealTheCrypt', 'theTombWarden', 'The Warden first. Come back with his seal and we will talk about the door (Combat 28).'),
|
|
162
|
+
offer: 'The Crypt Knight keeps the plaza and keeps the crypt open. Put him down and set the Warden\'s seal in the mausoleum door, and the Gravewatch is over: I can finally stop counting. He lifts his blade in both hands, and a cold ring closes round him; step clear and the cleave misses. Will you finish it?',
|
|
163
|
+
accept: 'I have cast a new seal from the Warden\'s broken one. The Knight stands on the plaza, in the middle of the grounds; the mausoleum door is on the steps at the north end. Fell the Knight, set the seal in the door, then come to me.',
|
|
164
|
+
decline: 'Then the door stays open. I will go on counting.',
|
|
165
|
+
onAccept: [{ kind: GRAVEWARDEN_SEAL_KIND, qty: 1, ifMissing: true }],
|
|
166
|
+
keep: [{ kind: GRAVEWARDEN_SEAL_KIND, untilStep: 2, say: 'You lost the seal? I can cast another from the broken one. Do not lose this one: the door will not take anything else.' }],
|
|
167
|
+
steps: [
|
|
168
|
+
{
|
|
169
|
+
kind: 'kill',
|
|
170
|
+
npcKinds: ['cryptknight'],
|
|
171
|
+
qty: 1,
|
|
172
|
+
npcLabel: 'Crypt Knight',
|
|
173
|
+
label: 'Put down the Crypt Knight',
|
|
174
|
+
hint: 'The Crypt Knight (level 28) keeps the plaza in the middle of the grounds. Every fourth blow is a cleave announced by a cold ring: step out of his reach and it misses. The woods are PvP and nobody eats in a fight.',
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
kind: 'touch',
|
|
178
|
+
prop: GV_PROP.door,
|
|
179
|
+
qty: 1,
|
|
180
|
+
label: 'Set the Gravewarden\'s Seal in the mausoleum door',
|
|
181
|
+
hint: 'The mausoleum door is at the foot of the steps at the north end of the grounds.',
|
|
182
|
+
takes: [{ kinds: [GRAVEWARDEN_SEAL_KIND], qty: 1, label: "the Gravewarden's Seal" }],
|
|
183
|
+
short: 'The door wants its seal set in the lock. Sexton Dunmore keeps a spare if you have lost it.',
|
|
184
|
+
notices: { [GV_DOOR.style]: 'You press the seal into the old lock. It turns, a long cold click, and the iron bands settle. The crypt is shut.' },
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
kind: 'talk',
|
|
188
|
+
npc: DUNMORE,
|
|
189
|
+
label: 'Tell Sexton Dunmore the crypt is sealed',
|
|
190
|
+
hint: 'Sexton Dunmore keeps the Gravewatch post, south of the gate.',
|
|
191
|
+
say: 'Sealed. I felt it from here. I will go on counting out of habit, but there is nothing left to count. Take this: it is silver, and it was the Warden\'s own. The Gravewatch is over.',
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
done: 'The Gravewatch is over, and the book of it is closed. Here is the last of the box, and a silver blade for the dead that still walk elsewhere.',
|
|
195
|
+
after: 'The crypt is shut. I count the stars now, though they are no better company.',
|
|
196
|
+
rewards: rewards(GRAVEWATCH_REWARDS.sealTheCrypt, [{ kind: GRAVEWATCH_FINAL_GEAR, qty: 1 }]),
|
|
197
|
+
};
|
|
198
|
+
//# sourceMappingURL=gravewatchQuestDefs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gravewatchQuestDefs.js","sourceRoot":"","sources":["../src/gravewatchQuestDefs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groundItems.d.ts","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"groundItems.d.ts","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAE,SAAS,MAAM,EA0L9C,CAAC;AAIF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAO,CAAC;AAI5D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE3D;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,yEAAyE;AACzE,eAAO,MAAM,sBAAsB,QAAQ,CAAC;AAC5C,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,MAAM,SAAsB,GAC3B,MAAM,CAKR"}
|
package/dist/groundItems.js
CHANGED
package/dist/groundItems.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"groundItems.js","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"groundItems.js","sourceRoot":"","sources":["../src/groundItems.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -137,6 +137,9 @@ export * from './gallowmere.js';
|
|
|
137
137
|
export * from './gallowmereFolk.js';
|
|
138
138
|
export * from './gallowmereCreatures.js';
|
|
139
139
|
export * from './gallowmereQuest.js';
|
|
140
|
+
export * from './gravewatch.js';
|
|
141
|
+
export * from './gravewatchQuest.js';
|
|
142
|
+
export * from './gravewatchQuestDefs.js';
|
|
140
143
|
export * from './redWasteCreatures.js';
|
|
141
144
|
export * from './redWasteQuest.js';
|
|
142
145
|
export * from './brindlecrossFolk.js';
|
|
@@ -188,4 +191,6 @@ export * from './gullhookQuestDef.js';
|
|
|
188
191
|
export * from './rosterDelta.js';
|
|
189
192
|
export * from './saltmereWildlife.js';
|
|
190
193
|
export * from './saltmereQuest.js';
|
|
194
|
+
export * from './calvertonExtension.js';
|
|
195
|
+
export * from './calvertonQuestDef.js';
|
|
191
196
|
//# sourceMappingURL=index.d.ts.map
|