b_1011.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using GameLogic.Combat.CombatTool;
  2. using GameLogic.Player;
  3. using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
  4. namespace GameLogic.Combat.Buff
  5. {
  6. /// <summary>
  7. /// 敌人持续流血{0}金属性伤害,满层后照成流血,并清除层数
  8. /// </summary>
  9. public class b_1011 : BuffBasic
  10. {
  11. protected override void ProInit()
  12. {
  13. _jianGe = 1;
  14. }
  15. protected override void UpdateJumping()
  16. {
  17. float addHarm = buffInf.BuffConfig.effectValue[0];
  18. b_1012 b1012 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1012>();
  19. if (b1012 != null)
  20. {
  21. addHarm += CombatCalculateTool.Instance.GetVlaueRatioForFloat(addHarm,
  22. b1012.buffInf.BuffConfig.effectValue[1]);
  23. }
  24. long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(source.CurrCombatHeroInfo.attack.Value,
  25. addHarm);
  26. CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,
  27. WuXingType.Gold);
  28. }
  29. protected override void ProUpdateEffect()
  30. {
  31. if (buffCount >= buffInf.BuffConfig.overlayCount) //最大叠加数量
  32. {
  33. b_1012 b1012 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1012>();
  34. if (b1012 != null)
  35. {
  36. return;
  37. }
  38. BuffInfo buffInfo = BuffInfo.GetBuffInfo(10121, 1);
  39. combatHeroEntity.BuffControl.AddBuff(source, buffInfo);
  40. combatHeroEntity.BuffControl.RemoveBuff(this);
  41. }
  42. }
  43. }
  44. }