Commit eee37c8812a000ea39bbef9735687bb5acad9e58

Authored by zhouhaihai
1 parent bfd33de5

楼层数据

src/adv/Adv.lua
... ... @@ -301,6 +301,12 @@ function Adv:isEndless()
301 301 return AdvCommon.isEndless(self.chapterId)
302 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 310 --关卡通关,非层 score < 0 失败
305 311 function Adv:over(success, isAllPass)
306 312 local score = self:getScore()
... ... @@ -474,6 +480,10 @@ local function clickOut(self, room, block, params)
474 480 self:over(true, not self:isEndless() and self.level >= levellimit)
475 481 else
476 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 487 self:initByChapter(self.chapterId, self.level + 1, true, true)
478 488 self:backNext() --下一关
479 489 end
... ...
src/adv/AdvBattle.lua
... ... @@ -108,11 +108,10 @@ function Battle:addEnemy(room, block, mapIdx)
108 108 if not block.event.enemy then
109 109 local enemyCsv = csvdb["event_monsterCsv"][block.event.id]
110 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 115 enemy.passives = {}
117 116 for _, id in ipairs(enemyCsv.mapPassive:toArray(true, "=")) do
118 117 table.insert(enemy.passives, {id = id})
... ...
src/adv/AdvTask.lua
... ... @@ -128,9 +128,15 @@ function AdvTask.bind(Adv)
128 128 if self.advTask[taskId] and self.advTask[taskId] == -1 then
129 129 local taskData = csvdb["event_questCsv"][taskId]
130 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 140 self.advTask[taskId] = nil
135 141 ok = true
136 142 advTaskChange.t = true
... ...