Beispiel #1
0
        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);
        }
Beispiel #2
0
 public static void DeSpawnEvent(uint eventId)
 {
     WorldEventMgr.DeSpawnEvent(WorldEventMgr.GetEvent(eventId));
 }