IBossVitals interface
Native boss-HP tap: reads the SAME merged per-entity store the game’s own boss bar reads (Panda.ZUi.BossBloodUtil.ConversionBloodLogicDataToViewData(ZEntity)) instead of the combat wire’s AttrCollection mirror (GetVitals). Immune by construction to the wire mirror’s AOI-eviction starvation (a raid boss that leaves your AOI mid-fight on a raid’s one big multi-stage map) — see docs/superpowers/specs/2026-08-26-raid-bosshp-capture-design.md § decision 2. Backed by the game’s entity manager; reads MUST happen on the main thread (the framework Update tick), same contract as IEntityTransforms. Returns false when the entity isn’t resolvable this frame (despawned / not loaded / no game) or has never reported a blood/boss observation — callers should treat that as “unknown”, not “zero”, and fall back to GetVitals.
public interface IBossVitalsMembers
Section titled “Members”| name | description |
|---|---|
| IsBoss(…) | Whether the game’s own client currently flags this entity as a boss (ZEntity.IsBoss) — the same flag bossbattle_view.lua gates on. Returns false when the entity isn’t resolvable this frame, which is indistinguishable from “resolvable and not a boss” — callers that need to tell the two apart should corroborate with TryGetBlood or another liveness signal. |
| TryGetBlood(…) | Attempts to read the current boss-blood percentage and stage for the entity identified by id, byte-identical to what the game’s own boss bar renders. Returns false when unresolvable or never observed; in that case percent and stage are both 0. |
See Also
Section titled “See Also”- namespace Stellar.Abstractions.Services