@maka/maka-cli 5.18.0 → 5.19.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 (22) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js +2 -2
  3. package/bundle/typescript/src/commands/game/sideQuest/archetypes.js.map +1 -1
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.d.ts +12 -0
  5. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js +95 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js.map +1 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.d.ts +15 -12
  8. package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.js +122 -8
  9. package/bundle/typescript/src/commands/game/sideQuest/commands/dispel.js.map +1 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/commands/emote.d.ts +17 -0
  11. package/bundle/typescript/src/commands/game/sideQuest/commands/emote.js +32 -0
  12. package/bundle/typescript/src/commands/game/sideQuest/commands/emote.js.map +1 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/engine-version.d.ts +1 -1
  14. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +5 -1
  15. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js.map +1 -1
  16. package/bundle/typescript/src/commands/game/sideQuest/game.js +5 -1
  17. package/bundle/typescript/src/commands/game/sideQuest/game.js.map +1 -1
  18. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js +1 -1
  19. package/bundle/typescript/src/commands/game/sideQuest/models/puzzle.js.map +1 -1
  20. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js +34 -5
  21. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-exchange.js.map +1 -1
  22. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.18.0",
3
+ "version": "5.19.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.",
@@ -99,7 +99,7 @@ export const ARCHETYPES = [
99
99
  name: 'Combat Mage',
100
100
  description: 'Awakened artillery: manabolts through milspec armor, if the drain doesn\'t eat you first.',
101
101
  combat: { body: 3, agility: 3, reaction: 3, combatSkill: 2, strength: 2, willpower: 5, logic: 4, intuition: 4, charisma: 3, edge: 2, magic: 6,
102
- skills: { spellcasting: 6, assensing: 4, conjuring: 3, perception: 3, unarmed: 2, firearms: 2 } },
102
+ skills: { spellcasting: 6, counterspelling: 4, assensing: 4, conjuring: 3, perception: 3, unarmed: 2, firearms: 2 } },
103
103
  // Drain taught them what pain is worth ignoring; the astral bleeds
104
104
  // into their dreams and calls it rent. Ledger 25 - 7 + 10 = 28 -> 7
105
105
  // karma + 20,000 nuyen.
@@ -112,7 +112,7 @@ export const ARCHETYPES = [
112
112
  name: 'Street Shaman',
113
113
  description: 'Awakened the hard way: iron will, sharp instincts, spirits on speed dial.',
114
114
  combat: { body: 3, agility: 2, reaction: 3, combatSkill: 2, strength: 2, willpower: 6, logic: 3, intuition: 5, charisma: 4, edge: 2, magic: 5,
115
- skills: { spellcasting: 5, conjuring: 5, assensing: 4, perception: 4, negotiation: 3, unarmed: 2 } },
115
+ skills: { spellcasting: 5, conjuring: 5, counterspelling: 3, assensing: 4, perception: 4, negotiation: 3, unarmed: 2 } },
116
116
  // The spirits ARE the luck, and the flesh they favor knits fast --
117
117
  // but nobody forgets the one draped in bones and braided wire.
118
118
  // Ledger 25 - 15 + 5 = 15 -> 7 karma + 16,000 nuyen.
