60 lines
1.7 KiB
Lua
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)
|
|
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 |