using CommonAI.Zone;
using System.Collections.Generic;
using XmdsCommon.Plugin;
using XmdsCommonServer.Plugin;
using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
using XmdsCommonServer.XLS.Data;
using XmdsCommonSkill.Plugin.Buffs;

namespace XmdsCommonSkill.Plugin.FunctionEvent
{
	/// <summary>
	/// 精英
	/// </summary>
	public class XmdsBattleFunctionEvent_10015 : XmdsBattleFunctionEventBase
    {
        public static readonly int EventID = 10015;

		private int BuffValue_1 = 0;         //
		private int BuffValue_2 = 0;         // 
		private int Buff_LifeTime = 0;        // buff持续时间.

		public override int GetEventID() { return EventID; }

		protected override bool OnInit()
        {
			BuffConfig config = base.GetBuffConfig();
			BuffValue_1 = System.Int32.Parse(config.ValueSet1);
			BuffValue_2 = System.Int32.Parse(config.ValueSet2);
			Buff_LifeTime = System.Int32.Parse(config.ValueSet3);

			List<XmdsBuffProperties.XmdsBuffAbility> abilityList = new List<XmdsBuffProperties.XmdsBuffAbility>();
			abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
			abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
			return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, abilityList);
        }

        protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
        {
            XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
            var buff = (XmdsBuff_PropChange)pack.GetXmdsBuff(0);
			buff.CurentChangeType = XmdsVirtual.UnitAttributeType.MaxHP;
			buff.CurrentValue = BuffValue_1;
			buff.IsPercent = true;

			var buff1 = (XmdsBuff_PropChange)pack.GetXmdsBuff(1);
			buff1.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack;
			buff1.CurrentValue = BuffValue_2;
			buff1.IsPercent = true;

			BuffTemplate bt = pack.mBuffTemplate;
            bt.IsHarmful = false;
            bt.LifeTimeMS = Buff_LifeTime;
            pack.BindTemplateAndDispose();

            target.mUnit.AddBuff(bt, sender.mUnit);
        }
    }
}