feat(rust): RunicNPC profiles, their push and adoption, per-profile kills (runicnpc stage 4, WIP)

Schema for site NPC profiles (per server, shared or fleet), the per-server
push record, and kills by profile. The push adopts a server's own profiles
before its first push (D244), keeping one whose name a site profile already
has as replaced (D251). The tally's npcProfileKills are stored per profile
and credited to the site profile pushed under that name (D247).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
2026-09-30 04:21:46 -05:00
parent b0143801a2
commit 564a234890
12 changed files with 1200 additions and 0 deletions

View File

@@ -137,6 +137,12 @@ test('the classification covers exactly the event kinds the protocol defines, th
'config.outcome',
// Protocol 13 (§19, F8, D184). Which plugins a server runs and what each
// registers: an operator's inventory.
// Protocol 13, RunicNPC (runicnpc stage 4): an NPC's death names its killer
// and everyone who hurt it; its health and a placement's change are an
// operator's. All staff.
'npc.died',
'npc.health',
'npc.placement.changed',
'plugin.loaded',
'plugin.unloaded',
]