@dreadwood-types/types 0.1.328 → 0.1.330

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.
Files changed (46) hide show
  1. package/dist/areaGates.d.ts.map +1 -1
  2. package/dist/areaGates.js +14 -0
  3. package/dist/areaGates.js.map +1 -1
  4. package/dist/areaTransitions.d.ts +1 -1
  5. package/dist/areaTransitions.d.ts.map +1 -1
  6. package/dist/areaTransitions.js +12 -0
  7. package/dist/areaTransitions.js.map +1 -1
  8. package/dist/blackwakeCoast.d.ts.map +1 -1
  9. package/dist/blackwakeCoast.js +25 -0
  10. package/dist/blackwakeCoast.js.map +1 -1
  11. package/dist/constants.d.ts.map +1 -1
  12. package/dist/constants.js +38 -1
  13. package/dist/constants.js.map +1 -1
  14. package/dist/crescentQueen.d.ts +185 -0
  15. package/dist/crescentQueen.d.ts.map +1 -0
  16. package/dist/crescentQueen.js +212 -0
  17. package/dist/crescentQueen.js.map +1 -0
  18. package/dist/gullsRook.d.ts +5 -2
  19. package/dist/gullsRook.d.ts.map +1 -1
  20. package/dist/gullsRook.js +7 -4
  21. package/dist/gullsRook.js.map +1 -1
  22. package/dist/index.d.ts +2 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +2 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/messages.d.ts +9 -0
  27. package/dist/messages.d.ts.map +1 -1
  28. package/dist/messages.js.map +1 -1
  29. package/dist/pirateTreasure.d.ts.map +1 -1
  30. package/dist/pirateTreasure.js +7 -0
  31. package/dist/pirateTreasure.js.map +1 -1
  32. package/dist/portBlackwake.d.ts +97 -0
  33. package/dist/portBlackwake.d.ts.map +1 -0
  34. package/dist/portBlackwake.js +171 -0
  35. package/dist/portBlackwake.js.map +1 -0
  36. package/dist/quests.d.ts.map +1 -1
  37. package/dist/quests.js +13 -0
  38. package/dist/quests.js.map +1 -1
  39. package/dist/smugglersStrand.d.ts.map +1 -1
  40. package/dist/smugglersStrand.js +5 -0
  41. package/dist/smugglersStrand.js.map +1 -1
  42. package/dist/storyQuests.d.ts +8 -2
  43. package/dist/storyQuests.d.ts.map +1 -1
  44. package/dist/storyQuests.js +116 -6
  45. package/dist/storyQuests.js.map +1 -1
  46. package/package.json +2 -2
@@ -15,6 +15,7 @@
15
15
  * A `choiceXp` reward is a lump the player puts into any skill they pick,
16
16
  * from a picker that stays open (and is saved) until they choose.
17
17
  */
18
+ import { PB_GULL_ROOM, PB_JETTY_END, PB_PROP, PB_SIGNAL, PB_SUPPLIES, PB_TAVERN_CAPTAIN_NAME, portBlackwakePropModel } from './portBlackwake.js';
18
19
  import { BRINE_TRICORN_KIND, MARIGOLD_STRONGBOX_KIND, SEA_CAVE_OUTSIDE, SMUGGLER_CAPTAIN_KIND, SMUGGLER_CAPTAIN_NAME, } from './smugglersStrand.js';
19
20
  import { CORVIN_SATCHEL_PROP, CORVINS_NOTES_KIND, PESTLE_AND_MORTAR_KIND, VIAL_OF_WATER_KIND, } from './potionMaking.js';
20
21
  import { SUNDERED_SPAN_STAGES } from './southExpansion.js';
