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 { /// ///BUFF:点燃. /// public class XmdsBuff_Burn : XmdsBuffBase { /// ///填正值为扣血. /// 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); } } } }