This commit is contained in:
puxuan 2025-10-16 21:16:15 +08:00
parent cfe72dae8d
commit 7ce2b6a419
19 changed files with 291 additions and 69 deletions

View File

@ -1035,6 +1035,20 @@ local buff = {
["buff_type"]=7,
["stack"]=0,
["decr"]=3
},
[111]={
["id"]=111,
["name"]="random_universal",
["buff_type"]=7,
["stack"]=0,
["decr"]=3
},
[112]={
["id"]=112,
["name"]="main_hero_energyadd",
["buff_type"]=7,
["stack"]=0,
["decr"]=3
}
}
local keys = {
@ -1148,12 +1162,14 @@ local keys = {
["yellow_refresh_weight"]=buff[107],
["green_refresh_weight"]=buff[108],
["blue_refresh_weight"]=buff[109],
["purple_refresh_weight"]=buff[110]
["purple_refresh_weight"]=buff[110],
["random_universal"]=buff[111],
["main_hero_energyadd"]=buff[112]
}
}
local config = {
data=buff,
keys=keys,
count=110
count=112
}
return config

View File

@ -1247,6 +1247,25 @@ local item = {
["qlt"]=4,
["icon"]="48"
},
[49]={
["type"]=6,
["qlt"]=3,
["icon"]="49",
["box_drop"]={
{
["type"]=1,
["id"]=14,
["num"]=1,
["weight"]=6000
},
{
["type"]=1,
["id"]=15,
["num"]=1,
["weight"]=4000
}
}
},
[13001]={
["type"]=5,
["inbag"]=1,
@ -1484,6 +1503,6 @@ local item = {
}
}
local config = {
data=item,count=72
data=item,count=73
}
return config

View File

