Commit 6133e29fec175d91020abcd550c79798a830bdc3

Authored by zhouhaihai
1 parent bc36785e

新加任务

Showing 2 changed files with 21 additions and 0 deletions   Show diff stats
@@ -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)