diff --git a/Content.Server/Corvax/GameTicking/RoundStartedEvent.cs b/Content.Server/Corvax/GameTicking/RoundStartedEvent.cs deleted file mode 100644 index 7a21fcef4b..0000000000 --- a/Content.Server/Corvax/GameTicking/RoundStartedEvent.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Content.Server.Corvax.GameTicking; - -public sealed class RoundStartedEvent : EntityEventArgs -{ - public int RoundId { get; } - - public RoundStartedEvent(int roundId) - { - RoundId = roundId; - } -} diff --git a/Content.Server/Corvax/StationGoal/StationGoalCommand.cs b/Content.Server/Corvax/StationGoal/StationGoalCommand.cs deleted file mode 100644 index baad64d62c..0000000000 --- a/Content.Server/Corvax/StationGoal/StationGoalCommand.cs +++ /dev/null @@ -1,55 +0,0 @@ -using System.Linq; -using Content.Server.Administration; -using Content.Shared.Administration; -using Robust.Shared.Console; -using Robust.Shared.Prototypes; - -namespace Content.Server.Corvax.StationGoal -{ - [AdminCommand(AdminFlags.Fun)] - public sealed class StationGoalCommand : IConsoleCommand - { - public string Command => "sendstationgoal"; - public string Description => Loc.GetString("send-station-goal-command-description"); - public string Help => Loc.GetString("send-station-goal-command-help-text", ("command", Command)); - - public void Execute(IConsoleShell shell, string argStr, string[] args) - { - if (args.Length != 1) - { - shell.WriteError(Loc.GetString("shell-need-exactly-one-argument")); - return; - } - - var protoId = args[0]; - var prototypeManager = IoCManager.Resolve(); - if (!prototypeManager.TryIndex(protoId, out var proto)) - { - shell.WriteError(Loc.GetString("send-station-goal-command-error-no-goal-proto", ("id", protoId))); - return; - } - - var stationGoalPaper = IoCManager.Resolve().System(); - if (!stationGoalPaper.SendStationGoal(proto)) - { - shell.WriteError(Loc.GetString("send-station-goal-command-error-couldnt-fax")); - return; - } - } - - public CompletionResult GetCompletion(IConsoleShell shell, string[] args) - { - if (args.Length == 1) - { - var options = IoCManager.Resolve() - .EnumeratePrototypes() - .OrderBy(p => p.ID) - .Select(p => new CompletionOption(p.ID)); - - return CompletionResult.FromHintOptions(options, Loc.GetString("send-station-goal-command-arg-id")); - } - - return CompletionResult.Empty; - } - } -} diff --git a/Content.Server/Corvax/StationGoal/StationGoalPaperComponent.cs b/Content.Server/Corvax/StationGoal/StationGoalPaperComponent.cs deleted file mode 100644 index f8ee1b32f1..0000000000 --- a/Content.Server/Corvax/StationGoal/StationGoalPaperComponent.cs +++ /dev/null @@ -1,11 +0,0 @@ -namespace Content.Server.Corvax.StationGoal -{ - /// - /// Paper with a written station goal in it. - /// - [RegisterComponent] - public sealed partial class StationGoalPaperComponent : Component - { - } -} - diff --git a/Content.Server/Corvax/StationGoal/StationGoalPaperSystem.cs b/Content.Server/Corvax/StationGoal/StationGoalPaperSystem.cs deleted file mode 100644 index 7e370fd5de..0000000000 --- a/Content.Server/Corvax/StationGoal/StationGoalPaperSystem.cs +++ /dev/null @@ -1,113 +0,0 @@ -using System.Data; -using System.Text.RegularExpressions; -using Content.Server.Corvax.GameTicking; -using Content.Server.Fax; -using Content.Server.Station.Systems; -using Content.Shared.Corvax.CCCVars; -using Content.Shared.Random; -using Content.Shared.Random.Helpers; -using Robust.Shared.Configuration; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; - -namespace Content.Server.Corvax.StationGoal; - -/// -/// System for station goals -/// -public sealed class StationGoalPaperSystem : EntitySystem -{ - [Dependency] private readonly IPrototypeManager _prototype = default!; - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly FaxSystem _fax = default!; - [Dependency] private readonly IConfigurationManager _config = default!; - [Dependency] private readonly StationSystem _station = default!; - - private static readonly Regex StationIdRegex = new(@".*-(\d+)$"); - - private const string RandomPrototype = "StationGoals"; - - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnRoundStarted); - } - - - private void OnRoundStarted(RoundStartedEvent ev) - { - if (_config.GetCVar(CCCVars.StationGoalsEnabled)) - SendRandomGoal(); - } - - /// - /// Send a random station goal to all faxes which are authorized to receive it - /// - /// If the fax was successful - /// Raised when station goal types in the prototype is invalid - public bool SendRandomGoal() - { - // Get the random station goal list - if (!_prototype.TryIndex(RandomPrototype, out var goals)) - { - Log.Error($"StationGoalPaperSystem: Random station goal prototype '{RandomPrototype}' not found"); - return false; - } - - // Get a random goal - var goal = RecursiveRandom(goals); - - // Send the goal - return SendStationGoal(goal); - } - - private StationGoalPrototype RecursiveRandom(WeightedRandomPrototype random) - { - var goal = random.Pick(_random); - - if (_prototype.TryIndex(goal, out var goalPrototype)) - return goalPrototype; - - if (_prototype.TryIndex(goal, out var goalRandom)) - return RecursiveRandom(goalRandom); - - throw new Exception($"StationGoalPaperSystem: Random station goal could not be found from origin prototype {RandomPrototype}"); - } - - /// - /// Send a station goal to all faxes which are authorized to receive it - /// - /// True if at least one fax received paper - public bool SendStationGoal(StationGoalPrototype goal) - { - var enumerator = EntityManager.EntityQueryEnumerator(); - var wasSent = false; - - while (enumerator.MoveNext(out var uid, out var fax)) - { - if (!fax.ReceiveStationGoal || - !TryComp(_station.GetOwningStation(uid), out var meta)) - continue; - - var stationId = StationIdRegex.Match(meta.EntityName).Groups[1].Value; - - var printout = new FaxPrintout( - Loc.GetString("station-goal-fax-paper-header", - ("date", DateTime.Now.AddYears(1000).ToString("yyyy MMMM dd")), - ("station", string.IsNullOrEmpty(stationId) ? "???" : stationId), - ("content", goal.Text) - ), - Loc.GetString("station-goal-fax-paper-name"), - "StationGoalPaper" - ); - - _fax.Receive(uid, printout, null, fax); - - wasSent = true; - } - - return wasSent; - } -} diff --git a/Content.Server/Corvax/StationGoal/StationGoalPrototype.cs b/Content.Server/Corvax/StationGoal/StationGoalPrototype.cs deleted file mode 100644 index 73289e60c9..0000000000 --- a/Content.Server/Corvax/StationGoal/StationGoalPrototype.cs +++ /dev/null @@ -1,12 +0,0 @@ -using Robust.Shared.Prototypes; - -namespace Content.Server.Corvax.StationGoal -{ - [Serializable, Prototype("stationGoal")] - public sealed class StationGoalPrototype : IPrototype - { - [IdDataFieldAttribute] public string ID { get; } = default!; - - public string Text => Loc.GetString($"station-goal-{ID.ToLower()}"); - } -} diff --git a/Content.Server/GameTicking/GameTicker.RoundFlow.cs b/Content.Server/GameTicking/GameTicker.RoundFlow.cs index f9f61d28d8..154244ace1 100644 --- a/Content.Server/GameTicking/GameTicker.RoundFlow.cs +++ b/Content.Server/GameTicking/GameTicker.RoundFlow.cs @@ -1,6 +1,5 @@ using System.Linq; using Content.Server.Announcements; -using Content.Server.Corvax.GameTicking; using Content.Server.Discord; using Content.Server.GameTicking.Events; using Content.Server.Ghost; diff --git a/Content.Server/Parkstation/Speech/Components/RandomBarkComponent.cs b/Content.Server/Parkstation/Speech/Components/RandomBarkComponent.cs deleted file mode 100644 index 83b1ff216f..0000000000 --- a/Content.Server/Parkstation/Speech/Components/RandomBarkComponent.cs +++ /dev/null @@ -1,51 +0,0 @@ -namespace Content.Server.Parkstation.Speech.Components; - -/// -/// Sends a random message from a list with a provided min/max time. -/// -[RegisterComponent] -public sealed partial class RandomBarkComponent : Component -{ - // Should the message be sent to the chat log? - [DataField, ViewVariables(VVAccess.ReadWrite)] - public bool ChatLog = false; - - // Minimum time an animal will go without speaking - [DataField, ViewVariables(VVAccess.ReadWrite)] - public int MinTime = 45; - - // Maximum time an animal will go without speaking - [DataField, ViewVariables(VVAccess.ReadWrite)] - public int MaxTime = 350; - - // Counter - [DataField, ViewVariables(VVAccess.ReadWrite)] - public float BarkAccumulator = 8f; - - // Multiplier applied to the random time. Good for changing the frequency without having to specify exact values - [DataField, ViewVariables(VVAccess.ReadWrite)] - public float BarkMultiplier = 1f; - - // List of things to be said. Filled with garbage to be modified by an accent, but can be specified in the .yml - [DataField, ViewVariables(VVAccess.ReadWrite)] - public IReadOnlyList Barks = new[] - { - "Bark", - "Boof", - "Woofums", - "Rawrl", - "Eeeeeee", - "Barkums", - "Awooooooooooooooooooo awoo awoooo", - "Grrrrrrrrrrrrrrrrrr", - "Rarrwrarrwr", - "Goddamn I love gold fish crackers", - "Bork bork boof boof bork bork boof boof boof bork", - "Bark", - "Boof", - "Woofums", - "Rawrl", - "Eeeeeee", - "Barkums", - }; -} diff --git a/Content.Server/Parkstation/Speech/Systems/RandomBarkSystem.cs b/Content.Server/Parkstation/Speech/Systems/RandomBarkSystem.cs deleted file mode 100644 index 6f9d1682dd..0000000000 --- a/Content.Server/Parkstation/Speech/Systems/RandomBarkSystem.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Content.Server.Chat.Systems; -using Content.Shared.Mind.Components; -using Robust.Shared.Random; -using Content.Server.Parkstation.Speech.Components; - -namespace Content.Server.Parkstation.Speech.Systems; - -public sealed class RandomBarkSystem : EntitySystem -{ - [Dependency] private readonly IRobustRandom _random = default!; - [Dependency] private readonly ChatSystem _chat = default!; - [Dependency] private readonly EntityManager _entity = default!; - - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnInit); - } - - - private void OnInit(EntityUid uid, RandomBarkComponent barker, ComponentInit args) - { - barker.BarkAccumulator = _random.NextFloat(barker.MinTime, barker.MaxTime)*barker.BarkMultiplier; - } - - public override void Update(float frameTime) - { - base.Update(frameTime); - - var query = EntityQueryEnumerator(); - while (query.MoveNext(out var uid, out var barker)) - { - barker.BarkAccumulator -= frameTime; - if (barker.BarkAccumulator > 0) - continue; - - barker.BarkAccumulator = _random.NextFloat(barker.MinTime, barker.MaxTime) * barker.BarkMultiplier; - if (_entity.TryGetComponent(uid, out var actComp) && - actComp.HasMind) - continue; - - _chat.TrySendInGameICMessage(uid, _random.Pick(barker.Barks), InGameICChatType.Speak, barker.ChatLog ? ChatTransmitRange.Normal : ChatTransmitRange.HideChat); - } - } -} diff --git a/Content.Shared/Corvax/CCVars/CCCVars.cs b/Content.Shared/Corvax/CCVars/CCCVars.cs deleted file mode 100644 index 371b793d3d..0000000000 --- a/Content.Shared/Corvax/CCVars/CCCVars.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Robust.Shared.Configuration; - -namespace Content.Shared.Corvax.CCCVars; - -[CVarDefs] -// ReSharper disable once InconsistentNaming -public sealed class CCCVars -{ - /* - * Station Goals - */ - - /// - /// Enables station goals - /// - public static readonly CVarDef StationGoalsEnabled = - CVarDef.Create("game.station_goals", false, CVar.SERVERONLY); -} diff --git a/Content.Shared/Parkstation/Physics/FrictionRemoverSystem.cs b/Content.Shared/Parkstation/Physics/FrictionRemoverSystem.cs deleted file mode 100644 index 21a9115cf6..0000000000 --- a/Content.Shared/Parkstation/Physics/FrictionRemoverSystem.cs +++ /dev/null @@ -1,25 +0,0 @@ -using Robust.Shared.Physics; -using Robust.Shared.Physics.Components; -using Robust.Shared.Physics.Systems; - -namespace Content.Shared.Parkstation.Physics; - -public sealed class FrictionRemoverSystem : EntitySystem -{ - [Dependency] private readonly SharedPhysicsSystem _physics = default!; - - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(RemoveDampening); - } - - - private void RemoveDampening(EntityUid uid, PhysicsComponent component, PhysicsSleepEvent args) - { - _physics.SetAngularDamping(component, 0, false); - _physics.SetLinearDamping(component, 0); - } -} diff --git a/Resources/Prototypes/Corvax/Entities/Objects/Misc/paper.yml b/Resources/Prototypes/Corvax/Entities/Objects/Misc/paper.yml deleted file mode 100644 index 57fb6eefc1..0000000000 --- a/Resources/Prototypes/Corvax/Entities/Objects/Misc/paper.yml +++ /dev/null @@ -1,11 +0,0 @@ -- type: entity - parent: Paper - id: StationGoalPaper - name: station goal centcomm message - description: 'It looks like you have a lot of work to do.' - components: - - type: Paper - stampState: paper_stamp-centcom - stampedBy: - - stampedName: stamp-component-stamped-name-centcom - stampedColor: "#bb3232" diff --git a/Resources/Prototypes/Corvax/Objectives/goals.yml b/Resources/Prototypes/Corvax/Objectives/goals.yml deleted file mode 100644 index d36f82894e..0000000000 --- a/Resources/Prototypes/Corvax/Objectives/goals.yml +++ /dev/null @@ -1,84 +0,0 @@ -- type: stationGoal - id: Area - -- type: stationGoal - id: Artifacts - -- type: stationGoal - id: BureaucraticError - -- type: stationGoal - id: Combat - -- type: stationGoal - id: Labor - -- type: stationGoal - id: Lectures - -- type: stationGoal - id: Museum - -- type: stationGoal - id: Shuttle - -- type: stationGoal - id: Singularity - -- type: stationGoal - id: SolarPanels - -- type: stationGoal - id: Storage - -- type: stationGoal - id: Xeno - -- type: stationGoal - id: Zoo - - - -- type: weightedRandom - id: StationGoals - weights: - StationGoalDepartment: 1 - StationGoalPower: 1 - StationGoalStation: 1 - - -- type: weightedRandom - id: StationGoalDepartment - weights: - StationGoalScience: 1 - StationGoalSecurity: 1 - - -- type: weightedRandom - id: StationGoalPower - weights: - Singularity: 1 - SolarPanels: 1 - -- type: weightedRandom - id: StationGoalScience - weights: - Anomalies: 1 - Artifacts: 1 - Xeno: 1 - -- type: weightedRandom - id: StationGoalSecurity - weights: - Combat: 1 - -- type: weightedRandom - id: StationGoalStation - weights: - Area: 1 - BureaucraticError: 1 - Labor: 1 - Lectures: 1 - Museum: 1 - Shuttle: 1 - Zoo: 1 diff --git a/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/ghost_roles.yml index 8534b73788..42dd8a7fa0 100644 --- a/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/ghost_roles.yml +++ b/Resources/Prototypes/DeltaV/Entities/Markers/Spawners/ghost_roles.yml @@ -34,15 +34,18 @@ requirements: # Worth considering these numbers for the goal of making sure someone willing to MRP takes this. - !type:CharacterOverallTimeRequirement min: 259200 # 72 hours - - !type:DepartmentTimeRequirement - department: Security - time: 40000 # 11.1 hours - - !type:DepartmentTimeRequirement - department: Civilian - time: 40000 # 11.1 hours - - !type:DepartmentTimeRequirement - department: Command - time: 40000 # 11.1 hours + - !type:CharacterDepartmentRequirement + departments: + - Security + min: 40000 # 11.1 hours + - !type:CharacterDepartmentRequirement + departments: + - Civilian + min: 40000 # 11.1 hours + - !type:CharacterDepartmentRequirement + departments: + - Command + min: 40000 # 11.1 hours - type: GhostRoleMobSpawner prototype: MobHumanSyndicateListener - type: Sprite diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/familiars.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/familiars.yml index 2dad0fe2e6..d40a72167f 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/familiars.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/familiars.yml @@ -106,9 +106,10 @@ allowMovement: true allowSpeech: true requirements: - - !type:DepartmentTimeRequirement - department: Epistemics - time: 14400 # DeltaV - 4 hours + - !type:CharacterDepartmentRequirement + departments: + - Epistemics + min: 14400 # DeltaV - 4 hours - type: entity parent: WelderExperimental diff --git a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml index 2d1a1d72c4..ee3fcc5e9d 100644 --- a/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml +++ b/Resources/Prototypes/DeltaV/Entities/Mobs/NPCs/pets.yml @@ -32,9 +32,10 @@ name: "Laika" description: "Security's resident she-dog. Badger the officers for headpats and nip at the heels of violent offenders." requirements: - - !type:DepartmentTimeRequirement - department: Security - time: 14400 # DeltaV - 4 hours + - !type:CharacterDepartmentRequirement + departments: + - Security + min: 14400 # DeltaV - 4 hours - type: GhostTakeoverAvailable - type: InteractionPopup successChance: 1 diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml index 2a879472e8..0c063641aa 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Justice/chief_justice.yml @@ -15,7 +15,7 @@ min: 36000 # 10 hours - !type:CharacterOverallTimeRequirement min: 90000 # 25 hours - - !type:WhitelistRequirement # whitelist requirement because I don't want any dingus judges + - !type:CharacterWhitelistRequirement # whitelist requirement because I don't want any dingus judges weight: 20 startingGear: CJGear icon: "JobIconChiefJustice" diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml index 18a4bbf315..4c48ffd376 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Medical/medical_borg.yml @@ -7,7 +7,7 @@ requirements: - !type:CharacterOverallTimeRequirement min: 216000 #60 hrs - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Medical min: 21600 #6 hrs canBeAntag: false diff --git a/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml b/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml index 5cfd256966..84de1983b9 100644 --- a/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml +++ b/Resources/Prototypes/DeltaV/Roles/Jobs/Security/brigmedic.yml @@ -5,10 +5,10 @@ playTimeTracker: JobBrigmedic setPreference: false # Parkstation-Playtime requirements: - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Medical min: 21600 # 6 hrs - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Security min: 18000 # 4 hrs startingGear: CorpsmanGear @@ -36,7 +36,7 @@ equipment: jumpsuit: ClothingUniformJumpsuitBrigmedic outerClothing: ClothingOuterArmorPlateCarrier - back: ClothingBackpackBrigmedicFilled + back: ClothingBackpackBrigmedicFilled shoes: ClothingShoesBootsCombatFilled gloves: ClothingHandsGlovesNitrile eyes: ClothingEyesHudMedical diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml index 712dfcf3a0..48b0bfbeb4 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml @@ -87,9 +87,9 @@ requirements: - !type:CharacterOverallTimeRequirement min: 172800 # DeltaV - 48 hours - - !type:DepartmentTimeRequirement # DeltaV - Security dept time requirement + - !type:CharacterDepartmentTimeRequirement # DeltaV - Security dept time requirement department: Security - time: 36000 # DeltaV - 10 hours + min: 36000 # DeltaV - 10 hours - type: GhostRoleMobSpawner prototype: MobHumanLoneNuclearOperative - type: Sprite diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml index 0473838f25..b783fdb3e5 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Epistemics/forensicmantis.yml @@ -7,7 +7,7 @@ requirements: - !type:CharacterOverallTimeRequirement min: 18000 - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Epistemics # DeltaV - Epistemics Department replacing Science min: 3600 startingGear: ForensicMantisGear diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml index fec6ac685e..b82178a936 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Security/prisonguard.yml @@ -6,7 +6,7 @@ requirements: - !type:CharacterOverallTimeRequirement min: 18000 - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Security min: 14400 startingGear: PrisonGuardGear diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml index 3651d223d7..8aef94704e 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/gladiator.yml @@ -11,7 +11,7 @@ setPreference: true # whitelistRequired: true requirements: - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Security min: 21600 special: diff --git a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml index 00ffdde666..7c66dd1a41 100644 --- a/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml +++ b/Resources/Prototypes/Nyanotrasen/Roles/Jobs/Wildcards/prisoner.yml @@ -10,7 +10,7 @@ icon: "JobIconPrisoner" supervisors: job-supervisors-security requirements: - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Security min: 21600 diff --git a/Resources/Prototypes/Parkstation/Roles/Jobs/Service/chief_service_supervisor.yml b/Resources/Prototypes/Parkstation/Roles/Jobs/Service/chief_service_supervisor.yml index 31608a4ce3..479b9c643b 100644 --- a/Resources/Prototypes/Parkstation/Roles/Jobs/Service/chief_service_supervisor.yml +++ b/Resources/Prototypes/Parkstation/Roles/Jobs/Service/chief_service_supervisor.yml @@ -4,12 +4,12 @@ description: job-description-css playTimeTracker: JobChiefServiceSupervisor requirements: - - !type:DepartmentTimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Civilian - time: 21600 - - !type:OverallPlaytimeRequirement - time: 86400 - - !type:WhitelistRequirement + min: 21600 + - !type:CharacterOverallTimeRequirement + min: 86400 + - !type:CharacterWhitelistRequirement weight: 10 startingGear: CSSGear icon: "JobIconCSS" diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml index ee1a101154..e3033faf7a 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml @@ -7,7 +7,7 @@ requirements: # - !type:RoleTimeRequirement #DeltaV # role: JobCargoTechnician - # time: 21600 #6 hrs + # min: 21600 #6 hrs - !type:CharacterPlaytimeRequirement tracker: JobSalvageSpecialist min: 10800 #3 hrs diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml index 8b806009ef..91edf2de47 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/salvage_specialist.yml @@ -8,8 +8,8 @@ - !type:CharacterDepartmentTimeRequirement department: Logistics # DeltaV - Logistics Department replacing Cargo min: 21600 #DeltaV 6 hrs - # - !type:OverallPlaytimeRequirement #DeltaV - # time: 36000 #10 hrs + # - !type:CharacterOverallTimeRequirement #DeltaV + # min: 36000 #10 hrs icon: "JobIconShaftMiner" startingGear: SalvageSpecialistGear supervisors: job-supervisors-qm diff --git a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml index a244cb1116..8aab8eaf69 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml @@ -6,10 +6,10 @@ antagAdvantage: 6 # DeltaV - Reduced TC: Head of Staff requirements: # Parkstation-Playtime - - !type:CharacterPlaytimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Engineering min: 3600 # 1 hour - - !type:CharacterPlaytimeRequirement + - !type:CharacterDepartmentTimeRequirement department: Medical min: 3600 # 1 hour - !type:CharacterDepartmentTimeRequirement diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml index 2d6a945828..92d69fbfc9 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml @@ -8,13 +8,13 @@ - !type:CharacterPlaytimeRequirement tracker: JobAtmosphericTechnician min: 21600 # 6 hours - - !type:RoleTimeRequirement - role: JobSalvageSpecialist - time: 7200 # 2 hours + - !type:CharacterPlaytimeRequirement + tracker: JobSalvageSpecialist + min: 7200 # 2 hours - !type:CharacterDepartmentTimeRequirement department: Engineering min: 36000 # 10 hours - - !type:OverallPlaytimeRequirement + - !type:CharacterOverallTimeRequirement min: 86400 # 24 hours weight: 10 startingGear: ChiefEngineerGear diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml index 458c811ae2..367a529a8e 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/technical_assistant.yml @@ -8,9 +8,9 @@ requirements: - !type:CharacterOverallTimeRequirement # DeltaV - to prevent griefers from taking the role. min: 14400 # 4 hours - # - !type:DepartmentTimeRequirement # DeltaV - Removes time limit + # - !type:CharacterDepartmentRequirement # DeltaV - Removes time limit # department: Engineering - # time: 54000 #15 hrs + # min: 54000 #15 hrs # inverted: true # stop playing intern if you're good at engineering! startingGear: TechnicalAssistantGear icon: "JobIconTechnicalAssistant" diff --git a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml index 502a2ceb61..5fc409d5f2 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/medical_intern.yml @@ -5,9 +5,9 @@ playTimeTracker: JobMedicalIntern setPreference: false # Parkstation-Playtime requirements: - # - !type:DepartmentTimeRequirement # DeltaV - Removes time limit + # - !type:CharacterDepartmentRequirement # DeltaV - Removes time limit # department: Medical - # time: 54000 # 15 hrs + # min: 54000 # 15 hrs # inverted: true # stop playing intern if you're good at med! startingGear: MedicalInternGear icon: "JobIconMedicalIntern" diff --git a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml index e50d87d59c..098da8d5ea 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/paramedic.yml @@ -8,12 +8,12 @@ requirements: # - !type:RoleTimeRequirement # DeltaV - No Medical Doctor time requirement # role: JobMedicalDoctor - # time: 14400 #4 hrs + # min: 14400 #4 hrs - !type:CharacterDepartmentTimeRequirement # DeltaV - Medical dept time requirement department: Medical min: 28800 # DeltaV - 8 hours - # - !type:OverallPlaytimeRequirement # DeltaV - No playtime requirement - # time: 54000 # 15 hrs + # - !type:CharacterOverallTimeRequirement # DeltaV - No playtime requirement + # min: 54000 # 15 hrs startingGear: ParamedicGear icon: "JobIconParamedic" supervisors: job-supervisors-cmo diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml index 0c5379fe78..ea2764868a 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/research_assistant.yml @@ -4,10 +4,10 @@ description: job-description-research-assistant playTimeTracker: JobResearchAssistant setPreference: false # Parkstation-Playtime - requirements: - # - !type:DepartmentTimeRequirement # DeltaV - Removes time limit + # requirements: + # - !type:CharacterDepartmentRequirement # DeltaV - Removes time limit # department: Science - # time: 54000 #15 hrs + # min: 54000 #15 hrs # inverted: true # stop playing intern if you're good at science! startingGear: ResearchAssistantGear icon: "JobIconResearchAssistant"