Dungeon_911001.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using CommonAI.Data;
  2. using CommonAI.Zone;
  3. using CommonAI.Zone.Helper;
  4. using CommonAI.Zone.Instance;
  5. using CommonLang;
  6. using System;
  7. using System.Collections.Generic;
  8. using XmdsCommon.Plugin;
  9. using XmdsCommonServer.Plugin;
  10. using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
  11. using XmdsCommonServer.XLS.Data;
  12. using XmdsCommonSkill.Plugin.Buffs;
  13. using XmdsCommonSkill.Plugin.Interface;
  14. using XmdsCommonSkill.Plugin.PassiveSkills.Magic;
  15. using static CommonAI.Zone.Instance.InstanceUnit;
  16. using static XmdsCommonSkill.Plugin.Buffs.XmdsBuff_SwordShadow;
  17. using static XmdsCommonSkill.Plugin.Interface.ComSpellTemplate;
  18. using static XmdsCommonSkill.Plugin.Skills.XmdsSummonBase;
  19. namespace XmdsCommonSkill.Plugin.Skills.Magic
  20. {
  21. /// <summary>
  22. ///蛛网召唤
  23. /// </summary>
  24. public class Dungeon_911001 : XmdsPassiveSkillBase
  25. {
  26. public static readonly int ID = 911001;
  27. public override int SkillID { get { return ID; } }
  28. private static XmdsSkillValue valueSet1; // 检测半径
  29. private static XmdsSkillValue valueSet2; // 眩晕时间
  30. //临时存储
  31. protected XmdsVirtual mOwner;
  32. private int mCheckInterval;
  33. private float mCheckRange;
  34. private int mXunYunTime;
  35. public static int Buff_1 = (int)XmdsBuffBase.XmdsBuffList.YUN_XUAN; // 眩晕.
  36. protected override void OnInit(GameSkill info, XmdsVirtual unit)
  37. {
  38. this.mOwner = unit;
  39. this.mCheckRange = valueSet1.GetValue(info.SkillLevel)/10.0f;
  40. this.mXunYunTime = valueSet2.GetValue(info.SkillLevel);
  41. //技能初始化,常用作为修改BUFF能力等等.
  42. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_1);
  43. BuffTemplate bt = pack.mBuffTemplate;
  44. bt.IsHarmful = true;
  45. bt.LifeTimeMS = this.mXunYunTime;
  46. pack.BindTemplateAndDispose();
  47. unit.RegistSendBuff(bt);
  48. }
  49. protected override void OnUpdate(int intervalMS, bool slowRefresh)
  50. {
  51. this.mCheckInterval += intervalMS;
  52. if(this.mCheckInterval > 100)
  53. {
  54. //眩晕周围目标
  55. List<InstanceUnit> rangeUnits = base.GetNearUnitList(this.mOwner, this.mCheckRange, false, 2);
  56. foreach(InstanceUnit unitTemp in rangeUnits)
  57. {
  58. unitTemp.AddBuff(Buff_1, this.mOwner.mUnit);
  59. }
  60. }
  61. }
  62. protected override void OnInitSkillParam()
  63. {
  64. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
  65. InitData(data, out valueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  66. InitData(data, out valueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
  67. }
  68. }
  69. }