@maka/maka-cli 5.234.0 → 5.235.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.235.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.",
|
|
@@ -1490,5 +1490,20 @@
|
|
|
1490
1490
|
// Nothing here is new to this engine: clue-reading has used p.49 and
|
|
1491
1491
|
// the same -2 since 1.40. It had simply never been pointed at the one
|
|
1492
1492
|
// test a player can repeat by holding down a key.
|
|
1493
|
-
|
|
1493
|
+
// 1.85.1 (2026-09-16): THE GRID WAS ANNOUNCED BUT NEVER CHARGED
|
|
1494
|
+
// Asked while reading a sweep transcript: "is the grid type being
|
|
1495
|
+
// applied?" The banner says it plainly --
|
|
1496
|
+
// "Riding the public grid (-2 on everything you do, p.233)"
|
|
1497
|
+
// -- and the sweep was not paying it. Player.matrixActionPenalty is
|
|
1498
|
+
// ONLY the running-silent -2; the grid modifier is a separate helper
|
|
1499
|
+
// (grids.ts gridActionModifier) that every other Matrix verb calls
|
|
1500
|
+
// and spotHiddenIcons never did. So the -2 was printed on screen and
|
|
1501
|
+
// then left out of the one roll the player was watching, which is the
|
|
1502
|
+
// same class of defect as the Firewall label a version ago: the text
|
|
1503
|
+
// made a claim the dice did not honour.
|
|
1504
|
+
// The sweep now takes it, and the mechanics line shows '[public grid
|
|
1505
|
+
// -2]' where it applied. Inside a host it is correctly nothing -- a
|
|
1506
|
+
// host's interior is not on a grid -- and it stacks with p.49's retry
|
|
1507
|
+
// penalty, so a public-grid decker gets 5, 3, 1, none.
|
|
1508
|
+
export const ENGINE_VERSION = '1.85.1';
|
|
1494
1509
|
//# sourceMappingURL=engine-version.js.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { rollPool, formatRoll } from './dice.js';
|
|
2
2
|
import { deviceHidePool, wanHidePool } from './matrix-intrusion.js';
|
|
3
3
|
import { isWatched, cameraMasterHost } from './surveillance.js';
|
|
4
|
+
import { gridActionModifier, gridNote } from './grids.js';
|
|
4
5
|
function hiddenDevice(device, master) {
|
|
5
6
|
// p.235-236: the hider rolls LOGIC + SLEAZE. Not Firewall -- that
|
|
6
7
|
// resists an intrusion (p.238/p.240) and has nothing to do with being
|
|
@@ -128,8 +129,17 @@ export function spotHiddenIcons(scene, actor, room) {
|
|
|
128
129
|
// because that is what stops the grind: a pool reduced to nothing
|
|
129
130
|
// cannot be rolled, so after enough failures you are not looking
|
|
130
131
|
// harder, you are done looking until you take the break p.49 names.
|
|
132
|
+
// THE GRID YOU ARE RIDING (p.233), which the banner has been promising
|
|
133
|
+
// and the dice were not paying: "Riding the public grid (-2 on
|
|
134
|
+
// everything you do)". matrixActionPenalty is ONLY the running-silent
|
|
135
|
+
// -2 -- the grid modifier is a separate helper that every other Matrix
|
|
136
|
+
// verb calls and this sweep never did, so the public grid's -2 was
|
|
137
|
+
// announced on screen and then quietly left out of the one roll the
|
|
138
|
+
// player was watching. Inside a host it is correctly nothing: a host's
|
|
139
|
+
// interior is not on a grid.
|
|
140
|
+
const grid = gridActionModifier(actor.currentGrid, !!actor.hostInside, actor.currentGrid);
|
|
131
141
|
const base = Math.max(1, actor.intuition + (computer > 0 ? computer : -1)
|
|
132
|
-
+ actor.matrixActionPenalty + actor.woundModifier - actor.sustainingPenalty);
|
|
142
|
+
+ actor.matrixActionPenalty + grid.total + actor.woundModifier - actor.sustainingPenalty);
|
|
133
143
|
const pool = Math.max(0, base - 2 * retries);
|
|
134
144
|
const roll = rollPool(pool, actor.matrixAttribute('dataProcessing'), { gremlins: actor.deckGremlins });
|
|
135
145
|
const found = [];
|
|
@@ -159,7 +169,7 @@ export function spotHiddenIcons(scene, actor, room) {
|
|
|
159
169
|
actor.sweepAttempts.set(room.name, retries + 1);
|
|
160
170
|
else
|
|
161
171
|
actor.sweepAttempts.delete(room.name);
|
|
162
|
-
return { found, missed, roll, retries, against };
|
|
172
|
+
return { found, missed, roll, retries, grid: gridNote(grid), against };
|
|
163
173
|
}
|
|
164
174
|
/**
|
|
165
175
|
* The mechanics lines for a sweep.
|
|
@@ -181,7 +191,7 @@ export function spotMechanics(outcome) {
|
|
|
181
191
|
? ` -- trying again, -${outcome.retries * 2} (p.49: -2 per failed attempt; a break clears it)`
|
|
182
192
|
: '';
|
|
183
193
|
return [
|
|
184
|
-
`Matrix Perception, silent icons (Computer + Intuition [Data Processing]): ${formatRoll(outcome.roll)}${again}`,
|
|
194
|
+
`Matrix Perception, silent icons (Computer + Intuition [Data Processing]): ${formatRoll(outcome.roll)}${outcome.grid}${again}`,
|
|
185
195
|
...outcome.against.map(a => (a.name
|
|
186
196
|
? ` ${a.name} hides (${a.label}): ${formatRoll(a.roll)}`
|
|
187
197
|
: ` something holds its cover: ${formatRoll(a.roll)}`)),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@maka/maka-cli",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.235.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.",
|