Commit a6ff70d0d18a06bee980b8da437546bed3550a30
Merge branch 'tr/bugfix' into tr/publish/preview
* tr/bugfix: 清空背包gm 修复拾荒结算时,返还药剂错误导致药水被吞的bug
Showing
2 changed files
with
24 additions
and
6 deletions
Show diff stats
src/actions/GmAction.lua
@@ -558,6 +558,26 @@ function _M.actbattle(role, pms) | @@ -558,6 +558,26 @@ function _M.actbattle(role, pms) | ||
558 | return "成功" | 558 | return "成功" |
559 | end | 559 | end |
560 | 560 | ||
561 | +table.insert(helpDes, {"清空背包", "clearbag"}) | ||
562 | +function _M.clearbag(role, pms) | ||
563 | + -- 装备 | ||
564 | + role:updateProperty({field="equips", value = {}}) | ||
565 | + -- 道具 | ||
566 | + local items = role:getProperty("items"):toNumMap() | ||
567 | + for k, v in pairs(items) do | ||
568 | + role:addItem({itemId = k, count = -v, log = {desc = "gm"}}) | ||
569 | + end | ||
570 | + | ||
571 | + -- 铭文 | ||
572 | + local uids = {} | ||
573 | + for uid, _ in pairs(role.runeBag) do | ||
574 | + table.insert(uids, uid) | ||
575 | + end | ||
576 | + role:delRunes(uids, {log = {desc = "gm"}}) | ||
577 | + | ||
578 | + return "成功" | ||
579 | +end | ||
580 | + | ||
561 | function _M.helpRpc(agent, data) | 581 | function _M.helpRpc(agent, data) |
562 | SendPacket(actionCodes.Gm_helpRpc, MsgPack.pack({help = helpDes})) | 582 | SendPacket(actionCodes.Gm_helpRpc, MsgPack.pack({help = helpDes})) |
563 | return true | 583 | return true |
src/adv/Adv.lua
@@ -812,14 +812,12 @@ function Adv:over(success, rewardRatio, overType) | @@ -812,14 +812,12 @@ function Adv:over(success, rewardRatio, overType) | ||
812 | local potionBag = self.owner:getProperty("potionBag") | 812 | local potionBag = self.owner:getProperty("potionBag") |
813 | for itemId, count in pairs(self.owner:getProperty("advItems"):toNumMap()) do | 813 | for itemId, count in pairs(self.owner:getProperty("advItems"):toNumMap()) do |
814 | local itemCsv = csvdb["itemCsv"][itemId] | 814 | local itemCsv = csvdb["itemCsv"][itemId] |
815 | - if not itemCsv then | 815 | + if advPotionCsv[itemId] then |
816 | + potionBag[itemId] = (potionBag[itemId] or 0) + count | ||
817 | + elseif not itemCsv then | ||
816 | print("ERROR: no itemId in ItemCsv : ", itemId) | 818 | print("ERROR: no itemId in ItemCsv : ", itemId) |
817 | elseif itemCsv.type ~= ItemType.AdvItem then | 819 | elseif itemCsv.type ~= ItemType.AdvItem then |
818 | - if advPotionCsv[itemId] then | ||
819 | - potionBag[itemId] = (potionBag[itemId] or 0) + count | ||
820 | - else | ||
821 | - reward[itemId] = math.ceil(count * rewardRatio / 100) | ||
822 | - end | 820 | + reward[itemId] = math.ceil(count * rewardRatio / 100) |
823 | end | 821 | end |
824 | end | 822 | end |
825 | reward = self.owner:award(reward, {log = {desc = "advOver", int1 = self.chapterId}}) | 823 | reward = self.owner:award(reward, {log = {desc = "advOver", int1 = self.chapterId}}) |