"""Run actual loading-damage lease methods; native damage routing is checked separately.""" from policy_harness import ROOT, body, run p=ROOT/'addons/core/Scripts/Game/ERR/00_Core/ERR_SpawnFinalization.c' s='\n'.join(body(p,key) for key in ('bool Begin(IEntity actor)', 'void Stop()')) for before,after in [('IEntity actor','Actor* actor'),('DamageManagerComponent damage','Damage* damage'),('DamageManagerComponent.Cast(actor.FindComponent(DamageManagerComponent))','actor->damage'),('Replication.IsServer()','server'),('m_Damage.','m_Damage->'),('damage.','damage->'),('null','nullptr')]:s=s.replace(before,after) run(r''' #include bool server=true; struct Damage {bool enabled=true,destroyed=false;int writes=0;bool IsDestroyed(){return destroyed;}bool IsDamageHandlingEnabled(){return enabled;}void EnableDamageHandling(bool value){enabled=value;writes++;}}; struct Actor {Damage* damage;}; struct Lease {Damage* m_Damage=nullptr;bool m_RestoreDamage=false; '''+s+r''' }; int main(){ Damage damage;Actor actor{&damage};Lease lease; assert(lease.Begin(&actor)&&!damage.enabled);assert(!lease.Begin(&actor)); lease.Stop();assert(damage.enabled&&damage.writes==2);lease.Stop();assert(damage.writes==2); damage.enabled=false;assert(lease.Begin(&actor));lease.Stop();assert(!damage.enabled&&damage.writes==3); damage.destroyed=true;assert(!lease.Begin(&actor));damage.destroyed=false; server=false;assert(!lease.Begin(&actor));server=true; Actor missing{nullptr};assert(!lease.Begin(&missing)&&!lease.Begin(nullptr)); // Deleted native component is a weak null reference; teardown must be harmless. damage.enabled=true;assert(lease.Begin(&actor));lease.m_Damage=nullptr;lease.Stop(); } ''') print('PASS: loading protection restores only its own damage change, rejects invalid admission actors, and tolerates repeat/deleted cleanup')