]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Simplifying Machine Upgrading (#15802)
authorNemanja <98561806+EmoGarbage404@users.noreply.github.com>
Sat, 29 Apr 2023 03:23:49 +0000 (23:23 -0400)
committerGitHub <noreply@github.com>
Sat, 29 Apr 2023 03:23:49 +0000 (13:23 +1000)
49 files changed:
Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs
Content.Server/Anomaly/Components/AnomalyVesselComponent.cs
Content.Server/Atmos/Piping/Binary/Components/GasRecyclerComponent.cs
Content.Server/Atmos/Piping/Unary/Components/GasThermoMachineComponent.cs
Content.Server/Bed/Components/StasisBedComponent.cs
Content.Server/Chemistry/Components/SolutionHeaterComponent.cs
Content.Server/Cloning/Components/CloningPodComponent.cs
Content.Server/Kitchen/Components/MicrowaveComponent.cs
Content.Server/Medical/BiomassReclaimer/BiomassReclaimerComponent.cs
Content.Server/Medical/Components/MedicalScannerComponent.cs
Content.Server/Nutrition/Components/FatExtractorComponent.cs
Content.Server/Shuttles/Components/ThrusterComponent.cs
Content.Server/Singularity/EntitySystems/EmitterSystem.cs
Content.Server/Xenoarchaeology/Equipment/Components/ArtifactAnalyzerComponent.cs
Content.Server/Xenoarchaeology/Equipment/Components/TraversalDistorterComponent.cs
Content.Shared/Construction/MachinePartSystem.cs
Content.Shared/Construction/Prototypes/MachinePartPrototype.cs
Content.Shared/Singularity/Components/SharedEmitterComponent.cs
Resources/Locale/en-US/machine/machine.ftl
Resources/Maps/Salvage/medium-dock.yml
Resources/Maps/Shuttles/striker.yml
Resources/Maps/Test/dev_map.yml
Resources/Maps/bagel.yml
Resources/Maps/barratry.yml
Resources/Maps/box.yml
Resources/Maps/cluster.yml
Resources/Maps/fland.yml
Resources/Maps/kettle.yml
Resources/Maps/marathon.yml
Resources/Maps/meta.yml
Resources/Maps/moose.yml
Resources/Maps/omega.yml
Resources/Maps/origin.yml
Resources/Prototypes/Catalog/Research/technologies.yml
Resources/Prototypes/Catalog/VendingMachines/Inventories/vendomat.yml
Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml
Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml
Resources/Prototypes/Entities/Objects/Misc/machine_parts.yml
Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Resources/Prototypes/Entities/Structures/Machines/medical_scanner.yml
Resources/Prototypes/Entities/Structures/Machines/microwave.yml
Resources/Prototypes/Entities/Structures/Machines/reagent_grinder.yml
Resources/Prototypes/Entities/Structures/Machines/stasisbed.yml
Resources/Prototypes/Entities/Structures/Shuttles/thrusters.yml
Resources/Prototypes/MachineParts/machine_parts.yml
Resources/Prototypes/Procedural/salvage_loot.yml
Resources/Prototypes/Recipes/Lathes/Parts.yml
Resources/Prototypes/XenoArch/Effects/normal_effects.yml
Resources/ServerInfo/Guidebook/Science/MachineUpgrading.xml

index 7dce0cc05cb829dd9f72bd41316b59fa8c53797e..8ae36f1770014f30a233a5f5bb450fb6ea73290c 100644 (file)
@@ -33,8 +33,6 @@ public abstract partial class InteractionTest
     protected const string Cap4 = "QuadraticCapacitorStockPart";
     protected const string Manipulator1 = "MicroManipulatorStockPart";
     protected const string Manipulator4 = "FemtoManipulatorStockPart";
-    protected const string Laser1 = "MicroLaserStockPart";
-    protected const string Laser2 = "QuadUltraMicroLaserStockPart";
     protected const string Battery1 = "PowerCellSmall";
     protected const string Battery4 = "PowerCellHyper";
 }
