Fix instances of predicted randomness (#39661)

init
This commit is contained in:
ScarKy0
2025-08-15 15:48:23 +02:00
committed by GitHub
parent d08252facb
commit b2c505df6a
2 changed files with 5 additions and 2 deletions

View File

@@ -21,6 +21,7 @@ using Robust.Shared.Random;
using Robust.Shared.Timing; using Robust.Shared.Timing;
using System.Linq; using System.Linq;
using Content.Shared.Movement.Systems; using Content.Shared.Movement.Systems;
using Content.Shared.Random.Helpers;
namespace Content.Shared.Flash; namespace Content.Shared.Flash;
@@ -204,7 +205,8 @@ public abstract class SharedFlashSystem : EntitySystem
foreach (var entity in _entSet) foreach (var entity in _entSet)
{ {
// TODO: Use RandomPredicted https://github.com/space-wizards/RobustToolbox/pull/5849 // TODO: Use RandomPredicted https://github.com/space-wizards/RobustToolbox/pull/5849
var rand = new System.Random((int)_timing.CurTick.Value + GetNetEntity(entity).Id); var seed = SharedRandomExtensions.HashCodeCombine(new() { (int)_timing.CurTick.Value, GetNetEntity(entity).Id });
var rand = new System.Random(seed);
if (!rand.Prob(probability)) if (!rand.Prob(probability))
continue; continue;

View File

@@ -3,6 +3,7 @@ using Content.Shared.Hands.Components;
using Content.Shared.Hands.EntitySystems; using Content.Shared.Hands.EntitySystems;
using Content.Shared.IdentityManagement; using Content.Shared.IdentityManagement;
using Content.Shared.Popups; using Content.Shared.Popups;
using Content.Shared.Random.Helpers;
using Content.Shared.Whitelist; using Content.Shared.Whitelist;
using Robust.Shared.Audio.Systems; using Robust.Shared.Audio.Systems;
using Robust.Shared.Network; using Robust.Shared.Network;
@@ -55,7 +56,7 @@ public sealed partial class CatchableSystem : EntitySystem
return; return;
// TODO: Replace with RandomPredicted once the engine PR is merged // TODO: Replace with RandomPredicted once the engine PR is merged
var seed = HashCode.Combine((int)_timing.CurTick.Value, GetNetEntity(ent).Id); var seed = SharedRandomExtensions.HashCodeCombine(new() { (int)_timing.CurTick.Value, GetNetEntity(ent).Id });
var rand = new System.Random(seed); var rand = new System.Random(seed);
if (!rand.Prob(ent.Comp.CatchChance)) if (!rand.Prob(ent.Comp.CatchChance))
return; return;