@maka/maka-cli 5.116.0 → 5.118.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 (104) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js +6 -1
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/attack.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js +3 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js.map +1 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js +3 -6
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/decompile.js.map +1 -1
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/download.js +24 -6
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/download.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.d.ts +7 -1
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.js +34 -23
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/enter-host.js.map +1 -1
  13. package/bundle/typescript/src/commands/game/sideQuest/commands/go.d.ts +7 -7
  14. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js +30 -50
  15. package/bundle/typescript/src/commands/game/sideQuest/commands/go.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js +42 -19
  17. package/bundle/typescript/src/commands/game/sideQuest/commands/hack.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/commands/hop.d.ts +16 -0
  19. package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js +95 -0
  20. package/bundle/typescript/src/commands/game/sideQuest/commands/hop.js.map +1 -0
  21. package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js +3 -1
  22. package/bundle/typescript/src/commands/game/sideQuest/commands/jack.js.map +1 -1
  23. package/bundle/typescript/src/commands/game/sideQuest/commands/jackpoint.js +5 -7
  24. package/bundle/typescript/src/commands/game/sideQuest/commands/jackpoint.js.map +1 -1
  25. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js +40 -8
  26. package/bundle/typescript/src/commands/game/sideQuest/commands/look.js.map +1 -1
  27. package/bundle/typescript/src/commands/game/sideQuest/commands/map.d.ts +6 -0
  28. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js +21 -74
  29. package/bundle/typescript/src/commands/game/sideQuest/commands/map.js.map +1 -1
  30. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js +44 -17
  31. package/bundle/typescript/src/commands/game/sideQuest/commands/mark.js.map +1 -1
  32. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js +1 -1
  33. package/bundle/typescript/src/commands/game/sideQuest/commands/move.js.map +1 -1
  34. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js +2 -0
  35. package/bundle/typescript/src/commands/game/sideQuest/commands/rest.js.map +1 -1
  36. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js +8 -5
  37. package/bundle/typescript/src/commands/game/sideQuest/commands/say.js.map +1 -1
  38. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js +2 -1
  39. package/bundle/typescript/src/commands/game/sideQuest/commands/sheet.js.map +1 -1
  40. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js +20 -2
  41. package/bundle/typescript/src/commands/game/sideQuest/commands/take.js.map +1 -1
  42. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js +2 -5
  43. package/bundle/typescript/src/commands/game/sideQuest/commands/thread.js.map +1 -1
  44. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  45. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +1 -1
  46. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +1 -0
  47. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js.map +1 -1
  48. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +2 -0
  49. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js.map +1 -1
  50. package/bundle/typescript/src/commands/game/sideQuest/game.d.ts +4 -0
  51. package/bundle/typescript/src/commands/game/sideQuest/game.js +86 -31
  52. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  53. package/bundle/typescript/src/commands/game/sideQuest/models/host.d.ts +80 -0
  54. package/bundle/typescript/src/commands/game/sideQuest/models/host.js +91 -0
  55. package/bundle/typescript/src/commands/game/sideQuest/models/host.js.map +1 -0
  56. package/bundle/typescript/src/commands/game/sideQuest/models/player.d.ts +83 -9
  57. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +153 -42
  58. package/bundle/typescript/src/commands/game/sideQuest/models/player.js.map +1 -1
  59. package/bundle/typescript/src/commands/game/sideQuest/models/room.d.ts +40 -9
  60. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +73 -12
  61. package/bundle/typescript/src/commands/game/sideQuest/models/room.js.map +1 -1
  62. package/bundle/typescript/src/commands/game/sideQuest/models/scene.d.ts +3 -0
  63. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +3 -0
  64. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js.map +1 -1
  65. package/bundle/typescript/src/commands/game/sideQuest/types/save-file.d.ts +2 -0
  66. package/bundle/typescript/src/commands/game/sideQuest/types/seed/room-seed.d.ts +1 -0
  67. package/bundle/typescript/src/commands/game/sideQuest/types/seed/scene-seed.d.ts +2 -0
  68. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js +40 -29
  69. package/bundle/typescript/src/commands/game/sideQuest/utilities/cloud-saves.js.map +1 -1
  70. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +30 -10
  71. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
  72. package/bundle/typescript/src/commands/game/sideQuest/utilities/condition-report.d.ts +10 -0
  73. package/bundle/typescript/src/commands/game/sideQuest/utilities/condition-report.js +142 -56
  74. package/bundle/typescript/src/commands/game/sideQuest/utilities/condition-report.js.map +1 -1
  75. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-reach.d.ts +58 -0
  76. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-reach.js +107 -0
  77. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-reach.js.map +1 -0
  78. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.d.ts +21 -1
  79. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js +104 -20
  80. package/bundle/typescript/src/commands/game/sideQuest/utilities/grid-view.js.map +1 -1
  81. package/bundle/typescript/src/commands/game/sideQuest/utilities/grids.d.ts +72 -0
  82. package/bundle/typescript/src/commands/game/sideQuest/utilities/grids.js +100 -0
  83. package/bundle/typescript/src/commands/game/sideQuest/utilities/grids.js.map +1 -0
  84. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic-actors.d.ts +9 -0
  85. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic-actors.js +98 -0
  86. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic-actors.js.map +1 -0
  87. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.d.ts +3 -2
  88. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.js +26 -6
  89. package/bundle/typescript/src/commands/game/sideQuest/utilities/ic.js.map +1 -1
  90. package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.d.ts +1 -1
  91. package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.js +5 -5
  92. package/bundle/typescript/src/commands/game/sideQuest/utilities/line-editor.js.map +1 -1
  93. package/bundle/typescript/src/commands/game/sideQuest/utilities/logo-mark.d.ts +13 -0
  94. package/bundle/typescript/src/commands/game/sideQuest/utilities/logo-mark.js +47 -0
  95. package/bundle/typescript/src/commands/game/sideQuest/utilities/logo-mark.js.map +1 -1
  96. package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-roster.d.ts +62 -0
  97. package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-roster.js +97 -0
  98. package/bundle/typescript/src/commands/game/sideQuest/utilities/matrix-roster.js.map +1 -0
  99. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +11 -1
  100. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js.map +1 -1
  101. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.d.ts +10 -0
  102. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js +24 -19
  103. package/bundle/typescript/src/commands/game/sideQuest/utilities/planes.js.map +1 -1
  104. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.116.0",
