Commit 6133e29fec175d91020abcd550c79798a830bdc3
1 parent
bc36785e
新加任务
Showing
2 changed files
with
21 additions
and
0 deletions
Show diff stats
src/adv/Adv.lua
... | ... | @@ -1307,6 +1307,7 @@ local function clickLinkChoose(self, room, block, params) |
1307 | 1307 | self.lchoose[startId] = (self.lchoose[startId] or 0) + 1 |
1308 | 1308 | self:checkAchievement(Adv.AchievType.LinkChoose, 1, startId) |
1309 | 1309 | self:checkAchievement(Adv.AchievType.FinishStoryId, 1, chooseData.storyid) |
1310 | + self:checkTask(Adv.TaskType.FinishStoryId, 1, chooseData.storyid) | |
1310 | 1311 | local advStoryB = self.owner:getProperty("advStoryB") |
1311 | 1312 | advStoryB[chooseData.storyid] = (advStoryB[chooseData.storyid] or 0) + 1 |
1312 | 1313 | self.owner:setProperty("advStoryB", advStoryB) |
... | ... | @@ -1401,6 +1402,7 @@ end |
1401 | 1402 | |
1402 | 1403 | local function clickClick(self, room, block, params) |
1403 | 1404 | local clickData = csvdb["event_clickCsv"][block.event.id] |
1405 | + local oldId = block.event.id | |
1404 | 1406 | if not clickData then return end |
1405 | 1407 | local clearBlock = true |
1406 | 1408 | local doEffect = { |
... | ... | @@ -1423,8 +1425,11 @@ local function clickClick(self, room, block, params) |
1423 | 1425 | end |
1424 | 1426 | end, |
1425 | 1427 | } |
1428 | + | |
1426 | 1429 | assert(doEffect[clickData.type], "error effect, event_clickCsv id :" .. block.event.id) |
1427 | 1430 | doEffect[clickData.type]() |
1431 | + self:checkTask(Adv.TaskType.Click, 1, oldId) | |
1432 | + | |
1428 | 1433 | if clearBlock then |
1429 | 1434 | block:clear() |
1430 | 1435 | end |
... | ... | @@ -1850,11 +1855,14 @@ function Adv:enemyDead(enemy, escape) |
1850 | 1855 | self:checkAchievement(Adv.AchievType.KillWithAMWeapon, 1) |
1851 | 1856 | |
1852 | 1857 | if monsterData.type == 2 then |
1858 | + self:checkTask(Adv.TaskType.KillBoss, 1, enemyId) | |
1853 | 1859 | self:checkAchievement(Adv.TaskType.KillBoss, 1, enemyId) |
1854 | 1860 | self:checkAchievement(Adv.TaskType.KillBossWithBuff, 1) |
1855 | 1861 | self:checkAchievement(Adv.TaskType.KillBossNoBuff, 1) |
1856 | 1862 | self:checkAchievement(Adv.AchievType.KillBossWithMWeapon, 1) |
1857 | 1863 | self:checkAchievement(Adv.AchievType.KillBossWithAMWeapon, 1) |
1864 | + elseif monsterData.type == 3 then | |
1865 | + self:checkTask(Adv.TaskType.KillElite, 1, enemyId) | |
1858 | 1866 | end |
1859 | 1867 | end |
1860 | 1868 | end | ... | ... |
src/adv/AdvTask.lua
... | ... | @@ -11,6 +11,11 @@ function AdvTask.bind(Adv) |
11 | 11 | Shop = 5, --和指定商人交易N次 |
12 | 12 | Build = 6, --和指定建筑交互N次 |
13 | 13 | KillAll = 7, --消灭本层所有怪物 |
14 | + KillElite = 8, --击杀精英怪 | |
15 | + KillBoss = 9, --击杀Boss | |
16 | + RelayOpen = 10, -- 解锁中继营地 | |
17 | + FinishStoryId = 11, -- 完成故事 | |
18 | + Click = 12, -- 点击点击事件 | |
14 | 19 | } |
15 | 20 | |
16 | 21 | -- 检查任务状态 在新领取任务的时候回进行检查 |
... | ... | @@ -48,6 +53,13 @@ function AdvTask.bind(Adv) |
48 | 53 | end |
49 | 54 | end |
50 | 55 | |
56 | + checkTaskFunc[Adv.TaskType.RelayOpen] = function() | |
57 | + local limit = tonum(taskData.value2, 0) | |
58 | + if self.level > limit or (self.level == limit and self.isRelay) then | |
59 | + return -1 | |
60 | + end | |
61 | + end | |
62 | + | |
51 | 63 | if checkTaskFunc[taskData.condition] then |
52 | 64 | status = checkTaskFunc[taskData.condition]() |
53 | 65 | else |
... | ... | @@ -84,6 +96,7 @@ function AdvTask.bind(Adv) |
84 | 96 | end |
85 | 97 | end |
86 | 98 | self:addTask() |
99 | + self:checkTask(Adv.TaskType.RelayOpen) --每一层都检查一下 | |
87 | 100 | end |
88 | 101 | |
89 | 102 | function Adv:checkTask(taskType, count, cond) | ... | ... |