using CommonAI.Zone;
using CommonAI.Zone.Formula;
using CommonAI.Zone.Instance;
using XmdsCommon.Plugin;
using XmdsCommonServer.Plugin;
using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;

namespace XmdsCommonSkill.Plugin.Buffs
{

    /// <summary>
    ///BUFF:点燃.
    /// </summary>
    public class XmdsBuff_Burn : XmdsBuffBase
    {
		/// <summary>
		///填正值为扣血.
		/// </summary>
		public int ChangeValue = 0;		

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


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

			ret.ChangeValue = this.ChangeValue;

			base.CopyTo(other);
		}

		protected override void OnBindTemplate(ref BuffTemplate buffTemplate)
        {
            //DOT类技能首帧无效.
            buffTemplate.FirstTimeEnable = false;
            base.OnBindTemplate(ref buffTemplate);
        }

        protected override int OnBuffHit(XmdsVirtual hitter, XmdsVirtual attacker,
                                     CommonAI.Zone.Formula.AttackSource source,
                                     ref XmdsVirtual.AtkResult result)
        {
            //敌方扣血
            //hitter.AddHP(-54321, attacker.mUnit);
            //自己加血
            //attacker.AddHP(12345);

            if (ChangeValue != 0)
            {
                //造成伤害.
                return ChangeValue;
            }
            else
            {
                return base.OnBuffHit(hitter, attacker, source, ref result);
            }

        }

    }
}