#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();
	}
}