3
+ "version": "5.118.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 2.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 2.x applications using React.",
@@ -1,4 +1,5 @@
1
1
  import { Command } from './command.js';
2
+ import { cybercombatCandidates } from '../utilities/matrix-roster.js';
2
3
  import { hint } from '../utilities/hints.js';
3
4
  import { CombatExchange } from '../utilities/combat-exchange.js';
4
5
  import { fuzzyPickName } from '../utilities/fuzzy-match.js';
@@ -66,7 +67,11 @@ export class AttackCommand extends Command {
66
67
  // drone is a physical machine, so drone and meat trade fire freely
67
68
  // (see Player.sharesCombatPlane).
68
69
  const targetName = args.join(' ');
69
- const candidates = this.scene.getActorsInRoom(room).filter(a => a !== this.actor && a.sharesCombatPlane(this.actor));
70
+ // On the matrix plane the targets are the icons on my side of the host
71
+ // wall (matrix-roster.ts); in the meat, the room, as always.
72
+ const candidates = this.actor.plane === 'matrix'
73
+ ? cybercombatCandidates(this.scene, this.actor)
74
+ : this.scene.getActorsInRoom(room).filter(a => a !== this.actor && a.sharesCombatPlane(this.actor));
70
75
  const pickedName = fuzzyPickName(targetName, candidates.map(a => a.name));
71
76
  const target = pickedName ? candidates.find(a => a.name === pickedName) : undefined;
72
77
  if (!target) {
@@ -1 +1 @@
1
- {"version":3,"file":"attack.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/attack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attack.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/attack.ts"],"names":[],"mappings":"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"}
@@ -158,6 +158,9 @@ export class CompileCommand extends Command {
158
158
  force: level,
159
159
  services: tasks,
160
160
  });
