diff --git a/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs index ddeacd99b0..a99d0f8c45 100644 --- a/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs +++ b/Content.Server/_DV/Abilities/Chitinid/ChitinidSystem.cs @@ -11,7 +11,6 @@ namespace Content.Server._DV.Abilities.Chitinid; public sealed partial class ChitinidSystem : EntitySystem { [Dependency] private readonly IGameTiming _timing = default!; - [Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly ItemCougherSystem _cougher = default!; [Dependency] private readonly DamageableSystem _damageable = default!; [Dependency] private readonly MobStateSystem _mobState = default!; diff --git a/Content.Server/_DV/Abilities/Kitsune/KitsuneFoxSystem.cs b/Content.Server/_DV/Abilities/Kitsune/KitsuneFoxSystem.cs index 566464e0ee..f1c632bdef 100644 --- a/Content.Server/_DV/Abilities/Kitsune/KitsuneFoxSystem.cs +++ b/Content.Server/_DV/Abilities/Kitsune/KitsuneFoxSystem.cs @@ -9,7 +9,6 @@ namespace Content.Server._DV.Abilities.Kitsune; public sealed class KitsuneFoxSystem : EntitySystem { [Dependency] private readonly PolymorphSystem _polymorph = default!; - [Dependency] private readonly SharedStaminaSystem _stamina = default!; public override void Initialize() { @@ -20,7 +19,7 @@ public sealed class KitsuneFoxSystem : EntitySystem private void OnStunned(Entity ent, ref StunnedEvent args) { - if (!TryComp(ent, out var polymorph)) + if (!HasComp(ent)) return; _polymorph.Revert(ent.Owner); diff --git a/Content.Server/_DV/Abilities/Psionics/PrecognitionPowerSystem.cs b/Content.Server/_DV/Abilities/Psionics/PrecognitionPowerSystem.cs index d823adfe06..d29b8ab66b 100644 --- a/Content.Server/_DV/Abilities/Psionics/PrecognitionPowerSystem.cs +++ b/Content.Server/_DV/Abilities/Psionics/PrecognitionPowerSystem.cs @@ -27,7 +27,6 @@ public sealed class PrecognitionPowerSystem : EntitySystem { [Dependency] private readonly DoAfterSystem _doAfter = default!; [Dependency] private readonly GameTicker _gameTicker = default!; - [Dependency] private readonly MindSystem _mind = default!; [Dependency] private readonly SharedActionsSystem _actions = default!; [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; @@ -35,7 +34,6 @@ public sealed class PrecognitionPowerSystem : EntitySystem [Dependency] private readonly StatusEffectsSystem _statusEffects = default!; [Dependency] private readonly IChatManager _chat = default!; [Dependency] private readonly IComponentFactory _factory = default!; - [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly MovementModStatusSystem _movementMod = default!; diff --git a/Content.Server/_DV/Addictions/AddictionSystem.cs b/Content.Server/_DV/Addictions/AddictionSystem.cs index c1dcda3972..c5d8038a45 100644 --- a/Content.Server/_DV/Addictions/AddictionSystem.cs +++ b/Content.Server/_DV/Addictions/AddictionSystem.cs @@ -25,6 +25,7 @@ public sealed class AddictionSystem : SharedAddictionSystem private const int SuppressionDuration = 10; private EntityQuery _addicted; + private readonly ProtoId _datasetId = "AddictionEffects"; public override void Initialize() { @@ -86,7 +87,7 @@ public sealed class AddictionSystem : SharedAddictionSystem private string GetRandomPopup() { - return Loc.GetString(_random.Pick(_prototypeManager.Index("AddictionEffects").Values)); + return Loc.GetString(_random.Pick(_prototypeManager.Index(_datasetId).Values)); } private void DoAddictionEffect(EntityUid uid) diff --git a/Content.Server/_DV/Administration/Commands/SpawnPlayer.cs b/Content.Server/_DV/Administration/Commands/SpawnPlayer.cs index 2aee9f10f4..d0a42c62b0 100644 --- a/Content.Server/_DV/Administration/Commands/SpawnPlayer.cs +++ b/Content.Server/_DV/Administration/Commands/SpawnPlayer.cs @@ -24,8 +24,6 @@ public sealed class SpawnPlayer : LocalizedEntityCommands [Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IServerPreferencesManager _prefs = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; - [Dependency] private readonly TraitSystem _trait = default!; - [Dependency] private readonly PlayTimeTrackingManager _playTimeTracking = default!; public override string Command => "spawnplayer"; diff --git a/Content.Server/_DV/Cargo/Systems/CargoSystem.ATS.cs b/Content.Server/_DV/Cargo/Systems/CargoSystem.ATS.cs index 0282456909..2ef26198ed 100644 --- a/Content.Server/_DV/Cargo/Systems/CargoSystem.ATS.cs +++ b/Content.Server/_DV/Cargo/Systems/CargoSystem.ATS.cs @@ -89,7 +89,7 @@ public sealed partial class CargoSystem { Components = [ - Factory.GetComponentName(typeof(CargoShuttleComponent)) + Factory.GetComponentName() ] }; diff --git a/Content.Server/_DV/Cargo/Systems/PricingSystem.Modifier.cs b/Content.Server/_DV/Cargo/Systems/PricingSystem.Modifier.cs index 27973a4783..e79fa74026 100644 --- a/Content.Server/_DV/Cargo/Systems/PricingSystem.Modifier.cs +++ b/Content.Server/_DV/Cargo/Systems/PricingSystem.Modifier.cs @@ -13,7 +13,7 @@ public sealed partial class PricingSystem /// The modified price. private double ApplyPrototypePriceModifier(EntityPrototype prototype, double basePrice) { - if (prototype.Components.TryGetValue(Factory.GetComponentName(typeof(PriceModifierComponent)), + if (prototype.Components.TryGetValue(Factory.GetComponentName(), out var modProto)) { var priceModifier = (PriceModifierComponent)modProto.Component; diff --git a/Content.Server/_DV/Cargo/Systems/StockMarketSystem.cs b/Content.Server/_DV/Cargo/Systems/StockMarketSystem.cs index 7908e543ea..5399bc16ef 100644 --- a/Content.Server/_DV/Cargo/Systems/StockMarketSystem.cs +++ b/Content.Server/_DV/Cargo/Systems/StockMarketSystem.cs @@ -109,7 +109,7 @@ public sealed class StockMarketSystem : EntitySystem break; default: - throw new ArgumentOutOfRangeException(); + throw new InvalidOperationException($"Unknown UiAction type [{message.Action}]"); } // Play confirmation sound if the transaction was successful diff --git a/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs b/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs index 2dc772eb40..227b040bfa 100644 --- a/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs +++ b/Content.Server/_DV/CosmicCult/Abilities/CosmicConversionSystem.cs @@ -18,7 +18,6 @@ public sealed class CosmicConversionSystem : EntitySystem [Dependency] private readonly CosmicCultRuleSystem _cultRule = default!; [Dependency] private readonly CosmicGlyphSystem _cosmicGlyph = default!; [Dependency] private readonly DamageableSystem _damageable = default!; - [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly MobStateSystem _mobState = default!; [Dependency] private readonly PopupSystem _popup = default!; [Dependency] private readonly SharedCosmicCultSystem _cosmicCult = default!; diff --git a/Content.Server/_DV/CosmicCult/CosmicCultRuleSystem.cs b/Content.Server/_DV/CosmicCult/CosmicCultRuleSystem.cs index 412ae513ff..74a6179a7c 100644 --- a/Content.Server/_DV/CosmicCult/CosmicCultRuleSystem.cs +++ b/Content.Server/_DV/CosmicCult/CosmicCultRuleSystem.cs @@ -74,7 +74,6 @@ public sealed class CosmicCultRuleSystem : GameRuleSystem "\n\n:arrow_forward: _**Pre-round lobby started**_\n", GameRunLevel.InRound => "\n\n:arrow_forward: _**Round started**_\n", GameRunLevel.PostRound => "\n\n:stop_button: _**Post-round started**_\n", - _ => throw new ArgumentOutOfRangeException(nameof(_gameTicker.RunLevel), - $"{_gameTicker.RunLevel} was not matched."), + _ => throw new InvalidOperationException( $"{_gameTicker.RunLevel} was not matched."), }; existingEmbed.LastRunLevel = _gameTicker.RunLevel; @@ -615,8 +614,7 @@ public sealed partial class CwoinkSystem : SharedCwoinkSystem : $"pre-round lobby for round {_gameTicker.RoundId + 1}", GameRunLevel.InRound => $"round {_gameTicker.RoundId}", GameRunLevel.PostRound => $"post-round {_gameTicker.RoundId}", - _ => throw new ArgumentOutOfRangeException(nameof(_gameTicker.RunLevel), - $"{_gameTicker.RunLevel} was not matched."), + _ => throw new InvalidOperationException( $"{_gameTicker.RunLevel} was not matched."), }; return new WebhookPayload diff --git a/Content.Server/_DV/Execution/ExecutionSystem.cs b/Content.Server/_DV/Execution/ExecutionSystem.cs index 902b6a5f9c..b439d3481e 100644 --- a/Content.Server/_DV/Execution/ExecutionSystem.cs +++ b/Content.Server/_DV/Execution/ExecutionSystem.cs @@ -40,7 +40,6 @@ public sealed class ExecutionSystem : EntitySystem [Dependency] private readonly SharedDoAfterSystem _doAfterSystem = default!; [Dependency] private readonly SharedPopupSystem _popupSystem = default!; [Dependency] private readonly MobStateSystem _mobStateSystem = default!; - [Dependency] private readonly InteractionSystem _interactionSystem = default!; [Dependency] private readonly ActionBlockerSystem _actionBlockerSystem = default!; [Dependency] private readonly DamageableSystem _damageableSystem = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!; @@ -262,7 +261,7 @@ public sealed class ExecutionSystem : EntitySystem break; default: - throw new ArgumentOutOfRangeException(); + throw new InvalidOperationException($"Unknown shootable type [{ev.Ammo[0].Shootable}]"); } // Clumsy people have a chance to shoot themselves (not in the head) diff --git a/Content.Server/_DV/Grappling/EntitySystems/GrapplingSystem.cs b/Content.Server/_DV/Grappling/EntitySystems/GrapplingSystem.cs index 43250cc362..5dee93868c 100644 --- a/Content.Server/_DV/Grappling/EntitySystems/GrapplingSystem.cs +++ b/Content.Server/_DV/Grappling/EntitySystems/GrapplingSystem.cs @@ -44,7 +44,6 @@ public sealed partial class GrapplingSystem : SharedGrapplingSystem [Dependency] private readonly PopupSystem _popup = default!; [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly StandingStateSystem _standingState = default!; - [Dependency] private readonly TagSystem _tag = default!; [Dependency] private readonly SharedVirtualItemSystem _virtual = default!; private ProtoId _grappleTargetId = "GrappleTarget"; diff --git a/Content.Server/_DV/NPC/Roboisseur/RoboisseurComponent.cs b/Content.Server/_DV/NPC/Roboisseur/RoboisseurComponent.cs index 33b0d587f8..38e4dc679a 100644 --- a/Content.Server/_DV/NPC/Roboisseur/RoboisseurComponent.cs +++ b/Content.Server/_DV/NPC/Roboisseur/RoboisseurComponent.cs @@ -6,21 +6,21 @@ namespace Content.Server.Roboisseur.Roboisseur public sealed partial class RoboisseurComponent : Component { [ViewVariables] - [DataField("accumulator")] + [DataField] public float Accumulator = 0f; [ViewVariables(VVAccess.ReadOnly)] - [DataField("impatient")] + [DataField] public Boolean Impatient { get; set; } = false; [ViewVariables] - [DataField("resetTime")] + [DataField] public TimeSpan ResetTime = TimeSpan.FromMinutes(10); - [DataField("barkAccumulator")] + [DataField] public float BarkAccumulator = 0f; - [DataField("barkTime")] + [DataField] public TimeSpan BarkTime = TimeSpan.FromMinutes(1); /// @@ -28,7 +28,7 @@ namespace Content.Server.Roboisseur.Roboisseur /// public TimeSpan StateTime = default!; - [DataField("stateCD")] + [DataField] public TimeSpan StateCD = TimeSpan.FromSeconds(5); [ViewVariables(VVAccess.ReadWrite)] diff --git a/Content.Server/_DV/NPC/Roboisseur/RoboisseurSystem.cs b/Content.Server/_DV/NPC/Roboisseur/RoboisseurSystem.cs index 179a9965fd..2db9d18614 100644 --- a/Content.Server/_DV/NPC/Roboisseur/RoboisseurSystem.cs +++ b/Content.Server/_DV/NPC/Roboisseur/RoboisseurSystem.cs @@ -21,7 +21,6 @@ namespace Content.Server.Roboisseur.Roboisseur [Dependency] private readonly IRobustRandom _random = default!; [Dependency] private readonly ChatSystem _chat = default!; [Dependency] private readonly MaterialStorageSystem _material = default!; - [Dependency] private readonly AppearanceSystem _appearance = default!; [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IAdminLogManager _adminLog = default!; diff --git a/Content.Server/_DV/Objectives/Components/NotJobsRequirementComponent.cs b/Content.Server/_DV/Objectives/Components/NotJobsRequirementComponent.cs index 9a0a3f1766..9f868f246b 100644 --- a/Content.Server/_DV/Objectives/Components/NotJobsRequirementComponent.cs +++ b/Content.Server/_DV/Objectives/Components/NotJobsRequirementComponent.cs @@ -1,7 +1,9 @@ -using Content.Server.Objectives.Systems; +using Content.Server._DV.Objectives.Systems; using Content.Shared.Roles; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; +namespace Content.Server._DV.Objectives.Components; + /// /// Requires that the player not have a certain job to have this objective. /// diff --git a/Content.Server/_DV/Objectives/Systems/NotJobsRequirementSystem.cs b/Content.Server/_DV/Objectives/Systems/NotJobsRequirementSystem.cs index 14bd099123..0e10a27ec3 100644 --- a/Content.Server/_DV/Objectives/Systems/NotJobsRequirementSystem.cs +++ b/Content.Server/_DV/Objectives/Systems/NotJobsRequirementSystem.cs @@ -1,8 +1,8 @@ -using Content.Server.Objectives.Components; +using Content.Server._DV.Objectives.Components; using Content.Shared.Objectives.Components; using Content.Shared.Roles.Components; -namespace Content.Server.Objectives.Systems; +namespace Content.Server._DV.Objectives.Systems; /// /// Handles checking the job blacklist for this objective. diff --git a/Content.Server/_DV/Station/Systems/AutomaticSpareIdSystem.cs b/Content.Server/_DV/Station/Systems/AutomaticSpareIdSystem.cs index a305c02151..5ccbb24f5c 100644 --- a/Content.Server/_DV/Station/Systems/AutomaticSpareIdSystem.cs +++ b/Content.Server/_DV/Station/Systems/AutomaticSpareIdSystem.cs @@ -77,7 +77,7 @@ public sealed class AutomaticSpareIdSystem : EntitySystem MoveToAlerted(ent); } - private void RoundStartCaptain(Entity ent) + private static void RoundStartCaptain(Entity ent) { ent.Comp.State = AutomaticSpareIdState.CaptainPresent; ent.Comp.Timeout = null; diff --git a/Content.Server/_DV/StationEvents/Components/MeteorSwarmRuleComponent.cs b/Content.Server/_DV/StationEvents/Components/MeteorSwarmRuleComponent.cs index a799101844..e08d7a1a8a 100644 --- a/Content.Server/_DV/StationEvents/Components/MeteorSwarmRuleComponent.cs +++ b/Content.Server/_DV/StationEvents/Components/MeteorSwarmRuleComponent.cs @@ -16,46 +16,46 @@ public sealed partial class MeteorSwarmRuleComponent : Component [DataField("waves")] public int? WaveCounter = null; - [DataField("minimumWaves")] + [DataField] public int MinimumWaves = 3; - [DataField("maximumWaves")] + [DataField] public int MaximumWaves = 8; - [DataField("minimumCooldown")] + [DataField] public float MinimumCooldown = 10f; - [DataField("maximumCooldown")] + [DataField] public float MaximumCooldown = 60f; - [DataField("meteorsPerWave")] + [DataField] public int MeteorsPerWave = 5; - [DataField("meteorVelocity")] + [DataField] public float MeteorVelocity = 10f; - [DataField("maxAngularVelocity")] + [DataField] public float MaxAngularVelocity = 2f; - [DataField("minAngularVelocity")] + [DataField] public float MinAngularVelocity = -2f; /// /// Stagger the spawns a bit, but not too much so they still come in waves /// - [DataField("spawnDistanceVariation")] + [DataField] public float SpawnDistanceVariation = 50f; /// /// Percentage of the station area to target. Allow for some near-miss fly-by meteors to jump-scare crew on EVAs. /// Stations aren't perfect rectangles like the targeting area, so even 1.0 will still have some near-misses. /// - [DataField("targetingSpread")] + [DataField] public float TargetingSpread = 1.05f; /// /// How long before a meteor despawns (in case it missed everything). /// - [DataField("meteorLifetime")] + [DataField] public float MeteorLifetime = 300f; } diff --git a/Content.Server/_DV/StationEvents/Components/MinorMassMindSwapRuleComponent.cs b/Content.Server/_DV/StationEvents/Components/MinorMassMindSwapRuleComponent.cs index 14da667a18..9b7f57fc93 100644 --- a/Content.Server/_DV/StationEvents/Components/MinorMassMindSwapRuleComponent.cs +++ b/Content.Server/_DV/StationEvents/Components/MinorMassMindSwapRuleComponent.cs @@ -10,7 +10,7 @@ public sealed partial class MinorMassMindSwapRuleComponent : Component /// /// The mind swap is only temporary if true. /// - [DataField("isTemporary")] + [DataField] public bool IsTemporary = false; [DataField] diff --git a/Content.Server/_DV/StationEvents/Events/FugitiveRule.cs b/Content.Server/_DV/StationEvents/Events/FugitiveRule.cs index d910881537..7bfebbe8d5 100644 --- a/Content.Server/_DV/StationEvents/Events/FugitiveRule.cs +++ b/Content.Server/_DV/StationEvents/Events/FugitiveRule.cs @@ -108,35 +108,35 @@ public sealed class FugitiveRule : StationEventSystem private FormattedMessage GenerateReport(EntityUid uid, FugitiveRuleComponent rule) { var report = new FormattedMessage(); - report.PushMarkup(Loc.GetString("fugitive-report-title")); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-title")); report.PushNewline(); - report.PushMarkup(Loc.GetString("fugitive-report-first-line")); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-first-line")); report.PushNewline(); if (!TryComp(uid, out var humanoid)) { - report.AddMarkup(Loc.GetString("fugitive-report-inhuman", ("name", uid))); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-inhuman", ("name", uid))); return report; } var species = PrototypeManager.Index(humanoid.Species); - report.PushMarkup(Loc.GetString("fugitive-report-morphotype", ("species", Loc.GetString(species.Name)))); - report.PushMarkup(Loc.GetString("fugitive-report-age", ("age", humanoid.Age))); - report.PushMarkup(Loc.GetString("fugitive-report-sex", ("sex", humanoid.Sex.ToString()))); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-morphotype", ("species", Loc.GetString(species.Name)))); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-age", ("age", humanoid.Age))); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-sex", ("sex", humanoid.Sex.ToString()))); if (TryComp(uid, out var physics)) - report.PushMarkup(Loc.GetString("fugitive-report-weight", ("weight", Math.Round(physics.FixturesMass)))); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-weight", ("weight", Math.Round(physics.FixturesMass)))); // add a random identifying quality that officers can use to track them down - report.PushMarkup(RobustRandom.Next(0, 2) switch + report.AddMarkupOrThrow(RobustRandom.Next(0, 2) switch { 0 => Loc.GetString("fugitive-report-detail-dna", ("dna", GetDNA(uid))), _ => Loc.GetString("fugitive-report-detail-prints", ("prints", GetPrints(uid))) }); report.PushNewline(); - report.PushMarkup(Loc.GetString("fugitive-report-crimes-header")); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-crimes-header")); // generate some random crimes to avoid this situation // "officer what are my charges?" @@ -144,7 +144,7 @@ public sealed class FugitiveRule : StationEventSystem AddCharges(report, rule); report.PushNewline(); - report.AddMarkup(Loc.GetString("fugitive-report-last-line")); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-last-line")); return report; } @@ -172,7 +172,7 @@ public sealed class FugitiveRule : StationEventSystem foreach (var crime in crimes) { var count = RobustRandom.Next(rule.MinCounts, rule.MaxCounts + 1); - report.PushMarkup(Loc.GetString("fugitive-report-crime", ("crime", Loc.GetString(crime)), ("count", count))); + report.AddMarkupOrThrow(Loc.GetString("fugitive-report-crime", ("crime", Loc.GetString(crime)), ("count", count))); } } } diff --git a/Content.Server/_DV/Weapons/Ranged/Components/EnergyGunComponent.cs b/Content.Server/_DV/Weapons/Ranged/Components/EnergyGunComponent.cs index e3d60d4f44..4a07a98f40 100644 --- a/Content.Server/_DV/Weapons/Ranged/Components/EnergyGunComponent.cs +++ b/Content.Server/_DV/Weapons/Ranged/Components/EnergyGunComponent.cs @@ -16,14 +16,14 @@ public sealed partial class EnergyGunComponent : Component /// /// A list of the different firing modes the energy gun can switch between /// - [DataField("fireModes", required: true)] + [DataField(required: true)] [AutoNetworkedField] public List FireModes = new(); /// /// The currently selected firing mode /// - [DataField("currentFireMode")] + [DataField] [AutoNetworkedField] public EnergyWeaponFireMode? CurrentFireMode = default!; } @@ -40,18 +40,18 @@ public sealed partial class EnergyWeaponFireMode /// /// The battery cost to fire the projectile associated with this firing mode /// - [DataField("fireCost")] + [DataField] public float FireCost = 100; /// /// The name of the selected firemode /// - [DataField("name")] + [DataField] public string Name = string.Empty; /// /// What RsiState we use for that firemode if it needs to change. /// - [DataField("state")] + [DataField] public string State = string.Empty; } diff --git a/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Effects/Systems/PsionicProducingArtifactSystem.cs b/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Effects/Systems/PsionicProducingArtifactSystem.cs index 66ef934606..e5c3e9bca5 100644 --- a/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Effects/Systems/PsionicProducingArtifactSystem.cs +++ b/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Effects/Systems/PsionicProducingArtifactSystem.cs @@ -4,6 +4,7 @@ using Content.Server.Psionics; using Content.Shared.Xenoarchaeology.Artifact; using Content.Shared.Xenoarchaeology.Artifact.Components; +namespace Content.Server._DV.Xenoarchaeology.XenoArtifacts.Effects.Systems; public sealed class PsionicProducingArtifactSystem : EntitySystem { [Dependency] private readonly SharedXenoArtifactSystem _artifact = default!; @@ -31,8 +32,6 @@ public sealed class PsionicProducingArtifactSystem : EntitySystem // Pick first active node var node = _artifact.GetActiveNodes(artifactEntity).FirstOrDefault(); - if (node == null) - return; // Track psionic usage using ConsumedResearchValue var currentAmount = _artifact.GetResearchValue(node); diff --git a/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMetapsionicTriggerSystem.cs b/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMetapsionicTriggerSystem.cs index f0c4ab5545..995c6d0ad8 100644 --- a/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMetapsionicTriggerSystem.cs +++ b/Content.Server/_DV/Xenoarchaeology/XenoArtifacts/Triggers/Systems/ArtifactMetapsionicTriggerSystem.cs @@ -9,8 +9,6 @@ namespace Content.Server.Xenoarchaeology.XenoArtifacts.Triggers.Systems; public sealed class ArtifactMetapsionicTriggerSystem : BaseXATSystem { - [Dependency] private readonly XenoArtifactSystem _artifact = default!; - private EntityQuery _xenoArtifactQuery; public override void Initialize()