From 7511c8177bd38aaa863cd992a490ece1db077e4c Mon Sep 17 00:00:00 2001 From: Ed Date: Wed, 17 Jul 2024 21:27:15 +0300 Subject: [PATCH] add spawner probability --- .../_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs | 3 +++ .../_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs index acbcaab8c1..2486deec4e 100644 --- a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs +++ b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerComponent.cs @@ -13,6 +13,9 @@ public sealed partial class CP14RoomSpawnerComponent : Component [DataField(required: true)] public List> RoomsTag; + [DataField] + public float Prob = 1f; + [DataField] public bool Rotation = true; diff --git a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs index 2577ca381e..a0261f92f5 100644 --- a/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs +++ b/Content.Server/_CP14/Procedural/RoomSpawner/CP14RoomSpawnerSystem.cs @@ -29,6 +29,9 @@ public sealed class CP14RoomSpawnerSystem : EntitySystem private void SpawnRoom(Entity spawner) { + if (!_random.Prob(spawner.Comp.Prob)) + return; + var rooms = new HashSet(); foreach (var roomProto in _proto.EnumeratePrototypes())