| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | using Common.Utility.CombatEvent;using Fort23.Core;using GameLogic.Combat.CombatTool;using GameLogic.Player;namespace GameLogic.Combat.Buff{    /// <summary>    /// 灼热:每秒对敌人照成火属性灼烧伤害,满层后敌人获得灼痛,有灼痛时不在获得    /// </summary>    public class b_1005 : BuffBasic    {        private float _time;        protected override void ProInit()        {        }        protected override void ProUpdate(float t)        {            _time += t;            if (_time >= 1)            {                _time -= 1;                float harmbl = buffCount * buffInf.BuffConfig.effectValue[0];                long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(                    source.CurrCombatHeroInfo.attack.Value, harmbl);                harm += CombatCalculateTool.Instance.GetVlaueRatioForLong(                    harm, source.CurrCombatHeroInfo.Fire_Proficient);                CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,                    WuXingType.Fire, null, HarmType.Buff);            }        }        protected override void ProUpdateEffect()        {            if (buffCount >= buffInf.BuffConfig.overlayCount) //最大叠加数量            {                b_1010 b1010 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1010>();                if (b1010 != null)                {                    return;                }                BuffInfo buffInfo = BuffInfo.GetBuffInfo(10101, 1);                combatHeroEntity.BuffControl.AddBuff(source, buffInfo);                // combatHeroEntity.BuffControl.RemoveBuff(this);            }        }        protected override void ProDormancyObj()        {        }    }}
 |