]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
kill machine parts + migrate machine part spawners to salvage loot spawner (#23752)
authorEmisse <99158783+Emisse@users.noreply.github.com>
Mon, 8 Jan 2024 23:24:36 +0000 (16:24 -0700)
committerGitHub <noreply@github.com>
Mon, 8 Jan 2024 23:24:36 +0000 (16:24 -0700)
* kill machine parts

* guidebook and artifact effect

* worst test ive ever seen in my life

* nuke test

Content.IntegrationTests/Tests/Construction/Interaction/MachineConstruction.cs
Content.IntegrationTests/Tests/Interaction/InteractionTest.Constants.cs
Resources/Prototypes/Entities/Markers/Spawners/Random/salvage.yml
Resources/Prototypes/Entities/Objects/Misc/machine_parts.yml
Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Resources/Prototypes/Recipes/Lathes/Parts.yml
Resources/Prototypes/Research/experimental.yml
Resources/Prototypes/XenoArch/Effects/normal_effects.yml
Resources/ServerInfo/Guidebook/Science/MachineUpgrading.xml
Resources/migration.yml

index 17630405a4538128d833d260e97ebe548253eaed..f52f820a4ce98b207ebd9033215b2ffe5c939c13 100644 (file)
@@ -56,34 +56,5 @@ public sealed class MachineConstruction : InteractionTest
         await Interact(Bin1, Bin1, Bin1, Manipulator1, Glass, Screw);
         AssertPrototype("Autolathe");
     }
-
-    [Test]
-    public async Task UpgradeLathe()
-    {
-        // Partially deconstruct a protolathe.
-        await SpawnTarget(Protolathe);
-        var serverTarget = SEntMan.GetEntity(Target!.Value);
-
-        // Initially has all quality-1 parts.
-        foreach (var part in SConstruction.GetAllParts(serverTarget))
-        {
-            Assert.That(part.Rating, Is.EqualTo(1));
-        }
-
-        // Partially deconstruct lathe
-        await Interact(Screw, Pry, Pry);
-        AssertPrototype(MachineFrame);
-
-        // Reconstruct with better parts.
-        await Interact(ProtolatheBoard, Bin4, Bin4, Manipulator4, Manipulator4, Beaker, Beaker);
-        await Interact(Screw);
-        AssertPrototype(Protolathe);
-
-        // Query now returns higher quality parts.
-        foreach (var part in SConstruction.GetAllParts(SEntMan.GetEntity(Target!.Value)))
-        {
-            Assert.That(part.Rating, Is.EqualTo(4));
-        }
-    }
 }
 
index 8ae36f1770014f30a233a5f5bb450fb6ea73290c..11381fb8ccd0d035bcb415c91e7ecce32d25c12d 100644 (file)
@@ -1,4 +1,3 @@
-
 namespace Content.IntegrationTests.Tests.Interaction;
 
 // This partial class contains various constant prototype IDs common to interaction tests.
@@ -28,12 +27,8 @@ public abstract partial class InteractionTest
 
     // Parts
     protected const string Bin1 = "MatterBinStockPart";
-    protected const string Bin4 = "BluespaceMatterBinStockPart";
     protected const string Cap1 = "CapacitorStockPart";
-    protected const string Cap4 = "QuadraticCapacitorStockPart";
     protected const string Manipulator1 = "MicroManipulatorStockPart";
-    protected const string Manipulator4 = "FemtoManipulatorStockPart";
     protected const string Battery1 = "PowerCellSmall";
     protected const string Battery4 = "PowerCellHyper";
 }
-
index 5ab5a154cd2d9ba2231620a2a9243562a9a78a60..34bf32d8d7bae7de3da1dbf4f607969eb8d43741 100644 (file)
       offset: 0.0
 
 - type: entity
-  name: Salvage T2 Machine Parts Spawner
-  id: SalvagePartsT2Spawner
+  name: salvage loot spawner
+  id: SalvageLootSpawner
   parent: MarkerBase
   components:
     - type: Sprite
       layers:
         - state: red
-        - sprite: Objects/Misc/stock_parts.rsi
-          state: advanced_matter_bin
+        - sprite: Objects/Weapons/Melee/crusher.rsi
+          state: icon
     - type: RandomSpawner
       prototypes:
