diff --git a/Content.Server/StationEvents/EventManagerSystem.cs b/Content.Server/StationEvents/EventManagerSystem.cs index bc6b183400..86c98a8e30 100644 --- a/Content.Server/StationEvents/EventManagerSystem.cs +++ b/Content.Server/StationEvents/EventManagerSystem.cs @@ -148,20 +148,20 @@ public sealed class EventManagerSystem : EntitySystem return null; } - var sumOfWeights = 0; + var sumOfWeights = 0.0f; foreach (var stationEvent in availableEvents.Values) { - sumOfWeights += (int) stationEvent.Weight; + sumOfWeights += stationEvent.Weight; } - sumOfWeights = _random.Next(sumOfWeights); + sumOfWeights = _random.NextFloat(sumOfWeights); foreach (var (proto, stationEvent) in availableEvents) { - sumOfWeights -= (int) stationEvent.Weight; + sumOfWeights -= stationEvent.Weight; - if (sumOfWeights <= 0) + if (sumOfWeights <= 0.0f) { return proto.ID; }