384bb077
zhouahaihai
挂机
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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 = {}
local function checkReward(role)
local hangInfo = role:getProperty("hangInfo")
if not hangInfo.carbonId or not hangInfo.coinTime or not hangInfo.itemTime then
|
024370be
liuzujun
双倍掉掉落bug
|
22
|
return false
|
384bb077
zhouahaihai
挂机
|
23
24
|
end
local carbonData = csvdb["idle_battleCsv"][hangInfo.carbonId]
|
8cd3770f
liuzujun
挂机关卡可以选择,经验金币根据最高...
|
25
|
local expCarbonData = csvdb["idle_battleCsv"][hangInfo.expCarbonId]
|
bcf5bfbb
zhouahaihai
挂机new
|
26
27
|
local nowCoinTime = math.min(skynet.timex(), hangInfo.endCoinTime or 0)
local nowItemTime = math.min(skynet.timex(), hangInfo.endItemTime or 0)
|
384bb077
zhouahaihai
挂机
|
28
|
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
29
30
|
local expCoef, itemCoef = role.storeData:getHangDropCoef()
|
706b517e
liuzujun
翻倍掉落活动,商城免费宝箱
|
31
32
33
|
-- 此次挂机,其中翻倍时长占多少
local doubleTime = role.activity:getActHangDoubleTime(hangInfo.coinTime, nowCoinTime)
local normalTime = nowCoinTime - hangInfo.coinTime - doubleTime
|
384bb077
zhouahaihai
挂机
|
34
|
|
706b517e
liuzujun
翻倍掉落活动,商城免费宝箱
|
35
36
37
38
|
local coinCount = math.max(0, math.floor((normalTime) / globalCsv.idle_money_produce_cd))
local coinDoubleCount = math.max(0, math.floor((doubleTime) / globalCsv.idle_money_produce_cd)) * 2
hangInfo.coinTime = nowCoinTime
|
024370be
liuzujun
双倍掉掉落bug
|
39
|
normalTime = nowItemTime - hangInfo.itemTime
|
706b517e
liuzujun
翻倍掉落活动,商城免费宝箱
|
40
|
local itemCount = math.max(0, math.floor((normalTime) / globalCsv.idle_item_produce_cd))
|
706b517e
liuzujun
翻倍掉落活动,商城免费宝箱
|
41
|
hangInfo.itemTime = nowItemTime
|
384bb077
zhouahaihai
挂机
|
42
43
|
local items = role:getProperty("hangBag")
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
44
|
coinCount = (coinCount + coinDoubleCount) * expCoef
|
8cd3770f
liuzujun
挂机关卡可以选择,经验金币根据最高...
|
45
46
47
|
items[ItemId.Gold] = math.floor((items[ItemId.Gold] or 0) + coinCount * expCarbonData.money)
items[ItemId.Exp] = math.floor((items[ItemId.Exp] or 0) + coinCount * expCarbonData.exp)
items[ItemId.PlayerExp] = math.floor((items[ItemId.PlayerExp] or 0) + coinCount * expCarbonData.playerExp)
|
384bb077
zhouahaihai
挂机
|
48
49
50
51
52
|
local pool = {}
for _, temp in pairs(carbonData.item:toArray()) do
table.insert(pool, temp:toArray(true, "="))
end
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
53
54
55
|
local curFC = 0
local curIC = 0
for id, count in pairs(items) do
|
bcf5bfbb
zhouahaihai
挂机new
|
56
|
if id ~= ItemId.Gold and id ~= ItemId.Exp and id ~= ItemId.PlayerExp then
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
57
58
|
curFC = curFC + math.ceil(count / globalCsv.idle_field_limit)
curIC = curIC + count
|
9962b061
zhouahaihai
补充 挂机
|
59
60
|
end
end
|
317a46a9
liuzujun
添加特权卡
|
61
62
63
|
-- 特权卡挂机额外栏位
local privExtraCnt = role.storeData:getHangSlotExtraCount()
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
64
65
|
--local selfFC = role:getProperty("hangBagLimit") + privExtraCnt
local selfFC = 50
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
66
67
68
69
70
71
72
73
74
|
local selfIC = selfFC * globalCsv.idle_field_limit
local function randomItem()
if curIC >= selfIC then
return
end
local tempPool = clone(pool)
while #tempPool > 0 do
local idx = math.randWeight(tempPool, 3)
|
024370be
liuzujun
双倍掉掉落bug
|
75
|
local cur = clone(pool[idx])
|
93f6e69b
liuzujun
拾荒选择时间,抽卡增加sr保底
|
76
|
if cur[1] ~= 0 then -- 轮空 id
|
024370be
liuzujun
双倍掉掉落bug
|
77
78
|
if cur[1] == ItemId.BreakCost and doubleTime > 0 then
cur[2] = cur[2] * 2
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
79
|
end
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
80
|
cur[2] = cur[2] * itemCoef
|
024370be
liuzujun
双倍掉掉落bug
|
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
if (items[cur[1]] and math.ceil((items[cur[1]] + cur[2]) / globalCsv.idle_field_limit) > math.ceil(items[cur[1]] / globalCsv.idle_field_limit))
or not items[cur[1]] then --要占用新栏位的情况
local addFC
if not items[cur[1]] then
addFC = math.ceil(cur[2] / globalCsv.idle_field_limit)
else
local frontC = items[cur[1]] % globalCsv.idle_field_limit
if frontC == 0 then
frontC = globalCsv.idle_field_limit
end
addFC = math.ceil((cur[2] - (globalCsv.idle_field_limit - frontC)) / globalCsv.idle_field_limit)
end
if curFC + addFC <= selfFC then
curFC = curFC + addFC
items[cur[1]] = (items[cur[1]] or 0) + cur[2]
break
else
--加不了,换别的东西
table.remove(tempPool, idx)
end
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
101
|
else
|
024370be
liuzujun
双倍掉掉落bug
|
102
103
|
items[cur[1]] = items[cur[1]] + cur[2]
break
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
104
105
|
end
else
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
106
|
break
|
9962b061
zhouahaihai
补充 挂机
|
107
|
end
|
9962b061
zhouahaihai
补充 挂机
|
108
|
end
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
109
110
|
curIC = curIC + 1
end
|
024370be
liuzujun
双倍掉掉落bug
|
111
|
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
112
113
|
for i = 1, itemCount do
randomItem()
|
384bb077
zhouahaihai
挂机
|
114
115
116
|
end
if coinCount > 0 or itemCount > 0 then
|
5af8b4aa
zhouahaihai
挂机down
|
117
|
return true
|
384bb077
zhouahaihai
挂机
|
118
|
end
|
024370be
liuzujun
双倍掉掉落bug
|
119
120
|
return false
|
384bb077
zhouahaihai
挂机
|
121
122
|
end
|
384bb077
zhouahaihai
挂机
|
123
124
125
126
127
128
|
--开始一个新的关卡
function _M.startRpc( agent, data )
local role = agent.role
local msg = MsgPack.unpack(data)
local carbonId = msg.carbonId
local carbonData = csvdb["idle_battleCsv"][carbonId]
|
f60b89b1
zhouhaihai
奖励副本
|
129
|
if not carbonData then return 1 end
|
384bb077
zhouahaihai
挂机
|
130
|
|
d232676a
zhouhaihai
功能解锁 冒险返回
|
131
132
133
134
|
if math.floor(carbonId / 10000) ~= 1 then
if not role:isFuncUnlock(FuncUnlock.DifficultHang) then return end
end
|
5d80aca6
zhouahaihai
挂机优化
|
135
136
|
for _, preCarbonId in ipairs(carbonData.prepose:toArray(true, "=")) do
|
33be3111
zhouhaihai
修改hangPass 结构
|
137
|
if not role:checkHangPass(preCarbonId) then return 2 end
|
5d80aca6
zhouahaihai
挂机优化
|
138
|
end
|
384bb077
zhouahaihai
挂机
|
139
|
|
5af8b4aa
zhouahaihai
挂机down
|
140
141
142
|
if checkReward(role) then
role:updateProperty({field = "hangBag", value = role:getProperty("hangBag")})
end
|
384bb077
zhouahaihai
挂机
|
143
144
|
local hangInfo = role:getProperty("hangInfo")
|
5af8b4aa
zhouahaihai
挂机down
|
145
|
local isNew = not hangInfo.carbonId
|
384bb077
zhouahaihai
挂机
|
146
|
hangInfo.carbonId = carbonId
|
8cd3770f
liuzujun
挂机关卡可以选择,经验金币根据最高...
|
147
|
hangInfo.expCarbonId = isNew and carbonId or hangInfo.expCarbonId
|
384bb077
zhouahaihai
挂机
|
148
|
local nowTime = skynet.timex()
|
5af8b4aa
zhouahaihai
挂机down
|
149
|
if isNew then
|
1103490d
zhouhaihai
设置 国家时间错误
|
150
151
|
hangInfo.coinTime = nowTime
hangInfo.itemTime = nowTime
|
bcf5bfbb
zhouahaihai
挂机new
|
152
153
|
hangInfo.endCoinTime = nowTime + globalCsv.idle_producetime_max
hangInfo.endItemTime = nowTime + globalCsv.idle_producetime_max
|
1103490d
zhouhaihai
设置 国家时间错误
|
154
155
156
|
else
hangInfo.coinTime = math.min(nowTime, hangInfo.endCoinTime)
hangInfo.itemTime = math.min(nowTime, hangInfo.endItemTime)
|
5af8b4aa
zhouahaihai
挂机down
|
157
|
end
|
072db127
zhouhaihai
推送
|
158
159
|
role:pushMsg({type = "hang", time = math.min(hangInfo.endCoinTime - nowTime, hangInfo.endItemTime - nowTime)})
|
33be3111
zhouhaihai
修改hangPass 结构
|
160
|
if not role:checkHangPass(carbonId) then
|
5af8b4aa
zhouahaihai
挂机down
|
161
162
163
|
hangInfo.bossTime = nowTime + carbonData.idle_time
else
hangInfo.bossTime = nil
|
384bb077
zhouahaihai
挂机
|
164
|
end
|
072db127
zhouhaihai
推送
|
165
|
|
384bb077
zhouahaihai
挂机
|
166
167
|
role:updateProperty({field = "hangInfo", value = hangInfo})
|
d02f7904
zhouhaihai
遗失的log
|
168
|
role:mylog("hang_action", {desc = "startHang", int1 = carbonId})
|
384bb077
zhouahaihai
挂机
|
169
170
171
172
173
174
175
176
|
SendPacket(actionCodes.Hang_startRpc, '')
return true
end
-- 每隔1分钟检查一次
function _M.checkRpc(agent, data)
local role = agent.role
-- local msg = MsgPack.unpack(data)
|
5af8b4aa
zhouahaihai
挂机down
|
177
178
179
180
|
if checkReward(role) then
role:updateProperty({field = "hangBag", value = role:getProperty("hangBag")})
role:updateProperty({field = "hangInfo", value = role:getProperty("hangInfo")})
end
|
384bb077
zhouahaihai
挂机
|
181
182
183
184
|
SendPacket(actionCodes.Hang_checkRpc, MsgPack.pack({}))
return true
end
|
cc5ca7f3
zhouhaihai
缓存battleKey
|
185
|
local _BattleKey = nil
|
384bb077
zhouahaihai
挂机
|
186
187
188
|
function _M.startBattleRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
|
bcf5bfbb
zhouahaihai
挂机new
|
189
190
|
local carbonId = msg.carbonId
local curData = csvdb["idle_battleCsv"][carbonId]
|
a1e08c9c
zhengshouren
宝箱关战斗异常
|
191
192
193
|
if not curData then
return 1
end
|
bcf5bfbb
zhouahaihai
挂机new
|
194
|
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
195
196
197
198
199
200
|
--local hangInfo = role:getProperty("hangInfo") or {}
--if curData.main ~= 1 then
-- if carbonId ~= hangInfo.carbonId then
-- return 2
-- end
--end
|
bcf5bfbb
zhouahaihai
挂机new
|
201
|
|
33be3111
zhouhaihai
修改hangPass 结构
|
202
|
if role:checkHangPass(carbonId) then
|
a1e08c9c
zhengshouren
宝箱关战斗异常
|
203
204
|
return 3
end
|
bcf5bfbb
zhouahaihai
挂机new
|
205
|
|
cc5ca7f3
zhouhaihai
缓存battleKey
|
206
207
|
_BattleKey = tostring(math.random())
|
53e8037e
zhouhaihai
任务
|
208
|
role:checkTaskEnter("HangBattle", {id = carbonId})
|
52c87300
zhouhaihai
bug
|
209
|
SendPacket(actionCodes.Hang_startBattleRpc, MsgPack.pack({key = _BattleKey}))
|
384bb077
zhouahaihai
挂机
|
210
211
212
213
214
215
|
return true
end
function _M.endBattleRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
|
8cd3770f
liuzujun
挂机关卡可以选择,经验金币根据最高...
|
216
|
local hangInfo = role:getProperty("hangInfo") or {}
|
cc5ca7f3
zhouhaihai
缓存battleKey
|
217
|
if not msg.key or msg.key ~= _BattleKey then
|
d6a66c74
zhouhaihai
校验失败也返回
|
218
219
|
SendPacket(actionCodes.Hang_endBattleRpc, MsgPack.pack({errorCode = 1}))
return true
|
4906ebd2
zhengshouren
宝箱关副本结算异常
|
220
|
end
|
bcf5bfbb
zhouahaihai
挂机new
|
221
|
local carbonId = msg.carbonId
|
d4e9b817
zhouhaihai
战斗 日志
|
222
|
local isWin = msg.starNum and msg.starNum > 0
|
bcf5bfbb
zhouahaihai
挂机new
|
223
|
local carbonData = csvdb["idle_battleCsv"][carbonId]
|
4906ebd2
zhengshouren
宝箱关副本结算异常
|
224
225
226
|
if not carbonData then
return 2
end
|
8cd3770f
liuzujun
挂机关卡可以选择,经验金币根据最高...
|
227
|
|
460afa6e
liuzujun
付费签到改为主动领取,战斗关卡不一...
|
228
229
230
231
232
|
--if carbonData.main ~= 1 then
-- if carbonId ~= hangInfo.carbonId then
-- return 3
-- end
--end
|
33be3111
zhouhaihai
修改hangPass 结构
|
233
234
|
if role:checkHangPass(carbonId) then
|
4906ebd2
zhengshouren
宝箱关副本结算异常
|
235
236
|
return 4
end
|
d4e9b817
zhouhaihai
战斗 日志
|
237
|
|
edf2ee12
zhouhaihai
防作弊
|
238
239
240
241
242
243
244
245
246
247
|
-- 防作弊
if not role:checkBattleCheat("hang", {
id = carbonId,
isWin = isWin,
info = msg.info
}) then
SendPacket(actionCodes.Hang_endBattleRpc, MsgPack.pack({errorCode = 1}))
return true
end
|
7bb30dca
zhouhaihai
修改发奖
|
248
|
local reward, change
|
d4e9b817
zhouhaihai
战斗 日志
|
249
|
if isWin then --win
|
33be3111
zhouhaihai
修改hangPass 结构
|
250
|
role:hangFinish(carbonId)
|
bcf5bfbb
zhouahaihai
挂机new
|
251
252
253
|
if carbonData.main ~= 1 then
hangInfo.bossTime = nil
end
|
384bb077
zhouahaihai
挂机
|
254
255
|
-- reward
reward = {}
|
384bb077
zhouahaihai
挂机
|
256
257
|
reward[ItemId.Gold] = carbonData.money_clear
reward[ItemId.Exp] = carbonData.exp_clear
|
00115a7a
zhouahaihai
奖励发放
|
258
|
reward[ItemId.PlayerExp] = carbonData.playerExp_clear
|
384bb077
zhouahaihai
挂机
|
259
|
for itemId, count in pairs(carbonData.item_clear:toNumMap()) do
|
384bb077
zhouahaihai
挂机
|
260
261
|
reward[itemId] = count
end
|
7bb30dca
zhouhaihai
修改发奖
|
262
|
reward, change = role:award(reward, {log = {desc = "hangBattle", int1 = carbonId}})
|
00e663bd
zhouhaihai
剧情相关
|
263
|
|
03a6166a
zhouhaihai
餐厅优化
|
264
|
role:checkTaskEnter("HangPass", {id = carbonId})
|
286c980a
chenyueqi
挂机战斗胜利才触发对应的引导
|
265
266
267
|
-- 引导
if carbonId == 10101 then
|
a5b98c30
chenyueqi
引导调整
|
268
|
role:finishGuide(6)
|
be0c7a19
chenyueqi
挂机打完困难20101才设定完成引导22
|
269
|
elseif carbonId == 20101 then
|
286c980a
chenyueqi
挂机战斗胜利才触发对应的引导
|
270
271
272
273
274
275
276
277
|
role:finishGuide(22)
end
for _, guideData in pairs(csvdb["guide_unlockCsv"]) do
if guideData.type == 3 and guideData.carbonId == carbonId then
role:saveGuide(guideData.guideId,1,true)
break
end
end
|
384bb077
zhouahaihai
挂机
|
278
|
end
|
53b4b8bd
liuzujun
自动挂机下一关
|
279
280
|
local nextCarbonId = role:getNextCarbonId(carbonId)
-- 设置挂机关卡
|
87c65a8d
liuzujun
挂机经验关卡改为最终通关关卡
|
281
|
if isWin then --and (hangInfo.carbonId or 0) < nextCarbonId then
|
98d32f92
liuzujun
多编队
|
282
283
284
285
286
287
288
289
290
|
if not hangInfo.expCarbonId then
hangInfo.expCarbonId = carbonId
else
local oldCarbonData = csvdb["idle_battleCsv"][hangInfo.expCarbonId]
local newCarbonData = csvdb["idle_battleCsv"][carbonId]
if oldCarbonData.money < newCarbonData.money then
hangInfo.expCarbonId = carbonId
end
end
|
87c65a8d
liuzujun
挂机经验关卡改为最终通关关卡
|
291
292
293
294
|
--local cfg = csvdb["idle_battleCsv"][nextCarbonId]
--if cfg then
-- hangInfo.bossTime = skynet.timex() + cfg.idle_time
--end
|
93f6e69b
liuzujun
拾荒选择时间,抽卡增加sr保底
|
295
|
end
|
384bb077
zhouahaihai
挂机
|
296
|
role:updateProperty({field = "hangInfo", value = hangInfo})
|
33be3111
zhouhaihai
修改hangPass 结构
|
297
|
|
d4e9b817
zhouhaihai
战斗 日志
|
298
299
300
301
302
303
|
role:checkBattle("hang", {
id = carbonId,
isWin = isWin,
info = msg.info,
reward = reward,
})
|
1e9cb217
chenyueqi
服务器记录控制引导过程
|
304
|
|
d02f7904
zhouhaihai
遗失的log
|
305
306
307
|
local team = role:getProperty("pvpTC")
role:mylog("hang_action", {desc = "hangBattle", short1 = msg.starNum > 0 and 1 or 0, int1 = carbonId, int2 = role:getProperty("hangTBV"), cint1 = role:getHerosCamp(team.heros)})
|
384bb077
zhouahaihai
挂机
|
308
309
310
|
SendPacket(actionCodes.Hang_endBattleRpc, MsgPack.pack({
starNum = msg.starNum,
reward = reward,
|
7bb30dca
zhouhaihai
修改发奖
|
311
|
change = change,
|
384bb077
zhouahaihai
挂机
|
312
313
314
315
|
}))
return true
end
|
7efe5275
zhouhaihai
检查leader
|
316
317
318
319
320
321
322
|
local function checkLeader(heros, leader)
if not leader then return end
for slot, heroId in pairs(heros) do
if heroId == leader then return true end
end
end
|
384bb077
zhouahaihai
挂机
|
323
324
325
|
function _M.roleFormatRpc(agent , data)
local role = agent.role
local msg = MsgPack.unpack(data)
|
98d32f92
liuzujun
多编队
|
326
327
|
local index = msg.index -- 阵容索引
local title = msg.title -- 阵容名称
|
7d662b85
liuzujun
编队增加战术字段
|
328
|
local tactics = msg.tactics -- 战术
|
98d32f92
liuzujun
多编队
|
329
|
local team = {}
|
384bb077
zhouahaihai
挂机
|
330
331
|
for slot, heroId in pairs(msg.heros) do
if not role.heros[heroId] then
|
e6ebee44
zhouhaihai
编队bug
|
332
|
return 1
|
384bb077
zhouahaihai
挂机
|
333
334
|
end
end
|
f603a60f
zhouhaihai
支援技实装
|
335
336
337
|
local supports = {}
for slot, support in pairs(msg.supports or {}) do
|
e6ebee44
zhouhaihai
编队bug
|
338
|
if slot ~= 1 and slot ~= 2 then return 2 end
|
f603a60f
zhouhaihai
支援技实装
|
339
|
local level = role.dinerData:getProperty("dishTree"):getv(support, 0)
|
e6ebee44
zhouhaihai
编队bug
|
340
|
if level <= 0 then return 3 end
|
f603a60f
zhouhaihai
支援技实装
|
341
342
|
supports[slot] = support
end
|
e6ebee44
zhouhaihai
编队bug
|
343
|
if not checkLeader(msg.heros, msg.leader) then return 4 end
|
f603a60f
zhouhaihai
支援技实装
|
344
|
|
98d32f92
liuzujun
多编队
|
345
346
347
348
349
350
351
352
353
|
if index > 10 then
return 5
end
if #title > 100 then
return 6
end
team.heros = {}
|
384bb077
zhouahaihai
挂机
|
354
|
for slot, heroId in pairs(msg.heros) do
|
98d32f92
liuzujun
多编队
|
355
356
357
358
359
|
team.heros[slot] = heroId
end
team.leader = msg.leader
team.supports = supports
team.title = title
|
f7f26c15
zhouhaihai
编队整理 增加 tactics战术
|
360
361
362
|
if msg.tactics and globalCsv.tactics_skill_passive_cell[msg.tactics] then
team.tactics = msg.tactics
end
|
98d32f92
liuzujun
多编队
|
363
364
|
role:setTeamFormat(index, team)
|
98d32f92
liuzujun
多编队
|
365
|
|
384bb077
zhouahaihai
挂机
|
366
367
368
369
|
SendPacket(actionCodes.Hang_roleFormatRpc, '')
return true
end
|
5af8b4aa
zhouahaihai
挂机down
|
370
371
372
373
374
|
function _M.getRewardRpc(agent , data)
local role = agent.role
checkReward(role)
local items = role:getProperty("hangBag")
if not next(items) then return end
|
7bb30dca
zhouhaihai
修改发奖
|
375
|
local reward, change = role:award(items, {log = {desc = "hangReward"}})
|
5af8b4aa
zhouahaihai
挂机down
|
376
377
378
|
table.clear(items)
local hangInfo = role:getProperty("hangInfo")
local nowTime = skynet.timex()
|
bcf5bfbb
zhouahaihai
挂机new
|
379
380
|
hangInfo.endItemTime = nowTime + globalCsv.idle_producetime_max
hangInfo.endCoinTime = nowTime + globalCsv.idle_producetime_max
|
5af8b4aa
zhouahaihai
挂机down
|
381
382
383
384
|
hangInfo.coinTime = nowTime
hangInfo.itemTime = nowTime
role:updateProperty({field = "hangBag", value = items})
role:updateProperty({field = "hangInfo", value = hangInfo})
|
072db127
zhouhaihai
推送
|
385
386
|
role:pushMsg({type = "hang", time = globalCsv.idle_producetime_max})
|
190e1415
liuzujun
英雄帖活动初始化
|
387
|
role:checkTaskEnter("HangGet", {reward = reward})
|
53e8037e
zhouhaihai
任务
|
388
389
|
if reward[ItemId.Gold] then
role:checkTaskEnter("HangGetGold", {count = reward[ItemId.Gold]})
|
bcf5bfbb
zhouahaihai
挂机new
|
390
|
end
|
d43246b0
zhouhaihai
log 增加
|
391
392
393
394
395
396
397
398
399
400
401
|
role:log("residence_reward", {
mission_threadid = math.floor(hangInfo.carbonId / 10000), --大关卡ID
mission_id = hangInfo.carbonId, --关卡ID
mission_type = 100, --关卡类型,见关卡类型枚举表
residence_reward_type = 0, --领取奖励方式,快速(超前领取)记录为1,正常领取记录为0
residence_time = 0, --挂机或排名时长
residence_reward = reward, --获得奖励,建议使用json格式记录。示例:{ "XX": "1", "XXX": "3"}
})
|
53e8037e
zhouhaihai
任务
|
402
|
SendPacket(actionCodes.Hang_getRewardRpc, MsgPack.pack({
|
7bb30dca
zhouhaihai
修改发奖
|
403
404
|
reward = reward,
change = change
|
bcf5bfbb
zhouahaihai
挂机new
|
405
406
407
408
|
}))
return true
end
|
9962b061
zhouahaihai
补充 挂机
|
409
410
411
412
413
414
|
function _M.quickRpc(agent , data)
local role = agent.role
local hangInfo = role:getProperty("hangInfo")
if not hangInfo.carbonId then return end
local carbonData = csvdb["idle_battleCsv"][hangInfo.carbonId]
|
8cd3770f
liuzujun
挂机关卡可以选择,经验金币根据最高...
|
415
|
local expCarbonData = csvdb["idle_battleCsv"][hangInfo.expCarbonId]
|
9962b061
zhouahaihai
补充 挂机
|
416
417
418
419
420
421
|
local curCount = role.dailyData:getProperty("hangQC") + 1
local costs = globalCsv.idle_quickproduce_cost:toArray(true, "=")
if not costs[curCount] then return end
if costs[curCount] > 0 then
if not role:checkItemEnough({[ItemId.Diamond] = costs[curCount]}) then return end
|
3133cb76
zhouhaihai
日志
|
422
|
role:costItems({[ItemId.Diamond] = costs[curCount]}, {log = {desc = "quickHang", int1 = hangInfo.carbonId}})
|
9962b061
zhouahaihai
补充 挂机
|
423
424
425
426
427
428
429
430
431
|
end
role.dailyData:updateProperty({field = "hangQC", value = curCount})
local time = globalCsv.idle_quickproduce_time
local reward = {}
local coinCount = math.floor(time / globalCsv.idle_money_produce_cd)
local itemCount = math.floor(time / globalCsv.idle_item_produce_cd)
|
8cd3770f
liuzujun
挂机关卡可以选择,经验金币根据最高...
|
432
433
434
|
reward[ItemId.Gold] = math.floor((reward[ItemId.Gold] or 0) + coinCount * expCarbonData.money)
reward[ItemId.Exp] = math.floor((reward[ItemId.Exp] or 0) + coinCount * expCarbonData.exp)
reward[ItemId.PlayerExp] = math.floor((reward[ItemId.PlayerExp] or 0) + coinCount * expCarbonData.playerExp)
|
9962b061
zhouahaihai
补充 挂机
|
435
436
437
438
439
440
441
442
443
|
local pool = {}
for _, temp in pairs(carbonData.item:toArray()) do
table.insert(pool, temp:toArray(true, "="))
end
for i = 1, itemCount do
local cur = pool[math.randWeight(pool, 3)]
reward[cur[1]] = (reward[cur[1]] or 0) + cur[2]
end
|
317a46a9
liuzujun
添加特权卡
|
444
|
|
9e1a93c2
liuzujun
快速挂机掉落浮点数取整
|
445
|
local doubleCoef = role.activity:isOpen("DoubleDrop") and 2 or 1
|
317a46a9
liuzujun
添加特权卡
|
446
447
|
-- 特权卡获取加速获得额外道具
local coef = role.storeData:getProduceItemSpeedCoef()
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
448
|
if coef > 1 or doubleCoef > 1 then
|
317a46a9
liuzujun
添加特权卡
|
449
|
for k, cnt in pairs(reward) do
|
9e1a93c2
liuzujun
快速挂机掉落浮点数取整
|
450
|
reward[k] = math.floor(cnt * coef * doubleCoef)
|
317a46a9
liuzujun
添加特权卡
|
451
452
453
|
end
end
|
7bb30dca
zhouhaihai
修改发奖
|
454
455
|
local change
reward, change = role:award(reward, {log = {desc = "quickHang", int1 = hangInfo.carbonId}})
|
f60b89b1
zhouhaihai
奖励副本
|
456
457
458
|
if reward[ItemId.Gold] then
role:checkTaskEnter("HangGetGold", {count = reward[ItemId.Gold]})
end
|
53e8037e
zhouhaihai
任务
|
459
|
role:checkTaskEnter("HangQuick")
|
d43246b0
zhouhaihai
log 增加
|
460
461
462
463
464
465
466
467
468
|
role:log("residence_reward", {
mission_threadid = math.floor(hangInfo.carbonId / 10000), --大关卡ID
mission_id = hangInfo.carbonId, --关卡ID
mission_type = 100, --关卡类型,见关卡类型枚举表
residence_reward_type = 1, --领取奖励方式,快速(超前领取)记录为1,正常领取记录为0
residence_time = time, --挂机或排名时长
residence_reward = reward, --获得奖励,建议使用json格式记录。示例:{ "XX": "1", "XXX": "3"}
})
|
9962b061
zhouahaihai
补充 挂机
|
469
|
SendPacket(actionCodes.Hang_quickRpc, MsgPack.pack({
|
7bb30dca
zhouhaihai
修改发奖
|
470
471
|
reward = reward,
change = change
|
9962b061
zhouahaihai
补充 挂机
|
472
473
474
475
|
}))
return true
end
|
f60b89b1
zhouhaihai
奖励副本
|
476
477
478
479
480
481
482
483
|
function _M.buyBonusCountRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local count = msg.count
local btype = msg.type
|
3133cb76
zhouhaihai
日志
|
484
|
if not TimeReset["DailyBattle" .. btype] then return end
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
485
486
|
local open, actId = role.activity:isOpen("BonusDouble")
local actData = csvdb["activity_ctrlCsv"][actId]
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
487
|
|
a526f9ef
liuzujun
奖励关卡活动未开启导致Bug
|
488
489
490
491
|
local coef = 1
if open and actData then
coef= tonumber(actData.condition2)
end
|
f60b89b1
zhouhaihai
奖励副本
|
492
493
|
local bonusC = role.dailyData:getProperty("bonusC")
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
494
|
local extraCnt = role.storeData:getBonusExtraFightCount()
|
f60b89b1
zhouhaihai
奖励副本
|
495
|
bonusC[btype] = bonusC[btype] or {c = 0, b = 0}
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
496
|
local lastCount = globalCsv.bonus_daily_buy_count * coef + extraCnt - bonusC[btype]["b"]
|
f60b89b1
zhouhaihai
奖励副本
|
497
498
|
if math.illegalNum(count, 1, lastCount) then return 1 end
|
3133cb76
zhouhaihai
日志
|
499
|
if not role:checkItemEnough({[ItemId.Diamond] = globalCsv.bonus_buy_cost * count}) then return 2 end
|
f60b89b1
zhouhaihai
奖励副本
|
500
|
|
887c1843
zhouhaihai
日志新一批
|
501
|
role:costItems({[ItemId.Diamond] = globalCsv.bonus_buy_cost * count}, {log = {desc = "buyBonusCount", int1 = btype, int2 = count}})
|
d481965d
zhouhaihai
购买次数bug
|
502
503
|
bonusC[btype]["b"] = bonusC[btype]["b"] + count
bonusC[btype]["c"] = bonusC[btype]["c"] - count
|
f60b89b1
zhouhaihai
奖励副本
|
504
505
506
507
508
509
510
|
role.dailyData:updateProperty({field = "bonusC", value = bonusC})
SendPacket(actionCodes.Hang_buyBonusCountRpc, '')
return true
end
|
55c7c172
zhouhaihai
奖励副本 新机制
|
511
|
local function bonusWinReward(role, bonusData, rewardType, count)
|
be24b6ad
zhouhaihai
传递 count
|
512
|
count = count or 1
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
513
|
|
55c7c172
zhouhaihai
奖励副本 新机制
|
514
515
516
517
|
local reward, change = {}
if rewardType == 1 or rewardType == 4 then
for k, v in pairs(bonusData.clear_reward:toNumMap()) do
reward[k] = (reward[k] or 0) + v
|
be24b6ad
zhouhaihai
传递 count
|
518
519
520
|
end
end
|
55c7c172
zhouhaihai
奖励副本 新机制
|
521
|
if rewardType == 2 or rewardType == 4 then
|
e4a17692
zhouhaihai
奖励关卡 满星奖励
|
522
523
524
525
|
for k, v in pairs(bonusData.perfect_reward:toNumMap()) do
reward[k] = (reward[k] or 0) + v
end
end
|
55c7c172
zhouhaihai
奖励副本 新机制
|
526
527
528
|
if rewardType == 3 then
local open, actId = role.activity:isOpen("BonusDouble")
|
1ce3adac
zhouhaihai
充值
|
529
530
531
532
|
local actData
if open then
actData = csvdb["activity_ctrlCsv"][actId]
end
|
55c7c172
zhouhaihai
奖励副本 新机制
|
533
534
535
536
537
538
539
540
541
542
543
|
reward = bonusData.reward:toNumMap()
for itemId, c in pairs(reward) do
reward[itemId] = c * count
end
for i = 1, count do
local chance = bonusData.chance:randWeight(true)
if chance[1] ~= 0 then
reward[chance[1]] = (reward[chance[1]] or 0) + chance[2]
end
end
|
1ce3adac
zhouhaihai
充值
|
544
545
546
547
|
if open and actData then
for k, v in pairs(reward) do
reward[k] = v * (actData.condition > 1 and actData.condition or 1)
end
|
55c7c172
zhouhaihai
奖励副本 新机制
|
548
549
550
551
552
553
|
end
end
reward, change = role:award(reward, {log = {desc = "bonusBattle", int1 = bonusData.id}})
role:checkTaskEnter("BonusPass", {id = bonusData.id, count = count})
return reward, change
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
554
555
|
end
|
f60b89b1
zhouhaihai
奖励副本
|
556
557
558
559
|
function _M.startBonusBattleRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local id = msg.id
|
be24b6ad
zhouhaihai
传递 count
|
560
|
local count = msg.count or 1
|
f60b89b1
zhouhaihai
奖励副本
|
561
|
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
562
563
564
|
local open, actId = role.activity:isOpen("BonusDouble")
if not role:isFuncUnlock(FuncUnlock.BonusBattle) then return 1 end
|
d232676a
zhouhaihai
功能解锁 冒险返回
|
565
|
|
f60b89b1
zhouhaihai
奖励副本
|
566
|
local bonusData = csvdb["bonus_battleCsv"][id]
|
bc902e2d
zhouhaihai
增加开放判断
|
567
|
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
568
569
570
|
if not open then
if not role:isTimeResetOpen(TimeReset["DailyBattle" .. bonusData.type]) then return 2 end
end
|
bc902e2d
zhouhaihai
增加开放判断
|
571
|
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
572
|
if not bonusData then return 3 end
|
c5e11ffc
zhouhaihai
解锁条件修改
|
573
|
local bonusStar = role:getProperty("bonusStar")
|
f60b89b1
zhouhaihai
奖励副本
|
574
|
|
4591e219
zhouhaihai
bug
|
575
|
if bonusData.unlock ~= 0 and (not bonusStar[bonusData.unlock] or bonusStar[bonusData.unlock] == 0) then return 4 end
|
f60b89b1
zhouhaihai
奖励副本
|
576
|
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
577
|
if bonusStar[id] and bonusStar[id] >= (1 << #bonusData.sweep_condition:toTableArray(true)) - 1 then
|
55c7c172
zhouhaihai
奖励副本 新机制
|
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
|
local bonusC = role.dailyData:getProperty("bonusC")
bonusC[bonusData.type] = bonusC[bonusData.type] or {c = 0, b = 0}
local actData = csvdb["activity_ctrlCsv"][actId]
local extraCnt = role.storeData:getBonusExtraFightCount()
local coef = 1
if open and actData then
coef = tonumber(actData.condition2)
end
if math.illegalNum(count, 1, globalCsv.bonus_daily_count * coef + extraCnt - bonusC[bonusData.type]["c"]) then return 7 end
bonusC[bonusData.type]["c"] = bonusC[bonusData.type]["c"] + count
role.dailyData:updateProperty({field = "bonusC", value = bonusC})
local reward, change = bonusWinReward(role, bonusData, 3, count)
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
593
|
SendPacket(actionCodes.Hang_startBonusBattleRpc, MsgPack.pack({reward = reward, change = change}))
|
f76d63e1
liuzujun
联动任务活动
|
594
595
|
role:checkTaskEnter("BonusQuick", {count = count})
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
596
597
598
599
600
601
602
603
604
|
else
local bTeam = role:getTeamFormatByType(TeamSystemType.BonusBattle)
if not next(bTeam) then return 5 end
role.__bonusBattleCache = {
key = tostring(math.random()),
id = id,
}
SendPacket(actionCodes.Hang_startBonusBattleRpc, MsgPack.pack({key = role.__bonusBattleCache.key}))
end
|
f60b89b1
zhouhaihai
奖励副本
|
605
|
|
f60b89b1
zhouhaihai
奖励副本
|
606
607
608
609
610
611
612
613
614
615
|
return true
end
function _M.endBonusBattleRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local id = msg.id
local key = msg.key
local starNum = msg.starNum
if not role.__bonusBattleCache then return 1 end
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
616
|
|
f60b89b1
zhouhaihai
奖励副本
|
617
|
|
d6a66c74
zhouhaihai
校验失败也返回
|
618
619
620
621
|
if role.__bonusBattleCache.id ~= id or role.__bonusBattleCache.key ~= key then
SendPacket(actionCodes.Hang_endBonusBattleRpc, MsgPack.pack({errorCode = 1}))
return true
end
|
edf2ee12
zhouhaihai
防作弊
|
622
623
624
625
626
627
628
629
630
631
632
633
|
role.__bonusBattleCache = nil
-- 防作弊
if not role:checkBattleCheat("bonus", {
id = id,
isWin = starNum and starNum > 0,
info = msg.info
}) then
SendPacket(actionCodes.Hang_endBonusBattleRpc, MsgPack.pack({errorCode = 1}))
return true
end
|
f60b89b1
zhouhaihai
奖励副本
|
634
635
|
local bonusData = csvdb["bonus_battleCsv"][id]
|
1ce3adac
zhouhaihai
充值
|
636
|
local reward, change = {}
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
637
638
|
local bonusStar = role:getProperty("bonusStar")
|
55c7c172
zhouhaihai
奖励副本 新机制
|
639
|
local oldStar = bonusStar[id] or 0
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
640
|
local curStar = 0
|
f60b89b1
zhouhaihai
奖励副本
|
641
|
if starNum and starNum > 0 then
|
74a8fdc9
zhouhaihai
奖励副本 胜利扣除次数
|
642
|
-- 胜利扣除次数
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
643
|
|
ce950b6e
zhouhaihai
bug
|
644
|
local bTeam = role:getTeamFormatByType(TeamSystemType.BonusBattle)
|
821e2704
zhouhaihai
heros 增加 supports
|
645
|
local herosInfo = role:getTeamHerosInfo(bTeam).heros
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
646
647
648
649
650
651
652
653
654
|
local check = {}
-- 1 通关
check[1] = function(_)
return true
end
-- 2 阵亡人数 <= N
check[2] = function(_, cond)
return msg.info.dead and msg.info.dead <= cond
|
b2747fbc
zhouhaihai
挂机
|
655
|
end
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
656
657
658
|
-- 3 全员存活
check[3] = function(_)
return msg.info.dead and msg.info.dead == 0
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
659
|
end
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
660
661
662
663
|
-- 4 指定种族 >= N
check[4] = function(_, cond)
local count = 0
for _, one in pairs(herosInfo) do
|
66fe093a
liuzujun
元旦关卡活动
|
664
|
local heroData = csvdb["unitCsv"][one.type]
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
665
666
667
668
669
670
671
672
673
674
|
if heroData.camp == cond then
count = count + 1
end
end
return count >= cond
end
-- 5 指定职业 >= N
check[5] = function(_, cond)
local count = 0
for _, one in pairs(herosInfo) do
|
66fe093a
liuzujun
元旦关卡活动
|
675
|
local heroData = csvdb["unitCsv"][one.type]
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
|
if heroData.job == cond then
count = count + 1
end
end
return count >= cond
end
-- 6 含有指定角色
check[6] = function(_, cond)
for _, one in pairs(herosInfo) do
if one.type == cond then
return true
end
end
return false
end
-- 7 通关耗时 <= X 秒 msg.info.atime
check[7] = function(_, cond)
return msg.info.atime and msg.info.atime <= cond
end
curStar = 0
|
e4a17692
zhouhaihai
奖励关卡 满星奖励
|
696
697
|
local sweepConds = bonusData.sweep_condition:toTableArray(true)
for i, cond in ipairs(sweepConds) do
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
698
699
700
701
|
if check[cond[1]] and check[cond[1]](table.unpack(cond)) then
curStar = curStar + (1 << (i - 1))
end
end
|
e4a17692
zhouhaihai
奖励关卡 满星奖励
|
702
|
local status
|
55c7c172
zhouhaihai
奖励副本 新机制
|
703
704
705
706
707
708
709
710
711
712
713
714
715
|
local rewardType = 0
if curStar >= (1 << #sweepConds) - 1 then -- 满星
rewardType = 2
if oldStar == 0 then --通关
rewardType = 4
end
elseif oldStar == 0 then --通关
rewardType = 1
end
if rewardType ~= 0 then
reward, change = bonusWinReward(role, bonusData, rewardType)
end
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
716
|
else
|
55c7c172
zhouhaihai
奖励副本 新机制
|
717
|
curStar = oldStar
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
718
|
end
|
55c7c172
zhouhaihai
奖励副本 新机制
|
719
|
if curStar ~= oldStar then
|
3c51e6d4
zhouhaihai
奖励副本 完成
|
720
721
|
bonusStar[id] = curStar
role:updateProperty({field = "bonusStar", value = bonusStar})
|
f60b89b1
zhouhaihai
奖励副本
|
722
723
|
end
|
d4e9b817
zhouhaihai
战斗 日志
|
724
725
726
727
728
729
|
role:checkBattle("bonus", {
id = id,
isWin = starNum and starNum > 0,
info = msg.info,
reward = reward,
})
|
d02f7904
zhouhaihai
遗失的log
|
730
731
|
role:mylog("hang_action", {desc = "bonusBattle", short1 = msg.starNum > 0 and 1 or 0, int1 = id})
|
f60b89b1
zhouhaihai
奖励副本
|
732
733
|
SendPacket(actionCodes.Hang_endBonusBattleRpc, MsgPack.pack({
starNum = starNum,
|
7bb30dca
zhouhaihai
修改发奖
|
734
735
736
|
reward = reward,
change = change
}))
|
f60b89b1
zhouhaihai
奖励副本
|
737
738
739
|
return true
end
|
a6508219
zhouhaihai
挂机奖励
|
740
741
742
743
744
745
746
747
748
749
750
|
function _M.hangGiftRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local id = msg.id
local carbonData = csvdb["idle_battleCsv"][id]
if not carbonData or carbonData.item_clear_special == "" then return 1 end
local hangGift = role:getProperty("hangGift")
if hangGift[id] then return 2 end
|
7bb30dca
zhouhaihai
修改发奖
|
751
|
local reward, change = role:award(carbonData.item_clear_special, {log = {desc = "hangGift", int1 = id}})
|
a6508219
zhouhaihai
挂机奖励
|
752
753
|
role:changeUpdates({{type = "hangGift", field = id, value = 1}})
|
d02f7904
zhouhaihai
遗失的log
|
754
|
role:mylog("hang_action", {desc = "hangGift", int1 = id})
|
a6508219
zhouhaihai
挂机奖励
|
755
|
|
7bb30dca
zhouhaihai
修改发奖
|
756
|
SendPacket(actionCodes.Hang_hangGiftRpc, MsgPack.pack({reward = reward, change = change}))
|
a6508219
zhouhaihai
挂机奖励
|
757
758
|
return true
end
|
f60b89b1
zhouhaihai
奖励副本
|
759
|
|
64e63ad0
wangyujie
完成需求:挂机栏位物品数量上限和钻...
|
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
|
function _M.bagFieldRpc(agent, data)
local role = agent.role
local curBL = role:getProperty("hangBagLimit")
local costD = globalCsv.idle_field_cost[curBL - globalCsv.idle_field_origin]
if not costD then
return 1
end
if costD ~= 0 and not role:checkItemEnough({[ItemId.Diamond] = costD}) then
return 2
end
role:updateProperty({field = "hangBagLimit", value = curBL + 1})
role:costItems({[ItemId.Diamond] = costD}, {log = {desc = "bagField"}})
SendPacket(actionCodes.Hang_bagFieldRpc, '')
return true
end
|
f60b89b1
zhouhaihai
奖励副本
|
775
|
|
ed20f277
zhouhaihai
chatline 奖励
|
776
777
778
|
function _M.chatLineRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
|
ed20f277
zhouhaihai
chatline 奖励
|
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
|
local id = msg.id
local idleData = csvdb["idle_battleCsv"][id]
if not idleData or idleData.chatline == 0 then
return
end
local chatline = role:getProperty("chatline")
if chatline[id] then return end
if not role:checkHangPass(id) then return end
chatline[id] = skynet.timex()
role:updateProperty({field = "chatline", value = chatline})
|
7bb30dca
zhouhaihai
修改发奖
|
794
|
local reward, change = role:award(idleData.chatline_reward, {log = {desc = "chatline", int1 = id}})
|
ed20f277
zhouhaihai
chatline 奖励
|
795
|
|
7bb30dca
zhouhaihai
修改发奖
|
796
|
SendPacket(actionCodes.Hang_chatLineRpc, MsgPack.pack({reward = reward, change = change}))
|
ed20f277
zhouhaihai
chatline 奖励
|
797
798
799
|
return true
end
|
98d32f92
liuzujun
多编队
|
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
|
function _M.selectTeamRpc(agent, data)
local role = agent.role
local msg = MsgPack.unpack(data)
local index = msg.index -- 阵容索引
local type = msg.type -- 系统类型
if index > 10 then
return 1
end
local team = role:getTeamFormat(index)
if not next(team) then return 2 end
local teamIndex = role:getProperty("teamIndex") or {}
teamIndex[type] = index
role:updateProperty({field = "teamIndex", value = teamIndex})
|
782ee57d
liuzujun
多编队功能
|
816
817
818
819
820
|
if type == TeamSystemType.Hang then
role:finishGuide(5)
role:updateHangTeamInfo()
end
|
98d32f92
liuzujun
多编队
|
821
822
823
824
|
SendPacket(actionCodes.Hang_selectTeamRpc, '')
return true
end
|
42dcb7da
liuzujun
merge code
|
825
|
return _M
|