/// <summary> /// Pick a random event and execute it /// </summary> private void ExecuteRandomEvent(BaseEvent aEvent) { if (Hero.MainHero.IsPrisoner || !MobileParty.MainParty.IsActive) { return; } if (!aEvent.CanExecuteEvent()) { return; } // Stop the processing of random events currentEvent = aEvent; aEvent.OnEventCompleted += EventEnded; aEvent.StartEvent(); }