Priest_501080.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using CommonAI.Zone;
  2. using XmdsCommon.Plugin;
  3. using XmdsCommonServer.Plugin;
  4. using XmdsCommonSkill.Plugin.Buffs;
  5. namespace XmdsCommonSkill.Plugin.Skills.Priest
  6. {
  7. /// <summary>
  8. /// 从容:圣洁护盾期间,抵挡一次来自敌人的控制效果.
  9. /// </summary>
  10. public class Priest_501080 : Priest_500050
  11. {
  12. /// <summary>
  13. /// 技能ID.
  14. /// </summary>
  15. public static new int ID = 501080;
  16. /// <summary>
  17. /// BUFF.
  18. /// </summary>
  19. public static int Buff_ID = (int)XmdsBuffBase.XmdsBuffList.CONG_RONG;
  20. /// <summary>
  21. /// 生效一次.
  22. /// </summary>
  23. public static int UseTimes = 1;
  24. /// <summary>
  25. /// 获取技能ID.
  26. /// </summary>
  27. public override int SkillID
  28. {
  29. get
  30. {
  31. return ID;
  32. }
  33. }
  34. /// <summary>
  35. /// 初始化.
  36. /// </summary>
  37. /// <param name="info"></param>
  38. /// <param name="unit"></param>
  39. /// <param name="template"></param>
  40. protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
  41. {
  42. base.OnInit(info, unit, ref template);
  43. //技能技能初始化,常用作为修改BUFF能力等等.
  44. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID);
  45. BuffTemplate bt = pack.mBuffTemplate;
  46. bt.IsHarmful = false;
  47. pack.BindTemplateAndDispose();
  48. unit.RegistSendBuff(bt);
  49. }
  50. protected override void OnSkillLogicEvent(BattleParams param)
  51. {
  52. base.OnSkillLogicEvent(param);
  53. // 免控1次.
  54. XmdsBuff_IngoreCtrl buff2 = (XmdsBuff_IngoreCtrl)param.Attacker.GetRegisBuffVirtual(Buff_ID);
  55. buff2.BuffUseType = (int)XmdsBuffBase.XmdsBuffUseType.Times;
  56. buff2.BuffUseTime = UseTimes;
  57. BuffTemplate bt = param.Attacker.GetRegistBuff(Buff_ID);
  58. bt.LifeTimeMS = GetTargetFormulaValue(param.GameSkill.SkillLevel, BuffLifeTime);
  59. param.Hitter.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit);
  60. }
  61. }
  62. }