feat(bridge): every NPC an event places needs RunicNPC (runicnpc stage 9, D310)
All checks were successful
PR Checks / plugin-checks (pull_request) Successful in 6s

world.place of one of Rust's own NPC prefabs now needs RunicNPC loaded and
answering RunicNpcApiNeeded, as a profile placement does, so a module that
missed the hello cannot place NPCs on a server the site calls incomplete. The
refusal comes before anything spawns, with the existing reasons
runicnpc-missing and runicnpc-old; a profile placement now also refuses an old
RunicNPC up front (it was refused only when it carried orders). Crates are
unaffected. No message changes shape; protocol stays 13.

overlay.toml's runicnpc_api comment and rg.npc's line say RunicNPC is required.

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-06 16:58:30 -05:00
parent 87774b051a
commit 3117b0c349
2 changed files with 40 additions and 11 deletions

View File

@@ -86,6 +86,7 @@ requires_plugins = ["Kits", "ZoneManager"]
# two equal. The release copies it into manifest.json, and the installer's
# bundle carries the latest RunicNPC release that answers at least it (D224).
#
# RunicNPC is optional to the bridge until its stage 9: without it every npc.*
# command answers `runicnpc-missing`, and events place Rust's own scientists.
# RunicNPC is required since its stage 9 (D310): without it, or with one older
# than this, every npc.* command and every NPC an event places, Rust's own
# scientists included, is refused as `runicnpc-missing` or `runicnpc-old`.
runicnpc_api = 6