package skill
import (
"go_dreamfactory/modules/battle/fight/core"
cfg "go_dreamfactory/sys/configure/structs"
)
///
/// 主动/队长技能
///
///
/// 遍历触发子技能
///
type FightSkill struct {
OwnerRole core.IFightRole
CD int32
SkillConf *cfg.GameSkillAtkData
}
///
/// 触发
/// 遍历所有ChildSkills,生成对应的实例,并Emit触发
///
func (this *FightSkill) Emit() {
}
///
/// 减少CD回合数
///
/// 新的回合数
func (this *FightSkill) MinusCD(val int32) int32 {
if this.CD > 0 {
this.CD -= val
if this.CD < 0 {
this.CD = 0
}
this.SetCD(this.CD)
}
return this.CD
}
///
/// 增加CD回合数
///
/// 新的回合数
func (this *FightSkill) ResetCD() int32 {
this.CD = this.SkillConf.CD
this.SetCD(this.CD)
return this.CD
}
///
/// 设置CD回合数为新的值
///
///
///
func (this *FightSkill) SetCD(newVal int32) int32 {
this.CD = newVal
//记录战报
com := new(core.ComSetSkillCD)
com.From = this.OwnerRole.GetData().Rid
com.Skillid = this.SkillConf.Id
com.Nv = byte(newVal)
// this.OwnerRole.GetFightBase().FightLog.AddCommand(com)
return this.CD
}
/// 发送技能日志
func (this *FightSkill) Clear() {
}
/// 发送技能日志
func (this *FightSkill) SendSkillLog() {
}