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 | 1183 | end, |
1184 | 1184 | [11] = function() -- 获得神器 |
1185 | 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 | 1195 | assert(doEffect[effect[1]], "error effect, event_" .. (tag or "choose") .. "Csv id :" .. block.event.id) |
1189 | 1196 | doEffect[effect[1]]() | ... | ... |
src/models/HeroPlugin.lua
... | ... | @@ -161,21 +161,32 @@ function HeroPlugin.bind(Hero) |
161 | 161 | end |
162 | 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 | 191 | for suitId,runeDatas in pairs(suits) do |
181 | 192 | local suitCsv = csvdb["rune_suitCsv"][tonumber(suitId)] | ... | ... |