feat(rust): zone presets, and the zone step's options, messages and dome (PLAN_REDESIGNS §3, D210-D212) #27

Merged
whitlocktech merged 2 commits from feat/zones-domes into edge 2026-09-29 16:28:11 +00:00
Showing only changes of commit d89ebbdd23 - Show all commits

View File

@@ -57,16 +57,18 @@ const ZONE_MESSAGE_MAX = 256
const DOME_STACK_MAX = 10
/**
* ZoneDomes' own sphere types, by the number its API takes (D194). The colours
* show only where the sphere meets terrain or a structure; ZoneDomes says so
* itself.
* ZoneDomes' own sphere types, by the number its API takes (D194). Only Standard
* is a whole dome: Rust's shaded sphere, darker with each stacked copy. The four
* colours are the Twitch battle-royale spheres, which show only where they cut
* terrain or a structure (ZoneDomes says so itself), so they read as a ring at
* the zone's edge. Standard is the default (D212).
*/
const DOMES = [
{ value: 'standard', type: 0, label: 'Standard (shaded)' },
{ value: 'red', type: 1, label: 'Red' },
{ value: 'blue', type: 2, label: 'Blue' },
{ value: 'green', type: 3, label: 'Green' },
{ value: 'purple', type: 4, label: 'Purple' },
{ value: 'standard', type: 0, label: 'Full dome (shaded) — the default' },
{ value: 'red', type: 1, label: 'Red — only where it meets the ground or a building' },
{ value: 'blue', type: 2, label: 'Blue — only where it meets the ground or a building' },
{ value: 'green', type: 3, label: 'Green — only where it meets the ground or a building' },
{ value: 'purple', type: 4, label: 'Purple — only where it meets the ground or a building' },
]
/** The ledger kind both verbs file under. */
@@ -580,7 +582,8 @@ const ACTIONS = [
required: false,
example: 'standard',
source: 'rust.options.domes',
description: 'A ZoneDomes dome over the zone, by colour. Needs ZoneDomes and RunicGatewayDomes.cs on the server. Blank is no dome.',
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.` },
],