public override void Visit(IList <WorldObject> objs) { for (var i = 0; i < objs.Count; ++i) { WorldObject obj = objs[i]; if (obj.IsTypeId(TypeId.Player)) { continue; } obj.CleanupsBeforeDelete(); } }
public override void Visit(IList <WorldObject> objs) { for (var i = 0; i < objs.Count; ++i) { WorldObject obj = objs[i]; if (obj.IsTypeId(TypeId.Corpse)) { continue; } //Some creatures may summon other temp summons in CleanupsBeforeDelete() //So we need this even after cleaner (maybe we can remove cleaner) //Example: Flame Leviathan Turret 33139 is summoned when a creature is deleted //TODO: Check if that script has the correct logic. Do we really need to summons something before deleting? obj.CleanupsBeforeDelete(); obj.Dispose(); } }
public override void Visit(IList <WorldObject> objs) { for (var i = 0; i < objs.Count; ++i) { WorldObject obj = objs[i]; if (obj.IsTypeId(TypeId.Corpse)) { continue; } // if option set then object already saved at this moment if (!WorldConfig.GetBoolValue(WorldCfg.SaveRespawnTimeImmediately)) { obj.SaveRespawnTime(); } //Some creatures may summon other temp summons in CleanupsBeforeDelete() //So we need this even after cleaner (maybe we can remove cleaner) //Example: Flame Leviathan Turret 33139 is summoned when a creature is deleted //TODO: Check if that script has the correct logic. Do we really need to summons something before deleting? obj.CleanupsBeforeDelete(); obj.Dispose(); } }