feat(bridge): map.live names RunicNPC's NPCs, marks bosses and adds (runicnpc stage 8) #26

Merged
whitlocktech merged 1 commits from feat/runicnpc-stage8 into edge 2026-10-06 08:32:33 -05:00
Member

What

RunicNPC stage 8, the plugin's half (D302, D303; PROTOCOL.md §17.3). One RunicNpc_List per map.live ask, joined to the ledger by net id:

  • A ledgered NPC's row gains its name and key (the step that placed it). A boss's row also gains boss: true and its health (0–1). The site uses the health for the event page's progress line, and its map drops it.
  • A boss's adds (owned by a run but placed by no step) join the events layer under that run, with add: true.
  • Any other boss joins the world layer as kind: "boss", with its name.
  • A placement's ordinary NPCs are not sent (D302).

Protocol 13 is still unreleased, and the fields are additive. runicnpc_api is unchanged; RunicNpc_List has carried these fields since API 3.

Tested

Builds: Rust 25681086, Oxide 2.0.7801 and Carbon 2.0.262, each checked as the latest first.

  • Compile: compiled and loaded on both rigs.
  • Walk, Oxide: an event's 3 bandits and its boss came through with names, step keys and a boss flag. The boss's 2 adds came through with add: true. A boss placed from the placements page came through in the world layer as kind: boss. The placement's ordinary bandits were not sent.
  • Walk, Carbon: an event's guards and boss came through the same way.

Checklist

  • I have read CONTRIBUTING.md.
  • AI tools were used. Tool(s): Claude Code (Claude Opus 5.5). The commit carries the Co-Authored-By trailer.
  • I agree that my contribution is licensed under GPL-3.0-or-later.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

## What RunicNPC stage 8, the plugin's half (D302, D303; PROTOCOL.md §17.3). One `RunicNpc_List` per `map.live` ask, joined to the ledger by net id: - **A ledgered NPC's row** gains its `name` and `key` (the step that placed it). A boss's row also gains `boss: true` and its `health` (0–1). The site uses the health for the event page's progress line, and its map drops it. - **A boss's adds** (owned by a run but placed by no step) join the events layer under that run, with `add: true`. - **Any other boss** joins the world layer as `kind: "boss"`, with its name. - **A placement's ordinary NPCs** are not sent (D302). Protocol 13 is still unreleased, and the fields are additive. `runicnpc_api` is unchanged; `RunicNpc_List` has carried these fields since API 3. ## Tested Builds: Rust 25681086, Oxide 2.0.7801 and Carbon 2.0.262, each checked as the latest first. - **Compile:** compiled and loaded on both rigs. - **Walk, Oxide:** an event's 3 bandits and its boss came through with names, step keys and a boss flag. The boss's 2 adds came through with `add: true`. A boss placed from the placements page came through in the world layer as `kind: boss`. The placement's ordinary bandits were not sent. - **Walk, Carbon:** an event's guards and boss came through the same way. ## Checklist - [x] I have read CONTRIBUTING.md. - [x] AI tools were used. Tool(s): `Claude Code (Claude Opus 5.5)`. The commit carries the `Co-Authored-By` trailer. - [x] I agree that my contribution is licensed under GPL-3.0-or-later. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-06 08:27:57 -05:00
feat(bridge): map.live names RunicNPC's NPCs, marks bosses and adds (runicnpc stage 8)
All checks were successful
PR Checks / plugin-checks (pull_request) Successful in 11s
74bcb0f895
One RunicNpc_List per map.live ask, joined to the ledger by net id
(D302, D303):

- A ledgered NPC's row gains its name and the step key that placed it.
  A boss's row also gains `boss` and its `health` (0-1); the health is
  for the event page's progress line.
- A RunicNPC NPC owned by a run that no step ledgered is a boss's add.
  It joins the events layer under that run with `add: true`.
- Any other boss joins the world layer as `kind: "boss"` with its name.
- A placement's ordinary NPCs are not sent.

Protocol 13, still unreleased; the fields are additive.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 87774b051a into edge 2026-10-06 08:32:33 -05:00
whitlocktech deleted branch feat/runicnpc-stage8 2026-10-06 08:32:34 -05:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RunicGateway/Rust-Plugins#26
No description provided.