mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-10-06 22:37:27 +00:00
* add SubGamemodes comp/sys
* remove RuleChance from thief rule
* use SubGamemodes for adding thief rule instead of adding ThiefRule component to random gamemodes
* clean up thief rule prototype
* add better logging + end rule if it fails to start
* march 1st incident
* preset ops
* the dreaded
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 7f060eb129)
18 lines
619 B
C#
18 lines
619 B
C#
using Content.Server.GameTicking.Rules.Components;
|
|
using Content.Shared.Storage;
|
|
|
|
namespace Content.Server.GameTicking.Rules;
|
|
|
|
public sealed class SubGamemodesSystem : GameRuleSystem<SubGamemodesComponent>
|
|
{
|
|
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);
|
|
}
|
|
}
|
|
}
|