diff --git a/src/adv/Adv.lua b/src/adv/Adv.lua index 7d134bd..2ddf782 100644 --- a/src/adv/Adv.lua +++ b/src/adv/Adv.lua @@ -642,16 +642,13 @@ function Adv:over(success, rewardRatio, overType) end local chapterData = csvdb["adv_chapterCsv"][self.chapterId] -- 扣除的东西给积分 - local reward = self.owner:getProperty("advItems"):toNumMap() local addScore = 0 - for itemId, count in pairs(reward) do + for itemId, count in pairs(self.owner:getProperty("advItems"):toNumMap()) do local itemCsv = csvdb["itemCsv"][itemId] if not itemCsv then print("ERROR: no itemId in ItemCsv : ", itemId) elseif itemCsv.type == ItemType.AdvItem then addScore = addScore + count * itemCsv.advScore - else - reward[itemId] = math.ceil(count * rewardRatio / 100) end end self:scoreChange(AdvScoreType.ItemBack, addScore) @@ -662,10 +659,20 @@ function Adv:over(success, rewardRatio, overType) local scoreReward = math.floor(score / chapterData.scoreAward) self.owner:award({[ItemId.OldCoin] = scoreReward}) - reward = self.owner:award(reward) - + -- 被动技会影响奖励 self.battle.player:triggerPassive(Passive.ADV_OVER, {score = score, level = self.level}) + local reward = {} + for itemId, count in pairs(self.owner:getProperty("advItems"):toNumMap()) do + local itemCsv = csvdb["itemCsv"][itemId] + if not itemCsv then + print("ERROR: no itemId in ItemCsv : ", itemId) + elseif itemCsv.type ~= ItemType.AdvItem then + reward[itemId] = math.ceil(count * rewardRatio / 100) + end + end + reward = self.owner:award(reward) + if success then self.owner:checkTaskEnter("AdvPass", {id = self.chapterId, level = self.level, score = score}) -- libgit2 0.21.2