using Content.Server.GameTicking.Rules.Components; using Content.Shared.GameTicking.Components; using Content.Shared.Storage; namespace Content.Server.GameTicking.Rules; public sealed class SubGamemodesSystem : GameRuleSystem { protected override void Added(EntityUid uid, SubGamemodesComponent comp, GameRuleComponent rule, GameRuleAddedEvent args) { var picked = EntitySpawnCollection.GetSpawns(comp.Rules, RobustRandom); foreach (var id in picked) { Log.Info($"Starting gamerule {id} as a subgamemode of {ToPrettyString(uid):rule}"); GameTicker.AddGameRule(id); } } }