161
+ // A sprite rides its compiler's persona: same grid, same host.
162
+ if (shell)
163
+ shell.matrixPosition = actor.matrixPosition;
161
164
  if (shell && this.game) {
162
165
  const entry = this.game.companions.find(c => c.npc === shell);
163
166
  if (entry)
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAuC5D;qDACqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,gEAAgE;QACvE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;KAC5D;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,kEAAkE;QACzE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;KAC5D;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,6DAA6D;QACpE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KAC/C;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,yEAAyE;QAChF,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC1H,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;KAC/C;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,8DAA8D;QACrE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KAC/C;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0C,EAC1C,QAAgB,EAChB,KAAa;IAEb,MAAM,IAAI,GAAG,GAAG,QAAQ,kBAAkB,KAAK,GAAG,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,sEAAsE;IACtE,yCAAyC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,GAAG,QAAQ,WAAW,CAAC,WAAW,KAAK,GAAG,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,QAAQ,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,WAAW,KAAK,GAAG,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,OAAO;IAC/B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,MAAM,CAAC,WAAW,GAAG,4bAA4b,CAAC;IAE5d,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5B,OAAO,sEAAsE,CAAC;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,2DAA2D,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,mEAAmE,CAAC;QAC7E,CAAC;QAED,iEAAiE;QACjE,oEAAoE;QACpE,oEAAoE;QACpE,8DAA8D;QAC9D,kEAAkE;QAClE,oEAAoE;QACpE,iEAAiE;QACjE,8DAA8D;QAC9D,kEAAkE;QAClE,kCAAkC;QAClC,EAAE;QACF,8DAA8D;QAC9D,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAClF,IAAI,QAAQ,EAAE,CAAC;YACb,qDAAqD;YACrD,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,wEAAwE,IAAI,CAAC,0FAA0F,CAAC,EAAE,CAAC;QACxM,CAAC;QAED,qEAAqE;QACrE,0DAA0D;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACpD,CAAC,CAAC,OAAO,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,2CAA2C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpI,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,qDAAqD,CAAC;QAC5E,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,WAAW,KAAK,sDAAsD,KAAK,CAAC,SAAS,GAAG,CAAC,wBAAwB,CAAC;QAC3H,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAE1C,kEAAkE;QAClE,sDAAsD;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvI,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnD,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3D,KAAK,CAAC,aAAa,CAAC,kDAAkD,EAAE,oBAAoB,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,yBAAyB,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,IAAI,IAAI,OAAO,UAAU,KAAK,OAAO,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,WAAW,KAAK,YAAY,WAAW,UAAU,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE5M,MAAM,SAAS,GAAG,CAAC,aAAa,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACjH,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG;YACZ,8CAA8C,IAAI,CAAC,IAAI,oBAAoB,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,EAAE,GAAG;SAC/J,CAAC;QAEF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAC3C,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBACpD,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,IAAI,qCAAqC,IAAI,CAAC,KAAK,gGAAgG,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa;gBAC7P,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAU;gBACnC,IAAI,EAAE,KAAK,CAAC,eAAe;gBAC3B,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;gBAC9D,IAAI,KAAK;oBAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;YACxC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK;gBACd,CAAC,CAAC,0FAA0F,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,kBAAkB,IAAI,CAAC,+IAA+I,CAAC,EAAE;gBACxS,CAAC,CAAC,uFAAuF,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,aAAa,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvH,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,wCAAwC,WAAW,cAAc,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,UAAU,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,0CAA0C,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,0BAA0B,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACtJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAuC5D;qDACqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAgC;IACvD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,gEAAgE;QACvE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;KAC5D;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,kEAAkE;QACzE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;KAC5D;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,6DAA6D;QACpE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KAC/C;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,yEAAyE;QAChF,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC1H,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;KAC/C;IACD,OAAO,EAAE;QACP,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,8DAA8D;QACrE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;YACtH,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;KAC/C;CACF,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAA0C,EAC1C,QAAgB,EAChB,KAAa;IAEb,MAAM,IAAI,GAAG,GAAG,QAAQ,kBAAkB,KAAK,GAAG,CAAC;IACnD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvC,sEAAsE;IACtE,yCAAyC;IACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,GAAG,QAAQ,WAAW,CAAC,WAAW,KAAK,GAAG,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IACnD,CAAC;IACD,OAAO,GAAG,QAAQ,WAAW,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,WAAW,KAAK,GAAG,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,cAAe,SAAQ,OAAO;IAC/B,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,MAAM,CAAC,WAAW,GAAG,4bAA4b,CAAC;IAE5d,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEvB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5B,OAAO,sEAAsE,CAAC;QAChF,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,2DAA2D,CAAC;QACrE,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,mEAAmE,CAAC;QAC7E,CAAC;QAED,iEAAiE;QACjE,oEAAoE;QACpE,oEAAoE;QACpE,8DAA8D;QAC9D,kEAAkE;QAClE,oEAAoE;QACpE,iEAAiE;QACjE,8DAA8D;QAC9D,kEAAkE;QAClE,kCAAkC;QAClC,EAAE;QACF,8DAA8D;QAC9D,qEAAqE;QACrE,qBAAqB;QACrB,MAAM,QAAQ,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QAClF,IAAI,QAAQ,EAAE,CAAC;YACb,qDAAqD;YACrD,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,wEAAwE,IAAI,CAAC,0FAA0F,CAAC,EAAE,CAAC;QACxM,CAAC;QAED,qEAAqE;QACrE,0DAA0D;QAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACtF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,QAAQ;YACtB,CAAC,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACpD,CAAC,CAAC,OAAO,CAAC;QACZ,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,2CAA2C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;QACpI,CAAC;QACD,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,qDAAqD,CAAC;QAC5E,IAAI,KAAK,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO,WAAW,KAAK,sDAAsD,KAAK,CAAC,SAAS,GAAG,CAAC,wBAAwB,CAAC;QAC3H,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC;QAE1C,kEAAkE;QAClE,sDAAsD;QACtD,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvI,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAEnD,iEAAiE;QACjE,qDAAqD;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3D,KAAK,CAAC,aAAa,CAAC,kDAAkD,EAAE,oBAAoB,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,yBAAyB,KAAK,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,CAAC;QAC9F,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mBAAmB,KAAK,CAAC,IAAI,IAAI,OAAO,UAAU,KAAK,OAAO,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,WAAW,KAAK,YAAY,WAAW,UAAU,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE5M,MAAM,SAAS,GAAG,CAAC,aAAa,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,SAAS,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;QACjH,IAAI,KAAK,CAAC,aAAa,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC;YAAE,SAAS,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG;YACZ,8CAA8C,IAAI,CAAC,IAAI,oBAAoB,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,uDAAuD,CAAC,CAAC,CAAC,EAAE,GAAG;SAC/J,CAAC;QAEF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAChB,KAAK,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC;gBAC3C,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;gBACpD,WAAW,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,WAAW,KAAK,CAAC,IAAI,qCAAqC,IAAI,CAAC,KAAK,gGAAgG,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,aAAa;gBAC7P,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAU;gBACnC,IAAI,EAAE,KAAK,CAAC,eAAe;gBAC3B,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,KAAK;gBACZ,QAAQ,EAAE,KAAK;aAChB,CAAC,CAAC;YACH,+DAA+D;YAC/D,IAAI,KAAK;gBAAE,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;YACvD,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC;gBAC9D,IAAI,KAAK;oBAAE,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;YACxC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,KAAK;gBACd,CAAC,CAAC,0FAA0F,KAAK,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,kBAAkB,IAAI,CAAC,+IAA+I,CAAC,EAAE;gBACxS,CAAC,CAAC,uFAAuF,CAAC,CAAC;QAC/F,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,aAAa,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACvH,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,wCAAwC,WAAW,cAAc,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,UAAU,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,0CAA0C,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,0BAA0B,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACtJ,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
@@ -1,9 +1,8 @@
1
1
  import { Command } from './command.js';
2
+ import { matrixConstructsInReach } from '../utilities/matrix-roster.js';
2
3
  import { rollPool, formatRoll } from '../utilities/dice.js';
3
4
  import { hint } from '../utilities/hints.js';
4
5
  import { fuzzyPickNameDetailed } from '../utilities/fuzzy-match.js';
5
- import { NPC } from '../models/npc.js';
6
- import { sameHostSide } from '../models/player.js';
7
6
  import { accrueOverwatch } from '../utilities/overwatch.js';
8
7
  import { leaveMatrix } from '../utilities/planes.js';
9
8
  /**
@@ -90,10 +89,8 @@ export class DecompileCommand extends Command {
90
89
  * cannot reach into a host to unmake the ice inside it (p.246). */
91
90
  hostileConstructs() {
92
91
  const game = this.game;
93
- return this.actor.currentLocation.getActors().filter((a) => a instanceof NPC
94
- && a.plane === 'matrix'
95
- && sameHostSide(this.actor, a)
96
- && !game?.companions.some(c => c.npc === a));
92
+ return matrixConstructsInReach(this.scene, this.actor)
93
+ .filter(a => !game?.companions.some(c => c.npc === a));
97
94
  }
98
95
  /**
99
96
  * Let go of your own sprite. Certain, no test, no Fading: you are not
@@ -1 +1 @@
1
- {"version":3,"file":"decompile.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/decompile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAa,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,gBAAiB,SAAQ,OAAO;IACjC,MAAM,CAAC,IAAI,GAAG,WAAW,CAAC;IAC1B,MAAM,CAAC,WAAW,GAAG,qOAAqO,CAAC;IAErQ,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrE,MAAM,KAAK,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;aACvB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;aACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACpC,IAAI,CAAC,GAAG,CAAC;aACT,IAAI,EAAE,CAAC;QAEV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpB,8DAA8D;gBAC9D,mCAAmC;gBACnC,OAAO,yDAAyD,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACjH,CAAC;YACD,OAAO,mCAAmC,IAAI,CAAC,0CAA0C,CAAC,EAAE,CAAC;QAC/F,CAAC;QAED,gEAAgE;QAChE,mEAAmE;QACnE,4DAA4D;QAC5D,kEAAkE;QAClE,sDAAsD;QACtD,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAExE,IAAI,OAAO,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;YACxD,yDAAyD;YACzD,kEAAkE;YAClE,2CAA2C;YAC3C,OAAO,IAAI,KAAK,gBAAgB,OAAO,CAAC,IAAI,QAAQ,OAAO,CAAC,IAAI,sCAAsC,CAAC;QACzG,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS;eAClC,CAAC,OAAO,KAAK,SAAS,IAAK,OAAO,CAAC,IAAkB,GAAI,OAAO,CAAC,IAAkB,CAAC,CAAC;QAC1F,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,OAAQ,CAAC,IAAI,CAAE,CAAC,CAAC;QACxE,CAAC;QACD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,4BAA4B,KAAK,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpI,CAAC;IAED;;;;;;;wEAOoE;IAC5D,iBAAiB;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAY,EAAE,CACnE,CAAC,YAAY,GAAG;eACb,CAAC,CAAC,KAAK,KAAK,QAAQ;eACpB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;eAC3B,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,KAA0D;QAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;QAChD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;QACjE,8DAA8D;QAC9D,kEAAkE;QAClE,mEAAmE;QACnE,qEAAqE;QACrE,qEAAqE;QACrE,4DAA4D;QAC5D,iEAAiE;QACjE,qEAAqE;QACrE,mEAAmE;QACnE,mEAAmE;QACnE,mEAAmE;QACnE,gEAAgE;QAChE,kEAAkE;QAClE,gCAAgC;QAChC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,aAAa;YAClB,CAAC,CAAC,gCAAgC,IAAI,uGAAuG;YAC7I,CAAC,CAAC,gCAAgC,IAAI,wDAAwD,CAAC;IACnG,CAAC;IAED;;;;;;;;OAQG;IACK,cAAc,CAAC,MAAW;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC;YAC5B,OAAO,oCAAoC,MAAM,CAAC,IAAI,sCAAsC,CAAC;QAC/F,CAAC;QACD,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,4EAA4E,MAAM,CAAC,IAAI,eAAe,CAAC;QAChH,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,uEAAuE,CAAC;QACjF,CAAC;QAED,gEAAgE;QAChE,kEAAkE;QAClE,oEAAoE;QACpE,qEAAqE;QACrE,qEAAqE;QACrE,mEAAmE;QACnE,8DAA8D;QAC9D,qEAAqE;QACrE,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC3I,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACtF,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAEpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,IAAI,eAAe,KAAK,CAAC,SAAS,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,WAAW,EAAE,CAAC,CAAC,CAAC,qBAAqB,MAAM,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9K,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5D,KAAK,CAAC,aAAa,CAAC,gBAAgB,MAAM,CAAC,IAAI,iEAAiE,EAAE,EAAE,CAAC,CAAC;QACtH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;QAElH,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,CAAC;QACnC,MAAM,KAAK,GAAG,CAAC,YAAY,MAAM,CAAC,IAAI,uCAAuC,CAAC,CAAC;QAC/E,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,2FAA2F,CAAC,CAAC;YACxG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,uBAAuB,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,8BAA8B,CAAC,CAAC;QAC1H,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;YAClD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACpB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,eAAe,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,0BAA0B,CAAC,CAAC;gBAC5G,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,wCAAwC,GAAG,iBAAiB,MAAM,CAAC,IAAI,0CAA0C,CAAC,CAAC;YAChI,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,IAAI,YAAY,MAAM,CAAC,IAAI,cAAc,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;gBACzF,KAAK,CAAC,IAAI,CAAC,2BAA2B,GAAG,6DAA6D,CAAC,CAAC;YAC1G,CAAC;QACH,CAAC;QAED,oEAAoE;QACpE,iDAAiD;QACjD,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,gCAAgC,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,mCAAmC,EAAE,CAAC,CAAC,CAAC;YAC7G,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QAED,qEAAqE;QACrE,mDAAmD;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,WAAW,aAAa,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1E,IAAI,WAAW,KAAK,CAAC,EAAE,CAAC;YACtB,KAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,UAAU,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACzE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,KAAK,CAAC,IAAI,CAAC,0CAA0C,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,0BAA0B,KAAK,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;YACtJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC"}
1
+ {"version":3,"file":"decompile.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/decompile.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { Command } from './command.js';
2
+ import { roomsInReach, gridVicinity } from '../utilities/grid-reach.js';
2
3
  import { hint } from '../utilities/hints.js';
3
4
  import { Category } from '../types/shared/item-enum.js';
4
5
  import { fuzzyPickName } from '../utilities/fuzzy-match.js';
@@ -48,7 +49,8 @@ export class DownloadCommand extends Command {
48
49
  static description = 'Write a file out of the Matrix onto a chip you carry -- "download <file>". Reads data loose on the grid where you stand AND data your own sprites are holding, which is the one place nothing else could reach it. A downloaded file is ordinary meat-world cargo: you can carry it, stash it, or hand it to somebody.';
49
50
  async execute(args = []) {
50
51
  const actor = this.actor;
51
- const room = actor.currentLocation;
52
+ // WHERE THE PERSONA STANDS (matrix model 2026-09-02): inside a host, the host's room; on the grid, the body's.
53
+ const room = actor.plane === 'matrix' ? gridVicinity(actor) : actor.currentLocation;
52
54
  // WHAT IS IN REACH, from both sources.
53
55
  //
54
56
  // The room's own files honour fileReach (utilities/planes.ts) -- a
@@ -60,6 +62,18 @@ export class DownloadCommand extends Command {
60
62
  const loose = reach === 'open'
61
63
  ? room.inventory.getAllItems().filter(i => i.plane === 'matrix')
62
64
  : [];
65
+ // FARTHER OUT (SR5 pp.217-218): data loose on the grid elsewhere in the
66
+ // district is a dim icon in reach -- open where no host guards it.
67
+ const far = [];
68
+ if (actor.plane === 'matrix' && !actor.insideHost) {
69
+ for (const { room: r, noise } of roomsInReach(this.rooms ?? this.scene.getRooms(), actor).slice(1)) {
70
+ if (fileReach(actor, r) !== 'open')
71
+ continue;
72
+ for (const item of r.inventory.getAllItems())
73
+ if (item.plane === 'matrix')
74
+ far.push({ item, room: r, noise });
75
+ }
76
+ }
63
77
  // YOUR sprites, not everyone's. `compiledBy` is not modelled on the
64
78
  // shell, so ownership is "it is in YOUR companion list" -- which is
65
79
  // the same thing the order/decompile verbs already mean by it.
@@ -71,7 +85,7 @@ export class DownloadCommand extends Command {
71
85
  carried.push({ npc: entry.npc, item });
72
86
  }
73
87
  }
74
- if (loose.length === 0 && carried.length === 0) {
88
+ if (loose.length === 0 && carried.length === 0 && far.length === 0) {
75
89
  return `Nothing to pull down -- no data on the grid here, and nothing your sprites are carrying.${reach === 'enter' ? hint(` (This room's files live INSIDE its host -- "enter" first.)`) : ''}`;
76
90
  }
77
91
  // Bare "download" is the LIST. A verb whose whole reason for existing
@@ -83,16 +97,19 @@ export class DownloadCommand extends Command {
83
97
  lines.push(` ${planeTintItemName(i, actor.plane)} -- loose on the grid here`);
84
98
  for (const c of carried)
85
99
  lines.push(` ${planeTintItemName(c.item, actor.plane)} -- held by ${c.npc.name}`);
100
+ for (const f of far)
101
+ lines.push(` ${planeTintItemName(f.item, actor.plane)} -- a dim icon out on the grid (noise -${f.noise})`);
86
102
  lines.push(hint(`("download <file>" writes it to a chip you carry.)`));
87
103
  return lines.join('\n');
88
104
  }
89
- const names = [...loose.map(i => i.name), ...carried.map(c => c.item.name)];
105
+ const names = [...loose.map(i => i.name), ...carried.map(c => c.item.name), ...far.map(f => f.item.name)];
90
106
  const picked = fuzzyPickName(query, names);
91
107
  if (!picked) {
92
108
  return `No file called "${query}" within reach.${hint(` ("download" on its own lists what is.)`)}`;
93
109
  }
94
110
  const fromSprite = carried.find(c => c.item.name === picked);
95
- const item = fromSprite ? fromSprite.item : loose.find(i => i.name === picked);
111
+ const fromFar = !fromSprite && !loose.some(i => i.name === picked) ? far.find(f => f.item.name === picked) : undefined;
112
+ const item = fromSprite ? fromSprite.item : fromFar ? fromFar.item : loose.find(i => i.name === picked);
96
113
  // THE CONVERSION, identical to take.ts's. Same two fields, because a
97
114
  // file that came down by one verb and a file that came down by the
98
115
  // other must be the same object afterwards -- a chip you can `give`.
@@ -106,8 +123,9 @@ export class DownloadCommand extends Command {
106
123
  fromSprite.npc.inventory.removeItem(item.name);
107
124
  }
108
125
  else {
109
- room.inventory.removeItem(item.name);
110
- room.plainSightItems.delete(item.name.toLowerCase());
126
+ const source = fromFar ? fromFar.room : room;
127
+ source.inventory.removeItem(item.name);
128
+ source.plainSightItems.delete(item.name.toLowerCase());
111
129
  }
112
130
  item.plane = 'meat';
113
131
  item.category = Category.Datachip;
@@ -1 +1 @@
1
- {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/download.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/download.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import { Command, ICommand } from './command.js';
8
8
  * the grid you entered from."
9
9
  *
10
10
  * WHY THIS FILE EXISTS AT ALL. Until now this engine had NO
11
- * inside-vs-outside-host state. A persona standing on a room's patch of
11
+ * inside-vs-outside-host state. A persona out on the grid (there is no
12
12
  * grid WAS in its host as far as every surface was concerned: `look`
13
13
  * listed the host's sealed files as icons "right there on the grid",
14
14
  * `hack` cracked a host you had never entered, and IC hunted personas
@@ -39,6 +39,12 @@ export declare class EnterHostCommand extends Command implements ICommand {
39
39
  * Naming a room enters that room's host instead, which matters because
40
40
  * a jacked-in persona jumps by name and may be standing anywhere.
41
41
  */
42
+ /**
43
+ * A host by name, FROM ANYWHERE (SR5 p.246: hosts are reached "without
44
+ * worrying about the distance involved"); bare "enter" means the one
45
+ * hanging directly over the persona's vicinity. There is no patch to
46
+ * stand on first any more -- see utilities/grid-reach.ts.
47
+ */
42
48
  private resolveHost;
43
49
  }
