void TemporarySummon::UnSummon(uint32 delay) { if (delay > 0) { m_type = TEMPSUMMON_TIMED_OR_DEAD_DESPAWN; m_timer = delay; return; } m_isActive = false; CombatStop(); if (GetSummonerGuid().IsCreatureOrVehicle()) { if (Creature* sum = GetMap()->GetCreature(GetSummonerGuid())) { if (sum->AI()) sum->AI()->SummonedCreatureDespawn(this); } } KillAllEvents(false); AddObjectToRemoveList(); // Prevent double unsummonig before remove from world m_type = TEMPSUMMON_MANUAL_DESPAWN; }
EventProcessor::~EventProcessor() { KillAllEvents(true); }
void WorldObjectEventProcessor::CleanupEventList() { KillAllEvents(true); m_aborting = false; }
void WorldObjectEventProcessor::CleanupEventList() { KillAllEvents(false); }