using CommonAI.Data; using CommonAI.Zone; using CommonAI.Zone.Helper; using CommonAI.Zone.Instance; using CommonLang; using System; using System.Collections.Generic; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; using XmdsCommonSkill.Plugin.Interface; using XmdsCommonSkill.Plugin.PassiveSkills.Magic; using static CommonAI.Zone.Instance.InstanceUnit; using static XmdsCommonSkill.Plugin.Buffs.XmdsBuff_SwordShadow; using static XmdsCommonSkill.Plugin.Interface.ComSpellTemplate; using static XmdsCommonSkill.Plugin.Skills.XmdsSummonBase; namespace XmdsCommonSkill.Plugin.Skills.Magic { /// ///蛛网召唤 /// public class Dungeon_911001 : XmdsPassiveSkillBase { public static readonly int ID = 911001; public override int SkillID { get { return ID; } } private static XmdsSkillValue valueSet1; // 检测半径 private static XmdsSkillValue valueSet2; // 眩晕时间 //临时存储 protected XmdsVirtual mOwner; private int mCheckInterval; private float mCheckRange; private int mXunYunTime; public static int Buff_1 = (int)XmdsBuffBase.XmdsBuffList.YUN_XUAN; // 眩晕. protected override void OnInit(GameSkill info, XmdsVirtual unit) { this.mOwner = unit; this.mCheckRange = valueSet1.GetValue(info.SkillLevel)/10.0f; this.mXunYunTime = valueSet2.GetValue(info.SkillLevel); //技能初始化,常用作为修改BUFF能力等等. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_1); BuffTemplate bt = pack.mBuffTemplate; bt.IsHarmful = true; bt.LifeTimeMS = this.mXunYunTime; pack.BindTemplateAndDispose(); unit.RegistSendBuff(bt); } protected override void OnUpdate(int intervalMS, bool slowRefresh) { this.mCheckInterval += intervalMS; if(this.mCheckInterval > 100) { //眩晕周围目标 List rangeUnits = base.GetNearUnitList(this.mOwner, this.mCheckRange, false, 2); foreach(InstanceUnit unitTemp in rangeUnits) { unitTemp.AddBuff(Buff_1, this.mOwner.mUnit); } } } protected override void OnInitSkillParam() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out valueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet); InitData(data, out valueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2); } } }