From e28973d531f1f6a6ee42d979a3ece6da0587bd4a Mon Sep 17 00:00:00 2001 From: zqj <582132116@qq.com> Date: Mon, 24 Jan 2022 18:06:50 +0800 Subject: [PATCH] fix: 额外宝藏 删除藏宝图字段treasureMapCount,用道具itemId=861作为藏宝图 --- src/GlobalVar.lua | 1 + src/actions/GmAction.lua | 18 ++++++++---------- src/actions/HangAction.lua | 14 +++++++------- src/models/Daily.lua | 2 -- src/models/RoleLog.lua | 2 ++ 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/src/GlobalVar.lua b/src/GlobalVar.lua index abb5de6..13f2820 100644 --- a/src/GlobalVar.lua +++ b/src/GlobalVar.lua @@ -156,6 +156,7 @@ ItemId = { AdvPower = 4701, -- 拾荒体力 CrisisScore = 8010, -- 积分 MonthCard = 31000, --兑换月卡的物品 + TreasureMap = 861, --藏宝图 } TimeReset = { diff --git a/src/actions/GmAction.lua b/src/actions/GmAction.lua index 166f2c3..9947cbd 100644 --- a/src/actions/GmAction.lua +++ b/src/actions/GmAction.lua @@ -1191,22 +1191,21 @@ end table.insert(helpDes, {"抓取额外宝藏", "treasure_extra"}) function _M.treasure_extra(role, pms) local extraCount = role.dailyData:getProperty("treasureExtraCount") --每日发现额外宝藏使用次数(累计),隔天清零 - local mapCount = role.dailyData:getProperty("treasureMapCount") local baseExtra = role.dailyData:getProperty("treasureBaseExtra") if extraCount >= globalCsv.idle_treasure_extra_limie then return 1 end - if mapCount <= 0 then return 2 end - baseExtra = baseExtra + globalCsv.idle_treasure_base_extra + local cost ={[ItemId.TreasureMap] = 1} + if not role:checkItemEnough(cost) then return 2 end + baseExtra = baseExtra + globalCsv.idle_treasure_base_extra local tmpTreasure, treasureListExtra = role.dailyData:getTreasureExtra(baseExtra) - - dump(tmpTreasure) - dump(treasureListExtra) if not tmpTreasure then return 3 end + if not role:costItems(cost, {log = {desc = "TreasureMap", int1 = ItemId.TreasureMap, int2 = 1}}) then return 4 end + + dump(treasureListExtra) role.dailyData:updateProperty({field = "treasureExtraCount", delta = 1}) - role.dailyData:updateProperty({field = "treasureMapCount", value = mapCount - 1}) role.dailyData:updateProperty({field = "treasureBaseExtra", value = baseExtra}) return "成功" @@ -1218,10 +1217,9 @@ function _M.treasure_map(role, pms) local cost ={[ItemId.Jade] = globalCsv.idle_treasure_buy * count} if not role:checkItemEnough(cost) then return -1 end if not role:costItems(cost, {log = {desc = "treasureMap", int1 = count}}) then return -2 end - role.dailyData:updateProperty({field = "treasureMapCount", delta = 1*count}) - local treasureMapCount = role.dailyData:getProperty("treasureMapCount") - return treasureMapCount + local reward, change = role:award({[ItemId.TreasureMap] = count}, {log = {desc = "TreasureMap", int1 = ItemId.TreasureMap, int2 = count}}) + return "兑换成功" end table.insert(helpDes, {"清空", "treasure_clear"}) diff --git a/src/actions/HangAction.lua b/src/actions/HangAction.lua index 3b6fb4b..0e710a8 100644 --- a/src/actions/HangAction.lua +++ b/src/actions/HangAction.lua @@ -1200,19 +1200,20 @@ end function _M.takeTreasureRpc(agent, data) local role = agent.role local extraCount = role.dailyData:getProperty("treasureExtraCount") --每日发现额外宝藏使用次数(累计),隔天清零 - local mapCount = role.dailyData:getProperty("treasureMapCount") local baseExtra = role.dailyData:getProperty("treasureBaseExtra") if extraCount >= globalCsv.idle_treasure_extra_limie then return 1 end - if mapCount <= 0 then return 2 end - baseExtra = baseExtra + globalCsv.idle_treasure_base_extra + local cost ={[ItemId.TreasureMap] = 1} + if not role:checkItemEnough(cost) then return 2 end + baseExtra = baseExtra + globalCsv.idle_treasure_base_extra local tmpTreasure, treasureListExtra = role.dailyData:getTreasureExtra(baseExtra) if not tmpTreasure then return 3 end + if not role:costItems(cost, {log = {desc = "TreasureMap", int1 = ItemId.TreasureMap, int2 = 1}}) then return 4 end + role.dailyData:updateProperty({field = "treasureExtraCount", delta = 1}) - role.dailyData:updateProperty({field = "treasureMapCount", value = mapCount - 1}) role.dailyData:updateProperty({field = "treasureBaseExtra", value = baseExtra}) SendPacket(actionCodes.Hang_takeTreasureRpc, MsgPack.pack({treasureListExtra = treasureListExtra, treasure = tmpTreasure})) @@ -1226,10 +1227,9 @@ function _M.treasureMapRpc(agent,data) local cost ={[ItemId.Jade] = globalCsv.idle_treasure_buy * count} if not role:checkItemEnough(cost) then return 1 end if not role:costItems(cost, {log = {desc = "treasureMap", int1 = count}}) then return 2 end - role.dailyData:updateProperty({field = "treasureMapCount", delta = count}) - local treasureMapCount = role.dailyData:getProperty("treasureMapCount") - SendPacket(actionCodes.Hang_treasureMapRpc, MsgPack.pack({mapCount = treasureMapCount})) + local reward, change = role:award({[ItemId.TreasureMap] = count}, {log = {desc = "TreasureMap", int1 = ItemId.TreasureMap, int2 = count}}) + SendPacket(actionCodes.Hang_treasureMapRpc, MsgPack.pack(role:packReward(reward, change))) return true end diff --git a/src/models/Daily.lua b/src/models/Daily.lua index dba04eb..e77025e 100644 --- a/src/models/Daily.lua +++ b/src/models/Daily.lua @@ -38,7 +38,6 @@ Daily.schema = { treasureList = {"table", {}}, --挂机图鉴 treasureListExtra = {"table", {}}, --额外宝藏,挂机图鉴扩展功能 - treasureMapCount = {"number", 0}, --宝藏图,消耗一张宝藏图可以发现一次额外宝藏 treasureExtraCount = {"number", 0}, --每日发现额外宝藏使用次数(累计),隔天清零 treasureBaseExtra = {"number", 0}, --额外宝藏资源值 @@ -131,7 +130,6 @@ function Daily:data() treasureBase = self:getProperty("treasureBase"), treasureList = self:getProperty("treasureList"), treasureListExtra = self:getProperty("treasureListExtra"), - treasureMapCount = self:getProperty("treasureMapCount"), treasureExtraCount = self:getProperty("treasureExtraCount"), treasureBaseExtra = self:getProperty("treasureBaseExtra"), chatTimes = self:getProperty("chatTimes"), diff --git a/src/models/RoleLog.lua b/src/models/RoleLog.lua index 57f0813..6c66365 100644 --- a/src/models/RoleLog.lua +++ b/src/models/RoleLog.lua @@ -179,6 +179,8 @@ local ItemReason = { CapsuleCoinCost = 1413, --抽扭蛋机消耗 worldLine = 1500, --世界线积分 + + TreasureMap = 1600, --藏宝图 } -- libgit2 0.21.2