-        - AdvancedCapacitorStockPart
-        - NanoManipulatorStockPart
-        - AdvancedMatterBinStockPart
+      - WeaponCrusher
+      - WeaponCrusherDagger
+      - WeaponCrusherGlaive
+      - MiningDrill
       offset: 0.0
 
-- type: entity
-  parent: MarkerBase
-  id: SalvagePartsT3T4Spawner
-  name: tier 3/4 machine part
-  components:
-  - type: Sprite
-    layers:
-    - sprite: Objects/Misc/stock_parts.rsi
-      state: super_matter_bin
-  - type: RandomSpawner
-    rarePrototypes:
-    - QuadraticCapacitorStockPart
-    - FemtoManipulatorStockPart
-    - BluespaceMatterBinStockPart
-    rareChance: 0.05
-    prototypes:
-    - SuperCapacitorStockPart
-    - PicoManipulatorStockPart
-    - SuperMatterBinStockPart
-    chance: 0.95
-    offset: 0.0
-
-- type: entity
-  parent: MarkerBase
-  id: SalvagePartsT3Spawner
-  name: tier 3 machine part
-  suffix: Spawner
-  components:
-  - type: Sprite
-    layers:
-    - sprite: Objects/Misc/stock_parts.rsi
-      state: super_matter_bin
-  - type: RandomSpawner
-    prototypes:
-    - SuperCapacitorStockPart
-    - PicoManipulatorStockPart
-    - SuperMatterBinStockPart
-    offset: 0.0
-
-- type: entity
-  parent: MarkerBase
-  id: SalvagePartsT4Spawner
-  name: tier 4 machine part
-  suffix: Spawner
-  components:
-  - type: Sprite
-    layers:
-    - sprite: Objects/Misc/stock_parts.rsi
-      state: bluespace_matter_bin
-  - type: RandomSpawner
-    prototypes:
-    - QuadraticCapacitorStockPart
-    - PicoManipulatorStockPart
-    - BluespaceMatterBinStockPart
-    offset: 0.0
-
 - type: entity
   name: Salvage Mob Spawner
   id: SalvageMobSpawner
index c38239a08d18944741ed2e747165aded1902358c..4fe9a503efece4d9497617e10927391e552c5c41 100644 (file)
@@ -13,8 +13,6 @@
       guides:
       - MachineUpgrading
 
-# Rating 1
-
 - type: entity
   id: CapacitorStockPart
   name: capacitor
     - type: MachinePart
       part: MatterBin
       rating: 1
