From 23a38f47c90a43010fa4bf6c3a10c4cadeb28d5f Mon Sep 17 00:00:00 2001 From: suhongyang <1609423485@qq.com> Date: Thu, 27 Jun 2019 21:31:20 +0800 Subject: [PATCH] new passives effect --- src/adv/Adv.lua | 4 +++- src/adv/AdvPassive.lua | 13 +++++++++++-- src/adv/AdvPlayer.lua | 9 +++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/adv/Adv.lua b/src/adv/Adv.lua index 8f01ca7..a05fca4 100644 --- a/src/adv/Adv.lua +++ b/src/adv/Adv.lua @@ -61,6 +61,7 @@ local function getEventLib(chapterId, level, needEventType) -- needEventType } local eventLib = {} for lib, eventType in pairs(libsToType) do + -- init eventLib if type(eventType) == "table" then for _, temp in ipairs(eventType) do eventLib[temp] = {} @@ -68,6 +69,7 @@ local function getEventLib(chapterId, level, needEventType) -- needEventType else eventLib[eventType] = {} end + -- needEventType 只获取这个事件类型 if not needEventType or eventLib[needEventType] then for id, data in pairs(csvdb[lib]) do if data.levelchapter == chapter then @@ -200,7 +202,7 @@ local function randomAdvMap(role, chapterId, level, notNotify) end end end - stagePool = {["global"] = {}} + local stagePool = {["global"] = {}} for roomId, roomName in pairs(mapData["rooms"]) do stagePool[roomId] = {} advInfo.rooms[roomId] = {event = {}, open = {}} -- 事件, open open == 1 房间内地块全部开放 diff --git a/src/adv/AdvPassive.lua b/src/adv/AdvPassive.lua index 5f64feb..60dda2a 100644 --- a/src/adv/AdvPassive.lua +++ b/src/adv/AdvPassive.lua @@ -209,7 +209,7 @@ function Passive:effect2(trigger) trigger:addBuff(self.passiveData.effectValue) end end ---3=翻开自己所在格子, +--3=翻开自己所在格子 function Passive:effect3() self.owner.battle.adv:openBlock(self.owner.roomId, self.owner.blockId) end @@ -218,6 +218,15 @@ function Passive:effect4() self.owner.isDead = true --跑了 self.owner.battle.adv:enemyDead(self.owner.roomId,self.owner.blockId, true) end - +--5=给随机一个敌方增加一个buff +function Passive:effect5() + local monsters = self.owner.battle.player:getTeam(2) + local randomId = math.random( 1, #monsters ) + monsters[randomId]:addBuff(self.passiveData.effectValue) +end +--6=给自己加一個被動技能 +function Passive:effect6() + self.owner:addPassive({id = self.passiveData.effectValue}) +end return Passive \ No newline at end of file diff --git a/src/adv/AdvPlayer.lua b/src/adv/AdvPlayer.lua index 5bd3782..ce3a583 100644 --- a/src/adv/AdvPlayer.lua +++ b/src/adv/AdvPlayer.lua @@ -69,6 +69,15 @@ function BaseObject:clear() self.passives = {} end +function BaseObject:addPassive(params) + local skillId = params.id + local skillData = csvdb["adv_skill_passiveCsv"][skillId] + if not skillData then return end + local level = params.level or 1 + if not skillData[level] then return end + table.insert(self.passives, Passive.new(self, { id = skillId, level = level })) +end + function BaseObject:addBuff(buffId, releaser) local buffData = csvdb["adv_buffCsv"][buffId] if not buffData then return end -- libgit2 0.21.2