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