be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
1
2
|
|
03a6166a
zhouhaihai
餐厅优化
|
3
|
-- 增加 checkTaskEnter 内的参数 记得增加注释
|
be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
4
|
local TaskType = {
|
53e8037e
zhouhaihai
任务
|
5
6
7
|
-- hero 相关
DrawHero = 1, -- 招募 - pool count
AddHero = 2, -- 增加角色 - heroType wakeL camp job
|
03a6166a
zhouhaihai
餐厅优化
|
8
9
|
LoveBreak = 3, -- 好感度进阶 - heroType loveL
Wake = 4, -- 觉醒 - heroType wakeL
|
53e8037e
zhouhaihai
任务
|
10
11
12
13
14
|
HeroLevelUp = 5, -- 角色升级 - level
DecoFrag = 6, -- 碎片分解 - count
WakeCG = 7, -- 觉醒到解锁CG - heroType
HeroTalent = 8, -- 天赋升级 - heroType alv
DrawSSR = 9, -- 抽到SSR - count
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
15
16
17
|
HeroLvlCollect = 10, -- 英雄等级收集进度
HeroQualityCollect = 11, -- 英雄品质收集进度
HeroStarCollect = 12, -- 英雄星级收集进度
|
dfa9ae5e
liuzujun
战令任务活动
|
18
|
DrawHeroNotFriend = 13, -- 非友情招募 -- count
|
53e8037e
zhouhaihai
任务
|
19
20
21
22
|
--装备相关
AddEquip = 101, -- 获得装备 - equipId rarity
SaleEquip = 102, -- 出售装备 - count
|
f60b89b1
zhouhaihai
奖励副本
|
23
|
EquipUp = 103, -- 装备强化 - count
|
53e8037e
zhouhaihai
任务
|
24
25
26
27
28
29
30
31
32
33
34
35
36
|
-- 符文(零件)相关
RuneUp = 201, -- 符文强化
DecoRune = 202, -- 分解符文 - count
AddRune = 203, -- 分解符文 - id type rarity
-- 挂机相关
HangPass = 301, -- 挂机通关 - id
HangGet = 302, -- 挂机收货
HangQuick = 303, -- 快速挂机
HangBattle = 304, -- 挂机战斗 - id
HangGetGold = 305, -- 挂机获得齿轮 - count
|
be24b6ad
zhouhaihai
传递 count
|
37
|
BonusPass = 306, -- 奖励副本通关 - id count
|
f76d63e1
liuzujun
联动任务活动
|
38
|
BonusQuick = 307, -- 奖励关卡扫荡 -- id count
|
53e8037e
zhouhaihai
任务
|
39
40
41
42
43
44
45
46
47
48
|
-- 冒险相关
AdvPass = 401, -- 冒险通过关 - id level score
AdvStart = 402, -- 冒险开始(包括挂机) - id
AdvBattleWin = 403, -- 冒险内战斗胜利 - id
AdvAllPass = 404, -- 冒险章节通关 - id
AdvLevel = 405, -- 探险者协会升级 - level
AdvOverTask = 406, -- 完成任务 - id
AdvOpenBlock = 407, -- 打开地块 - id
AdvUsePotion = 408, -- 使用营养剂
|
89338c47
zhouhaihai
技能目标
|
49
50
|
AdvStartSelf = 409, -- 手动冒险 - id
AdvScore = 410, -- 冒险分数 - score
|
9912e064
zhouhaihai
新增3个每日任务类型
|
51
|
AdvDraw = 411, -- 冒险资助 - count ptype
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
52
|
AdvHang = 412, -- 代理拾荒次数
|
161c50cc
zhouhaihai
宝藏怪活动
|
53
54
|
AdvMineKill = 413, -- 宝藏怪击杀
AdvMineLayer = 414, -- 宝藏洞激活
|
f76d63e1
liuzujun
联动任务活动
|
55
56
|
AdvKillBoss = 415, -- 拾荒击杀boss
AdvHangHeroCnt = 416, -- 拾荒人数
|
dfa9ae5e
liuzujun
战令任务活动
|
57
|
AdvCostPower = 417, -- 消耗体力
|
fb891778
liuzujun
fix confict
|
58
|
AdvPassFirst = 418, -- 冒险首次通关 - id
|
53e8037e
zhouhaihai
任务
|
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
--爬塔相关
TowerPass = 501, -- 爬塔通关 - level
TowerBattle = 502, -- 爬塔战斗 - level
-- 餐厅相关
FoodMGet = 601, -- 食材获取
MakeFood = 602, -- 制作料理 - id count
GetOderTask = 603, -- 接受餐厅订单 - rarity
OverOderTask = 604, -- 完成特别订单 - rarity
FoodSell = 605, -- 料理贩卖 - count
FoodSellQuick = 606, -- 料理快速贩卖
FoodSellGold = 607, -- 贩卖获得齿轮 - count
DinerPopular = 608, -- 人气值 - count
DinerLevelUp = 609, -- 餐厅升级 - level type
|
d763fb14
zhouhaihai
签到 九宫格
|
74
|
DinerTalentUp = 610, -- 天赋升级 - type level
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
75
|
VillageApply = 611, -- 餐厅委托个数
|
53e8037e
zhouhaihai
任务
|
76
77
78
|
-- 车厢相关
PotionMake = 701, -- 营养剂制作 - id count
|
9912e064
zhouhaihai
新增3个每日任务类型
|
79
|
OpenBox = 702, -- 拆解时间箱 - id
|
d763fb14
zhouhaihai
签到 九宫格
|
80
|
SupportSkill = 703, -- 后勤支援技升级 - id level
|
53e8037e
zhouhaihai
任务
|
81
82
|
|
3dbbc9f3
zhouhaihai
加上新的任务
|
83
84
85
86
87
88
89
90
91
|
-- pvp相关
PvpWin = 751, -- pvp胜利 - score
PvpBattle = 752, -- pvp挑战
--好友相关
GiveFriendP = 801, -- 赠送友情点 - count
AddFriend = 802, -- 加入一个好友 - count
GetFriendP = 803, -- 获得友情点 - count
|
9ea0c502
liuzujun
限时礼包
|
92
|
-- 角色相关
|
f0aff632
zhouhaihai
调整顺序
|
93
94
95
96
97
98
99
|
RoleLevelUp = 851, -- 角色升级 - curlevel
RuneQualityCollect = 852, -- 铭文品质收集进度
-- 其他相关
SignIn = 901, -- 签到
Pay = 902, -- 充值
ShopAll = 903, -- 在任意商店购买
|
ac885527
liuzujun
联动签到活动
|
100
|
DailyTask = 904, -- 完成每日活跃任务
|
f76d63e1
liuzujun
联动任务活动
|
101
102
|
RadioTaskStart = 905, -- 电台任务开始
FinishSpeTask = 906, -- 指定任务完成
|
c756d4df
liuzujun
新年将军令活动
|
103
|
AddItem = 907, -- 获得道具
|
dfa9ae5e
liuzujun
战令任务活动
|
104
105
106
|
Login = 908, -- 登入
CostDiamond = 909, -- 消耗钻石
WeekTask = 910, -- 完成每周活跃任务
|
9ea0c502
liuzujun
限时礼包
|
107
|
|
53e8037e
zhouhaihai
任务
|
108
|
--功能未实现 todo
|
53e8037e
zhouhaihai
任务
|
109
|
AdvShop = 1002, -- 冒险商城
|
53e8037e
zhouhaihai
任务
|
110
111
112
|
UnionBoss = 1004, -- 工会boss
UnionBattle = 1005, -- 工会战
AddUnion = 1006, -- 加入一个公会
|
53e8037e
zhouhaihai
任务
|
113
114
115
|
BindPhone = 1008, -- 绑定手机
WeChat = 1009, -- 关注微信
WeBlog = 1010, -- 关注微博
|
00e663bd
zhouhaihai
剧情相关
|
116
117
|
}
|
d763fb14
zhouhaihai
签到 九宫格
|
118
119
|
local function f(field, func)
return {type = "field", value = field, func = func}
|
00e663bd
zhouhaihai
剧情相关
|
120
121
|
end
|
53e8037e
zhouhaihai
任务
|
122
|
-- 剧情任务监听
|
00e663bd
zhouhaihai
剧情相关
|
123
124
125
|
local StoryListener = {
func = "checkStoryStatus",
listen = {
|
9912e064
zhouhaihai
新增3个每日任务类型
|
126
127
128
129
130
|
[TaskType.HangPass] = {{1, f("id")}},
[TaskType.AdvPass] = {{4, f("id")}},
[TaskType.LoveBreak] = {{2, f("heroType")}},
[TaskType.Wake] = {{3, f("heroType"), f("wakeL")}},
[TaskType.AddHero] = {{3, f("heroType"), f("wakeL")}},
|
53e8037e
zhouhaihai
任务
|
131
132
133
134
135
136
137
|
}
}
-- 通用任务监听
local CommonListener = {
func = "checkCommonTasks",
listen = {
|
9912e064
zhouhaihai
新增3个每日任务类型
|
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
[TaskType.HangGet] = {{1}},
[TaskType.HangQuick] = {{2}},
[TaskType.HangBattle] = {{3}},
[TaskType.DrawHero] = {{4, f("count"), f("pool")}},
[TaskType.TowerBattle] = {{5}},
[TaskType.PvpBattle] = {{6}},
[TaskType.PvpWin] = {{7}},
[TaskType.AdvStart] = {{8}},
[TaskType.AdvBattleWin] = {{9}},
[TaskType.AdvShop] = {{10}},
[TaskType.GetOderTask] = {{11}},
[TaskType.OverOderTask] = {{12}},
[TaskType.MakeFood] = {{13, f("count")}},
[TaskType.FoodSell] = {{14, f("count")}},
[TaskType.FoodSellQuick] = {{15}},
[TaskType.FoodMGet] = {{16}},
[TaskType.HeroLevelUp] = {{17}},
[TaskType.Wake] = {{18}},
[TaskType.EquipUp] = {{19, f("count")}},
[TaskType.GiveFriendP] = {{20, f("count")}},
[TaskType.UnionBoss] = {{21}},
[TaskType.GetFriendP] = {{22, f("count")}},
|
be24b6ad
zhouhaihai
传递 count
|
160
|
[TaskType.BonusPass] = {{23, f("count")}},
|
9912e064
zhouhaihai
新增3个每日任务类型
|
161
|
[TaskType.AdvStartSelf] = {{24}},
|
7228c195
zhouhaihai
商城 购买
|
162
|
[TaskType.ShopAll] = {{25, f("count")}},
|
9912e064
zhouhaihai
新增3个每日任务类型
|
163
|
[TaskType.RuneUp] = {{26}},
|
56d52cf4
zhouhaihai
任务
|
164
|
[TaskType.OpenBox] = {{27, f("count"), f("id")}},
|
9912e064
zhouhaihai
新增3个每日任务类型
|
165
166
|
[TaskType.AdvDraw] = {{28, f("count"), f("ptype")}},
[TaskType.PotionMake] = {{29, f("count"), f("id")}},
|
53e8037e
zhouhaihai
任务
|
167
168
169
170
171
172
173
|
}
}
-- 成就监听
local AchievListener = {
func = "checkAchievTask",
listen = {
|
9912e064
zhouhaihai
新增3个每日任务类型
|
174
175
176
|
[TaskType.HangPass] = {{1, f("id")}},
[TaskType.UnionBattle] = {{2}},
[TaskType.PvpWin] = {{3}, {4, f("score")}},
|
a6549a94
zhouhaihai
次数加上
|
177
|
[TaskType.AdvAllPass] = {{5, 1, f("id")}},
|
9912e064
zhouhaihai
新增3个每日任务类型
|
178
179
180
181
182
183
184
185
186
187
188
189
|
[TaskType.AdvLevel] = {{6, f("level")}},
[TaskType.AdvScore] = {{7, f("score")}},
[TaskType.AdvBattleWin] = {{8}},
[TaskType.AdvOverTask] = {{9}},
[TaskType.AdvOpenBlock] = {{10}},
[TaskType.AdvUsePotion] = {{11}},
[TaskType.AdvStart] = {{12}},
[TaskType.FoodSell] = {{13, f("count")}},
[TaskType.OverOderTask] = {{14}},
[TaskType.FoodSellGold] = {{15, f("count")}},
[TaskType.DinerPopular] = {{16, f("count")}},
[TaskType.TowerPass] = {{17, f("level")}},
|
56d52cf4
zhouhaihai
任务
|
190
|
[TaskType.OpenBox] = {{18, f("count")}},
|
9912e064
zhouhaihai
新增3个每日任务类型
|
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
|
[TaskType.DinerLevelUp] = {{19, f("level"), f("type")}},
[TaskType.DinerTalentUp] = {{20, 1, f("type")}},
[TaskType.HangGetGold] = {{21, f("count")}},
[TaskType.HeroLevelUp] = {{22, f("level")}},
[TaskType.Wake] = {{23, f("wakeL")}},
[TaskType.WakeCG] = {{24}},
[TaskType.HeroTalent] = {{25, f("alv")}},
[TaskType.AddHero] = {{26, f("heroType")}, {27}},
[TaskType.DrawSSR] = {{28, f("count")}},
[TaskType.DrawHero] = {{29, f("count"), f("pool")}},
[TaskType.AddEquip] = {{30, f("rarity")}, {34, 1, f("rarity")}},
[TaskType.AddRune] = {{31, f("rarity")}, {35, 1, f("rarity")}},
[TaskType.EquipUp] = {{32, f("count")}},
[TaskType.RuneUp] = {{33}},
[TaskType.AddUnion] = {{36}},
[TaskType.AddFriend] = {{37, f("count")}},
[TaskType.BindPhone] = {{38, 1}},
[TaskType.WeChat] = {{38, 2}},
[TaskType.WeBlog] = {{38, 3}},
[TaskType.SignIn] = {{39}},
|
00e663bd
zhouhaihai
剧情相关
|
211
212
213
|
}
}
|
9a1c54b2
zhouhaihai
活动
|
214
|
local SudokuListener = {
|
d763fb14
zhouhaihai
签到 九宫格
|
215
216
217
218
219
220
221
222
223
224
225
226
|
func = "checkSudokuTask",
listen = {
[TaskType.HangPass] = {{1, 1, f("id")}},
[TaskType.DrawHero] = {{4, f("count")}},
[TaskType.HeroLevelUp] = {{5, f("level")}},
[TaskType.Wake] = {{6, f("wakeL")}},
[TaskType.AddFriend] = {{7, f("count")}},
[TaskType.GetFriendP] = {{8, f("count")}},
[TaskType.AdvStart] = {{9, 1}},
[TaskType.AdvDraw] = {{10, f("count")}},
[TaskType.DinerLevelUp] = {{11, f("level"), f("type")}},
[TaskType.FoodSell] = {{12, f("count")}},
|
56d52cf4
zhouhaihai
任务
|
227
|
[TaskType.OpenBox] = {{13, f("count")}},
|
d763fb14
zhouhaihai
签到 九宫格
|
228
229
230
231
232
233
234
|
[TaskType.TowerPass] = {{14, f("level")}},
[TaskType.PvpWin] = {{15, 1}},
[TaskType.DinerTalentUp] = {{16, f("level"), f("type")}},
[TaskType.RuneUp] = {{17, 1}},
}
}
|
7f9f002d
liuzujun
循环周活动
|
235
|
local Activity = require("models.Activity")
|
161c50cc
zhouhaihai
宝藏怪活动
|
236
|
|
9a1c54b2
zhouhaihai
活动
|
237
238
|
local ActivityListener = {
func = "checkActivityTask",
|
7f9f002d
liuzujun
循环周活动
|
239
|
listen = {
|
93f6e69b
liuzujun
拾荒选择时间,抽卡增加sr保底
|
240
|
[TaskType.DrawHero] = {{Activity.ActivityType.DrawHero, f("count"), f("pool")}},
|
7f9f002d
liuzujun
循环周活动
|
241
242
243
|
[TaskType.FoodSell] = {{Activity.ActivityType.FoodSell, f("count")}},
[TaskType.AdvDraw] = {{Activity.ActivityType.AdvDraw, f("count")}},
[TaskType.OpenBox] = {{Activity.ActivityType.OpenBox, f("count")}},
|
e52c384f
liuzujun
探索指令bug, 充值返利活动
|
244
|
[TaskType.Pay] = {{Activity.ActivityType.PayBack, f("twd")}},
|
161c50cc
zhouhaihai
宝藏怪活动
|
245
246
|
[TaskType.AdvMineKill] = {{Activity.ActivityType.Crisis, 1}},
[TaskType.AdvMineLayer] = {{Activity.ActivityType.Crisis, 2}},
|
ac885527
liuzujun
联动签到活动
|
247
|
[TaskType.DailyTask] = {{Activity.ActivityType.CommonSignIn, f("pre"), f("cur")}},
|
c756d4df
liuzujun
新年将军令活动
|
248
|
[TaskType.AddItem] = {{Activity.ActivityType.BattleCommand, f("id"), f("count")}},
|
9a1c54b2
zhouhaihai
活动
|
249
250
251
|
}
}
|
9ea0c502
liuzujun
限时礼包
|
252
253
254
255
256
257
|
local StoreListener = {
func = "checkStoreTask",
listen = {
[TaskType.HangPass] = {{TriggerEventType.HangPass, f("id")}},
[TaskType.RoleLevelUp] = {{TriggerEventType.LevelUp, f("level")}},
[TaskType.TowerPass] = {{TriggerEventType.TowerPass, f("level")}},
|
0c54995a
liuzujun
第一次通关拾荒章节推送限时礼包,活...
|
258
|
[TaskType.AdvPassFirst] = {{TriggerEventType.AdvPass, f("id")}},
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
259
|
[TaskType.AddHero] = {{TriggerEventType.AddNewHero, f("heroType")}, {TriggerEventType.SSRCount, f("ssrCount")}},
|
9ea0c502
liuzujun
限时礼包
|
260
261
262
|
}
}
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
263
264
265
266
|
local CalendaTaskListener = {
func = "checkCalendaTask",
listen = {
[TaskType.DrawHero] = {{1, 1, f("count")}},
|
be24b6ad
zhouhaihai
传递 count
|
267
|
[TaskType.BonusPass]= {{2, 1, f("count")}},
|
d51ed472
liuzujun
日历任务 拾荒开始任务
|
268
|
[TaskType.AdvStart]= {{3, 1}},
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
269
270
271
272
273
274
275
276
277
278
279
|
[TaskType.DinerLevelUp]= {{4, 2, f("level")}},
[TaskType.HeroLvlCollect]= {{5, 3}}, -- x名y级英雄
[TaskType.AdvHang]= {{6, 1}}, ----
[TaskType.HeroQualityCollect]= {{7, 3}},
[TaskType.OverOderTask]= {{8, 1}},
[TaskType.VillageApply]= {{9, 1}},
[TaskType.PvpWin]= {{10, 2, f("score")}},
[TaskType.DinerPopular]= {{11, 2, f("count")}},
[TaskType.RoleLevelUp]= {{12, 2, f("level")}},
[TaskType.TowerPass]= {{13, 2, f("level")}},
[TaskType.HeroTalent]= {{14, 1}},
|
190e1415
liuzujun
英雄帖活动初始化
|
280
|
[TaskType.HangPass]= {{15, 3}},
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
281
282
283
|
[TaskType.HeroStarCollect]= {{16, 3}},
[TaskType.FoodSell]= {{17, 1, f("count")}},
[TaskType.HangGet]= {{18, 3, f("reward")}},
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
284
|
[TaskType.RuneQualityCollect]= {{19, 3}},
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
285
|
[TaskType.OpenBox]= {{20, 3, f("count"), f("quality")}},
|
f76d63e1
liuzujun
联动任务活动
|
286
287
288
289
290
291
292
|
[TaskType.RadioTaskStart] = {{21, 1}, {22, 3, f("heroCnt")}},
[TaskType.BonusQuick] = {{23, 1, f("count")}},
[TaskType.AdvHangHeroCnt] = {{24, 3, f("HeroCnt")}},
[TaskType.AdvKillBoss] = {{25, 1}},
[TaskType.AdvMineKill] = {{26, 1}},
[TaskType.PvpBattle] = {{27, 1}},
[TaskType.FinishSpeTask] = {{28, 3, f("taskId"), f("actId")}},
|
dfa9ae5e
liuzujun
战令任务活动
|
293
294
295
296
297
298
299
300
|
[TaskType.Login] = {{29, 1}},
[TaskType.DailyTask] = {{30, 2, f("cur")}},
[TaskType.WeekTask] = {{31, 2, f("cur")}},
[TaskType.MakeFood] = {{32, 1, f("count")}},
[TaskType.AddItem] = {{33, 3, f("type"), f("count")}},
[TaskType.CostDiamond] = {{34, 1, f("count")}},
[TaskType.DrawHeroNotFriend] = {{35, 1, f("count")}},
[TaskType.AdvCostPower] = {{36, 1, f("count")}},
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
301
302
303
|
}
}
|
dfa9ae5e
liuzujun
战令任务活动
|
304
305
306
|
local BattleCommandTaskListener = {
func = "checkBattleCommandTask",
listen = CalendaTaskListener["listen"]
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
307
308
|
}
|
00e663bd
zhouhaihai
剧情相关
|
309
310
|
local TaskListeners = {
StoryListener,
|
53e8037e
zhouhaihai
任务
|
311
312
|
CommonListener,
AchievListener,
|
9a1c54b2
zhouhaihai
活动
|
313
314
|
SudokuListener,
ActivityListener,
|
9ea0c502
liuzujun
限时礼包
|
315
|
StoreListener,
|
e0ad10e9
liuzujun
英雄帖任务简单类型测试
|
316
|
CalendaTaskListener,
|
dfa9ae5e
liuzujun
战令任务活动
|
317
|
BattleCommandTaskListener,
|
be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
318
319
320
321
322
323
|
}
local RoleTask = {}
function RoleTask.bind(Role)
|
00e663bd
zhouhaihai
剧情相关
|
324
325
|
-- 任务相关入口
function Role:checkTaskEnter(taskType, params, notNotify)
|
03a6166a
zhouhaihai
餐厅优化
|
326
327
328
329
|
params = params or {}
if type(taskType) == "string" then
taskType = TaskType[taskType]
end
|
00e663bd
zhouhaihai
剧情相关
|
330
331
|
for _, listener in ipairs(TaskListeners) do
if listener and listener.listen and listener.listen[taskType] and listener["func"] then
|
53e8037e
zhouhaihai
任务
|
332
|
for _, vs in ipairs(listener.listen[taskType]) do
|
89338c47
zhouhaihai
技能目标
|
333
|
local pms = {}
|
53e8037e
zhouhaihai
任务
|
334
335
|
for __, v in ipairs(vs) do
if type(v) == "table" and v.type then
|
9912e064
zhouhaihai
新增3个每日任务类型
|
336
|
if v.type == "field" then
|
d763fb14
zhouhaihai
签到 九宫格
|
337
338
339
340
341
|
local value = params[v.value]
if v.func then
value = v.func(value)
end
table.insert(pms, value)
|
53e8037e
zhouhaihai
任务
|
342
343
344
|
else
table.insert(pms, v)
end
|
00e663bd
zhouhaihai
剧情相关
|
345
346
347
|
else
table.insert(pms, v)
end
|
00e663bd
zhouhaihai
剧情相关
|
348
|
end
|
53e8037e
zhouhaihai
任务
|
349
|
self[listener["func"]](self, notNotify, table.unpack(pms))
|
00e663bd
zhouhaihai
剧情相关
|
350
|
end
|
00e663bd
zhouhaihai
剧情相关
|
351
352
|
end
end
|
be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
353
354
|
end
|
00e663bd
zhouhaihai
剧情相关
|
355
356
357
358
359
360
361
362
|
--剧情相关----begin-------------
local function checkStoryStatusByHang(role, data, status, cond1) -- cond1 carbonId
if tonumber(data.unlockData) ~= cond1 then return end
status.s = 1
return true
end
local function checkStoryStatusByLove(role, data, status, cond1) -- cond1 heroType
|
14f1591b
zhouhaihai
删除好感度相关
|
363
364
365
366
367
|
-- if data.sort ~= cond1 then return end
-- local curL = role:getProperty("loveStatus"):getv(cond1, 0)
-- if curL < tonumber(data.unlockData) then return end
-- status.s = 1
-- return true
|
00e663bd
zhouhaihai
剧情相关
|
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
|
end
local function checkStoryStatusByMultStar(role, data, status, cond1, cond2) -- cond1 heroType, cond2 wakeL
local heroType = cond1
local need = data.unlockData:toArray(true, "=")
local had = false
for _, v in pairs(need) do
if v == heroType then
had = true
break
end
end
if not had then return end
if cond2 > (status["s" .. heroType] or 0) then
status["s" .. heroType] = cond2
end
local starC = 0
for _, v in pairs(need) do
starC = starC + (status["s" .. v] or 0)
end
if starC >= tonumber(data.unlockData2) then
table.clear(status)
status.s = 1
end
return true
end
local function checkStoryStatusByAdv(role, data, status, cond1) -- cond1 advId
if tonumber(data.unlockData) ~= cond1 then return end
status.s = 1
return true
end
|
be697585
liuzujun
活动剧情解锁
|
401
402
403
404
405
406
407
408
409
410
|
local function checkStoryStatusByActBattle(role, data, status, cond1) -- cond1 carbonId
local actid = data.sort
if not role.activity:isOpenById(actid) then return end
if cond1 and tonumber(data.unlockData) == cond1 then
status.s = 1
return true
end
return
end
|
00e663bd
zhouhaihai
剧情相关
|
411
412
413
414
415
|
local checkstoryStatusFunc = {
[1] = checkStoryStatusByHang,
[2] = checkStoryStatusByLove,
[3] = checkStoryStatusByMultStar,
[4] = checkStoryStatusByAdv,
|
be697585
liuzujun
活动剧情解锁
|
416
|
[5] = checkStoryStatusByActBattle,
|
00e663bd
zhouhaihai
剧情相关
|
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
|
}
function Role:checkStoryStatus(notNotify, stype, cond1, cond2, cond3)
local storyBookStatus = self:getProperty("storyB")
local change = {}
for id, data in pairs(csvdb["story_bookCsv"]) do
if stype == data.unlockType and checkstoryStatusFunc[stype] then
local curStatus = storyBookStatus[id] or {}
if not curStatus.s then -- 存在状态就是已经完成
local isChange = checkstoryStatusFunc[stype](self, data, curStatus, cond1, cond2, cond3)
if isChange then
storyBookStatus[id] = curStatus
table.insert(change, {type = "storyB", field = id, value = curStatus, isOnlyToC = true})
end
end
end
end
if next(change) then
self:setProperty("storyB", storyBookStatus) -- 统一写入数据库
if not notNotify then
self:changeUpdates(change)
end
end
end
--剧情相关----end-------------
|
53e8037e
zhouhaihai
任务
|
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
|
function Role:checkCommonTasks(notNotify, stype, count, cond1, cond2)
count = count or 1
self:checkLoopTask(notNotify, stype, count, cond1, cond2)
end
function Role:checkLoopTask(notNotify, stype, count, cond1, cond2)
local tasks = {self:getProperty("dTask")["t"] or {}, self:getProperty("wTask")["t"] or {}}
local isChange = {false, false}
for key, status in ipairs(tasks) do
local taskDatas = csvdb["task_loopCsv"][key]
for taskId, data in pairs(taskDatas) do
if status[taskId] ~= -1 and data.type == stype and (data.condition2 == 0 or data.condition2 == cond1) then
status[taskId] = (status[taskId] or 0) + count
isChange[key] = 1
end
end
end
local change = {}
if isChange[1] then
table.insert(change, {type = "dTask", field = "t", value = tasks[1]})
end
if isChange[2] then
table.insert(change, {type = "wTask", field = "t", value = tasks[2]})
end
if next(change) then
self:changeUpdates(change, notNotify)
end
end
function Role:checkAchievTask(notNotify, stype, v1, v2)
local change = {}
local achiveStatus = self:getProperty("achiveT")
local IsFindMax = {
|
ca865c7e
zhouhaihai
成就bug
|
478
|
[1] = true,
|
53e8037e
zhouhaihai
任务
|
479
480
481
482
483
484
485
486
487
|
[4] = true,
[6] = true,
[7] = true,
[16] = true,
[17] = true,
[19] = true,
[22] = true,
[23] = true,
[25] = true,
|
71003290
zhouhaihai
好友成就 bug
|
488
|
[37] = true,
|
53e8037e
zhouhaihai
任务
|
489
490
|
}
|
89338c47
zhouhaihai
技能目标
|
491
|
for tId , achiveData in pairs(csvdb["achievement_typeCsv"]) do
|
53e8037e
zhouhaihai
任务
|
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
|
local curStatus = achiveStatus[tId] or 0
if achiveData.type == stype then
if achiveData.type == 1 then --取出难度
v2 = math.floor(v1 / 10000)
end
if achiveData.type == 26 then
local campS = {}
local jobS = {}
for _, hero in pairs(self.heros) do
local unitData = csvdb["unitCsv"][hero:getProperty("type")]
campS[unitData.camp] = (campS[unitData.camp] or 0) + 1
jobS[unitData.job] = (jobS[unitData.job] or 0) + 1
end
local nStatus = 0
if achiveData.condition2 == 1 then
|
89338c47
zhouhaihai
技能目标
|
508
|
for k , v in pairs(campS) do
|
53e8037e
zhouhaihai
任务
|
509
510
511
|
nStatus = math.max(nStatus, v)
end
elseif achiveData.condition2 == 2 then
|
89338c47
zhouhaihai
技能目标
|
512
|
for k , v in pairs(jobS) do
|
53e8037e
zhouhaihai
任务
|
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
|
nStatus = math.max(nStatus, v)
end
end
if nStatus > curStatus then
table.insert(change, {type = "achiveT", field = tId, value = nStatus})
end
elseif achiveData.type == 30 then --装备套装
if achiveData.condition2 == 0 or achiveData.condition2 == v1 then
local suitS = {}
for equipType, equips in pairs(self:getProperty("equips")) do
for lv, c in pairs(equips) do
local equipData = csvdb["equipCsv"][equipType][lv]
if achiveData.condition2 == 0 or achiveData.condition2 == equipData.rarity then
if equipData.suit ~= "" then
suitS[equipData.suit] = suitS[equipData.suit] or {}
suitS[equipData.suit][equipType] = 1
end
end
end
end
local nStatus = 0
for k , v in pairs(suitS) do
local n = 0
for _, __ in pairs(v) do
n = n + 1
end
nStatus = math.max(nStatus, n)
end
|
53e8037e
zhouhaihai
任务
|
541
542
543
544
545
546
547
548
549
|
if nStatus > curStatus then
table.insert(change, {type = "achiveT", field = tId, value = nStatus})
end
end
elseif achiveData.type == 31 then -- 符文套装
if achiveData.condition2 == 0 or achiveData.condition2 == v1 then
local suitS = {}
for _, rune in pairs(self.runeBag) do
local runeData = csvdb["runeCsv"][rune:getProperty("type")][rune:getProperty("id")]
|
89338c47
zhouhaihai
技能目标
|
550
|
if achiveData.condition2 == 0 or achiveData.condition2 == runeData.rarity then
|
53e8037e
zhouhaihai
任务
|
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
|
if runeData.suit ~= "" then
suitS[runeData.suit] = suitS[runeData.suit] or {}
suitS[runeData.suit][runeData.type] = 1
end
end
end
local nStatus = 0
for k , v in pairs(suitS) do
local n = 0
for _, __ in pairs(v) do
n = n + 1
end
nStatus = math.max(nStatus, n)
end
if nStatus > curStatus then
table.insert(change, {type = "achiveT", field = tId, value = nStatus})
end
end
elseif IsFindMax[achiveData.type] then -- 最大值
if achiveData.condition2 == 0 or achiveData.condition2 == v2 then
if (v1 or 0) > curStatus then
table.insert(change, {type = "achiveT", field = tId, value = v1})
end
end
else --通用增加
if achiveData.condition2 == 0 or achiveData.condition2 == v2 then
table.insert(change, {type = "achiveT", field = tId, value = curStatus + (v1 or 1)})
end
end
end
end
if next(change) then
self:changeUpdates(change, notNotify)
end
|
53e8037e
zhouhaihai
任务
|
585
|
end
|
89338c47
zhouhaihai
技能目标
|
586
|
|
d763fb14
zhouhaihai
签到 九宫格
|
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
|
-- 九宫格任务
function Role:checkSudokuTask(notNotify, stype, count, cond)
local change = false
local sudoku = self:getProperty("sudoku")
local curPhase = sudoku[-1] or 1
if curPhase == -1 then return end
local IsFindMax = {
[5] = true,
[6] = true,
[7] = true,
[11] = true,
[14] = true,
[16] = true,
}
sudoku.task = sudoku.task or {}
|
d763fb14
zhouhaihai
签到 九宫格
|
605
606
607
608
609
610
|
for pause, guide_sudokuData in pairs(csvdb["guide_sudokuCsv"]) do
if pause >= curPhase then
sudoku.task[pause] = sudoku.task[pause] or {}
for id , sudikuData in pairs(guide_sudokuData) do
local curStatus = sudoku.task[pause][id] or 0
|
dea89131
zhouhaihai
修复bug
|
611
|
if curStatus ~= -1 and sudikuData.type == stype then
|
d763fb14
zhouhaihai
签到 九宫格
|
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
|
if IsFindMax[sudikuData.type] then -- 最大值
if sudikuData.con2 == 0 or sudikuData.con2 == cond then
if (count or 0) > curStatus then
change = true
sudoku.task[pause][id] = count
end
end
else --通用增加
if sudikuData.con2 == 0 or sudikuData.con2 == cond then
change = true
sudoku.task[pause][id] = curStatus + (count or 1)
end
end
end
end
end
end
if change then
self:updateProperty({field = "sudoku", value = sudoku, notNotify = notNotify})
end
end
|
9a1c54b2
zhouhaihai
活动
|
635
|
function Role:checkActivityTask(notNotify, activityType, ...)
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
636
|
if not self.activity then return end
|
ea40710f
zhouhaihai
活动
|
637
|
self.activity:checkActivity(notNotify, activityType, ...)
|
9a1c54b2
zhouhaihai
活动
|
638
639
|
end
|
9ea0c502
liuzujun
限时礼包
|
640
|
function Role:checkStoreTask(notNotify, triggerType, param)
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
641
|
if not self.storeData then return end
|
9ea0c502
liuzujun
限时礼包
|
642
643
644
|
self.storeData:OnTriggerLimitTimePack(triggerType, param)
end
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
645
|
function Role:checkCalendaTask(notNotify, mainType, subType, param1, param2)
|
dfa9ae5e
liuzujun
战令任务活动
|
646
647
648
|
--print("check calenda task", mainType, subType, param1, param2)
local actEnum = "CalendaTask"
local keyName = "calTask"
|
190e1415
liuzujun
英雄帖活动初始化
|
649
|
if not self.activity then return end
|
dfa9ae5e
liuzujun
战令任务活动
|
650
|
local open, actId = self.activity:isOpen(actEnum)
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
651
652
653
654
655
|
local actData = csvdb["activity_ctrlCsv"][actId]
if not actData then return end
if not open then return end
local change = false
|
dfa9ae5e
liuzujun
战令任务活动
|
656
|
local calTask = self:getProperty(keyName) or {}
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
657
658
659
660
661
662
663
|
param1 = param1 or 1
local cid = actData.condition
for k, taskList in pairs(csvdb["activity_taskCsv"]) do
if k == cid then
for id, cfg in pairs(taskList) do
if cfg.type == mainType then
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
664
665
666
667
668
|
if subType == 1 then -- 增加数值
calTask[id] = (calTask[id] or 0) + param1
elseif subType == 2 then -- 直接赋值
calTask[id] = param1
elseif subType == 3 then -- 自定义类型
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
669
670
671
672
673
674
675
676
677
678
|
if cfg.type == 7 then -- 英雄品质收集进度
local count = 0
for _, hero in pairs(self.heros) do
local unitData = csvdb["unitCsv"][hero:getProperty("type")]
if unitData then
if cfg.condition2 <= unitData.rare then
count = count + 1
end
end
end
|
4bd3095f
liuzujun
英雄帖任务bug
|
679
|
if (calTask[id] or 0) < count then
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
680
681
682
683
684
685
686
687
688
|
calTask[id] = count
end
elseif cfg.type == 5 then -- 英雄等级收集进度
local count = 0
for _, hero in pairs(self.heros) do
if cfg.condition2 <= hero:getProperty("level") then
count = count + 1
end
end
|
366dcc54
liuzujun
日历活动bug
|
689
|
if (calTask[id] or 0) < count then
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
690
691
692
693
694
695
696
697
698
|
calTask[id] = count
end
elseif cfg.type == 16 then -- 英雄星级收集进度
local count = 0
for _, hero in pairs(self.heros) do
if cfg.condition2 <= hero:getProperty("wakeL") then
count = count + 1
end
end
|
366dcc54
liuzujun
日历活动bug
|
699
|
if (calTask[id] or 0) < count then
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
700
701
702
|
calTask[id] = count
end
elseif cfg.type == 18 then -- 挂机累计收获id,y个
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
703
704
705
706
707
708
|
for rid, v in pairs(param1) do
if cfg.condition2 == rid then
calTask[id] = (calTask[id] or 0) + v
end
end
elseif cfg.type == 19 then -- x名英雄装备y品质以上符文套装
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
709
710
711
712
713
|
local count = 0
for _, hero in pairs(self.heros) do
local rcount = 0
for _,uid in pairs(hero:getRunes()) do
if uid > 0 then
|
4bd3095f
liuzujun
英雄帖任务bug
|
714
|
local runeData = self.runeBag[uid]
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
715
716
717
718
719
720
721
722
723
724
725
726
727
728
|
if runeData then
local csvData = csvdb["runeCsv"][runeData:getProperty("type")][runeData:getProperty("id")]
if csvData and cfg.condition2 <= csvData.rarity then
rcount = rcount + 1
end
end
end
end
if rcount == 6 then
count = count + 1
end
end
calTask[id] = count
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
729
|
elseif cfg.type == 20 then -- 开启x品质时钟箱子
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
730
|
if cfg.condition2 <= (param2 or 0) then
|
dfa9ae5e
liuzujun
战令任务活动
|
731
|
calTask[id] = (calTask[id] or 0) + param1
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
732
|
end
|
190e1415
liuzujun
英雄帖活动初始化
|
733
734
735
736
737
738
739
740
|
elseif cfg.type == 15 then -- 通关关卡
if (calTask[id] or 0) == 0 then
local hangPass = self:getProperty("hangPass")
local diff = math.floor(cfg.condition2 / 10000)
if (hangPass[diff] or 0) >= cfg.condition1 then
calTask[id] = 1
end
end
|
f76d63e1
liuzujun
联动任务活动
|
741
742
743
744
745
|
elseif cfg.type == 22 then -- 电台任务出勤人数
calTask[id] = (calTask[id] or 0) + (param1 or 0)
elseif cfg.type == 24 then -- 代理拾荒出勤人数
calTask[id] = (calTask[id] or 0) + (param1 or 0)
elseif cfg.type == 28 then -- 完成指定任务
|
e6e49b45
liuzujun
一键领取成就奖励
|
746
|
--print(actId,param2, cfg.condition2, param1)
|
f76d63e1
liuzujun
联动任务活动
|
747
748
749
|
if actId == param2 and cfg.condition2 == param1 then
calTask[id] = (calTask[id] or 0) + 1
end
|
dfa9ae5e
liuzujun
战令任务活动
|
750
751
752
753
|
elseif cfg.type == 33 then -- 获得指定类型道具多少个
if cfg.condition2 == param1 then
calTask[id] = (calTask[id] or 0) + (param2 or 0)
end
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
754
|
end
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
755
756
757
758
759
|
end
end
end
end
end
|
dfa9ae5e
liuzujun
战令任务活动
|
760
|
self:updateProperty({field = keyName, value = calTask, notNotify = notNotify})
|
190e1415
liuzujun
英雄帖活动初始化
|
761
|
--dump(calTask)
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
762
763
|
end
|
dfa9ae5e
liuzujun
战令任务活动
|
764
765
766
767
|
function Role:checkBattleCommandTask(notNotify, mainType, subType, param1, param2)
--print("check battle command task", mainType, subType, param1, param2)
local actEnum = "BattleCommandTask"
local keyName = "bcTask"
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
768
|
if not self.activity then return end
|
dfa9ae5e
liuzujun
战令任务活动
|
769
|
local open, actId = self.activity:isOpen(actEnum)
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
770
771
772
773
774
|
local actData = csvdb["activity_ctrlCsv"][actId]
if not actData then return end
if not open then return end
local change = false
|
dfa9ae5e
liuzujun
战令任务活动
|
775
|
local calTask = self:getProperty(keyName) or {}
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
|
param1 = param1 or 1
local cid = actData.condition
for k, taskList in pairs(csvdb["activity_taskCsv"]) do
if k == cid then
for id, cfg in pairs(taskList) do
if cfg.type == mainType then
if subType == 1 then -- 增加数值
calTask[id] = (calTask[id] or 0) + param1
elseif subType == 2 then -- 直接赋值
calTask[id] = param1
elseif subType == 3 then -- 自定义类型
if cfg.type == 7 then -- 英雄品质收集进度
local count = 0
for _, hero in pairs(self.heros) do
local unitData = csvdb["unitCsv"][hero:getProperty("type")]
if unitData then
if cfg.condition2 <= unitData.rare then
count = count + 1
end
end
end
if (calTask[id] or 0) < count then
calTask[id] = count
end
elseif cfg.type == 5 then -- 英雄等级收集进度
local count = 0
for _, hero in pairs(self.heros) do
if cfg.condition2 <= hero:getProperty("level") then
count = count + 1
end
end
if (calTask[id] or 0) < count then
calTask[id] = count
end
elseif cfg.type == 16 then -- 英雄星级收集进度
local count = 0
for _, hero in pairs(self.heros) do
if cfg.condition2 <= hero:getProperty("wakeL") then
count = count + 1
end
end
if (calTask[id] or 0) < count then
calTask[id] = count
end
elseif cfg.type == 18 then -- 挂机累计收获id,y个
for rid, v in pairs(param1) do
if cfg.condition2 == rid then
calTask[id] = (calTask[id] or 0) + v
end
end
elseif cfg.type == 19 then -- x名英雄装备y品质以上符文套装
local count = 0
for _, hero in pairs(self.heros) do
local rcount = 0
for _,uid in pairs(hero:getRunes()) do
if uid > 0 then
local runeData = self.runeBag[uid]
if runeData then
local csvData = csvdb["runeCsv"][runeData:getProperty("type")][runeData:getProperty("id")]
if csvData and cfg.condition2 <= csvData.rarity then
rcount = rcount + 1
end
end
end
end
if rcount == 6 then
count = count + 1
end
end
calTask[id] = count
elseif cfg.type == 20 then -- 开启x品质时钟箱子
if cfg.condition2 <= (param2 or 0) then
|
dfa9ae5e
liuzujun
战令任务活动
|
850
|
calTask[id] = (calTask[id] or 0) + param1
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
|
end
elseif cfg.type == 15 then -- 通关关卡
if (calTask[id] or 0) == 0 then
local hangPass = self:getProperty("hangPass")
local diff = math.floor(cfg.condition2 / 10000)
if (hangPass[diff] or 0) >= cfg.condition1 then
calTask[id] = 1
end
end
elseif cfg.type == 22 then -- 电台任务出勤人数
calTask[id] = (calTask[id] or 0) + (param1 or 0)
elseif cfg.type == 24 then -- 代理拾荒出勤人数
calTask[id] = (calTask[id] or 0) + (param1 or 0)
elseif cfg.type == 28 then -- 完成指定任务
--print(actId,param2, cfg.condition2, param1)
if actId == param2 and cfg.condition2 == param1 then
calTask[id] = (calTask[id] or 0) + 1
end
|
dfa9ae5e
liuzujun
战令任务活动
|
869
870
871
872
|
elseif cfg.type == 33 then -- 获得指定类型道具多少个
if cfg.condition2 == param1 then
calTask[id] = (calTask[id] or 0) + (param2 or 0)
end
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
873
874
875
876
877
878
|
end
end
end
end
end
end
|
dfa9ae5e
liuzujun
战令任务活动
|
879
|
self:updateProperty({field = keyName, value = calTask, notNotify = notNotify})
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
880
881
882
|
--dump(calTask)
end
|
be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
883
884
|
end
|
a25b4535
liuzujun
fix conflict
|
885
|
return RoleTask
|