feat(rust): bosses and passive NPCs on the profile form, and public boss triggers (runicnpc stage 6)
The profile form's boss box (D273-D277): the bar's distance, where its lines are said, the spawn and death lines, and phases at health percentages, each with optional damage, aim, speed, ranges, a kit swap, adds of another profile and a line. The passive role (D278, D279, D288): press E answers with a chat line or a window, it moves as its profile says (now including `stand`), and it starts unhurtable. The site checks both as RunicNPC does, in its words; a phase's kit is checked on each server like the profile's own, and its adds must name a site profile that is not a boss. Public triggers rust.boss.spawned, rust.boss.phase and rust.boss.killed (D277) from the bridge's new frames. In the feed, a boss appearing is public; its death names the killer, so it sits behind the presence setting; its phases are staff's, as the game tells them only to players near it (D286). engagement-triggers.json regenerated. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
This commit is contained in:
@@ -52,6 +52,13 @@ const PUBLIC_KINDS = Object.freeze([
|
||||
'server.wipe',
|
||||
'server.initialized',
|
||||
'server.shutdown',
|
||||
// RunicNPC bosses (runicnpc stage 6, D277, D286). The game says a boss's spawn
|
||||
// and death to everyone on the server, so the feed may too: the death names the
|
||||
// killer by in-game name and counts the players who fought it, and names no
|
||||
// Steam id but the killer's, as the killfeed does. Its phases are told only to
|
||||
// the players near it (D286), so `npc.boss.phase` is staff's, below.
|
||||
'npc.boss.spawned',
|
||||
'npc.boss.died',
|
||||
])
|
||||
|
||||
/**
|
||||
@@ -112,6 +119,8 @@ const STAFF_KINDS = Object.freeze([
|
||||
'npc.died',
|
||||
'npc.health',
|
||||
'npc.placement.changed',
|
||||
// Runicnpc stage 6: a boss's phase is said in game only to the players near it (D286).
|
||||
'npc.boss.phase',
|
||||
])
|
||||
|
||||
/**
|
||||
@@ -139,6 +148,8 @@ const PRESENCE_KINDS = Object.freeze([
|
||||
'player.death',
|
||||
'player.chat',
|
||||
'player.tally',
|
||||
// Runicnpc stage 6: a boss's death names its killer, which says that player was on.
|
||||
'npc.boss.died',
|
||||
])
|
||||
|
||||
/** Every event kind the protocol defines, through protocol 13. */
|
||||
|
||||
Reference in New Issue
Block a user