XmdsBattleFunctionEvent_10020.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using CommonAI.Zone;
  2. using XmdsCommon.Plugin;
  3. using XmdsCommonServer.Plugin;
  4. using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
  5. using XmdsCommonServer.XLS.Data;
  6. using XmdsCommonSkill.Plugin.Buffs;
  7. namespace XmdsCommonSkill.Plugin.FunctionEvent
  8. {
  9. /// <summary>
  10. /// 破甲(减少目标<$5>%的防御值,持续<$6>秒)
  11. /// </summary>
  12. public class XmdsBattleFunctionEvent_10020 : XmdsBattleFunctionEventBase
  13. {
  14. public static readonly int EventID = 10020;
  15. private int BuffValue_1 = 0; //
  16. private int Buff_LifeTime = 0; // buff持续时间.
  17. public override int GetEventID() { return EventID; }
  18. protected override bool OnInit()
  19. {
  20. BuffConfig config = base.GetBuffConfig();
  21. BuffValue_1 = System.Int32.Parse(config.ValueSet1);
  22. Buff_LifeTime = System.Int32.Parse(config.ValueSet2);
  23. return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, XmdsBuffProperties.XmdsBuffAbility.PropChange);
  24. }
  25. protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
  26. {
  27. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
  28. var buff = (XmdsBuff_PropChange)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.PropChange);
  29. buff.CurentChangeType = XmdsVirtual.UnitAttributeType.Defence;
  30. buff.CurrentValue = -BuffValue_1;
  31. buff.IsPercent = true;
  32. BuffTemplate bt = pack.mBuffTemplate;
  33. bt.IsHarmful = false;
  34. bt.LifeTimeMS = Buff_LifeTime;
  35. pack.BindTemplateAndDispose();
  36. target.mUnit.AddBuff(bt, sender.mUnit);
  37. }
  38. }
  39. }