Try fix random explosion test failures (#23158)
This commit is contained in:
@@ -3,6 +3,7 @@ using Robust.Client.Graphics;
|
|||||||
using Robust.Client.ResourceManagement;
|
using Robust.Client.ResourceManagement;
|
||||||
using Robust.Shared.GameStates;
|
using Robust.Shared.GameStates;
|
||||||
using Robust.Shared.Graphics.RSI;
|
using Robust.Shared.Graphics.RSI;
|
||||||
|
using Robust.Shared.Map;
|
||||||
using Robust.Shared.Prototypes;
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Utility;
|
using Robust.Shared.Utility;
|
||||||
|
|
||||||
@@ -18,6 +19,7 @@ public sealed class ExplosionOverlaySystem : EntitySystem
|
|||||||
[Dependency] private readonly IResourceCache _resCache = default!;
|
[Dependency] private readonly IResourceCache _resCache = default!;
|
||||||
[Dependency] private readonly IOverlayManager _overlayMan = default!;
|
[Dependency] private readonly IOverlayManager _overlayMan = default!;
|
||||||
[Dependency] private readonly SharedPointLightSystem _lights = default!;
|
[Dependency] private readonly SharedPointLightSystem _lights = default!;
|
||||||
|
[Dependency] private readonly IMapManager _mapMan = default!;
|
||||||
|
|
||||||
public override void Initialize()
|
public override void Initialize()
|
||||||
{
|
{
|
||||||
@@ -65,15 +67,20 @@ public sealed class ExplosionOverlaySystem : EntitySystem
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// spawn in a client-side light source at the epicenter
|
// Map may have been deleted.
|
||||||
var lightEntity = Spawn("ExplosionLight", component.Epicenter);
|
if (_mapMan.MapExists(component.Epicenter.MapId))
|
||||||
var light = _lights.EnsureLight(lightEntity);
|
{
|
||||||
|
// spawn in a client-side light source at the epicenter
|
||||||
|
var lightEntity = Spawn("ExplosionLight", component.Epicenter);
|
||||||
|
var light = _lights.EnsureLight(lightEntity);
|
||||||
|
|
||||||
|
_lights.SetRadius(lightEntity, component.Intensity.Count, light);
|
||||||
|
_lights.SetEnergy(lightEntity, component.Intensity.Count, light);
|
||||||
|
_lights.SetColor(lightEntity, type.LightColor, light);
|
||||||
|
textures.LightEntity = lightEntity;
|
||||||
|
}
|
||||||
|
|
||||||
_lights.SetRadius(lightEntity, component.Intensity.Count, light);
|
|
||||||
_lights.SetEnergy(lightEntity, component.Intensity.Count, light);
|
|
||||||
_lights.SetColor(lightEntity, type.LightColor, light);
|
|
||||||
|
|
||||||
textures.LightEntity = lightEntity;
|
|
||||||
textures.FireColor = type.FireColor;
|
textures.FireColor = type.FireColor;
|
||||||
textures.IntensityPerState = type.IntensityPerState;
|
textures.IntensityPerState = type.IntensityPerState;
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public sealed class ModularGrenadeTests : InteractionTest
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Grenade has exploded.
|
// Grenade has exploded.
|
||||||
await RunTicks(5);
|
await RunTicks(30);
|
||||||
AssertDeleted();
|
AssertDeleted();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user