@maka/maka-cli 5.73.0 → 5.75.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.
Files changed (126) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/_index.d.ts +0 -4
  3. package/bundle/typescript/src/commands/game/_index.js +6 -5
  4. package/bundle/typescript/src/commands/game/_index.js.map +1 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js +6 -6
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/backlog.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.d.ts +2 -0
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +26 -7
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +29 -2
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +10 -5
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/move.d.ts +42 -0
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +288 -46
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +8 -0
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js +20 -15
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/search.js.map +1 -1
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.js +8 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/snoop.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.d.ts +48 -0
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.js +135 -0
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/sustain.js.map +1 -0
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +10 -2
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js +9 -8
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/tap.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.d.ts +83 -0
  31. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js +253 -0
  32. package/bundle/typescript/src/commands/game/sideQuest/factories/chargen-factory.js.map +1 -0
  33. package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js +116 -3
  34. package/bundle/typescript/src/commands/game/sideQuest/factories/repro-scene.js.map +1 -1
  35. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +3 -0
  36. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  37. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +21 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
  39. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +61 -0
  40. package/bundle/typescript/src/commands/game/sideQuest/game.js +146 -23
  41. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/headless.js +48 -5
  43. package/bundle/typescript/src/commands/game/sideQuest/headless.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +35 -0
  45. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +46 -0
  46. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  47. package/bundle/typescript/src/commands/game/sideQuest/types/repro.d.ts +158 -3
  48. package/bundle/typescript/src/commands/game/sideQuest/types/repro.js +24 -1
  49. package/bundle/typescript/src/commands/game/sideQuest/types/repro.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js +33 -3
  51. package/bundle/typescript/src/commands/game/sideQuest/utilities/ar.js.map +1 -1
  52. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-dump.js +8 -8
  53. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-dump.js.map +1 -1
  54. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.d.ts +4 -2
  55. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js +15 -3
  56. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog-vocab.js.map +1 -1
  57. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.d.ts +6 -0
  58. package/bundle/typescript/src/commands/game/sideQuest/utilities/backlog.js.map +1 -1
  59. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.d.ts +24 -0
  60. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js +31 -0
  61. package/bundle/typescript/src/commands/game/sideQuest/utilities/fuzzy-match.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-names.d.ts +63 -0
  63. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-names.js +104 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-names.js.map +1 -0
  65. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +4 -3
  66. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  67. package/bundle/typescript/src/commands/game/sideQuest/utilities/identity.d.ts +26 -0
  68. package/bundle/typescript/src/commands/game/sideQuest/utilities/identity.js +37 -0
  69. package/bundle/typescript/src/commands/game/sideQuest/utilities/identity.js.map +1 -1
  70. package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.d.ts +19 -0
  71. package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.js +22 -0
  72. package/bundle/typescript/src/commands/game/sideQuest/utilities/map-view.js.map +1 -1
  73. package/bundle/typescript/src/commands/game/sideQuest/utilities/marks.js +2 -1
  74. package/bundle/typescript/src/commands/game/sideQuest/utilities/marks.js.map +1 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/utilities/repro-launch.d.ts +1 -1
  76. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.d.ts +71 -18
  77. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js +109 -21
  78. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-grid.js.map +1 -1
  79. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.d.ts +38 -0
  80. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js +46 -0
  81. package/bundle/typescript/src/commands/game/sideQuest/utilities/room-view.js.map +1 -1
  82. package/bundle/typescript/src/commands/game/sideQuest/utilities/splash.d.ts +6 -0
  83. package/bundle/typescript/src/commands/game/sideQuest/utilities/splash.js +60 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/utilities/splash.js.map +1 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.d.ts +31 -0
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js +41 -0
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/spots.js.map +1 -1
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.d.ts +29 -0
  89. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js +33 -0
  90. package/bundle/typescript/src/commands/game/sideQuest/utilities/web-character-generator.js.map +1 -0
  91. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js +16 -11
  92. package/bundle/typescript/src/commands/game/sideQuest-backlog.sub.cmd.js.map +1 -1
  93. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.d.ts +1 -0
  94. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js +100 -42
  95. package/bundle/typescript/src/commands/game/sideQuest.sub.cmd.js.map +1 -1
  96. package/bundle/typescript/src/commands/registry.js +1 -1
  97. package/bundle/typescript/src/commands/registry.js.map +1 -1
  98. package/bundle/typescript/src/commands/set/global.sub.cmd.js +1 -20
  99. package/bundle/typescript/src/commands/set/global.sub.cmd.js.map +1 -1
  100. package/bundle/typescript/src/generator.js +1 -0
  101. package/bundle/typescript/src/generator.js.map +1 -1
  102. package/bundle/typescript/src/templates/meteor/collection/tests.js +1 -1
  103. package/bundle/typescript/src/templates/meteor/collection/tests.js.ts +1 -1
  104. package/bundle/typescript/src/templates/react/test/test.js.jsx +31 -29
  105. package/bundle/typescript/src/templates/react/test/test.js.tsx +31 -29
  106. package/bundle/typescript/src/tools/browser/open-browser.d.ts +7 -0
  107. package/bundle/typescript/src/tools/browser/open-browser.js +21 -0
  108. package/bundle/typescript/src/tools/browser/open-browser.js.map +1 -0
  109. package/bundle/typescript/src/tools/pkg/pkg.class.js +12 -1
  110. package/bundle/typescript/src/tools/pkg/pkg.class.js.map +1 -1
  111. package/package.json +1 -1
  112. package/bundle/typescript/src/commands/game/battleship.sub.cmd.d.ts +0 -1
  113. package/bundle/typescript/src/commands/game/battleship.sub.cmd.js +0 -12
  114. package/bundle/typescript/src/commands/game/battleship.sub.cmd.js.map +0 -1
  115. package/bundle/typescript/src/commands/game/play.command.d.ts +0 -3
  116. package/bundle/typescript/src/commands/game/play.command.js +0 -18
  117. package/bundle/typescript/src/commands/game/play.command.js.map +0 -1
  118. package/bundle/typescript/src/commands/game/pong.sub.cmd.d.ts +0 -1
  119. package/bundle/typescript/src/commands/game/pong.sub.cmd.js +0 -12
  120. package/bundle/typescript/src/commands/game/pong.sub.cmd.js.map +0 -1
  121. package/bundle/typescript/src/commands/game/snake.sub.cmd.d.ts +0 -1
  122. package/bundle/typescript/src/commands/game/snake.sub.cmd.js +0 -12
  123. package/bundle/typescript/src/commands/game/snake.sub.cmd.js.map +0 -1
  124. package/bundle/typescript/src/commands/game/tetris.sub.cmd.d.ts +0 -1
  125. package/bundle/typescript/src/commands/game/tetris.sub.cmd.js +0 -12
  126. package/bundle/typescript/src/commands/game/tetris.sub.cmd.js.map +0 -1
