using System; using System.Threading; using Content.Server.Interfaces.Chat; using Content.Server.Interfaces.GameTicking; using Content.Server.Mobs.Roles.Traitor; using Content.Server.Players; using Content.Shared; using Content.Shared.GameObjects.Components.Damage; using Robust.Server.GameObjects.EntitySystems; using Robust.Server.Interfaces.Player; using Robust.Shared.Audio; using Robust.Shared.GameObjects.Systems; using Robust.Shared.Interfaces.Configuration; using Robust.Shared.IoC; using Robust.Shared.Localization; using Timer = Robust.Shared.Timers.Timer; namespace Content.Server.GameTicking.GameRules { public class RuleTraitor : GameRule { [Dependency] private readonly IChatManager _chatManager = default!; public override void Added() { _chatManager.DispatchServerAnnouncement(Loc.GetString("Hello crew! Have a good shift!")); bool Predicate(IPlayerSession session) => session.ContentData()?.Mind?.HasRole() ?? false; EntitySystem.Get().PlayGlobal("/Audio/Misc/tatoralert.ogg", AudioParams.Default, Predicate); } } }