Commit 031dcf992f1bde7bb452c9aa884ce4f39108f7e8
1 parent
028db777
修改战斗属性计算 冒险增加效果类型
Showing
2 changed files
with
34 additions
and
16 deletions
Show diff stats
src/adv/Adv.lua
| @@ -1183,7 +1183,14 @@ local function chooseCommon(self, room, block, chooseData, choose, tag) | @@ -1183,7 +1183,14 @@ local function chooseCommon(self, room, block, chooseData, choose, tag) | ||
| 1183 | end, | 1183 | end, |
| 1184 | [11] = function() -- 获得神器 | 1184 | [11] = function() -- 获得神器 |
| 1185 | self:waitChooseArtifact() --等待获取神器 | 1185 | self:waitChooseArtifact() --等待获取神器 |
| 1186 | - end | 1186 | + end, |
| 1187 | + [12] = function() | ||
| 1188 | + -- buffId | ||
| 1189 | + local targers = self.battle.player:getTeam(2) | ||
| 1190 | + for _, target in pairs(targers) do | ||
| 1191 | + target:addBuff(effect[2]) | ||
| 1192 | + end | ||
| 1193 | + end, | ||
| 1187 | } | 1194 | } |
| 1188 | assert(doEffect[effect[1]], "error effect, event_" .. (tag or "choose") .. "Csv id :" .. block.event.id) | 1195 | assert(doEffect[effect[1]], "error effect, event_" .. (tag or "choose") .. "Csv id :" .. block.event.id) |
| 1189 | doEffect[effect[1]]() | 1196 | doEffect[effect[1]]() |
src/models/HeroPlugin.lua
| @@ -161,21 +161,32 @@ function HeroPlugin.bind(Hero) | @@ -161,21 +161,32 @@ function HeroPlugin.bind(Hero) | ||
| 161 | end | 161 | end |
| 162 | end | 162 | end |
| 163 | -- 零件效果 | 163 | -- 零件效果 |
| 164 | - local suits = {} | ||
| 165 | - for _, uid in pairs(self:getProperty("rune"):toNumMap()) do | ||
| 166 | - if uid > 0 then | ||
| 167 | - local rune = self.owner.runeBag[uid] | ||
| 168 | - local buildData = csvdb["rune_buildCsv"][rune:getProperty("level")] | ||
| 169 | - for k,v in pairs(rune:getProperty("attrs"):toNumMap()) do | ||
| 170 | - local attName = AttsEnumEx[k] | ||
| 171 | - -- 零件的加成属性有特殊需求 填的是 10倍的值 | ||
| 172 | - attrs.value[attName] = attrs.value[attName] + (v / 10) + addAttr(v / 10, buildData[attName], 1, attName) | ||
| 173 | - end | ||
| 174 | - local csvData = csvdb["runeCsv"][rune:getProperty("type")][rune:getProperty("id")] | ||
| 175 | - if not suits[csvData.suit] then suits[csvData.suit] = {} end | ||
| 176 | - table.insert(suits[csvData.suit],csvData) | ||
| 177 | - end | ||
| 178 | - end | 164 | + local suits = {} |
| 165 | + for _, uid in pairs(self:getProperty("rune"):toNumMap()) do | ||
| 166 | + if uid > 0 then | ||
| 167 | + local rune = self.owner.runeBag[uid] | ||
| 168 | + local csvData = csvdb["runeCsv"][rune:getProperty("type")][rune:getProperty("id")] | ||
| 169 | + local runeRareData = csvdb["rune_rareCsv"][csvData.rarity] | ||
| 170 | + local buildData = csvdb["rune_buildCsv"][rune:getProperty("level")] | ||
| 171 | + for k, v in pairs(rune:getProperty("attrs"):toNumMap()) do | ||
| 172 | + local attName = AttsEnumEx[k] | ||
| 173 | + --零件的加成属性有特殊需求 填的是 10倍的值 | ||
| 174 | + --rare的effect不影响 特殊属性 | ||
| 175 | + | ||
| 176 | + --铭文单件普通属性=attr*(1+[rune_build表effect]/100*[rune_rare表effect]/100) | ||
| 177 | + --铭文单件特殊属性=attr+[rune_build表effect] | ||
| 178 | + | ||
| 179 | + local effect = buildData[attName] | ||
| 180 | + if not PercentAttr[attName] then | ||
| 181 | + effect = buildData[attName] * runeRareData.effect / 100 | ||
| 182 | + end | ||
| 183 | + attrs.value[attName] = attrs.value[attName] + (v / 10) + addAttr(v / 10, effect, 1, attName) | ||
| 184 | + end | ||
| 185 | + | ||
| 186 | + if not suits[csvData.suit] then suits[csvData.suit] = {} end | ||
| 187 | + table.insert(suits[csvData.suit],csvData) | ||
| 188 | + end | ||
| 189 | + end | ||
| 179 | -- 零件套装效果 | 190 | -- 零件套装效果 |
| 180 | for suitId,runeDatas in pairs(suits) do | 191 | for suitId,runeDatas in pairs(suits) do |
| 181 | local suitCsv = csvdb["rune_suitCsv"][tonumber(suitId)] | 192 | local suitCsv = csvdb["rune_suitCsv"][tonumber(suitId)] |