fix: animals and heals count toward titles; an event's zone enforces its flags (runicnpc 9d, D320–D322) #28
Reference in New Issue
Block a user
No description provided.
Delete Branch "fix/walk-titles-zones"
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?
What & why
The RunicNPC 9d server-side walk (docs PR in this series) found three faults on both rigs. The org lead chose to fix all three ("Fix the animal kill things", the ZoneManager patch, and heals from an example).
Rust.Ai.Gen2.BaseNPC2: stag, boar, wolf, bears, big cats, crocodile, farm animals, critters and sea life. The bridge testedBaseNpcalone, so an animal kill counted neither inanimalKillsnor innpcKills. EveryBaseNPC2now counts as an animal, exceptScientistNPC2, the one person among them, which counts as a human NPC kill.OnHealingItemUseis(tool, fromPlayer, toTarget). The two-parameter handler received the healer as the target and dropped every heal as healing yourself, so "Players healed" counted revives only. It now reads the target. A syringe revive raises both hooks, the heal first, so one sharedCountHelpcounts one act of help once, whichever hook comes first.UpdateHookSubscriptionson the next tick, before entering the players already inside. A ZoneManager without that method is warned about and shown byrgz.status.No message changes shape; protocol stays 13.
How it was tested
node scripts/checkPlugin.js: plugin ok, protocol 13, 54 hooks.node --test scripts/checkPlugin.test.js: 14/14.Compiled and loaded on both rigs (Rust 25681086, Oxide 2.0.7801, Carbon 2.0.262).
D320 and D321: stand-in players drove Rust's own code: a revolver kill on a stag, a machete kill on a boar, a bandage on another player, and a syringe revive of a downed one. Read back on the walk site, each rig moved by exactly +2
npc_kills, +2animal_killsand +2healed. Before the fix, 4 animal kills gave 0 and no bandage counted.D322: each pass started from a reloaded ZoneManager, with an event opening the Arena preset (NoBuild, PvpGod, …):
That held on both rigs (on Carbon, the "without" pass covered the build only). With the
zonemanager.ignoreflag.*exemption the flags step aside.Checklist
AI-assisted contributions (required)
Claude Code (Claude Opus 5.5). I have reviewed and understandevery change, and take responsibility for it. AI-authored commits are
marked with a
Co-Authored-By/Assisted-Bytrailer.License
(GNU GPL v3.0 or later), and I have the right to contribute it.
🤖 Generated with Claude Code
https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY