Community AtlasBrowse the wikiInteractive mapBuild plannerAbout & sources
Local mechanics research · 1.1.1.0

Health, Shields & Displayed Damage

Why calculated damage, a popup and actual health lost can differ; recovered rejection rules, clamps and conditional survival protection.

Reviewed 2026-10-01Shipped baseline; online overrides unobserved

Reviewed local game tables and selected native instructions from Windows build 1.1.1.0. Original-instruction tests use synthetic actors and engine services. They are not gameplay measurements; online overrides have not been observed.

Damage popups have their own scaling

For a supported source slot and nonzero weapon multiplier W, displayScale = (1 + (ItemPower − 1) × 0.05) / W. Power 101 gives a numerator of 6; Power 143 gives 8.1. If a packet is B × W × otherFactors, multiplying it by this display scale cancels W in that expression.

The display helper and raw Health/Shield application are separate. Final popup formatting, rounding and every message consumer are not fully traced. A larger floating number cannot by itself establish the same increase in actual health removed.

Evidence for this section
  • Floating damage numbers use linear Item Power scaling and can cancel the outgoing weapon multiplier

    native display helper, 43 synthetic CPU emulation cases; conditional algebra. Record: reference/local-weapon-power-evidence-1.1.1.0.json/findings/3.

    Reviewed record SHA-256: e6dc83dce5131896015667bd9bfdc557abf5323849f6f22af54f570a6caa56b8

  • Computed packet damage is routed to raw Health or Shield separately from visual scaling

    direct native call sites; later health effects can still reject or alter the result. Record: reference/local-native-followup-evidence-1.1.1.0.json/findings/7.

    Reviewed record SHA-256: 0a391d24d99bb4820a2e87030f360387bd895e6d1fef4b6e5289a1db0dc95714

Public evidence manifest and scalar datasets

A damage request can be rejected or clamped

The selected negative-Health handler rejects invulnerable targets and negligible magnitudes. An accepted modifier then passes through native attribute storage and its bounds. Overkill, a minimum Health bound and float32 precision can make health lost differ from the requested magnitude.

For a potentially lethal effect carrying the SW.Status asset predicate, the handler rejects the entire modifier when the target has NoExecute or the effect has StatusNonLethal. It does not simply reduce Health to 1. With Health 100, a qualifying nonlethal request of 20 can apply, while 100 or 150 is rejected.

A follow-up static trace shows the runtime effect finalizer adds the current type tag to both asset and owned tags. Generated Burning and Poisoned effects therefore receive their SW.Status descendant tag on that path. The additional NoExecute or StatusNonLethal condition is still required; this does not make all damage over time nonlethal.

Nine further controlled native checks connect GetAllAssetTags to the Health gate: definition asset tags and dynamic asset tags are combined, while target-owned status alone does not substitute for an effect asset tag. The sublethal cases bypass this tag check. Tag union and parent expansion remain explicit engine fixtures; this is not a full actor-lifecycle test.

Evidence for this section
  • A damage request now reaches the native Health/Shield fields in controlled tests

    Selected original-instruction execution with synthetic reflection and event services. Record: reference/local-health-application-evidence-1.1.1.0.json/findings/0.

    Reviewed record SHA-256: 8d207e25e3097fb7d8a61cd5697066a763a741ec8b65351f8a3280c45344bee6

  • Health limits apply to the stored base value

    Native class registration and adjustment trace; emulated mode provider and clamp/storage path. Record: reference/local-health-application-evidence-1.1.1.0.json/findings/1.

    Reviewed record SHA-256: 8d207e25e3097fb7d8a61cd5697066a763a741ec8b65351f8a3280c45344bee6

  • The nonlethal status guard rejects the entire lethal modifier

    Native gate execution with explicit target/effect tag predicates. Record: reference/local-health-application-evidence-1.1.1.0.json/findings/3.

    Reviewed record SHA-256: 8d207e25e3097fb7d8a61cd5697066a763a741ec8b65351f8a3280c45344bee6

  • An accepted modifier can still produce no stored health change

    Native threshold and float32 arithmetic/storage boundary cases. Record: reference/local-health-application-evidence-1.1.1.0.json/findings/4.

    Reviewed record SHA-256: 8d207e25e3097fb7d8a61cd5697066a763a741ec8b65351f8a3280c45344bee6

  • Generated status effects receive their own type as an asset tag

    Static native instruction and data-flow trace; not yet a full engine execution test. Record: reference/local-status-tag-construction-evidence-1.1.1.0.json/findings/0.

    Reviewed record SHA-256: d5823171f0c968f3d0c999fbce040d2fd018ec5fbf513203b6d6c90d4f70b6ac

  • The native Health gate reads the union of effect-definition and dynamic asset tags

    Nine selected original-instruction cases with synthetic tag primitives and attributes. Record: reference/local-status-asset-health-evidence-1.1.1.0.json/findings/0.

    Reviewed record SHA-256: 6e0834a0ae478f4f6183de21f02ee39d481bd950cbaa33d79619144816553e79

