示例#1
0
 //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;
         }
     }
 }
示例#2
0
 //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;
     }
 }
示例#3
0
 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();
         }
     }
 }