Commit 3139a1163b07e32d9371b0c7e6a19e94c88d80c8
1 parent
3c51e6d4
光环相关buff
Showing
2 changed files
with
44 additions
and
3 deletions
Show diff stats
src/adv/AdvBuff.lua
@@ -36,6 +36,8 @@ Buff.SNEAK = 32 --潜行 | @@ -36,6 +36,8 @@ Buff.SNEAK = 32 --潜行 | ||
36 | Buff.DROP_BUFF_BY_ENEMY = 33 -- 怪物掉落加成 -- 怪物使用 | 36 | Buff.DROP_BUFF_BY_ENEMY = 33 -- 怪物掉落加成 -- 怪物使用 |
37 | Buff.GET_PASSIVE = 34 -- 获得 passive -- 结束失效 | 37 | Buff.GET_PASSIVE = 34 -- 获得 passive -- 结束失效 |
38 | Buff.OBSTACLE_CHANGE = 35 -- 看守类型改变 -- 怪物使用 0 - 1 | 38 | Buff.OBSTACLE_CHANGE = 35 -- 看守类型改变 -- 怪物使用 0 - 1 |
39 | +Buff.DISABLE_AURA = 36 -- 禁用光环 | ||
40 | +Buff.GET_AURA = 37 -- 获得光环 | ||
39 | 41 | ||
40 | 42 | ||
41 | --角色一些属性的变化 | 43 | --角色一些属性的变化 |
@@ -332,6 +334,18 @@ local BuffFactory = { | @@ -332,6 +334,18 @@ local BuffFactory = { | ||
332 | end | 334 | end |
333 | end, | 335 | end, |
334 | 336 | ||
337 | + [Buff.DISABLE_AURA] = function(_Buff) | ||
338 | + _Buff._effectValue = function(self) | ||
339 | + return self.buffData.effectValue1 | ||
340 | + end | ||
341 | + end, | ||
342 | + | ||
343 | + [Buff.GET_AURA] = function(_Buff) | ||
344 | + _Buff._effectValue = function(self) | ||
345 | + return self.buffData.effectValue1 | ||
346 | + end | ||
347 | + end, | ||
348 | + | ||
335 | [Buff.SP_MAX_CHANGE] = function(_Buff) | 349 | [Buff.SP_MAX_CHANGE] = function(_Buff) |
336 | _Buff._init = function(self) --初始化变化值 | 350 | _Buff._init = function(self) --初始化变化值 |
337 | self.owner:reSetSpMax() | 351 | self.owner:reSetSpMax() |
src/adv/AdvPlayer.lua
@@ -143,6 +143,19 @@ function BaseObject:getDisablePassiveCount() | @@ -143,6 +143,19 @@ function BaseObject:getDisablePassiveCount() | ||
143 | return count | 143 | return count |
144 | end | 144 | end |
145 | 145 | ||
146 | +function BaseObject:getDisableAuraCount() | ||
147 | + local count | ||
148 | + for _, buff in ipairs(self.buffs) do | ||
149 | + if not buff:isHide() and buff:getType() == Buff.DISABLE_AURA then | ||
150 | + if buff:effect() == 0 then | ||
151 | + return 0 | ||
152 | + end | ||
153 | + count = (count or 0) + buff:effect() | ||
154 | + end | ||
155 | + end | ||
156 | + return count | ||
157 | +end | ||
158 | + | ||
146 | function BaseObject:addBuff(buffId, releaser, layer) | 159 | function BaseObject:addBuff(buffId, releaser, layer) |
147 | layer = layer or 1 | 160 | layer = layer or 1 |
148 | local buffData = csvdb["adv_map_buffCsv"][buffId] | 161 | local buffData = csvdb["adv_map_buffCsv"][buffId] |
@@ -229,22 +242,36 @@ function BaseObject:checkAuraBuff(buffs) | @@ -229,22 +242,36 @@ function BaseObject:checkAuraBuff(buffs) | ||
229 | end | 242 | end |
230 | 243 | ||
231 | function BaseObject:getAuras() | 244 | function BaseObject:getAuras() |
245 | + local disable = self:getDisableAuraCount() | ||
232 | local auras = {} | 246 | local auras = {} |
247 | + local function addAura(one) | ||
248 | + if disable > 0 then | ||
249 | + disable = disable - 1 | ||
250 | + else | ||
251 | + table.insert(auras, one) | ||
252 | + end | ||
253 | + end | ||
233 | if self:is("Enemy") then | 254 | if self:is("Enemy") then |
234 | local halo = csvdb["event_monsterCsv"][self.monsterId].halo | 255 | local halo = csvdb["event_monsterCsv"][self.monsterId].halo |
235 | if halo then | 256 | if halo then |
236 | for _, one in ipairs(halo:toArray(true, "=")) do | 257 | for _, one in ipairs(halo:toArray(true, "=")) do |
237 | - table.insert(auras, one) | 258 | + addAura(one) |
238 | end | 259 | end |
239 | end | 260 | end |
240 | elseif self:is("Build") then | 261 | elseif self:is("Build") then |
241 | local halo = csvdb["event_buildingCsv"][self.id].halo | 262 | local halo = csvdb["event_buildingCsv"][self.id].halo |
242 | if halo then | 263 | if halo then |
243 | for _, one in ipairs(halo:toArray(true, "=")) do | 264 | for _, one in ipairs(halo:toArray(true, "=")) do |
244 | - table.insert(auras, one) | 265 | + addAura(one) |
245 | end | 266 | end |
246 | end | 267 | end |
247 | - end | 268 | + end |
269 | + | ||
270 | + for _, buff in ipairs(self.buffs) do | ||
271 | + if not buff:isHide() and buff:getType() == Buff.GET_AURA then | ||
272 | + addAura(buff:effect()) | ||
273 | + end | ||
274 | + end | ||
248 | 275 | ||
249 | return auras | 276 | return auras |
250 | end | 277 | end |