Commit eee37c8812a000ea39bbef9735687bb5acad9e58

Authored by zhouhaihai
1 parent bfd33de5

楼层数据

@@ -301,6 +301,12 @@ function Adv:isEndless() @@ -301,6 +301,12 @@ function Adv:isEndless()
301 return AdvCommon.isEndless(self.chapterId) 301 return AdvCommon.isEndless(self.chapterId)
302 end 302 end
303 303
  304 +function Adv:getCurFloorData()
  305 + if not self.chapterId then return end
  306 + local chapter = self.chapterId % 100
  307 + return (csvdb["adv_chapter_floorCsv"][chapter] or {})[self.level]
  308 +end
  309 +
304 --关卡通关,非层 score < 0 失败 310 --关卡通关,非层 score < 0 失败
305 function Adv:over(success, isAllPass) 311 function Adv:over(success, isAllPass)
306 local score = self:getScore() 312 local score = self:getScore()
@@ -474,6 +480,10 @@ local function clickOut(self, room, block, params) @@ -474,6 +480,10 @@ local function clickOut(self, room, block, params)
474 self:over(true, not self:isEndless() and self.level >= levellimit) 480 self:over(true, not self:isEndless() and self.level >= levellimit)
475 else 481 else
476 self.battle.player:triggerPassive(Passive.DOWN_LAYER) 482 self.battle.player:triggerPassive(Passive.DOWN_LAYER)
  483 + local curFloorData = self:getCurFloorData()
  484 + if curFloorData then
  485 + self:backReward(self:award({[ItemId.AdvPoint] = curFloorData.exp}))
  486 + end
477 self:initByChapter(self.chapterId, self.level + 1, true, true) 487 self:initByChapter(self.chapterId, self.level + 1, true, true)
478 self:backNext() --下一关 488 self:backNext() --下一关
479 end 489 end
src/adv/AdvBattle.lua
@@ -108,11 +108,10 @@ function Battle:addEnemy(room, block, mapIdx) @@ -108,11 +108,10 @@ function Battle:addEnemy(room, block, mapIdx)
108 if not block.event.enemy then 108 if not block.event.enemy then
109 local enemyCsv = csvdb["event_monsterCsv"][block.event.id] 109 local enemyCsv = csvdb["event_monsterCsv"][block.event.id]
110 local enemy = {} 110 local enemy = {}
111 - enemy.hp = enemyCsv.hp + enemyCsv.levelhp * self.adv.level  
112 - enemy.atk = enemyCsv.atk + enemyCsv.levelatk * self.adv.level  
113 - enemy.hit = enemyCsv.hit + enemyCsv.levelhit * self.adv.level  
114 - enemy.miss = enemyCsv.miss + enemyCsv.levelmiss * self.adv.level  
115 - enemy.def = enemyCsv.def + enemyCsv.leveldef * self.adv.level 111 + local curFloorData = self.adv:getCurFloorData() or {}
  112 + for attrName, _ in pairs(AdvAttsEnum) do
  113 + enemy[attrName] = enemyCsv[attrName] * curFloorData[attrName]
  114 + end
116 enemy.passives = {} 115 enemy.passives = {}
117 for _, id in ipairs(enemyCsv.mapPassive:toArray(true, "=")) do 116 for _, id in ipairs(enemyCsv.mapPassive:toArray(true, "=")) do
118 table.insert(enemy.passives, {id = id}) 117 table.insert(enemy.passives, {id = id})
src/adv/AdvTask.lua
@@ -128,9 +128,15 @@ function AdvTask.bind(Adv) @@ -128,9 +128,15 @@ function AdvTask.bind(Adv)
128 if self.advTask[taskId] and self.advTask[taskId] == -1 then 128 if self.advTask[taskId] and self.advTask[taskId] == -1 then
129 local taskData = csvdb["event_questCsv"][taskId] 129 local taskData = csvdb["event_questCsv"][taskId]
130 if not taskData then return end 130 if not taskData then return end
131 - if taskData.reward == 1 then  
132 - reward = self.owner:award(taskData.rewardValue)  
133 - end 131 + local curFloorData = self:getCurFloorData()
  132 + if not curFloorData then return end
  133 +
  134 + reward = {[ItemId.AdvPoint] = curFloorData.questAward}
  135 +
  136 + local item = csvdb["event_dropCsv"][taskData.drop]["range"]:randWeight(true)
  137 + reward[item[1]] = (reward[item[1]] or 0) + item[2]
  138 + reward = self.owner:award(reward)
  139 +
134 self.advTask[taskId] = nil 140 self.advTask[taskId] = nil
135 ok = true 141 ok = true
136 advTaskChange.t = true 142 advTaskChange.t = true