@ -105,7 +105,7 @@ local skill = {
},
[15]={
["effect_type"]=2,
["trigger"]=11,
["trigger"]=12,
["trigger_value"]=10,
["trigger_limit"]=15,
["effect"]={

View File

@ -19,24 +19,36 @@ local skill_rogue = {
[2]={
["universal"]=1,
["limit_times"]=1,
["weight"]=1000,
["weight"]=1000000000000,
["qlt"]=5,
["type"]=20,
["parameter"]={
1000
["type"]=9,
["effect"]={
{
["type"]="random_universal",
["num"]=20000,
["ratio"]=20000,
["round"]=9999
}
},
["icon"]="17"
["obj"]=1,
["icon"]="30"
},
[3]={
["universal"]=1,
["limit_times"]=1,
["weight"]=1000,
["qlt"]=5,
["type"]=21,
["parameter"]={
1
["type"]=9,
["effect"]={
{
["type"]="main_hero_energyadd",
["num"]=1,
["ratio"]=10000,
["round"]=0
}
},
["icon"]="29"
["obj"]=1,
["icon"]="30"
},
[4]={
["universal"]=1,
@ -284,7 +296,7 @@ local skill_rogue = {
["universal"]=1,
["weight"]=1000,
["qlt"]=4,
["type"]=22,
["type"]=20,
["parameter"]={
5
},
@ -294,7 +306,7 @@ local skill_rogue = {
["universal"]=1,
["weight"]=1000,
["qlt"]=4,
["type"]=23,
["type"]=21,
["parameter"]={
2
},
@ -304,7 +316,7 @@ local skill_rogue = {
["universal"]=1,
["weight"]=1000,
["qlt"]=4,
["type"]=24,
["type"]=22,
["icon"]="27"
},
[23]={

View File

@ -252,7 +252,8 @@ BattleConst.SPECIAL_DAMAGE_OR_CURE_TYPE = {
}
BattleConst.SKILL_RECORD_DATA_NAME = {
HP_LOWER_THAN = 1
HP_LOWER_THAN = 1,
LINK_X_THAN = 2,
}
BattleConst.SKILL_CONDITION_TYPE = {
@ -282,6 +283,7 @@ BattleConst.PASSIVE_EVENT = {
ON_DEAD_BY_SKILL = 9, -- 有敌人死于技能时触发
ON_DEAD_WITH_BLEED = 10, -- 死亡时带有流血buff
ON_DEAD = 11, -- 死亡时
ON_LINK_X = 12, -- 每消除X个色块trigger_value触发参数配置获得一次effect效果增加触发上限功能trigger_limit
}
local BUFF_NAME = {
@ -373,6 +375,7 @@ local BUFF_NAME = {
FOREVER_DEC_DMG_PURPLE_ADD = "forever_dec_dmg_purple_add",
FOREVER_DEC_DMG_ALL_ADD = "forever_dec_dmg_all_add",
FOREVER_THORNS = "forever_thorns",
RANDOM_UNIVERSAL = "random_universal",
}
BattleConst.BUFF_NAME = BUFF_NAME

View File

@ -469,6 +469,7 @@ end
function BattleUnitComp:useNormalSkill(count, effectType, callback)
self.actionOverCallback = callback
self.normalSkillCount = count
self:checkPassiveEvent(PASSIVE_EVENT.ON_LINK_X)
if effectType == BattleConst.EFFECT_TYPE.DIRECT then
self.normalSkillCount = self.normalSkillCount + self.unitEntity:getNormalAttackAddCount()
end

View File

@ -287,7 +287,8 @@ function BattleBaseController:onLinkChange()
local entity = self.battleData:getGridEntity(info.posId)
if not mainElementType or not dmgSkillId then
local skillId = entity:getSkillId()
if not skillId and not mainElementType then
local isUniversal = entity:getIsUniversal()
if not skillId and not mainElementType and not isUniversal then
mainElementType = entity:getElementType()
end
if skillId and not dmgSkillId then
@ -1481,7 +1482,7 @@ function BattleBaseController:calculateCurElimination(onlyCheck)
local entity = gridEntities[info.posId]
local elementType = entity:getElementType()
if not info.noAni and info.isIdle then
if not info.isSkill then
if not info.isSkill and not info.isUniversal then
if not entity:isElmentTypeInvalid() then
self.elementTypeMap[elementType] = (self.elementTypeMap[elementType] or 0) + 1
end
@ -1514,6 +1515,9 @@ function BattleBaseController:dealGridBreak(posId, condition, time, breakedMap,
if entity:getSkillId() then
aniUnit.isSkill = true
end
if entity:getIsUniversal() then
aniUnit.isUniversal = true
end
if breaked or entity:canBreakByThisCondition(condition) then
breakedMap[posId] = true
@ -1658,6 +1662,7 @@ function BattleBaseController:getEliminattionAniInfo(posId, timeIdx)
timeIdx = timeIdx,
conditions = nil,
isSkill = false,
isUniversal = false,
isIdle = false,
callback = nil,
overCallback = nil,
@ -1780,6 +1785,7 @@ function BattleBaseController:onFillBoardOver(isRoundBeginCheck)
EventManager:dispatchEvent(EventManager.CUSTOM_EVENT.BOARD_FILL_OVER)
self:popBoardCacheSkill(function()
self:generateSkill(function()
self:generateUniversal(function()
if self.onFillBoardOverCallback then
local callback = self.onFillBoardOverCallback
self.onFillBoardOverCallback = nil
@ -1789,6 +1795,7 @@ function BattleBaseController:onFillBoardOver(isRoundBeginCheck)
end
end)
end)
end)
else
self:generateSkill(function()
self.battleUI:refreshSkill(nil, nil, self:getCurActionSide())
@ -1974,6 +1981,49 @@ function BattleBaseController:setGridSkillId(posId, skillId, noDirty)
end
end
function BattleBaseController:getUniversalElementList()
local gridEntities = self.battleData:getGridEnties()
if not gridEntities then
return
end
local posIds = {}
for row = 1, BattleConst.ROW_COUNT do
for column = 1, BattleConst.COLUMN_COUNT do
local posId = ModuleManager.BattleManager:getPosId(row, column)
local entity = gridEntities[posId]
if entity and entity:canChangeInfo() then
table.insert(posIds, posId)
end
end
end
if #posIds == 0 then
return
end
return posIds[math.random(1, #posIds)]
end
function BattleBaseController:generateUniversal(callback)
local posId = self:getUniversalElementList()
if not self.battleUI or not posId then
if callback then
callback()
end
return
end
if self.atkTeam:checkUniversal() then
local gridEntities = self.battleData:getGridEnties()
local entity = gridEntities[posId]
entity:setUniversal(true, false, self.curActionSide)
local cell = entity:getCell()
cell:refresh(entity)
callback()
else
callback()
end
end
function BattleBaseController:generateGridType(skillTypeParameter, monsterPos)
if not skillTypeParameter then
@ -2253,32 +2303,33 @@ function BattleBaseController:getRandomGridInfo()
local fixedRandomList = fixedRandomGrid[self.curBoardIndex]
local gridType = 0
local elementType
if fixedRandomList and fixedRandomList[1] then
elementType = table.remove(fixedRandomList, 1)
else
local map = self.battleData:getElementTypeMap()
self.getRandomGridInfoIndexs = table.clearOrCreate(self.getRandomGridInfoIndexs)
self.getRandomGridInfoTypeList = table.clearOrCreate(self.getRandomGridInfoTypeList)
for typeName, typeNum in pairs(BattleConst.ELEMENT_TYPE) do
if not self:getSealElementType()[typeNum] and self:getSkillEntityByElement(typeNum) then
local weight = ((map[typeNum] or 0) + 1) * BattleConst.ELEMENT_WIGHT
if self.elementWeightMap and self.elementWeightMap[typeNum] then
weight = weight + self.elementWeightMap[typeNum]
end
if weight > BattleConst.MAX_ELEMENT_WIGHT then
weight = BattleConst.MAX_ELEMENT_WIGHT
end
table.insert(self.getRandomGridInfoIndexs, weight)
table.insert(self.getRandomGridInfoTypeList, typeNum)
end
end
-- local elementType
-- if fixedRandomList and fixedRandomList[1] then
-- elementType = table.remove(fixedRandomList, 1)
-- else
-- local map = self.battleData:getElementTypeMap()
-- self.getRandomGridInfoIndexs = table.clearOrCreate(self.getRandomGridInfoIndexs)
-- self.getRandomGridInfoTypeList = table.clearOrCreate(self.getRandomGridInfoTypeList)
-- for typeName, typeNum in pairs(BattleConst.ELEMENT_TYPE) do
-- if not self:getSealElementType()[typeNum] and self:getSkillEntityByElement(typeNum) then
-- local weight = ((map[typeNum] or 0) + 1) * BattleConst.ELEMENT_WIGHT
-- if self.elementWeightMap and self.elementWeightMap[typeNum] then
-- weight = weight + self.elementWeightMap[typeNum]
-- end
-- if weight > BattleConst.MAX_ELEMENT_WIGHT then
-- weight = BattleConst.MAX_ELEMENT_WIGHT
-- end
-- table.insert(self.getRandomGridInfoIndexs, weight)
-- table.insert(self.getRandomGridInfoTypeList, typeNum)
-- end
-- end
local index = GFunc.getRandomIndex(self.getRandomGridInfoIndexs)
elementType = self.getRandomGridInfoTypeList[index]
end
-- local index = GFunc.getRandomIndex(self.getRandomGridInfoIndexs)
-- elementType = self.getRandomGridInfoTypeList[index]
-- end
local elementType = math.random(1, BattleConst.ELEMENT_TYPE.PURPLE)
return {gridType = gridType, elementType = elementType}
return {gridType = gridType, elementType = elementType, isUniversal = true}
end

View File

@ -62,7 +62,7 @@ function BattleBoardTouchHelper:onLinkStart(entity, posId, isVirtual)
end
self.battleData:insertGridSequence(posId, self.battleController:snapshotBoard(), isVirtual)
local skillEntity = self.battleController:getSkillEntityBySkillId(entity:getSkillId())
local maskElementType = entity:getElementType(skillEntity)
local maskElementType = entity:getElementType(skillEntity, true)
self.battleUI:showBoardMask(maskElementType, skillEntity and entity:getPosId())
self.battleController:findSkillInfluenceGrids()
self.battleController:onLinkChange()
@ -110,12 +110,12 @@ function BattleBoardTouchHelper:onLinkEnter(entity, posId, isVirtual)
local skillId = entity:getSkillId()
local skillEntity = self.battleController:getSkillEntityBySkillId(skillId)
local elementType = entity:getElementType(skillEntity)
local elementType = entity:getElementType(skillEntity, true)
local lastEntity = self.battleData:getGridEntity(lastPosId)
local lastSkillId = lastEntity:getSkillId()
local lastSkillEntity = self.battleController:getSkillEntityBySkillId(lastSkillId)
local lastElementType = lastEntity:getElementType(lastSkillEntity)
local lastElementType = lastEntity:getElementType(lastSkillEntity, true)
local hadSkillId, skillPosId = self.battleData:getSequenceHadSkill()
if skillEntity and hadSkillId then
@ -244,7 +244,7 @@ function BattleBoardTouchHelper:clearSequenceByPosId(posId)
end
local gridEntity = self.battleData:getGridEntity(posId)
local skillEntity = self.battleController:getSkillEntityBySkillId(gridEntity:getSkillId())
local maskElementType = gridEntity:getElementType(skillEntity)
local maskElementType = gridEntity:getElementType(skillEntity, true)
local _, skillPosId = self.battleData:getSequenceHadSkill()
self.battleUI:showBoardMask(maskElementType, skillPosId)

View File

@ -69,6 +69,25 @@ local function _checkOnDead(unitComp, skill, targetComp)
return 1
end
local function _checkLinkX(unitComp, skill, targetComp)
local triggerLimit = skill:getTriggerLimit() or 0
local data = unitComp.unitEntity:getTeamRecordData(SKILL_RECORD_DATA_NAME.LINK_X_THAN) or 0
if data >= triggerLimit then
return 0
end
local maxCount = 0
local eliminateMap = unitComp.battleController.totalEliminateCountMap
for _, v in pairs(eliminateMap) do
maxCount = maxCount + v
end
local triggerValue = skill:getPassiveTriggerValue() or 0
if maxCount >= (data + 1) * triggerValue then
unitComp.unitEntity:setTeamRecordData(SKILL_RECORD_DATA_NAME.LINK_X_THAN, data + 1)
return 1
end
return 0
end
BattlePassive.checkTrigger = {
[PASSIVE_EVENT.ON_UNIT_PREPARE_OVER] = _checkOnUnitPrepareOver,
[PASSIVE_EVENT.ON_UNI_ATTACK_START] = _checkOnUniAttackStart,
@ -80,6 +99,7 @@ BattlePassive.checkTrigger = {
[PASSIVE_EVENT.ON_DEAD_BY_SKILL] = _checkOnDeadBySkill,
[PASSIVE_EVENT.ON_DEAD_WITH_BLEED] = _checkOnDeadWithBleed,
[PASSIVE_EVENT.ON_DEAD] = _checkOnDead,
[PASSIVE_EVENT.ON_LINK_X] = _checkLinkX,
}
return BattlePassive

View File

@ -515,6 +515,11 @@ BattleRogueSkillHandle._effectOn = {
[17] = _addSkillBreakEnergyMultiple, -- 增加技能消除的元素的能量倍数
[18] = _addSkillMerge, -- 融合技能参数配本表的ID获得后直接让配的技能ID都生效
[19] = _addSkillLinkNumRound, -- 需要做成链接超X个元素时将主技能的第几个BUFF的回合数增加。参数配置[链接数,第几个BUFF回合数加值]
-- [20] = _randomOneUniversal, -- 概率刷出万能块技能参数parameter配置其概率
-- [21] = _addSkillLinkNumRound, -- 每次消除获得的主要英雄能量+Xparameter配置能量增加数
-- [22] = _addSkillLinkNumRound, -- 随机1名英雄能量+Xparameter配置能量增加数
-- [23] = _addSkillLinkNumRound, -- 全体英雄能量+Xparameter配置能量增加数
-- [24] = _addSkillLinkNumRound, -- 随机将一个技能能量加满
}
function BattleRogueSkillHandle.takeEffect(skillId, battleData, battleController, value, side, isSnapshot)

View File

@ -685,6 +685,22 @@ function BattleTeam:updateBuffState(buff, num)
end
end
function BattleTeam:hadUniversalBuff()
for i,v in ipairs(self.buffList) do
if v.buff:getName() == BattleConst.BUFF_NAME.RANDOM_UNIVERSAL and v.buff:isActive() then
return true
end
end
return false
end
-- 回合结束的时候要结算buff和技能
function BattleTeam:checkUniversal()
if self:hadUniversalBuff() then
return true
end
end
function BattleTeam:getBuffCountByName(buffName)
return self.sameBuffCount[buffName] or 0
end

View File

@ -2167,6 +2167,8 @@ function BattleBaseUI:refreshWave(wave, iconAtlas, iconName)
end
function BattleBaseUI:getSfxLine(elementType, index, func)
--@TODO 2025-10-16 21:12:05 缺光效
elementType = elementType or 1
self.hidingAllSfxLine = false
self.root.lineSfxObjs = self.root.lineSfxObjs or {}

View File

@ -23,6 +23,9 @@ function BattleSelectSkillCell:refresh(skillId, func)
value = I18N:getText("skill_rogue", skillId, "desc", value)
end
else
if EDITOR_MODE then
Logger.logHighlight("=================== skillId = %s", skillId)
end
value = ModuleManager.HeroManager:getSkillRogueDesc(skillId, self.value)
end
end

View File

@ -62,6 +62,7 @@ function GridCell:refresh(gridEntity, curElement, skillPosId)
local skillIcon = uiMap["grid_cell.touch_node.ani_node.skill_icon"]
local skillId = gridEntity:getSkillId()
local isUniversal = gridEntity:getIsUniversal()
if skillId then
elementIcon:setVisible(false)
skillIcon:setVisible(true)
@ -105,6 +106,12 @@ function GridCell:refresh(gridEntity, curElement, skillPosId)
downBg:setSprite(GConst.ATLAS_PATH.BATTLE, self.lastSkillBg)
end
end
elseif isUniversal then
elementIcon:setVisible(false)
downBg:setVisible(true)
skillIcon:setVisible(false)
showMask = false
downBg:setSprite(GConst.ATLAS_PATH.BATTLE, "battle_bg_lv")
else
skillIcon:setVisible(false)
end
@ -159,8 +166,9 @@ function GridCell:showHighLight(show, mainElementType)
local downBg = uiMap["grid_cell.touch_node.ani_node.down_bg"]
local skillId = self.gridEntity:getSkillId()
downBg:setVisible(skillId ~= nil)
local isUniversal = self.gridEntity:getIsUniversal()
if skillId then
downBg:setVisible(true)
show = true -- 有技能,强制显示特效
local skillEntity = self:getSkillEntity()
local ignoreElementType = skillEntity:getIgnoreElementType()
@ -175,6 +183,11 @@ function GridCell:showHighLight(show, mainElementType)
self.lastSkillBg = skillBg
downBg:setSprite(GConst.ATLAS_PATH.BATTLE, self.lastSkillBg)
end
elseif isUniversal then
downBg:setVisible(true)
downBg:setSprite(GConst.ATLAS_PATH.BATTLE, "battle_bg_lv")
else
downBg:setVisible(false)
end

View File

@ -168,7 +168,7 @@ function BattleBaseData:initRogueSkills(side, formation)
local skillId = heroEntity:getBaseSkill()
local cfg = SKILL_CFG[skillId]
self.skillMap[side][cfg.position] = BATTLE_BOARD_SKILL_ENTITY:create(skillId, side)
self.skillMap[side][cfg.position]:addUpSkills(heroEntity:getRogueSkillList())
self.skillMap[side][cfg.position]:addUpSkills(heroEntity:getRogueSkillListBattle())
self.skillMap[side][cfg.position]:setUnlockId(heroEntity:getUnlockRogueId())
for _, id in ipairs(heroEntity:getActiveRogueSkills()) do
if not skillmap[id] then
@ -451,6 +451,7 @@ function BattleBaseData:setGridInfo(posId, gridInfo)
end
entity:setSkilId() -- 清除skillId
entity:setUniversal(gridInfo.isUniversal) -- 清除万能地块
entity:determineIdleStatus()
end

View File

@ -9,6 +9,7 @@ function BattleGridEntity:ctor(data)
self.gridType = data.gridType or BattleConst.GRID_TYPE.EMPTY
self.elementType = data.elementType or BattleConst.ELEMENT_TYPE.NONE
self.skillId = data.skillId
self.isUniversal = data.universalId
self.linkSkillCount = data.linkSkillCount or 0 -- 任意链接技能激活次数
self.battleData = data.battleData
self.isIdle = false
@ -21,6 +22,7 @@ function BattleGridEntity:clear()
self.gridType = BattleConst.GRID_TYPE.EMPTY
self.elementType = BattleConst.ELEMENT_TYPE.RED
self.skillId = nil
self.isUniversal = nil
self.linkSkillCount = 0 -- 任意链接技能激活次数
self.isIdle = false
self.breakCount = 0
@ -38,6 +40,7 @@ function BattleGridEntity:getSnapshoptInfo()
elementType = self.elementType,
isIdle = self.isIdle,
skillId = self.skillId,
universalId = self.isUniversal,
linkSkillCount = self.linkSkillCount,
breakCount = self.breakCount,
}
@ -49,6 +52,7 @@ function BattleGridEntity:setInfoBySnapshop(snapshot)
self.elementType = snapshot.elementType or BattleConst.ELEMENT_TYPE.RED
self.isIdle = snapshot.isIdle
self.skillId = snapshot.skillId
self.isUniversal = snapshot.universalId
self.linkSkillCount = snapshot.linkSkillCount
self.breakCount = snapshot.breakCount
self:setDirty()
@ -70,11 +74,13 @@ function BattleGridEntity:getGridType()
return self.gridType
end
function BattleGridEntity:getElementType(skillEntity)
function BattleGridEntity:getElementType(skillEntity, checkUniversal)
if skillEntity and skillEntity:getIgnoreElementType() and self.linkSkillCount <= 0 then
return nil
end
if checkUniversal and self.isUniversal then
return nil
end
return self.elementType
end
@ -138,6 +144,12 @@ function BattleGridEntity:tryBreakGrid(condition, onlyCheck)
else
return false
end
elseif self:getIsUniversal() then
if condition == BattleConst.GRID_BREAK_CONDITION.LINE or condition == BattleConst.GRID_BREAK_CONDITION.SKILL then -- 技能破碎逻辑为,链接消除
isIdle = true
else
return false
end
else
if self:isEmptyIdle() and (condition == BattleConst.GRID_BREAK_CONDITION.LINE or condition == BattleConst.GRID_BREAK_CONDITION.SKILL) then -- 空类型/带技能破碎逻辑为,链接消除 置为闲置即消除
isIdle = true
@ -208,7 +220,7 @@ end
function BattleGridEntity:setElementType(elementType, noDirty)
self.elementType = elementType
if self.battleData:getCacheLockedElement(self.elementType) and not self.skillId then
if self.battleData:getCacheLockedElement(self.elementType) and not self.skillId and not self.isUniversal then
self:setGridType(BattleConst.GRID_TYPE.LOCK)
end
if not noDirty then
@ -254,26 +266,37 @@ end
function BattleGridEntity:canChangeInfo()
if self:canLink() and not self:getSkillId() then
if self:canLink() and not self:getSkillId() and not self:getIsUniversal() then
return true
end
return false
end
function BattleGridEntity:isEmptyIdle()
if self:isEmptyType() and not self:getSkillId() and not self:getIsIdle() then
if self:isEmptyType() and not self:getSkillId() and not self:getIsIdle() and not self:getIsUniversal() then
return true
end
return false
end
function BattleGridEntity:isNotObstacleIdle()
if not self:isObstacleType() and not self:getSkillId() and not self:getIsIdle() then
if not self:isObstacleType() and not self:getSkillId() and not self:getIsIdle() and not self:getIsUniversal() then
return true
end
return false
end
function BattleGridEntity:getIsUniversal()
return self.isUniversal or false
end
function BattleGridEntity:setUniversal(isUniversal, noDirty, side)
self.isUniversal = isUniversal
if not noDirty then
self:setDirty()
end
end
function BattleGridEntity:isCanFallStatus()
if not self:isCantFallType() and not self:getIsIdle() then
return true

View File

@ -1,4 +1,5 @@
local BattleConst = require "app/module/battle/battle_const"
local BattleHelper = require "app/module/battle/helper/battle_helper"
local BattleBuffEntity = class("BattleBuffEntity", BaseData)
local BUFF_TYPE_DIRECT_HURT = BattleConst.BUFF_TYPE.DIRECT_HURT
@ -26,6 +27,15 @@ function BattleBuffEntity:init(effectParams, owner, hostSkill)
self.needSave = self.hostSkill ~= nil
end
function BattleBuffEntity:isActive()
if self.ratio < BattleConst.DEFAULT_FACTOR then
if BattleHelper:random(1, BattleConst.DEFAULT_FACTOR) > self.ratio then -- 没有通过命中概率
return false
end
end
return true
end
function BattleBuffEntity:setOwner(owner)
self.owner = owner
end

View File

@ -351,6 +351,10 @@ function BattleSkillEntity:getPassiveTriggerId()
return self.skillInfo.trigger
end
function BattleSkillEntity:getTriggerLimit()
return self.skillInfo.trigger_limit
end
function BattleSkillEntity:getFxBg()
if self.skillShow then
if not self:getIsAtkSideSkill() and self:getUsePvpEffect() then

View File

@ -623,6 +623,29 @@ function HeroEntity:getRogueSkillList()
return self.rogueSkillList
end
function HeroEntity:getRogueSkillListBattle()
if not self.rogueSkillList then
self.rogueSkillList = {}
local count = 1
while true do
local ids = self.config["rouge_skill_" .. count]
if ids then
for i = #ids, 1, -1 do
if self.data.star >= ids[i][1] then
table.insert(self.rogueSkillList, ids[i][2])
break
end
end
else
break
end
count = count + 1
end
end
return self.rogueSkillList
end
function HeroEntity:getRogueSkillListByIdx(idx)
local ids = self.config["rouge_skill_" .. idx]
local lv = 0