1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using GameLogic.Combat.CombatTool;
- using GameLogic.Player;
- using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
- namespace GameLogic.Combat.Buff
- {
- /// <summary>
- /// 敌人持续流血{0}金属性伤害,满层后每隔{0}秒放血一次
- /// </summary>
- public class b_1011 : BuffBasic
- {
- /// <summary>
- /// 上次添加buff时间
- /// </summary>
- private float lasetAddBuffTime;
- protected override void ProInit()
- {
- _jianGe = 1;
- lasetAddBuffTime = 0;
- }
- protected override void UpdateJumping()
- {
- float addHarm = buffInf.BuffConfig.effectValue[0];
- b_1012 b1012 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1012>();
- if (b1012 != null)
- {
- addHarm += CombatCalculateTool.Instance.GetVlaueRatioForFloat(addHarm,
- b1012.buffInf.BuffConfig.effectValue[1]);
- }
- long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(source.CurrCombatHeroInfo.attack.Value,
- addHarm);
- harm += CombatCalculateTool.Instance.GetVlaueRatioForLong(
- harm, source.CurrCombatHeroInfo.Metal_Proficient);
- CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,
- WuXingType.Gold, null);
- }
- protected override void ProUpdate(float t)
- {
- if (buffCount >= buffInf.BuffConfig.overlayCount)
- {
- float currTime = CombatController.currActiveCombat.combatTime;
- if (currTime - lasetAddBuffTime >= buffInf.BuffConfig.effectValue[1])
- {
- lasetAddBuffTime = currTime;
- b_1012 b1012 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1012>();
- if (b1012 != null)
- {
- b1012.FangXue();
- return;
- }
- BuffInfo buffInfo = BuffInfo.GetBuffInfo(10121, 1, this);
- combatHeroEntity.BuffControl.AddBuff(source, buffInfo);
- }
- }
- }
- }
- }
|