diff --git a/src/actions/ActivityAction.lua b/src/actions/ActivityAction.lua index a3aab77..893ad32 100644 --- a/src/actions/ActivityAction.lua +++ b/src/actions/ActivityAction.lua @@ -192,13 +192,13 @@ function _M.actPaySignRpc(agent, data) local open, actId = role.activity:isOpen("PaySignIn") if not open then return 2 end - local diffDay = diffFromTs(ts) + 1 + --local diffDay = diffFromTs(ts) + 1 local curData = role.activity:getActData("PaySignIn") if not curData then return 3 end local reward, change = {} for day, csvData in ipairs(csvdb["pay_signInCsv"]) do - if day <= diffDay and day == dayIndex then + if day <= (curData[0] or 0) and day == dayIndex then if not curData[day] then curData[day] = 1 -- 奖励 @@ -675,8 +675,6 @@ function _M.endBattleRpc(agent, data) role:updateRankCommon(RANK_TYPE.ActBattleBoss, rankVal) end end - actData[id] = battleInfo - role.activity:updateActData("ChallengeLevel", actData) if (oldStarNum == 0 and newStarNum > 0) or battleCfg.rank ~= 0 then reward = battleCfg.item_clear:toNumMap() @@ -706,6 +704,8 @@ function _M.endBattleRpc(agent, data) if battleCfg.worldBoss_award ~= 0 and msg.point then battleInfo["bossP"] = (battleInfo["bossP"] or 0) + msg.point end + actData[id] = battleInfo + role.activity:updateActData("ChallengeLevel", actData) reward, change = role:award(reward, {log = {desc = "actBattle", int1 = actid, int2 = newStarNum}}) @@ -834,6 +834,10 @@ function _M.bossRewardRpc(agent, data) if bossPoint < 1 then return 7 end local bossRecord = battleInfo["bossR"] or "" + local r = string.char(string.getbit(bossRecord, index)) + if r == "1" then + return 9 + end local ok = false if #preList == 0 then ok = true @@ -849,6 +853,7 @@ function _M.bossRewardRpc(agent, data) if not ok then return 8 end battleInfo["bossR"] = string.setbit(bossRecord, index) + battleInfo["bossP"] = bossPoint - 1 actData[id] = battleInfo role.activity:updateActData("ChallengeLevel", actData) diff --git a/src/csvdata b/src/csvdata index 7640055..6b88613 160000 --- a/src/csvdata +++ b/src/csvdata @@ -1 +1 @@ -Subproject commit 76400551f6a7539d383e1f52e524b613eba61c90 +Subproject commit 6b8861395586f7ac72eba0deacd3e535333ac86e diff --git a/src/models/Activity.lua b/src/models/Activity.lua index 8c32d73..b4c2caa 100644 --- a/src/models/Activity.lua +++ b/src/models/Activity.lua @@ -58,7 +58,7 @@ Activity.schema = { actime = {"table", {}}, -- 最近检查某项活动的开始时间 {id = time} round = {"table", {}}, -- 记录活动到了第几轮 {id = roundnum} act4 = {"table", {}}, -- {0 = day, 1= -1, 2 = -1} == 签到活动 - act6 = {"table", {}}, -- {1 = 1, 2 = 1} == 付费签到活动 + act6 = {"table", {}}, -- {0 = day, 1 = 1, 2 = 1} == 付费签到活动 act8 = {"number", 0}, -- 充值返利 act11 = {"table", {}}, -- {0 = 贩卖数量, 1=1, 2=1} 贩卖周活动 1表示领取过该档位的奖励 @@ -386,6 +386,11 @@ activityFunc[Activity.ActivityType.PaySignIn] = { ["init"] = function(self, actType, isCrossDay, notify) self:updateActData(actType, {}, not notify) end, + ["crossDay"] = function(self, actType, notify) + local curData = self:getActData(actType) + curData[0] = (curData[0] or 0) + 1 + self:updateActData(actType, curData, not notify) + end, ["close"] = function(self, actType, notify) self.owner.storeData:SetActGoodsFlag("paySignIn", 0) diff --git a/src/models/Store.lua b/src/models/Store.lua index ffefb2e..97564a8 100644 --- a/src/models/Store.lua +++ b/src/models/Store.lua @@ -392,6 +392,9 @@ function Store:onBuyPaySignCard(dur) curTs = getServerOpenTs() self:SetActGoodsFlag("paySignIn", curTs) + local actData = self.owner.activity:getActData("PaySignIn") + actData[0] = 1 + self.owner.activity:updateActData("PaySignIn", actData) --local actGoodsFlag = self:getProperty("actGoodsFlag") or {} --local goodsIndex = GetActGoodsIndex("paySignIn") -- libgit2 0.21.2