using CommonAI.Zone; using System; using System.Collections.Generic; using System.Linq; using System.Text; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator; using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills; using XmdsCommonSkill.Plugin.Buffs; using XmdsCommonServer.XLS.Data; namespace XmdsCommonSkill.Plugin.FunctionEvent { /// /// PVP防御 /// public class XmdsBattleFunctionEvent_10001 : XmdsBattleFunctionEventBase { public readonly int EventID = 10001; private int Buff_Value = 0; // 防御加成值 private int Buff_LifeTime = 0; // 持续时间 public override int GetEventID() { return EventID; } protected override bool OnInit() { BuffConfig config = base.GetBuffConfig(); Buff_Value = System.Int32.Parse(config.ValueSet1); Buff_LifeTime = System.Int32.Parse(config.ValueSet2); return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, XmdsBuffProperties.XmdsBuffAbility.PropChange); } protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender) { XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID); var bufflist = pack.GetXmdsBuffList(); var propChange = (XmdsBuff_PropChange)bufflist[0]; propChange.CurentChangeType = XmdsVirtual.UnitAttributeType.Defence; propChange.IsPercent = true; propChange.CurrentValue = Buff_Value; BuffTemplate bt = pack.mBuffTemplate; bt.IsHarmful = false; //buff时间使用模版配置 bt.LifeTimeMS = Buff_LifeTime; bt.FirstTimeEnable = false; (bt.Properties as XmdsBuffProperties).Dispelled = false; pack.BindTemplateAndDispose(); target.mUnit.AddBuff(bt, sender.mUnit); } } }