12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- using System;
- using UnityEngine;
- public static class PlayerDamageCalculate
- {
- private static PlayerAttribute pAttr
- {
- get
- {
- return R.Player.Attribute;
- }
- }
- public static int GetFinalDamage(float attackPercent, int atkLevel, string atkName = "")
- {
- float num = (float)PlayerDamageCalculate.PlayerAtk() * attackPercent * Mathf.Pow(1.5f, (float)Mathf.Clamp(atkLevel - 1, 0, int.MaxValue));
- float num2 = UnityEngine.Random.Range(0.9f, 1.1f) * num;
- if (atkName != "Charge1EndLevel1")
- {
- return (int)num2;
- }
- float num3 = 1f + 0.5f * (float)(Mathf.Clamp(R.Player.Action.absorbNum - 3, 0, int.MaxValue) / 3);
- num2 = Mathf.Clamp(num2 * num3, 0f, 999f);
- return (int)num2;
- }
- private static int PlayerAtk()
- {
- float num = 1f;
- if (R.GameData.Difficulty == 0)
- {
- num = 1.5f;
- }
- float num2 = (float)PlayerDamageCalculate.pAttr.baseAtk * num;
- if (R.SceneData.assessmentData.CurrentComboNum >= 120)
- {
- return (int)(num2 * 1.5f);
- }
- if (R.SceneData.assessmentData.CurrentComboNum >= 80)
- {
- return (int)(num2 * 1.2f);
- }
- if (R.SceneData.assessmentData.CurrentComboNum >= 40)
- {
- return (int)(num2 * 1.1f);
- }
- return (int)num2;
- }
- }
|