private void HandleGiveReport(NWPlayer player, int questID) { var pcStatus = DataService.PCQuestStatus.GetByPlayerAndQuestIDOrDefault(player.GlobalID, questID); if (pcStatus == null) { return; } var state = DataService.QuestState.GetByID(pcStatus.CurrentQuestStateID); // Quest is calling for collecting items. Run that method. if (state.QuestTypeID == (int)QuestType.CollectItems) { QuestService.RequestItemsFromPC(player, GetDialogTarget(), questID); } // All other quest types else if (QuestService.CanPlayerCompleteQuest(player, questID)) { QuestService.CompleteQuest(player, GetDialogTarget(), questID, null); EndConversation(); } // Missing a requirement. else { player.SendMessage(ColorTokenService.Red("One or more task is incomplete. Refer to your journal for more information.")); } }