using XmdsCommonServer.Plugin;
using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;

namespace XmdsCommonSkill.Plugin.Buffs
{
    /// <summary>
    /// FileName: XmdsBuff_AddMP.cs
    /// Author: Alex.Yu
    /// Corporation:... 
    /// Description: 怒气变更.
    /// DateTime: 2015/6/26 15:21:32
    /// </summary>

    public class XmdsBuff_MPChange : XmdsBuffBase
    {
        /// <summary>
        /// 变更值(填正为加怒气,填负为减怒气).
        /// </summary>
        public int ChangeValue = 0;

        /// <summary>
        /// 作用单位,默认为受击者.
        /// </summary>
        public bool ForSender = false;

        public override int GetAbilityID()
        {
            return (int)XmdsCommon.Plugin.XmdsBuffProperties.XmdsBuffAbility.MPChange;
        }

		public override void CopyTo(UnitBuff other)
		{
			var ret = other as XmdsBuff_MPChange;

			ret.ChangeValue = this.ChangeValue;
			ret.ForSender = this.ForSender;

			base.CopyTo(other);
		}

		protected override int OnBuffHit(XmdsVirtual hitter, XmdsVirtual attacker, CommonAI.Zone.Formula.AttackSource source, ref XmdsVirtual.AtkResult result)
        {
            if (ForSender)
            {
                //可能需要协议,增加飘字功能.
                attacker.AddMP(ChangeValue, attacker.mUnit);
            }
            else
            {
                //可能需要协议,增加飘字功能.
                hitter.AddMP(ChangeValue, attacker.mUnit);
            }

            return 0;
        }
    }
}