ZhanYao_79000.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using CommonAI.Data;
  2. using CommonAI.Zone;
  3. using CommonAI.Zone.Formula;
  4. using CommonAI.Zone.Helper;
  5. using CommonAI.Zone.Instance;
  6. using CommonLang;
  7. using XmdsCommon.Plugin;
  8. using XmdsCommonServer.Plugin;
  9. using XmdsCommonServer.XLS.Data;
  10. using XmdsCommonSkill.Plugin.Buffs;
  11. using XmdsCommonSkill.Plugin.Interface;
  12. using XmdsCommonSkill.Plugin.PassiveSkills.Remedy;
  13. using XmdsCommonSkill.Plugin.Skills.PetSkill;
  14. using static CommonAI.Zone.Instance.InstanceUnit;
  15. namespace XmdsCommonSkill.Plugin.Skills.Warrior
  16. {
  17. /// <summary>
  18. /// 斩妖-击杀指定类型boss回血
  19. /// </summary>
  20. public class ZhanYao_79000 : XmdsPassiveSkillBase
  21. {
  22. private static readonly int ID = 79000;
  23. private int mUUID_1 = 0;
  24. //boss类型
  25. private static XmdsSkillValue mValueSet1;
  26. //回血效果: 最大生命值
  27. private static XmdsSkillValue mValueSet2;
  28. public override int SkillID { get { return ID; } }
  29. protected override void OnInit(GameSkill info, XmdsVirtual owner)
  30. {
  31. mUUID_1 = owner.RegistKillOtherEvent(OnKillOtherUnitEvent, info, mValueSet1.GetValue(info.SkillLevel));
  32. }
  33. private bool OnKillOtherUnitEvent(XmdsVirtual attacker, XmdsVirtual deader, GameSkill info)
  34. {
  35. int addHP = CUtils.CastInt(attacker.mUnit.MaxHP * XmdsUnitProp.PER * mValueSet2.GetValue(info.SkillLevel));
  36. attacker.mUnit.AddHP(addHP, attacker.mUnit);
  37. return true;
  38. }
  39. protected override void OnDispose(XmdsVirtual owner)
  40. {
  41. owner.UnRegistKillOtherEvent(mUUID_1);
  42. }
  43. protected override void OnInitSkillParam()
  44. {
  45. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
  46. InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  47. InitData(data, out mValueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
  48. }
  49. }
  50. }