index 5eaa9b714affac56607316377c8cbb6a99d2a480..1dd6cbb254547a343f5fc22d4d705c4a940b2488 100644 (file)
@@ -32,7 +32,7 @@ public sealed class AnomalyVesselComponent : Component
     /// The machine part that affects the point multiplier of the vessel
     /// </summary>
     [DataField("machinePartPointModifier", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-    public string MachinePartPointModifier = "ScanningModule";
+    public string MachinePartPointModifier = "Capacitor";
 
     /// <summary>
     /// A value used to scale the point multiplier
index f7e00f58da94b25dd3ce422e63894e3b168cd8b1..28a1abaa2348cfac1274d22b09001dd6d7ea0c6b 100644 (file)
@@ -26,7 +26,7 @@ namespace Content.Server.Atmos.Piping.Binary.Components
         public float BaseMinTemp = 300 + Atmospherics.T0C;
 
         [DataField("machinePartMinTemp", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartMinTemp = "Laser";
+        public string MachinePartMinTemp = "Capacitor";
 
         [DataField("partRatingMinTempMultiplier")]
         public float PartRatingMinTempMultiplier = 0.95f;
index fcfffd2fecd18428ed8a6f0366145eeac8cf1f01..72699ef443c7192c80e16ddcc7e61fba1c537a7c 100644 (file)
@@ -91,7 +91,7 @@ namespace Content.Server.Atmos.Piping.Unary.Components
         ///     The machine part that affects the temperature range.
         /// </summary>
         [DataField("machinePartTemperature", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartTemperature = "Laser";
+        public string MachinePartTemperature = "Capacitor";
 
     }
 }
index 9a98c793aebef2ae71350d4928733ff4de1320fb..b70087b470284db91fe8a491336d245695a5b3e3 100644 (file)
@@ -16,6 +16,6 @@ namespace Content.Server.Bed.Components
         public float Multiplier = 10f;
 
         [DataField("machinePartMetabolismModifier", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartMetabolismModifier = "Manipulator";
+        public string MachinePartMetabolismModifier = "Capacitor";
     }
 }
index 888f4d212378adee7872dc4cbb2f20b1ee58f45a..ddeb4ff055aee99383e5b3ad0e752e0e95f468c8 100644 (file)
@@ -12,7 +12,7 @@ public sealed class SolutionHeaterComponent : Component
     public float HeatMultiplier = 1;
 
     [DataField("machinePartHeatPerSecond")]
-    public string MachinePartHeatPerSecond = "Laser";
+    public string MachinePartHeatPerSecond = "Capacitor";
 
     [DataField("partRatingHeatMultiplier")]
     public float PartRatingHeatMultiplier = 1.5f;
index f662fb42ba25a45b102ccfb23c2289933a0d2c80..97b276b8d062e1bea99e16157a7f24feee94cd4d 100644 (file)
@@ -49,7 +49,7 @@ namespace Content.Server.Cloning.Components
         /// The machine part that affects cloning speed
         /// </summary>
         [DataField("machinePartCloningSpeed", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartCloningSpeed = "ScanningModule";
+        public string MachinePartCloningSpeed = "Manipulator";
 
         /// <summary>
         /// The current amount of time it takes to clone a body
@@ -74,7 +74,7 @@ namespace Content.Server.Cloning.Components
         /// The machine part that decreases the amount of material needed for cloning
         /// </summary>
         [DataField("machinePartMaterialUse", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartMaterialUse = "Manipulator";
+        public string MachinePartMaterialUse = "MatterBin";
 
         [ViewVariables(VVAccess.ReadWrite)]
         public CloningPodStatus Status;
index 74182dd17336a3cb754a24f808b9aff89c7a9a5e..cb5e0310047e0b0a4546a6da2429e1bb08b5453a 100644 (file)
@@ -12,7 +12,7 @@ namespace Content.Server.Kitchen.Components
         [DataField("cookTimeMultiplier"), ViewVariables(VVAccess.ReadWrite)]
         public float CookTimeMultiplier = 1;
         [DataField("machinePartCookTimeMultiplier", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartCookTimeMultiplier = "Laser";
+        public string MachinePartCookTimeMultiplier = "Capacitor";
         [DataField("cookTimeScalingConstant")]
         public float CookTimeScalingConstant = 0.5f;
 
index 4022c25d141fb992b07a908160a3be3be3ab585c..4281aacc52f8715effa368a5c822f1a8644117ed 100644 (file)
@@ -63,7 +63,7 @@ namespace Content.Server.Medical.BiomassReclaimer
         /// Machine part whose rating modifies the yield per mass.
         /// </summary>
         [DataField("machinePartYieldAmount", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartYieldAmount = "Manipulator";
+        public string MachinePartYieldAmount = "MatterBin";
 
         /// <summary>
         /// How much the machine part quality affects the yield.
@@ -89,7 +89,7 @@ namespace Content.Server.Medical.BiomassReclaimer
         /// The machine part that increses the processing speed.
         /// </summary>
         [DataField("machinePartProcessSpeed", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartProcessingSpeed = "Laser";
+        public string MachinePartProcessingSpeed = "Manipulator";
 
         /// <summary>
         /// How much the machine part quality affects the yield.
index 165eb17d20a65d22f01042def188f42b34d1e86f..fd351c6804311fa400a779c2e52a1e9d78869ef8 100644 (file)
@@ -17,7 +17,7 @@ namespace Content.Server.Medical.Components
         public float CloningFailChanceMultiplier = 1f;
 
         [DataField("machinePartCloningFailChance", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartCloningFailChance = "ScanningModule";
+        public string MachinePartCloningFailChance = "Capacitor";
 
         [DataField("partRatingCloningFailChanceMultiplier")]
         public float PartRatingFailMultiplier = 0.75f;
index 8a0826c29ce9e9d8afcf3d8ccc89efb7f30994fb..4d70ead8fc34993f545963337cb1ba0e1cb1e4fc 100644 (file)
@@ -37,7 +37,7 @@ public sealed class FatExtractorComponent : Component
     /// Which machine part affects the nutrition rate
     /// </summary>
     [DataField("machinePartNutritionRate", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-    public string MachinePartNutritionRate = "Laser";
+    public string MachinePartNutritionRate = "Manipulator";
 
     /// <summary>
     /// The increase in rate per each rating above 1.
index f9c59e4c6f069258a366c0625a21183003c9bbdd..75d4774305ff25a23a453e4a0d03bf5a667eb060 100644 (file)
@@ -83,7 +83,7 @@ namespace Content.Server.Shuttles.Components
         public TimeSpan NextFire;
 
         [DataField("machinePartThrust", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-        public string MachinePartThrust = "Laser";
+        public string MachinePartThrust = "Capacitor";
 
         [DataField("partRatingThrustMultiplier")]
         public float PartRatingThrustMultiplier = 1.5f;
index 869a98a615789b0fae7af4a9df051a686a590888..fb69f6b6b671d72d021284339c0fee6fb0d70732 100644 (file)
@@ -179,11 +179,8 @@ namespace Content.Server.Singularity.EntitySystems
 
         private void OnRefreshParts(EntityUid uid, EmitterComponent component, RefreshPartsEvent args)
         {
-            var powerUseRating = args.PartRatings[component.MachinePartPowerUse];
             var fireRateRating = args.PartRatings[component.MachinePartFireRate];
 
-            component.PowerUseActive = (int) (component.BasePowerUseActive * MathF.Pow(component.PowerUseMultiplier, powerUseRating - 1));
-
             component.FireInterval = component.BaseFireInterval * MathF.Pow(component.FireRateMultiplier, fireRateRating - 1);
             component.FireBurstDelayMin = component.BaseFireBurstDelayMin * MathF.Pow(component.FireRateMultiplier, fireRateRating - 1);
             component.FireBurstDelayMax = component.BaseFireBurstDelayMax * MathF.Pow(component.FireRateMultiplier, fireRateRating - 1);
@@ -192,8 +189,6 @@ namespace Content.Server.Singularity.EntitySystems
         private void OnUpgradeExamine(EntityUid uid, EmitterComponent component, UpgradeExamineEvent args)
         {
             args.AddPercentageUpgrade("emitter-component-upgrade-fire-rate", (float) (component.BaseFireInterval.TotalSeconds / component.FireInterval.TotalSeconds));
-            // TODO: Remove this and use UpgradePowerDrawComponent instead.
-            args.AddPercentageUpgrade("upgrade-power-draw", component.PowerUseActive / (float) component.BasePowerUseActive);
         }
 
         public void SwitchOff(EmitterComponent component)
index 558f438242332726dd5ac78567626e57cf31af17..f21c8a6b5195da3f34d685d9a62f4608a03d7c03 100644 (file)
@@ -30,7 +30,7 @@ public sealed class ArtifactAnalyzerComponent : Component
     /// The machine part that modifies analysis duration.
     /// </summary>
     [DataField("machinePartAnalysisDuration", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-    public string MachinePartAnalysisDuration = "ScanningModule";
+    public string MachinePartAnalysisDuration = "Manipulator";
 
     /// <summary>
     /// The modifier raised to the part rating to determine the duration multiplier.
index 3530b6af1504af240a84bbc3560eaab774f5ecf6..b029836c0817b8125f6a1fc6898dcecd5aefcb82 100644 (file)
@@ -17,7 +17,7 @@ public sealed class TraversalDistorterComponent : Component
     public float BaseBiasChance = 0.7f;
 
     [DataField("machinePartBiasChance", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-    public string MachinePartBiasChance = "ScanningModule";
+    public string MachinePartBiasChance = "Manipulator";
 
     [DataField("partRatingBiasChance")]
     public float PartRatingBiasChance = 1.1f;
index 38e70848bebadb4f77c14751218ea71d33fd1c33..d84557b2de0f0b1381afbdc80bec4512f8ac1386 100644 (file)
@@ -1,5 +1,7 @@
 using Content.Shared.Construction.Components;
+using Content.Shared.Construction.Prototypes;
 using Content.Shared.Examine;
+using Robust.Shared.Prototypes;
 
 namespace Content.Shared.Construction
 {
@@ -8,6 +10,8 @@ namespace Content.Shared.Construction
     /// </summary>
     public sealed class MachinePartSystem : EntitySystem
     {
+        [Dependency] private readonly IPrototypeManager _prototype = default!;
+
         public override void Initialize()
         {
             base.Initialize();
@@ -24,7 +28,7 @@ namespace Content.Shared.Construction
             {
                 args.PushMarkup(Loc.GetString("machine-board-component-required-element-entry-text",
                                                 ("amount", amount),
-                                                ("requiredElement", Loc.GetString(part))));
+                                                ("requiredElement", Loc.GetString(_prototype.Index<MachinePartPrototype>(part).Name))));
             }
 
             foreach (var (material, amount) in component.MaterialRequirements)
@@ -54,7 +58,8 @@ namespace Content.Shared.Construction
             if (!args.IsInDetailsRange)
                 return;
             args.PushMarkup(Loc.GetString("machine-part-component-on-examine-rating-text", ("rating", component.Rating)));
-            args.PushMarkup(Loc.GetString("machine-part-component-on-examine-type-text", ("type", component.PartType)));
+            args.PushMarkup(Loc.GetString("machine-part-component-on-examine-type-text", ("type",
+                Loc.GetString(_prototype.Index<MachinePartPrototype>(component.PartType).Name))));
         }
     }
 }
index 5a209c9ef25c3e685b2abc1b4e413aab90438dda..a4a4b91a09ead92bade273052c6ac53ee9e0d3bc 100644 (file)
@@ -14,9 +14,15 @@ public sealed class MachinePartPrototype : IPrototype
     [IdDataField]
     public string ID { get; } = default!;
 
+    /// <summary>
+    /// A human-readable name for the machine part type.
+    /// </summary>
+    [DataField("name")]
+    public readonly string Name = string.Empty;
+
     /// <summary>
     /// A stock part entity based on the machine part.
     /// </summary>
-    [DataField("stockPartPrototype", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
-    public string? StockPartPrototype { get; }
+    [DataField("stockPartPrototype", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>), required: true)]
+    public readonly string StockPartPrototype = string.Empty;
 }
index 757982324679e478540edbc752b4d53e72276e77..d931f87d6f23317372314156c82d8b0a7b00b62f 100644 (file)
@@ -39,26 +39,6 @@ public sealed class EmitterComponent : Component
     [DataField("powerUseActive")]
     public int PowerUseActive = 600;
 
-    /// <summary>
-    /// The base amount of power that is consumed.
-    /// Used in machine part rating calculations.
-    /// </summary>
-    [DataField("basePowerUseActive"), ViewVariables(VVAccess.ReadWrite)]
-    public int BasePowerUseActive = 600;
-
-    /// <summary>
-    /// Multiplier that is applied to the basePowerUseActive
-    /// to get the actual power use.
-    /// </summary>
-    [DataField("powerUseMultiplier")]
-    public float PowerUseMultiplier = 0.75f;
-
-    /// <summary>
-    /// The machine part used to reduce the power use of the machine.
-    /// </summary>
-    [DataField("machinePartPowerUse", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-    public string MachinePartPowerUse = "Capacitor";
-
     /// <summary>
     /// The amount of shots that are fired in a single "burst"
     /// </summary>
@@ -114,7 +94,7 @@ public sealed class EmitterComponent : Component
     /// The machine part that affects burst delay.
     /// </summary>
     [DataField("machinePartFireRate", customTypeSerializer: typeof(PrototypeIdSerializer<MachinePartPrototype>))]
-    public string MachinePartFireRate = "Laser";
+    public string MachinePartFireRate = "Capacitor";
 
     /// <summary>
     /// The visual state that is set when the emitter is turned on
index 1a3fbfee2e99ecdf9dd42ab85de55af737156ab7..1d086e4fdb5cbcfe070038d26e954f5bf2e6fbdf 100644 (file)
@@ -8,6 +8,10 @@ machine-upgrade-increased-by-amount = [color=yellow]{CAPITALIZE($upgraded)}[/col
 machine-upgrade-decreased-by-amount = [color=yellow]{CAPITALIZE($upgraded)}[/color] decreased by {$difference}.
 machine-upgrade-not-upgraded = [color=yellow]{CAPITALIZE($upgraded)}[/color] not upgraded.
 
+machine-part-name-capacitor = Capacitor
+machine-part-name-manipulator = Manipulator
+machine-part-name-matter-bin = Matter Bin
+
 upgrade-power-draw = power draw
 upgrade-max-charge = max charge
 upgrade-power-supply = power supply
index bdf80ee4ec25bd496ac6b50bd9d329c5dc1e0236..3f9ca42e546372024ad95e1567c812f44c84ec3f 100644 (file)
@@ -1176,7 +1176,7 @@ entities:
     parent: 50\r
     type: Transform\r
 - uid: 114\r
-  type: TriphasicScanningModuleStockPart\r
+  type: QuadraticCapacitorStockPart\r
   components:\r
   - pos: -5.6509933,-2.338189\r
     parent: 50\r
index a6bb543df7021417965f31df70596cdc45edeb81..7a4198786e4e4811a08f1c1e9c0b9dfee03c407c 100644 (file)
@@ -2931,7 +2931,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 241
-  type: ScanningModuleStockPart
+  type: CapacitorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -2940,7 +2940,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 242
-  type: ScanningModuleStockPart
+  type: CapacitorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3014,7 +3014,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 250
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3023,7 +3023,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 251
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3032,7 +3032,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 252
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3041,7 +3041,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 253
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3079,7 +3079,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 257
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3088,7 +3088,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 258
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3097,7 +3097,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 259
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3106,7 +3106,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 260
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3144,7 +3144,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 264
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3153,7 +3153,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 265
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3162,7 +3162,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 266
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3171,7 +3171,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 267
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3209,7 +3209,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 271
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3218,7 +3218,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 272
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3227,7 +3227,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 273
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3236,7 +3236,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 274
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3274,7 +3274,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 278
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3283,7 +3283,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 279
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3292,7 +3292,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 280
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3301,7 +3301,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 281
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3339,7 +3339,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 285
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3348,7 +3348,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 286
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3357,7 +3357,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 287
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3366,7 +3366,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 288
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3404,7 +3404,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 292
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3413,7 +3413,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 293
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3422,7 +3422,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 294
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3431,7 +3431,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 295
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3469,7 +3469,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 299
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3478,7 +3478,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 300
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3487,7 +3487,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 301
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -3496,7 +3496,7 @@ entities:
   - canCollide: False
     type: Physics
 - uid: 302
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
index 380ecc1fce4c7ad7cf3245ae3b5ad83f75469b3b..8725063d3cd5c0a4aa9232cec4c28bc81bfc7653 100644 (file)
@@ -3569,12 +3569,6 @@ entities:
   - pos: 3.6877818,5.312015
     parent: 179
     type: Transform
-- uid: 463
-  type: HighPowerMicroLaserStockPart
-  components:
-  - pos: -5.7834854,8.24448
-    parent: 179
-    type: Transform
 - uid: 464
   type: WallSolid
   components:
@@ -5249,24 +5243,6 @@ entities:
   - pos: 7.5,16.5
     parent: 179
     type: Transform
-- uid: 697
-  type: MicroLaserStockPart
-  components:
-  - pos: -5.3147354,8.275752
-    parent: 179
-    type: Transform
-- uid: 698
-  type: QuadUltraMicroLaserStockPart
-  components:
-  - pos: -6.6168184,8.327871
-    parent: 179
-    type: Transform
-- uid: 699
-  type: UltraHighPowerMicroLaserStockPart
-  components:
-  - pos: -6.200152,8.2966
-    parent: 179
-    type: Transform
 - uid: 700
   type: AdvancedCapacitorStockPart
   components:
index 895f0d2ee95cd3b9a3560cdde430441e64aebcd1..cab49a87adf7042fa430c320a5421cd0e3825f7f 100644 (file)
@@ -81049,7 +81049,7 @@ entities:
     parent: 60\r
     type: Transform\r
 - uid: 9425\r
-  type: MicroLaserStockPart\r
+  type: MicroManipulatorStockPart\r
   components:\r
   - pos: -45.496006,-9.58335\r
     parent: 60\r
@@ -106413,7 +106413,7 @@ entities:
     parent: 60\r
     type: Transform\r
 - uid: 13015\r
-  type: ScanningModuleStockPart\r
+  type: CapacitorStockPart\r
   components:\r
   - pos: -67.444885,9.609138\r
     parent: 60\r
@@ -106425,7 +106425,7 @@ entities:
     parent: 60\r
     type: Transform\r
 - uid: 13017\r
-  type: ScanningModuleStockPart\r
+  type: CapacitorStockPart\r
   components:\r
   - pos: -67.61676,9.687263\r
     parent: 60\r
@@ -153533,13 +153533,13 @@ entities:
   - bodyType: Static\r
     type: Physics\r
 - uid: 19181\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 23.305836,21.651909\r
     parent: 60\r
     type: Transform\r
 - uid: 19182\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 23.430836,21.558159\r
     parent: 60\r
index 72e4b52e9fa782fb790d0c7c368d990048419eea..fb969c53c7bec6be297d6ef89659dbbc3a858cab 100644 (file)
@@ -22002,7 +22002,7 @@ entities:
     parent: 1
     type: Transform
 - uid: 1671
-  type: HighPowerMicroLaserStockPart
+  type: NanoManipulatorStockPart
   components:
   - pos: 14.5277,-7.4270515
     parent: 1
@@ -112649,19 +112649,19 @@ entities:
     parent: 1
     type: Transform
 - uid: 13663
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - pos: -16.101051,-14.435623
     parent: 1
     type: Transform
 - uid: 13664
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - pos: -15.913552,-14.341873
     parent: 1
     type: Transform
 - uid: 13665
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - pos: -15.757302,-14.435623
     parent: 1
@@ -124476,7 +124476,7 @@ entities:
     type: Physics
   - type: InsideEntityStorage
 - uid: 15088
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -124486,7 +124486,7 @@ entities:
     type: Physics
   - type: InsideEntityStorage
 - uid: 15089
-  type: ScanningModuleStockPart
+  type: CapacitorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -124496,7 +124496,7 @@ entities:
     type: Physics
   - type: InsideEntityStorage
 - uid: 15090
-  type: ScanningModuleStockPart
+  type: CapacitorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -124506,7 +124506,7 @@ entities:
     type: Physics
   - type: InsideEntityStorage
 - uid: 15091
-  type: ScanningModuleStockPart
+  type: CapacitorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -124556,7 +124556,7 @@ entities:
     type: Physics
   - type: InsideEntityStorage
 - uid: 15096
-  type: ScanningModuleStockPart
+  type: CapacitorStockPart
   components:
   - flags: InContainer
     type: MetaData
@@ -124694,7 +124694,7 @@ entities:
   - enabled: True
     type: AmbientSound
 - uid: 15114
-  type: AdvancedScanningModuleStockPart
+  type: AdvancedCapacitorStockPart
   components:
   - pos: 14.793325,-7.4583015
     parent: 1
@@ -124706,7 +124706,7 @@ entities:
     parent: 1
     type: Transform
 - uid: 15116
-  type: HighPowerMicroLaserStockPart
+  type: NanoManipulatorStockPart
   components:
   - pos: 14.2777,-7.5208015
     parent: 1
index ab73c49ee5a7cd89a50b590cc1787da8d1fece3e..08ee9c0b7be011cde42d10d72f0d4c4f3d9fb035 100644 (file)
@@ -122307,7 +122307,7 @@ entities:
     parent: 8364\r
     type: Transform\r
 - uid: 16356\r
-  type: MicroLaserStockPart\r
+  type: MicroManipulatorStockPart\r
   components:\r
   - pos: -8.652201,-39.009583\r
     parent: 8364\r
@@ -122355,7 +122355,7 @@ entities:
   - enabled: True\r
     type: AmbientSound\r
 - uid: 16363\r
-  type: ScanningModuleStockPart\r
+  type: CapacitorStockPart\r
   components:\r
   - pos: -8.441639,-39.39827\r
     parent: 8364\r
@@ -158819,7 +158819,7 @@ entities:
     parent: 8364\r
     type: Transform\r
 - uid: 21185\r
-  type: MicroLaserStockPart\r
+  type: MicroManipulatorStockPart\r
   components:\r
   - pos: 74.25775,-19.490871\r
     parent: 8364\r
@@ -158914,7 +158914,7 @@ entities:
     parent: 8364\r
     type: Transform\r
 - uid: 21198\r
-  type: ScanningModuleStockPart\r
+  type: CapacitorStockPart\r
   components:\r
   - pos: 74.72912,-20.240425\r
     parent: 8364\r
index 8370df2f140b4825b4fa3bdc6463b36766809366..e3b2246ff99e9023391355325e7284c1286e1843 100644 (file)
@@ -70308,7 +70308,7 @@ entities:
     parent: 1
     type: Transform
 - uid: 9500
-  type: AdvancedScanningModuleStockPart
+  type: AdvancedCapacitorStockPart
   components:
   - pos: -3.7302828,-31.280602
     parent: 1
@@ -70320,7 +70320,7 @@ entities:
     parent: 1
     type: Transform
 - uid: 9502
-  type: HighPowerMicroLaserStockPart
+  type: NanoManipulatorStockPart
   components:
   - pos: -3.960114,-31.306107
     parent: 1
index 40a6d9fbd80259c8b96a47c4310d122a53864a3f..055a3a14e6183a278da93e7785465d86f67f1334 100644 (file)
@@ -132689,13 +132689,13 @@ entities:
     parent: 0\r
     type: Transform\r
 - uid: 15532\r
-  type: MicroLaserStockPart\r
+  type: MicroManipulatorStockPart\r
   components:\r
   - pos: 54.353794,-20.39325\r
     parent: 0\r
     type: Transform\r
 - uid: 15533\r
-  type: MicroLaserStockPart\r
+  type: MicroManipulatorStockPart\r
   components:\r
   - pos: 54.55692,-20.471375\r
     parent: 0\r
@@ -223673,13 +223673,13 @@ entities:
     parent: 0\r
     type: Transform\r
 - uid: 27918\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 62.644222,-3.6298528\r
     parent: 0\r
     type: Transform\r
 - uid: 27919\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 62.503597,-3.5673528\r
     parent: 0\r
@@ -223715,13 +223715,13 @@ entities:
     parent: 0\r
     type: Transform\r
 - uid: 27925\r
-  type: ScanningModuleStockPart\r
+  type: CapacitorStockPart\r
   components:\r
   - pos: 62.3291,-2.7915568\r
     parent: 0\r
     type: Transform\r
 - uid: 27926\r
-  type: ScanningModuleStockPart\r
+  type: CapacitorStockPart\r
   components:\r
   - pos: 62.3291,-2.5415568\r
     parent: 0\r
@@ -253465,7 +253465,7 @@ entities:
     parent: 0\r
     type: Transform\r
 - uid: 31901\r
-  type: MicroLaserStockPart\r
+  type: MicroManipulatorStockPart\r
   components:\r
   - pos: -27.469536,6.4936976\r
     parent: 0\r
@@ -255024,7 +255024,7 @@ entities:
     parent: 0\r
     type: Transform\r
   - content: >\r
-      this is toilet paper \r
+      this is toilet paper\r
 \r
       for your ass\r
 \r
index 9d3fbdef1bb205435df2028a85f77c3399963d4a..cc59ef736c9529c95426fcd39c586b9c862d7387 100644 (file)
@@ -121792,13 +121792,13 @@ entities:
     parent: 82\r
     type: Transform\r
 - uid: 15004\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 24.905888,58.755814\r
     parent: 82\r
     type: Transform\r
 - uid: 15005\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 25.017,58.575256\r
     parent: 82\r
@@ -121828,7 +121828,7 @@ entities:
     parent: 82\r
     type: Transform\r
 - uid: 15010\r
-  type: AdvancedScanningModuleStockPart\r
+  type: AdvancedCapacitorStockPart\r
   components:\r
   - pos: 25.575817,58.709774\r
     parent: 82\r
index 26a14adcf60ddafdc2b1016ad341ca473a364223..0b856d984207ea8f60b36c5b39a941a923836b50 100644 (file)
@@ -164246,7 +164246,7 @@ entities:
     parent: 30\r
     type: Transform\r
 - uid: 20970\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 2.559926,21.402208\r
     parent: 30\r
@@ -164272,7 +164272,7 @@ entities:
     parent: 30\r
     type: Transform\r
 - uid: 20974\r
-  type: AdvancedScanningModuleStockPart\r
+  type: AdvancedCapacitorStockPart\r
   components:\r
   - pos: 2.2878256,21.230333\r
     parent: 30\r
@@ -174229,7 +174229,7 @@ entities:
     parent: 30\r
     type: Transform\r
 - uid: 22099\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 2.731801,21.495958\r
     parent: 30\r
@@ -175931,7 +175931,7 @@ entities:
     parent: 30\r
     type: Transform\r
 - uid: 22441\r
-  type: ScanningModuleStockPart\r
+  type: CapacitorStockPart\r
   components:\r
   - pos: 2.452661,20.541075\r
     parent: 30\r
index 74dcaff08ac97a1d2140a60a8bbfe537053931f4..5fb29e2be3cd9db61bf8fbf9b7eccaba5c9e3c25 100644 (file)
@@ -178622,7 +178622,7 @@ entities:
     parent: 5350\r
     type: Transform\r
 - uid: 22297\r
-  type: MicroLaserStockPart\r
+  type: MicroManipulatorStockPart\r
   components:\r
   - pos: 12.593327,-30.87613\r
     parent: 5350\r
@@ -197270,13 +197270,13 @@ entities:
     parent: 5350\r
     type: Transform\r
 - uid: 24716\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 40.44346,10.567184\r
     parent: 5350\r
     type: Transform\r
 - uid: 24717\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 40.56846,10.489059\r
     parent: 5350\r
index 885e450f3ea3d724b419498bb2762e001624e999..ff255c240a4ae1077851a719c42e74d3435d7565 100644 (file)
@@ -42234,7 +42234,7 @@ entities:
     parent: 6\r
     type: Transform\r
 - uid: 5390\r
-  type: AdvancedScanningModuleStockPart\r
+  type: AdvancedCapacitorStockPart\r
   components:\r
   - pos: -9.340726,-53.888344\r
     parent: 6\r
@@ -42252,7 +42252,7 @@ entities:
     parent: 6\r
     type: Transform\r
 - uid: 5393\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: -9.525309,-54.22893\r
     parent: 6\r
index 663de5af8d245a6e4876ed1b68fc916a6ed175d5..7c1afb1594a6c3db7a75e6059568d6bab15ac9bc 100644 (file)
@@ -48994,19 +48994,19 @@ entities:
     parent: 0\r
     type: Transform\r
 - uid: 6202\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 7.436289,-15.783581\r
     parent: 0\r
     type: Transform\r
 - uid: 6203\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 7.623789,-15.783581\r
     parent: 0\r
     type: Transform\r
 - uid: 6204\r
-  type: HighPowerMicroLaserStockPart\r
+  type: NanoManipulatorStockPart\r
   components:\r
   - pos: 7.811289,-15.783581\r
     parent: 0\r
@@ -49054,7 +49054,7 @@ entities:
     parent: 0\r
     type: Transform\r
 - uid: 6212\r
-  type: PhasicScanningModuleStockPart\r
+  type: SuperCapacitorStockPart\r
   components:\r
   - pos: 7.5679626,-16.149172\r
     parent: 0\r
index f2f1faaab96afbfcbcf50ed871c31d1fda62f2a5..741c38819b370c0d012917184befa295c6be936e 100644 (file)
@@ -127047,7 +127047,7 @@ entities:
     parent: 1
     type: Transform
 - uid: 15512
-  type: ScanningModuleStockPart
+  type: CapacitorStockPart
   components:
   - pos: -50.47893,-28.448412
     parent: 1
@@ -228027,7 +228027,7 @@ entities:
   - powerLoad: 0
     type: ApcPowerReceiver
 - uid: 28651
-  type: MicroLaserStockPart
+  type: MicroManipulatorStockPart
   components:
   - pos: 57.42882,-47.52101
     parent: 1
index 59549821ec690c49e4006ad748ef5a7fa9f0624d..7b1fc7cac4cb5ba025d4117b6d70a959fd6ac4e4 100644 (file)
   - TechDiskComputerCircuitboard
   - CapacitorStockPart
   - MatterBinStockPart
-  - MicroLaserStockPart
   - MicroManipulatorStockPart
-  - ScanningModuleStockPart
   - NodeScanner
   - AnomalyScanner
   - AnomalyLocator
   unlockedRecipes:
   - AdvancedCapacitorStockPart
   - AdvancedMatterBinStockPart
-  - HighPowerMicroLaserStockPart
   - NanoManipulatorStockPart
-  - AdvancedScanningModuleStockPart
 
 - type: technology
   name: technologies-magboots-technology
   unlockedRecipes:
   - SuperCapacitorStockPart
   - SuperMatterBinStockPart
-  - UltraHighPowerMicroLaserStockPart
   - PicoManipulatorStockPart
-  - PhasicScanningModuleStockPart
index c78135ab87b47ea0d48517eef36cac320e517d4a..2ef1ad62fe65fcc0c76002c708bc7544c6f31692 100644 (file)
@@ -6,8 +6,6 @@
     CableApcStack: 2
     FlashlightLantern: 2
     PowerCellSmallPrinted: 3
-    MicroLaserStockPart: 4
     MatterBinStockPart: 4
     CapacitorStockPart: 4
-    MicroManipulatorStockPart: 4
-    ScanningModuleStockPart: 4
\ No newline at end of file
+    MicroManipulatorStockPart: 4
\ No newline at end of file
index 21e7c0223c6028b17327f1f7874eec3a3115f27d..2a9b2003655ebf0c9ca01df824fc590226936124 100644 (file)
@@ -62,9 +62,7 @@
     - type: RandomSpawner
       prototypes:
         - AdvancedCapacitorStockPart
-        - AdvancedScanningModuleStockPart
         - NanoManipulatorStockPart
-        - HighPowerMicroLaserStockPart
         - AdvancedMatterBinStockPart
       offset: 0.0
 
     - type: RandomSpawner
       rarePrototypes:
         - QuadraticCapacitorStockPart
-        - TriphasicScanningModuleStockPart
         - FemtoManipulatorStockPart
-        - QuadUltraMicroLaserStockPart
         - BluespaceMatterBinStockPart
       rareChance: 0.05
       prototypes:
         - SuperCapacitorStockPart
-        - PhasicScanningModuleStockPart
         - PicoManipulatorStockPart
-        - UltraHighPowerMicroLaserStockPart
         - SuperMatterBinStockPart
       chance: 0.95
       offset: 0.0
index 7df228de485bb063f0b0c0d9f879b949f244eb06..4a8815cce6ff4e0e8c0ce5b4488a56b55af14ec6 100644 (file)
     prototype: UniformPrinter
     requirements:
       MatterBin: 1
-      Laser: 2
+      Manipulator: 2
 
 - type: entity
   id: VaccinatorMachineCircuitboard
     state: medical
   - type: MachineBoard
     prototype: DiseaseDiagnoser
-    requirements:
-      Manipulator: 1
-      Laser: 2
     materialRequirements:
       Cable: 5
+    tagRequirements:
+      GlassBeaker:
+        Amount: 1
+        DefaultPrototype: Beaker
+        ExamineName: Glass Beaker
+    componentRequirements:
+      DiseaseSwab:
+        Amount: 1
+        DefaultPrototype: DiseaseSwab
+        ExamineName: Swab
 
 - type: entity
   id: ArtifactAnalyzerMachineCircuitboard
     - type: MachineBoard
       prototype: MachineArtifactAnalyzer
       requirements:
-        ScanningModule: 3
+        Manipulator: 3
         Capacitor: 1
       materialRequirements:
         Glass: 5
     - type: MachineBoard
       prototype: MachineTraversalDistorter
       requirements:
-        ScanningModule: 1
+        Manipulator: 1
         Capacitor: 2
       materialRequirements:
         Steel: 5
     - type: MachineBoard
       prototype: MachineAnomalyVessel
       requirements:
-        ScanningModule: 5
+        Capacitor: 5
       materialRequirements:
         Cable: 1
         PlasmaGlass: 10
     - type: MachineBoard
       prototype: MachineAPE
       requirements:
-        Capacitor: 1
-        Laser: 3
+        Capacitor: 2
       materialRequirements:
         Cable: 1
+        Glass: 1
 
 - type: entity
   id: ThermomachineFreezerMachineCircuitBoard
   - type: MachineBoard
     prototype: GasThermoMachineFreezer
     requirements:
-      MatterBin: 3
-      Laser: 3
+      MatterBin: 2
+      Manipulator: 2
     materialRequirements:
       Cable: 5
   - type: Construction
   - type: MachineBoard
     prototype: GasThermoMachineHeater
     requirements:
-      MatterBin: 3
-      Laser: 3
+      MatterBin: 2
+      Manipulator: 2
     materialRequirements:
       Cable: 5
   - type: Construction
   - type: MachineBoard
     prototype: PortableScrubber
     requirements:
-      MatterBin: 3
+      MatterBin: 1
       Manipulator: 2
     materialRequirements:
       Cable: 5
     - type: MachineBoard
       prototype: CloningPod
       requirements:
-        ScanningModule: 2
+        MatterBin: 2
         Manipulator: 2
       materialRequirements:
         Glass: 1
     - type: MachineBoard
       prototype: MedicalScanner
       requirements:
-        ScanningModule: 2
         Capacitor: 1
       materialRequirements:
         Glass: 5
   components:
     - type: MachineBoard
       prototype: CrewMonitoringServer
-      requirements:
-        Capacitor: 1
-        ScanningModule: 2
       materialRequirements:
         Steel: 1
         Cable: 2
       state: medical
     - type: MachineBoard
       prototype: CryoPod
-      requirements:
-        ScanningModule: 1
-        Manipulator: 1
-        MatterBin: 2
       materialRequirements:
-        Glass: 1
+        Glass: 5
         Cable: 1
 
 - type: entity
     - type: MachineBoard
       prototype: chem_master
       requirements:
-        Manipulator: 1
+        Capacitor: 1
       materialRequirements:
         Glass: 1
+        Cable: 1
       tagRequirements:
         GlassBeaker:
           Amount: 2
       prototype: chem_dispenser
       requirements:
         Capacitor: 1
-        Manipulator: 1
-        MatterBin: 2
       materialRequirements:
         Glass: 1
+        Steel: 3
+      tagRequirements:
+        GlassBeaker:
+          Amount: 2
+          DefaultPrototype: Beaker
+          ExamineName: Glass Beaker
 
 - type: entity
   id: BiomassReclaimerMachineCircuitboard
     - type: MachineBoard
       prototype: BiomassReclaimer
       requirements:
-        Laser: 1
+        MatterBin: 2
         Manipulator: 1
       tagRequirements:
         Pipe:
       state: service
     - type: MachineBoard
       prototype: hydroponicsTray
-      # See: https://github.com/vgstation-coders/vgstation13/blob/e9a806f30b4db0efa2a68b9eb42e3120d2321b6a/code/modules/hydroponics/hydro_tray.dm#L57
-      requirements:
-        MatterBin: 2
-        ScanningModule: 1
-        Capacitor: 1
       materialRequirements:
         # replacing the console screen
-        Glass: 1
+        Glass: 5
+        Cable: 2
       tagRequirements:
         GlassBeaker:
           Amount: 2
     - type: MachineBoard
       prototype: SMESBasicEmpty
       requirements:
-        Capacitor: 10
+        Capacitor: 5
 
 - type: entity
   id: SubstationMachineCircuitboard
   components:
     - type: MachineBoard
       prototype: DawInstrument
-      requirements:
-        Capacitor: 4
-        ScanningModule: 5
       materialRequirements:
         Glass: 1
+        Cable: 1
       tagRequirements:
 #      One instrument to bring them all and in the darkness bind them...
        KeyedInstrument:
   - type: MachineBoard
     prototype: Thruster
     requirements:
-      Laser: 4
-      Capacitor: 1
+      Capacitor: 4
     materialRequirements:
       Steel: 5
 
   - type: MachineBoard
     prototype: Gyroscope
     requirements:
-      ScanningModule: 2
+      Manipulator: 2
       Capacitor: 1
     materialRequirements:
       Glass: 2
     - type: MachineBoard
       prototype: KitchenReagentGrinder
       requirements:
-        Capacitor: 1
         MatterBin: 2
         Manipulator: 2
       tagRequirements:
     - type: MachineBoard
       prototype: ChemistryHotplate
       requirements:
-        Laser: 2
+        Capacitor: 2
       materialRequirements:
-        Steel: 2
+        Glass: 1
 
 - type: entity
   id: StasisBedMachineCircuitboard
       prototype: StasisBed
       requirements:
         Capacitor: 1
-        Manipulator: 1
       materialRequirements:
         Cable: 3
       tagRequirements:
         Pipe:
-          Amount: 4
+          Amount: 1
           DefaultPrototype: GasPipeStraight
           ExamineName: Pipe
         Cryobeaker:
       prototype: OreProcessor
       requirements:
         MatterBin: 1
-        Manipulator: 1
-        Laser: 2
+        Manipulator: 3
       materialRequirements:
         Glass: 1
 
       prototype: KitchenMicrowave
       requirements:
         Capacitor: 1
-        Laser: 1
       materialRequirements:
         Glass: 2
         Cable: 2
     - type: MachineBoard
       prototype: FatExtractor
       requirements:
-        Laser: 1
+        Manipulator: 1
       componentRequirements:
         Utensil:
           Amount: 1
     - type: MachineBoard
       prototype: Emitter
       requirements:
-        Capacitor: 1
-        Laser: 1
+        Capacitor: 2
       materialRequirements:
         CableHV: 5
         Glass: 2
   components:
     - type: MachineBoard
       prototype: SurveillanceCameraRouterConstructed
-      requirements:
-        Capacitor: 4
+      materialRequirements:
+        Cable: 1
 
 - type: entity
   id: SurveillanceCameraWirelessRouterCircuitboard
   components:
     - type: MachineBoard
       prototype: SurveillanceCameraWirelessRouterConstructed
-      requirements:
-        Laser: 1
-        Capacitor: 4
+      materialRequirements:
+        Cable: 2
+        Glass: 1
 
 - type: entity
   id: SurveillanceWirelessCameraMovableCircuitboard
   components:
     - type: MachineBoard
       prototype: SurveillanceWirelessCameraMovableConstructed
-      requirements:
-        Laser: 1
-        Capacitor: 4
       materialRequirements:
         Glass: 2
         Cable: 2
   components:
     - type: MachineBoard
       prototype: SurveillanceWirelessCameraAnchoredConstructed
-      requirements:
-        Laser: 1
-        Capacitor: 4
       materialRequirements:
-        Glass: 2
         Cable: 2
+        Glass: 1
 
 - type: entity
   id: GasRecyclerMachineCircuitboard
   - type: MachineBoard
     prototype: GasRecycler
     requirements:
-      Laser: 2
-      Manipulator: 2
+      Capacitor: 1
+      Manipulator: 1
     materialRequirements:
       Steel: 10
       Plasma: 5
   components:
     - type: MachineBoard
       prototype: TelecomServer
-      requirements:
-        Capacitor: 1
-        ScanningModule: 2
       materialRequirements:
         Steel: 1
         Cable: 2
index 0e32628413c769108d631060ea0aa9335091e175..917b4c8a2aefa43adf6b93e2c1d7637e610efa5d 100644 (file)
@@ -8,8 +8,8 @@
     - type: Sprite
       netsync: false
       sprite: Objects/Misc/stock_parts.rsi
-    - type: MachinePart
-      rating: 1
+    - type: Item
+      size: 1
     - type: GuideHelp
       guides:
       - MachineUpgrading
       part: Capacitor
       rating: 1
 
-- type: entity
-  id: ScanningModuleStockPart
-  name: scanning module
-  parent: BaseStockPart
-  description: A compact, high resolution scanning module used in the construction of certain devices.
-  components:
-    - type: Sprite
-      state: scan_module
-    - type: MachinePart
-      part: ScanningModule
-      rating: 1
-
 - type: entity
   id: MicroManipulatorStockPart
-  name: micro-manipulator
+  name: manipulator
   parent: BaseStockPart
-  description: A tiny little manipulator used in the construction of certain devices.
+  description: A basic manipulator used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: micro_mani
       part: Manipulator
       rating: 1
 
-- type: entity
-  id: MicroLaserStockPart
-  name: micro-laser
-  parent: BaseStockPart
-  description: A tiny laser used in certain devices.
-  components:
-    - type: Sprite
-      state: micro_laser
-    - type: MachinePart
-      part: Laser
-      rating: 1
-
 - type: entity
   id: MatterBinStockPart
   name: matter bin
   parent: BaseStockPart
-  description: A container designed to hold compressed matter awaiting reconstruction.
+  description: A basic matter bin used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: matter_bin
     - type: MachinePart
       rating: 2
 
-- type: entity
-  id: AdvancedScanningModuleStockPart
-  name: advanced scanning module
-  parent: ScanningModuleStockPart
-  description: A compact, high resolution scanning module used in the construction of certain devices.
-  components:
-    - type: Sprite
-      state: adv_scan_module
-    - type: MachinePart
-      rating: 2
-
 - type: entity
   id: NanoManipulatorStockPart
-  name: nano-manipulator
+  name: advanced manipulator
   parent: MicroManipulatorStockPart
-  description: A tiny little manipulator used in the construction of certain devices.
+  description: An advanced manipulator used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: nano_mani
     - type: MachinePart
       rating: 2
 
-- type: entity
-  id: HighPowerMicroLaserStockPart
-  name: high-power micro-laser
-  parent: MicroLaserStockPart
-  description: A tiny laser used in certain devices.
-  components:
-    - type: Sprite
-      state: high_micro_laser
-    - type: MachinePart
-      rating: 2
-
 - type: entity
   id: AdvancedMatterBinStockPart
   name: advanced matter bin
   parent: MatterBinStockPart
-  description: A container designed to hold compressed matter awaiting reconstruction.
+  description: An advanced matter bin used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: advanced_matter_bin
   id: SuperCapacitorStockPart
   name: super capacitor
   parent: CapacitorStockPart
-  description: A super-high capacity capacitor used in the construction of a variety of devices.
+  description: A super capacitor used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: super_capacitor
     - type: MachinePart
       rating: 3
 
-- type: entity
-  id: PhasicScanningModuleStockPart
-  name: phasic scanning module
-  parent: ScanningModuleStockPart
-  description: A compact, high resolution phasic scanning module used in the construction of certain devices.
-  components:
-    - type: Sprite
-      state: super_scan_module
-    - type: MachinePart
-      rating: 3
-
 - type: entity
   id: PicoManipulatorStockPart
-  name: pico-manipulator
+  name: super manipulator
   parent: MicroManipulatorStockPart
-  description: A tiny little manipulator used in the construction of certain devices.
+  description: A super manipulator used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: pico_mani
     - type: MachinePart
       rating: 3
 
-- type: entity
-  id: UltraHighPowerMicroLaserStockPart
-  name: ultra-high-power micro-laser
-  parent: MicroLaserStockPart
-  description: A tiny laser used in certain devices.
-  components:
-    - type: Sprite
-      state: ultra_high_micro_laser
-    - type: MachinePart
-      rating: 3
-
 - type: entity
   id: SuperMatterBinStockPart
   name: super matter bin
   parent: MatterBinStockPart
-  description: A container designed to hold compressed matter awaiting reconstruction.
+  description: A super matter bin used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: super_matter_bin
 
 - type: entity
   id: QuadraticCapacitorStockPart
-  name: quadratic capacitor
+  name: bluespace capacitor
   parent: CapacitorStockPart
-  description: A quadratic capacity capacitor used in the construction of a variety of devices.
+  description: A bluespace capacitor used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: quadratic_capacitor
     - type: MachinePart
       rating: 4
 
-- type: entity
-  id: TriphasicScanningModuleStockPart
-  name: triphasic scanning module
-  parent: ScanningModuleStockPart
-  description: A compact, ultra resolution triphasic scanning module used in the construction of certain devices.
-  components:
-    - type: Sprite
-      state: triphasic_scan_module
-    - type: MachinePart
-      rating: 4
-
 - type: entity
   id: FemtoManipulatorStockPart
-  name: femto-manipulator
+  name: bluespace manipulator
   parent: MicroManipulatorStockPart
-  description: A tiny little manipulator used in the construction of certain devices.
+  description: A bluespace manipulator used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: femto_mani
     - type: MachinePart
       rating: 4
 
-- type: entity
-  id: QuadUltraMicroLaserStockPart
-  name: quad-ultra micro-laser
-  parent: MicroLaserStockPart
-  description: A tiny laser used in certain devices.
-  components:
-    - type: Sprite
-      state: quadultra_micro_laser
-    - type: MachinePart
-      rating: 4
-
 - type: entity
   id: BluespaceMatterBinStockPart
   name: bluespace matter bin
   parent: MatterBinStockPart
-  description: A container designed to hold compressed matter in bluespace awaiting reconstruction.
+  description: A bluespace matter bin used in the construction of a variety of devices.
   components:
     - type: Sprite
       state: bluespace_matter_bin
     - type: MachinePart
       rating: 4
 
-# Subspace stock parts
+# Subspace stock parts (REMOVE THESE)
 
 - type: entity
   id: AnsibleSubspaceStockPart
   components:
     - type: Sprite
       state: subspace_ansible
-    - type: MachinePart
-      part: Ansible
 
 - type: entity
   id: FilterSubspaceStockPart
   components:
     - type: Sprite
       state: hyperwave_filter
-    - type: MachinePart
-      part: Filter
 
 - type: entity
   id: AmplifierSubspaceStockPart
   components:
     - type: Sprite
       state: subspace_amplifier
-    - type: MachinePart
-      part: Amplifier
 
 - type: entity
   id: TreatmentSubspaceStockPart
   components:
     - type: Sprite
       state: treatment_disk
-    - type: MachinePart
-      part: Treatment
 
 - type: entity
   id: AnalyzerSubspaceStockPart
   components:
     - type: Sprite
       state: wavelength_analyzer
-    - type: MachinePart
-      part: Analyzer
 
 - type: entity
   id: CrystalSubspaceStockPart
   components:
     - type: Sprite
       state: ansible_crystal
-    - type: MachinePart
-      part: Crystal
 
 - type: entity
   id: TransmitterSubspaceStockPart
   components:
     - type: Sprite
       state: subspace_transmitter
-    - type: MachinePart
-      part: Transmitter
index 51cd4e7a94876d31e48081af9ffc3470544a2910..4b9e35a42b19b80c5b3f9ba14644d9f5abaabe6d 100644 (file)
       - Drone
       - Flash
       - MicroManipulatorStockPart
-      - ScanningModuleStockPart
-      - MicroLaserStockPart
       - MatterBinStockPart
       - CapacitorStockPart
       - AdvancedCapacitorStockPart
       - AdvancedMatterBinStockPart
-      - HighPowerMicroLaserStockPart
       - NanoManipulatorStockPart
-      - AdvancedScanningModuleStockPart
       - SuperCapacitorStockPart
       - SuperMatterBinStockPart
-      - UltraHighPowerMicroLaserStockPart
       - PicoManipulatorStockPart
-      - PhasicScanningModuleStockPart
       - FirelockElectronics
       - DoorElectronics
       - APCElectronics
   - type: Lathe
     idleState: icon
     runningState: icon
-    machinePartPrintSpeed: Laser
     staticRecipes:
       - HandheldHealthAnalyzer
       - ClothingHandsGlovesLatex
index f47b392c716ff7155b3e59a4d782441f26c845e2..027e4363f207dadce4f1bf3009dbf42ca892d206 100644 (file)
@@ -82,9 +82,6 @@
   - type: Climbable
   - type: ApcPowerReceiver
     powerLoad: 200 #Receives most of its power from the console
-  - type: UpgradePowerDraw #upgrade it for the meme?
-    powerDrawMultiplier: 0.75
-    scaling: Exponential
   - type: EmptyOnMachineDeconstruct
     containers:
     - scanner-bodyContainer
index 64ad1d560d7cf18270cd5bbe7c644cd091001114..bdef9b808bf29dd3345a81e1faa683f6572b95a3 100644 (file)
@@ -59,9 +59,6 @@
         acts: ["Breakage"]
   - type: ApcPowerReceiver
     powerLoad: 400
-  - type: UpgradePowerDraw
-    powerDrawMultiplier: 0.75
-    scaling: Exponential
   - type: Machine
     board: MicrowaveMachineCircuitboard
   - type: ContainerContainer
index 68f8c21b19b0366dc7beff390a5c2f62a3a574d8..3a516b02d6c5341a5093378a852159d83bcb87aa 100644 (file)
@@ -41,9 +41,6 @@
       state: "juicer0"
   - type: ApcPowerReceiver
     powerLoad: 300
-  - type: UpgradePowerDraw
-    powerDrawMultiplier: 0.75
-    scaling: Exponential
   - type: ItemSlots
     slots:
       beakerSlot:
index b03b80159a1bb1d0ce7cdbd202cf4e6a1a1ff5c1..4773b1cd3ce9fcee9b86ad19b181c3071d147b2d 100644 (file)
@@ -19,9 +19,6 @@
   - type: Appearance
   - type: ApcPowerReceiver
     powerLoad: 1000
-  - type: UpgradePowerDraw
-    powerDrawMultiplier: 0.75
-    scaling: Exponential
   - type: ExtensionCableReceiver
   - type: Damageable
     damageContainer: Inorganic
index 6f4d4c05f45f06b8887f5f8c98ecbed3fdf7b097..a17037220a140c556f05219cbc12f641e88a3855 100644 (file)
@@ -49,9 +49,6 @@
   - type: Thruster
   - type: Machine
     board: ThrusterMachineCircuitboard
-  - type: UpgradePowerDraw
-    powerDrawMultiplier: 0.75
-    scaling: Exponential
   - type: Sprite
     sprite: Structures/Shuttles/thruster.rsi
     layers:
@@ -96,7 +93,7 @@
     thrusterType: Angular
     requireSpace: false
     baseThrust: 5000
-    machinePartThrust: ScanningModule
+    machinePartThrust: Manipulator
   - type: Sprite
     # Listen I'm not the biggest fan of the sprite but it was the most appropriate thing I could find.
     sprite: Structures/Shuttles/gyroscope.rsi
index 499a0109164adb8b74a9ccb15a2ee642d90cff55..444bc37356c27efc34bb46a11c544a8c91359975 100644 (file)
@@ -1,47 +1,14 @@
 - type: machinePart
   id: Capacitor
+  name: machine-part-name-capacitor
   stockPartPrototype: CapacitorStockPart
 
-- type: machinePart
-  id: ScanningModule
-  stockPartPrototype: ScanningModuleStockPart
-
 - type: machinePart
   id: Manipulator
+  name: machine-part-name-manipulator
   stockPartPrototype: MicroManipulatorStockPart
 
-- type: machinePart
-  id: Laser
-  stockPartPrototype: MicroLaserStockPart
-
 - type: machinePart
   id: MatterBin
+  name: machine-part-name-matter-bin
   stockPartPrototype: MatterBinStockPart
-
-- type: machinePart
-  id: Ansible
-  stockPartPrototype: AnsibleSubspaceStockPart
-
-- type: machinePart
-  id: Filter
-  stockPartPrototype: FilterSubspaceStockPart
-
-- type: machinePart
-  id: Amplifier
-  stockPartPrototype: AmplifierSubspaceStockPart
-
-- type: machinePart
-  id: Treatment
-  stockPartPrototype: TreatmentSubspaceStockPart
-
-- type: machinePart
-  id: Analyzer
-  stockPartPrototype: AnalyzerSubspaceStockPart
-
-- type: machinePart
-  id: Crystal
-  stockPartPrototype: CrystalSubspaceStockPart
-
-- type: machinePart
-  id: Transmitter
-  stockPartPrototype: TransmitterSubspaceStockPart
\ No newline at end of file
index a14722eeea0a999a0c537636dbc5187dcd42cf29..25b905a4b027252c2a06a0ce05a6799e0e6be48d 100644 (file)
     CrateMaterialGlass: 1.0
     # Uncommon
     SuperCapacitorStockPart: 0.25
-    PhasicScanningModuleStockPart: 0.25
     PicoManipulatorStockPart: 0.25
-    UltraHighPowerMicroLaserStockPart: 0.25
     SuperMatterBinStockPart: 0.25
     # Rare
     QuadraticCapacitorStockPart: 0.10
-    TriphasicScanningModuleStockPart: 0.10
     FemtoManipulatorStockPart: 0.10
-    QuadUltraMicroLaserStockPart: 0.10
     BluespaceMatterBinStockPart: 0.10
 
 # Crates
index 447f75cfda4424dabc109c2101360c0b95246c73..c0c496e396323678f66073ea29944998c6fff0f0 100644 (file)
     Steel: 50
     Plastic: 50
 
-- type: latheRecipe
-  id: MicroLaserStockPart
-  result: MicroLaserStockPart
-  completetime: 1
-  materials:
-    Steel: 50
-    Glass: 50
-    Plastic: 50
-
 - type: latheRecipe
   id: MicroManipulatorStockPart
   result: MicroManipulatorStockPart
     Steel: 50
     Plastic: 50
 
-- type: latheRecipe
-  id: ScanningModuleStockPart
-  result: ScanningModuleStockPart
-  completetime: 1
-  materials:
-    Steel: 50
-    Glass: 50
-    Plastic: 50
-
 #Rating 2
 - type: latheRecipe
   id: AdvancedCapacitorStockPart
     Plastic: 150
     Plasma: 75
 
-- type: latheRecipe
-  id: HighPowerMicroLaserStockPart
-  result: HighPowerMicroLaserStockPart
-  completetime: 3
-  materials:
-    Steel: 150
-    Glass: 150
-    Plastic: 150
-    Plasma: 50
-
 - type: latheRecipe
   id: NanoManipulatorStockPart
   result: NanoManipulatorStockPart
     Steel: 150
     Plastic: 150
     Plasma: 75
-
-- type: latheRecipe
-  id: AdvancedScanningModuleStockPart
-  result: AdvancedScanningModuleStockPart
-  completetime: 3
-  materials:
-    Steel: 150
-    Glass: 150
-    Plastic: 150
-    Plasma: 50
     
 #Rating 3
 - type: latheRecipe
     Plasma: 100
     Gold: 125
 
-- type: latheRecipe
-  id: UltraHighPowerMicroLaserStockPart
-  result: UltraHighPowerMicroLaserStockPart
-  completetime: 3
-  materials:
-    Steel: 250
-    Glass: 250
-    Plastic: 250
-    Plasma: 100
-    Gold: 100
-
 - type: latheRecipe
   id: PicoManipulatorStockPart
   result: PicoManipulatorStockPart
     Plastic: 250
     Plasma: 100
     Gold: 125
-
-- type: latheRecipe
-  id: PhasicScanningModuleStockPart
-  result: PhasicScanningModuleStockPart
-  completetime: 3
-  materials:
-    Steel: 250
-    Glass: 250
-    Plastic: 250
-    Plasma: 100
-    Gold: 100
index 48d2855b9f9c1175ef1922bd95cce7f2c11affec..a1f27157327f70e103e61e0a905eca54d0392a6c 100644 (file)
     maxSpawns: 10
     spawns:
     - id: QuadraticCapacitorStockPart
-      prob: 0.3
-      maxAmount: 2
-    - id: TriphasicScanningModuleStockPart
-      prob: 0.3
-      maxAmount: 2
+      prob: 0.5
+      maxAmount: 3
     - id: FemtoManipulatorStockPart
-      prob: 0.3
-      maxAmount: 2
-    - id: QuadUltraMicroLaserStockPart
-      prob: 0.3
-      maxAmount: 2
+      prob: 0.5
+      maxAmount: 3
     - id: BluespaceMatterBinStockPart
-      prob: 0.3
-      maxAmount: 2
+      prob: 0.5
+      maxAmount: 3
 
 - type: artifactEffect
   id: EffectDisease
index 6f159832bb7c6e145484df4fb6ab6f62fdd5bc2c..286219b4d9e5f5fd5829d5af4ad575f5c0e28e4b 100644 (file)
@@ -8,11 +8,7 @@ Machines help the station run smoothly, and as a scientist, you can help them ru
 <Box>
 <GuideEntityEmbed Entity="CapacitorStockPart"/>
 <GuideEntityEmbed Entity="MatterBinStockPart"/>
-<GuideEntityEmbed Entity="MicroLaserStockPart"/>
-</Box>
-<Box>
 <GuideEntityEmbed Entity="MicroManipulatorStockPart"/>
-<GuideEntityEmbed Entity="ScanningModuleStockPart"/>
 </Box>
 You can examine each machine part to see both the type and the rating, which range from 1 to 4.