-
-# Rating 2
-
-- type: entity
-  id: AdvancedCapacitorStockPart
-  name: advanced capacitor
-  parent: CapacitorStockPart
-  description: An advanced capacitor used in the construction of a variety of devices.
-  suffix: Rating 2
-  components:
-    - type: Sprite
-      state: adv_capacitor
-    - type: MachinePart
-      rating: 2
-
-- type: entity
-  id: NanoManipulatorStockPart
-  name: advanced manipulator
-  parent: MicroManipulatorStockPart
-  description: An advanced manipulator used in the construction of a variety of devices.
-  suffix: Rating 2
-  components:
-    - type: Sprite
-      state: nano_mani
-    - type: MachinePart
-      rating: 2
-
-- type: entity
-  id: AdvancedMatterBinStockPart
-  name: advanced matter bin
-  parent: MatterBinStockPart
-  description: An advanced matter bin used in the construction of a variety of devices.
-  suffix: Rating 2
-  components:
-    - type: Sprite
-      state: advanced_matter_bin
-    - type: MachinePart
-      rating: 2
-
-# Rating 3
-
-- type: entity
-  id: SuperCapacitorStockPart
-  name: super capacitor
-  parent: CapacitorStockPart
-  description: A super capacitor used in the construction of a variety of devices.
-  suffix: Rating 3
-  components:
-    - type: Sprite
-      state: super_capacitor
-    - type: MachinePart
-      rating: 3
-
-- type: entity
-  id: PicoManipulatorStockPart
-  name: super manipulator
-  parent: MicroManipulatorStockPart
-  description: A super manipulator used in the construction of a variety of devices.
-  suffix: Rating 3
-  components:
-    - type: Sprite
-      state: pico_mani
-    - type: MachinePart
-      rating: 3
-
-- type: entity
-  id: SuperMatterBinStockPart
-  name: super matter bin
-  parent: MatterBinStockPart
-  description: A super matter bin used in the construction of a variety of devices.
-  suffix: Rating 3
-  components:
-    - type: Sprite
-      state: super_matter_bin
-    - type: MachinePart
-      rating: 3
-
-# Rating 4
-
-- type: entity
-  id: QuadraticCapacitorStockPart
-  name: bluespace capacitor
-  parent: CapacitorStockPart
-  description: A bluespace capacitor used in the construction of a variety of devices.
-  suffix: Rating 4
-  components:
-    - type: Sprite
-      state: quadratic_capacitor
-    - type: MachinePart
-      rating: 4
-
-- type: entity
-  id: FemtoManipulatorStockPart
-  name: bluespace manipulator
-  parent: MicroManipulatorStockPart
-  description: A bluespace manipulator used in the construction of a variety of devices.
-  suffix: Rating 4
-  components:
-    - type: Sprite
-      state: femto_mani
-    - type: MachinePart
-      rating: 4
-
-- type: entity
-  id: BluespaceMatterBinStockPart
-  name: bluespace matter bin
-  parent: MatterBinStockPart
-  description: A bluespace matter bin used in the construction of a variety of devices.
-  suffix: Rating 4
-  components:
-    - type: Sprite
-      state: bluespace_matter_bin
-    - type: MachinePart
-      rating: 4
-
-# Subspace stock parts (REMOVE THESE)
-
-- type: entity
-  id: AnsibleSubspaceStockPart
-  name: subspace ansible
-  parent: BaseStockPart
-  description: A compact module capable of sensing extradimensional activity.
-  components:
-    - type: Sprite
-      state: subspace_ansible
-
-- type: entity
-  id: FilterSubspaceStockPart
-  name: hyperwave filter
-  parent: BaseStockPart
-  description: A tiny device capable of filtering and converting super-intense radiowaves.
-  components:
-    - type: Sprite
-      state: hyperwave_filter
-
-- type: entity
-  id: AmplifierSubspaceStockPart
-  name: subspace amplifier
-  parent: BaseStockPart
-  description: A compact micro-machine capable of amplifying weak subspace transmissions.
-  components:
-    - type: Sprite
-      state: subspace_amplifier
-
-- type: entity
-  id: TreatmentSubspaceStockPart
-  name: subspace treatment disk
-  parent: BaseStockPart
-  description: A compact micro-machine capable of stretching out hyper-compressed radio waves.
-  components:
-    - type: Sprite
-      state: treatment_disk
-
-- type: entity
-  id: AnalyzerSubspaceStockPart
-  name: subspace wavelength analyzer
-  parent: BaseStockPart
-  description: A sophisticated analyzer capable of analyzing cryptic subspace wavelengths.
-  components:
-    - type: Sprite
-      state: wavelength_analyzer
-
-- type: entity
-  id: CrystalSubspaceStockPart
-  name: ansible crystal
-  parent: BaseStockPart
-  description: A crystal made from pure glass used to transmit laser databursts to subspace.
-  components:
-    - type: Sprite
-      state: ansible_crystal
-
-- type: entity
-  id: TransmitterSubspaceStockPart
-  name: subspace transmitter
-  parent: BaseStockPart
-  description: A large piece of equipment used to open a window into the subspace dimension.
-  components:
-    - type: Sprite
-      state: subspace_transmitter
index 0dae26e1737ffbe74faf771b96ccc7122b7404cc..fe9dcd1d8777eb742dc2a132d617564e3c113bcf 100644 (file)
       - PillCanister
       - ChemistryEmptyBottle01
       - Drone
-      - AdvancedCapacitorStockPart
-      - AdvancedMatterBinStockPart
-      - NanoManipulatorStockPart
-      - SuperCapacitorStockPart
-      - SuperMatterBinStockPart
-      - PicoManipulatorStockPart
       - AdvMopItem
       - WeaponSprayNozzle
       - ClothingBackpackWaterTank
