| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | using Common.Utility.CombatEvent;using Fort23.Core;using GameLogic.Combat.CombatTool;using GameLogic.Player;using UnityEngine;namespace GameLogic.Combat.Buff{    /// <summary>    /// 3、毒:每层毒对敌人每秒照成1%伤害,10层毒后毒气会入侵五脏对敌人对敌人施加噬魂    /// </summary>    public class b_1003 : BuffBasic    {        private float _time;        protected override void ProInit()        {            CombatEventManager.Instance.AddEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);        }        private void AddUseGongFa(IEventData eventData)        {            AddUseGongFaEventData data = (AddUseGongFaEventData)eventData;            if (data.SkillBasic.CombatHeroEntity == combatHeroEntity)            {                if (buffCount < BuffConfig.effectValue[1])                {                    return;                }                BuffInfo buffInfo = null;                switch (data.SkillBasic.wuXingType)                {                    case WuXingType.Gold:                         buffInfo = BuffInfo.GetBuffInfo(10291, 1,this);                        break;                    case WuXingType.Fire:                        buffInfo = BuffInfo.GetBuffInfo(10321, 1,this);                        break;                    case WuXingType.Wood:                        buffInfo = BuffInfo.GetBuffInfo(10301, 1,this);                        break;                    case WuXingType.Earth:                        buffInfo = BuffInfo.GetBuffInfo(10331, 1,this);                        break;                    case WuXingType.Water:                        buffInfo = BuffInfo.GetBuffInfo(10311, 1,this);                        break;                }                combatHeroEntity.BuffControl.AddBuff(source, buffInfo);            }        }                protected override void ProDormancyObj()        {            CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);        }        protected override void ProUpdate(float t)        {            _time += t;            if (_time >= 1)            {                _time -= 1;                float harmbl = buffCount * BuffConfig.effectValue[0];                long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(                    source.CurrCombatHeroInfo.attack.Value, harmbl);                harm += CombatCalculateTool.Instance.GetVlaueRatioForLong(                    harm, source.CurrCombatHeroInfo.Wood_Proficient);                CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,                    WuXingType.Wood,null,HarmType.Buff);            }        }        protected override void ProUpdateEffect()        {                    }    }}
 |