public static Encounter getEncounter(MapModel mm, int x, int y, int selection) { if (isEvent(mm, x, y)) { MapEventModel me = getEvent(mm, x, y); if (me.eventData.type == EventClasses.EventDataType.Combat) { return(me.eventData.encounter); } else { return(getRandomEncounter(mm.name, selection)); } } else { return(getRandomEncounter(mm.name, selection)); } }
public static void processEvent(MapEventModel currentEvent, PlayerModel player, ref List<ClientMessage> messageQueue) { switch (currentEvent.rewardType) { case MapDataClasses.ClientEvent.RewardType.Objective: string returnValue = ObjectiveDirector.completeObjective(player, currentEvent.eventData.objective); if (returnValue != string.Empty) { messageQueue.Add(new ClientMessage() { message = returnValue, type = ClientMessage.ClientMessageType.Message }); messageQueue.Add(new ClientMessage() { type = ClientMessage.ClientMessageType.RefreshMap }); } break; case MapDataClasses.ClientEvent.RewardType.XP: messageQueue.Add(new ClientMessage() { message = "All characters have gained " + currentEvent.rewardValue.ToString() + " XP!", type = ClientMessage.ClientMessageType.Message }); messageQueue.Add(new ClientMessage() { type = ClientMessage.ClientMessageType.RefreshMap }); List<string> results = PlayerDataManager.givePartyXP(player, currentEvent.rewardValue); foreach (string s in results) { messageQueue.Add(new ClientMessage() { message = s }); } break; case MapDataClasses.ClientEvent.RewardType.CP: messageQueue.Add(new ClientMessage() { message = "All characters have gained " + currentEvent.rewardValue.ToString() + " CP!", type = ClientMessage.ClientMessageType.Message }); messageQueue.Add(new ClientMessage() { type = ClientMessage.ClientMessageType.RefreshMap }); List<string> cpResults = PlayerDataManager.givePartyCP(player, currentEvent.rewardValue); foreach (string s in cpResults) { messageQueue.Add(new ClientMessage() { message = s }); } break; case MapDataClasses.ClientEvent.RewardType.Gold: messageQueue.Add(new ClientMessage() { message = "You have found " + currentEvent.rewardValue.ToString() + " GP!", type = ClientMessage.ClientMessageType.Message }); messageQueue.Add(new ClientMessage() { type = ClientMessage.ClientMessageType.RefreshMap }); PlayerDataManager.givePartyGP(player, currentEvent.rewardValue); break; } player.getActiveParty().location.eventCollection.removeEvent(currentEvent); player.getActiveParty().location.activeEvent = null; }