index fdc1b9fd4a82be17213b518f9af5b15851e8e0be..658248c140ed134eb987b7fcace8d4a4755e2d90 100644 (file)
@@ -1,4 +1,3 @@
-#Rating 1
 - type: latheRecipe
   id: CapacitorStockPart
   result: CapacitorStockPart
   materials:
     Steel: 50
     Plastic: 50
-
-#Rating 2
-- type: latheRecipe
-  id: AdvancedCapacitorStockPart
-  result: AdvancedCapacitorStockPart
-  completetime: 3
-  materials:
-    Steel: 80
-    Plastic: 80
-    Plasma: 75
-
-- type: latheRecipe
-  id: AdvancedMatterBinStockPart
-  result: AdvancedMatterBinStockPart
-  completetime: 3
-  materials:
-    Steel: 80
-    Plastic: 80
-    Plasma: 75
-
-- type: latheRecipe
-  id: NanoManipulatorStockPart
-  result: NanoManipulatorStockPart
-  completetime: 3
-  materials:
-    Steel: 80
-    Plastic: 80
-    Plasma: 75
-
-#Rating 3
-- type: latheRecipe
-  id: SuperCapacitorStockPart
-  result: SuperCapacitorStockPart
-  completetime: 3
-  materials:
-    Steel: 150
-    Plastic: 150
-    Plasma: 75
-    Gold: 75
-
-- type: latheRecipe
-  id: SuperMatterBinStockPart
-  result: SuperMatterBinStockPart
-  completetime: 3
-  materials:
-    Steel: 150
-    Plastic: 150
-    Plasma: 75
-    Gold: 75
-
-- type: latheRecipe
-  id: PicoManipulatorStockPart
-  result: PicoManipulatorStockPart
-  completetime: 3
-  materials:
-    Steel: 150
-    Plastic: 150
-    Plasma: 75
-    Gold: 75
index e447e219fa5ac20646e1228fbc3b6703d1882412..c6289fa9c73ae890388087104775c9db52119cbb 100644 (file)
 
 # Tier 2
 
-- type: technology
-  id: AdvancedParts
-  name: research-technology-advanced-parts
-  icon:
-    sprite: Objects/Misc/stock_parts.rsi
-    state: advanced_matter_bin
-  discipline: Experimental
-  tier: 2
-  cost: 10000
-  recipeUnlocks:
-  - AdvancedCapacitorStockPart
-  - AdvancedMatterBinStockPart
-  - NanoManipulatorStockPart
-
 - type: technology
   id: AbnormalArtifactManipulation
   name: research-technology-abnormal-artifact-manipulation
 
 # Tier 3
 
-- type: technology
-  id: SuperParts
-  name: research-technology-super-parts
-  icon:
-    sprite: Objects/Misc/stock_parts.rsi
-    state: super_matter_bin
-  discipline: Experimental
-  tier: 3
-  cost: 15000
-  recipeUnlocks:
-  - SuperCapacitorStockPart
-  - SuperMatterBinStockPart
-  - PicoManipulatorStockPart
-
 - type: technology
   id: GravityManipulation
   name: research-technology-gravity-manipulation
index 5fe619bd4f440e3b59f6d6f6b9385fd4ee55acea..c403fa6230c7cada02e1e5472bbefbfc1aad5c4a 100644 (file)
     maxRange: 3
     baseRadialAcceleration: 1
     baseTangentialAcceleration: 3
-  
+
 - type: artifactEffect
   id: EffectAntiMagnet
   targetDepth: 1
       orGroup: fauna
       maxAmount: 1
       prob: 0.03
-    - id: MobMouse 
-      orGroup: fauna 
+    - id: MobMouse
+      orGroup: fauna
     - id: MobParrot
       orGroup: fauna
       maxAmount: 1
     messages:
     - shuffle-artifact-popup
 
