From 21774ba5b42decc10bfbc006f1006f8d9d5adaa7 Mon Sep 17 00:00:00 2001 From: zqj <582132116@qq.com> Date: Thu, 13 May 2021 15:22:08 +0800 Subject: [PATCH] feat: 金币购买铭文碎片 --- src/ProtocolCode.lua | 1 + src/actions/RoleAction.lua | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/src/ProtocolCode.lua b/src/ProtocolCode.lua index 116721b..ff047ff 100644 --- a/src/ProtocolCode.lua +++ b/src/ProtocolCode.lua @@ -55,6 +55,7 @@ actionCodes = { Role_updateSpark = 139, -- 更新火花 Role_diamondConvertRpc = 140, -- 钻石兑换成别的物品 Role_getTimeGiftRpc = 141, + Role_runeBuyRpc = 142, -- 铭文购买 Adv_startAdvRpc = 151, Adv_startHangRpc = 152, diff --git a/src/actions/RoleAction.lua b/src/actions/RoleAction.lua index 2a86aef..b340309 100644 --- a/src/actions/RoleAction.lua +++ b/src/actions/RoleAction.lua @@ -1568,4 +1568,19 @@ function _M.getTimeGiftRpc(agent, data) return true end +function _M.runeBuyRpc(agent, data) + local role = agent.role + local msg = MsgPack.unpack(data) + local count = msg.count + + local glodCount = globalCsv.rune_exchange * count + if not role:checkItemEnough({[ItemId.Gold] = glodCount}) then return end + role:costItems({[ItemId.Gold] = glodCount}, {log = {desc = "glodConvertRune", int1 = count, int2 = glodCount}}) + local reward, change = {} + reward[ItemId.RuneFragment] = count + reward, change = role:award(reward, {log = {desc = "glodConvertRune"}}) + SendPacket(actionCodes.Role_runeBuyRpc, MsgPack.pack(role:packReward(reward, change))) + return true +end + return _M \ No newline at end of file -- libgit2 0.21.2