From 5404ee7d8e233ab6dcba8ed5af167e66519b195b Mon Sep 17 00:00:00 2001 From: zhouhaihai Date: Thu, 27 Feb 2020 10:58:51 +0800 Subject: [PATCH] 冒险挂机加速 --- src/ProtocolCode.lua | 1 + src/actions/AdvAction.lua | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 0 deletions(-) diff --git a/src/ProtocolCode.lua b/src/ProtocolCode.lua index ce7662a..d5f86bc 100644 --- a/src/ProtocolCode.lua +++ b/src/ProtocolCode.lua @@ -62,6 +62,7 @@ actionCodes = { Adv_upArtifactRpc = 167, Adv_repayWheelSurfRpc = 168, Adv_rankRpc = 169, + Adv_quickHangRpc = 170, Hero_loadInfos = 201, Hero_updateProperty = 202, diff --git a/src/actions/AdvAction.lua b/src/actions/AdvAction.lua index b048ff1..8aeb86a 100644 --- a/src/actions/AdvAction.lua +++ b/src/actions/AdvAction.lua @@ -194,6 +194,33 @@ function _M.startHangRpc(agent, data) return true end +function _M.quickHangRpc(agent, data) + local role = agent.role + local msg = MsgPack.unpack(data) + + local chapterId = msg.chapterId --关卡id + + local advHang = role:getProperty("advHang") + local info = advHang[chapterId] + if not info then return end + + local chapterData = csvdb["adv_chapterCsv"][chapterId] + if not chapterData then return end + + local reward, isFull + if skynet.timex() >= info.time then return end -- 已经完成了 + + local cost = math.ceil((info.time - skynet.timex()) / chapterData.idleTime * chapterData.accelerate) + + if not role:checkItemEnough({[ItemId.Diamond] = cost}) then return end + role:costItems({[ItemId.Diamond] = cost}) + info.time = 0 + role:changeUpdates({{type = "advHang", field = chapterId, value = info}}) + + SendPacket(actionCodes.Adv_quickHangRpc, '') + return true +end + function _M.endHangRpc(agent, data) local role = agent.role local msg = MsgPack.unpack(data) -- libgit2 0.21.2