Fix spawnpref (#31892)
This commit is contained in:
@@ -22,6 +22,7 @@ using Content.Shared.DeviceNetwork;
|
|||||||
using Content.Shared.Mobs.Components;
|
using Content.Shared.Mobs.Components;
|
||||||
using Content.Shared.Movement.Components;
|
using Content.Shared.Movement.Components;
|
||||||
using Content.Shared.Parallax.Biomes;
|
using Content.Shared.Parallax.Biomes;
|
||||||
|
using Content.Shared.Preferences;
|
||||||
using Content.Shared.Salvage;
|
using Content.Shared.Salvage;
|
||||||
using Content.Shared.Shuttles.Components;
|
using Content.Shared.Shuttles.Components;
|
||||||
using Content.Shared.Tiles;
|
using Content.Shared.Tiles;
|
||||||
@@ -334,6 +335,9 @@ public sealed class ArrivalsSystem : EntitySystem
|
|||||||
if (ev.SpawnResult != null)
|
if (ev.SpawnResult != null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (ev.HumanoidCharacterProfile?.SpawnPriority != SpawnPriorityPreference.Arrivals)
|
||||||
|
return;
|
||||||
|
|
||||||
// Only works on latejoin even if enabled.
|
// Only works on latejoin even if enabled.
|
||||||
if (!Enabled || _ticker.RunLevel != GameRunLevel.InRound)
|
if (!Enabled || _ticker.RunLevel != GameRunLevel.InRound)
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -1,8 +1,11 @@
|
|||||||
using Content.Server.GameTicking;
|
using Content.Server.GameTicking;
|
||||||
using Content.Server.Spawners.Components;
|
using Content.Server.Spawners.Components;
|
||||||
using Content.Server.Station.Systems;
|
using Content.Server.Station.Systems;
|
||||||
|
using Content.Shared.Preferences;
|
||||||
|
using Content.Shared.Roles;
|
||||||
using Robust.Server.Containers;
|
using Robust.Server.Containers;
|
||||||
using Robust.Shared.Containers;
|
using Robust.Shared.Containers;
|
||||||
|
using Robust.Shared.Prototypes;
|
||||||
using Robust.Shared.Random;
|
using Robust.Shared.Random;
|
||||||
|
|
||||||
namespace Content.Server.Spawners.EntitySystems;
|
namespace Content.Server.Spawners.EntitySystems;
|
||||||
@@ -11,6 +14,7 @@ public sealed class ContainerSpawnPointSystem : EntitySystem
|
|||||||
{
|
{
|
||||||
[Dependency] private readonly GameTicker _gameTicker = default!;
|
[Dependency] private readonly GameTicker _gameTicker = default!;
|
||||||
[Dependency] private readonly IRobustRandom _random = default!;
|
[Dependency] private readonly IRobustRandom _random = default!;
|
||||||
|
[Dependency] private readonly IPrototypeManager _proto = default!;
|
||||||
[Dependency] private readonly ContainerSystem _container = default!;
|
[Dependency] private readonly ContainerSystem _container = default!;
|
||||||
[Dependency] private readonly StationSystem _station = default!;
|
[Dependency] private readonly StationSystem _station = default!;
|
||||||
[Dependency] private readonly StationSpawningSystem _stationSpawning = default!;
|
[Dependency] private readonly StationSpawningSystem _stationSpawning = default!;
|
||||||
@@ -26,6 +30,13 @@ public sealed class ContainerSpawnPointSystem : EntitySystem
|
|||||||
if (args.SpawnResult != null)
|
if (args.SpawnResult != null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
// If it's just a spawn pref check if it's for cryo (silly).
|
||||||
|
if (args.HumanoidCharacterProfile?.SpawnPriority != SpawnPriorityPreference.Cryosleep &&
|
||||||
|
(!_proto.TryIndex(args.Job?.Prototype, out var jobProto) || jobProto.JobEntity == null))
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var query = EntityQueryEnumerator<ContainerSpawnPointComponent, ContainerManagerComponent, TransformComponent>();
|
var query = EntityQueryEnumerator<ContainerSpawnPointComponent, ContainerManagerComponent, TransformComponent>();
|
||||||
var possibleContainers = new List<Entity<ContainerSpawnPointComponent, ContainerManagerComponent, TransformComponent>>();
|
var possibleContainers = new List<Entity<ContainerSpawnPointComponent, ContainerManagerComponent, TransformComponent>>();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user