Caches missions while completing.
Alar of Daggerspine [03-16-15 - 11:24]
Caches missions while completing.
Looks like sometimes they disappera from "In progress" missions
Signed-off-by: Alar of Daggerspine <alar@aspide.it>
diff --git a/GarrisonCommander.lua b/GarrisonCommander.lua
index fbeb07c..64c3703 100644
--- a/GarrisonCommander.lua
+++ b/GarrisonCommander.lua
@@ -2056,6 +2056,7 @@ function addon:SafeHookScript(frame,hook,method,postHook)
end
function addon:CleanUp()
+ wipe(ns.CompletedMissions)
self:UnhookAll()
self:CancelAllTimers()
self:RemoveMenu()
diff --git a/MissionCache.lua b/MissionCache.lua
index 5a4c7f9..635a8a2 100644
--- a/MissionCache.lua
+++ b/MissionCache.lua
@@ -52,9 +52,15 @@ function addon:GetMissionData(missionID,key,default)
end
end
end
+ if not mission then
+ mission=ns.CompletedMissions[missionID]
+ end
if (key==nil) then
return mission
end
+ if not mission then
+ return default
+ end
if (type(mission[key])~='nil') then
return mission[key]
end
diff --git a/MissionCompletion.lua b/MissionCompletion.lua
index 3cf6015..6c9f57e 100644
--- a/MissionCompletion.lua
+++ b/MissionCompletion.lua
@@ -256,6 +256,7 @@ do
_,_,_,m.successChance,_,_,m.xpBonus,m.resourceMultiplier,m.goldMultiplier=G.GetPartyMissionInfo(m.missionID)
end
currentMission=tremove(missions)
+ ns.CompletedMissions[currentMission.missionID]=currentMission
self:MissionAutoComplete("LOOP")
self:MissionEvents(true)
end
@@ -334,6 +335,7 @@ do
self:GetMissionResults(step==3)
self:RefreshFollowerStatus()
currentMission=tremove(missions)
+ ns.CompletedMissions[currentMission.missionID]=currentMission
startTimer()
return
end