diff --git a/Content.Client/DeltaV/Weapons/Ranged/Overlays/TracerOverlay.cs b/Content.Client/DeltaV/Weapons/Ranged/Overlays/TracerOverlay.cs new file mode 100644 index 00000000000..e46db4343f6 --- /dev/null +++ b/Content.Client/DeltaV/Weapons/Ranged/Overlays/TracerOverlay.cs @@ -0,0 +1,23 @@ +using Content.Client.DeltaV.Weapons.Ranged.Systems; +using Robust.Client.Graphics; +using Robust.Shared.Enums; + +namespace Content.Client.DeltaV.Weapons.Ranged.Overlays; + +public sealed class TracerOverlay : Overlay +{ + private readonly TracerSystem _tracer; + + public override OverlaySpace Space => OverlaySpace.WorldSpace; + + public TracerOverlay(TracerSystem tracer) + { + _tracer = tracer; + IoCManager.InjectDependencies(this); + } + + protected override void Draw(in OverlayDrawArgs args) + { + _tracer.Draw(args.WorldHandle, args.MapId); + } +} diff --git a/Content.Client/DeltaV/Weapons/Ranged/Systems/TracerSystem.cs b/Content.Client/DeltaV/Weapons/Ranged/Systems/TracerSystem.cs new file mode 100644 index 00000000000..1a89e3d884e --- /dev/null +++ b/Content.Client/DeltaV/Weapons/Ranged/Systems/TracerSystem.cs @@ -0,0 +1,89 @@ +using System.Numerics; +using Content.Client.DeltaV.Weapons.Ranged.Overlays; +using Content.Shared.DeltaV.Weapons.Ranged.Components; +using Robust.Client.Graphics; +using Robust.Shared.Map; +using Robust.Shared.Timing; + +namespace Content.Client.DeltaV.Weapons.Ranged.Systems; + +public sealed class TracerSystem : EntitySystem +{ + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly IOverlayManager _overlay = default!; + [Dependency] private readonly SharedTransformSystem _transform = default!; + + public override void Initialize() + { + base.Initialize(); + _overlay.AddOverlay(new TracerOverlay(this)); + + SubscribeLocalEvent(OnTracerStart); + } + + private void OnTracerStart(Entity ent, ref ComponentStartup args) + { + var xform = Transform(ent); + var pos = _transform.GetWorldPosition(xform); + + ent.Comp.Data = new TracerData + { + EndTime = _timing.CurTime + TimeSpan.FromSeconds(ent.Comp.Lifetime), + PositionHistory = new List { pos } + }; + } + + public override void Update(float frameTime) + { + base.Update(frameTime); + + var curTime = _timing.CurTime; + var query = EntityQueryEnumerator(); + + while (query.MoveNext(out var uid, out var tracer, out var xform)) + { + if (curTime > tracer.Data.EndTime) + { + RemCompDeferred(uid); + continue; + } + + var positions = tracer.Data.PositionHistory; + var currentPos = _transform.GetWorldPosition(xform); + positions.Add(currentPos); + + while (positions.Count > 2 && GetTrailLength(positions) > tracer.Length) + { + positions.RemoveAt(0); + } + } + } + + private static float GetTrailLength(List positions) + { + var length = 0f; + for (var i = 1; i < positions.Count; i++) + { + length += Vector2.Distance(positions[i - 1], positions[i]); + } + return length; + } + + public void Draw(DrawingHandleWorld handle, MapId currentMap) + { + var query = EntityQueryEnumerator(); + + while (query.MoveNext(out _, out var tracer, out var xform)) + { + if (xform.MapID != currentMap) + continue; + + var positions = tracer.Data.PositionHistory; + for (var i = 1; i < positions.Count; i++) + { + handle.DrawLine(positions[i - 1], positions[i], tracer.Color); + } + } + } +} + diff --git a/Content.Shared/DeltaV/Weapons/Ranged/Components/TracerComponent.cs b/Content.Shared/DeltaV/Weapons/Ranged/Components/TracerComponent.cs new file mode 100644 index 00000000000..50ac16cfb16 --- /dev/null +++ b/Content.Shared/DeltaV/Weapons/Ranged/Components/TracerComponent.cs @@ -0,0 +1,37 @@ +using System.Numerics; +using Robust.Shared.GameStates; + +namespace Content.Shared.DeltaV.Weapons.Ranged.Components; + +/// +/// Added to projectiles to give them tracer effects +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class TracerComponent : Component +{ + /// + /// How long the tracer effect should remain visible for after firing + /// + [DataField] + public float Lifetime = 10f; + + /// + /// The maximum length of the tracer trail + /// + [DataField] + public float Length = 2f; + + /// + /// Color of the tracer line effect + /// + [DataField] + public Color Color = Color.Red; + + public TracerData Data = default!; +} + +public sealed class TracerData +{ + public List PositionHistory = new(); + public TimeSpan EndTime; +} diff --git a/Resources/Locale/en-US/deltav/research/technologies.ftl b/Resources/Locale/en-US/deltav/research/technologies.ftl index ae1a8fe69ab..17dd008da0a 100644 --- a/Resources/Locale/en-US/deltav/research/technologies.ftl +++ b/Resources/Locale/en-US/deltav/research/technologies.ftl @@ -6,3 +6,4 @@ research-technology-energy-gun-advance = Advanced Energy Manipulation research-technology-advance-laser = Advanced Laser Manipulation research-technology-robust-melee = Robust Melee research-technology-syringe-gun = Syringe Gun +research-technology-tracer-ammunition = Tracer Ammunition diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml index 2c30951bc98..a77cc0840d8 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/light_rifle.yml @@ -12,3 +12,17 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - state: rubber + +- type: entity + parent: BaseMagazineBoxLightRifle + id: MagazineBoxLightRifleTracer + name: ammunition box (.30 rifle tracer) + components: + - type: BallisticAmmoProvider + proto: CartridgeLightRifleTracer + - type: Sprite + layers: + - state: base + map: [ "enum.GunVisualLayers.Base" ] + - state: mag-1 + map: [ "enum.GunVisualLayers.Mag" ] diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml index 5b3aba79f09..1ca03885bca 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/pistol.yml @@ -12,3 +12,17 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - state: rubber + +- type: entity + parent: BaseMagazineBoxPistol + id: MagazineBoxPistolTracer + name: ammunition box (.35 auto tracer) + components: + - type: BallisticAmmoProvider + proto: CartridgePistolTracer + - type: Sprite + layers: + - state: base + map: [ "enum.GunVisualLayers.Base" ] + - state: mag-1 + map: [ "enum.GunVisualLayers.Mag" ] diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml index a2c53796645..a64dd5d2e6b 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Boxes/rifle.yml @@ -30,3 +30,17 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] - state: rubber + +- type: entity + parent: BaseMagazineBoxRifle + id: MagazineBoxRifleTracer + name: ammunition box (.20 rifle tracer) + components: + - type: BallisticAmmoProvider + proto: CartridgeRifleTracer + - type: Sprite + layers: + - state: base + map: [ "enum.GunVisualLayers.Base" ] + - state: mag-1 + map: [ "enum.GunVisualLayers.Mag" ] diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/light_rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/light_rifle.yml index d1372f9334d..8e75a9b6379 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/light_rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/light_rifle.yml @@ -12,3 +12,11 @@ - state: tip map: [ "enum.AmmoVisualLayers.Tip" ] color: "#43c4f7" + +- type: entity + parent: BaseCartridgeLightRifle + id: CartridgeLightRifleTracer + name: cartridge (.30 rifle tracer) + components: + - type: CartridgeAmmo + proto: BulletLightRifleTracer diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml index 34a93e0c643..8c90996cafb 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/pistol.yml @@ -12,3 +12,11 @@ - state: tip map: [ "enum.AmmoVisualLayers.Tip" ] color: "#43c4f7" + +- type: entity + parent: BaseCartridgePistol + id: CartridgePistolTracer + name: cartridge (.35 auto tracer) + components: + - type: CartridgeAmmo + proto: BulletPistolTracer diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/rifle.yml index aee8ab56851..2146943c563 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Cartridges/rifle.yml @@ -12,3 +12,11 @@ - state: tip map: [ "enum.AmmoVisualLayers.Tip" ] color: "#43c4f7" + +- type: entity + parent: BaseCartridgeRifle + id: CartridgeRifleTracer + name: cartridge (.20 rifle tracer) + components: + - type: CartridgeAmmo + proto: BulletRifleTracer diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml index 8b3fbc5ad5f..f9f57a49cfa 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/light_rifle.yml @@ -13,3 +13,17 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-1 map: ["enum.GunVisualLayers.Mag"] + +- type: entity + parent: BaseMagazineLightRifle + id: MagazineLightRifleTracer + name: magazine (.30 rifle tracer) + components: + - type: BallisticAmmoProvider + proto: CartridgeLightRifleTracer + - type: Sprite + layers: + - state: red + map: [ "enum.GunVisualLayers.Base" ] + - state: mag-1 + map: [ "enum.GunVisualLayers.Mag" ] diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml index cf851709b14..1c8cab28213 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/pistol.yml @@ -14,6 +14,20 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] +- type: entity + parent: BaseMagazinePistol + id: MagazinePistolTracer + name: pistol magazine (.35 auto tracer) + components: + - type: BallisticAmmoProvider + proto: CartridgePistolTracer + - type: Sprite + layers: + - state: red + map: [ "enum.GunVisualLayers.Base" ] + - state: mag-1 + map: [ "enum.GunVisualLayers.Mag" ] + - type: entity id: MagazinePistolSubMachineGunRubber name: SMG magazine (.35 auto rubber) @@ -28,6 +42,20 @@ - state: mag-1 map: ["enum.GunVisualLayers.Mag"] +- type: entity + id: MagazinePistolSubMachineGunTracer + name: SMG magazine (.35 auto tracer) + parent: BaseMagazinePistolSubMachineGun + components: + - type: BallisticAmmoProvider + proto: CartridgePistolTracer + - type: Sprite + layers: + - state: red + map: [ "enum.GunVisualLayers.Base" ] + - state: mag-1 + map: [ "enum.GunVisualLayers.Mag" ] + # .38 special - type: entity diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml index ffb42a07c0e..f6c6bc0d194 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Magazines/rifle.yml @@ -13,3 +13,17 @@ map: ["enum.GunVisualLayers.Base"] - state: mag-1 map: ["enum.GunVisualLayers.Mag"] + +- type: entity + parent: BaseMagazineRifle + id: MagazineRifleTracer + name: magazine (.20 rifle tracer) + components: + - type: BallisticAmmoProvider + proto: CartridgeRifleTracer + - type: Sprite + layers: + - state: red + map: [ "enum.GunVisualLayers.Base" ] + - state: mag-1 + map: [ "enum.GunVisualLayers.Mag" ] diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml index 3cf8769b1d1..bbf165d883d 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/light_rifle.yml @@ -1,6 +1,6 @@ - type: entity id: BulletLightRifleRubber - name: bullet (.20 rifle rubber) + name: bullet (.30 rifle rubber) parent: BaseBulletRubber categories: [ HideSpawnMenu ] components: @@ -9,3 +9,8 @@ types: Blunt: 3 +- type: entity + parent: [ BaseBulletTracer, BulletLightRifle ] + id: BulletLightRifleTracer + name: bullet (.30 rifle tracer) + categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml index 5917e592448..3f7106637f2 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/pistol.yml @@ -9,3 +9,8 @@ types: Blunt: 3 +- type: entity + parent: [ BaseBulletTracerYellow, BulletPistol ] + id: BulletPistolTracer + name: bullet (.35 auto tracer) + categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/rifle.yml b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/rifle.yml index b83bc5dd624..042082e6000 100644 --- a/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/rifle.yml +++ b/Resources/Prototypes/DeltaV/Entities/Objects/Weapons/Guns/Ammunition/Projectiles/rifle.yml @@ -9,3 +9,8 @@ types: Blunt: 3 +- type: entity + parent: [ BaseBulletTracer, BulletRifle ] + id: BulletRifleTracer + name: bullet (0.20 rifle tracer) + categories: [ HideSpawnMenu ] diff --git a/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml b/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml index 022049ccee3..c709951e21b 100644 --- a/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml +++ b/Resources/Prototypes/DeltaV/Recipes/Lathes/security.yml @@ -214,7 +214,7 @@ parent: ClothingShoesBootsMagSci id: ClothingShoesBootsSecurityMagboots result: ClothingShoesBootsSecurityMagboots - + - type: latheRecipe parent: BaseWeaponRecipe id: AdvancedTruncheon @@ -223,7 +223,7 @@ materials: Steel: 1000 Plastic: 800 - + - type: latheRecipe parent: BaseWeaponRecipeLong id: WeaponBeamCannon @@ -234,3 +234,70 @@ Plastic: 500 Gold: 250 Plasma: 500 + +# Tracers: magazines + +# .35 auto +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazinePistolTracer + result: MagazinePistolTracer + materials: + Steel: 145 + Plastic: 50 + +# .20 rifle +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazineLightRifleTracer + result: MagazineLightRifleTracer + materials: + Steel: 565 + Plastic: 135 + +# .30 rifle +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazineRifleTracer + result: MagazineRifleTracer + materials: + Steel: 475 + Plastic: 125 + +# .35 auto smg +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazinePistolSubMachineGunTracer + result: MagazinePistolSubMachineGunTracer + materials: + Steel: 300 + Plastic: 100 + +# Tracers: boxes + +# .35 auto +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazineBoxPistolTracer + result: MagazineBoxPistolTracer + materials: + Steel: 600 + Plastic: 200 + +# .30 rifle +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazineBoxLightRifleTracer + result: MagazineBoxLightRifleTracer + materials: + Steel: 750 + Plastic: 250 + +# .20 rifle +- type: latheRecipe + parent: BaseAmmoRecipe + id: MagazineBoxRifleTracer + result: MagazineBoxRifleTracer + materials: + Steel: 900 + Plastic: 300 diff --git a/Resources/Prototypes/DeltaV/Research/arsenal.yml b/Resources/Prototypes/DeltaV/Research/arsenal.yml index d604eb80568..e6def1e490f 100644 --- a/Resources/Prototypes/DeltaV/Research/arsenal.yml +++ b/Resources/Prototypes/DeltaV/Research/arsenal.yml @@ -52,3 +52,21 @@ cost: 12500 recipeUnlocks: - AdvancedTruncheon + +- type: technology + id: TracerAmmunition + name: research-technology-tracer-ammunition + icon: + sprite: Objects/Weapons/Guns/Ammunition/Boxes/pistol.rsi + state: base + discipline: Arsenal + tier: 1 + cost: 7500 + recipeUnlocks: + - MagazinePistolTracer + - MagazineLightRifleTracer + - MagazinePistolSubMachineGunTracer + - MagazineRifleTracer + - MagazineBoxLightRifleTracer + - MagazineBoxPistolTracer + - MagazineBoxRifleTracer diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml index 57051746abc..b8e0f6bbf25 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Pistols/pistols.yml @@ -34,6 +34,7 @@ - FullAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/pistol.ogg + projectileSpeed: 40 # DeltaV - type: ChamberMagazineAmmoProvider soundRack: path: /Audio/Weapons/Guns/Cock/pistol_cock.ogg diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 2ed2f924da3..cdaf6ec473a 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -1117,3 +1117,34 @@ Heat: 20 # Slightly more damage than the 17heat from the Captain's Hitscan lasgun soundHit: collection: MeatLaserImpact + +# so that we dont have to add the same components over and over again +- type: entity + abstract: true + id: BaseBulletTracer + components: + - type: Tracer + - type: PointLight + radius: 1.3 + energy: 2 + color: "#ff0000" + +- type: entity + abstract: true + parent: BaseBulletTracer + id: BaseBulletTracerYellow + components: + - type: Tracer + color: "#ffff00" + - type: PointLight + color: "#ffff00" + +- type: entity + abstract: true + parent: BaseBulletTracer + id: BaseBulletTracerGreen + components: + - type: Tracer + color: "#008000" + - type: PointLight + color: "#008000" diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml index 1e9520f2556..6611a7bd298 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Rifles/rifles.yml @@ -22,6 +22,7 @@ - FullAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/batrifle.ogg + projectileSpeed: 50 # DeltaV - type: ChamberMagazineAmmoProvider soundRack: path: /Audio/Weapons/Guns/Cock/sf_rifle_cock.ogg diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 1e9df3124a1..80099422a0c 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -439,6 +439,13 @@ - AdvancedTruncheon - LauncherSyringe - MiniSyringe + - MagazinePistolTracer + - MagazineLightRifleTracer + - MagazinePistolSubMachineGunTracer + - MagazineRifleTracer + - MagazineBoxLightRifleTracer + - MagazineBoxPistolTracer + - MagazineBoxRifleTracer - WeaponBeamCannon # End DeltaV additions @@ -894,6 +901,13 @@ - ClothingOuterHardsuitSyndieReverseEngineered - ClothingShoesBootsSecurityMagboots - AdvancedTruncheon + - MagazinePistolTracer + - MagazineLightRifleTracer + - MagazinePistolSubMachineGunTracer + - MagazineRifleTracer + - MagazineBoxLightRifleTracer + - MagazineBoxPistolTracer + - MagazineBoxRifleTracer - WeaponBeamCannon # End DeltaV additions - type: MaterialStorage