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

namespace XmdsCommonSkill.Plugin.FunctionEvent
{
    /// <summary>
    /// PVP加速
    /// </summary>
    public class XmdsBattleFunctionEvent_99001 : XmdsBattleFunctionEventBase
    {
        public static readonly int EventID = 99001;
        private int Buff_Value = 0;
        private int Buff_LifeTime = 0;

        public override int GetEventID() { return EventID; }

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

            return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, XmdsBuffProperties.XmdsBuffAbility.IngoreCtrl);
        }

        protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
        {
            XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
            XmdsBuff_IngoreCtrl buff = (XmdsBuff_IngoreCtrl)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.IngoreCtrl);

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

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