DarkflameServer/dScripts/Lieutenant.cpp

51 lines
997 B
C++
Raw Normal View History

#include "Lieutenant.h"
#include "SkillComponent.h"
#include "dZoneManager.h"
void Lieutenant::OnStartup(Entity* self)
{
auto* skillComponent = self->GetComponent<SkillComponent>();
if (skillComponent == nullptr)
{
return;
}
skillComponent->CalculateBehavior(1127, 24812, self->GetObjectID(), true);
}
void Lieutenant::OnDie(Entity* self, Entity* killer)
{
const auto myLOT = self->GetLOT();
std::string spawnerName;
switch (myLOT)
{
case 16047:
spawnerName = "EarthShrine_ERail";
break;
case 16050:
spawnerName = "IceShrine_QBBouncer";
break;
case 16049:
spawnerName = "LightningShrine_LRail";
break;
default:
return;
}
const auto spawners = dZoneManager::Instance()->GetSpawnersByName(spawnerName);
if (spawners.empty())
{
return;
}
for (auto* spawner : spawners)
{
spawner->Reset();
spawner->Activate();
}
}