public void MoveTo(Location location, TTS tts) { if (PlayerDoesNotHaveTheRequiredItemToEnter(location)) { RaiseMessage("Tens de obter " + location.ItemRequiredToEnter.Name + " primeiro para entrar neste local."); text = "Tens de obter " + location.ItemRequiredToEnter.Name + " primeiro para entrar neste local."; tts.Speak(text); text = ""; return; } // The player can enter this location CurrentLocation = location; if (!LocationsVisited.Contains(CurrentLocation.ID)) { LocationsVisited.Add(CurrentLocation.ID); } CompletelyHeal(); if (location.HasAQuest) { if (PlayerDoesNotHaveThisQuest(location.QuestAvailableHere)) { GiveQuestToPlayer(location.QuestAvailableHere, tts); } else { if (PlayerHasNotCompleted(location.QuestAvailableHere) && PlayerHasAllQuestCompletionItemsFor(location.QuestAvailableHere)) { GivePlayerQuestRewards(location.QuestAvailableHere, tts); } } } SetTheCurrentMonsterForTheCurrentLocation(location, tts); }
public void MoveTo(Location location) { if (PlayerDoesNotHaveTheRequiredItemToEnter(location)) { RaiseMessage("You must have a " + location.ItemRequiredToEnter.Name + " to enter this location."); return; } // The player can enter this location CurrentLocation = location; // When the player moves to a new location, we need to add its ID to the property – if it hasn’t already been added. if (!LocationsVisited.Contains(CurrentLocation.ID)) { LocationsVisited.Add(CurrentLocation.ID); } CompletelyHeal(); if (location.HasAQuest) { if (PlayerDoesNotHaveThisQuest(location.QuestAvailableHere)) { GiveQuestToPlayer(location.QuestAvailableHere); } else { if (PlayerHasNotCompleted(location.QuestAvailableHere) && PlayerHasAllQuestCompletionItemsFor(location.QuestAvailableHere)) { GivePlayerQuestRewards(location.QuestAvailableHere); } } } SetTheCurrentMonsterForTheCurrentLocation(location); }