コード例 #1
0
 public void AcceptQuest(Quest quest)
 {
     foreach (var element in quest.Root.Elements)
     {
         var state = new QuestSerializableState()
         {
             ConditionId = element.Condition.Id, QuestId = quest.Id
         };
         if (quest.Root.Mandatory && element.Case.MandatoryCount == 0)
         {
             state.Active = true;
         }
         else if (!quest.Root.Mandatory)
         {
             state.Active = true;
         }
         Conditions.TryAdd(element.Condition.Id, state);
         World.DatabaseManager.AddQuestCondition(Player, state);
     }
     Packet.Builder.QuestInitializationCommand(Player.GetGameSession());
     if (SelectedQuestId == 0)
     {
         SelectedQuestId = quest.Id;
     }
 }
コード例 #2
0
 private Quest FindQuestByState(QuestSerializableState state)
 {
     return(World.StorageManager.Quests[state.QuestId]);
 }