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 | 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 | ... | ... |
src/models/DailyPlugin.lua