mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-10-11 01:48:07 +00:00
Organize dScripts (#814)
* Organize dScripts whitespace Remove parent scope Remove parent scope from initial setter Remove debug Remove helper programs * Fix NtImagimeterVisibility script Co-authored-by: aronwk-aaron <aronwk.aaron@gmail.com>
This commit is contained in:
37
dScripts/ai/GF/TriggerAmbush.cpp
Normal file
37
dScripts/ai/GF/TriggerAmbush.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#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();
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user