@@ -1 +1 @@
1
- {"version":3,"file":"archetypes.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/archetypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAoD/C,MAAM,OAAO,GAAG,CAAC,OAA6G,EAAqB,EAAE,CAAC,CAAC;IACrJ,IAAI,EAAE,IAAI,CAAC,KAAK;IAChB,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,MAAM;IACb,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,OAAO;IAChB,GAAG,OAAO;CACX,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAiB;IACtC;QACE,uEAAuE;QACvE,sEAAsE;QACtE,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,qEAAqE;QAClF,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;KAC7K;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,uEAAuE;QACpF,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;QAC7H,IAAI,EAAE,CAAC,kBAAkB,EAAE,WAAW,CAAC;QACvC,kEAAkE;QAClE,4DAA4D;QAC5D,SAAS,EAAE,CAAC,WAAW,EAAE,qBAAqB,EAAE,iBAAiB,CAAC;QAClE,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,+FAA+F,EAAE,QAAQ,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SACrO;KACF;IACD;QACE,kEAAkE;QAClE,kEAAkE;QAClE,sDAAsD;QACtD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,yFAAyF;QACtG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI;YACxJ,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QAC3H,qEAAqE;QACrE,6DAA6D;QAC7D,SAAS,EAAE,CAAC,SAAS,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QAC7D,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,mGAAmG,EAAE,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC1S;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,oEAAoE;QACjF,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACnH,IAAI,EAAE,CAAC,WAAW,CAAC;QACnB,sEAAsE;QACtE,sEAAsE;QACtE,kBAAkB;QAClB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,UAAU,CAAC;QAC9D,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,4EAA4E,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC5M,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,qEAAqE,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SACpR;KACF;IACD;QACE,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,2EAA2E;QACxF,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,kEAAkE;YAClE,gEAAgE;YAChE,+DAA+D;YAC/D,oEAAoE;YACpE,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QAC3G,sEAAsE;QACtE,mEAAmE;QACnE,sDAAsD;QACtD,SAAS,EAAE,CAAC,kBAAkB,EAAE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;QAChF,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,wFAAwF,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC1N,OAAO,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,6DAA6D,EAAE,QAAQ,EAAE,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SAClQ;KACF;IACD;QACE,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,gFAAgF;QAC7F,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QAC1G,mEAAmE;QACnE,gEAAgE;QAChE,qDAAqD;QACrD,SAAS,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,kBAAkB,CAAC;QAClE,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,+DAA+D,EAAE,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;YAC3K,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,WAAW,EAAE,6DAA6D,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC1M;KACF;IACD;QACE,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,2FAA2F;QACxG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE;QACnG,mEAAmE;QACnE,oEAAoE;QACpE,wBAAwB;QACxB,SAAS,EAAE,CAAC,qBAAqB,EAAE,UAAU,CAAC;QAC9C,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,6EAA6E,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC1Q;KACF;IACD;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,2EAA2E;QACxF,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACtG,mEAAmE;QACnE,+DAA+D;QAC/D,qDAAqD;QACrD,SAAS,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,mBAAmB,CAAC;QACzD,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,WAAW,EAAE,yFAAyF,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SACnS;KACF;IACD;QACE,qEAAqE;QACrE,oEAAoE;QACpE,8DAA8D;QAC9D,6DAA6D;QAC7D,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,kGAAkG;QAC/G,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE;QACrG,IAAI,EAAE,CAAC,UAAU,CAAC;QAClB,iEAAiE;QACjE,mEAAmE;QACnE,wBAAwB;QACxB,SAAS,EAAE,CAAC,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,CAAC;QAChE,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,wFAAwF,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;SACjN;KACF;IACD;QACE,oEAAoE;QACpE,oEAAoE;QACpE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,oFAAoF;QACjG,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;YACzJ,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE;QACrH,qEAAqE;QACrE,qEAAqE;QACrE,oEAAoE;QACpE,sDAAsD;QACtD,SAAS,EAAE,CAAC,iBAAiB,EAAE,aAAa,CAAC;KAC9C;IACD;QACE,mEAAmE;QACnE,kEAAkE;QAClE,yCAAyC;QACzC,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,8EAA8E;QAC3F,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;YAC3I,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,EAAE;QAC7G,IAAI,EAAE,CAAC,aAAa,CAAC;QACrB,iEAAiE;QACjE,qEAAqE;QACrE,wBAAwB;QACxB,SAAS,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;QACrC,IAAI,EAAE;YACJ,OAAO,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,qEAAqE,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SACvQ;KACF;CACF,CAAC;AAEF,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAqB;IACvD,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QAChD,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;KACnB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,kEAAkE;AAClE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAS;IACrC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,YAAY;IAC5D,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,aAAa;IAC1D,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ;CAClF,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc,EAAE,SAAqB;IACnE,MAAM,CAAC,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC;IACtC,yEAAyE;IACzE,oEAAoE;IACpE,qEAAqE;IACrE,wEAAwE;IACxE,oDAAoD;IACpD,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QAC5C,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC;IAC5B,uEAAuE;IACvE,gEAAgE;IAChE,sEAAsE;IACtE,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC;YACzB,IAAI,EAAE,kCAAkC;YACxC,WAAW,EAAE,4FAA4F;YACzG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,SAAS;YAC7C,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ;YACxD,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI;SAC1D,CAAC,CAAC;QACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/B,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,sEAAsE;IACtE,kEAAkE;IAClE,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACxB,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,IAAI,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC;gBAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;YAAE,SAAS;QACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ;YAAE,SAAS;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAuC,CAAC;QACxF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,SAAS;QACnD,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;QAC/B,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC;QAC7B,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"archetypes.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/archetypes.ts"],"names":[],"mappings":"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"}
@@ -30,4 +30,16 @@ export declare class CompileCommand extends Command implements ICommand {
30
30
  protected static verb: string;
31
31
  protected static description: string;
32
32
  execute(args?: string[]): Promise<string>;
33
+ /**
34
+ * "decompile <name>": unmake a HOSTILE matrix construct -- ice, an
35
+ * enemy agent -- by tearing its thread apart (the offensive mirror of
36
+ * releasing your own sprite). Opposed Resonance + compiling vs the
37
+ * construct's code integrity (Willpower + Logic/2); net hits plus
38
+ * Resonance/2 land straight on its monitor, no soak -- the opposed
39
+ * test WAS the resistance. Fading bills the same toll as compiling
40
+ * (2x its hits, min 2). A failed pull leaves it standing, alert, and
41
+ * pointed at you. Returns undefined when the words name no hostile
42
+ * construct here (the summons flow's turn).
43
+ */
44
+ private tryDecompileEnemy;
33
45
  }
@@ -2,6 +2,7 @@ import { Command } from './command.js';
2
2
  import { rollPool, formatRoll } from '../utilities/dice.js';
3
3
  import { hint } from '../utilities/hints.js';
4
4
  import { fuzzyPickName } from '../utilities/fuzzy-match.js';
5
+ import { NPC } from '../models/npc.js';
5
6
  /** Exported for game.ts: re-shelling a REGISTERED sprite after travel
6
7
  * or a resumed save needs the same stat builder. */
7
8
  export const SPRITE_TYPES = {
@@ -38,10 +39,25 @@ export const SPRITE_TYPES = {
38
39
  };
39
40
  export class CompileCommand extends Command {
40
41
  static verb = 'compile';
41
- static description = 'Compile a sprite (technomancers): "compile <type> <level>" -- Resonance + compiling vs its Level; net hits are its tasks. Types: courier, crack, data, fault, machine. Fading 2x its hits (PHYSICAL past your Resonance). "compile" again decompiles.';
42
+ static description = 'Compile a sprite (technomancers): "compile <type> <level>" -- Resonance + compiling vs its Level; net hits are its tasks. Types: courier, crack, data, fault, machine. Fading 2x its hits (PHYSICAL past your Resonance). "compile" again decompiles. "decompile <name>" jacked in unravels a HOSTILE construct -- ice, enemy agents -- thread by thread.';
42
43
  async execute(args = []) {
43
44
  const actor = this.actor;
44
45
  const game = this.game;
46
+ // ENEMY DECOMPILING (RAW p.256, engine-adapted; player roadmap):
47
+ // "decompile <name>" against a hostile matrix construct unravels it
48
+ // instead of shooting it. Checked FIRST so naming an enemy never
49
+ // releases your own standing sprite -- but never when the words
50
+ // parse as a sprite-type request ("compile fault 4" stays a
51
+ // summons even if something hostile shares the name).
52
+ if (args && args.length > 0) {
53
+ const nameWords = args.map(w => w.toLowerCase()).filter(w => !/^\d+$/.test(w) && !/^(sprite|a|an|the)$/.test(w));
54
+ const isTypeRequest = nameWords.some(w => fuzzyPickName(w, Object.keys(SPRITE_TYPES)));
55
+ if (nameWords.length > 0 && !isTypeRequest) {
56
+ const unraveled = this.tryDecompileEnemy(nameWords.join(' '));
57
+ if (unraveled !== undefined)
58
+ return unraveled;
59
+ }
60
+ }
45
61
  // A standing sprite: bare "compile" (or any re-compile) releases it.
46
62
  const standing = game?.companions.find(c => c.kind === 'sprite');
47
63
  if (standing) {
@@ -142,5 +158,83 @@ export class CompileCommand extends Command {
142
158
  this.scene.updateStatus();
143
159
  return lines.join('\n');
144
160
  }
161
+ /**
162
+ * "decompile <name>": unmake a HOSTILE matrix construct -- ice, an
163
+ * enemy agent -- by tearing its thread apart (the offensive mirror of
164
+ * releasing your own sprite). Opposed Resonance + compiling vs the
165
+ * construct's code integrity (Willpower + Logic/2); net hits plus
166
+ * Resonance/2 land straight on its monitor, no soak -- the opposed
167
+ * test WAS the resistance. Fading bills the same toll as compiling
168
+ * (2x its hits, min 2). A failed pull leaves it standing, alert, and
169
+ * pointed at you. Returns undefined when the words name no hostile
170
+ * construct here (the summons flow's turn).
171
+ */
172
+ tryDecompileEnemy(query) {
173
+ const actor = this.actor;
174
+ const game = this.game;
175
+ const room = actor.currentLocation;
176
+ const hostiles = room.getActors().filter(a => a instanceof NPC
177
+ && a.plane === 'matrix'
178
+ && !game?.companions.some(c => c.npc === a));
179
+ if (hostiles.length === 0)
180
+ return undefined;
181
+ const picked = fuzzyPickName(query, hostiles.map(h => h.name));
182
+ if (!picked)
183
+ return undefined;
184
+ const target = hostiles.find(h => h.name === picked);
185
+ if (!actor.isTechnomancer()) {
186
+ return `Decompiling is Resonance work -- ${target.name}'s thread doesn't answer your hands.`;
187
+ }
188
+ if (actor.plane !== 'matrix') {
189
+ return `You can't grip a construct's thread from meatspace -- "jack in" and face ${target.name} on the grid.`;
190
+ }
191
+ if (actor.inExchange) {
192
+ return `Unraveling a construct takes more focus than the fight will give you.`;
193
+ }
194
+ const compiling = actor.skillRating('compiling');
195
+ const mine = rollPool(Math.max(1, actor.resonance + (compiling > 0 ? compiling : -1) + actor.woundModifier - actor.sustainingPenalty));
196
+ const theirs = rollPool(Math.max(1, target.willpower + Math.floor(target.logic / 2)));
197
+ const net = mine.hits - theirs.hits;
198
+ this.logger.meta(`Decompiling ${target.name}: ${formatRoll(mine)}`);
199
+ this.logger.meta(` its code holds: ${formatRoll(theirs)}`);
200
+ actor.performAction(`reaches into ${target.name}'s code, pulling at threads that were never meant to be touched`, '');
201
+ this.logger.write(`CompileCommand: ${actor.name} decompiles ${target.name} -- ${mine.hits} vs ${theirs.hits}.`);
202
+ const lines = [`You find ${target.name}'s thread and PULL AGAINST THE WEAVE:`];
203
+ if (net <= 0) {
204
+ lines.push(` Its code holds -- and now it KNOWS you, the touch traced straight back to your persona.`);
205
+ this.scene.addWorldEvent(`${actor.name} tried to decompile ${target.name} in ${room.name} -- and failed. It is alert.`);
206
+ }
207
+ else {
208
+ const dmg = net + Math.floor(actor.resonance / 2);
209
+ target.takeDamage(dmg);
210
+ if (target.isDown()) {
211
+ this.scene.addWorldEvent(`${actor.name} decompiled ${target.name} in ${room.name} -- unraveled to static.`);
212
+ this.scene.removeActor(target.name);
213
+ lines.push(` Thread by thread it comes APART -- ${dmg} boxes -- and ${target.name} unravels into clean static. Decompiled.`);
214
+ }
215
+ else {
216
+ this.scene.addWorldEvent(`${actor.name} tore at ${target.name}'s code in ${room.name}.`);
217
+ lines.push(` Threads tear loose -- ${dmg} boxes: it holds together, barely, and it's coming for you.`);
218
+ }
219
+ }
220
+ // Fading, the same toll compiling bills (p.256): 2x its hits, min 2,
221
+ // resisted Resonance + Willpower, landing as stun.
222
+ const fadingValue = Math.max(2, theirs.hits * 2);
223
+ const resist = rollPool(Math.max(1, actor.willpower + actor.resonance));
224
+ const fadingTaken = Math.max(0, fadingValue - resist.hits);
225
+ this.logger.meta(`Fading (${fadingValue}): resist ${formatRoll(resist)}`);
226
+ if (fadingTaken === 0) {
227
+ lines.push(` The fading washes past you.`);
228
+ }
229
+ else {
230
+ const { stun, overflow } = actor.takeStun(fadingTaken);
231
+ lines.push(` The fading bites -- ${stun} stun: ${actor.stunSummary()}`);
232
+ if (overflow > 0) {
233
+ lines.push(` It's more than your mind can hold -- ${overflow} box${overflow === 1 ? '' : 'es'} spill into your body: ${actor.conditionSummary()}`);
234
+ }
235
+ }
236
+ this.scene.updateStatus();
237
+ return lines.join('\n');
238
+ }
145
239
  }
146
240
  //# sourceMappingURL=compile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/compile.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,23 @@
1
1
  import { CastCommand } from './cast.js';
2
- /**
3
- * The magical barrier's OWN verb (player ruling: "solve" was too broad --
4
- * a ward wants "dispel", not a generic answer verb). Mechanically this IS
5
- * cast's ward-unweaving route -- same casting pool, same 2-hit threshold,
6
- * same backlash drain on a failure (both inherited from CastCommand) --
7
- * but it goes straight to the barrier: no spell-name resolution, so
8
- * "dispel ward" never wanders into spellcasting. Bare "cast" keeps
9
- * working as it always has.
10
- *
11
- * Registered under both spellings ("dispel" is the book's, "dispell" is
12
- * how half the table types it).
13
- */
14
2
  export declare class DispelCommand extends CastCommand {
15
3
  protected static verb: string;
16
4
  protected static description: string;
17
5
  protected verbName: string;
18
6
  protected noPuzzleMessage: string;
7
+ /**
8
+ * RAW dispelling (p.295): Magic + counterspelling -- the unweave is a
9
+ * parry, not a working, so the CASTING pool (cast's ward route) stays
10
+ * cast's. Unskilled follows the house -1 default; a gear-only caster
11
+ * (grimoire, no Magic) is down to scraps here -- their route is still
12
+ * "cast", which rolls the full casting pool.
13
+ */
14
+ protected determineOutcome(): Promise<boolean>;
15
+ private dispelPool;
19
16
  execute(args?: string[]): Promise<string>;
17
+ /**
18
+ * "dispel <name>" / "dispel invisibility on <name>": strip a sustained
19
+ * spell off an actor here. Returns undefined when the words name no
20
+ * actor in the room (the barrier flow's turn), a message otherwise.
21
+ */
22
+ private tryDispelSustained;
20
23
  }
@@ -1,22 +1,54 @@
1
1
  import { CastCommand } from './cast.js';
2
2
  import { BypassCommand } from './bypass-command.js';
3
+ import { rollPool, formatRoll } from '../utilities/dice.js';
4
+ import { fuzzyPickName } from '../utilities/fuzzy-match.js';
3
5
  /**
4
6
  * The magical barrier's OWN verb (player ruling: "solve" was too broad --
5
- * a ward wants "dispel", not a generic answer verb). Mechanically this IS
6
- * cast's ward-unweaving route -- same casting pool, same 2-hit threshold,
7
- * same backlash drain on a failure (both inherited from CastCommand) --
8
- * but it goes straight to the barrier: no spell-name resolution, so
9
- * "dispel ward" never wanders into spellcasting. Bare "cast" keeps
10
- * working as it always has.
7
+ * a ward wants "dispel", not a generic answer verb), and the second half
8
+ * of counterspelling (RAW p.295): "dispel <name>" unweaves a SUSTAINED
9
+ * SPELL off an actor in the room -- an enemy mage's invisibility, an
10
+ * armor weave, quickened reflexes -- Magic + counterspelling opposed by
11
+ * their grip on it. Barrier flow is unchanged: no actor match falls
12
+ * through to the ward route (same pool, backlash on failure, both
13
+ * inherited from CastCommand). Bare "cast" keeps working as it always
14
+ * has.
11
15
  *
12
16
  * Registered under both spellings ("dispel" is the book's, "dispell" is
13
17
  * how half the table types it).
14
18
  */
19
+ /** The dispellable sustained effects, in the order a bare "dispel
20
+ * <name>" strips them (biggest combat swing first). */
21
+ const SUSTAINED_EFFECTS = [
22
+ { key: 'armor', words: ['armor', 'armour'], label: 'armor weave',
23
+ has: p => p.sustainedArmor > 0, clear: p => p.setSustainedArmor(0) },
24
+ { key: 'invisibility', words: ['invisibility', 'invis', 'invisible'], label: 'invisibility',
25
+ has: p => p.sustainedInvisibility, clear: p => { p.sustainedInvisibility = false; } },
26
+ { key: 'reflexes', words: ['reflexes', 'reflex'], label: 'quickened reflexes',
27
+ has: p => p.sustainedReflexes, clear: p => { p.sustainedReflexes = false; } },
28
+ ];
15
29
  export class DispelCommand extends CastCommand {
16
30
  static verb = 'dispel';
17
- static description = 'Unweave a magical barrier -- a ward, glyph, or sigil -- with your casting pool (2+ hits). Fail, and the backlash BITES and the barrier seals against you for good (the real answer still works). "dispel north" or "dispel <name>" if there\'s more than one.';
31
+ static description = 'Unweave magic -- Magic + counterspelling. A barrier: "dispel" (or "dispel north"/"dispel <name>"; fail and the backlash BITES, the barrier seals for good). A SUSTAINED SPELL on someone: "dispel <name>" or "dispel invisibility on <name>" -- opposed by their grip; no backlash, retry freely.';
18
32
  verbName = 'dispel';
19
33
  noPuzzleMessage = `There's no magical barrier here to dispel.`;
34
+ /**
35
+ * RAW dispelling (p.295): Magic + counterspelling -- the unweave is a
36
+ * parry, not a working, so the CASTING pool (cast's ward route) stays
37
+ * cast's. Unskilled follows the house -1 default; a gear-only caster
38
+ * (grimoire, no Magic) is down to scraps here -- their route is still
39
+ * "cast", which rolls the full casting pool.
40
+ */
41
+ async determineOutcome() {
42
+ const roll = rollPool(this.dispelPool());
43
+ if (this.scene.isHumanControlled(this.actor)) {
44
+ this.logger.meta(`Counterspelling: ${formatRoll(roll)} (2+ to unweave)`);
45
+ }
46
+ return roll.hits >= 2;
47
+ }
48
+ dispelPool() {
49
+ const skill = this.actor.skillRating('counterspelling');
50
+ return Math.max(1, this.actor.magic + (skill > 0 ? skill : -1) + this.actor.woundModifier - this.actor.sustainingPenalty);
51
+ }
20
52
  async execute(args = []) {
21
53
  // The counter-weave is still an incantation -- it carries (sneak ends),
22
54
  // and it takes the talent or the gear, same as any working.
@@ -24,9 +56,91 @@ export class DispelCommand extends CastCommand {
24
56
  if (!this.actor.isCaster()) {
25
57
  return `Unweaving a ward takes talent you don't have -- you'd need to be Awakened, or have a spell formula, grimoire, or focus on you.`;
26
58
  }
59
+ // An actor's name beats a barrier noun -- "dispel ghost" means the
60
+ // mage, "dispel ward" falls through to the barrier route below.
61
+ if (args && args.length > 0) {
62
+ const sustained = this.tryDispelSustained(args);
63
+ if (sustained !== undefined)
64
+ return sustained;
65
+ }
27
66
  // Skip CastCommand's spell-name resolution entirely -- dispel only
28
- // ever means the barrier.
67
+ // ever means a barrier or a sustained spell.
29
68
  return BypassCommand.prototype.execute.call(this, args);
30
69
  }
70
+ /**
71
+ * "dispel <name>" / "dispel invisibility on <name>": strip a sustained
72
+ * spell off an actor here. Returns undefined when the words name no
73
+ * actor in the room (the barrier flow's turn), a message otherwise.
74
+ */
75
+ tryDispelSustained(args) {
76
+ const lowered = args.map(w => w.toLowerCase());
77
+ const named = SUSTAINED_EFFECTS.find(e => lowered.some(w => e.words.includes(w)));
78
+ const nameWords = lowered.filter(w => !/^(on|the|a|an|off|from)$/.test(w) && !SUSTAINED_EFFECTS.some(e => e.words.includes(w)));
79
+ const room = this.actor.currentLocation;
80
+ const candidates = room.getActors().filter(a => this.actor.canPerceive(a));
81
+ const targetName = nameWords.length > 0
82
+ ? fuzzyPickName(nameWords.join(' '), candidates.map(a => a.name))
83
+ : undefined;
84
+ // Effect named but no target -- find whoever here holds it.
85
+ let target = targetName ? candidates.find(a => a.name === targetName) : undefined;
86
+ if (!target && named) {
87
+ const holders = candidates.filter(a => named.has(a));
88
+ if (holders.length === 1)
89
+ target = holders[0];
90
+ else if (holders.length > 1)
91
+ return `More than one weave of ${named.label} here -- name whose: "dispel ${named.words[0]} on <name>".`;
92
+ }
93
+ if (!target)
94
+ return undefined;
95
+ const held = SUSTAINED_EFFECTS.filter(e => e.has(target));
96
+ if (named && !named.has(target)) {
97
+ return held.length > 0
98
+ ? `${target.name} isn't holding ${named.label} -- what you're reading off them is ${held.map(e => e.label).join(' and ')}.`
99
+ : `There's no ${named.label} on ${target.name} to unweave.`;
100
+ }
101
+ if (held.length === 0) {
102
+ // Canon nicety: Resonance workings aren't mana -- a mage's
103
+ // counterspelling gets no grip on a technomancer's threaded forms.
104
+ if ((target.sustainedForms?.length ?? 0) > 0) {
105
+ return `What's woven around ${target.name} isn't mana -- it's RESONANCE. Your counterspelling finds nothing to grip.`;
106
+ }
107
+ // A fuzzy actor hit holding nothing, with a warded barrier standing
108
+ // here and no effect named ("dispel ward" grazing an NPC called
109
+ // Warden): the word was probably aimed at the barrier -- yield.
110
+ const barriers = (room.getPuzzleTargets() ?? []).filter(t => t.puzzle.bypassType === 'spell');
111
+ if (barriers.length > 0 && !named)
112
+ return undefined;
113
+ return target === this.actor
114
+ ? `Nothing of yours is sustained right now.`
115
+ : `No sustained spell clings to ${target.name}.`;
116
+ }
117
+ const effect = named ?? held[0];
118
+ // Your own weave doesn't fight you -- releasing is free (same as
119
+ // casting the spell again to drop it).
120
+ if (target === this.actor) {
121
+ effect.clear(target);
122
+ this.scene.updateStatus();
123
+ return `You open your grip and the ${effect.label} unravels. (Your own weave releases for free -- no dice.)`;
124
+ }
125
+ // The opposed unweave (engine-adapted p.295): Magic + counterspelling
126
+ // vs their grip on it -- Willpower + Magic/2. No backlash and no
127
+ // burn either way: a held weave can be worried at again.
128
+ const mine = rollPool(this.dispelPool());
129
+ const grip = rollPool(Math.max(1, target.willpower + Math.floor(target.magic / 2)));
130
+ const net = mine.hits - grip.hits;
131
+ if (this.scene.isHumanControlled(this.actor)) {
132
+ this.logger.meta(`Counterspelling (dispel ${effect.label}): ${formatRoll(mine)}`);
133
+ this.logger.meta(` ${target.name}'s grip: ${formatRoll(grip)}`);
134
+ }
135
+ this.actor.performAction(`pulls at the threads of the magic around ${target.name}`, '');
136
+ this.logger.write(`DispelCommand: ${this.actor.name} dispels ${effect.key} on ${target.name} -- ${mine.hits} vs ${grip.hits}.`);
137
+ if (net <= 0) {
138
+ return `You find the threads of ${target.name}'s ${effect.label} -- and their grip HOLDS. The weave shudders but stands. (No harm done; you can try again.)`;
139
+ }
140
+ effect.clear(target);
141
+ this.scene.addWorldEvent(`${this.actor.name} dispelled the ${effect.label} sustained on ${target.name} in ${room.name}.`);
142
+ this.scene.updateStatus();
143
+ return `You pinch the weave of ${target.name}'s ${effect.label} and PULL -- it unravels to nothing. The magic is gone.`;
144
+ }
31
145
  }
32
146
  //# sourceMappingURL=dispel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dispel.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/dispel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAc,SAAQ,WAAW;IAClC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,MAAM,CAAC,WAAW,GAAG,+PAA+P,CAAC;IACrR,QAAQ,GAAG,QAAQ,CAAC;IACpB,eAAe,GAAG,4CAA4C,CAAC;IAEzE,KAAK,CAAC,OAAO,CAAC,OAAiB,EAAE;QAC/B,wEAAwE;QACxE,4DAA4D;QAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YAC3B,OAAO,gIAAgI,CAAC;QAC1I,CAAC;QACD,mEAAmE;QACnE,0BAA0B;QAC1B,OAAO,aAAa,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC"}
1
+ {"version":3,"file":"dispel.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/dispel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { Command, ICommand } from './command.js';
2
+ /**
3
+ * Free-text roleplay (player request 2026-08-23): "emote sits on the
4
+ * stool" prints as third-person action -- "Maka sits on the stool" --
5
+ * to the whole room. Delivery rides performAction's existing watcher
6
+ * fan-out: co-located players SEE it (Player.see renders it cyan), and
7
+ * NPC AIs receive it as an observed action to react to (or not) like
8
+ * any other. Deliberately mechanics-free: no dice, no sneak break, no
9
+ * state change -- it's a stage direction, not a move. ("me" is the
10
+ * classic MUD alias.)
11
+ */
12
+ export declare class EmoteCommand extends Command implements ICommand {
13
+ protected static verb: string;
14
+ protected static description: string;
15
+ private static readonly MAX_LENGTH;
16
+ execute(args: string[]): Promise<string>;
17
+ }
@@ -0,0 +1,32 @@
1
+ import { Command } from './command.js';
2
+ /**
3
+ * Free-text roleplay (player request 2026-08-23): "emote sits on the
4
+ * stool" prints as third-person action -- "Maka sits on the stool" --
5
+ * to the whole room. Delivery rides performAction's existing watcher
6
+ * fan-out: co-located players SEE it (Player.see renders it cyan), and
7
+ * NPC AIs receive it as an observed action to react to (or not) like
8
+ * any other. Deliberately mechanics-free: no dice, no sneak break, no
9
+ * state change -- it's a stage direction, not a move. ("me" is the
10
+ * classic MUD alias.)
11
+ */
12
+ export class EmoteCommand extends Command {
13
+ static verb = 'emote';
14
+ static description = 'Act out anything, free-form: "emote sits on the stool" prints as "<you> sits on the stool" to everyone in the room. Pure roleplay -- no dice, no mechanics.';
15
+ static MAX_LENGTH = 200;
16
+ async execute(args) {
17
+ const text = (args ?? []).join(' ').trim();
18
+ if (!text) {
19
+ return `Emote what? ("emote sits on the stool", "emote lays on the bed")`;
20
+ }
21
+ if (text.length > EmoteCommand.MAX_LENGTH) {
22
+ return `That's a monologue, not an emote -- keep it under ${EmoteCommand.MAX_LENGTH} characters.`;
23
+ }
24
+ // The whole typed action IS the verb -- performAction's watchers
25
+ // render "<name> <verb>" and the NPC AI reads it the same way.
26
+ // (Empty-string details, not undefined: Player.see template-prints
27
+ // details verbatim.)
28
+ this.actor.performAction(text, '');
29
+ return `{cyan-fg}${this.actor.name} ${text}{/cyan-fg}`;
30
+ }
31
+ }
32
+ //# sourceMappingURL=emote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emote.js","sourceRoot":"","sources":["../../../../../../../src/commands/game/sideQuest/commands/emote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAY,MAAM,cAAc,CAAC;AAEjD;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IAC7B,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC;IACtB,MAAM,CAAC,WAAW,GAAG,6JAA6J,CAAC;IAErL,MAAM,CAAU,UAAU,GAAG,GAAG,CAAC;IAEzC,KAAK,CAAC,OAAO,CAAC,IAAc;QAC1B,MAAM,IAAI,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,kEAAkE,CAAC;QAC5E,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;YAC1C,OAAO,qDAAqD,YAAY,CAAC,UAAU,cAAc,CAAC;QACpG,CAAC;QAED,iEAAiE;QACjE,+DAA+D;QAC/D,mEAAmE;QACnE,qBAAqB;QACrB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACnC,OAAO,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,YAAY,CAAC;IACzD,CAAC"}
@@ -16,4 +16,4 @@
16
16
  * No import.meta here (engine-graph law) -- this file is loaded by the
17
17
  * server.
18
18
  */
19
- export declare const ENGINE_VERSION = "1.2.0";
19
+ export declare const ENGINE_VERSION = "1.4.0";
@@ -19,5 +19,9 @@
19
19
  // 1.1.0 (2026-08-23): threading + sprite registration verbs in shared
20
20
  // scenes; ghost mechanic removed; one-table-at-a-time party rules.
21
21
  // 1.2.0 (2026-08-23): barrier verbs dispel/breach in shared scenes.
22
- export const ENGINE_VERSION = '1.2.0';
22
+ // 1.3.0 (2026-08-23): emote verb; counterspelling (dispel pool, party
23
+ // spell defense) changes shared combat math.
24
+ // 1.4.0 (2026-08-23): dispel targets sustained spells; decompile
25
+ // targets hostile matrix constructs.
26
+ export const ENGINE_VERSION = '1.4.0';
23
27
  //# sourceMappingURL=engine-version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
1
+ {"version":3,"file":"engine-version.js","sourceRoot":"","sources":["../../../../../../src/commands/game/sideQuest/engine-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,sEAAsE;AACtE,mEAAmE;AACnE,oEAAoE;AACpE,sEAAsE;AACtE,6CAA6C;AAC7C,iEAAiE;AACjE,qCAAqC;AACrC,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC"}
@@ -104,6 +104,7 @@ import { PersuadeCommand } from './commands/persuade.js';
104
104
  import { BluffCommand } from './commands/bluff.js';
105
105
  import { DispelCommand } from './commands/dispel.js';
106
106
  import { BreachCommand } from './commands/breach.js';
107
+ import { EmoteCommand } from './commands/emote.js';
107
108
  import { AutoFight } from './utilities/auto-fight.js';
108
109
  import { CommandFactory } from './factories/command-factory.js';
109
110
  import { SceneSynthesizer } from './factories/scene-factory.js';
@@ -1660,6 +1661,9 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
1660
1661
  CommandFactory.registerCommand('dispel', DispelCommand);
1661
1662
  CommandFactory.registerCommand('dispell', DispelCommand);
1662
1663
  CommandFactory.registerCommand('breach', BreachCommand);
1664
+ // Free-form roleplay ("me" is the classic MUD spelling).
1665
+ CommandFactory.registerCommand('emote', EmoteCommand);
1666
+ CommandFactory.registerCommand('me', EmoteCommand);
1663
1667
  }
1664
1668
  determineStartRoom() {
1665
1669
  return this.scene.determineStartRoom();
@@ -3275,7 +3279,7 @@ ${client.name} won't be remembering anything. Dead Johnsons pay nothing -- and t
3275
3279
  // The Emerged get their own shelf (player request: "there MUST be
3276
3280
  // resonance" -- matrix is the place, Resonance is the talent).
3277
3281
  { title: 'resonance', entries: [['compile', 'decompile'], ['thread'], ['register']] },
3278
- { title: 'social', entries: [['say'], ['talk-to'], ['call'], ['end-call', 'end', 'hangup'], ['accept'], ['decline', 'deny', 'refuse'], ['haggle', 'negotiate'], ['persuade', 'convince'], ['ask'], ['contacts']] },
3282
+ { title: 'social', entries: [['say'], ['emote', 'me'], ['talk-to'], ['call'], ['end-call', 'end', 'hangup'], ['accept'], ['decline', 'deny', 'refuse'], ['haggle', 'negotiate'], ['persuade', 'convince'], ['ask'], ['contacts']] },
3279
3283
  { title: 'street', entries: [['browse', 'buy'], ['sell'], ['catalog'], ['source', 'procure'], ['work', 'gig'], ['perform'], ['palm'], ['docwagon'], ['treat'], ['eat'], ['drink'], ['lifestyle'], ['pay']] },
3280
3284
  { title: 'barriers', entries: [['solve'], ['pick'], ['breach'], ['dispel', 'dispell'], ['bluff'], ['unlock'], ['lock']] },
3281
3285
  { title: 'character', entries: [['sheet', 'stats'], ['advance'], ['qualities', 'quality'], ['initiate', 'submerge'], ['install', 'chrome']] },