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 | ... | ... |