void Spawn2::ForceDespawn() { SpawnGroup* sg = zone->spawn_group_list.GetSpawnGroup(spawngroup_id_); if(npcthis != nullptr) { if (npcthis->IgnoreDespawn()) return; if(!npcthis->IsEngaged()) { if(sg->despawn == 3 || sg->despawn == 4) { npcthis->Depop(true); IsDespawned = true; npcthis = nullptr; return; } else { npcthis->Depop(false); npcthis = nullptr; } } } uint32 cur = 100000; uint32 dtimer = sg->despawn_timer; if(sg->despawn == 1 || sg->despawn == 3) { cur = resetTimer(); } if(sg->despawn == 2 || sg->despawn == 4) { cur = despawnTimer(dtimer); } Log(Logs::Detail, Logs::Spawns, "Spawn2 %d: Spawn group %d set despawn timer to %d ms.", spawn2_id, spawngroup_id_, cur); timer.Start(cur); }
void Spawn2::ForceDespawn() { SpawnGroup* sg = zone->spawn_group_list.GetSpawnGroup(spawngroup_id_); if(npcthis != NULL) { if(!npcthis->IsEngaged()) { if(sg->despawn == 3 || sg->despawn == 4) { npcthis->Depop(true); IsDespawned = true; return; } else { npcthis->Depop(false); } } } uint32 cur = 100000; uint32 dtimer = sg->despawn_timer; if(sg->despawn == 1 || sg->despawn == 3) { cur = resetTimer(); } if(sg->despawn == 2 || sg->despawn == 4) { cur = despawnTimer(dtimer); } _log(SPAWNS__MAIN, "Spawn2 %d: Spawn group %d set despawn timer to %d ms.", spawn2_id, spawngroup_id_, cur); timer.Start(cur); }