@@ -2,7 +2,7 @@ import { Command } from './command.js';
2
2
  import { hint } from '../utilities/hints.js';
3
3
  import { planeTintItemName, emphasizeFind, canReachHost, objectiveMark } from '../utilities/planes.js';
4
4
  import { rollPool, formatRoll } from '../utilities/dice.js';
5
- import { canReach, exitSpot, spotsActive, revealWithPerception, theSpot, spotOf, pathBetweenSpots, blockingRegion, terrainRefusal, } from '../utilities/spots.js';
5
+ import { canReach, exitSpot, spotsActive, revealWithPerception, theSpot, sealedRouteTo, } from '../utilities/spots.js';
6
6
  import { placeName } from '../utilities/log-style.js';
7
7
  /**
8
8
  * Barrier rendering (2026-08-24 playtest: "I don't see THE THING I'm
@@ -54,20 +54,16 @@ function describeBarriers(room, actor) {
54
54
  // seals it and the verb that clears it, in the voice the move
55
55
  // already uses (utilities/spots.ts terrainRefusal), rather than
56
56
  // sending the player at a wall.
57
- // The pathfind comes FIRST and is not optional: blockingRegionFor
58
- // answers "would clearing this region open a path", never "is the
59
- // way shut", so it names a region even when the route is already
60
- // open. Every other call site (move.ts, ensureAtSpot) gates it
61
- // behind a failed pathBetweenSpots for that reason, and the first
62
- // cut of this fix did not -- which would have reported a seal on
63
- // a room you could walk straight across.
64
- const mine = spotOf(actor);
65
- const sealed = mine !== undefined && !pathBetweenSpots(room, mine, anchor)
66
- ? blockingRegion(room, mine, anchor)
67
- : undefined;
68
- const advice = sealed
69
- ? terrainRefusal(sealed.region, anchor, sealed.device)
70
- : `Too far to work from here -- "move to ${anchor}" for a proper look.`;
57
+ // THE ORDERING NOW LIVES IN sealedRouteTo, not here. The pathfind
58
+ // comes FIRST and is not optional: blockingRegionFor answers
59
+ // "would clearing this region open a path", never "is the way
60
+ // shut", so it names a region even when the route is already open.
61
+ // The first cut of this fix got that wrong and would have reported
62
+ // a seal on a room you could walk straight across -- which is
63
+ // exactly the kind of thing three sibling copies would each have
64
+ // had to rediscover. One copy, one place to be right.
65
+ const sealed = sealedRouteTo(room, actor, anchor);
66
+ const advice = sealed ?? `Too far to work from here -- "move to ${anchor}" for a proper look.`;
71
67
  out += `
72
68
 
73
69
  ${header}
@@ -171,6 +167,15 @@ export class SearchCommand extends Command {
171
167
  }
172
168
  if (elsewhereSpots.length > 0) {
173
169
  description += `\nSomething catches your eye over at the ${elsewhereSpots.join(', the ')} -- worth a closer look from there.`;
170
+ // "FROM THERE" HAS TO BE SOMEWHERE YOU CAN GET (2D6uZWqiWn9Mrhunc).
171
+ // The barrier listing above this one was fixed for exactly this and
172
+ // this line was left: it decides with canReach (spot equality) and
173
+ // then recommends a crossing the route may refuse. Only when EVERY
174
+ // named spot is sealed -- one walkable spot makes the advice true.
175
+ const seals = elsewhereSpots.map(s => sealedRouteTo(room, this.actor, s));
176
+ if (seals.length > 0 && seals.every(s => s !== undefined)) {
177
+ description += ` ${seals[0]}`;
178
+ }
174
179
  }
175
180
  // Casing a room turns up PEOPLE, not just goods: the same roll runs
176
181
  // against anyone tucked at a cover-tagged spot, and whoever it beats
@@ -1 +1 @@
1
- {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAC9D,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,GACzD,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAItD;;;;;;;GAOG;AACH,SAAS,gBAAgB,CAAC,IAAU,EAAE,KAAa;IACjD,gEAAgE;IAChE,sEAAsE;IACtE,qEAAqE;IACrE,qEAAqE;IACrE,mEAAmE;IACnE,oEAAoE;IACpE,kEAAkE;IAClE,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAE,CAAC;IACxC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM;eACvB,CAAC,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,SAAsB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QACzG,sDAAsD;QACtD,6DAA6D;QAC7D,8DAA8D;QAC9D,kEAAkE;QAClE,mEAAmE;QACnE,iEAAiE;QACjE,6DAA6D;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChF,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,MAAM,MAAM,GAAG,uBAAuB,MAAM,CAAC,IAAI,eAAe,OAAO,GAAG,EAAE,EAAE,CAAC;QAC/E,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YACvC,+DAA+D;YAC/D,2DAA2D;YAC3D,EAAE;YACF,8DAA8D;YAC9D,8DAA8D;YAC9D,iEAAiE;YACjE,6DAA6D;YAC7D,6DAA6D;YAC7D,+DAA+D;YAC/D,mCAAmC;YACnC,EAAE;YACF,4DAA4D;YAC5D,iEAAiE;YACjE,+DAA+D;YAC/D,8DAA8D;YAC9D,gEAAgE;YAChE,gCAAgC;YAChC,kEAAkE;YAClE,kEAAkE;YAClE,iEAAiE;YACjE,+DAA+D;YAC/D,kEAAkE;YAClE,iEAAiE;YACjE,yCAAyC;YACzC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;gBACxE,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC;gBACpC,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,MAAM,GAAG,MAAM;gBACnB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtD,CAAC,CAAC,yCAAyC,MAAM,sBAAsB,CAAC;YAC1E,GAAG,IAAI;;EAEX,MAAM;IACJ,MAAM,EAAE,CAAC;YACP,SAAS;QACX,CAAC;QACD,GAAG,IAAI;;EAET,MAAM;EACN,MAAM,CAAC,WAAW,EAAE,CAAC;QACnB,iEAAiE;QACjE,6DAA6D;QAC7D,iEAAiE;QACjE,OAAO;QACP,EAAE;QACF,mEAAmE;QACnE,kEAAkE;QAClE,mEAAmE;QACnE,kEAAkE;QAClE,cAAc;QACd,MAAM,IAAI,GAAG;YACX,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC;YACnD,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACpE,CAAC;QACF,GAAG,IAAI;aACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,SAAS;YAAE,GAAG,IAAI,SAAS,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,IAAI,CAAC;QAChF,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;QAC/B,IAAI,KAAK;YAAE,GAAG,IAAI;EACpB,KAAK,EAAE,CAAC;IACR,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,OAAO,aAAc,SAAQ,OAAO;IAC9B,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,WAAW,GAAG,+BAA+B,CAAC;IAE/D,KAAK,CAAC,OAAO,CAAC,KAAe;QAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QAExC,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,qEAAqE;QACrE,6BAA6B;QAC7B,oEAAoE;QACpE,gEAAgE;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ;YAC9C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;YACpF,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;QAC1F,kEAAkE;QAClE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpG,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChL,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAE5B,gEAAgE;QAChE,+DAA+D;QAC/D,sBAAsB;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,QAAQ;YAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;QAEvE,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,GAAG,UAAU,qDAAqD,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAChH,CAAC;QAED,iEAAiE;QACjE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACrC,oEAAoE;QACpE,qEAAqE;QACrE,yEAAyE;QACzE,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK;eACpC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC;YACxD,2DAA2D;YAC3D,4DAA4D;eACzD,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC;aACzD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1E,4DAA4D;QAC5D,6DAA6D;QAC7D,+DAA+D;QAC/D,oDAAoD;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC,CAAC,CAAC,CAAC;QAC9G,IAAI,WAAW,GAAG,UAAU,CAAC;QAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,WAAW,IAAI,2DAA2D,CAAC;QAC7E,CAAC;aAAM,CAAC;YACN,oEAAoE;YACpE,8DAA8D;YAC9D,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9I,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,CAAC,IAAI,+BAA+B,SAAS,EAAE,CAAC,CAAC;YAC/F,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9C,WAAW,IAAI,iCAAiC,WAAW,EAAE,CAAC;QAChE,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,WAAW,IAAI,4CAA4C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAChI,CAAC;QAED,oEAAoE;QACpE,qEAAqE;QACrE,mEAAmE;QACnE,gCAAgC;QAChC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,WAAW,IAAI,yBAAyB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,oCAAoC,CAAC;QAC5L,CAAC;QAED,uEAAuE;QACvE,oEAAoE;QACpE,uEAAuE;QACvE,mEAAmE;QACnE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YAC3E,WAAW,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW;gBAC9C,CAAC,CAAC,wGAAwG;gBAC1G,CAAC,CAAC,IAAI,CAAC,8GAA8G,CAAC,CAAC;QAC3H,CAAC;QAED,oEAAoE;QACpE,uDAAuD;QACvD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,aAAa;eAC5D,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YACpE,WAAW,IAAI,0JAA0J,CAAC;QAC5K,CAAC;QAED,qEAAqE;QACrE,iEAAiE;QACjE,kBAAkB;QAClB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,EAAE,CAAC;YAChG,WAAW,IAAI,IAAI,CAAC,UAAU,KAAK,OAAO;gBACxC,CAAC,CAAC,6DAA6D,IAAI,CAAC,2CAA2C,CAAC,YAAY;gBAC5H,CAAC,CAAC,gGAAgG,IAAI,CAAC,8BAA8B,CAAC,YAAY,CAAC;QACvJ,CAAC;QAED,WAAW,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAElD,OAAO,WAAW,CAAC;IACrB,CAAC"}
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/search.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { Command } from './command.js';
2
2
  import { fuzzyPickName } from '../utilities/fuzzy-match.js';
3
+ import { matchesCameraName } from '../utilities/grid-names.js';
3
4
  import { isWatched, camerasLive, canSnoopFeeds } from '../utilities/surveillance.js';
4
5
  import { shellsInRoom } from '../utilities/planes.js';
5
6
  import { hint } from '../utilities/hints.js';
@@ -25,7 +26,13 @@ export class SnoopCommand extends Command {
25
26
  const allRooms = this.rooms ?? {};
26
27
  const query = (args ?? []).join(' ').trim();
27
28
  let target = actor.currentLocation;
28
- if (query.length > 0) {
29
+ // A CAMERA WORD MEANS "HERE" (QpxiAiwQw96q3mfL7). The icon line
30
+ // names the object "Camera cluster" and offers snoop in the same
31
+ // breath, so the label has to resolve -- and a cluster is not a
32
+ // separate place, it is this room's cameras. Checked BEFORE the
33
+ // room lookup: no room is ever called "cameras", and failing that
34
+ // lookup is exactly what produced the reported refusal.
35
+ if (query.length > 0 && !matchesCameraName(query)) {
29
36
  const picked = fuzzyPickName(query, Object.values(allRooms).map(r => r.name));
30
37
  const hit = picked ? Object.values(allRooms).find(r => r.name === picked) : undefined;
31
38
  if (!hit)
@@ -1 +1 @@
1
- {"version":3,"file":"snoop.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/snoop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snoop.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/snoop.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { Command, ICommand } from './command.js';
2
+ /**
3
+ * SUSTAIN COMPLEX FORM (SR5 p.256, a REGISTERED SPRITE TASK) --
4
+ * "sustain [<form>]".
5
+ *
6
+ * Canon, verbatim: "A registered sprite can sustain a complex form for
7
+ * you, so it takes the penalty from sustaining instead of you. Every
8
+ * task you use for this purpose lets the sprite sustain your complex
9
+ * form for up to its Level in Combat Turns. You can then take over
10
+ * sustaining again if you want."
11
+ *
12
+ * THE PENALTY MOVES, WHICH IS THE ENTIRE POINT. A held form costs its
13
+ * holder -2 dice on everything (Player.sustainingPenalty), and a
14
+ * technomancer who wants two forms up is walking around half-blind.
15
+ * This is the book's answer, and it is the only reason to spend a task
16
+ * on it. So the implementation MOVES the entry from the technomancer's
17
+ * sustainedForms onto the sprite's -- the sprite is an NPC, NPC extends
18
+ * Player, and every pool it rolls already subtracts sustainingPenalty.
19
+ * The burden lands where canon puts it without a second mechanism.
20
+ *
21
+ * TAKING IT BACK IS FREE, and toggling on the same word is how this
22
+ * codebase already spells a two-way switch (cast.ts's armor releases by
23
+ * casting again). The book gives take-over no cost, so neither does
24
+ * this.
25
+ *
26
+ * WHAT IS NOT MODELLED, named rather than papered over: the DURATION.
27
+ * Canon buys "up to its Level in Combat Turns" per task, and this
28
+ * engine has no combat-turn clock at all -- there is no counter to
29
+ * decrement, and inventing one to hold a single feature would be a
30
+ * turn-engine change wearing a sprite task's clothes. What the engine
31
+ * does have is the task economy, so the form stays with the sprite
32
+ * until you take it back or the sprite goes (see
33
+ * Game.returnSustainedForms). That is more generous than the book on
34
+ * duration and exactly right on cost; the deviation is stated here so
35
+ * the next reader does not have to discover it.
36
+ *
37
+ * THE FORM COMES HOME WHEN THE SPRITE DOES. A sprite that is dismissed,
38
+ * killed, or sent to standby hands its held forms back to its owner
39
+ * rather than taking them into the Resonance. Without that, the one
40
+ * command in the game that MOVES a form off the player would be the one
41
+ * command that can silently destroy it -- and the loss would look
42
+ * exactly like a form that had been dropped on purpose.
43
+ */
44
+ export declare class SustainCommand extends Command implements ICommand {
45
+ protected static verb: string;
46
+ protected static description: string;
47
+ execute(args?: string[]): Promise<string>;
48
+ }
@@ -0,0 +1,135 @@
1
+ import { Command } from './command.js';
2
+ import { hint } from '../utilities/hints.js';
3
+ import { fuzzyPickName } from '../utilities/fuzzy-match.js';
4
+ /**
5
+ * SUSTAIN COMPLEX FORM (SR5 p.256, a REGISTERED SPRITE TASK) --
6
+ * "sustain [<form>]".
7
+ *
8
+ * Canon, verbatim: "A registered sprite can sustain a complex form for
9
+ * you, so it takes the penalty from sustaining instead of you. Every
10
+ * task you use for this purpose lets the sprite sustain your complex
11
+ * form for up to its Level in Combat Turns. You can then take over
12
+ * sustaining again if you want."
13
+ *
14
+ * THE PENALTY MOVES, WHICH IS THE ENTIRE POINT. A held form costs its
15
+ * holder -2 dice on everything (Player.sustainingPenalty), and a
16
+ * technomancer who wants two forms up is walking around half-blind.
17
+ * This is the book's answer, and it is the only reason to spend a task
18
+ * on it. So the implementation MOVES the entry from the technomancer's
19
+ * sustainedForms onto the sprite's -- the sprite is an NPC, NPC extends
20
+ * Player, and every pool it rolls already subtracts sustainingPenalty.
21
+ * The burden lands where canon puts it without a second mechanism.
22
+ *
23
+ * TAKING IT BACK IS FREE, and toggling on the same word is how this
24
+ * codebase already spells a two-way switch (cast.ts's armor releases by
25
+ * casting again). The book gives take-over no cost, so neither does
26
+ * this.
27
+ *
28
+ * WHAT IS NOT MODELLED, named rather than papered over: the DURATION.
29
+ * Canon buys "up to its Level in Combat Turns" per task, and this
30
+ * engine has no combat-turn clock at all -- there is no counter to
31
+ * decrement, and inventing one to hold a single feature would be a
32
+ * turn-engine change wearing a sprite task's clothes. What the engine
33
+ * does have is the task economy, so the form stays with the sprite
34
+ * until you take it back or the sprite goes (see
35
+ * Game.returnSustainedForms). That is more generous than the book on
36
+ * duration and exactly right on cost; the deviation is stated here so
37
+ * the next reader does not have to discover it.
38
+ *
39
+ * THE FORM COMES HOME WHEN THE SPRITE DOES. A sprite that is dismissed,
40
+ * killed, or sent to standby hands its held forms back to its owner
41
+ * rather than taking them into the Resonance. Without that, the one
42
+ * command in the game that MOVES a form off the player would be the one
43
+ * command that can silently destroy it -- and the loss would look
44
+ * exactly like a form that had been dropped on purpose.
45
+ */
46
+ export class SustainCommand extends Command {
47
+ static verb = 'sustain';
48
+ static description = 'Hand a complex form you are holding to a registered sprite, which sustains it for you and takes the -2 instead (SR5 p.256): "sustain <form>". Costs ONE task. Say it again to take the form back, free. A sprite that leaves hands its forms back to you.';
49
+ async execute(args = []) {
50
+ const game = this.game;
51
+ if (!game)
52
+ return `Not here.`;
53
+ const actor = this.actor;
54
+ if (!actor.isTechnomancer()) {
55
+ return `Complex forms are Resonance, and the Resonance doesn't answer to you.`;
56
+ }
57
+ const sprites = game.companions.filter(c => c.kind === 'sprite' && c.registered);
58
+ const holders = sprites.filter(c => (c.npc.sustainedForms?.length ?? 0) > 0);
59
+ const query = (args ?? []).map(w => w.toLowerCase())
60
+ .filter(w => !/^(a|an|the|form|on|to|my)$/.test(w)).join(' ').trim();
61
+ // Bare "sustain": the ledger. Who is holding what, and what it is
62
+ // costing whom -- the two numbers the decision turns on.
63
+ if (query.length === 0) {
64
+ const mine = actor.sustainedForms;
65
+ const lines = [];
66
+ if (holders.length > 0) {
67
+ for (const h of holders) {
68
+ lines.push(` ${h.npc.name} (Level ${h.force}) holds ${h.npc.sustainedForms.map(f => f.key).join(', ')} -- ${h.npc.sustainedForms.length * 2} dice off THEIR pools, none off yours.`);
69
+ }
70
+ }
71
+ if (mine.length === 0 && lines.length === 0) {
72
+ return `You hold no complex forms, and nothing of yours is holding one for you.${hint(` ("thread <form>" weaves one.)`)}`;
73
+ }
74
+ const yours = mine.length > 0
75
+ ? `You are sustaining ${mine.map(f => f.key).join(', ')} yourself -- ${mine.length * 2} dice off everything you do.`
76
+ : `You are sustaining nothing yourself.`;
77
+ const offer = mine.length > 0 && sprites.length > 0
78
+ ? hint(`\n("sustain <form>" hands one to a registered sprite for a task.)`)
79
+ : '';
80
+ return [yours, ...lines].join('\n') + offer;
81
+ }
82
+ // Named a form the sprite already holds: take it back. Free, and
83
+ // checked BEFORE the hand-off path so the same word toggles.
84
+ for (const h of holders) {
85
+ const held = fuzzyPickName(query, h.npc.sustainedForms.map(f => f.key));
86
+ if (held) {
87
+ const idx = h.npc.sustainedForms.findIndex(f => f.key === held);
88
+ const form = h.npc.sustainedForms[idx];
89
+ h.npc.sustainedForms.splice(idx, 1);
90
+ actor.sustainedForms.push(form);
91
+ actor.performAction('takes back a complex form', `${form.key} from ${h.npc.name}`);
92
+ this.scene.updateStatus();
93
+ return `You take ${form.key} back off ${h.npc.name}. The weave is yours again, and so is the -2.`;
94
+ }
95
+ }
96
+ const mine = actor.sustainedForms;
97
+ if (mine.length === 0) {
98
+ return `You are holding no complex form to hand over.${hint(` ("thread <form>" weaves one first.)`)}`;
99
+ }
100
+ const pickedKey = fuzzyPickName(query, mine.map(f => f.key));
101
+ if (!pickedKey) {
102
+ return `You are not holding anything by that name. Yours: ${mine.map(f => f.key).join(', ')}.`;
103
+ }
104
+ if (sprites.length === 0) {
105
+ const compiled = game.companions.some(c => c.kind === 'sprite');
106
+ return compiled
107
+ ? `Only a REGISTERED sprite can carry a form for you -- a compiled one owes you tasks it cannot spend this way (p.256).${hint(` ("register" binds it.)`)}`
108
+ : `No registered sprite of yours is here to take it.${hint(` ("compile <type> <level>", then "register".)`)}`;
109
+ }
110
+ // Which sprite. Named-form-only is the common case, so a single
111
+ // registered sprite is chosen silently; two make you say.
112
+ let target = sprites[0];
113
+ if (sprites.length > 1) {
114
+ const named = fuzzyPickName(query, sprites.map(s => s.npc.name));
115
+ if (!named) {
116
+ return `Which sprite should carry it? Registered and here: ${sprites.map(s => `"${s.npc.name}"`).join(', ')}. ("sustain <form> <sprite>")`;
117
+ }
118
+ target = sprites.find(s => s.npc.name === named);
119
+ }
120
+ const owed = target.services ?? 0;
121
+ if (owed < 1) {
122
+ return `${target.npc.name} owes you nothing more -- there is no task left to spend on carrying a form.${hint(` ("register" it again would buy more, if the book let you; for now, compile another.)`)}`;
123
+ }
124
+ const idx = mine.findIndex(f => f.key === pickedKey);
125
+ const form = mine[idx];
126
+ mine.splice(idx, 1);
127
+ target.npc.sustainedForms.push(form);
128
+ target.services = owed - 1;
129
+ const left = target.services;
130
+ actor.performAction('hands off a complex form', `${form.key} to ${target.npc.name}`);
131
+ this.scene.updateStatus();
132
+ return `${target.npc.name} takes ${form.key} onto itself -- the weave holds, and the -2 is ITS burden now, not yours. One task spent; ${left === 0 ? 'none' : left} ${left === 1 ? 'task' : 'tasks'} still owed.${hint(` ("sustain ${form.key}" takes it back, free.)`)}`;
133
+ }
134
+ }
135
+ //# sourceMappingURL=sustain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sustain.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/sustain.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { Command } from './command.js';
2
2
  import { canReachHost } from '../utilities/planes.js';
