XmdsBattleFunctionEvent_10001.cs 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using CommonAI.Zone;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6. using XmdsCommon.Plugin;
  7. using XmdsCommonServer.Plugin;
  8. using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
  9. using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
  10. using XmdsCommonSkill.Plugin.Buffs;
  11. using XmdsCommonServer.XLS.Data;
  12. namespace XmdsCommonSkill.Plugin.FunctionEvent
  13. {
  14. /// <summary>
  15. /// PVP防御
  16. /// </summary>
  17. public class XmdsBattleFunctionEvent_10001 : XmdsBattleFunctionEventBase
  18. {
  19. public readonly int EventID = 10001;
  20. private int Buff_Value = 0; // 防御加成值
  21. private int Buff_LifeTime = 0; // 持续时间
  22. public override int GetEventID() { return EventID; }
  23. protected override bool OnInit()
  24. {
  25. BuffConfig config = base.GetBuffConfig();
  26. Buff_Value = System.Int32.Parse(config.ValueSet1);
  27. Buff_LifeTime = System.Int32.Parse(config.ValueSet2);
  28. return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, XmdsBuffProperties.XmdsBuffAbility.PropChange);
  29. }
  30. protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
  31. {
  32. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
  33. var bufflist = pack.GetXmdsBuffList();
  34. var propChange = (XmdsBuff_PropChange)bufflist[0];
  35. propChange.CurentChangeType = XmdsVirtual.UnitAttributeType.Defence;
  36. propChange.IsPercent = true;
  37. propChange.CurrentValue = Buff_Value;
  38. BuffTemplate bt = pack.mBuffTemplate;
  39. bt.IsHarmful = false;
  40. //buff时间使用模版配置
  41. bt.LifeTimeMS = Buff_LifeTime;
  42. bt.FirstTimeEnable = false;
  43. (bt.Properties as XmdsBuffProperties).Dispelled = false;
  44. pack.BindTemplateAndDispose();
  45. target.mUnit.AddBuff(bt, sender.mUnit);
  46. }
  47. }
  48. }