feat(zones): a blank dome stack is 3 spheres, not 1 (runicnpc 9e, D326)
All checks were successful
PR Checks / server-tests (pull_request) Successful in 32s
PR Checks / frozen-manifest (pull_request) Successful in 1m13s
PR Checks / client-build (pull_request) Successful in 7m49s

The org lead chose 3 by eye at noon in RunicNPC's 9d player session. The
zone step sends it when its stack is left blank, and the field's hint says
so. The wire is unchanged: the module always sends a stack, and the bridge's
own default for a dome without one stays 1.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-10-09 01:24:19 -05:00
parent 4ad38d443b
commit e1789c1df4
2 changed files with 14 additions and 2 deletions

View File

@@ -60,6 +60,8 @@ const ZONE_MAX_RADIUS = 150
const ZONE_MAX_MINUTES = 7 * 24 * 60
const ZONE_MESSAGE_MAX = 256
const DOME_STACK_MAX = 10
/** A blank stack: 3 spheres, chosen by eye at noon in RunicNPC's 9d player session (D326). */
const DOME_STACK_DEFAULT = 3
/**
* ZoneDomes' own sphere types, by the number its API takes (D194). Only Standard
@@ -725,7 +727,7 @@ const ACTIONS = [
description:
'A ZoneDomes dome over the zone. "standard" is a full shaded dome; the colours show only where the sphere meets the ground or a building. Needs ZoneDomes and RunicGatewayDomes.cs on the server. Blank is no dome.',
},
{ name: 'domeStack', type: 'int', required: false, example: 1, description: `How many spheres the dome stacks, 1 to ${DOME_STACK_MAX}; more is darker. Left blank, 1.` },
{ name: 'domeStack', type: 'int', required: false, example: DOME_STACK_DEFAULT, description: `How many spheres the dome stacks, 1 to ${DOME_STACK_MAX}; more is darker. Left blank, ${DOME_STACK_DEFAULT}.` },
],
async perform({ runId, idempotencyKey, params, verify }) {
@@ -777,7 +779,7 @@ const ACTIONS = [
}
const missing = domeMissing(mods)
if (missing) return { ok: false, retry: false, error: missing }
dome = { type: kind.type, stack: stack === undefined ? 1 : stack }
dome = { type: kind.type, stack: stack === undefined ? DOME_STACK_DEFAULT : stack }
}
// The dry run stops here, and has checked everything it can without the