-- type: artifactEffect
-  id: EffectT4PartsSpawn
-  targetDepth: 3
-  effectHint: artifact-effect-hint-creation
-  components:
-  - type: SpawnArtifact
-    maxSpawns: 10
-    spawns:
-    - id: QuadraticCapacitorStockPart
-      prob: 0.5
-      maxAmount: 3
-    - id: FemtoManipulatorStockPart
-      prob: 0.5
-      maxAmount: 3
-    - id: BluespaceMatterBinStockPart
-      prob: 0.5
-      maxAmount: 3
-
 - type: artifactEffect
   id: EffectFoamDangerous
   targetDepth: 3
   - type: SpawnArtifact
     maxSpawns: 1
     spawns:
-    - id: Singularity
\ No newline at end of file
+    - id: Singularity
index 286219b4d9e5f5fd5829d5af4ad575f5c0e28e4b..b6658f6671c7f4f068e6bb01ffbfc494aa757475 100644 (file)
@@ -10,14 +10,7 @@ Machines help the station run smoothly, and as a scientist, you can help them ru
 <GuideEntityEmbed Entity="MatterBinStockPart"/>
 <GuideEntityEmbed Entity="MicroManipulatorStockPart"/>
 </Box>
-You can examine each machine part to see both the type and the rating, which range from 1 to 4.
-
-Parts of higher levels can be researched as well as found through artifacts or salvage.
-<Box>
-<GuideEntityEmbed Entity="AdvancedMatterBinStockPart"/>
-<GuideEntityEmbed Entity="SuperMatterBinStockPart"/>
-<GuideEntityEmbed Entity="BluespaceMatterBinStockPart"/>
-</Box>
+Machine Parts can be used to create many machines.
 
 ## Upgrading
 To know if a machine can be upgraded, you can examine it and check for the [color=#a4885c]lightning bolt[/color] icon in the lower right corner. Clicking on it will allow you to see what kinds of upgrades the machine has.
@@ -29,10 +22,7 @@ To check what parts a machine needs, you can examine its board. Try it here:
 <GuideEntityEmbed Entity="TraversalDistorterMachineCircuitboard"/>
 <GuideEntityEmbed Entity="ThermomachineFreezerMachineCircuitBoard"/>
 </Box>
-You can use any rating part for any part requirement. Using higher rated parts will increase how effective the machine is.
-
-If you want to upgrade an existing machine, simply deconstruct it with a screwdriver and crowbar, and replace the existing parts with parts of a higher level.
 
-You can also quickly upgrade machines by using an RPED, loading it with machine parts, and then clicking on a machine. It will quickly be upgraded with whatever parts were inserted.
+You can also quickly build machines by using an RPED, loading it with machine parts, and then clicking on a machine.
 <GuideEntityEmbed Entity="RPED"/>
 </Document>
index 8de131d87b624cf801ca19a10d279bf53a3ff111..afb581d31573d964143e1e97107c4d9c180293c6 100644 (file)
@@ -131,3 +131,25 @@ DrinkGoldschlagerGlass: DrinkGildlagerGlass
 # 2024-01-07
 MonkeyCubeBox: VariantCubeBox
 
+# 2024-01-08
+SalvagePartsT4Spawner: SalvageLootSpawner
+SalvagePartsT3Spawner: SalvageLootSpawner
+SalvagePartsT3T4Spawner: SalvageLootSpawner
+SalvagePartsT2Spawner: SalvageLootSpawner
+AdvancedCapacitorStockPart: CapacitorStockPart
+SuperCapacitorStockPart: CapacitorStockPart
+QuadraticCapacitorStockPart: CapacitorStockPart
+NanoManipulatorStockPart: MicroManipulatorStockPart
+PicoManipulatorStockPart: MicroManipulatorStockPart
+FemtoManipulatorStockPart: MicroManipulatorStockPart
+AdvancedMatterBinStockPart: MatterBinStockPart
+SuperMatterBinStockPart: MatterBinStockPart
+BluespaceMatterBinStockPart: MatterBinStockPart
+AnsibleSubspaceStockPart: null
+FilterSubspaceStockPart: null
+AmplifierSubspaceStockPart: null
+TreatmentSubspaceStockPart: null
+AnalyzerSubspaceStockPart: null
+CrystalSubspaceStockPart: null
+TransmitterSubspaceStockPart: null
+