Combat: the AUTHENTIC consolidated damage delivery -- TakeDamageStream through the message manager (task #7 tail)
ConsolidateAndSendDamage @0049b784 fully implemented: the beam path submits
into AddDamageMessage; each messmgr tick builds ONE Entity::
TakeDamageStreamMessage (id 0x13; wire-verified 0x34+4+Nx12) with the
common impact record + appended {type, amount, subsystemID} entries and
Dispatches it at the victim -- the T0 handler (ENTITY.cpp:817) re-splits
into per-record TakeDamage; replicants reroute cross-pod. Real
ResolveExplosionID (firing weapon's +0x3E4, guarded) + SubmitExplosion via
the Explosion::Make port; TWO chain-purge bugs fixed (the "iterator dtor
clears it" assumption was wrong -- records re-applied every tick, observed
1->2->3->4 double-counting). @004b9728 identity corrected (SendDamageMessage,
not DrawWeaponPip). Verified solo: 25 clean single-record consolidations ->
kill -> death transition. Residue: weapon-side submission awaits the
damage-economy reconciliation (authored 0.25-scale vs kShotDamage=12).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
afefaeece5
commit
77190c93e5
@@ -454,10 +454,15 @@ void
|
||||
}
|
||||
|
||||
//
|
||||
// @004b9728 -- register the targeting "pip" / fire marker with the owning Mech's
|
||||
// cockpit HUD manager (entity+0x434). Skipped for non-pip weapons (the
|
||||
// IsDerivedFrom(0x50bdb4) / segment-index guard). Builds a HUD element record
|
||||
// {priority 100, kind 0x12, flags} carrying the pip transform and submits it.
|
||||
// ⚠ IDENTITY CORRECTION (task #7): @004b9728 is MechWeapon::SendDamageMessage
|
||||
// -- the weapon-fire damage submission into the owning mech's
|
||||
// SubsystemMessageManager (mech+0x434 -> AddDamageMessage @0049b6d8), NOT a
|
||||
// HUD pip. The "HUD element record" reading below was the same 0x434
|
||||
// misattribution the mapper suffered. The authentic weapon-side submission
|
||||
// (per-weapon damageData + inflictingSubsystemID) is pending the
|
||||
// damage-economy reconciliation (authored 0.25-scale amounts vs the
|
||||
// bring-up kShotDamage=12); the interim submitter is the mech4 fire block
|
||||
// routing through AddDamageMessage. This body stays dormant meanwhile.
|
||||
//
|
||||
void
|
||||
MechWeapon::DrawWeaponPip(const LinearMatrix &transform)
|
||||
|
||||
Reference in New Issue
Block a user