using CommonAI.Zone; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonSkill.Plugin.Buffs; using XmdsCommonServer.XLS.Data; namespace XmdsCommonSkill.Plugin.Skills.Monster { /// /// 小泥 - 粘:在命中敌人时,有x%概率降低敌人y%移动速度. /// public class Monster_10620102 : XmdsSkillBase { public static int ID = 10620102; public static int Buff_ID = (int)XmdsBuffBase.XmdsBuffList.SPEED_DOWN; public static XmdsSkillValue Buff_Value; public override int SkillID { get { return ID; } } protected override void OnSkillLogicEvent(BattleParams param) { param.UseDamageType = CommonAI.Data.DamageType.None; //减速. XmdsBuff_MoveSpeedDown buff2 = (XmdsBuff_MoveSpeedDown)param.Attacker.GetRegisBuffVirtual(Buff_ID); buff2.ChangePercent = -this.GetTargetFormulaValue(param.GameSkill.SkillLevel, Buff_Value); BuffTemplate bt = param.Attacker.GetRegistBuff(Buff_ID); bt.LifeTimeMS = 5000; param.Hitter.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit); } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { // 减速. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID); //XmdsBuff_MoveSpeedChange buff2 = (XmdsBuff_MoveSpeedChange)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.MoveSpeedChange); BuffTemplate bt = pack.mBuffTemplate; bt.IsHarmful = true; pack.BindTemplateAndDispose(); unit.RegistSendBuff(bt); } protected override void OnInitSkillParam() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out Buff_Value, XmdsSkillData.XmdsSkillDataKey.ValueSet); } } }