Commit fd2539943ba91286b2e86ba882f663bb43009112
Merge branch 'cn/develop' into cn/publish/zhaolu
Showing
4 changed files
with
41 additions
and
39 deletions
Show diff stats
src/ProtocolCode.lua
@@ -67,8 +67,6 @@ actionCodes = { | @@ -67,8 +67,6 @@ actionCodes = { | ||
67 | Role_itemConvertDevilTicketRpc = 148, -- 兑换魔鬼训练营门票 | 67 | Role_itemConvertDevilTicketRpc = 148, -- 兑换魔鬼训练营门票 |
68 | Role_unRegisterRpc = 149, --注销账号 | 68 | Role_unRegisterRpc = 149, --注销账号 |
69 | Role_searchAllRoleRpc = 150, --查询所有服的角色信息 | 69 | Role_searchAllRoleRpc = 150, --查询所有服的角色信息 |
70 | - Role_takeTreasureRpc = 151, --抓取额外宝藏 | ||
71 | - Role_treasureMapRpc = 152, --兑换宝藏图 | ||
72 | 70 | ||
73 | Adv_startAdvRpc = 151, | 71 | Adv_startAdvRpc = 151, |
74 | Adv_startHangRpc = 152, | 72 | Adv_startHangRpc = 152, |
@@ -148,6 +146,8 @@ actionCodes = { | @@ -148,6 +146,8 @@ actionCodes = { | ||
148 | Hang_workBattleInfoRpc = 268, | 146 | Hang_workBattleInfoRpc = 268, |
149 | Hang_getWorkRewardRpc = 269, | 147 | Hang_getWorkRewardRpc = 269, |
150 | Hang_unlockChapterRpc = 270, | 148 | Hang_unlockChapterRpc = 270, |
149 | + Hang_takeTreasureRpc = 271, --抓取额外宝藏 | ||
150 | + Hang_treasureMapRpc = 272, --兑换宝藏图 | ||
151 | 151 | ||
152 | Diner_updateProperty = 300, | 152 | Diner_updateProperty = 300, |
153 | Diner_addSellRpc = 301, | 153 | Diner_addSellRpc = 301, |
src/actions/HangAction.lua
@@ -1196,4 +1196,42 @@ function _M.unlockChapterRpc(agent, data) | @@ -1196,4 +1196,42 @@ function _M.unlockChapterRpc(agent, data) | ||
1196 | return true | 1196 | return true |
1197 | end | 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 | return _M | 1237 | return _M |
src/actions/RoleAction.lua
@@ -1909,40 +1909,4 @@ function _M.itemConvertDevilTicketRpc(agent, data) | @@ -1909,40 +1909,4 @@ function _M.itemConvertDevilTicketRpc(agent, data) | ||
1909 | return true | 1909 | return true |
1910 | end | 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 | return _M | 1912 | return _M |
1949 | \ No newline at end of file | 1913 | \ No newline at end of file |
src/models/DailyPlugin.lua
@@ -372,7 +372,7 @@ function DailyPlugin.bind(Daily) | @@ -372,7 +372,7 @@ function DailyPlugin.bind(Daily) | ||
372 | end | 372 | end |
373 | end | 373 | end |
374 | 374 | ||
375 | - if next(tmpTreasure) then | 375 | + if not next(tmpTreasure) then |
376 | self:updateProperty({field = "treasureListExtra", value = treasureListExtra}) | 376 | self:updateProperty({field = "treasureListExtra", value = treasureListExtra}) |
377 | return nil | 377 | return nil |
378 | end | 378 | end |