From 0c78c3465390e169ef99637d5ed6bc64d20717bb Mon Sep 17 00:00:00 2001 From: Boaz1111 <149967078+Boaz1111@users.noreply.github.com> Date: Wed, 17 Jan 2024 17:45:18 +0100 Subject: [PATCH] Xenoarch scanning time halved (#24188) * SALVATION * Update ArtifactAnalyzerComponent.cs * Update artifact_analyzer.yml --- .../Components/ArtifactAnalyzerComponent.cs | 23 ++----------------- .../Systems/ArtifactAnalyzerSystem.cs | 18 ++------------- .../Structures/Machines/artifact_analyzer.yml | 3 --- 3 files changed, 4 insertions(+), 40 deletions(-) diff --git a/Content.Server/Xenoarchaeology/Equipment/Components/ArtifactAnalyzerComponent.cs b/Content.Server/Xenoarchaeology/Equipment/Components/ArtifactAnalyzerComponent.cs index 07096c59af..949717676f 100644 --- a/Content.Server/Xenoarchaeology/Equipment/Components/ArtifactAnalyzerComponent.cs +++ b/Content.Server/Xenoarchaeology/Equipment/Components/ArtifactAnalyzerComponent.cs @@ -1,4 +1,4 @@ -using Content.Server.Xenoarchaeology.XenoArtifacts; +using Content.Server.Xenoarchaeology.XenoArtifacts; using Content.Shared.Construction.Prototypes; using Robust.Shared.Audio; using Robust.Shared.Serialization.TypeSerializers.Implementations; @@ -17,26 +17,7 @@ public sealed partial class ArtifactAnalyzerComponent : Component /// How long it takes to analyze an artifact /// [DataField("analysisDuration", customTypeSerializer: typeof(TimespanSerializer))] - public TimeSpan AnalysisDuration = TimeSpan.FromSeconds(60); - - /// - /// A mulitplier on the duration of analysis. - /// Used for machine upgrading. - /// - [ViewVariables(VVAccess.ReadWrite)] - public float AnalysisDurationMulitplier = 1; - - /// - /// The machine part that modifies analysis duration. - /// - [DataField("machinePartAnalysisDuration", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string MachinePartAnalysisDuration = "Manipulator"; - - /// - /// The modifier raised to the part rating to determine the duration multiplier. - /// - [DataField("partRatingAnalysisDurationMultiplier")] - public float PartRatingAnalysisDurationMultiplier = 0.75f; + public TimeSpan AnalysisDuration = TimeSpan.FromSeconds(30); /// /// The corresponding console entity. diff --git a/Content.Server/Xenoarchaeology/Equipment/Systems/ArtifactAnalyzerSystem.cs b/Content.Server/Xenoarchaeology/Equipment/Systems/ArtifactAnalyzerSystem.cs index abb14fbc8d..2f0b5459d9 100644 --- a/Content.Server/Xenoarchaeology/Equipment/Systems/ArtifactAnalyzerSystem.cs +++ b/Content.Server/Xenoarchaeology/Equipment/Systems/ArtifactAnalyzerSystem.cs @@ -51,8 +51,6 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem SubscribeLocalEvent(OnAnalyzeEnd); SubscribeLocalEvent(OnPowerChanged); - SubscribeLocalEvent(OnUpgradeExamine); - SubscribeLocalEvent(OnRefreshParts); SubscribeLocalEvent(OnItemPlaced); SubscribeLocalEvent(OnItemRemoved); @@ -82,7 +80,7 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem if (active.AnalysisPaused) continue; - if (_timing.CurTime - active.StartTime < scan.AnalysisDuration * scan.AnalysisDurationMulitplier - active.AccumulatedRunTime) + if (_timing.CurTime - active.StartTime < scan.AnalysisDuration - active.AccumulatedRunTime) continue; FinishScan(uid, scan, active); @@ -199,7 +197,7 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem { artifact = analyzer.LastAnalyzedArtifact; msg = GetArtifactScanMessage(analyzer); - totalTime = analyzer.AnalysisDuration * analyzer.AnalysisDurationMulitplier; + totalTime = analyzer.AnalysisDuration; if (TryComp(component.AnalyzerEntity, out var placer)) canScan = placer.PlacedEntities.Any(); canPrint = analyzer.ReadyToPrint; @@ -451,18 +449,6 @@ public sealed class ArtifactAnalyzerSystem : EntitySystem UpdateUserInterface(component.Console.Value); } - private void OnRefreshParts(EntityUid uid, ArtifactAnalyzerComponent component, RefreshPartsEvent args) - { - var analysisRating = args.PartRatings[component.MachinePartAnalysisDuration]; - - component.AnalysisDurationMulitplier = MathF.Pow(component.PartRatingAnalysisDurationMultiplier, analysisRating - 1); - } - - private void OnUpgradeExamine(EntityUid uid, ArtifactAnalyzerComponent component, UpgradeExamineEvent args) - { - args.AddPercentageUpgrade("analyzer-artifact-component-upgrade-analysis", component.AnalysisDurationMulitplier); - } - private void OnItemPlaced(EntityUid uid, ArtifactAnalyzerComponent component, ref ItemPlacedEvent args) { if (component.Console != null && Exists(component.Console)) diff --git a/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml b/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml index 7c147d5275..815c3247ee 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/artifact_analyzer.yml @@ -42,9 +42,6 @@ - type: ApcPowerReceiver powerLoad: 12000 needsPower: false #only turns on when scanning - - type: UpgradePowerDraw - powerDrawMultiplier: 0.80 - scaling: Exponential - type: ArtifactAnalyzer - type: ItemPlacer whitelist: -- 2.51.2