using CommonAI.Zone;
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>
	/// 静默(单位无法释放技能和使用道具,持续<$5>秒,期间可以进行普通攻击)
	/// </summary>
	public class XmdsBattleFunctionEvent_10024 : XmdsBattleFunctionEventBase
    {
        public static readonly int EventID = 10024;

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

		public override int GetEventID() { return EventID; }

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

			BuffTemplate bt = XmdsBattleSkill.GetBuffTemplate(base.mBuff_ID, false);
			return bt.IsSilent;
		}

		protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
		{
			XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
			BuffTemplate bt = pack.mBuffTemplate;
			bt.IsHarmful = true;
			bt.LifeTimeMS = Buff_LifeTime;
			pack.BindTemplateAndDispose();

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