namespace RoR2; public static class FriendlyFireManager { public enum FriendlyFireMode { Off, FriendlyFire, FreeForAll } public static FriendlyFireMode friendlyFireMode = FriendlyFireMode.Off; public static float friendlyFireDamageScale { get; private set; } = 0.5f; public static bool ShouldSplashHitProceed(HealthComponent victim, TeamIndex attackerTeamIndex) { if (victim.body.teamComponent.teamIndex == attackerTeamIndex && friendlyFireMode == FriendlyFireMode.Off) { return attackerTeamIndex == TeamIndex.None; } return true; } public static bool ShouldDirectHitProceed(HealthComponent victim, TeamIndex attackerTeamIndex) { if (victim.body.teamComponent.teamIndex == attackerTeamIndex && friendlyFireMode == FriendlyFireMode.Off) { return attackerTeamIndex == TeamIndex.None; } return true; } public static bool ShouldSeekingProceed(HealthComponent victim, TeamIndex attackerTeamIndex) { if (victim.body.teamComponent.teamIndex == attackerTeamIndex && friendlyFireMode != FriendlyFireMode.FreeForAll) { return attackerTeamIndex == TeamIndex.None; } return true; } }