PlayerDamageCalculate.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System;
  2. using UnityEngine;
  3. public static class PlayerDamageCalculate
  4. {
  5. private static PlayerAttribute pAttr
  6. {
  7. get
  8. {
  9. return R.Player.Attribute;
  10. }
  11. }
  12. public static int GetFinalDamage(float attackPercent, int atkLevel, string atkName = "")
  13. {
  14. float num = (float)PlayerDamageCalculate.PlayerAtk() * attackPercent * Mathf.Pow(1.5f, (float)Mathf.Clamp(atkLevel - 1, 0, int.MaxValue));
  15. float num2 = UnityEngine.Random.Range(0.9f, 1.1f) * num;
  16. if (atkName != "Charge1EndLevel1")
  17. {
  18. return (int)num2;
  19. }
  20. float num3 = 1f + 0.5f * (float)(Mathf.Clamp(R.Player.Action.absorbNum - 3, 0, int.MaxValue) / 3);
  21. num2 = Mathf.Clamp(num2 * num3, 0f, 999f);
  22. return (int)num2;
  23. }
  24. private static int PlayerAtk()
  25. {
  26. float num = 1f;
  27. if (R.GameData.Difficulty == 0)
  28. {
  29. num = 1.5f;
  30. }
  31. float num2 = (float)PlayerDamageCalculate.pAttr.baseAtk * num;
  32. if (R.SceneData.assessmentData.CurrentComboNum >= 120)
  33. {
  34. return (int)(num2 * 1.5f);
  35. }
  36. if (R.SceneData.assessmentData.CurrentComboNum >= 80)
  37. {
  38. return (int)(num2 * 1.2f);
  39. }
  40. if (R.SceneData.assessmentData.CurrentComboNum >= 40)
  41. {
  42. return (int)(num2 * 1.1f);
  43. }
  44. return (int)num2;
  45. }
  46. }