b_1011.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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}金属性伤害,满层后每隔{0}秒放血一次
  8. /// </summary>
  9. public class b_1011 : BuffBasic
  10. {
  11. /// <summary>
  12. /// 上次添加buff时间
  13. /// </summary>
  14. private float lasetAddBuffTime;
  15. protected override void ProInit()
  16. {
  17. _jianGe = 1;
  18. lasetAddBuffTime = 0;
  19. }
  20. protected override void UpdateJumping()
  21. {
  22. float addHarm = BuffConfig.effectValue[0];
  23. b_1012 b1012 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1012>();
  24. if (b1012 != null)
  25. {
  26. addHarm += CombatCalculateTool.Instance.GetVlaueRatioForFloat(addHarm,
  27. b1012.BuffConfig.effectValue[1]);
  28. }
  29. long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(source.CurrCombatHeroInfo.attack.Value,
  30. addHarm);
  31. harm += CombatCalculateTool.Instance.GetVlaueRatioForLong(
  32. harm, source.CurrCombatHeroInfo.Metal_Proficient);
  33. CombatCalculateTool.Instance.Harm(source, combatHeroEntity, harm, AttType.Buff, _triggerData,
  34. WuXingType.Gold, null);
  35. }
  36. protected override void ProUpdate(float t)
  37. {
  38. if (BuffConfig.ID <= 0)
  39. {
  40. return;
  41. }
  42. if (buffCount >= BuffConfig.overlayCount)
  43. {
  44. float currTime = CombatController.currActiveCombat.combatTime;
  45. if (currTime - lasetAddBuffTime >= BuffConfig.effectValue[1])
  46. {
  47. lasetAddBuffTime = currTime;
  48. b_1012 b1012 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1012>();
  49. if (b1012 != null)
  50. {
  51. b1012.FangXue();
  52. return;
  53. }
  54. BuffInfo buffInfo = BuffInfo.GetBuffInfo(10121, 1, this);
  55. combatHeroEntity.BuffControl.AddBuff(source, buffInfo);
  56. }
  57. }
  58. }
  59. }
  60. }