diff --git a/Content.Shared/Repairable/RepairableComponent.cs b/Content.Shared/Repairable/RepairableComponent.cs index c16da0c7360..796fe6dd1e6 100644 --- a/Content.Shared/Repairable/RepairableComponent.cs +++ b/Content.Shared/Repairable/RepairableComponent.cs @@ -42,7 +42,7 @@ public sealed partial class RepairableComponent : Component /// Tool quality necessary to repair this device. /// [DataField, AutoNetworkedField] - public List> QualityNeeded = new() { "Welding", "Applicating" }; // Monolith - Nanite Applicator + public ProtoId QualityNeeded = "Applicating"; // Monolith - Nanite Applicator /// /// The base tool use delay (seconds). This will be modified by the tool's quality diff --git a/Content.Shared/Repairable/RepairableSystem.cs b/Content.Shared/Repairable/RepairableSystem.cs index 939450e43c3..feec9edad21 100644 --- a/Content.Shared/Repairable/RepairableSystem.cs +++ b/Content.Shared/Repairable/RepairableSystem.cs @@ -130,14 +130,11 @@ public sealed partial class RepairableSystem : EntitySystem // BEGIN Monolith - Nanite Applicators if (!TryComp(args.Used, out var tool)) return; - - // Run the repairing doafter - foreach (var quality in ent.Comp.QualityNeeded) - { - if (_toolSystem.HasQuality(args.Used, quality, tool)) - args.Handled = _toolSystem.UseTool(args.Used, args.User, ent.Owner, delay, quality, new RepairDoAfterEvent(), ent.Comp.FuelCost); - } // END Monolith + + // Run the repairing doafter + args.Handled = _toolSystem.UseTool(args.Used, args.User, ent.Owner, delay, ent.Comp.QualityNeeded, new RepairDoAfterEvent(), ent.Comp.FuelCost); + } } diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 29ec9338ca6..f090d307aa1 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -118,6 +118,7 @@ damageValue: -10 # 10 seconds to repair from crit doAfterDelay: 1 fuelCost: 0.5 + qualityNeeded: Welding # DeltaV - for now allowSelfRepair: true # DeltaV - was false - type: BorgChassis - type: LockingWhitelist diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml index 23d8cef58ab..9ef377d681a 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml @@ -20,6 +20,7 @@ damageValue: -15 # 8 seconds to repair from dead doAfterDelay: 1 fuelCost: 0.5 + qualityNeeded: Welding # DeltaV - for now - type: Pullable - type: Tag tags: diff --git a/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml b/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml index f5897fd2c9d..2419f2b9454 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/mothershipcore.yml @@ -82,6 +82,7 @@ temperature: 373.15 - type: Repairable doAfterDelay: 30 # you can heal the mothership core, but it takes a while + qualityNeeded: Welding # DeltaV - type: DamagedSiliconAccent enableChargeCorruption: false # TODO: make it explosive again once until issue https://github.com/space-wizards/space-station-14/issues/40606 is fixed diff --git a/Resources/Prototypes/Entities/Objects/Shields/shields.yml b/Resources/Prototypes/Entities/Objects/Shields/shields.yml index 4e7698ecca8..3a9c85f7357 100644 --- a/Resources/Prototypes/Entities/Objects/Shields/shields.yml +++ b/Resources/Prototypes/Entities/Objects/Shields/shields.yml @@ -89,7 +89,7 @@ fuelCost: 10 # 1/2 of a Welder for a full repair doAfterDelay: 5 allowSelfRepair: false - + qualityNeeded: Welding # DeltaV #Security Shields - type: entity diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml index 9024e7d5646..3af5219c472 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Turrets/turrets_ballistic.yml @@ -45,8 +45,7 @@ graph: WeaponTurretSyndicateDisposable node: disposableTurret - type: Repairable - qualityNeeded: # Monolith - Converted to Array - - Anchoring + qualityNeeded: Anchoring doAfterDelay: 3 - type: TriggerOnEmptyGunshot - type: ExplodeOnTrigger diff --git a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml index fcd18bca5d0..83887f3e13e 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/vending_machines.yml @@ -56,9 +56,6 @@ - !type:EjectVendorItems - type: Repairable doAfterDelay: 8 - qualityNeeded: # DeltaV - Nanite Applicators - - Welding - - Applicating - type: ActivatableUI key: enum.VendingMachineUiKey.Key - type: ActivatableUIRequiresPower diff --git a/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/coil.yml b/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/coil.yml index e7f6082734e..14a92e30265 100644 --- a/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/coil.yml +++ b/Resources/Prototypes/Entities/Structures/Power/Generation/Tesla/coil.yml @@ -84,6 +84,7 @@ - type: ExaminableDamage messages: WindowMessages - type: Repairable + qualityNeeded: Welding # DeltaV - type: DamageVisuals thresholds: [8, 16, 25] damageDivisor: 3.333 @@ -177,6 +178,7 @@ - type: ExaminableDamage messages: WindowMessages - type: Repairable + qualityNeeded: Welding # DeltaV - type: Damageable damageContainer: StructuralInorganic - type: DamageVisuals diff --git a/Resources/Prototypes/Entities/Structures/Storage/glass_box.yml b/Resources/Prototypes/Entities/Structures/Storage/glass_box.yml index f1ce706847f..717bbc11d52 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/glass_box.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/glass_box.yml @@ -61,6 +61,7 @@ - type: Repairable fuelCost: 15 doAfterDelay: 5 + qualityNeeded: Welding # DeltaV - type: Lock - type: LockVisuals - type: DamageVisuals diff --git a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml index 3eb6239efb8..f82c9122eaf 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml @@ -12,6 +12,7 @@ - type: Repairable fuelCost: 10 doAfterDelay: 2 + qualityNeeded: Welding # DeltaV - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass diff --git a/Resources/Prototypes/Entities/Structures/Windows/mining.yml b/Resources/Prototypes/Entities/Structures/Windows/mining.yml index 583a376e2fc..88dc5026726 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/mining.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/mining.yml @@ -11,6 +11,7 @@ - type: Repairable fuelCost: 15 doAfterDelay: 3 + qualityNeeded: Welding # DeltaV - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass diff --git a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml index 8b96e4a1e14..c31b78a7153 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml @@ -120,9 +120,7 @@ - type: Repairable fuelCost: 15 doAfterDelay: 3 - qualityNeeded: # DeltaV - Nanite Applicators - - Welding - - Applicating + qualityNeeded: Welding - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass @@ -218,9 +216,7 @@ - type: Repairable fuelCost: 15 doAfterDelay: 3 - qualityNeeded: # DeltaV - Nanite Applicators - - Welding - - Applicating + qualityNeeded: Welding - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml index 6fc24e80048..7c83487c491 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml @@ -11,6 +11,7 @@ - type: Repairable fuelCost: 10 doAfterDelay: 2 + qualityNeeded: Welding # DeltaV - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass diff --git a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml index 6c0293a5bc0..ac461353ab4 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml @@ -11,6 +11,7 @@ - type: Repairable fuelCost: 15 doAfterDelay: 3 + qualityNeeded: Welding # DeltaV - type: Damageable damageContainer: StructuralInorganic damageModifierSet: RGlass diff --git a/Resources/Prototypes/Entities/Structures/Windows/window.yml b/Resources/Prototypes/Entities/Structures/Windows/window.yml index 01a9f5a2849..1099a7985c2 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/window.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/window.yml @@ -46,9 +46,7 @@ messages: WindowMessages - type: Repairable doAfterDelay: 2 # DeltaV - qualityNeeded: # Monolith - Nanite Applicators - - Welding - - Applicating + qualityNeeded: Welding - type: RCDDeconstructable cost: 6 delay: 4 @@ -176,9 +174,7 @@ - GlassLayer - type: Repairable doAfterDelay: 2 # DeltaV - qualityNeeded: # Monolith - Added qualities to override base - - Welding - - Applicating + qualityNeeded: Welding - type: Damageable damageContainer: StructuralInorganic damageModifierSet: Glass diff --git a/Resources/Prototypes/Entities/Structures/base_structure.yml b/Resources/Prototypes/Entities/Structures/base_structure.yml index 3e9f7cbabb7..8d90847aa6b 100644 --- a/Resources/Prototypes/Entities/Structures/base_structure.yml +++ b/Resources/Prototypes/Entities/Structures/base_structure.yml @@ -26,13 +26,11 @@ - type: Tag tags: - Structure - - type: ExaminableDamage # DeltaV messages: BaseStructureMessages - type: Repairable # Monolith - Nanite Applicator doAfterDelay: 3 - qualityNeeded: - - Applicating + qualityNeeded: Applicating - type: entity # This means that it's not anchored on spawn.