GameLogic/crowd/CrowdManager.cs
using System;
using Sandbox;
public sealed class CrowdManager : Component
{
public static CrowdManager Instance { get; private set; }
protected override void OnAwake()
{
Instance = this;
}
public void EvaluateEditorVerdict( Fighter player, Action<bool> onVerdictDecided )
{
var auraComp = player.Components.Get<FighterAura>();
float currentAura = auraComp?.CurrentAura ?? 0f;
// La probabilité de grâce équivaut directement au pourcentage d'aura
float roll = Random.Shared.Float( 0f, 100f );
bool isSpared = roll <= currentAura;
onVerdictDecided?.Invoke( isSpared );
}
}