@maka/maka-cli 5.211.0 → 5.212.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.
|
|
3
|
+
"version": "5.212.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.",
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Command } from './command.js';
|
|
2
|
+
import { billAction } from '../utilities/action-cost.js';
|
|
2
3
|
import { roomsInReach, gridVicinity } from '../utilities/grid-reach.js';
|
|
3
4
|
import { hint } from '../utilities/hints.js';
|
|
4
5
|
import { Category } from '../types/shared/item-enum.js';
|
|
@@ -38,11 +39,15 @@ import { fileReach, planeTintItemName } from '../utilities/planes.js';
|
|
|
38
39
|
* else's sprite is not a shelf you may take from -- that is a hack, and
|
|
39
40
|
* hack.ts owns it.
|
|
40
41
|
*
|
|
41
|
-
* DELIBERATELY NOT A TEST. Pulling a file you
|
|
42
|
-
* not an opposed action in this engine --
|
|
43
|
-
* either, and getting past whatever GUARDED
|
|
44
|
-
* crack and the mark already charged for.
|
|
45
|
-
* the same obstacle twice.
|
|
42
|
+
* DELIBERATELY NOT A TEST -- BUT IT IS AN ACTION. Pulling a file you
|
|
43
|
+
* already have reach on is not an opposed action in this engine --
|
|
44
|
+
* `take` does not roll for it either, and getting past whatever GUARDED
|
|
45
|
+
* the file is what the host crack and the mark already charged for.
|
|
46
|
+
* Adding dice here would price the same obstacle twice.
|
|
47
|
+
*
|
|
48
|
+
* The TIME is a separate bill, and it was going unpaid: copying a file
|
|
49
|
+
* is Edit File, a COMPLEX ACTION (p.239). See the billAction call in
|
|
50
|
+
* execute() for what that was costing in a fight.
|
|
46
51
|
*/
|
|
47
52
|
export class DownloadCommand extends Command {
|
|
48
53
|
static verb = 'download';
|
|
@@ -116,6 +121,27 @@ export class DownloadCommand extends Command {
|
|
|
116
121
|
if (wc?.type === 'erase' && wc.item.toLowerCase() === item.name.toLowerCase()) {
|
|
117
122
|
return `Pulling ${item.name} down changes nothing -- the desk keeps its own. ${hint(`"erase ${item.name}" is what makes it go away (Edit File, p.239).`)}`;
|
|
118
123
|
}
|
|
124
|
+
// COPYING A FILE IS EDIT FILE, AND EDIT FILE IS A COMPLEX ACTION
|
|
125
|
+
// (p.239: "Edit File allows you to create, change, COPY, delete, or
|
|
126
|
+
// protect any kind of file"). The no-dice ruling above stands -- the
|
|
127
|
+
// host crack already charged for the obstacle -- but "not a test"
|
|
128
|
+
// was silently read as "not an action", and in a Combat Turn that is
|
|
129
|
+
// a different claim entirely. Found in jfjjTmJ7NYwDaFiyB's own
|
|
130
|
+
// bench: walking into a rating-3 host wakes Patrol IC, `search` is
|
|
131
|
+
// correctly refused ("a Matrix Search takes minutes ... a Combat
|
|
132
|
+
// Turn is three seconds") and `download` then emptied the archive
|
|
133
|
+
// for FREE with the ice mid-turn on the runner. That makes the fight
|
|
134
|
+
// the report asked for optional -- stroll in, take the paydata, and
|
|
135
|
+
// the ice never mattered.
|
|
136
|
+
//
|
|
137
|
+
// billAction is a no-op outside an encounter, so the quiet case --
|
|
138
|
+
// an empty host, a file loose on the grid -- is untouched: still one
|
|
139
|
+
// verb, no roll, no friction. It bills only where an action economy
|
|
140
|
+
// exists to bill against, and a refusal returns BEFORE the item
|
|
141
|
+
// moves, so a runner out of actions keeps both the file and the turn.
|
|
142
|
+
const bill = billAction(this.scene, actor, 'complex', 'Edit File (copy)');
|
|
143
|
+
if (bill)
|
|
144
|
+
return bill;
|
|
119
145
|
// THE CONVERSION, identical to take.ts's. Same two fields, because a
|
|
120
146
|
// file that came down by one verb and a file that came down by the
|
|
121
147
|
// other must be the same object afterwards -- a chip you can `give`.
|
|
@@ -984,5 +984,30 @@
|
|
|
984
984
|
// that reads like an icon you could act on. It is dropped when it
|
|
985
985
|
// lands first. (1.69.0 fixed the same heading leaking into the
|
|
986
986
|
// distance bands; this is the other half.)
|
|
987
|
-
|
|
987
|
+
// 1.72.0 (2026-09-16): COPYING A FILE IS AN ACTION, NOT JUST A VERB
|
|
988
|
+
// (jfjjTmJ7NYwDaFiyB, Ted: "the encrypted data chip was just laying
|
|
989
|
+
// there in the meat world...hardly a fun run for a decker that never
|
|
990
|
+
// needs to attack a host, get the data, download it, and get out").
|
|
991
|
+
// The generation half of that report shipped in 5.171.0 -- a
|
|
992
|
+
// data-shaped objective for a runner who can jack in is paydata on a
|
|
993
|
+
// host, refused at the skeleton. Building this item's bench on top of
|
|
994
|
+
// it is what exposed the rest: walk into a rating-3 host, Patrol IC
|
|
995
|
+
// opens a Combat Turn, "search" refuses itself correctly ("a Matrix
|
|
996
|
+
// Search takes minutes (p.241), and a Combat Turn is three seconds")
|
|
997
|
+
// -- and "download" then emptied the archive for FREE with the ice
|
|
998
|
+
// mid-turn on the runner. The fight the report asked for was
|
|
999
|
+
// optional: stroll in, take the paydata, the ice never mattered.
|
|
1000
|
+
// Copying a file IS Edit File, and Edit File IS a Complex Action
|
|
1001
|
+
// (p.239, RAG-checked: "Edit File allows you to create, change, COPY,
|
|
1002
|
+
// delete, or protect any kind of file"). download.ts now bills one.
|
|
1003
|
+
// The deliberate no-dice ruling it was built with stands untouched --
|
|
1004
|
+
// the host crack already charged for the obstacle, and dice here would
|
|
1005
|
+
// price it twice -- but "not a test" had been read as "not an action",
|
|
1006
|
+
// and in a Combat Turn those are different claims. billAction is a
|
|
1007
|
+
// no-op outside an encounter, so the quiet case (an empty host, a file
|
|
1008
|
+
// loose on the grid) is exactly as it was: one verb, no roll, no
|
|
1009
|
+
// friction. The refusal returns before the item moves, so a runner out
|
|
1010
|
+
// of actions keeps both the file and the turn, and listing what is in
|
|
1011
|
+
// reach ("download" bare) still costs nothing.
|
|
1012
|
+
export const ENGINE_VERSION = '1.72.0';
|
|
988
1013
|
//# sourceMappingURL=engine-version.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.212.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.",
|