feat(rust): Guarded Crate — feed, map, Warden, Place a guarded crate (PLAN_REDESIGNS §14.3.5) #48
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/guarded-crate"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Stage 6 of the §14.3 integration plan, on protocol 14. Spec: docs
rust-link/PROTOCOL.md§20.9. Record:modules/rust/PLAN_REDESIGNS.md§14.3.19.Feed.
gc.startedandgc.endedare public kinds;gc.failed(the timeout) is staff's. The newguardedCrate.jsreads each row for its viewer:won(whether a player cleared it)Lines, in the World events filter: "A guarded crate landed · M4", "Alice cleared the guarded crate · M4", "A guarded crate ended with nobody clearing it".
Triggers
rust.gc.started(withbyEvent) andrust.gc.ended. Both are public, the cooldown subject is the server, and players are named only.rust.gc.endedfires only for a crate a player cleared.The step
rust.gc.place, Place a guarded crate (riskchange, reversiblenone, budgetrust.gc.crates):rust.options.gc_events: every server's own names, or Guarded Crate's four defaults where none has said) and a world call's location (monument + offsets, or a point).console.pluginsis false, or that it has no event of that name. A server that has not said is left to the plugin.gc-too-closeand a game that is down are retried; every other refusal is permanent.Warden (D375):
guardedWonis stored asguarded_won, with the title categoryguardedwonand a sortable Crates cleared column. The column shows where the server reports Guarded Crate or a row already counts one.Map: a running crate is drawn on the world layer.
Server settings: the plugin line names Guarded Crate, NpcSpawn and the events, and says whether a step can place one.
Housekeeping:
ci/bundle.jsonships the two new files; the swagger fragment and engagement manifest are regenerated; README lists Guarded Crate. No MODULE_API change:coreApistays^1.15.0.Tested:
test/guardedCrate.test.js; imports, bundle, swagger and engagement checks pass.AI-assisted: written with Claude Code (disclosed per org policy).
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY