diff --git a/src/actions/RoleAction.lua b/src/actions/RoleAction.lua index 1dfd245..2aa57ff 100644 --- a/src/actions/RoleAction.lua +++ b/src/actions/RoleAction.lua @@ -114,6 +114,19 @@ function _M.loginRpc( agent, data ) role:setBan(0) end end + if msg.deviceMode then + local deviceMode = tostring(msg.deviceMode) + if self:getProperty("dmode") ~= deviceMode then + self:setProperty("dmode", deviceMode) + end + end + if msg.device then + local device = tostring(msg.device) + if self:getProperty("device") ~= device then + self:setProperty("device", device) + end + end + SERV_OPEN = redisproxy:hget("autoincrement_set", "server_start") role:changeStructVersion() -- 数据结构 版本更新 @@ -287,6 +300,7 @@ function _M.createRpc(agent, data) name = roleName, uname = msg.uname or "", device = tostring(msg.device) + dmode = msg.deviceMode and tostring(msg.deviceMode) or nil }) if newRole:create() then diff --git a/src/adv/AdvPassive.lua b/src/adv/AdvPassive.lua index 6cc604e..968f04f 100644 --- a/src/adv/AdvPassive.lua +++ b/src/adv/AdvPassive.lua @@ -300,8 +300,8 @@ function Passive:canEffect(effType, effValue) return end --禁用被动技 - local count, bc = self.owner:getDisablePassiveCount() - if bc > 0 and (count == 0 or self.owner:getPassiveIdx(self) <= count) then + local count = self.owner:getDisablePassiveCount() + if count and (count == 0 or self.owner:getPassiveIdx(self) <= count) then return end return true @@ -466,7 +466,8 @@ function Passive:effect8(dropId) skynet.error(string.format("CSVDATA Error adv_map_passive %s effect 8 not id %s in event_drop", self.id, dropId)) end local item = dropData["range"]:randWeight(true) - self.owner.battle.adv:award({[item[1]] = item[2]}, {log = {desc = "passive", int1 = self.id}}) + self.owner.battle.adv:backReward(self.owner.battle.adv:award({[item[1]] = item[2]}, {log = {desc = "passive", int1 = self.id}}), {roomId = self.owner.roomId, blockId = self.owner.blockId}) + end --9=直接获得item(可在结算触发时使用) @@ -480,7 +481,7 @@ function Passive:effect9(itemId, triggerPms, ratio, max) return end if not cond then return end - self.owner.battle.adv:award({[itemId] = math.floor(math.max(0, math.min(max, cond / ratio)))}, {log = {desc = "passive", int1 = self.id}}) + self.owner.battle.adv:backReward(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}) end --10=战斗额外掉落次数 diff --git a/src/adv/AdvPlayer.lua b/src/adv/AdvPlayer.lua index 729b277..a389b53 100644 --- a/src/adv/AdvPlayer.lua +++ b/src/adv/AdvPlayer.lua @@ -122,14 +122,16 @@ function BaseObject:getPassiveIdx(passive) end function BaseObject:getDisablePassiveCount() - local count, bc = 0, 0 + local count for _, buff in ipairs(self.buffs) do if not buff.isDel and buff:getType() == Buff.DISABLE_BUFF then - count = count + buff:effect() - bc = bc + 1 + if buff:effect() == 0 then + return 0 + end + count = (count or 0) + buff:effect() end end - return count, bc + return count end function BaseObject:addBuff(buffId, releaser) diff --git a/src/models/Role.lua b/src/models/Role.lua index 8afcc60..697d8d0 100644 --- a/src/models/Role.lua +++ b/src/models/Role.lua @@ -38,6 +38,8 @@ Role.schema = { headId = {"number", globalCsv.defaultHead}, sid = {"number", 0}, device = {"string", ""}, + dmode = {"string", ""}, + lday = {"string", 0}, banTime = {"number", 0}, banType = {"number", 0}, heartWarning = {"number", 0}, diff --git a/src/models/RoleTimeReset.lua b/src/models/RoleTimeReset.lua index ce56ee5..63d76d7 100644 --- a/src/models/RoleTimeReset.lua +++ b/src/models/RoleTimeReset.lua @@ -13,6 +13,7 @@ ResetFunc["CrossDay"] = function(self, notify, response, now) self.storeData:onCrossDay() self:setProperty("dTask", {}) + self:incrProperty("lday", 1) self:advRandomSupportEffect(not notify) self:checkExpireItem(not notify) -- libgit2 0.21.2