@maka/maka-cli 5.153.0 → 5.154.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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.153.0",
3
+ "version": "5.154.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.",
@@ -2,6 +2,7 @@ import { Command } from './command.js';
2
2
  import { Category } from '../types/shared/item-enum.js';
3
3
  import { Item } from '../models/item.js';
4
4
  import { billAction, encounterOf, phaseHint } from '../utilities/action-cost.js';
5
+ import { fuzzyPickName } from '../utilities/fuzzy-match.js';
5
6
  /**
6
7
  * Refills the equipped firearm's magazine by consuming one
7
8
  * Ammunition-category item from the pack. Every shot spends a round --
@@ -20,7 +21,7 @@ import { billAction, encounterOf, phaseHint } from '../utilities/action-cost.js'
20
21
  export class ReloadCommand extends Command {
21
22
  static verb = 'reload';
22
23
  static description = 'Reload your equipped firearm -- consumes one Ammunition item from your pack. In a fight it takes the whole Action Phase (Remove Clip + Insert Clip, SR5 p.163), or a Free + a Simple with a smartgun you\'re linked to (p.164).';
23
- async execute(_args = []) {
24
+ async execute(args = []) {
24
25
  const actor = this.actor;
25
26
  if (this.scene.isHumanControlled(actor) && this.scene.isPlayerExchangeActive(actor.name)) {
26
27
  return `No time -- the exchange is still resolving. Reload in the lull.`;
@@ -32,10 +33,25 @@ export class ReloadCommand extends Command {
32
33
  if (weapon.ammo >= weapon.magazineCapacity) {
33
34
  return `The ${weapon.name} is already fully loaded (${weapon.ammo}/${weapon.magazineCapacity}).`;
34
35
  }
35
- // NON-LETHAL STANCE: stun rounds first if you carry any (gel,
36
- // stick-n-shock -- p.434); otherwise whatever is in the pack.
37
36
  const boxes = actor.inventory.getAllItems().filter(i => i.category === Category.Ammunition);
38
- const ammo = (actor.autoStance === 'non-lethal' ? boxes.find(b => Item.isStunAmmo(b)) : undefined) ?? boxes[0];
37
+ // "reload APDS Rounds" names which box to slap home -- the arg was
38
+ // being silently discarded (bktSfejkhvmjFZ5EH), always loading the
39
+ // stance default instead of what the player actually asked for.
40
+ let ammo;
41
+ if (args.length > 0) {
42
+ const requested = args.join(' ');
43
+ const picked = fuzzyPickName(requested, boxes.map(b => b.name));
44
+ ammo = picked ? boxes.find(b => b.name === picked) : undefined;
45
+ if (!ammo) {
46
+ const present = boxes.map(b => b.name).join(', ') || 'none';
47
+ return `You're not carrying any ammunition named "${requested}" -- carrying: ${present}.`;
48
+ }
49
+ }
50
+ else {
51
+ // NON-LETHAL STANCE: stun rounds first if you carry any (gel,
52
+ // stick-n-shock -- p.434); otherwise whatever is in the pack.
53
+ ammo = (actor.autoStance === 'non-lethal' ? boxes.find(b => Item.isStunAmmo(b)) : undefined) ?? boxes[0];
54
+ }
39
55
  if (!ammo) {
40
56
  return `No ammunition in your pack -- the ${weapon.name} stays at ${weapon.ammo}/${weapon.magazineCapacity}. Find a spare clip.`;
41
57
  }
@@ -130,7 +130,7 @@ function renderRow(item) {
130
130
  // extra steps (user, 2026-08-30).
131
131
  const liveReason = liveReasonOf(item.repro);
132
132
  Log.plain(liveReason
133
- ? ` ${Log.colors.warn(`${liveReason} -- card: maka play --backlog ${item._id}`)}`
133
+ ? ` ${Log.colors.warn(`${liveReason} -- card: maka play:backlog ${item._id}`)}`
134
134
  : ` ${Log.colors.success(`bench: maka play --repro ${item._id}`)}${benchLockNote(item)}`);
135
135
  }
136
136
  }
@@ -286,7 +286,7 @@ export async function dumpBacklog(opts = {}) {
286
286
  if (!found) {
287
287
  if (!items.some(it => it._id.startsWith(id))) {
288
288
  Log.error(`No item with id "${id}" on the board${filter ? ` in ${filter}` : ''}.`);
289
- Log.info('`maka play --backlog` lists them -- every row carries its id.');
289
+ Log.info('`maka play:backlog` lists them -- every row carries its id.');
290
290
  }
291
291
  return;
292
292
  }
@@ -333,7 +333,7 @@ const ShadowrunCommand = Command.create({
333
333
  }
334
334
  if (found.outcome === 'not-found') {
335
335
  Log.error(`Nothing in your review queue matches "${reproTarget}".`);
336
- Log.info('`maka play --backlog --filter in-review` lists them, with ids.');
336
+ Log.info('`maka play:backlog --filter in-review` lists them, with ids.');
337
337
  return;
338
338
  }
339
339
  if (found.outcome === 'no-repro') {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@maka/maka-cli",
3
- "version": "5.153.0",
3
+ "version": "5.154.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.",