From 71eda784d08fd2e488dfb032272792163520e588 Mon Sep 17 00:00:00 2001 From: Alar of Daggerspine Date: Thu, 26 Mar 2015 14:27:17 +0100 Subject: [PATCH] Refactored daily reset discovery Signed-off-by: Alar of Daggerspine --- GarrisonCommander-Broker/ldb.lua | 85 ++++++++++++++++---------------------- 1 file changed, 35 insertions(+), 50 deletions(-) diff --git a/GarrisonCommander-Broker/ldb.lua b/GarrisonCommander-Broker/ldb.lua index f3fa540..eeda654 100644 --- a/GarrisonCommander-Broker/ldb.lua +++ b/GarrisonCommander-Broker/ldb.lua @@ -35,7 +35,7 @@ local NEXT=NEXT local NONE=C(NONE,"Red") local DONE=C(DONE,"Green") local NEED=C(NEED,"Red") -local dbversion=2 +local dbversion=1 local spellids={ [158754]='herb', @@ -69,9 +69,7 @@ function addon:ldbCleanup() end end function addon:ldbUpdate() - self:CheckDailyReset() dataobj:Update() - farmobj:Update() end function addon:GARRISON_MISSION_STARTED(event,missionID) local duration=select(2,G.GetPartyMissionInfo(missionID)) or 0 @@ -98,8 +96,9 @@ function addon:UNIT_SPELLCAST_START(event,unit,name,rank,lineID,spellID) if (unit=='player') then if spellids[spellID] then name=names[spellids[spellID]] - if not self.db.realm.farms[ns.me][name] then - self.db.realm.farms[ns.me][name]=true + if not self.db.realm.farms[ns.me][name] or today > self.db.realm.farms[ns.me][name] then + self:CheckDateReset() + self.db.realm.farms[ns.me][name]=today farmobj:Update() end end @@ -121,65 +120,36 @@ function addon:CheckDateReset() return day,reset end - today=format("%04d%02d%02d",year,month,day) + today=year*10000+month*100+day if month==1 and day==1 then local m, y, numdays, firstday = CalendarGetAbsMonth( 12, year-1 ) - yesterday=format("%04d%02d%02d",y,m,numdays) + yesterday=y*10000+m*100+numdays elseif day==1 then local m, y, numdays, firstday = CalendarGetAbsMonth( month-1, year) - yesterday=format("%04d%02d%02d",y,m,numdays) + yesterday=y*10000+m*100+numdays else - yesterday=format("%04d%02d%02d",year,month,day-1) + yesterday=year*10000+month*100+day end if (reset<3600*3) then today=yesterday end - if self.db.realm.lastday