/// <summary> /// Called when either the player has completed the quest too recently, or max solves has been reached. /// </summary> public void HandleSolveError(string questName) { var player = Creature as Player; if (player == null) { return; } if (IsMaxSolves(questName)) { var error = new GameEventInventoryServerSaveFailed(player.Session, 0, WeenieError.YouHaveSolvedThisQuestTooManyTimes); var text = new GameMessageSystemChat("You have solved this quest too many times!", ChatMessageType.Broadcast); player.Session.Network.EnqueueSend(text, error); } else { var error = new GameEventInventoryServerSaveFailed(player.Session, 0, WeenieError.YouHaveSolvedThisQuestTooRecently); var text = new GameMessageSystemChat("You have solved this quest too recently!", ChatMessageType.Broadcast); var remainStr = GetNextSolveTime(questName).GetFriendlyString(); var remain = new GameMessageSystemChat($"You may complete this quest again in {remainStr}.", ChatMessageType.Broadcast); player.Session.Network.EnqueueSend(text, remain, error); } }
/// <summary> /// Called when a player hasn't started a quest yet /// </summary> public void HandleNoQuestError(WorldObject wo) { var player = Creature as Player; if (player == null) { return; } var error = new GameEventInventoryServerSaveFailed(player.Session, wo.Guid.Full, WeenieError.ItemRequiresQuestToBePickedUp); player.Session.Network.EnqueueSend(error); }
/// <summary> /// Called when a player hasn't started a quest yet /// </summary> public void HandleNoQuestError(WorldObject wo) { var player = Creature as Player; if (player == null) { return; } if (wo is Portal) { player.Session.Network.EnqueueSend(new GameEventWeenieError(player.Session, WeenieError.YouMustCompleteQuestToUsePortal)); } else { var error = new GameEventInventoryServerSaveFailed(player.Session, wo.Guid.Full, WeenieError.ItemRequiresQuestToBePickedUp); player.Session.Network.EnqueueSend(error); } }