@@ -67,6 +68,7 @@ import { BC_PROP, BC_SUPPLY_DITCH, BC_SUPPLY_RUTS, BC_SUPPLY_VERGE, MARKED_BUNDL
67
68
  import { BOAR_KIND, HEDGE_THIEF_KIND } from './brindlecrossWildlife.js';
68
69
  import { GM_ANSWER, GM_CACHE, GM_LAMP, GM_OIL_CASK, GM_PROP2, GM_STONE_ORDER, GM_STONES, KEEPER_ADA_NAME, SEA_GROTTO_AT, SEA_GROTTO_REACH, SIGNAL_LANTERN_KIND, gullsLowWaterPropModel, } from './gullsLowWater.js';
69
70
  import { BOSUN_HARROW_NAME, CAPTAIN_ROWENA_NAME, FORT_ROOK_APPROACH_AT, FORT_ROOK_APPROACH_REACH, FORT_ROOK_YARD_AT, FORT_ROOK_YARD_REACH, GULLS_ROOK_COMBAT, rowenaHoardPropModel, } from './gullsRook.js';
71
+ import { CQ_PLANK_FOOT_LEGACY } from './crescentQueen.js';
70
72
  import { GM_CORMORANT_AT, GM_CORMORANT_DECK, GM_DECK_CHEST, GM_MOUNDS, GM_PROP, GM_STRONGBOX, GM_WRECK_CHEST, OLD_MERRICK_NAME, TIDE_TABLE_KIND, TORN_MAP_KIND, WRECK_CHEST_KEY_KIND, gullsMapPropModel, } from './gullsMap.js';
71
73
  import { CHASM_PROWLER_KIND, RAIDER_CHIEF_KIND, RAIDER_CHIEF_NAME, RED_WASTE_SCAVENGER_KIND, RED_WASTE_SCAVENGER_NAME, WASTE_RAIDER_KIND } from './redWasteCreatures.js';
72
74
  import { BANDIT_TOKEN_KIND, CHASM_SHARD_KIND, RAIDERS_PROWLERS_TO_DEFEAT, RAIDERS_QUEST_COMBAT_LEVEL, RAIDERS_RAIDERS_TO_DEFEAT, RAIDERS_REWARD, RAIDERS_SHARDS, RAIDERS_TOKENS, RW_CRATES, RAIDERS_CRATES_TO_BREAK, RW_MARKER_A, RW_MARKER_B, RW_MARKER_C, RW_PROP, TORN_BANNER_KIND, redWastePropModel, } from './redWasteQuest.js';
@@ -256,6 +258,9 @@ export const STORY_QUEST_IDS = [
256
258
  'tideOfBlood',
257
259
  // The Sundered Coast, part 3 (gullsRook.ts): Keeper Ada's Captain's Gate, Fort Rook and Captain Rowena, levels 28-32.
258
260
  'gullsFortRook',
261
+ // Port Blackwake (portBlackwake.ts), pirate bay phase 3: Quartermaster Kit's Crooked Gull, then Map-reader Iona's Guarded Jetty.
262
+ 'theCrookedGull',
263
+ 'theGuardedJetty',
259
264
  // The Dreadwoods' east-gate warden (gatewardenRounds.ts): The Gatewarden's Rounds, levels 22-35.
260
265
  'gatewardenRounds',
261
266
  // Riversend Halt, the third stop (riversendQuest.ts): Branik Stonecoil's quest, A Stronger Bridge.
@@ -578,6 +583,10 @@ export function questPropModel(style) {
578
583
  const gullsMap = gullsMapPropModel(prop);
579
584
  if (gullsMap)
580
585
  return gullsMap;
586
+ // Port Blackwake (portBlackwake.ts): the stolen supplies and the jetty's signal lantern.
587
+ const port = portBlackwakePropModel(prop);
588
+ if (port)
589
+ return port;
581
590
  const gullsLow = gullsLowWaterPropModel(prop);
582
591
  if (gullsLow)
583
592
  return gullsLow;
@@ -3746,7 +3755,7 @@ export const STORY_QUESTS = {
3746
3755
  refuse: "Fort Rook has seen the signal, but the Captain does not wait for the slow. Finish what we started in the grotto first, and come back with Combat 28 and your own food: nobody eats the way they like in that yard.",
3747
3756
  },
3748
3757
  offer: "Two and two, and nothing after. That means Rowena is waiting for whoever sent it. She keeps a bosun at the gate, Harrow, a man who has never in his life let anyone through who did not look away first, and then the yard, and then the Captain herself with her crew to whistle up. She is a better fighter than any of them and she knows it. Will you go and answer the signal?",
3749
- accept: "Go east along the shore to Fort Rook, to the open ground in front of its gate. Harrow keeps the north wall. Beat him, walk the yard and face the Captain. When she whistles, her fort crew come into the yard and shoot from the posts: keep out of her reach when she puts her fingers to her lips and the whistle's volley goes wide. And eat before you go in.",
3758
+ accept: "Go east along the shore to Fort Rook, to the open ground in front of its gate. Harrow keeps the north wall. Beat him and walk the yard. If the Captain is not in it, she has gone to her flagship, the Crescent Queen, at the end of Port Blackwake's jetty: board her and fight down deck by deck to the lowest hold. When she whistles, her crew come down the ladders and shoot: keep out of her reach when she puts her fingers to her lips and the volley goes wide. And eat before you go in.",
3750
3759
  decline: 'Then rest, and let the light burn. The fort will still be there.',
3751
3760
  steps: [
3752
3761
  {
@@ -3770,23 +3779,23 @@ export const STORY_QUESTS = {
3770
3779
  area: FORT_ROOK_YARD_REACH,
3771
3780
  at: { ...FORT_ROOK_YARD_AT },
3772
3781
  label: "Cross Fort Rook's yard",
3773
- hint: 'Walk in through the gate lane to the middle of the yard, where the Captain waits before her cabin.',
3782
+ hint: "Walk in through the gate lane to the middle of the yard, before the Captain's cabin.",
3774
3783
  },
3775
3784
  {
3776
3785
  kind: 'kill',
3777
3786
  npcKinds: ['captainrowena'],
3778
3787
  qty: 1,
3779
3788
  npcLabel: CAPTAIN_ROWENA_NAME,
3780
- label: `Defeat ${CAPTAIN_ROWENA_NAME}`,
3781
- hint: `${CAPTAIN_ROWENA_NAME} (level 32) stands before her cabin. When she whistles, her crew answer: stay at her side and the volley lands, step out of her reach and it goes wide. Then her hoard chest on the cabin's forecourt is yours to open.`,
3782
- place: { ...FORT_ROOK_YARD_AT },
3789
+ label: `Defeat ${CAPTAIN_ROWENA_NAME} aboard the Crescent Queen`,
3790
+ hint: `The yard is empty: ${CAPTAIN_ROWENA_NAME} (level 32) has gone to her flagship, the Crescent Queen, moored at the end of Port Blackwake's guarded jetty. Boarding takes Combat 28 and The Guarded Jetty (Map-reader Iona at the Castaway Camp). Beat her crew deck by deck, down the hatches to the lowest hold. When she whistles, her crew come down the ladders: stay at her side and the volley lands, step out of her reach and it goes wide. Then her hoard chest at the back of the hold is yours to open.`,
3791
+ place: { ...CQ_PLANK_FOOT_LEGACY, label: "the Crescent Queen's plank" },
3783
3792
  },
3784
3793
  {
3785
3794
  kind: 'talk',
3786
3795
  npc: { kind: NAMED_STORY_NPC_KIND, name: KEEPER_ADA_NAME },
3787
3796
  label: 'Tell Keeper Ada the Captain is beaten',
3788
3797
  hint: 'Keeper Ada tends Saltmark Light at the east end of the coast, on the headland above the light cove.',
3789
- say: "You are standing, and Fort Rook is quiet. I did not think I would see that. The coast is not safe, it never will be, but it has had its last Captain for a good while. Whatever she kept in that cabin is yours by right: the chest answers to whoever put her down, and nobody else's hands.",
3798
+ say: "You are standing, and the Crescent Queen's hold is quiet. I did not think I would see that. The coast is not safe, it never will be, but it has had its last Captain for a good while. Whatever she kept in that hold is yours by right: the chest answers to whoever put her down, and nobody else's hands.",
3790
3799
  },
3791
3800
  ],
3792
3801
  done: "Take this, and keep the Captain's hoard for yourself: it is yours alone, and it will fill again. The light is yours to use whenever you like.",
@@ -4833,6 +4842,107 @@ export const STORY_QUESTS = {
4833
4842
  after: "Not a crow on Crowfield all week. Old Mumble's insufferable about it.",
4834
4843
  rewards: { coins: 90, xp: { explorer: 300 }, choiceXp: { qty: 250, skills: STORY_COMBAT_SKILLS } },
4835
4844
  },
4845
+ // ---- Port Blackwake (portBlackwake.ts): pirate bay phase 3, the hostile town's two quests from the Castaway Camp ----------
4846
+ theCrookedGull: {
4847
+ giver: { kind: NAMED_STORY_NPC_KIND, name: 'Quartermaster Kit' },
4848
+ requires: {
4849
+ combat: 12,
4850
+ refuse: "The Crooked Gull is a Blackwake den, and every pirate in Port Blackwake attacks on sight. Come back when you can stand a brawl (Combat 12); the deckhands in there are level 15 and their captain 20, so Combat 18 is the safe number.",
4851
+ },
4852
+ offer: "The Blackwakes raided our stores and carried the crates into the Crooked Gull, their brawl den by Port Blackwake's beach, west of the Landing. Rope, salt, seed, the lot. Go in through the quay door, break up the crew drinking on our goods, and find our crates behind the bar. Will you?",
4853
+ accept: "Mind the Tavern Captain, Garrick Mott. He sits at the back with his boots on a table and a blade on his knee. Bring me word when the crates are ours again.",
4854
+ decline: 'Then we go without, as castaways do.',
4855
+ steps: [
4856
+ {
4857
+ kind: 'kill',
4858
+ npcKinds: ['blackwakedeckhand'],
4859
+ qty: 3,
4860
+ npcLabel: 'Blackwake Deckhand in the Crooked Gull',
4861
+ inArea: { minX: PB_GULL_ROOM.minX - 1, maxX: PB_GULL_ROOM.maxX + 1, minZ: PB_GULL_ROOM.minZ - 2, maxZ: PB_GULL_ROOM.maxZ + 1 },
4862
+ label: 'Beat three deckhands in the Crooked Gull',
4863
+ hint: "The Crooked Gull stands by Port Blackwake's beach, west of the Landing, its door on the quay side. Every pirate in the town attacks on sight: deckhands are level 15, cutthroats 20.",
4864
+ },
4865
+ {
4866
+ kind: 'kill',
4867
+ npcKinds: ['cutthroat'],
4868
+ qty: 1,
4869
+ npcLabel: PB_TAVERN_CAPTAIN_NAME,
4870
+ inArea: { minX: PB_GULL_ROOM.minX - 1, maxX: PB_GULL_ROOM.maxX + 1, minZ: PB_GULL_ROOM.minZ - 2, maxZ: PB_GULL_ROOM.maxZ + 1 },
4871
+ label: `Beat ${PB_TAVERN_CAPTAIN_NAME}`,
4872
+ hint: 'The Tavern Captain keeps the back of the brawl room, by the bar (level 20).',
4873
+ },
4874
+ {
4875
+ kind: 'touch',
4876
+ prop: PB_PROP.supplies,
4877
+ qty: 1,
4878
+ label: 'Search the stolen supplies behind the bar',
4879
+ hint: "The castaways' crates are stacked behind the Crooked Gull's bar, at the back of the brawl room.",
4880
+ notices: {
4881
+ [PB_SUPPLIES.style]: "Three crates stamped with the camp's teal mark: rope, sea salt and seed, and a bundle of torn sea charts stuffed in for padding. The castaways can carry the crates home tonight.",
4882
+ },
4883
+ },
4884
+ {
4885
+ kind: 'talk',
4886
+ npc: { kind: NAMED_STORY_NPC_KIND, name: 'Quartermaster Kit' },
4887
+ label: 'Tell Quartermaster Kit the supplies are found',
4888
+ hint: 'Quartermaster Kit keeps the supply awning at the Castaway Camp, east of the Landing.',
4889
+ say: "All three? Out of a brawl den full of Blackwakes. Here, these scraps of chart were stuffed in with the seed: you will make more of them than I will.",
4890
+ },
4891
+ ],
4892
+ done: "That's the camp fed through the winter. The Blackwakes will remember your face; so will we.",
4893
+ after: 'Map-reader Iona has been watching the Blackwakes\' jetty from her table. Ask her about it.',
4894
+ // Rewards are placeholders (the balance pass comes last).
4895
+ rewards: {
4896
+ coins: 250,
4897
+ xp: { explorer: 400 },
4898
+ choiceXp: { qty: 500, skills: STORY_COMBAT_SKILLS },
4899
+ items: [{ kind: 'chartscrap', qty: 2 }],
4900
+ },
4901
+ },
4902
+ theGuardedJetty: {
4903
+ giver: { kind: NAMED_STORY_NPC_KIND, name: 'Map-reader Iona' },
4904
+ requires: {
4905
+ quest: 'theCrookedGull',
4906
+ combat: 15,
4907
+ refuse: "Help Quartermaster Kit with the Crooked Gull first, and come back when you can face the cutthroats on the Blackwakes' jetty (Combat 15; they are level 20).",
4908
+ },
4909
+ offer: "From my table I can see the Blackwakes' long jetty run north into the channel from Port Blackwake's beach, and a lantern burning at its end every night. They are waiting for something big. Walk the jetty, past the guards at its end, and read that signal lantern for me.",
4910
+ accept: 'Up the shore steps on the west beach and out along the planks. Two cutthroats and a lookout keep the end platform.',
4911
+ decline: 'Then I will keep watching, and guessing.',
4912
+ steps: [
4913
+ {
4914
+ kind: 'reach',
4915
+ area: PB_JETTY_END,
4916
+ at: { x: 605, z: 1024, label: 'the end of the guarded jetty' },
4917
+ label: 'Fight your way to the end of the guarded jetty',
4918
+ hint: "Climb the shore steps off Port Blackwake's west beach and walk the jetty north into the channel to its end platform.",
4919
+ },
4920
+ {
4921
+ kind: 'touch',
4922
+ prop: PB_PROP.signal,
4923
+ qty: 1,
4924
+ label: 'Read the signal lantern on the end platform',
4925
+ hint: "The signal lantern stands on the jetty's end platform.",
4926
+ notices: {
4927
+ [PB_SIGNAL.style]: 'The lantern is shuttered in red, and a slate hangs under it in Blackwake chalk: SHE COMES IN ON THE HIGH TIDE. MOOR HER HERE. Whatever ship this jetty was built for, she is coming to Port Blackwake.',
4928
+ },
4929
+ },
4930
+ {
4931
+ kind: 'talk',
4932
+ npc: { kind: NAMED_STORY_NPC_KIND, name: 'Map-reader Iona' },
4933
+ label: 'Tell Map-reader Iona what the lantern said',
4934
+ hint: 'Map-reader Iona keeps the map table at the Castaway Camp, east of the Landing.',
4935
+ say: "Moor her here... Rowena's own ship, then: the big one they talk of in whispers. When she berths, she will be the hardest fight on this coast. Keep that cutlass sharp.",
4936
+ },
4937
+ ],
4938
+ done: 'Now we know what they are waiting for. That is worth more than any chart.',
4939
+ after: "Watch the end of the Blackwakes' jetty. When the big ship comes, that is where she will lie.",
4940
+ rewards: {
4941
+ coins: 350,
4942
+ xp: { explorer: 600 },
4943
+ choiceXp: { qty: 700, skills: STORY_COMBAT_SKILLS },
4944
+ },
4945
+ },
4836
4946
  };
4837
4947
  /** One hand-in of Five Arches: a `deliver` step to Osmund whose goods, Woodwork level and effect come from SUNDERED_SPAN_STAGES. */
4838
4948
  function spanStageStep(stage, label, hint, say, short) {