コード例 #1
0
 def handle_remove_quest(self, slot):
     quest_id = self.player_mgr.get_uint32(
         PlayerFields.PLAYER_QUEST_LOG_1_1 + (slot * 6))
     if quest_id in self.active_quests:
         self.remove_from_quest_log(quest_id)
         RealmDatabaseManager.character_delete_quest(
             self.player_mgr.guid, quest_id)
コード例 #2
0
 def load_quests(self):
     quest_db_states = RealmDatabaseManager.character_get_quests(self.player_mgr.guid)
     for quest_db_state in quest_db_states:
         if quest_db_state.rewarded > 0:
             self.completed_quests.add(quest_db_state.quest)
         elif quest_db_state.state == QuestState.QUEST_ACCEPTED or quest_db_state.state == QuestState.QUEST_REWARD:
             quest = WorldDatabaseManager.QuestTemplateHolder.quest_get_by_entry(quest_db_state.quest)
             # If this quest no longer exists, make sure to delete it from player's log.
             if not quest:
                 RealmDatabaseManager.character_delete_quest(self.player_mgr.guid, quest_db_state.quest)
                 continue
             active_quest = ActiveQuest(quest_db_state, self.player_mgr, quest)
             self.active_quests[quest_db_state.quest] = active_quest
             # Needed in case the WDB has been deleted, otherwise non cached quests won't appear in the log.
             self.send_quest_query_response(active_quest.quest)
         else:
             Logger.error(
                 f"Quest database (guid={quest_db_state.guid}, quest_id={quest_db_state.quest}) has state {quest_db_state.state}. No handling.")
コード例 #3
0
 def handle_remove_quest(self, slot):
     quest_entry = self.player_mgr.get_uint32(PlayerFields.PLAYER_QUEST_LOG_1_1 + (slot * 6))
     if quest_entry in self.active_quests:
         self.remove_from_quest_log(quest_entry)
         RealmDatabaseManager.character_delete_quest(self.player_mgr.guid, quest_entry)
         self.update_surrounding_quest_status()