Printable Special Mags and Empty Mags and Material Rebalance for Ammo (#26178)

* Printable Empty Magazines

* Adjust values of ammo boxes, adjust material costs, add empty lethal/non-lethal mags, swap secfab shotgun shells with shotgun ammo boxes, add recipe for shotgun ammo boxes

* Adds fully loaded pistol mags at secfab, removes printing respective cartridges at secfab

* Adds fully loaded rifle mags at secfab, removes respective cartridges

* Adds fully loaded light rifle mags at secfab, removes respective cartridges from secfab

* Adds fully loaded speedloader to secfab, removes respective cartridges from secfab

* small id mismatch fix

* another wrong ID fix

* capitalize Ls in speedloader

* Add missing SpeedLoader recipe

* Adds fully loaded shotgun drums to secfab, removes respective shells from secfab

* add rifle ammo unlocks back in, forgot ammo unlocks affect other fabs as well

* Moves tranquilizer shells to the non-lethal ammunition research

* Account for the removal of rubbers, adds in craftable disablers

* rubber rounds don't exist, remove empty non-lethal mags to just have empty mags

* Add in WT550 mags

* Convert latheRecipes to use LayeredTextureRect instead of TextureRect

* Fix for issue, texture layering now works

* Add in missing shell uranium box art

* add shelluranium to meta.json

* Fix yml issue

* Get rid of unused single ammo printing unlocks

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
This commit is contained in:
Plykiya
2024-04-27 03:38:59 -07:00
committed by GitHub
parent dec101465b
commit cafb41c161
18 changed files with 572 additions and 74 deletions

View File

@@ -10,6 +10,8 @@ using Robust.Client.GameObjects;
using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.CustomControls;
using Robust.Client.UserInterface.XAML; using Robust.Client.UserInterface.XAML;
using Robust.Client.ResourceManagement;
using Robust.Client.Graphics;
using Robust.Shared.Prototypes; using Robust.Shared.Prototypes;
namespace Content.Client.Lathe.UI; namespace Content.Client.Lathe.UI;
@@ -19,6 +21,8 @@ public sealed partial class LatheMenu : DefaultWindow
{ {
[Dependency] private readonly IEntityManager _entityManager = default!; [Dependency] private readonly IEntityManager _entityManager = default!;
[Dependency] private readonly IPrototypeManager _prototypeManager = default!; [Dependency] private readonly IPrototypeManager _prototypeManager = default!;
[Dependency] private readonly IResourceCache _resources = default!;
private EntityUid _owner; private EntityUid _owner;
private readonly SpriteSystem _spriteSystem; private readonly SpriteSystem _spriteSystem;
private readonly LatheSystem _lathe; private readonly LatheSystem _lathe;
@@ -104,12 +108,21 @@ public sealed partial class LatheMenu : DefaultWindow
RecipeList.Children.Clear(); RecipeList.Children.Clear();
foreach (var prototype in sortedRecipesToShow) foreach (var prototype in sortedRecipesToShow)
{ {
var icon = prototype.Icon == null List<Texture> textures;
? _spriteSystem.GetPrototypeIcon(prototype.Result).Default if (_prototypeManager.TryIndex(prototype.Result, out EntityPrototype? entityProto) && entityProto != null)
: _spriteSystem.Frame0(prototype.Icon); {
textures = SpriteComponent.GetPrototypeTextures(entityProto, _resources).Select(o => o.Default).ToList();
}
else
{
textures = prototype.Icon == null
? new List<Texture> { _spriteSystem.GetPrototypeIcon(prototype.Result).Default }
: new List<Texture> { _spriteSystem.Frame0(prototype.Icon) };
}
var canProduce = _lathe.CanProduce(_owner, prototype, quantity); var canProduce = _lathe.CanProduce(_owner, prototype, quantity);
var control = new RecipeControl(prototype, () => GenerateTooltipText(prototype), canProduce, icon); var control = new RecipeControl(prototype, () => GenerateTooltipText(prototype), canProduce, textures);
control.OnButtonPressed += s => control.OnButtonPressed += s =>
{ {
if (!int.TryParse(AmountLineEdit.Text, out var amount) || amount <= 0) if (!int.TryParse(AmountLineEdit.Text, out var amount) || amount <= 0)

View File

@@ -5,11 +5,15 @@
Margin="0" Margin="0"
StyleClasses="ButtonSquare"> StyleClasses="ButtonSquare">
<BoxContainer Orientation="Horizontal"> <BoxContainer Orientation="Horizontal">
<TextureRect <LayeredTextureRect
Name="RecipeTexture" Name="RecipeTextures"
Margin="0 0 4 0" Margin="0 0 4 0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="KeepAspectCentered"
MinSize="32 32" MinSize="32 32"
Stretch="KeepAspectCentered" /> CanShrink="true"
/>
<Label Name="RecipeName" HorizontalExpand="True" /> <Label Name="RecipeName" HorizontalExpand="True" />
</BoxContainer> </BoxContainer>
</Button> </Button>

View File

@@ -2,8 +2,8 @@ using Content.Shared.Research.Prototypes;
using Robust.Client.AutoGenerated; using Robust.Client.AutoGenerated;
using Robust.Client.Graphics; using Robust.Client.Graphics;
using Robust.Client.UserInterface; using Robust.Client.UserInterface;
using Robust.Client.UserInterface.Controls;
using Robust.Client.UserInterface.XAML; using Robust.Client.UserInterface.XAML;
using Robust.Shared.Graphics;
namespace Content.Client.Lathe.UI; namespace Content.Client.Lathe.UI;
@@ -13,12 +13,12 @@ public sealed partial class RecipeControl : Control
public Action<string>? OnButtonPressed; public Action<string>? OnButtonPressed;
public Func<string> TooltipTextSupplier; public Func<string> TooltipTextSupplier;
public RecipeControl(LatheRecipePrototype recipe, Func<string> tooltipTextSupplier, bool canProduce, Texture? texture = null) public RecipeControl(LatheRecipePrototype recipe, Func<string> tooltipTextSupplier, bool canProduce, List<Texture> textures)
{ {
RobustXamlLoader.Load(this); RobustXamlLoader.Load(this);
RecipeName.Text = recipe.Name; RecipeName.Text = recipe.Name;
RecipeTexture.Texture = texture; RecipeTextures.Textures = textures;
Button.Disabled = !canProduce; Button.Disabled = !canProduce;
TooltipTextSupplier = tooltipTextSupplier; TooltipTextSupplier = tooltipTextSupplier;
Button.TooltipSupplier = SupplyTooltip; Button.TooltipSupplier = SupplyTooltip;

View File

@@ -10,7 +10,7 @@
tags: tags:
- CartridgeLightRifle - CartridgeLightRifle
proto: CartridgeLightRifle proto: CartridgeLightRifle
capacity: 50 capacity: 60
- type: Item - type: Item
size: Small size: Small
- type: ContainerContainer - type: ContainerContainer

View File

@@ -9,7 +9,7 @@
tags: tags:
- CartridgeMagnum - CartridgeMagnum
proto: CartridgeMagnum proto: CartridgeMagnum
capacity: 60 capacity: 12
- type: Item - type: Item
size: Small size: Small
- type: ContainerContainer - type: ContainerContainer

View File

@@ -9,7 +9,7 @@
tags: tags:
- CartridgeRifle - CartridgeRifle
proto: CartridgeRifle proto: CartridgeRifle
capacity: 60 capacity: 50
- type: Item - type: Item
size: Small size: Small
- type: ContainerContainer - type: ContainerContainer

View File

@@ -21,7 +21,7 @@
whitelist: whitelist:
tags: tags:
- ShellShotgun - ShellShotgun
capacity: 12 capacity: 16
# Shotgun Shells # Shotgun Shells
- type: entity - type: entity
@@ -89,6 +89,19 @@
- state: boxwide - state: boxwide
- state: shellincendiary - state: shellincendiary
- type: entity
name: shotgun uranium cartridges dispenser
parent: AmmoProviderShotgunShell
id: BoxShotgunUranium
description: A dispenser box full of uranium cartridges, designed for riot shotguns.
components:
- type: BallisticAmmoProvider
proto: ShellShotgunUranium
- type: Sprite
layers:
- state: boxwide
- state: shelluranium
- type: entity - type: entity
name: shotgun practice cartridges dispenser name: shotgun practice cartridges dispenser
parent: AmmoProviderShotgunShell parent: AmmoProviderShotgunShell
@@ -113,4 +126,4 @@
- type: Sprite - type: Sprite
layers: layers:
- state: boxwide - state: boxwide
- state: shellslug - state: shellslug

View File

@@ -68,6 +68,19 @@
- state: mag-1 - state: mag-1
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazineLightRifleEmpty
name: "magazine (.30 rifle any)"
suffix: empty
parent: MagazineLightRifle
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: entity - type: entity
id: MagazineLightRiflePractice id: MagazineLightRiflePractice
name: "magazine (.30 rifle practice)" name: "magazine (.30 rifle practice)"
@@ -96,6 +109,14 @@
- state: mag-1 - state: mag-1
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazineLightRifleIncendiary
name: "magazine (.30 rifle incendiary)"
parent: MagazineLightRifle
components:
- type: BallisticAmmoProvider
proto: CartridgeLightRifleIncendiary
- type: entity - type: entity
id: MagazineLightRifleMaxim id: MagazineLightRifleMaxim
name: "pan magazine (.30 rifle)" name: "pan magazine (.30 rifle)"

View File

@@ -47,6 +47,19 @@
zeroVisible: false zeroVisible: false
- type: Appearance - type: Appearance
- type: entity
id: MagazineMagnumEmpty
name: pistol magazine (.45 magnum any)
suffix: empty
parent: BaseMagazineMagnum
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: entity - type: entity
id: MagazineMagnum id: MagazineMagnum
name: pistol magazine (.45 magnum) name: pistol magazine (.45 magnum)
@@ -103,6 +116,19 @@
- state: mag-1 - state: mag-1
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazineMagnumSubMachineGunEmpty
name: "Vector magazine (.45 magnum any)"
suffix: empty
parent: BaseMagazineMagnumSubMachineGun
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: entity - type: entity
id: MagazineMagnumSubMachineGun id: MagazineMagnumSubMachineGun
name: "Vector magazine (.45 magnum)" name: "Vector magazine (.45 magnum)"

View File

@@ -128,6 +128,14 @@
containers: containers:
ballistic-ammo: !type:Container ballistic-ammo: !type:Container
- type: entity
id: MagazinePistolSubMachineGunTopMountedEmpty
name: WT550 magazine (.35 auto top-mounted any)
parent: MagazinePistolSubMachineGunTopMounted
components:
- type: BallisticAmmoProvider
proto: null
- type: entity - type: entity
id: MagazinePistol id: MagazinePistol
name: pistol magazine (.35 auto) name: pistol magazine (.35 auto)
@@ -142,6 +150,28 @@
- state: mag-1 - state: mag-1
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazinePistolEmpty
name: pistol magazine (.35 auto any)
suffix: empty
parent: MagazinePistol
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: entity
id: MagazinePistolIncendiary
name: pistol magazine (.35 auto incendiary)
parent: MagazinePistol
components:
- type: BallisticAmmoProvider
proto: CartridgePistolIncendiary
- type: entity - type: entity
id: MagazinePistolPractice id: MagazinePistolPractice
name: pistol magazine (.35 auto practice) name: pistol magazine (.35 auto practice)
@@ -156,6 +186,33 @@
- state: mag-1 - state: mag-1
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazinePistolUranium
name: pistol magazine (.35 auto uranium)
parent: BaseMagazinePistol
components:
- type: BallisticAmmoProvider
proto: CartridgePistolUranium
- type: Sprite
layers:
- state: uranium
map: ["enum.GunVisualLayers.Base"]
- state: mag-1
map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazinePistolHighCapacityEmpty
name: machine pistol magazine (.35 auto any)
suffix: empty
parent: BaseMagazinePistolHighCapacity
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: entity - type: entity
id: MagazinePistolHighCapacity id: MagazinePistolHighCapacity
name: machine pistol magazine (.35 auto) name: machine pistol magazine (.35 auto)
@@ -218,6 +275,19 @@
- state: mag-1 - state: mag-1
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazinePistolSubMachineGunEmpty
name: SMG magazine (.35 auto any)
suffix: empty
parent: BaseMagazinePistolSubMachineGun
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: entity - type: entity
id: MagazinePistolSubMachineGunPractice id: MagazinePistolSubMachineGunPractice
name: SMG magazine (.35 auto practice) name: SMG magazine (.35 auto practice)

View File

@@ -47,6 +47,27 @@
- state: mag-1 - state: mag-1
map: ["enum.GunVisualLayers.Mag"] map: ["enum.GunVisualLayers.Mag"]
- type: entity
id: MagazineRifleEmpty
name: "magazine (.20 rifle any)"
suffix: empty
parent: MagazineRifle
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
layers:
- state: base
map: ["enum.GunVisualLayers.Base"]
- type: entity
id: MagazineRifleIncendiary
name: "magazine (.20 rifle incendiary)"
parent: MagazineRifle
components:
- type: BallisticAmmoProvider
proto: CartridgeRifleIncendiary
- type: entity - type: entity
id: MagazineRiflePractice id: MagazineRiflePractice
name: "magazine (.20 rifle practice)" name: "magazine (.20 rifle practice)"

View File

@@ -33,6 +33,15 @@
zeroVisible: false zeroVisible: false
- type: Appearance - type: Appearance
- type: entity
id: MagazineShotgunEmpty
name: ammo drum (.50 shells any)
suffix: empty
parent: BaseMagazineShotgun
components:
- type: BallisticAmmoProvider
proto: null
- type: entity - type: entity
id: MagazineShotgun id: MagazineShotgun
name: ammo drum (.50 pellet) name: ammo drum (.50 pellet)

View File

@@ -39,6 +39,27 @@
zeroVisible: false zeroVisible: false
- type: Appearance - type: Appearance
- type: entity
id: SpeedLoaderMagnumEmpty
name: "speed loader (.45 magnum any)"
parent: SpeedLoaderMagnum
components:
- type: BallisticAmmoProvider
proto: null
- type: Sprite
sprite: Objects/Weapons/Guns/Ammunition/SpeedLoaders/Magnum/magnum_speed_loader.rsi
layers:
- state: base
map: [ "enum.GunVisualLayers.Base" ]
- type: entity
id: SpeedLoaderMagnumIncendiary
name: "speed loader (.45 magnum incendiary)"
parent: SpeedLoaderMagnum
components:
- type: BallisticAmmoProvider
proto: CartridgeMagnumIncendiary
- type: entity - type: entity
id: SpeedLoaderMagnumPractice id: SpeedLoaderMagnumPractice
name: "speed loader (.45 magnum practice)" name: "speed loader (.45 magnum practice)"

View File

@@ -646,21 +646,28 @@
- Stunbaton - Stunbaton
- ForensicPad - ForensicPad
- RiotShield - RiotShield
- ShellShotgun - BoxShotgunSlug
- ShellShotgunBeanbag - BoxLethalshot
- ShellShotgunSlug - BoxShotgunFlare
- ShellShotgunFlare - MagazinePistol
- ShellTranquilizer - MagazinePistolEmpty
- MagazinePistol
- MagazinePistolSubMachineGun - MagazinePistolSubMachineGun
- MagazinePistolSubMachineGunEmpty
- MagazinePistolSubMachineGunTopMounted - MagazinePistolSubMachineGunTopMounted
- MagazinePistolSubMachineGunTopMountedEmpty
- MagazineRifle - MagazineRifle
- MagazineRifleEmpty
- MagazineLightRifle - MagazineLightRifle
- MagazineLightRifleEmpty
- MagazineShotgunEmpty
- MagazineShotgun
- MagazineShotgunSlug
- MagazineBoxPistol - MagazineBoxPistol
- MagazineBoxMagnum - MagazineBoxMagnum
- MagazineBoxRifle - MagazineBoxRifle
- MagazineBoxLightRifle - MagazineBoxLightRifle
- SpeedLoaderMagnum - SpeedLoaderMagnum
- SpeedLoaderMagnumEmpty
- TargetHuman - TargetHuman
- TargetSyndicate - TargetSyndicate
- TargetClown - TargetClown
@@ -668,18 +675,21 @@
- MagazineBoxMagnumPractice - MagazineBoxMagnumPractice
- MagazineBoxPistolPractice - MagazineBoxPistolPractice
- MagazineBoxRiflePractice - MagazineBoxRiflePractice
- ShellShotgunPractice
- WeaponLaserCarbinePractice - WeaponLaserCarbinePractice
- WeaponDisablerPractice - WeaponDisablerPractice
- BoxShotgunPractice
dynamicRecipes: dynamicRecipes:
- CartridgeLightRifleIncendiary - MagazineLightRifleIncendiary
- CartridgeMagnumIncendiary - SpeedLoaderMagnumIncendiary
- CartridgePistolIncendiary - MagazinePistolIncendiary
- CartridgeRifleIncendiary - MagazineRifleIncendiary
- CartridgeLightRifleUranium - MagazineShotgunIncendiary
- CartridgeMagnumUranium - MagazineLightRifleUranium
- CartridgePistolUranium - SpeedLoaderMagnumUranium
- CartridgeRifleUranium - MagazinePistolUranium
- MagazineRifleUranium
- MagazineShotgunBeanbag
- ShellTranquilizer
- ExplosivePayload - ExplosivePayload
- FlashPayload - FlashPayload
- HoloprojectorSecurity - HoloprojectorSecurity
@@ -687,23 +697,24 @@
- MagazineBoxMagnumIncendiary - MagazineBoxMagnumIncendiary
- MagazineBoxPistolIncendiary - MagazineBoxPistolIncendiary
- MagazineBoxRifleIncendiary - MagazineBoxRifleIncendiary
- BoxShotgunIncendiary
- MagazineBoxLightRifleUranium - MagazineBoxLightRifleUranium
- MagazineBoxMagnumUranium - MagazineBoxMagnumUranium
- MagazineBoxPistolUranium - MagazineBoxPistolUranium
- MagazineBoxRifleUranium - MagazineBoxRifleUranium
- BoxShotgunUranium
- BoxBeanbag
- MagazineGrenadeEmpty - MagazineGrenadeEmpty
- GrenadeEMP - GrenadeEMP
- GrenadeFlash - GrenadeFlash
- ShellShotgunIncendiary
- ShellShotgunUranium
- Signaller - Signaller
- SignalTrigger - SignalTrigger
- TelescopicShield - TelescopicShield
- TimerTrigger - TimerTrigger
- Truncheon - Truncheon
- VoiceTrigger - VoiceTrigger
- WeaponDisablerPractice
- WeaponAdvancedLaser - WeaponAdvancedLaser
- WeaponDisabler
- WeaponDisablerSMG - WeaponDisablerSMG
- WeaponLaserCannon - WeaponLaserCannon
- WeaponLaserCarbine - WeaponLaserCarbine

View File

@@ -239,13 +239,56 @@
materials: materials:
Steel: 500 Steel: 500
- type: latheRecipe
id: MagazinePistolEmpty
result: MagazinePistolEmpty
category: Ammo
completetime: 5
materials:
Steel: 25
- type: latheRecipe - type: latheRecipe
id: MagazinePistol id: MagazinePistol
result: MagazinePistol result: MagazinePistol
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 100 Steel: 145
- type: latheRecipe
id: MagazinePistolPractice
result: MagazinePistolPractice
category: Ammo
completetime: 5
materials:
Steel: 85
- type: latheRecipe
id: MagazinePistolUranium
result: MagazinePistolUranium
category: Ammo
completetime: 5
materials:
Steel: 25
Plastic: 65
Uranium: 120
- type: latheRecipe
id: MagazinePistolIncendiary
result: MagazinePistolIncendiary
category: Ammo
completetime: 5
materials:
Steel: 25
Plastic: 120
- type: latheRecipe
id: MagazinePistolSubMachineGunEmpty
result: MagazinePistolSubMachineGunEmpty
category: Ammo
completetime: 5
materials:
Steel: 30
- type: latheRecipe - type: latheRecipe
id: MagazinePistolSubMachineGun id: MagazinePistolSubMachineGun
@@ -255,6 +298,14 @@
materials: materials:
Steel: 300 Steel: 300
- type: latheRecipe
id: MagazinePistolSubMachineGunTopMountedEmpty
result: MagazinePistolSubMachineGunTopMountedEmpty
category: Ammo
completetime: 5
materials:
Steel: 30
- type: latheRecipe - type: latheRecipe
id: MagazinePistolSubMachineGunTopMounted id: MagazinePistolSubMachineGunTopMounted
result: MagazinePistolSubMachineGunTopMounted result: MagazinePistolSubMachineGunTopMounted
@@ -269,7 +320,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 650 Steel: 600
- type: latheRecipe - type: latheRecipe
id: MagazineBoxMagnum id: MagazineBoxMagnum
@@ -277,7 +328,15 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 1250 Steel: 240
- type: latheRecipe
id: MagazineRifleEmpty
result: MagazineRifleEmpty
category: Ammo
completetime: 5
materials:
Steel: 25
- type: latheRecipe - type: latheRecipe
id: MagazineRifle id: MagazineRifle
@@ -285,7 +344,43 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 375 Steel: 475
- type: latheRecipe
id: MagazineRiflePractice
result: MagazineRiflePractice
category: Ammo
completetime: 5
materials:
Steel: 175
- type: latheRecipe
id: MagazineRifleUranium
result: MagazineRifleUranium
category: Ammo
completetime: 5
materials:
Steel: 25
Plastic: 300
Uranium: 300
- type: latheRecipe
id: MagazineRifleIncendiary
result: MagazineRifleIncendiary
category: Ammo
completetime: 5
materials:
Steel: 25
Plastic: 450
- type: latheRecipe
id: MagazineLightRifleEmpty
result: MagazineLightRifleEmpty
category: Ammo
completetime: 5
materials:
Steel: 25
- type: latheRecipe - type: latheRecipe
id: MagazineLightRifle id: MagazineLightRifle
@@ -293,7 +388,35 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 375 Steel: 565
- type: latheRecipe
id: MagazineLightRiflePractice
result: MagazineLightRiflePractice
category: Ammo
completetime: 5
materials:
Steel: 205
- type: latheRecipe
id: MagazineLightRifleUranium
result: MagazineLightRifleUranium
category: Ammo
completetime: 5
materials:
Steel: 25
Plastic: 360
Uranium: 360
- type: latheRecipe
id: MagazineLightRifleIncendiary
result: MagazineLightRifleIncendiary
category: Ammo
completetime: 5
materials:
Steel: 25
Plastic: 540
- type: latheRecipe - type: latheRecipe
id: MagazineBoxRifle id: MagazineBoxRifle
@@ -301,7 +424,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 950 Steel: 750
- type: latheRecipe - type: latheRecipe
id: MagazineBoxLightRifle id: MagazineBoxLightRifle
@@ -309,7 +432,41 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 1800 Steel: 900
- type: latheRecipe
id: BoxLethalshot
result: BoxLethalshot
category: Ammo
completetime: 5
materials:
Steel: 320
- type: latheRecipe
id: BoxBeanbag
result: BoxBeanbag
category: Ammo
completetime: 5
materials:
Steel: 160
Plastic: 240
- type: latheRecipe
id: BoxShotgunSlug
result: BoxShotgunSlug
category: Ammo
completetime: 5
materials:
Steel: 240
Plastic: 160
- type: latheRecipe
id: SpeedLoaderMagnumEmpty
result: SpeedLoaderMagnumEmpty
category: Ammo
completetime: 5
materials:
Steel: 50
- type: latheRecipe - type: latheRecipe
id: SpeedLoaderMagnum id: SpeedLoaderMagnum
@@ -317,7 +474,77 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Steel: 200 Steel: 190
- type: latheRecipe
id: SpeedLoaderMagnumPractice
result: SpeedLoaderMagnumPractice
category: Ammo
completetime: 5
materials:
Steel: 90
- type: latheRecipe
id: SpeedLoaderMagnumUranium
result: SpeedLoaderMagnumUranium
category: Ammo
completetime: 5
materials:
Steel: 50
Plastic: 150
Uranium: 110
- type: latheRecipe
id: SpeedLoaderMagnumIncendiary
result: SpeedLoaderMagnumIncendiary
category: Ammo
completetime: 5
materials:
Steel: 50
Plastic: 150
- type: latheRecipe
id: MagazineShotgunEmpty
result: MagazineShotgunEmpty
category: Ammo
completetime: 5
materials:
Steel: 50
- type: latheRecipe
id: MagazineShotgun
result: MagazineShotgun
category: Ammo
completetime: 5
materials:
Steel: 240
- type: latheRecipe
id: MagazineShotgunBeanbag
result: MagazineShotgunBeanbag
category: Ammo
completetime: 5
materials:
Steel: 150
Plastic: 140
- type: latheRecipe
id: MagazineShotgunSlug
result: MagazineShotgunSlug
category: Ammo
completetime: 5
materials:
Steel: 190
Plastic: 100
- type: latheRecipe
id: MagazineShotgunIncendiary
result: MagazineShotgunIncendiary
category: Ammo
completetime: 5
materials:
Steel: 100
Plastic: 190
- type: latheRecipe - type: latheRecipe
id: ShellShotgunIncendiary id: ShellShotgunIncendiary
@@ -349,7 +576,7 @@
category: Ammo category: Ammo
completetime: 2 completetime: 2
materials: materials:
Plastic: 20 Plastic: 15
- type: latheRecipe - type: latheRecipe
id: CartridgeRifleIncendiary id: CartridgeRifleIncendiary
@@ -365,7 +592,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 650 Plastic: 600
- type: latheRecipe - type: latheRecipe
id: MagazineBoxMagnumIncendiary id: MagazineBoxMagnumIncendiary
@@ -373,7 +600,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 1250 Plastic: 240
- type: latheRecipe - type: latheRecipe
id: MagazineBoxLightRifleIncendiary id: MagazineBoxLightRifleIncendiary
@@ -381,7 +608,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 1800 Plastic: 900
- type: latheRecipe - type: latheRecipe
id: MagazineBoxRifleIncendiary id: MagazineBoxRifleIncendiary
@@ -389,7 +616,25 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 950 Plastic: 750
- type: latheRecipe
id: BoxShotgunFlare
result: BoxShotgunFlare
category: Ammo
completetime: 5
materials:
Steel: 80
Plastic: 80
- type: latheRecipe
id: BoxShotgunIncendiary
result: BoxShotgunIncendiary
category: Ammo
completetime: 5
materials:
Steel: 80
Plastic: 320
- type: latheRecipe - type: latheRecipe
id: ShellShotgunPractice id: ShellShotgunPractice
@@ -405,7 +650,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 600 Steel: 300
- type: latheRecipe - type: latheRecipe
id: MagazineBoxMagnumPractice id: MagazineBoxMagnumPractice
@@ -413,7 +658,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 1200 Steel: 60
- type: latheRecipe - type: latheRecipe
id: MagazineBoxLightRiflePractice id: MagazineBoxLightRiflePractice
@@ -421,7 +666,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 1000 Steel: 300
- type: latheRecipe - type: latheRecipe
id: MagazineBoxRiflePractice id: MagazineBoxRiflePractice
@@ -429,7 +674,7 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 900 Steel: 250
- type: latheRecipe - type: latheRecipe
id: WeaponLaserCarbinePractice id: WeaponLaserCarbinePractice
@@ -451,14 +696,22 @@
Glass: 100 Glass: 100
Plastic: 200 Plastic: 200
- type: latheRecipe
id: BoxShotgunPractice
result: BoxShotgunPractice
category: Ammo
completetime: 5
materials:
Steel: 80
- type: latheRecipe - type: latheRecipe
id: ShellShotgunUranium id: ShellShotgunUranium
result: ShellShotgunUranium result: ShellShotgunUranium
category: Ammo category: Ammo
completetime: 2 completetime: 2
materials: materials:
Plastic: 15 Plastic: 20
Uranium: 10 Uranium: 15
- type: latheRecipe - type: latheRecipe
id: CartridgePistolUranium id: CartridgePistolUranium
@@ -476,7 +729,7 @@
completetime: 2 completetime: 2
materials: materials:
Plastic: 20 Plastic: 20
Uranium: 10 Uranium: 15
- type: latheRecipe - type: latheRecipe
id: CartridgeLightRifleUranium id: CartridgeLightRifleUranium
@@ -484,7 +737,7 @@
category: Ammo category: Ammo
completetime: 2 completetime: 2
materials: materials:
Plastic: 20 Plastic: 10
Uranium: 10 Uranium: 10
- type: latheRecipe - type: latheRecipe
@@ -493,7 +746,7 @@
category: Ammo category: Ammo
completetime: 2 completetime: 2
materials: materials:
Plastic: 15 Plastic: 10
Uranium: 10 Uranium: 10
- type: latheRecipe - type: latheRecipe
@@ -502,8 +755,8 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 650 Plastic: 300
Uranium: 65 Uranium: 600
- type: latheRecipe - type: latheRecipe
id: MagazineBoxMagnumUranium id: MagazineBoxMagnumUranium
@@ -511,8 +764,8 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 1250 Plastic: 240
Uranium: 125 Uranium: 180
- type: latheRecipe - type: latheRecipe
id: MagazineBoxLightRifleUranium id: MagazineBoxLightRifleUranium
@@ -520,8 +773,8 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 1800 Plastic: 600
Uranium: 180 Uranium: 600
- type: latheRecipe - type: latheRecipe
id: MagazineBoxRifleUranium id: MagazineBoxRifleUranium
@@ -529,8 +782,27 @@
category: Ammo category: Ammo
completetime: 5 completetime: 5
materials: materials:
Plastic: 950 Plastic: 500
Uranium: 95 Uranium: 500
- type: latheRecipe
id: BoxShotgunUranium
result: BoxShotgunUranium
category: Ammo
completetime: 5
materials:
Plastic: 320
Uranium: 240
- type: latheRecipe
id: WeaponDisabler
result: WeaponDisabler
category: Weapons
completetime: 6
materials:
Steel: 300
Glass: 200
Plastic: 200
- type: latheRecipe - type: latheRecipe
id: WeaponDisablerSMG id: WeaponDisablerSMG
@@ -576,4 +848,3 @@
Steel: 150 Steel: 150
Plastic: 100 Plastic: 100
Glass: 20 Glass: 20

View File

@@ -24,11 +24,12 @@
tier: 1 tier: 1
cost: 10000 cost: 10000
recipeUnlocks: recipeUnlocks:
- ShellShotgunIncendiary - BoxShotgunIncendiary
- CartridgePistolIncendiary - MagazineRifleIncendiary
- CartridgeMagnumIncendiary - MagazinePistolIncendiary
- CartridgeLightRifleIncendiary - MagazineLightRifleIncendiary
- CartridgeRifleIncendiary - SpeedLoaderMagnumIncendiary
- MagazineShotgunIncendiary
- MagazineBoxPistolIncendiary - MagazineBoxPistolIncendiary
- MagazineBoxMagnumIncendiary - MagazineBoxMagnumIncendiary
- MagazineBoxLightRifleIncendiary - MagazineBoxLightRifleIncendiary
@@ -46,6 +47,20 @@
recipeUnlocks: recipeUnlocks:
- WeaponLaserCarbine - WeaponLaserCarbine
- type: technology
id: NonlethalAmmunition
name: research-technology-nonlethal-ammunition
icon:
sprite: Objects/Weapons/Guns/Ammunition/Casings/shotgun_shell.rsi
state: beanbag
discipline: Arsenal
tier: 1
cost: 5000
recipeUnlocks:
- ShellTranquilizer
- BoxBeanbag
- WeaponDisabler
- type: technology - type: technology
id: UraniumMunitions id: UraniumMunitions
name: research-technology-uranium-munitions name: research-technology-uranium-munitions
@@ -56,15 +71,15 @@
tier: 1 tier: 1
cost: 7500 cost: 7500
recipeUnlocks: recipeUnlocks:
- ShellShotgunUranium - MagazineRifleUranium
- CartridgePistolUranium - MagazinePistolUranium
- CartridgeMagnumUranium - MagazineLightRifleUranium
- CartridgeLightRifleUranium - SpeedLoaderMagnumUranium
- CartridgeRifleUranium
- MagazineBoxPistolUranium - MagazineBoxPistolUranium
- MagazineBoxMagnumUranium - MagazineBoxMagnumUranium
- MagazineBoxLightRifleUranium - MagazineBoxLightRifleUranium
- MagazineBoxRifleUranium - MagazineBoxRifleUranium
- BoxShotgunUranium
- type: technology - type: technology
id: AdvancedRiotControl id: AdvancedRiotControl

View File

@@ -197,6 +197,9 @@
{ {
"name": "shellslug" "name": "shellslug"
}, },
{
"name": "shelluranium"
},
{ {
"name": "shelltoy" "name": "shelltoy"
}, },

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB