diff --git a/Content.Shared/Weapons/Ranged/Components/BallisticAmmoProviderComponent.cs b/Content.Shared/Weapons/Ranged/Components/BallisticAmmoProviderComponent.cs
index 672d3da5f8..7b6a345f8b 100644
--- a/Content.Shared/Weapons/Ranged/Components/BallisticAmmoProviderComponent.cs
+++ b/Content.Shared/Weapons/Ranged/Components/BallisticAmmoProviderComponent.cs
@@ -51,6 +51,13 @@ public sealed partial class BallisticAmmoProviderComponent : Component
[AutoNetworkedField]
public bool Cycled = true;
+ ///
+ /// Is the magazine allowed to be cycled
+ ///
+ [ViewVariables(VVAccess.ReadWrite), DataField("cycleable")]
+ [AutoNetworkedField]
+ public bool Cycleable = true;
+
///
/// Is it okay for this entity to directly transfer its valid ammunition into another provider?
///
diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
index fd60b4fbf1..29913cd73d 100644
--- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
+++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Ballistic.cs
@@ -132,13 +132,13 @@ public abstract partial class SharedGunSystem
{
if (!args.CanAccess || !args.CanInteract || args.Hands == null)
return;
-
- args.Verbs.Add(new Verb()
- {
- Text = Loc.GetString("gun-ballistic-cycle"),
- Disabled = GetBallisticShots(component) == 0,
- Act = () => ManualCycle(uid, component, Transform(uid).MapPosition, args.User),
- });
+ if (component.Cycleable == true)
+ args.Verbs.Add(new Verb()
+ {
+ Text = Loc.GetString("gun-ballistic-cycle"),
+ Disabled = GetBallisticShots(component) == 0,
+ Act = () => ManualCycle(uid, component, Transform(uid).MapPosition, args.User),
+ });
}
private void OnBallisticExamine(EntityUid uid, BallisticAmmoProviderComponent component, ExaminedEvent args)
diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml
index df7b7c54e2..734cca56e0 100644
--- a/Resources/Prototypes/Catalog/uplink_catalog.yml
+++ b/Resources/Prototypes/Catalog/uplink_catalog.yml
@@ -910,7 +910,7 @@
description: uplink-disposable-turret-desc
productEntity: ToolboxElectricalTurretFilled
cost:
- Telecrystal: 12
+ Telecrystal: 8
categories:
- UplinkJob
conditions:
diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/turrets.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/turrets.yml
index 7c29a51053..c620fb6956 100644
--- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/turrets.yml
+++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/turrets.yml
@@ -8,7 +8,7 @@
- type: InteractionOutline
- type: Sprite
sprite: Objects/Weapons/Guns/Turrets/turrets.rsi
- drawdepth: WallMountedItems
+ drawdepth: Mobs
layers:
- state: syndie_broken
- type: Damageable
@@ -55,7 +55,7 @@
ballistic-ammo: !type:Container
- type: Sprite
sprite: Objects/Weapons/Guns/Turrets/turrets.rsi
- drawdepth: WallMountedItems
+ drawdepth: Mobs
layers:
- state: syndie_lethal
- type: InteractionPopup
@@ -152,14 +152,22 @@
min: 1
max: 1
- type: Gun
- fireRate: 2.5
+ fireRate: 2
selectedMode: FullAuto
availableModes:
- FullAuto
soundGunshot: /Audio/Weapons/Guns/Gunshots/gun_sentry.ogg
- type: BallisticAmmoProvider
proto: CartridgePistol
- capacity: 125
+ capacity: 50
+ cycleable: false
+ - type: Construction
+ deconstructionTarget: null
+ graph: WeaponTurretSyndicateDisposable
+ node: disposableTurret
+ - type: Repairable
+ qualityNeeded: "Anchoring"
+ doAfterDelay: 3
- type: entity
parent: BaseWeaponTurret
diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/disposable_turret.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/disposable_turret.yml
new file mode 100644
index 0000000000..1421a889b1
--- /dev/null
+++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/disposable_turret.yml
@@ -0,0 +1,16 @@
+- type: constructionGraph
+ id: WeaponTurretSyndicateDisposable
+ start: disposableTurret
+ graph:
+ - node: disposableTurret
+ entity: WeaponTurretSyndicateDisposable
+ edges:
+ - to: disposableTurret
+ completed:
+ - !type:SpawnPrototype
+ prototype: ToolboxElectricalTurret
+ amount: 1
+ - !type:DeleteEntity {}
+ steps:
+ - tool: Screwing
+ doAfter: 10