From d4f83f164ed30dcd919405ffd1e7b77ce5ce6cb4 Mon Sep 17 00:00:00 2001 From: zqj <582132116@qq.com> Date: Thu, 29 Jul 2021 15:10:41 +0800 Subject: [PATCH] feat: 一番赏 增加抽扭蛋机消耗票 指令 --- src/ProtocolCode.lua | 3 ++- src/actions/CapsuleAction.lua | 22 ++++++++++++++++++++++ src/actions/RoleAction.lua | 4 ++-- src/models/RoleLog.lua | 1 + 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/src/ProtocolCode.lua b/src/ProtocolCode.lua index 2c22204..aad3c2e 100644 --- a/src/ProtocolCode.lua +++ b/src/ProtocolCode.lua @@ -59,7 +59,7 @@ actionCodes = { Role_runeBuyRpc = 142, -- 铭文购买 Role_setFriendTeamRpc = 143, -- 设置好友切磋队伍 Role_setBgRpc = 144, -- 设置看板娘 - Role_itemExchangeRpc = 145, -- 道具兑换 + Role_itemConvertMonthCardRpc = 145, -- 兑换月卡道具 Adv_startAdvRpc = 151, Adv_startHangRpc = 152, @@ -284,6 +284,7 @@ actionCodes = { Capsule_payReward = 857, -- 特殊赏 奖励通知 Capsule_exitRpc = 858, -- 退出 Capsule_getDataRpc = 859, --获取扭蛋机信息 + Capsule_convertCapsuleRpc = 890, --兑换消耗票 } rpcResponseBegin = 10000 diff --git a/src/actions/CapsuleAction.lua b/src/actions/CapsuleAction.lua index 75d3d52..2c183da 100644 --- a/src/actions/CapsuleAction.lua +++ b/src/actions/CapsuleAction.lua @@ -173,4 +173,26 @@ function _M.getDataRpc(agent, data) end +function _M.convertCapsuleRpc(agent, data) + local role = agent.role + local msg = MsgPack.unpack(data) + local coin = msg.coin + local count = msg.count or 1 + + local cost, convert = {} + for k, v in pairs(globalCsv.ichibankuji_buy_cost)do + if k == coin then + convert = v:toArray(true, "=") + break + end + end + cost[convert[1]] = convert[2] * count + if not role:checkItemEnough(cost) then return 1 end + role:costItems(cost, {log = {desc = "CapsuleConvert", int1 = convert[1], int2 = cost[convert[1]]}}) + + local reward, change = role:award({coin = count}, {log = {desc = "CapsuleConvert"}}) + SendPacket(actionCodes.Capsule_convertCapsuleRpc, MsgPack.pack(role:packReward(reward, change))) + return true +end + return _M \ No newline at end of file diff --git a/src/actions/RoleAction.lua b/src/actions/RoleAction.lua index c2abca3..790be03 100644 --- a/src/actions/RoleAction.lua +++ b/src/actions/RoleAction.lua @@ -1710,7 +1710,7 @@ function _M.setBgRpc(agent, data) return true end -function _M.itemExchangeRpc(agent, data) +function _M.itemConvertMonthCardRpc(agent, data) local role = agent.role local msg = MsgPack.unpack(data) local itemId = msg.item_id @@ -1738,7 +1738,7 @@ function _M.itemExchangeRpc(agent, data) end end - SendPacket(actionCodes.Role_itemExchangeRpc, MsgPack.pack(role:packReward(reward))) + SendPacket(actionCodes.Role_itemConvertMonthCardRpc, MsgPack.pack(role:packReward(reward))) return status end diff --git a/src/models/RoleLog.lua b/src/models/RoleLog.lua index 72f6c76..c79320e 100644 --- a/src/models/RoleLog.lua +++ b/src/models/RoleLog.lua @@ -161,6 +161,7 @@ local ItemReason = { returner = 1410, -- 回归者奖励 CapsuleReward = 1411, --扭蛋机奖励 + CapsuleConvert = 1412, --扭蛋机 消耗票 兑换 CapsuleCoinCost = 1413, --抽扭蛋机消耗 } -- libgit2 0.21.2