XmdsBattleFunctionEvent_10018.cs 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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_10018 : XmdsBattleFunctionEventBase
  13. {
  14. public static readonly int EventID = 10018;
  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.AddHPByLossHP);
  24. }
  25. protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
  26. {
  27. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
  28. var buff = (XmdsBuff_AddHPByLossHP)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.AddHPByLossHP);
  29. buff.ChangeValue = BuffValue_1;
  30. BuffTemplate bt = pack.mBuffTemplate;
  31. bt.IsHarmful = false;
  32. bt.LifeTimeMS = Buff_LifeTime;
  33. pack.BindTemplateAndDispose();
  34. target.mUnit.AddBuff(bt, sender.mUnit);
  35. }
  36. }
  37. }