@maka/maka-cli 5.201.0 → 5.203.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 (25) hide show
  1. package/bundle/typescript/package.json +1 -1
  2. package/bundle/typescript/src/commands/game/sideQuest/commands/compile.js +7 -0
  3. package/bundle/typescript/src/commands/game/sideQuest/commands/erase-mark.js +13 -2
  4. package/bundle/typescript/src/commands/game/sideQuest/commands/order.js +11 -1
  5. package/bundle/typescript/src/commands/game/sideQuest/engine-version.js +48 -1
  6. package/bundle/typescript/src/commands/game/sideQuest/factories/npc-factory.js +37 -1
  7. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-chunks.js +109 -11
  8. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-factory.js +41 -9
  9. package/bundle/typescript/src/commands/game/sideQuest/factories/scene-seed-generator.js +10 -1
  10. package/bundle/typescript/src/commands/game/sideQuest/game.js +5 -1
  11. package/bundle/typescript/src/commands/game/sideQuest/models/item.js +19 -0
  12. package/bundle/typescript/src/commands/game/sideQuest/models/npc.js +12 -0
  13. package/bundle/typescript/src/commands/game/sideQuest/models/player.js +18 -0
  14. package/bundle/typescript/src/commands/game/sideQuest/models/room.js +11 -2
  15. package/bundle/typescript/src/commands/game/sideQuest/models/scene.js +23 -3
  16. package/bundle/typescript/src/commands/game/sideQuest/npc-kits.js +295 -0
  17. package/bundle/typescript/src/commands/game/sideQuest/utilities/catalog.js +34 -0
  18. package/bundle/typescript/src/commands/game/sideQuest/utilities/combat-turn.js +87 -0
  19. package/bundle/typescript/src/commands/game/sideQuest/utilities/commerce.js +5 -0
  20. package/bundle/typescript/src/commands/game/sideQuest/utilities/ephemeral.js +17 -3
  21. package/bundle/typescript/src/commands/game/sideQuest/utilities/npc-combat-brain.js +36 -0
  22. package/bundle/typescript/src/commands/game/sideQuest/utilities/persistence.js +4 -0
  23. package/bundle/typescript/src/commands/game/sideQuest/utilities/sin.js +13 -3
  24. package/bundle/typescript/src/commands/game/sideQuest/utilities/street-gang.js +25 -13
  25. package/package.json +1 -1
@@ -38,21 +38,32 @@ import { AI } from '../../../../tools/ai/ai.class.js';
38
38
  * the ephemeral never decides anything.
39
39
  */
40
40
  /**
41
- * PROFESSIONAL RATING 1 GANGER, canon stats (SR5 p.382, "Gangers &
42
- * Street Scum"): B/A/R/S 4, W/L/I/C 3, with Blades, Clubs,
43
- * Intimidation, Pistols and Unarmed Combat.
41
+ * PROFESSIONAL RATING 1 GANGER (SR5 p.382, "Gangers & Street Scum"):
42
+ * the catalog's `gangers` npc-kit row -- B/A 4, R 3, S 4, W/I/C 3, L 2,
43
+ * Blades 4 / Clubs 3 / Intimidation 4 / Pistols 4 / Unarmed 3,
44
+ * Toughness, an armor vest, a Browning Ultra-Power, a knife and a Meta
45
+ * Link (npc-kits.ts; the rows live on maka-cli.com, catalog v21).
44
46
  *
45
- * Copied rather than invented, and deliberately NOT scaled up. Canon's
46
- * own barrens encounter calls a gang ambush "a straightforward, quick,
47
- * and easy fight" for runners (Splintered State p.11). A mob that
48
- * threatened a professional crew would be a set piece, and a set piece
49
- * is a scene NPC's job, not a passing face's.
47
+ * THIS USED TO BE A CONSTANT HERE, and the constant was the bug. It
48
+ * said "canon stats" while giving them `firearms: 3` -- a skill that
49
+ * has not existed since stage 3 (skills.ts), written and never read --
50
+ * and no gun, so a "ganger with Pistols" always closed to punching
51
+ * range. The row carries the book's line, gear included, and a
52
+ * pre-v21 cache resolves to no kit, in which case the fallback block
53
+ * below is what they get: the old numbers, minus the dead key.
54
+ *
55
+ * Deliberately NOT scaled up. Canon's own barrens encounter calls a
56
+ * gang ambush "a straightforward, quick, and easy fight" for runners
57
+ * (Splintered State p.11). A mob that threatened a professional crew
58
+ * would be a set piece, and a set piece is a scene NPC's job, not a
59
+ * passing face's.
50
60
  */
51
- const GANGER_COMBAT = {
52
- body: 4, agility: 4, reaction: 4, strength: 4,
53
- willpower: 3, logic: 3, intuition: 3, charisma: 3,
61
+ export const GANGER_KIT = 'gangers';
62
+ const GANGER_FALLBACK_COMBAT = {
63
+ body: 4, agility: 4, reaction: 3, strength: 4,
64
+ willpower: 3, logic: 2, intuition: 3, charisma: 3,
54
65
  edge: 1, combatSkill: 3,
55
- skills: { blades: 3, clubs: 3, intimidation: 3, firearms: 3, unarmed: 3, perception: 2 },
66
+ skills: { blades: 4, clubs: 3, intimidation: 4, pistols: 4, unarmed: 3, perception: 2 },
56
67
  };
57
68
  /** How often a street corner turns out to be somebody's corner. */
58
69
  const GANG_CHANCE = 0.08;
@@ -116,7 +127,8 @@ export function maybeStreetGang(host, actor, room) {
116
127
  // with it through the doorway.
117
128
  until: 'fight',
118
129
  room,
119
- combat: GANGER_COMBAT,
130
+ kit: GANGER_KIT,
131
+ combat: GANGER_FALLBACK_COMBAT,
120
132
  });
121
133
  if (!npc)
122
134
  continue;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.201.0",
3
+ "version": "5.203.0",
4
4
  "type": "module",
5
5
  "summary": "A command line tool for scaffolding Meteor 3.x applications using either React.",
6
6
  "description": "A command line tool for scaffolding Meteor 3.x applications using React.",