using CommonAI.Zone;
using CommonAI.Zone.Helper;
using CommonAI.Zone.Instance;
using System.Diagnostics;
using XmdsCommon.Plugin;
using XmdsCommonServer.Plugin;
using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
using XmdsCommonServer.XLS.Data;
using XmdsCommonSkill.Plugin.Buffs;

namespace XmdsCommonSkill.Plugin.Skills.Magic
{
	/// <summary>
	/// 战士【1】技能 2 - 2(每段N%几率多n个剑影)
	/// </summary>
	public class Magic_310150 : Magic_310140
	{
        /// 技能ID.
        private static readonly int ID = 310150;

		//1-5额外段N1几率获得剑影N2个
		protected XmdsSkillValue mValueSet3;

		public override int SkillID { get { return ID; } }

		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 && launcher.RandomPercent(mValueSet3.GetValue(info.TalentSkillLevel2, 1)))
			{
				for(int i = 0; i < mValueSet3.GetValue(info.TalentSkillLevel2, 2); i++)
				{
					XmdsBuff_SwordShadow.LauncherSkillAddSwordShadow(launcher);
				}				
			}

			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 mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8);
		}
    }
}