buff fedora, add elite enemies and add impact to attack

This commit is contained in:
2026-07-10 11:17:40 +02:00
parent e4db7af324
commit 37049a7c16
11 changed files with 832 additions and 114 deletions
+34
View File
@@ -41,6 +41,12 @@ namespace KernelPanic.Combat
public const int StatUpgradeHealPercent = 30;
public const int StatUpgradeRam = 1;
public const int UpgradeMagnitudeBonus = 2;
public const int FedoraBleedingEdgeBaseCrashChance = 5;
public const int FedoraBleedingEdgeCrashChanceStep = 5;
public const int FedoraBleedingEdgeMaxCrashChance = 90;
public const int HitMagnitudeModeratePercent = 10;
public const int HitMagnitudeMajorPercent = 25;
public const int HitMagnitudeMassivePercent = 45;
public static int ScaleStatUpgradeMaxUptime(int maxUptime)
{
@@ -61,4 +67,32 @@ namespace KernelPanic.Combat
public const float EnemyTelegraphDelaySeconds = 0.35f;
public const float EnemyActionDelaySeconds = 0.45f;
}
public enum HitMagnitudeTier
{
Minor,
Moderate,
Major,
Massive
}
public static class HitMagnitude
{
public static HitMagnitudeTier Classify(int damageAmount, int targetMaxUptime, bool targetDefeated)
{
int maxUptime = UnityEngine.Mathf.Max(1, targetMaxUptime);
int amount = UnityEngine.Mathf.Max(0, damageAmount);
int percent = UnityEngine.Mathf.FloorToInt((amount * 100f) / maxUptime);
HitMagnitudeTier tier = percent >= CombatTuning.HitMagnitudeMassivePercent
? HitMagnitudeTier.Massive
: percent >= CombatTuning.HitMagnitudeMajorPercent
? HitMagnitudeTier.Major
: percent >= CombatTuning.HitMagnitudeModeratePercent
? HitMagnitudeTier.Moderate
: HitMagnitudeTier.Minor;
return targetDefeated && tier < HitMagnitudeTier.Major ? HitMagnitudeTier.Major : tier;
}
}
}