44
50
  /**
@@ -1,4 +1,6 @@
1
1
  import { Command } from './command.js';
2
+ import { movePersonaWith } from '../utilities/matrix-roster.js';
3
+ import { resolveHostInReach, hostsInReach, gridVicinity, hostOver } from '../utilities/grid-reach.js';
2
4
  import { hint } from '../utilities/hints.js';
3
5
  import { hostLabel } from '../utilities/grid-names.js';
4
6
  /**
@@ -10,7 +12,7 @@ import { hostLabel } from '../utilities/grid-names.js';
10
12
  * the grid you entered from."
11
13
  *
12
14
  * WHY THIS FILE EXISTS AT ALL. Until now this engine had NO
13
- * inside-vs-outside-host state. A persona standing on a room's patch of
15
+ * inside-vs-outside-host state. A persona out on the grid (there is no
14
16
  * grid WAS in its host as far as every surface was concerned: `look`
15
17
  * listed the host's sealed files as icons "right there on the grid",
16
18
  * `hack` cracked a host you had never entered, and IC hunted personas
@@ -65,14 +67,18 @@ export class EnterHostCommand extends Command {
65
67
  hint(`A host opens to anyone holding a MARK on it (p.239) -- "mark ${target.name}" softens it, or "hack" takes one by force.`),
66
68
  ].join('\n');
67
69
  }
68
- actor.insideHost = target;
70
+ // THE PERSONA CROSSES, THE BODY STAYS (increment 2): position becomes
71
+ // the host, remembering the grid it came from (p.239: exit returns
72
+ // you there). currentLocation is never written -- it is the body's.
73
+ actor.matrixPosition = { kind: 'host', host: target.host, from: actor.currentGrid };
74
+ movePersonaWith(this.game ?? undefined, actor);
69
75
  actor.performAction('enters a host', `icon crossing into ${target.name}'s architecture`);
70
76
  this.logger.write(`${actor.name} entered the host at ${target.name}.`);
71
77
  this.scene.updateStatus();
72
78
  return [
73
79
  `{cyan-fg}You cross into ${hostLabel(target, { capital: false })}.{/cyan-fg}`,
74
- `{cyan-fg}The outside grid folds shut behind you -- the street's icons, the PANs, the personas out on the patch: all of it gone, not hidden. In here there is only what the host keeps.{/cyan-fg}`,
75
- hint(`"look" reads the space you're standing in now. "exit" puts you back on the grid you came from.`),
80
+ `{cyan-fg}The outside grid folds shut behind you -- the icons in reach, the PANs, the personas out on the grid: all of it gone, not hidden. In here there is only what the host keeps.{/cyan-fg}`,
81
+ hint(`"look" reads the space you're standing in now. "exit" puts you back on the grid.`),
76
82
  ].join('\n');
77
83
  }
78
84
  /**
@@ -81,27 +87,30 @@ export class EnterHostCommand extends Command {
81
87
  * Naming a room enters that room's host instead, which matters because
82
88
  * a jacked-in persona jumps by name and may be standing anywhere.
83
89
  */