3
- import { canReach, ensureAtSpot } from '../utilities/spots.js';
3
+ import { canReach, ensureAtSpot, sealedRouteTo } from '../utilities/spots.js';
4
4
  import { hint } from '../utilities/hints.js';
5
5
  export class TakeCommand extends Command {
6
6
  static verb = 'take';
@@ -82,7 +82,15 @@ export class TakeCommand extends Command {
82
82
  items = items.filter(i => canReach(this.actor, i.atSpot));
83
83
  if (items.length === 0 && outOfReach.length > 0) {
84
84
  const spotsWith = [...new Set(outOfReach.map(i => i.atSpot))];
85
- return `Nothing within reach -- the goods are over at the ${spotsWith.join(', the ')}. ("move to ${spotsWith[0]}")`;
85
+ // ADVERTISE A WALK YOU CAN ACTUALLY TAKE (2D6uZWqiWn9Mrhunc). This
86
+ // line decided with canReach -- spot EQUALITY -- while the walk it
87
+ // suggests is gated by a ROUTE, so goods behind blocking terrain
88
+ // got "move to X" and `move` answered that X was sealed. The
89
+ // listing sent the player at the wall. See sealedRouteTo.
90
+ const sealed = sealedRouteTo(room, this.actor, spotsWith[0]);
91
+ return sealed
92
+ ? `Nothing within reach -- the goods are over at the ${spotsWith.join(', the ')}. ${sealed}`
93
+ : `Nothing within reach -- the goods are over at the ${spotsWith.join(', the ')}. ("move to ${spotsWith[0]}")`;
86
94
  }
87
95
  const lines = [`You sweep ${room.name}:`];
88
96
  let tookAnything = false;
@@ -1 +1 @@
1
- {"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/take.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"take.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/take.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Command } from './command.js';
2
+ import { hostLabel } from '../utilities/grid-names.js';
2
3
  import { rollPool, formatRoll } from '../utilities/dice.js';
3
4
  import { accrueOverwatch } from '../utilities/overwatch.js';
4
5
  import { MAX_MARKS } from '../utilities/marks.js';
@@ -71,11 +72,11 @@ export class TapCommand extends Command {
71
72
  return `You get the housing open and find... a wire to a box on the wall. These are dumb recorders -- no host on this site for them to answer to, nothing on the other end of your cable but tape. ${hint(`Whatever they saw, they saw locally.`)}`;
72
73
  }
73
74
  if (host.hostCracked) {
74
- return `You could -- but the ${host.name} host is already cracked wide open, and these lenses answer to you through it. Save the cable.${hint(` ("snoop ${room.name}" rides the feeds.)`)}`;
75
+ return `You could -- but ${hostLabel(host)} is already cracked wide open, and these lenses answer to you through it. Save the cable.${hint(` ("snoop ${room.name}" rides the feeds.)`)}`;
75
76
  }
76
77
  const held = host.hostMarksBy.get(actor.name) ?? 0;
77
78
  if (held >= MAX_MARKS) {
78
- return `You already hold ${MAX_MARKS} marks on the ${host.name} host -- it thinks you belong. Another key would not fit on the ring.${hint(` ("hack" walks you in.)`)}`;
79
+ return `You already hold ${MAX_MARKS} marks on ${hostLabel(host)} -- it thinks you belong. Another key would not fit on the ring.${hint(` ("hack" walks you in.)`)}`;
79
80
  }
80
81
  // THE ROLL. The camera defends with its OWN ratings, not the host's
81
82
  // (p.233) -- that is what the cable bought -- so the threshold sits
@@ -110,11 +111,11 @@ export class TapCommand extends Command {
110
111
  // its master, which is the same alarm hack.ts raises.
111
112
  host.hostAlert = true;
112
113
  actor.sneaking = false;
113
- this.scene.addWorldEvent(`Something forced the cameras in ${room.name} -- the ${host.name} host flagged an intrusion and its ice is hunting.`);
114
+ this.scene.addWorldEvent(`Something forced the cameras in ${room.name} -- ${hostLabel(host)} flagged an intrusion and its ice is hunting.`);
114
115
  this.scene.updateStatus();
115
116
  return [
116
117
  `The housing's tamper line trips under your fingers.`,
117
- ` The camera reports itself -- and the ${host.name} host believes it. Walls UP: it holds a mark on your persona now, everything guarding this place knows someone is on the wire, and you are no longer moving unnoticed.`,
118
+ ` The camera reports itself -- and ${hostLabel(host)} believes it. Walls UP: it holds a mark on your persona now, everything guarding this place knows someone is on the wire, and you are no longer moving unnoticed.`,
118
119
  ...godLines,
119
120
  ].join('\n');
120
121
  }
@@ -145,12 +146,12 @@ export class TapCommand extends Command {
145
146
  host.hostMarksBy.set(actor.name, now);
146
147
  if (mode === 'attack') {
147
148
  actor.sneaking = false;
148
- this.scene.addWorldEvent(`${actor.name} forced the cameras in ${room.name} -- the ${host.name} host felt it go.`);
149
+ this.scene.addWorldEvent(`${actor.name} forced the cameras in ${room.name} -- ${hostLabel(host)} felt it go.`);
149
150
  }
150
151
  this.logger.write(`${actor.name} now holds ${now} mark(s) on ${host.name} via the ${room.name} cameras.`);
151
152
  const lines = [
152
153
  `{cyan-fg}The filament finds the connector and the camera stops being a camera -- it's a device, and it's talking to you.{/cyan-fg}`,
153
- ` {cyan-fg}It never gets to hide behind the ${host.name} host: a cable doesn't ask the network for permission, so the lens has to defend itself with what a lens has. It doesn't have much.{/cyan-fg}`,
154
+ ` {cyan-fg}It never gets to hide behind ${hostLabel(host)}: a cable doesn't ask the network for permission, so the lens has to defend itself with what a lens has. It doesn't have much.{/cyan-fg}`,
154
155
  ` {cyan-fg}MARK PLACED -- and it lands on the host too. The camera answers to ${host.name}, and anything ${host.name} trusts to speak for it just handed you a key. [${now}/${MAX_MARKS}]{/cyan-fg}`,
155
156
  ];
156
157
  if (mode === 'attack') {
@@ -162,10 +163,10 @@ export class TapCommand extends Command {
162
163
  if (host === room) {
163
164
  lines.push(` {cyan-fg}${now >= MAX_MARKS
164
165
  ? `The host thinks you belong now -- "hack" walks straight in.`
165
- : `The ${host.name} host cracks easier with every key you hold${hint(` -- "jack in" and "hack", or come back for another lens`)}.`}{/cyan-fg}`);
166
+ : `${hostLabel(host, { capital: true })} cracks easier with every key you hold${hint(` -- "jack in" and "hack", or come back for another lens`)}.`}{/cyan-fg}`);
166
167
  }
167
168
  else {
168
- lines.push(` {cyan-fg}These lenses ride the site network, so the key fits the ${host.name} host${hint(` -- "jack in", "go ${host.name}", "hack"`)}.{/cyan-fg}`);
169
+ lines.push(` {cyan-fg}These lenses ride the site network, so the key fits ${hostLabel(host)}${hint(` -- "jack in", "go ${host.name}", "hack"`)}.{/cyan-fg}`);
169
170
  }
170
171
  // A mark is all canSnoopFeeds ever wanted (surveillance.ts).
171
172
  lines.push(` {cyan-fg}And the eyes are half yours already${hint(` -- jacked in, "snoop <room>" rides any feed on this network`)}.{/cyan-fg}`);
@@ -1 +1 @@
1
- {"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/tap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/tap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { Player } from '../models/player.js';
2
+ import type { ISaveFileV1 } from '../types/save-file.js';
3
+ import type { ISceneSeedJson } from '../types/seed/scene-seed.js';
4
+ /**
5
+ * THE ENGINE-SIDE CHARACTER FACTORY -- one payload in, one bootable save
6
+ * out, so the maka-cli.com web generator and the CLI cannot produce
7
+ * different runners from the same description.
8
+ *
9
+ * WHAT THIS IS NOT, because the obvious reading is wrong in two places
10
+ * and both were proposed before the code was read:
11
+ *
12
+ * - It is NOT `Game.buildSaveFile()` parameterised. That is a PRIVATE
13
+ * method on a LIVE game and it serialises contacts, gig pools, rumor
14
+ * indices, sprites and crew. A fresh character has none of that.
15
+ * - It is NOT "the path the CLI's creation walks". ui.ts builds a
16
+ * Player, calls outfitArchetype, and boots a Game; NO SAVE IS WRITTEN
17
+ * AT CREATION. The first save comes later, from a running game. There
18
+ * was no existing path to parameterise.
19
+ *
20
+ * What it IS: the same shape ui.ts uses to build the Player, then
21
+ * `serializePlayer` -- the exported serialiser the live game itself
22
+ * uses (utilities/persistence.ts) -- to write the player block. Sharing
23
+ * that function rather than restating it is the point: a second
24
+ * serialiser is a second thing to drift.
25
+ *
26
+ * DO NOT MODEL A SAVE ON headless-harness.ts's `save()`. It casts
27
+ * through `as unknown as ISaveFileV1` and omits savedAt, reason,
28
+ * summary, hubSeed and hub. It boots in tests and would be unreadable
29
+ * to the launcher's Continue menu.
30
+ */
31
+ /**
32
+ * THE PAYLOAD, frozen and co-owned with maka-cli.com. Version it here
33
+ * because the engine is the side that has to honour it -- same
34
+ * discipline as REPRO_SCHEMA_VERSION.
35
+ *
36
+ * BUMPING: MINOR for a new optional field; MAJOR when an existing field
37
+ * changes meaning or stops being honoured.
38
+ */
39
+ export declare const CHARGEN_FACTORY_VERSION = "1.0.0";
40
+ export type ChargenGender = 'male' | 'female';
41
+ export interface IChargenSkill {
42
+ [engineSkillName: string]: number;
43
+ }
44
+ export interface IChargenPayload {
45
+ playerName: string;
46
+ /** The engine models this as a two-value enum, not free text -- see
47
+ * Player.gender. Validated at runtime as well as typed, because a
48
+ * payload arrives as JSON over a wire where a TS type enforces
49
+ * nothing. */
50
+ gender?: ChargenGender;
51
+ combat: Record<string, unknown> & {
52
+ skills?: IChargenSkill;
53
+ };
54
+ qualities?: string[];
55
+ augmentations?: {
56
+ key: string;
57
+ grade?: string;
58
+ }[];
59
+ /** Catalog slugs, from utilities/catalog-data.ts. */
60
+ gear?: {
61
+ slug: string;
62
+ qty?: number;
63
+ }[];
64
+ /** ADVISORY ONLY -- see the karma/nuyen note below. Supplied so the
65
+ * web generator's arithmetic can be CHECKED, not so it can win. */
66
+ karma?: number;
67
+ nuyen?: number;
68
+ }
69
+ export declare class ChargenPayloadError extends Error {
70
+ constructor(message: string);
71
+ }
72
+ /**
73
+ * Builds the Player a payload describes. Exported separately from the
74
+ * save so a caller that wants the live object (a preview, a dossier)
75
+ * does not have to serialise and re-read one.
76
+ */
77
+ export declare function buildPlayerFromChargen(payload: IChargenPayload): Player;
78
+ /**
79
+ * The payload's save. `hubSeed` is the SHIPPED scene2 seed by ruling --
80
+ * it is embedded rather than referenced so a resume never depends on
81
+ * scene2.json still existing or still matching.
82
+ */
83
+ export declare function createNewCharacterSave(payload: IChargenPayload, hubSeed: ISceneSeedJson): ISaveFileV1;