XmdsBuff_Invincible_LuanchSkillBreak.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using XmdsCommon.Plugin;
  6. namespace XmdsCommonSkill.Plugin.Buffs
  7. {
  8. class XmdsBuff_Invincible_LuanchSkillBreak : XmdsBuffBase
  9. {
  10. private int mHandUUID = 0;
  11. public override int GetAbilityID()
  12. {
  13. return (int)XmdsBuffProperties.XmdsBuffAbility.Invincible_luanchSkillBreak;
  14. }
  15. protected override void OnBuffBegin(XmdsCommonServer.Plugin.XmdsVirtual hitter, XmdsCommonServer.Plugin.XmdsVirtual attacker, CommonAI.Zone.Instance.InstanceUnit.BuffState state)
  16. {
  17. //通过编辑器设置无敌效果.
  18. //XmdsVirtual.FormatLog("单位 {0} 无敌开始", hitter.mInfo.Name);
  19. hitter.IsInvincible = true;
  20. mHandUUID = hitter.RegistLaunchSkillOver(OnLaunchSkillOver, null);
  21. }
  22. protected override void OnBuffEnd(XmdsCommonServer.Plugin.XmdsVirtual hitter, CommonAI.Zone.Instance.InstanceUnit.BuffState state, bool replace)
  23. {
  24. // XmdsVirtual.FormatLog("单位 {0} 无敌解除", hitter.mInfo.Name);
  25. hitter.IsInvincible = false;
  26. hitter.UnRegistLaunchSkillOver(mHandUUID);
  27. }
  28. private int OnLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual attacker, CommonAI.Zone.Instance.InstanceUnit.SkillState state)
  29. {
  30. attacker.mUnit.removeBuff(BindBuffID);
  31. //Console.WriteLine("============");
  32. //attacker.IsInvincible = false;
  33. //attacker.UnRegistLaunchSkillOver(mHandUUID);
  34. return 0;
  35. }
  36. }
  37. }