90
+ /**
91
+ * A host by name, FROM ANYWHERE (SR5 p.246: hosts are reached "without
92
+ * worrying about the distance involved"); bare "enter" means the one
93
+ * hanging directly over the persona's vicinity. There is no patch to
94
+ * stand on first any more -- see utilities/grid-reach.ts.
95
+ */
84
96
  resolveHost(args, here) {
97
+ const rooms = this.rooms ?? this.scene.getRooms();
85
98
  const named = args.join(' ').trim();
99
+ const overhead = hostsInReach(rooms, this.actor);
100
+ const roster = overhead.length > 0 ? overhead.map(r => hostLabel(r, { capital: true })).join(', ') : 'none';
86
101
  if (!named) {
87
- if (!here.hasNode) {
88
- return `{cyan-fg}Thin grid here -- no host stands over ${here.name}.{/cyan-fg} ${hint(`"map" lights the ones that do.`)}`;
89
- }
90
- return here;
91
- }
92
- const room = Object.values(this.scene.getRooms()).find(r => r.name.toLowerCase() === named.toLowerCase());
93
- if (!room)
94
- return `No room called "${named}" on this grid.`;
95
- if (!room.hasNode)
96
- return `{cyan-fg}${room.name} has no host over it -- nothing to enter.{/cyan-fg}`;
97
- // Your persona has to be ON that patch of grid to cross into its
98
- // host. `go` is free out here (no distance on the grid), so this is
99
- // one move, not a wall -- but it keeps the boundary honest: you
100
- // enter a host from the grid it sits on.
101
- if (room !== here) {
102
- return `{cyan-fg}${hostLabel(room, { capital: true })} stands over ${room.name}, and you're on ${here.name}'s patch.{/cyan-fg} ${hint(`"go ${room.name}" first -- the grid has no distance.`)}`;
102
+ const over = hostOver(gridVicinity(this.actor)) ?? hostOver(here);
103
+ if (over)
104
+ return over;
105
+ return `{cyan-fg}Thin grid here -- no host stands over ${gridVicinity(this.actor).name}.{/cyan-fg} ${hint(`Overhead: ${roster} -- "enter <name>" crosses into any of them from here.`)}`;
103
106
  }
104
- return room;
107
+ const host = resolveHostInReach(rooms, this.actor, named);
108
+ if (host)
109
+ return host;
110
+ const street = Object.values(rooms).find(r => r.name.toLowerCase() === named.toLowerCase());
111
+ if (street)
112
+ return `{cyan-fg}${street.name} has no host over it -- nothing to enter. Overhead: ${roster}.{/cyan-fg}`;
113
+ return `No host called "${named}" overhead. ${hint(`Overhead: ${roster}.`)}`;
105
114
  }
