c1_lua/lua/app/userdata/battle/skill/battle_skill_entity.lua
2023-04-17 16:27:22 +08:00

60 lines
1.7 KiB
Lua

local BattleBuffEntity = require "app/userdata/battle/skill/battle_buff_entity"
local BattleSkillEntity = class("BattleSkillEntity", BaseData)
function BattleSkillEntity:ctor(skillId, skillType, owner)
self.skillType = skillType
self.skillId = skillId
self.owner = owner
self:init()
end
function BattleSkillEntity:init()
self.skillInfo = ConfigManager:getConfig("skill")[self.skillId]
self:initSkillEffect()
end
function BattleSkillEntity:initSkillEffect()
self.effectList = {}
if self.skillInfo.effect then
for k, v in ipairs(self.skillInfo.effect) do
local buffEntity = BattleBuffEntity:create()
buffEntity:init(v, self.owner, self)
table.insert(self.effectList, buffEntity)
end
end
end
function BattleSkillEntity:getMoveType()
return self.skillInfo.position
end
function BattleSkillEntity:getRandomNormalAttackName()
if self.normalSkillNameList == nil then
self.normalSkillNameList = {"attack01", "attack02", "attack03"}
end
if self.normalSkillNameIndex == nil then
self.normalSkillNameIndex = math.random(1, #self.normalSkillNameList)
else
local temp = self.normalSkillNameList[#self.normalSkillNameList]
self.normalSkillNameList[#self.normalSkillNameList] = self.normalSkillNameList[self.normalSkillNameIndex]
self.normalSkillNameList[self.normalSkillNameIndex] = temp
self.normalSkillNameIndex = math.random(1, #self.normalSkillNameList - 1)
end
return self.normalSkillNameList[self.normalSkillNameIndex]
end
function BattleSkillEntity:getSkillAttackName()
-- return self.skillInfo.name_act
return "attack01"
end
function BattleSkillEntity:getEffectList()
return self.effectList
end
function BattleSkillEntity:getTargetType()
return self.skillInfo.obj
end
return BattleSkillEntity