using CommonAI.Zone; using CommonAI.Zone.Helper; using CommonAI.Zone.Instance; using System; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; using static CommonAI.Zone.Instance.InstanceUnit; namespace XmdsCommonSkill.Plugin.Skills.Magic { /// <summary> /// 法师三技能 3- 2(修改(2020.6.3. 15:00 )->命中减少冷却时间) /// </summary> public class Magic_310320 : Magic_310310 { /// 技能ID. private static int ID = 310320; // 命中减少冷却时间 public XmdsSkillValue mValueSet3; // protected SkillState BindSkill; protected bool IsFirstHit = true; public override int SkillID { get { return ID; } } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { base.OnInit(info, unit, ref template); unit.RegistLaunchSkillOver(OnLaunchSkillOver, info); } protected virtual int OnLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual launcher, CommonAI.Zone.Instance.InstanceUnit.SkillState skill) { this.IsFirstHit = true; this.BindSkill = skill; return 0; } protected override void OnSkillLogicEvent(BattleParams param) { if (this.IsFirstHit && BindSkill != null) { this.IsFirstHit = false; //System.Console.WriteLine("减少cd: " + mValueSet3.GetValue(param.GameSkill.TalentSkillLevel2) * 4); BindSkill.setTriggerDecreaseTime(mValueSet3.GetValue(param.GameSkill.TalentSkillLevel2), true); } } protected override void OnInitConfig() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet); //InitData(data, out mValueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2); //命中减少冷却时间 InitData(data, out mValueSet3, XmdsSkillData.XmdsSkillDataKey.ValueSet3); InitData(data, out mValueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5); InitData(data, out mValueSet7, XmdsSkillData.XmdsSkillDataKey.ValueSet7); } } }