106
115
  }
107
116
  /**
@@ -122,12 +131,14 @@ export class ExitHostCommand extends Command {
122
131
  return `{red-fg}You reach for the door and it isn't there. LINK-LOCKED by ${by}: the connection is held open and Enter/Exit Host is closed to you (p.229). "jack out" still works -- it just costs you dumpshock.{/red-fg}`;
123
132
  }
124
133
  const host = actor.insideHost;
125
- actor.insideHost = undefined;
134
+ const from = actor.matrixPosition?.kind === 'host' ? actor.matrixPosition.from : undefined;
135
+ actor.matrixPosition = { kind: 'grid', grid: from };
136
+ movePersonaWith(this.game ?? undefined, actor);
126
137
  actor.performAction('exits a host', `icon surfacing out of ${host.name}'s architecture`);
127
138
  this.logger.write(`${actor.name} exited the host at ${host.name}.`);
128
139
  this.scene.updateStatus();
129
140
  return [
130
- `{cyan-fg}You step back out of ${hostLabel(host, { capital: false })} and onto ${actor.currentLocation.name}'s patch of grid.{/cyan-fg}`,
141
+ `{cyan-fg}You step back out of ${hostLabel(host, { capital: false })} and onto the grid -- your body still sits in ${actor.currentLocation.name}.{/cyan-fg}`,
131
142
  `{cyan-fg}The host seals behind you: one icon again, whatever you saw in there now on the other side of its wall.{/cyan-fg}`,
132
143
  ].join('\n');
133
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enter-host.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/enter-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enter-host.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/enter-host.ts"],"names":[],"mappings":"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"}
@@ -77,12 +77,12 @@ export declare class GoCommand extends Command implements ICommand {
77
77
  */
