23d89d13
zhouahaihai
冒险 结构
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
local ipairs = ipairs
local table = table
local math = math
local next = next
local string = string
local redisproxy = redisproxy
local MsgPack = MsgPack
local getRandomName = getRandomName
local mcast_util = mcast_util
local string_format = string.format
local tonumber = tonumber
local require = require
local table_insert = table.insert
local tconcat = table.concat
local table_unpack = table.unpack
local _M = {}
|
46fac6f1
zhouahaihai
酱料
|
19
|
--开始一个新的关卡
|
23d89d13
zhouahaihai
冒险 结构
|
20
21
22
|
function _M.startAdvRpc( agent, data )
local role = agent.role
local msg = MsgPack.unpack(data)
|
46fac6f1
zhouahaihai
酱料
|
23
24
25
|
local chapterId = msg.chapterId
--上一个关卡结束才可以开始新的关卡
|
23d89d13
zhouahaihai
冒险 结构
|
26
|
local advInfo = role:getProperty("advInfo")
|
46fac6f1
zhouahaihai
酱料
|
27
28
|
if next(advInfo) then return end
role:getAdvData():initByChapter(chapterId, 1)
|
23d89d13
zhouahaihai
冒险 结构
|
29
|
|
23d89d13
zhouahaihai
冒险 结构
|
30
31
32
33
|
SendPacket(actionCodes.Adv_startAdvRpc, '')
return true
end
|
46fac6f1
zhouahaihai
酱料
|
34
35
36
37
|
function _M.roleFormatRpc(agent , data)
local role = agent.role
local msg = MsgPack.unpack(data)
local advTeam = role:getProperty("advTeam")
|
384bb077
zhouahaihai
挂机
|
38
|
for slot, heroId in pairs(msg.heros) do
|
46fac6f1
zhouahaihai
酱料
|
39
40
41
42
43
44
|
if not role.heros[heroId] then
return
end
end
table.clear(advTeam)
advTeam.heros = {}
|
384bb077
zhouahaihai
挂机
|
45
|
for slot, heroId in pairs(msg.heros) do
|
46fac6f1
zhouahaihai
酱料
|
46
47
|
advTeam.heros[slot] = heroId
end
|
00115a7a
zhouahaihai
奖励发放
|
48
49
|
advTeam.leader = msg.leader
role:updateProperty({field = "advTeam", value = advTeam})
|
46fac6f1
zhouahaihai
酱料
|
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
SendPacket(actionCodes.Adv_roleFormatRpc, '')
return true
end
-- 点击地块(解锁)(触发事件)
function _M.clickBlockRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local adv = role:getAdvData()
local status = adv:clickBlock(msg.roomId, msg.blockId, msg)
if not status then return end
SendPacket(actionCodes.Adv_clickBlockRpc, MsgPack.pack({events = adv:popBackEvents()}))
return true
end
--use item 使用背包道具
function _M.useItemRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local adv = role:getAdvData()
local status = adv:useItem(msg.itemId, msg.count, msg.target) -- target {roomId = 1, blockId = 1} 选择的目标
if not status then return end
SendPacket(actionCodes.Adv_useItemRpc, MsgPack.pack({events = adv:popBackEvents()}))
return true
end
|
42f2d1d3
suhongyang
战斗内技能序列逻辑
|
78
|
--使用营养技能
|
d27ad5e0
suhongyang
使用营养技
|
79
|
function _M.usePotionRpc(agent, data)
|
46fac6f1
zhouahaihai
酱料
|
80
81
|
local role = agent.role
local msg = MsgPack.unpack(data)
|
d27ad5e0
suhongyang
使用营养技
|
82
83
84
85
|
local dishLevel = role.dinerData:getProperty("dishTree"):getv(msg.potionId, 0)
if dishLevel == 0 then
return
end
|
46fac6f1
zhouahaihai
酱料
|
86
|
local adv = role:getAdvData()
|
d27ad5e0
suhongyang
使用营养技
|
87
|
local status = adv:usePotion(msg.potionId, dishLevel, msg.target) -- target {roomId = 1, blockId = 1} 选择的目标
|
46fac6f1
zhouahaihai
酱料
|
88
|
if not status then return end
|
d27ad5e0
suhongyang
使用营养技
|
89
|
SendPacket(actionCodes.Adv_usePotionRpc, MsgPack.pack({events = adv:popBackEvents()}))
|
46fac6f1
zhouahaihai
酱料
|
90
91
|
return true
end
|
23d89d13
zhouahaihai
冒险 结构
|
92
|
|
ec87b4a5
zhouahaihai
冒险 完善
|
93
94
95
96
97
98
99
100
101
102
|
--退出
function _M.exitAdvRpc(agent, data)
local role = agent.role
-- local msg = MsgPack.unpack(data)
local adv = role:getAdvData()
local status = adv:exit() -- target {roomId = 1, blockId = 1} 选择的目标
SendPacket(actionCodes.Adv_exitAdvRpc, MsgPack.pack({events = adv:popBackEvents()}))
return true
end
|
ae20365b
suhongyang
Revert "修改冒险战斗逻辑"
|
103
|
|
23d89d13
zhouahaihai
冒险 结构
|
104
|
return _M
|