Public evidence manifest and scalar datasets

Shield routing depends on the effect's binding

The reviewed negative-Health path redirects to Shield only when current Shield is positive and the effect's ProtectedByShield value is positive. Its missing-binding fallback is zero. Having Shield points alone does not select that branch.

In an isolated native fixture, Health 100 / Shield 50 receiving damage 80 with protection enabled leaves Health at 100 and clamps current Shield to 0. The selected routine redirects the whole request; it does not split off another Health modifier. This is not a universal no-overflow guarantee: reactive listeners, persistent modifiers and alternative paths were excluded from that fixture.

The conditional poison example can now be carried through isolated Health storage: from independent Health-100 targets, a request of 4 removes 4 and a request of 64 removes 64 under the supplied neutral conditions. Actual bangle-to-target gameplay bindings still have to be closed before this becomes a general build prediction.

Evidence for this section
  • Shield redirection depends on an effect binding as well as available Shield

    Native Health pre-execution, attribute-mode and storage trace with explicit Shield fixtures. Record: reference/local-health-application-evidence-1.1.1.0.json/findings/2.

    Reviewed record SHA-256: 8d207e25e3097fb7d8a61cd5697066a763a741ec8b65351f8a3280c45344bee6

  • The conditional poison example now includes isolated Health loss

    Portable model with twenty-five native comparisons and eighteen invalid-input rejections; conditional stage composition. Record: reference/local-health-application-evidence-1.1.1.0.json/findings/5.

    Reviewed record SHA-256: 8d207e25e3097fb7d8a61cd5697066a763a741ec8b65351f8a3280c45344bee6

Public evidence manifest and scalar datasets

Other survival and maximum-health rules

The separate damage-packet path has conditional survival protection. The shipped player definition uses player-count thresholds of 40%, 60%, 70% and 80% for one to four counted players. When enabled, a lethal packet must meet both the damage threshold and current-health threshold; its damage is then reduced to current Health minus 1% of maximum Health, with a nonnegative final result. This is distinct from the status handler's all-or-nothing rejection.

For a valid owner and nonzero old maximum, the HealthMax callback writes clamp(currentHealth × newMax / oldMax, 0, newMax) as the new Health base. It preserves the fraction in that callback; other equipment, healing or respawn behavior can do additional work.

Evidence for this section
  • Player-count thresholds control conditional protection against a lethal damage packet

    direct native branch, authored DefaultPlayer data and CPU emulation. Record: reference/local-native-followup-evidence-1.1.1.0.json/findings/3.

    Reviewed record SHA-256: 0a391d24d99bb4820a2e87030f360387bd895e6d1fef4b6e5289a1db0dc95714

  • The health callback preserves the health fraction when maximum health changes

    direct native attribute-change callback. Record: reference/local-native-followup-evidence-1.1.1.0.json/findings/5.

    Reviewed record SHA-256: 0a391d24d99bb4820a2e87030f360387bd895e6d1fef4b6e5289a1db0dc95714

Public evidence manifest and scalar datasets

Sources & data coverage

Reviewed local game tables and selected native instructions from Windows build 1.1.1.0. Original-instruction tests use synthetic actors and engine services. They are not gameplay measurements; online overrides have not been observed.

Reviewed evidence manifest and scalar data