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")}},
|
e04abcb4
chenyueqi
电波塔的任务只算主塔的进度
|
194
|
[TaskType.TowerPass] = {{17, f("level")}},
|
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}},
|
d199e7b9
zhouhaihai
物资危机 增加消耗体力 类型
|
252
|
[TaskType.AdvCostPower] = {{Activity.ActivityType.Crisis, 3, f("count")}},
|
ac885527
liuzujun
联动签到活动
|
253
|
[TaskType.DailyTask] = {{Activity.ActivityType.CommonSignIn, f("pre"), f("cur")}},
|
c756d4df
liuzujun
新年将军令活动
|
254
|
[TaskType.AddItem] = {{Activity.ActivityType.BattleCommand, f("id"), f("count")}},
|
9a1c54b2
zhouhaihai
活动
|
255
256
257
|
}
}
|
9ea0c502
liuzujun
限时礼包
|
258
259
260
261
262
263
|
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
第一次通关拾荒章节推送限时礼包,活...
|
264
|
[TaskType.AdvPassFirst] = {{TriggerEventType.AdvPass, f("id")}},
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
265
|
[TaskType.AddHero] = {{TriggerEventType.AddNewHero, f("heroType")}, {TriggerEventType.SSRCount, f("ssrCount")}},
|
7113ad0c
liuzujun
每日抽卡次数触发礼包
|
266
|
[TaskType.DrawHeroLimitPack] = {{TriggerEventType.DrawHeroCnt, f("count")}},
|
9ea0c502
liuzujun
限时礼包
|
267
268
269
|
}
}
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
270
271
272
273
|
local CalendaTaskListener = {
func = "checkCalendaTask",
listen = {
[TaskType.DrawHero] = {{1, 1, f("count")}},
|
be24b6ad
zhouhaihai
传递 count
|
274
|
[TaskType.BonusPass]= {{2, 1, f("count")}},
|
d51ed472
liuzujun
日历任务 拾荒开始任务
|
275
|
[TaskType.AdvStart]= {{3, 1}},
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
276
277
|
[TaskType.DinerLevelUp]= {{4, 2, f("level")}},
[TaskType.HeroLvlCollect]= {{5, 3}}, -- x名y级英雄
|
7b570ef2
liuzujun
新春活动任务
|
278
|
[TaskType.AdvHang]= {{6, 3, f("actid")}}, ----
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
279
280
281
282
283
284
285
286
|
[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
英雄帖活动初始化
|
287
|
[TaskType.HangPass]= {{15, 3}},
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
288
289
290
|
[TaskType.HeroStarCollect]= {{16, 3}},
[TaskType.FoodSell]= {{17, 1, f("count")}},
[TaskType.HangGet]= {{18, 3, f("reward")}},
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
291
|
[TaskType.RuneQualityCollect]= {{19, 3}},
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
292
|
[TaskType.OpenBox]= {{20, 3, f("count"), f("quality")}},
|
f76d63e1
liuzujun
联动任务活动
|
293
294
|
[TaskType.RadioTaskStart] = {{21, 1}, {22, 3, f("heroCnt")}},
[TaskType.BonusQuick] = {{23, 1, f("count")}},
|
75876cb3
liuzujun
代理拾荒出勤人数计数错误, 代理拾...
|
295
|
[TaskType.AdvHangHeroCnt] = {{24, 3, f("count")}},
|
f76d63e1
liuzujun
联动任务活动
|
296
297
298
299
|
[TaskType.AdvKillBoss] = {{25, 1}},
[TaskType.AdvMineKill] = {{26, 1}},
[TaskType.PvpBattle] = {{27, 1}},
[TaskType.FinishSpeTask] = {{28, 3, f("taskId"), f("actId")}},
|
dfa9ae5e
liuzujun
战令任务活动
|
300
301
302
303
|
[TaskType.Login] = {{29, 1}},
[TaskType.DailyTask] = {{30, 2, f("cur")}},
[TaskType.WeekTask] = {{31, 2, f("cur")}},
[TaskType.MakeFood] = {{32, 1, f("count")}},
|
7b570ef2
liuzujun
新春活动任务
|
304
|
[TaskType.AddItem] = {{33, 3, f("type"), f("count")}, {42, 3, f("id"), f("count")}},
|
dfa9ae5e
liuzujun
战令任务活动
|
305
306
307
|
[TaskType.CostDiamond] = {{34, 1, f("count")}},
[TaskType.DrawHeroNotFriend] = {{35, 1, f("count")}},
[TaskType.AdvCostPower] = {{36, 1, f("count")}},
|
7b570ef2
liuzujun
新春活动任务
|
308
309
310
311
312
313
|
[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
|
314
315
316
|
}
}
|
dfa9ae5e
liuzujun
战令任务活动
|
317
318
319
|
local BattleCommandTaskListener = {
func = "checkBattleCommandTask",
listen = CalendaTaskListener["listen"]
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
320
321
|
}
|
00e663bd
zhouhaihai
剧情相关
|
322
323
|
local TaskListeners = {
StoryListener,
|
53e8037e
zhouhaihai
任务
|
324
325
|
CommonListener,
AchievListener,
|
9a1c54b2
zhouhaihai
活动
|
326
327
|
SudokuListener,
ActivityListener,
|
9ea0c502
liuzujun
限时礼包
|
328
|
StoreListener,
|
e0ad10e9
liuzujun
英雄帖任务简单类型测试
|
329
|
CalendaTaskListener,
|
dfa9ae5e
liuzujun
战令任务活动
|
330
|
BattleCommandTaskListener,
|
be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
331
332
333
334
335
336
|
}
local RoleTask = {}
function RoleTask.bind(Role)
|
00e663bd
zhouhaihai
剧情相关
|
337
338
|
-- 任务相关入口
function Role:checkTaskEnter(taskType, params, notNotify)
|
03a6166a
zhouhaihai
餐厅优化
|
339
340
341
342
|
params = params or {}
if type(taskType) == "string" then
taskType = TaskType[taskType]
end
|
00e663bd
zhouhaihai
剧情相关
|
343
344
|
for _, listener in ipairs(TaskListeners) do
if listener and listener.listen and listener.listen[taskType] and listener["func"] then
|
53e8037e
zhouhaihai
任务
|
345
|
for _, vs in ipairs(listener.listen[taskType]) do
|
89338c47
zhouhaihai
技能目标
|
346
|
local pms = {}
|
53e8037e
zhouhaihai
任务
|
347
348
|
for __, v in ipairs(vs) do
if type(v) == "table" and v.type then
|
9912e064
zhouhaihai
新增3个每日任务类型
|
349
|
if v.type == "field" then
|
d763fb14
zhouhaihai
签到 九宫格
|
350
351
352
353
354
|
local value = params[v.value]
if v.func then
value = v.func(value)
end
table.insert(pms, value)
|
53e8037e
zhouhaihai
任务
|
355
356
357
|
else
table.insert(pms, v)
end
|
00e663bd
zhouhaihai
剧情相关
|
358
359
360
|
else
table.insert(pms, v)
end
|
00e663bd
zhouhaihai
剧情相关
|
361
|
end
|
53e8037e
zhouhaihai
任务
|
362
|
self[listener["func"]](self, notNotify, table.unpack(pms))
|
00e663bd
zhouhaihai
剧情相关
|
363
|
end
|
00e663bd
zhouhaihai
剧情相关
|
364
365
|
end
end
|
be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
366
367
|
end
|
00e663bd
zhouhaihai
剧情相关
|
368
369
370
371
372
373
374
375
|
--剧情相关----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
删除好感度相关
|
376
377
378
379
380
|
-- 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
剧情相关
|
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
413
|
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
活动剧情解锁
|
414
415
416
417
418
419
420
421
422
423
|
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
剧情相关
|
424
425
426
427
428
|
local checkstoryStatusFunc = {
[1] = checkStoryStatusByHang,
[2] = checkStoryStatusByLove,
[3] = checkStoryStatusByMultStar,
[4] = checkStoryStatusByAdv,
|
be697585
liuzujun
活动剧情解锁
|
429
|
[5] = checkStoryStatusByActBattle,
|
00e663bd
zhouhaihai
剧情相关
|
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
455
|
}
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
任务
|
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
490
|
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
|
491
|
[1] = true,
|
53e8037e
zhouhaihai
任务
|
492
493
494
495
|
[4] = true,
[6] = true,
[7] = true,
[16] = true,
|
e04abcb4
chenyueqi
电波塔的任务只算主塔的进度
|
496
|
[17] = true,
|
53e8037e
zhouhaihai
任务
|
497
498
499
500
|
[19] = true,
[22] = true,
[23] = true,
[25] = true,
|
71003290
zhouhaihai
好友成就 bug
|
501
|
[37] = true,
|
53e8037e
zhouhaihai
任务
|
502
503
|
}
|
89338c47
zhouhaihai
技能目标
|
504
|
for tId , achiveData in pairs(csvdb["achievement_typeCsv"]) do
|
53e8037e
zhouhaihai
任务
|
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
|
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
技能目标
|
521
|
for k , v in pairs(campS) do
|
53e8037e
zhouhaihai
任务
|
522
523
524
|
nStatus = math.max(nStatus, v)
end
elseif achiveData.condition2 == 2 then
|
89338c47
zhouhaihai
技能目标
|
525
|
for k , v in pairs(jobS) do
|
53e8037e
zhouhaihai
任务
|
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
552
553
|
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
任务
|
554
555
556
557
558
559
560
561
562
|
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
技能目标
|
563
|
if achiveData.condition2 == 0 or achiveData.condition2 == runeData.rarity then
|
53e8037e
zhouhaihai
任务
|
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
596
597
|
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
任务
|
598
|
end
|
89338c47
zhouhaihai
技能目标
|
599
|
|
d763fb14
zhouhaihai
签到 九宫格
|
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
|
-- 九宫格任务
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
签到 九宫格
|
618
619
620
621
622
623
|
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
|
624
|
if curStatus ~= -1 and sudikuData.type == stype then
|
d763fb14
zhouhaihai
签到 九宫格
|
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
|
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
活动
|
648
|
function Role:checkActivityTask(notNotify, activityType, ...)
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
649
|
if not self.activity then return end
|
ea40710f
zhouhaihai
活动
|
650
|
self.activity:checkActivity(notNotify, activityType, ...)
|
9a1c54b2
zhouhaihai
活动
|
651
652
|
end
|
9ea0c502
liuzujun
限时礼包
|
653
|
function Role:checkStoreTask(notNotify, triggerType, param)
|
00bf6029
liuzujun
限时礼包,抽卡ssr广播
|
654
|
if not self.storeData then return end
|
9ea0c502
liuzujun
限时礼包
|
655
656
657
|
self.storeData:OnTriggerLimitTimePack(triggerType, param)
end
|
7b570ef2
liuzujun
新春活动任务
|
658
|
function Role:checkActTask(notNotify, keyName, actData, mainType, subType, param1, param2)
|
dfa9ae5e
liuzujun
战令任务活动
|
659
|
local calTask = self:getProperty(keyName) or {}
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
660
661
662
663
664
665
666
|
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
|
667
668
669
670
671
|
if subType == 1 then -- 增加数值
calTask[id] = (calTask[id] or 0) + param1
elseif subType == 2 then -- 直接赋值
calTask[id] = param1
elseif subType == 3 then -- 自定义类型
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
672
673
674
675
676
677
678
679
680
681
|
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
|
682
|
if (calTask[id] or 0) < count then
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
683
684
685
686
687
688
689
690
691
|
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
|
692
|
if (calTask[id] or 0) < count then
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
693
694
695
696
697
698
699
700
701
|
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
|
702
|
if (calTask[id] or 0) < count then
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
703
704
705
|
calTask[id] = count
end
elseif cfg.type == 18 then -- 挂机累计收获id,y个
|
b3f13e56
liuzujun
英雄令英雄收集相关任务
|
706
707
708
709
710
711
|
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品质铭文
|
712
713
714
715
716
|
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
|
717
|
local runeData = self.runeBag[uid]
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
718
719
720
721
722
723
724
725
726
727
728
729
730
731
|
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
英雄令英雄收集相关任务
|
732
|
elseif cfg.type == 20 then -- 开启x品质时钟箱子
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
733
|
if cfg.condition2 <= (param2 or 0) then
|
dfa9ae5e
liuzujun
战令任务活动
|
734
|
calTask[id] = (calTask[id] or 0) + param1
|
ffa0e259
liuzujun
日历活动 穿戴x个y品质铭文
|
735
|
end
|
190e1415
liuzujun
英雄帖活动初始化
|
736
737
738
739
740
741
742
743
|
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
联动任务活动
|
744
745
746
747
748
|
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
一键领取成就奖励
|
749
|
--print(actId,param2, cfg.condition2, param1)
|
7b570ef2
liuzujun
新春活动任务
|
750
|
if actData.id == param2 and cfg.condition2 == param1 then
|
f76d63e1
liuzujun
联动任务活动
|
751
752
|
calTask[id] = (calTask[id] or 0) + 1
end
|
dfa9ae5e
liuzujun
战令任务活动
|
753
754
755
756
|
elseif cfg.type == 33 then -- 获得指定类型道具多少个
if cfg.condition2 == param1 then
calTask[id] = (calTask[id] or 0) + (param2 or 0)
end
|
7b570ef2
liuzujun
新春活动任务
|
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
791
792
|
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
英雄令英雄收集相关任务
|
793
|
end
|
accf94c4
liuzujun
活动以类型标识,修改双倍活动bug
|
794
795
796
797
798
|
end
end
end
end
end
|
dfa9ae5e
liuzujun
战令任务活动
|
799
|
self:updateProperty({field = keyName, value = calTask, notNotify = notNotify})
|
7b570ef2
liuzujun
新春活动任务
|
800
801
802
803
804
805
806
807
808
809
810
811
812
|
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
|
813
814
|
end
|
dfa9ae5e
liuzujun
战令任务活动
|
815
816
817
818
|
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
战令活动,战令相关的任务活动
|
819
|
if not self.activity then return end
|
dfa9ae5e
liuzujun
战令任务活动
|
820
|
local open, actId = self.activity:isOpen(actEnum)
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
821
822
823
824
|
local actData = csvdb["activity_ctrlCsv"][actId]
if not actData then return end
if not open then return end
|
7b570ef2
liuzujun
新春活动任务
|
825
|
self:checkActTask(notNotify, keyName, actData, mainType, subType, param1, param2)
|
b620581a
liuzujun
战令活动,战令相关的任务活动
|
826
827
|
end
|
be83d162
zhouahaihai
登陆成功。 增加数据结构修正功能
|
828
829
|
end
|
a25b4535
liuzujun
fix conflict
|
830
|
return RoleTask
|