XmdsBuff_Burn.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using CommonAI.Zone;
  2. using CommonAI.Zone.Formula;
  3. using CommonAI.Zone.Instance;
  4. using XmdsCommon.Plugin;
  5. using XmdsCommonServer.Plugin;
  6. using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
  7. namespace XmdsCommonSkill.Plugin.Buffs
  8. {
  9. /// <summary>
  10. ///BUFF:点燃.
  11. /// </summary>
  12. public class XmdsBuff_Burn : XmdsBuffBase
  13. {
  14. /// <summary>
  15. ///填正值为扣血.
  16. /// </summary>
  17. public int ChangeValue = 0;
  18. public override int GetAbilityID()
  19. {
  20. return (int)XmdsCommon.Plugin.XmdsBuffProperties.XmdsBuffAbility.Burn;
  21. }
  22. public override void CopyTo(UnitBuff other)
  23. {
  24. var ret = other as XmdsBuff_Burn;
  25. ret.ChangeValue = this.ChangeValue;
  26. base.CopyTo(other);
  27. }
  28. protected override void OnBindTemplate(ref BuffTemplate buffTemplate)
  29. {
  30. //DOT类技能首帧无效.
  31. buffTemplate.FirstTimeEnable = false;
  32. base.OnBindTemplate(ref buffTemplate);
  33. }
  34. protected override int OnBuffHit(XmdsVirtual hitter, XmdsVirtual attacker,
  35. CommonAI.Zone.Formula.AttackSource source,
  36. ref XmdsVirtual.AtkResult result)
  37. {
  38. //敌方扣血
  39. //hitter.AddHP(-54321, attacker.mUnit);
  40. //自己加血
  41. //attacker.AddHP(12345);
  42. if (ChangeValue != 0)
  43. {
  44. //造成伤害.
  45. return ChangeValue;
  46. }
  47. else
  48. {
  49. return base.OnBuffHit(hitter, attacker, source, ref result);
  50. }
  51. }
  52. }
  53. }