Priest_502050.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. using CommonAI.Zone;
  2. using XmdsCommon.Plugin;
  3. using XmdsCommonServer.Plugin;
  4. using XmdsCommonServer.XLS.Data;
  5. namespace XmdsCommonSkill.Plugin.Skills.Priest
  6. {
  7. /// <summary>
  8. /// 强化圣洁护盾: 使圣洁护盾同时对范围20米内的最多x个队友生效.
  9. /// </summary>
  10. public class Priest_502050 : Priest_500050
  11. {
  12. /// <summary>
  13. /// 技能ID.
  14. /// </summary>
  15. public static new int ID = 502050;
  16. /// <summary>
  17. /// 最大数量.
  18. /// </summary>
  19. public static XmdsSkillValue MaxCount;
  20. /// <summary>
  21. /// 仇恨系数.
  22. /// </summary>
  23. public static new XmdsSkillValue ThreatValue;
  24. /// <summary>
  25. /// 给队友加的spellID.
  26. /// </summary>
  27. public static int SpellID = 502051;
  28. /// <summary>
  29. /// 获取技能ID.
  30. /// </summary>
  31. public override int SkillID
  32. {
  33. get
  34. {
  35. return ID;
  36. }
  37. }
  38. protected override void OnThreatValueEvent(BattleParams param)
  39. {
  40. param.ThreatValue = this.GetTargetFormulaValue(param.GameSkill.TalentSkillLevel, ThreatValue);
  41. }
  42. protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
  43. {
  44. //spell使用监听.
  45. unit.RegistTrySendSpellEvent(OnTrySendSpell, info);
  46. base.OnInit(info, unit, ref template);
  47. }
  48. protected void OnTrySendSpell(ref SpellTemplate spell, XmdsVirtual launcher)
  49. {
  50. if (spell.TemplateID == SpellID)
  51. {
  52. //获取技能等级,动态改变spell最大改变数量.
  53. int lv = launcher.SkillHelper.GetGameSkill(SkillID).TalentSkillLevel;
  54. spell.MaxAffectUnit = this.GetTargetFormulaValue(lv, MaxCount);
  55. }
  56. }
  57. protected override void OnInitSkillParam()
  58. {
  59. base.OnInitSkillParam();
  60. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
  61. InitData(data, out MaxCount, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  62. InitData(data, out ThreatValue, XmdsSkillData.XmdsSkillDataKey.HateRate);
  63. }
  64. }
  65. }