#include "FvDragonSmashingGolemQb.h" #include "GameMessages.h" #include "EntityManager.h" void FvDragonSmashingGolemQb::OnStartup(Entity* self) { self->AddTimer("GolemBreakTimer", 10.5f); } void FvDragonSmashingGolemQb::OnTimerDone(Entity* self, std::string timerName) { if (timerName == "GolemBreakTimer") { self->Smash(); } } void FvDragonSmashingGolemQb::OnRebuildNotifyState(Entity* self, eRebuildState state) { if (state == eRebuildState::REBUILD_COMPLETED) { GameMessages::SendPlayAnimation(self, u"dragonsmash"); const auto dragonId = self->GetVar(u"Dragon"); auto* dragon = EntityManager::Instance()->GetEntity(dragonId); if (dragon != nullptr) { dragon->OnFireEventServerSide(self, "rebuildDone"); } self->CancelTimer("GolemBreakTimer"); self->AddTimer("GolemBreakTimer", 10.5f); } }