//07 06 public void OnQuestCompleted(Packets.Client.QuestCompleted p) { if (RewardChoice != null) { Packets.Server.QuestRewardChoice p1 = new SagaMap.Packets.Server.QuestRewardChoice(); this.netIO.SendPacket(p1, this.SessionID); ; completingquest = p.GetQuestID(); } else { if (RewardFunc != null) { RewardFunc.DynamicInvoke(this.Char, p.GetQuestID()); completingquest = 0; RewardFunc = null; } } }
//07 05 public void OnQuestConfirm(Packets.Client.QuestConfirm p) { if (SagaMap.Quest.QuestsManager.GetActiveQuest(this.Char) != null) { Packets.Server.QuestCancel p2 = new SagaMap.Packets.Server.QuestCancel(); p2.SetQuestID(Quest.QuestsManager.GetActiveQuest(this.Char).ID); this.netIO.SendPacket(p2, this.SessionID); ; return; } if (this.QuestConfirm == false) { Packets.Server.QuestConfirm p1 = new SagaMap.Packets.Server.QuestConfirm(); p1.SetQuestID(p.GetQuestID()); this.netIO.SendPacket(p1, this.SessionID); this.QuestConfirm = true; } else { MapItem item = (MapItem)this.Char.LastMissionBoard.e; item.OnQuestConfirmed(this.Char, p.GetQuestID()); this.QuestConfirm = false; } }
public void OnQuestConfirmCancel(Packets.Client.QuestConfirmCancel p) { this.QuestConfirm = false; uint QID = p.GetQuestID(); SagaDB.Quest.Quest quest = Quest.QuestsManager.GetActiveQuest(this.Char); if (QID != 0 && quest != null) { if (QID == quest.ID) { MapServer.charDB.DeleteQuest(this.Char, this.Char.QuestTable[QID]); this.Char.QuestTable.Remove(QID); this.SendQuestInfo(); } } quest = Quest.QuestsManager.GetActivePersonalQuest(this.Char); if (QID != 0 && quest != null) { if (QID == quest.ID) { MapServer.charDB.DeleteQuest(this.Char, this.Char.PersonalQuestTable[QID]); this.Char.PersonalQuestTable.Remove(QID); this.SendQuestInfo(); } } }