View Single Post
11-22-14, 05:25 AM   #9
p3lim
A Pyroguard Emberseer
 
p3lim's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2007
Posts: 1,710
Here's what I use, seems to work fine for me atleast:

Lua Code:
  1. local lastMissionID
  2. local function QueryMissions()
  3.     local missions = C_Garrison.GetCompleteMissions()
  4.     if(#missions > 0) then
  5.         lastMissionID = missions[1].missionID
  6.         C_Garrison.MarkMissionComplete(lastMissionID)
  7.     else
  8.         GarrisonMissionFrame.MissionTab.MissionList.CompleteDialog:Hide()
  9.     end
  10. end
  11.  
  12. Handler('GARRISON_MISSION_NPC_OPENED', QueryMissions)
  13. Handler('GARRISON_MISSION_COMPLETE_RESPONSE', function(missionID, canComplete, success)
  14.     if(missionID == lastMissionID and canComplete) then
  15.         if(success and C_Garrison.CanOpenMissionChest(missionID)) then
  16.             C_Garrison.MissionBonusRoll(missionID)
  17.             return
  18.         end
  19.  
  20.         C_Timer.After(1/2, QueryMissions)
  21.     end
  22. end)
  Reply With Quote