78
78
  private checkHostBoundary;
79
79
  /**
80
- * The persona's real movement (RAW: "you think about going... and
81
- * boom, you go"): resolve the words as ANY room in the scene and be
82
- * there. No adjacency, no doors, no spots -- the only wall on the
83
- * grid is an air gap. A jump leaves no breadcrumb (cameFrom clears:
84
- * there's no "way you came" when you never crossed the ground
85
- * between) and lands at no meat spot.
80
+ * THE GRID HAS NO STREETS (user canon check 2026-09-02; SR5 pp.217-218,
81
+ * p.246): out here there are only icons. "go" on the grid crosses into
82
+ * a host -- by any name the game shows for it, from anywhere, hosts
83
+ * being reachable "without worrying about the distance involved" -- and
84
+ * nothing else. The persona never "arrives" at a street: its position
85
+ * on the grid is its body's room (utilities/grid-reach.ts).
86
86
  */
87
- private gridJump;
87
+ private gridGo;
88
88
  }
@@ -1,5 +1,6 @@
1
1
  import { Door } from '../models/door.js';
2
- import { hostConcealedFrom } from '../utilities/jackpoint.js';
2
+ import { EnterHostCommand } from './enter-host.js';
3
+ import { resolveHostInReach } from '../utilities/grid-reach.js';
3
4
  import { planeChangeHint, astralMovesLeft, astralCordWarning, astralCordParts } from '../utilities/planes.js';
4
5
  import { CombatExchange } from '../utilities/combat-exchange.js';
5
6
  import { rollPool, formatRoll } from '../utilities/dice.js';
@@ -47,7 +48,7 @@ export class GoCommand extends Command {
47
48
  // sprite rides your persona, and neither has feet in the meat.
48
49
  agent: (plane) => plane === 'matrix',
49
50
  sprite: (plane) => plane === 'matrix',
50
- ally: () => false,
51
+ ally: () => false
51
52
  };
52
53
  static verb = 'go';
53
54
  static description = 'Move in the specified direction ("go back" retraces your last move). Fleeing someone you just fought hands them one free parting shot. Jacked in, the grid sees no distance: "go <any room>" jumps your persona straight there ("map" lights the icons). Inside a host there is no distance to cross at all -- "exit" first.';
