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,6 +1307,7 @@ local function clickLinkChoose(self, room, block, params) | ||
1307 | self.lchoose[startId] = (self.lchoose[startId] or 0) + 1 | 1307 | self.lchoose[startId] = (self.lchoose[startId] or 0) + 1 |
1308 | self:checkAchievement(Adv.AchievType.LinkChoose, 1, startId) | 1308 | self:checkAchievement(Adv.AchievType.LinkChoose, 1, startId) |
1309 | self:checkAchievement(Adv.AchievType.FinishStoryId, 1, chooseData.storyid) | 1309 | self:checkAchievement(Adv.AchievType.FinishStoryId, 1, chooseData.storyid) |
1310 | + self:checkTask(Adv.TaskType.FinishStoryId, 1, chooseData.storyid) | ||
1310 | local advStoryB = self.owner:getProperty("advStoryB") | 1311 | local advStoryB = self.owner:getProperty("advStoryB") |
1311 | advStoryB[chooseData.storyid] = (advStoryB[chooseData.storyid] or 0) + 1 | 1312 | advStoryB[chooseData.storyid] = (advStoryB[chooseData.storyid] or 0) + 1 |
1312 | self.owner:setProperty("advStoryB", advStoryB) | 1313 | self.owner:setProperty("advStoryB", advStoryB) |
@@ -1401,6 +1402,7 @@ end | @@ -1401,6 +1402,7 @@ end | ||
1401 | 1402 | ||
1402 | local function clickClick(self, room, block, params) | 1403 | local function clickClick(self, room, block, params) |
1403 | local clickData = csvdb["event_clickCsv"][block.event.id] | 1404 | local clickData = csvdb["event_clickCsv"][block.event.id] |
1405 | + local oldId = block.event.id | ||
1404 | if not clickData then return end | 1406 | if not clickData then return end |
1405 | local clearBlock = true | 1407 | local clearBlock = true |
1406 | local doEffect = { | 1408 | local doEffect = { |
@@ -1423,8 +1425,11 @@ local function clickClick(self, room, block, params) | @@ -1423,8 +1425,11 @@ local function clickClick(self, room, block, params) | ||
1423 | end | 1425 | end |
1424 | end, | 1426 | end, |
1425 | } | 1427 | } |
1428 | + | ||
1426 | assert(doEffect[clickData.type], "error effect, event_clickCsv id :" .. block.event.id) | 1429 | assert(doEffect[clickData.type], "error effect, event_clickCsv id :" .. block.event.id) |
1427 | doEffect[clickData.type]() | 1430 | doEffect[clickData.type]() |
1431 | + self:checkTask(Adv.TaskType.Click, 1, oldId) | ||
1432 | + | ||
1428 | if clearBlock then | 1433 | if clearBlock then |
1429 | block:clear() | 1434 | block:clear() |
1430 | end | 1435 | end |
@@ -1850,11 +1855,14 @@ function Adv:enemyDead(enemy, escape) | @@ -1850,11 +1855,14 @@ function Adv:enemyDead(enemy, escape) | ||
1850 | self:checkAchievement(Adv.AchievType.KillWithAMWeapon, 1) | 1855 | self:checkAchievement(Adv.AchievType.KillWithAMWeapon, 1) |
1851 | 1856 | ||
1852 | if monsterData.type == 2 then | 1857 | if monsterData.type == 2 then |
1858 | + self:checkTask(Adv.TaskType.KillBoss, 1, enemyId) | ||
1853 | self:checkAchievement(Adv.TaskType.KillBoss, 1, enemyId) | 1859 | self:checkAchievement(Adv.TaskType.KillBoss, 1, enemyId) |
1854 | self:checkAchievement(Adv.TaskType.KillBossWithBuff, 1) | 1860 | self:checkAchievement(Adv.TaskType.KillBossWithBuff, 1) |
1855 | self:checkAchievement(Adv.TaskType.KillBossNoBuff, 1) | 1861 | self:checkAchievement(Adv.TaskType.KillBossNoBuff, 1) |
1856 | self:checkAchievement(Adv.AchievType.KillBossWithMWeapon, 1) | 1862 | self:checkAchievement(Adv.AchievType.KillBossWithMWeapon, 1) |
1857 | self:checkAchievement(Adv.AchievType.KillBossWithAMWeapon, 1) | 1863 | self:checkAchievement(Adv.AchievType.KillBossWithAMWeapon, 1) |
1864 | + elseif monsterData.type == 3 then | ||
1865 | + self:checkTask(Adv.TaskType.KillElite, 1, enemyId) | ||
1858 | end | 1866 | end |
1859 | end | 1867 | end |
1860 | end | 1868 | end |
src/adv/AdvTask.lua
@@ -11,6 +11,11 @@ function AdvTask.bind(Adv) | @@ -11,6 +11,11 @@ function AdvTask.bind(Adv) | ||
11 | Shop = 5, --和指定商人交易N次 | 11 | Shop = 5, --和指定商人交易N次 |
12 | Build = 6, --和指定建筑交互N次 | 12 | Build = 6, --和指定建筑交互N次 |
13 | KillAll = 7, --消灭本层所有怪物 | 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,6 +53,13 @@ function AdvTask.bind(Adv) | ||
48 | end | 53 | end |
49 | end | 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 | if checkTaskFunc[taskData.condition] then | 63 | if checkTaskFunc[taskData.condition] then |
52 | status = checkTaskFunc[taskData.condition]() | 64 | status = checkTaskFunc[taskData.condition]() |
53 | else | 65 | else |
@@ -84,6 +96,7 @@ function AdvTask.bind(Adv) | @@ -84,6 +96,7 @@ function AdvTask.bind(Adv) | ||
84 | end | 96 | end |
85 | end | 97 | end |
86 | self:addTask() | 98 | self:addTask() |
99 | + self:checkTask(Adv.TaskType.RelayOpen) --每一层都检查一下 | ||
87 | end | 100 | end |
88 | 101 | ||
89 | function Adv:checkTask(taskType, count, cond) | 102 | function Adv:checkTask(taskType, count, cond) |