Commit a09c82408506f5583b88f14084f8593bb8a486b1

Authored by zhouhaihai
2 parents a6ff70d0 fb344e8a

Merge branch 'tr/bugfix' into tr/publish/preview

* tr/bugfix:
  活动结束回收邮件
  宝藏怪
Showing 1 changed file with 19 additions and 17 deletions   Show diff stats
src/models/Activity.lua
@@ -598,8 +598,8 @@ function Activity:closeActivity(actId, notify, notUpdateAct) @@ -598,8 +598,8 @@ function Activity:closeActivity(actId, notify, notUpdateAct)
598 local actType = actData.showType 598 local actType = actData.showType
599 if activityFunc[actType] and activityFunc[actType]['close'] then 599 if activityFunc[actType] and activityFunc[actType]['close'] then
600 activityFunc[actType]["close"](self, actType, notify, actId) 600 activityFunc[actType]["close"](self, actType, notify, actId)
601 - self:recycleActItem(actId)  
602 end 601 end
  602 + self:recycleActItem(actId)
603 if Activity.schema["act".. actType] then 603 if Activity.schema["act".. actType] then
604 if not Activity.schema["act" .. actType][3] then 604 if not Activity.schema["act" .. actType][3] then
605 self:updateActData(actType, Activity.schema["act" .. actType][2], not notify or notUpdateAct) 605 self:updateActData(actType, Activity.schema["act" .. actType][2], not notify or notUpdateAct)
@@ -834,25 +834,27 @@ activityFunc[Activity.ActivityType.Crisis] = { @@ -834,25 +834,27 @@ activityFunc[Activity.ActivityType.Crisis] = {
834 for id, actSet in pairs(actCsv) do 834 for id, actSet in pairs(actCsv) do
835 if actSet.type == atype then 835 if actSet.type == atype then
836 local status = actData.task[id] or 0 836 local status = actData.task[id] or 0
837 - status = status + count  
838 - if status >= actSet.condition1 then  
839 - local reward  
840 - if actSet.loop == 1 then  
841 - local rcount = math.floor(status / actSet.condition1)  
842 - reward = actSet.reward:toNumMap()  
843 - for itemId, itemC in pairs(reward) do  
844 - reward[itemId] = itemC * rcount 837 + if status ~= -1 then
  838 + status = status + count
  839 + if status >= actSet.condition1 then
  840 + local reward
  841 + if actSet.loop == 1 then
  842 + local rcount = math.floor(status / actSet.condition1)
  843 + reward = actSet.reward:toNumMap()
  844 + for itemId, itemC in pairs(reward) do
  845 + reward[itemId] = itemC * rcount
  846 + end
  847 + status = status % actSet.condition1
  848 + else
  849 + reward = actSet.reward
  850 + status = -1
845 end 851 end
846 - status = status % actSet.condition1  
847 - else  
848 - reward = actSet.reward  
849 - status = -1  
850 - end  
851 852
852 - self.owner:award(reward, {log = {desc = "activity_crisis"}, notNotify = not notify}) 853 + self.owner:award(reward, {log = {desc = "activity_crisis"}, notNotify = not notify})
  854 + end
  855 + actData.task[id] = status
  856 + change = true
853 end 857 end
854 - actData.task[id] = status  
855 - change = true  
856 end 858 end
857 end 859 end
858 if change then 860 if change then