#include "MonCoreNookDoors.h" #include "GameMessages.h" #include "EntityManager.h" #include "dZoneManager.h" void MonCoreNookDoors::OnStartup(Entity* self) { SpawnDoor(self); } void MonCoreNookDoors::SpawnDoor(Entity* self) { const auto doorNum = self->GetVarAsString(u"number"); if (doorNum.empty()) { return; } const auto spawners = dZoneManager::Instance()->GetSpawnersByName("MonCoreNookDoor0" + doorNum); if (spawners.empty()) { return; } auto* spawner = spawners[0]; spawner->Reset(); spawner->Activate(); } void MonCoreNookDoors::OnFireEventServerSide(Entity *self, Entity *sender, std::string args, int32_t param1, int32_t param2, int32_t param3) { if (args == "DoorSmashed") { self->AddTimer("RespawnDoor", 30); } } void MonCoreNookDoors::OnTimerDone(Entity* self, std::string timerName) { if (timerName == "RespawnDoor") { SpawnDoor(self); } }