public static void StopEvent(WorldEvent worldEvent) { WorldEvent worldEvent1 = worldEvent; TimeSpan? timeUntilEnd = worldEvent1.TimeUntilEnd; TimeSpan timeSpan = worldEvent.Occurence + worldEvent.Duration; worldEvent1.TimeUntilEnd = timeUntilEnd.HasValue ? new TimeSpan?(timeUntilEnd.GetValueOrDefault() + timeSpan) : new TimeSpan?(); if (!WorldEventMgr.IsEventActive(worldEvent.Id)) { return; } WorldEventMgr.Log.Info("Stopping event {0}: {1}", (object)worldEvent.Id, (object)worldEvent.Description); WorldEventMgr.ActiveEvents[worldEvent.Id] = (WorldEvent)null; if (worldEvent.QuestIds.Count != 0) { WorldEventMgr.ClearActiveQuests((IEnumerable <uint>)worldEvent.QuestIds); } WorldEventMgr.DeSpawnEvent(worldEvent); WorldEventMgr.ResetEventNPCData(worldEvent); }
public static void DeSpawnEvent(uint eventId) { WorldEventMgr.DeSpawnEvent(WorldEventMgr.GetEvent(eventId)); }