DarkflameServer/dScripts/TriggerAmbush.cpp
David Markowitz 8cdb388915
Optimize scripts for faster compilation (#597)
* Implement Precompiled Headers

* First volume of optimizations

* Scripts A-B

Gonna be doing this in alphabetical order now.

* C Scripts and remove unneeded includes from base cppscripts header

Remove the MissionComponent and Loot includes from all base scripts and place their needed includes in the respective scripts.

* D scripts

* F scripts

* F scripts 2

Finish up removing extraneous includes from scripts that start with the letter F

* G scripts

Removing extraneous includes from scripts that start with the letter G

* I scripts

Removing extraneous includes from scripts that start with the letter I

* M-Z scripts

Removing extraneous includes from scripts that start with the letter M-Z

* Revert "Implement Precompiled Headers"

This reverts commit d79d8d4991.

* Revert "Revert "Implement Precompiled Headers""

This reverts commit 0597faf308.

* Add back in PCH

Add back in PCH

* Fix CMake

Whitespace

Remove duplicate file glob

Remove newline
2022-07-04 23:00:10 -07:00

43 lines
923 B
C++

#include "TriggerAmbush.h"
#include "dZoneManager.h"
void TriggerAmbush::OnStartup(Entity* self)
{
self->SetProximityRadius(20, "ambush");
}
void TriggerAmbush::OnProximityUpdate(Entity* self, Entity* entering, std::string name, std::string status)
{
if (name != "ambush" || status != "ENTER" || !entering->IsPlayer()) return;
if (self->GetVar<bool>(u"triggered")) return;
self->SetVar(u"triggered", true);
const auto spawners = dZoneManager::Instance()->GetSpawnersByName("Ambush");
for (auto* spawner : spawners)
{
spawner->Activate();
}
self->AddTimer("TriggeredTimer", 45);
}
void TriggerAmbush::OnTimerDone(Entity* self, std::string timerName)
{
if (timerName != "TriggeredTimer") return;
self->SetVar(u"triggered", false);
const auto spawners = dZoneManager::Instance()->GetSpawnersByName("Ambush");
for (auto* spawner : spawners)
{
spawner->Reset();
spawner->Deactivate();
}
}