@@ -203,7 +204,9 @@ export class GoCommand extends Command {
203
204
  // and only when the typed word is a bare number, so a direction is
204
205
  // never reinterpreted. An out-of-range number falls through to the
205
206
  // ordinary "no such exit" refusal rather than silently picking one.
206
- if (/^\d{1,3}$/.test(direction)) {
207
+ // A number is an EXIT slot in the meat; on the grid it is a host slot
208
+ // from the numbered map (gridGo) -- exits are not places out there.
209
+ if (this.actor.plane !== 'matrix' && /^\d{1,3}$/.test(direction)) {
207
210
  const ways = [...this.actor.currentLocation.exits.keys()];
208
211
  const bySlot = fuzzyPickName(direction, ways, { index: true });
209
212
  if (bySlot)
@@ -238,10 +241,15 @@ export class GoCommand extends Command {
238
241
  // checkHostBoundary in the jump; the old air-gap arm is gone with
239
242
  // its model, hhSWzLSXECFtfoAGa), a live exchange (the gate above),
240
243
  // and the parting shot (already resolved -- disengaging ice still
241
- // bites). Compass
242
- // directions keep working below as one-hop muscle memory.
243
- if (this.actor.plane === 'matrix' && !this.isValidDirection(direction)) {
244
- return this.gridJump(args.join(' '));
244
+ // bites).
245
+ // THE GRID HAS NO STREETS, and no compass (SR5 pp.217-218): jacked in,
246
+ // a direction word is refused outright -- the body does not walk while
247
+ // the persona rides -- and anything else names a host (gridGo).
248
+ if (this.actor.plane === 'matrix') {
249
+ if (this.isValidDirection(direction)) {
250
+ return `Your body is slumped in ${this.actor.currentLocation.name} and your persona has no feet -- there is no ${direction} on the grid.${hint(` ("jack out" to walk; "map" lights the hosts; "go <host>" crosses into one.)`)}`;
251
+ }
252
+ return await this.gridGo(args.join(' '));
245
253
  }
246
254
  if (!this.isValidDirection(direction)) {
247
255
  // A PLANE IS SOMEWHERE YOU GO, in the sense a player means it, so
@@ -643,50 +651,22 @@ export class GoCommand extends Command {
643
651
  return `You're INSIDE ${host.name}'s host -- its architecture is all there is from in here, and the outside grid is a wall away (p.246). "exit" puts you back on the grid, then go where you like.`;
644
652
  }
645
653
  /**
646
- * The persona's real movement (RAW: "you think about going... and
647
- * boom, you go"): resolve the words as ANY room in the scene and be
648
- * there. No adjacency, no doors, no spots -- the only wall on the
649
- * grid is an air gap. A jump leaves no breadcrumb (cameFrom clears:
650
- * there's no "way you came" when you never crossed the ground
651
- * between) and lands at no meat spot.
654
+ * THE GRID HAS NO STREETS (user canon check 2026-09-02; SR5 pp.217-218,
655
+ * p.246): out here there are only icons. "go" on the grid crosses into
656
+ * a host -- by any name the game shows for it, from anywhere, hosts
657
+ * being reachable "without worrying about the distance involved" -- and
658
+ * nothing else. The persona never "arrives" at a street: its position
659
+ * on the grid is its body's room (utilities/grid-reach.ts).
652
660
  */
653
- gridJump(query) {
654
- const current = this.actor.currentLocation;
655
- // CONCEALED HOSTS ARE NOT DESTINATIONS. 5.80.0 put the membership
656
- // check on the `jackpoint` verb ALONE, so `go JackPoint` walked a
657
- // non-member straight into the haven -- this resolver had never
658
- // heard of the invite. p.225-226 makes the icon "visible only if you
659
- // have access", which is a property of the place, not of one verb.
660
- //
661
- // Filtered here AND in map.ts's listing, which is one fix rather
662
- // than two: the numbering is shared. map prints "3." off its walk of
663
- // these same rooms and `go 3` resolves against this one, so hiding a
664
- // room from the list while leaving it in the resolver would shift
665
- // every index after it.
666
- const allRooms = Object.values(this.rooms ?? {})
667
- .filter(r => !hostConcealedFrom(r, this.actor));
668
- // "go 4" -- the index the grid map printed (commands/map.ts
669
- // gridMap walks the same Object.values(this.rooms), in this same
670
- // order). Same resolver as the typed name, one input richer.
671
- const picked = fuzzyPickName(query, allRooms.map(r => r.name), { index: true });
672
- const target = picked ? allRooms.find(r => r.name === picked) : undefined;
673
- if (!target) {
674
- this.logger.write(`GoCommand: ${this.actor.name} grid-jump found no room for "${query}".`);
675
- return `Nothing on the grid answers to "${query}".${hint(` ("map" lights every icon in reach -- "go <name>" is one thought away.)`)}`;
676
- }
677
- if (target === current) {
678
- // Same ruling as the arrival line above: out here you are not
679
- // looking THROUGH anything at a room, you are standing on it.
680
- return `Your persona is already there -- ${target.name} is the patch of grid you're standing on.`;
681
- }
682
- const gapBlock = this.checkHostBoundary(target);
683
- if (gapBlock)
684
- return gapBlock;
685
- this.actor.performAction('rides the grid', `from ${current.name} to ${target.name} -- no distance, just intent`);
686
- this.actor.cameFrom = undefined;
687
- this.actor.currentLocation = target;
688
- this.actor.atSpot = undefined;
689
- return this.finishMove('', current);
661
+ async gridGo(query) {
662
+ const host = resolveHostInReach(this.rooms ?? {}, this.actor, query);
663
+ if (host) {
664
+ return await new EnterHostCommand({
665
+ actor: this.actor, scene: this.scene, rooms: this.rooms, screen: this.screen, game: this.game,
666
+ }).execute([host.name]);
667
+ }
668
+ this.logger.write(`GoCommand: ${this.actor.name} on the grid asked for "${query}" -- no host by that name.`);
669
+ return `The grid has no streets -- out here there are only icons: the hosts hanging overhead, and the devices and personas in reach.${hint(` ("map" lights the hosts; "go <host>" or "enter <host>" crosses into one you hold a mark on, from anywhere; "look" lists what is in reach.)`)}`;
690
670
  }
691
671
  }
692
672
  //# sourceMappingURL=go.js.map