using CommonAI.Zone; using CommonAI.Zone.Helper; using CommonAI.Zone.Instance; using System; using System.Diagnostics; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; using static CommonAI.Zone.Instance.InstanceUnit; namespace XmdsCommonSkill.Plugin.Skills.Magic { /// /// T秒内,下一个破风三绝伤害整体增幅x% /// public class Magic_310160 : Magic_310150 { /// 技能ID. private static readonly int ID = 310160; //1-6下N1毫秒秒次技能伤害提高N2 protected XmdsSkillValue mValueSet4; //伤害提高有效时间 private long mCurDmgAddValidTime; private long mNextDmgAddValidTime; public override int SkillID { get { return ID; } } protected override void OnSkillDamagePerEvent(BattleParams param) { base.OnSkillDamagePerEvent(param); if(this.mCurDmgAddValidTime > CommonLang.CUtils.localTimeMS) { param.SkillDamagePer += mValueSet4.GetValue(param.GameSkill.TalentSkillLevel3, 2); } } protected override int OnUnitLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual launcher, CommonAI.Zone.Instance.InstanceUnit.SkillState state) { base.OnUnitLaunchSkillOver(info, launcher, state); if(state.ActionIndex <= 0) { this.mCurDmgAddValidTime = mNextDmgAddValidTime; this.mNextDmgAddValidTime = CommonLang.CUtils.localTimeMS + mValueSet4.GetValue(info.TalentSkillLevel3, 1); } return 0; } 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 mValueSet4, XmdsSkillData.XmdsSkillDataKey.ValueSet4); // 扩展配置 InitData(data, out mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8); } } }