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.XLS.Data;
using XmdsCommonSkill.Plugin.Buffs;

namespace XmdsCommonSkill.Plugin.FunctionEvent
{
    // PVP加攻
    class XmdsBattleFunctionEvent_10009 : XmdsBattleFunctionEventBase
    {
        public static readonly int EventID = 10009;
		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_Value = System.Int32.Parse(config.ValueSet1);
			Buff_LifeTime = System.Int32.Parse(config.ValueSet2);
			return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, XmdsBuffProperties.XmdsBuffAbility.PropChange);
        }

		protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
		{
			XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
			var bufflist = pack.GetXmdsBuffList();
			var propChange = (XmdsBuff_PropChange)bufflist[0];
			propChange.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack;
			propChange.IsPercent = true;
			propChange.CurrentValue = Buff_Value;

			BuffTemplate bt = pack.mBuffTemplate;
			bt.IsHarmful = false;
			bt.LifeTimeMS = Buff_LifeTime;
			bt.FirstTimeEnable = false;
			(bt.Properties as XmdsBuffProperties).Dispelled = false;
			pack.BindTemplateAndDispose();
			target.mUnit.AddBuff(bt, sender.mUnit);
		}
    }
}