Implemented WorldLightning and WorldThingDestroyed.

This commit is contained in:
ZZYZX 2017-01-31 02:15:57 +02:00
parent 71f62af6db
commit 3c1cecfa2b
2 changed files with 10 additions and 0 deletions

View file

@ -11,6 +11,7 @@
#include "r_state.h"
#include "serializer.h"
#include "g_levellocals.h"
#include "events.h"
static FRandom pr_lightning ("Lightning");
@ -129,6 +130,9 @@ void DLightningThinker::LightningFlash ()
level.flags |= LEVEL_SWAPSKIES; // set alternate sky
S_Sound (CHAN_AUTO, "world/thunder", 1.0, ATTN_NONE);
// [ZZ] just in case
E_WorldLightning();
// start LIGHTNING scripts
FBehavior::StaticStartTypedScripts (SCRIPT_Lightning, NULL, false); // [RH] Run lightning scripts
// Calculate the next lighting flash

View file

@ -5108,6 +5108,12 @@ void AActor::CallDeactivate(AActor *activator)
void AActor::OnDestroy ()
{
// [ZZ] call destroy event hook.
// note that this differs from ThingSpawned in that you can actually override OnDestroy to avoid calling the hook.
// but you can't really do that without utterly breaking the game, so it's ok.
// note: if OnDestroy is ever made optional, E_WorldThingDestroyed should still be called for ANY thing.
E_WorldThingDestroyed(this);
ClearRenderSectorList();
ClearRenderLineList();