Commit eee37c8812a000ea39bbef9735687bb5acad9e58
1 parent
bfd33de5
楼层数据
Showing
3 changed files
with
23 additions
and
8 deletions
Show diff stats
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 | ... | ... |