using CommonAI.Zone; using CommonAI.Zone.Helper; using CommonAI.Zone.Instance; using System; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; using XmdsCommonSkill.Plugin.Skills; using static CommonAI.Zone.Instance.InstanceUnit; /// /// 战士【1】技能 1 - 1 (每命中一次,下次造成的伤害提高10%) /// /// namespace XmdsCommonSkill.Plugin.Skills.Warrior { public class Warrior_110110 : Warrior_110100 { private static readonly int ID = 110110; //命中,下段伤害提高值 protected XmdsSkillValue mValueSet2; public override int SkillID { get { return ID; } } protected override void OnSkillDamagePerEvent(BattleParams param) { base.OnSkillDamagePerEvent(param); int hitTimes = 0; //命中次数 int hitMaxAdd = Math.Min(param.AtkProp.DamagePerID - 1, mHitFlag.Length); for (int i = 0; i < hitMaxAdd; i++) { if(mHitFlag[i] > 0) { hitTimes++; } else { hitTimes = 0; break; } } param.SkillDamagePer += hitTimes * mValueSet2.GetValue(param.GameSkill.TalentSkillLevel1); } 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 mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8); } } }