using CommonAI.Zone; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator; using XmdsCommonSkill.Plugin.Buffs; using XmdsCommonServer.XLS.Data; namespace XmdsCommonSkill.Plugin.Skills.Assassin { /// /// 影袭: 进入疯狂杀戮状态,所有技能冷却时间缩短x%,物攻提高x%,持续x秒. /// public class Assassin_202020 : XmdsSkillBase { public static int ID = 202020; public static int Buff_ID = (int)XmdsBuffBase.XmdsBuffList.YING_XI_ZHUANG_TAI; /// CD时间. public static XmdsSkillValue CDChange; /// 攻击上升. public static XmdsSkillValue AtkUp; public override int SkillID { get { return ID; } } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { //施放技能监听. unit.RegistLaunchSkillOver(OnLaunchSkillOver, info,false); XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID); BuffTemplate bt = pack.mBuffTemplate; bt.LifeTimeMS = 5000; bt.IsHarmful = false; pack.BindTemplateAndDispose(); unit.RegistSendBuff(bt); } //攻击监听. protected virtual int OnLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual attacker, CommonAI.Zone.Instance.InstanceUnit.SkillState state) { if (state.Data.ID == SkillID) { XmdsBuff_ChangeSkillTotalTime buff1 = (XmdsBuff_ChangeSkillTotalTime)attacker.GetRegisBuffVirtual(SkillID, 0); buff1.ChangeTime = -this.GetTargetFormulaValue(attacker.SkillHelper.GetGameSkill(SkillID).SkillLevel, CDChange); buff1.IsPercent = true; XmdsBuff_PropChange buff2 = (XmdsBuff_PropChange)attacker.GetRegisBuffVirtual(SkillID, 1); buff2.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack; buff2.CurrentValue = this.GetTargetFormulaValue(attacker.SkillHelper.GetGameSkill(SkillID).SkillLevel, AtkUp); buff2.IsPercent = true; attacker.mUnit.AddBuff(Buff_ID, attacker.mUnit); } return 0; } protected override void OnInitSkillParam() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out CDChange, XmdsSkillData.XmdsSkillDataKey.ValueSet2); InitData(data, out AtkUp, XmdsSkillData.XmdsSkillDataKey.ValueSet); } } }