Commit 031dcf992f1bde7bb452c9aa884ce4f39108f7e8

Authored by zhouhaihai
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)]
... ...