diff --git a/src/playsim/p_mobj.cpp b/src/playsim/p_mobj.cpp index 115c1495f..072afdd3c 100644 --- a/src/playsim/p_mobj.cpp +++ b/src/playsim/p_mobj.cpp @@ -8485,6 +8485,10 @@ void AActor::Revive() Level->total_monsters++; } + IFOVERRIDENVIRTUALPTRNAME(this, NAME_Actor, OnRevive) + { + VMCallVoid(func, this); + } // [ZZ] resurrect hook Level->localEventManager->WorldThingRevived(this); } diff --git a/wadsrc/static/zscript/actors/actor.zs b/wadsrc/static/zscript/actors/actor.zs index dc0892a3a..0bc9ee76f 100644 --- a/wadsrc/static/zscript/actors/actor.zs +++ b/wadsrc/static/zscript/actors/actor.zs @@ -595,6 +595,9 @@ class Actor : Thinker native return true; } + // Called after an Actor has been resurrected. + virtual void OnRevive() {} + // Called when an actor is to be reflected by a disc of repulsion. // Returns true to continue normal blast processing. virtual bool SpecialBlastHandling (Actor source, double strength)