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