Commit e5d884a51e91820ea967021d4255376a50a0a08b
Merge branch 'tr/bugfix' into tr/bugfix-qa
* tr/bugfix: 兑换活动上线检测是否需要刷新 修复存在的冒险进不去的玩家 兑换商店不刷新bug 新增倍数 bugfix 同单号充值输出
Showing
10 changed files
with
39 additions
and
17 deletions
Show diff stats
src/GlobalVar.lua
src/actions/AdvAction.lua
| ... | ... | @@ -962,6 +962,9 @@ function _M.roleFormatRpc(agent , data) |
| 962 | 962 | local index = msg.index -- 阵容索引 |
| 963 | 963 | local title = msg.title -- 阵容名称 |
| 964 | 964 | local team = {} |
| 965 | + | |
| 966 | + if role:getAdvData():isRunning() then return 3 end | |
| 967 | + | |
| 965 | 968 | for slot, heroId in pairs(msg.heros) do |
| 966 | 969 | if not role.heros[heroId] then |
| 967 | 970 | return 1 |
| ... | ... | @@ -1004,6 +1007,9 @@ function _M.selectTeamRpc(agent, data) |
| 1004 | 1007 | local role = agent.role |
| 1005 | 1008 | local msg = MsgPack.unpack(data) |
| 1006 | 1009 | local index = msg.index -- 阵容索引 |
| 1010 | + | |
| 1011 | + if role:getAdvData():isRunning() then return 1 end | |
| 1012 | + | |
| 1007 | 1013 | local team = role:getAdvTeamFormat(index) |
| 1008 | 1014 | if not next(team) then return end |
| 1009 | 1015 | team["index"] = index | ... | ... |
src/adv/Adv.lua
| ... | ... | @@ -420,7 +420,7 @@ function Adv:forceOver(notNotify) |
| 420 | 420 | reward[itemId] = math.ceil(count * globalCsv.adv_fail_reward_ratio / 100) -- 奖励相当于失败 |
| 421 | 421 | end |
| 422 | 422 | end |
| 423 | - self.owner:award(reward, {log = {desc = "advOver", int1 = self.chapterId}}) | |
| 423 | + self.owner:award(reward, {log = {desc = "advOver", int1 = self.chapterId}, notNotify = notNotify}) | |
| 424 | 424 | |
| 425 | 425 | self:clear() |
| 426 | 426 | self.owner:updateProperties({ |
| ... | ... | @@ -991,7 +991,7 @@ function Adv:award(gift, params, backRewardParams) |
| 991 | 991 | |
| 992 | 992 | local autoUse = {} |
| 993 | 993 | for itemId, count in pairs(tgift) do |
| 994 | - if count > 0 then | |
| 994 | + if count > 0 and self.battle.player then | |
| 995 | 995 | local buffAdd = self.battle.player:getRewardChange(itemId) |
| 996 | 996 | count = math.floor(math.max(0, (count + buffAdd[0]) * (1 + buffAdd[1]))) --附加 buff 的影响 |
| 997 | 997 | self:checkTask(Adv.TaskType.Item, count, itemId) | ... | ... |
src/adv/AdvBlock.lua
| ... | ... | @@ -60,9 +60,9 @@ function Block:updateEvent(event, isInit) |
| 60 | 60 | end |
| 61 | 61 | self:randomEvent() |
| 62 | 62 | end |
| 63 | - self:quickDrop() | |
| 64 | 63 | |
| 65 | 64 | if not isInit and self.isOpen then |
| 65 | + self:quickDrop() | |
| 66 | 66 | local newet = self:getEventType() |
| 67 | 67 | if oldet ~= newet then |
| 68 | 68 | local em = {} | ... | ... |
src/adv/AdvPassive.lua
| ... | ... | @@ -532,7 +532,7 @@ function Passive:effect8(dropId) |
| 532 | 532 | end |
| 533 | 533 | |
| 534 | 534 | --9=直接获得item(可在结算触发时使用) |
| 535 | -function Passive:effect9(itemId, triggerPms, ratio, max) | |
| 535 | +function Passive:effect9(itemId, triggerPms, ratio, ratio2, max) | |
| 536 | 536 | local cond = nil |
| 537 | 537 | if self.passiveData.value == 0 then |
| 538 | 538 | cond = triggerPms.score |
| ... | ... | @@ -542,7 +542,7 @@ function Passive:effect9(itemId, triggerPms, ratio, max) |
| 542 | 542 | return |
| 543 | 543 | end |
| 544 | 544 | if not cond then return end |
| 545 | - self.owner.battle.adv:award({[itemId] = math.floor(math.max(0, math.min(max, cond / ratio)))}, {log = {desc = "passive", int1 = self.id}}, {roomId = self.owner.roomId, blockId = self.owner.blockId}) | |
| 545 | + self.owner.battle.adv:award({[itemId] = math.floor(math.max(0, math.min(max, cond / ratio * ratio2)))}, {log = {desc = "passive", int1 = self.id}}, {roomId = self.owner.roomId, blockId = self.owner.blockId}) | |
| 546 | 546 | end |
| 547 | 547 | |
| 548 | 548 | --10=战斗额外掉落次数 | ... | ... |
src/models/Activity.lua
| ... | ... | @@ -492,6 +492,9 @@ activityFunc[Activity.ActivityType.Exchange] = { |
| 492 | 492 | actData[actId] = {} |
| 493 | 493 | self:updateActData(actType, actData, not notify) |
| 494 | 494 | end, |
| 495 | + ["login"] = function(self, actType, actId) | |
| 496 | + activityFunc[Activity.ActivityType.Sign]["crossDay"](self, actType, true, actId) | |
| 497 | + end, | |
| 495 | 498 | ["crossDay"] = function(self, actType, notify, actId) |
| 496 | 499 | local actData = self:getActData(actType) or {} |
| 497 | 500 | local lastTs = actData["ts"] or 0 |
| ... | ... | @@ -500,14 +503,14 @@ activityFunc[Activity.ActivityType.Exchange] = { |
| 500 | 503 | if not cfg then return end |
| 501 | 504 | local refreshTimes = cfg.condition2:toArray(false, "=") |
| 502 | 505 | for i = 1, #refreshTimes do |
| 503 | - local rt = toUnixtime(refreshTimes[1]..string_format("%02x", RESET_TIME)) | |
| 506 | + local rt = toUnixtime(refreshTimes[i]..string_format("%02x", RESET_TIME)) | |
| 504 | 507 | if timeNow >= rt and rt > lastTs then |
| 505 | 508 | lastTs = rt |
| 506 | 509 | actData = {} |
| 507 | 510 | end |
| 508 | 511 | end |
| 509 | - if next(actData) then | |
| 510 | - actData["ts"] = lastTs | |
| 512 | + if not next(actData) then | |
| 513 | + actData["ts"] = timeNow | |
| 511 | 514 | self:updateActData(actType, actData, not notify) |
| 512 | 515 | end |
| 513 | 516 | end, | ... | ... |
src/models/Role.lua
| ... | ... | @@ -57,7 +57,7 @@ Role.schema = { |
| 57 | 57 | ltime = {"number", 0}, -- 最后登录时间 |
| 58 | 58 | ctime = {"number", skynet.timex()}, -- 创建时间 |
| 59 | 59 | ignoreMt = {"number", 0}, -- 忽略维护拦截 |
| 60 | - sversion = {"number", globalCsv.StructVersion or 0}, -- 重整数据版本 | |
| 60 | + sversion = {"number", STRUCT_VERSION or 0}, -- 重整数据版本 | |
| 61 | 61 | timeReset = {"table", {}}, --重置轮回记录 |
| 62 | 62 | diamond = {"number", 0}, |
| 63 | 63 | reDiamond = {"number", 0}, | ... | ... |
src/models/RoleChangeStruct.lua
| ... | ... | @@ -31,6 +31,7 @@ local awardGift = createVersionFunc(VersionType.Override ,function(role, params) |
| 31 | 31 | print("awardGift" .. " >>> " .. params) |
| 32 | 32 | end) |
| 33 | 33 | |
| 34 | + | |
| 34 | 35 | local bugFixSuduku = createVersionFunc(VersionType.DoOnly, function(role, params) |
| 35 | 36 | local sudoku = role:getProperty("sudoku") |
| 36 | 37 | local phase = sudoku[-1] or 1 |
| ... | ... | @@ -65,12 +66,21 @@ local bugFixRune = createVersionFunc(VersionType.DoOnly, function(role, params) |
| 65 | 66 | -- 补偿 |
| 66 | 67 | end |
| 67 | 68 | end) |
| 69 | + | |
| 70 | +-- 清除 player 消失 的冒险 | |
| 71 | +local bugFixAdvPlayer = createVersionFunc(VersionType.Override, function(role, params) | |
| 72 | + if role:getAdvData():isRunning() and not role:getProperty("advTeam").player then | |
| 73 | + role:getAdvData():forceOver(true) | |
| 74 | + end | |
| 75 | +end) | |
| 76 | + | |
| 68 | 77 | ---------------------版本方法 end ---------------------- |
| 69 | 78 | |
| 70 | 79 | -- version 罗列start |
| 71 | 80 | local versionList = {} -- version 列表 |
| 72 | 81 | versionList[1] = {bugFixSuduku, {}} |
| 73 | 82 | versionList[2] = {bugFixRune, {}} |
| 83 | +versionList[3] = {bugFixAdvPlayer, {}} | |
| 74 | 84 | -- versionList[2] = {clearActivity, {5, 7}} |
| 75 | 85 | -- versionList[3] = {changeStructF, "test1"} |
| 76 | 86 | -- versionList[4] = {changeStructF, "test2"} |
| ... | ... | @@ -87,11 +97,11 @@ function RoleChangeStruct.bind(Role) |
| 87 | 97 | |
| 88 | 98 | function Role:changeStructVersion() |
| 89 | 99 | local curVersion = self:getProperty("sversion") |
| 90 | - if not globalCsv.StructVersion or curVersion >= globalCsv.StructVersion then return end | |
| 100 | + if not STRUCT_VERSION or curVersion >= STRUCT_VERSION then return end | |
| 91 | 101 | |
| 92 | 102 | local jumpVersion = {} |
| 93 | 103 | local versionTemp = {} |
| 94 | - for version = curVersion + 1, globalCsv.StructVersion do | |
| 104 | + for version = curVersion + 1, STRUCT_VERSION do | |
| 95 | 105 | local versionData = versionList[version] |
| 96 | 106 | if versionData then |
| 97 | 107 | if versionData[1].vType == VersionType.DoOnly then |
| ... | ... | @@ -124,7 +134,7 @@ function RoleChangeStruct.bind(Role) |
| 124 | 134 | end |
| 125 | 135 | end |
| 126 | 136 | |
| 127 | - for version = curVersion + 1, globalCsv.StructVersion do | |
| 137 | + for version = curVersion + 1, STRUCT_VERSION do | |
| 128 | 138 | if not jumpVersion[version] then |
| 129 | 139 | local versionData = versionList[version] |
| 130 | 140 | if versionData[1].vType == VersionType.DoOnly or versionData[1].vType == VersionType.Override then |
| ... | ... | @@ -134,7 +144,7 @@ function RoleChangeStruct.bind(Role) |
| 134 | 144 | end |
| 135 | 145 | end |
| 136 | 146 | end |
| 137 | - self:setProperty("sversion", globalCsv.StructVersion) | |
| 147 | + self:setProperty("sversion", STRUCT_VERSION) | |
| 138 | 148 | end |
| 139 | 149 | |
| 140 | 150 | end | ... | ... |
src/models/RolePlugin.lua
| ... | ... | @@ -289,7 +289,7 @@ function RolePlugin.bind(Role) |
| 289 | 289 | print("addPlayExp no log ", debug.traceback()) |
| 290 | 290 | end |
| 291 | 291 | |
| 292 | - self:updateProperties({level = level, exp = newExp}) | |
| 292 | + self:updateProperties({level = level, exp = newExp}, params.notNotify) | |
| 293 | 293 | self:changeCrossServerPvpSelfInfo("level") |
| 294 | 294 | end |
| 295 | 295 | |
| ... | ... | @@ -421,7 +421,7 @@ function RolePlugin.bind(Role) |
| 421 | 421 | end |
| 422 | 422 | |
| 423 | 423 | if update then |
| 424 | - self:updateProperty({field = "boxL", value = boxL}) | |
| 424 | + self:updateProperty({field = "boxL", value = boxL, notNotify = pms.notNotify}) | |
| 425 | 425 | end |
| 426 | 426 | end |
| 427 | 427 | |
| ... | ... | @@ -1738,6 +1738,9 @@ function RolePlugin.bind(Role) |
| 1738 | 1738 | local dataSet = csvdb["shop_rechargeCsv"][rechargeId] |
| 1739 | 1739 | |
| 1740 | 1740 | if orderObject:getProperty("finishTime") > 0 then |
| 1741 | + skynet.error(string.format("[recharge] is a finish order cpOrder: %s, platformOrder : %s, hadPlatformOrder: %s, id: %s, overTime : %s", | |
| 1742 | + partnerOrderStr, platformOrder, orderObject:getProperty("transactionId"), rechargeId, orderObject:getProperty("finishTime") | |
| 1743 | + )) | |
| 1741 | 1744 | return false, "finsh" |
| 1742 | 1745 | end |
| 1743 | 1746 | |
| ... | ... | @@ -1786,7 +1789,6 @@ function RolePlugin.bind(Role) |
| 1786 | 1789 | local roleId = self:getProperty("id") |
| 1787 | 1790 | local partnerOrderStr = params.order |
| 1788 | 1791 | |
| 1789 | - | |
| 1790 | 1792 | local status, back = self:updatePurchaseOrder(partnerOrderStr, params.transactionId, "finsh") |
| 1791 | 1793 | if not status then |
| 1792 | 1794 | if back == "finsh" then | ... | ... |