Commit d4749c286b7917a91eeaab6b9a26ab2e32a0f78e
1 parent
1bbe3bb8
fix: 额外宝藏 修改协议号
Showing
3 changed files
with
40 additions
and
38 deletions
Show diff stats
src/ProtocolCode.lua
... | ... | @@ -67,8 +67,6 @@ actionCodes = { |
67 | 67 | Role_itemConvertDevilTicketRpc = 148, -- 兑换魔鬼训练营门票 |
68 | 68 | Role_unRegisterRpc = 149, --注销账号 |
69 | 69 | Role_searchAllRoleRpc = 150, --查询所有服的角色信息 |
70 | - Role_takeTreasureRpc = 151, --抓取额外宝藏 | |
71 | - Role_treasureMapRpc = 152, --兑换宝藏图 | |
72 | 70 | |
73 | 71 | Adv_startAdvRpc = 151, |
74 | 72 | Adv_startHangRpc = 152, |
... | ... | @@ -148,6 +146,8 @@ actionCodes = { |
148 | 146 | Hang_workBattleInfoRpc = 268, |
149 | 147 | Hang_getWorkRewardRpc = 269, |
150 | 148 | Hang_unlockChapterRpc = 270, |
149 | + Hang_takeTreasureRpc = 271, --抓取额外宝藏 | |
150 | + Hang_treasureMapRpc = 272, --兑换宝藏图 | |
151 | 151 | |
152 | 152 | Diner_updateProperty = 300, |
153 | 153 | Diner_addSellRpc = 301, | ... | ... |
src/actions/HangAction.lua
... | ... | @@ -1196,4 +1196,42 @@ function _M.unlockChapterRpc(agent, data) |
1196 | 1196 | return true |
1197 | 1197 | end |
1198 | 1198 | |
1199 | + | |
1200 | +function _M.takeTreasureRpc(agent, data) | |
1201 | + local role = agent.role | |
1202 | + local extraCount = role.dailyData:getProperty("treasureExtraCount") --每日发现额外宝藏使用次数(累计),隔天清零 | |
1203 | + local mapCount = role.dailyData:getProperty("treasureMapCount") | |
1204 | + local baseExtra = role.dailyData:getProperty("treasureBaseExtra") | |
1205 | + | |
1206 | + if extraCount >= globalCsv.idle_treasure_extra_limie then return 1 end | |
1207 | + if mapCount <= 0 then return 2 end | |
1208 | + | |
1209 | + baseExtra = baseExtra + globalCsv.idle_treasure_base_extra | |
1210 | + | |
1211 | + local tmpTreasure, treasureListExtra = role.dailyData:getTreasureExtra(baseExtra) | |
1212 | + if not tmpTreasure then return 3 end | |
1213 | + | |
1214 | + role.dailyData:updateProperty({field = "treasureExtraCount", delta = 1}) | |
1215 | + role.dailyData:updateProperty({field = "treasureBaseExtra", value = mapCount - 1}) | |
1216 | + role.dailyData:updateProperty({field = "treasureBaseExtra", value = baseExtra}) | |
1217 | + | |
1218 | + SendPacket(actionCodes.Hang_takeTreasureRpc, MsgPack.pack({treasureListExtra = treasureListExtra, treasure = tmpTreasure})) | |
1219 | + return true | |
1220 | +end | |
1221 | + | |
1222 | +function _M.treasureMapRpc(agent,data) | |
1223 | + local role = agent.role | |
1224 | + local msg = MsgPack.unpack(data) | |
1225 | + local count = msg.count or 1 | |
1226 | + local cost ={[ItemId.Jade] = globalCsv.idle_treasure_buy * count} | |
1227 | + if not role:checkItemEnough(cost) then return 1 end | |
1228 | + if not role:costItems(cost, {log = {desc = "treasureMap", int1 = count}}) then return 2 end | |
1229 | + role.dailyData:updateProperty({field = "treasureMapCount", delta = 1*count}) | |
1230 | + | |
1231 | + local treasureMapCount = role.dailyData:getProperty("treasureMapCount") | |
1232 | + SendPacket(actionCodes.Hang_treasureMapRpc, MsgPack.pack({mapCount = treasureMapCount})) | |
1233 | + return true | |
1234 | +end | |
1235 | + | |
1236 | + | |
1199 | 1237 | return _M | ... | ... |
src/actions/RoleAction.lua
... | ... | @@ -1909,40 +1909,4 @@ function _M.itemConvertDevilTicketRpc(agent, data) |
1909 | 1909 | return true |
1910 | 1910 | end |
1911 | 1911 | |
1912 | -function _M.takeTreasureRpc(agent, data) | |
1913 | - local role = agent.role | |
1914 | - local extraCount = role.dailyData:getProperty("treasureExtraCount") --每日发现额外宝藏使用次数(累计),隔天清零 | |
1915 | - local mapCount = role.dailyData:getProperty("treasureMapCount") | |
1916 | - local baseExtra = role.dailyData:getProperty("treasureBaseExtra") | |
1917 | - | |
1918 | - if extraCount >= globalCsv.idle_treasure_extra_limie then return 1 end | |
1919 | - if mapCount <= 0 then return 2 end | |
1920 | - | |
1921 | - baseExtra = baseExtra + globalCsv.idle_treasure_base_extra | |
1922 | - | |
1923 | - local tmpTreasure, treasureListExtra = role.dailyData:getTreasureExtra(baseExtra) | |
1924 | - if not tmpTreasure then return 3 end | |
1925 | - | |
1926 | - role.dailyData:updateProperty({field = "treasureExtraCount", delta = 1}) | |
1927 | - role.dailyData:updateProperty({field = "treasureBaseExtra", value = mapCount - 1}) | |
1928 | - role.dailyData:updateProperty({field = "treasureBaseExtra", value = baseExtra}) | |
1929 | - | |
1930 | - SendPacket(actionCodes.Role_takeTreasureRpc, MsgPack.pack({treasureListExtra = treasureListExtra, treasure = tmpTreasure})) | |
1931 | - return true | |
1932 | -end | |
1933 | - | |
1934 | -function _M.treasureMapRpc(agent,data) | |
1935 | - local role = agent.role | |
1936 | - local msg = MsgPack.unpack(data) | |
1937 | - local count = msg.count or 1 | |
1938 | - local cost ={[ItemId.Jade] = globalCsv.idle_treasure_buy * count} | |
1939 | - if not role:checkItemEnough(cost) then return 1 end | |
1940 | - if not role:costItems(cost, {log = {desc = "treasureMap", int1 = count}}) then return 2 end | |
1941 | - role.dailyData:updateProperty({field = "treasureMapCount", delta = 1*count}) | |
1942 | - | |
1943 | - local treasureMapCount = role.dailyData:getProperty("treasureMapCount") | |
1944 | - SendPacket(actionCodes.Role_treasureMapRpc, MsgPack.pack({mapCount = treasureMapCount})) | |
1945 | - return true | |
1946 | -end | |
1947 | - | |
1948 | 1912 | return _M |
1949 | 1913 | \ No newline at end of file | ... | ... |