using CommonAI.Zone; using System; using System.Collections.Generic; using System.Linq; using System.Text; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; namespace XmdsCommonSkill.Plugin.Skills.Pet { /// /// 沉睡 瞬发 使一名敌人陷入沉睡<$4>秒,沉睡期间敌人无法移动也无法攻击 一个沉睡的BUFF /// class Pet_8200104 : XmdsSkillBase { public static int ID = 8200104; public static int Buff_ID = (int)Buffs.XmdsBuffBase.XmdsBuffList.SLEEP; public override int SkillID { get { return ID; } } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID); XmdsBuff_Stun buff = (XmdsBuff_Stun)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.STUN); BuffTemplate bt = pack.mBuffTemplate; bt.IsHarmful = true; pack.BindTemplateAndDispose(); unit.RegistSendBuff(bt); } protected override void OnSkillLogicEvent(BattleParams param) { // 没伤害. param.UseDamageType = CommonAI.Data.DamageType.None; XmdsBuff_Stun buff = param.Attacker.GetRegisBuffVirtual(Buff_ID) as XmdsBuff_Stun; BuffTemplate bt = param.Attacker.GetRegistBuff(Buff_ID); bt.LifeTimeMS = 5000; param.Hitter.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit); } protected override void OnInitSkillParam() { } } }