diff --git a/Content.Client/Lathe/UI/LatheBoundUserInterface.cs b/Content.Client/Lathe/UI/LatheBoundUserInterface.cs index ed2307b165..456471598a 100644 --- a/Content.Client/Lathe/UI/LatheBoundUserInterface.cs +++ b/Content.Client/Lathe/UI/LatheBoundUserInterface.cs @@ -43,7 +43,8 @@ namespace Content.Client.Lathe.UI case LatheUpdateState msg: if (_menu != null) _menu.Recipes = msg.Recipes; - _menu?.PopulateRecipes(Owner); + _menu?.PopulateRecipes(); + _menu?.UpdateCategories(); _menu?.PopulateQueueList(msg.Queue); _menu?.SetQueueInfo(msg.CurrentlyProducing); break; diff --git a/Content.Client/Lathe/UI/LatheMenu.xaml b/Content.Client/Lathe/UI/LatheMenu.xaml index 1e60db68e2..2b97166f05 100644 --- a/Content.Client/Lathe/UI/LatheMenu.xaml +++ b/Content.Client/Lathe/UI/LatheMenu.xaml @@ -26,14 +26,10 @@ PlaceHolder="{Loc 'lathe-menu-search-designs'}" HorizontalExpand="True"> - + > Recipes = new(); + public List>? Categories; + + public ProtoId? CurrentCategory; + public LatheMenu(LatheBoundUserInterface owner) { + _owner = owner.Owner; RobustXamlLoader.Load(this); IoCManager.InjectDependencies(this); @@ -40,13 +47,15 @@ public sealed partial class LatheMenu : DefaultWindow SearchBar.OnTextChanged += _ => { - PopulateRecipes(owner.Owner); + PopulateRecipes(); }; AmountLineEdit.OnTextChanged += _ => { - PopulateRecipes(owner.Owner); + PopulateRecipes(); }; + FilterOption.OnItemSelected += OnItemSelected; + ServerListButton.OnPressed += a => OnServerListButtonPressed?.Invoke(a); if (_entityManager.TryGetComponent(owner.Owner, out var latheComponent)) @@ -63,10 +72,9 @@ public sealed partial class LatheMenu : DefaultWindow /// /// Populates the list of all the recipes /// - /// - public void PopulateRecipes(EntityUid lathe) + public void PopulateRecipes() { - if (!_entityManager.TryGetComponent(lathe, out var component)) + if (!_entityManager.TryGetComponent(_owner, out var component)) return; var recipesToShow = new List(); @@ -75,6 +83,9 @@ public sealed partial class LatheMenu : DefaultWindow if (!_prototypeManager.TryIndex(recipe, out var proto)) continue; + if (CurrentCategory != null && proto.Category != CurrentCategory) + continue; + if (SearchBar.Text.Trim().Length != 0) { if (proto.Name.ToLowerInvariant().Contains(SearchBar.Text.Trim().ToLowerInvariant())) @@ -89,8 +100,9 @@ public sealed partial class LatheMenu : DefaultWindow if (!int.TryParse(AmountLineEdit.Text, out var quantity) || quantity <= 0) quantity = 1; + var sortedRecipesToShow = recipesToShow.OrderBy(p => p.Name); RecipeList.Children.Clear(); - foreach (var prototype in recipesToShow) + foreach (var prototype in sortedRecipesToShow) { StringBuilder sb = new(); var first = true; @@ -115,13 +127,16 @@ public sealed partial class LatheMenu : DefaultWindow sb.Append(Loc.GetString("lathe-menu-tooltip-display", ("material", name), ("amount", amountText))); } - sb.Append('\n'); - sb.Append(Loc.GetString("lathe-menu-description-display", ("description", prototype.Description))); + if (!string.IsNullOrWhiteSpace(prototype.Description)) + { + sb.Append('\n'); + sb.Append(Loc.GetString("lathe-menu-description-display", ("description", prototype.Description))); + } var icon = prototype.Icon == null ? _spriteSystem.GetPrototypeIcon(prototype.Result).Default : _spriteSystem.Frame0(prototype.Icon); - var canProduce = _lathe.CanProduce(lathe, prototype, quantity); + var canProduce = _lathe.CanProduce(_owner, prototype, quantity); var control = new RecipeControl(prototype, sb.ToString(), canProduce, icon); control.OnButtonPressed += s => @@ -134,6 +149,41 @@ public sealed partial class LatheMenu : DefaultWindow } } + public void UpdateCategories() + { + var currentCategories = new List>(); + foreach (var recipeId in Recipes) + { + var recipe = _prototypeManager.Index(recipeId); + + if (recipe.Category == null) + continue; + + if (currentCategories.Contains(recipe.Category.Value)) + continue; + + currentCategories.Add(recipe.Category.Value); + } + + if (Categories != null && (Categories.Count == currentCategories.Count || !Categories.All(currentCategories.Contains))) + return; + + Categories = currentCategories; + var sortedCategories = currentCategories + .Select(p => _prototypeManager.Index(p)) + .OrderBy(p => Loc.GetString(p.Name)) + .ToList(); + + FilterOption.Clear(); + FilterOption.AddItem(Loc.GetString("lathe-menu-category-all"), -1); + foreach (var category in sortedCategories) + { + FilterOption.AddItem(Loc.GetString(category.Name), Categories.IndexOf(category.ID)); + } + + FilterOption.SelectId(-1); + } + /// /// Populates the build queue list with all queued items /// @@ -162,4 +212,18 @@ public sealed partial class LatheMenu : DefaultWindow : _spriteSystem.Frame0(recipe.Icon); NameLabel.Text = $"{recipe.Name}"; } + + private void OnItemSelected(OptionButton.ItemSelectedEventArgs obj) + { + FilterOption.SelectId(obj.Id); + if (obj.Id == -1) + { + CurrentCategory = null; + } + else + { + CurrentCategory = Categories?[obj.Id]; + } + PopulateRecipes(); + } } diff --git a/Content.Client/Lathe/UI/RecipeTooltip.xaml.cs b/Content.Client/Lathe/UI/RecipeTooltip.xaml.cs index 5d2e3ca081..45d854e92f 100644 --- a/Content.Client/Lathe/UI/RecipeTooltip.xaml.cs +++ b/Content.Client/Lathe/UI/RecipeTooltip.xaml.cs @@ -1,20 +1,17 @@ -using Content.Shared.Research.Prototypes; +using Content.Client.Message; using Robust.Client.AutoGenerated; -using Robust.Client.Graphics; using Robust.Client.UserInterface; using Robust.Client.UserInterface.XAML; -using Robust.Shared.Graphics; namespace Content.Client.Lathe.UI; [GenerateTypedNameReferences] public sealed partial class RecipeTooltip : Control { - public RecipeTooltip(string tooltip) { RobustXamlLoader.Load(this); - RecipeTooltipLabel.SetMessage(tooltip); + RecipeTooltipLabel.SetMarkup(tooltip); } } diff --git a/Content.Shared/Lathe/Prototypes/LatheCategoryPrototype.cs b/Content.Shared/Lathe/Prototypes/LatheCategoryPrototype.cs new file mode 100644 index 0000000000..9af8e77352 --- /dev/null +++ b/Content.Shared/Lathe/Prototypes/LatheCategoryPrototype.cs @@ -0,0 +1,21 @@ +using Content.Shared.Research.Prototypes; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Lathe.Prototypes; + +/// +/// This is a prototype for a category for +/// +[Prototype] +public sealed partial class LatheCategoryPrototype : IPrototype +{ + /// + [IdDataField] + public string ID { get; } = default!; + + /// + /// A localized string used in the UI + /// + [DataField] + public LocId Name; +} diff --git a/Content.Shared/Research/Prototypes/LatheRecipePrototype.cs b/Content.Shared/Research/Prototypes/LatheRecipePrototype.cs index 709a592cc1..8b0c866cbe 100644 --- a/Content.Shared/Research/Prototypes/LatheRecipePrototype.cs +++ b/Content.Shared/Research/Prototypes/LatheRecipePrototype.cs @@ -1,3 +1,4 @@ +using Content.Shared.Lathe.Prototypes; using Content.Shared.Materials; using Robust.Shared.Prototypes; using Robust.Shared.Serialization; @@ -38,6 +39,7 @@ namespace Content.Shared.Research.Prototypes [DataField("materials", customTypeSerializer: typeof(PrototypeIdDictionarySerializer))] private Dictionary _requiredMaterials = new(); + //todo make these function calls because we're eating tons of resolves here. /// /// Name displayed in the lathe GUI. /// @@ -46,7 +48,8 @@ namespace Content.Shared.Research.Prototypes { get { - if (_name.Trim().Length != 0) return _name; + if (_name.Trim().Length != 0) + return _name; var protoMan = IoCManager.Resolve(); protoMan.TryIndex(Result, out EntityPrototype? prototype); if (prototype?.Name != null) @@ -63,7 +66,8 @@ namespace Content.Shared.Research.Prototypes { get { - if (_description.Trim().Length != 0) return _description; + if (_description.Trim().Length != 0) + return _description; var protoMan = IoCManager.Resolve(); protoMan.TryIndex(Result, out EntityPrototype? prototype); if (prototype?.Description != null) @@ -93,5 +97,11 @@ namespace Content.Shared.Research.Prototypes [DataField("applyMaterialDiscount")] public bool ApplyMaterialDiscount = true; + + /// + /// A category used for visually sorting lathe recipes in the UI. + /// + [DataField] + public ProtoId? Category; } } diff --git a/Resources/Locale/en-US/lathe/lathe-categories.ftl b/Resources/Locale/en-US/lathe/lathe-categories.ftl new file mode 100644 index 0000000000..a7261c2b51 --- /dev/null +++ b/Resources/Locale/en-US/lathe/lathe-categories.ftl @@ -0,0 +1,8 @@ +lathe-category-ammo = Ammo +lathe-category-circuitry = Circuitry +lathe-category-lights = Lights +lathe-category-mechs = Mechs +lathe-category-parts = Parts +lathe-category-robotics = Robotics +lathe-category-tools = Tools +lathe-category-weapons = Weapons diff --git a/Resources/Locale/en-US/lathe/ui/lathe-menu.ftl b/Resources/Locale/en-US/lathe/ui/lathe-menu.ftl index 3ccdb2b0eb..92f313086c 100644 --- a/Resources/Locale/en-US/lathe/ui/lathe-menu.ftl +++ b/Resources/Locale/en-US/lathe/ui/lathe-menu.ftl @@ -3,11 +3,12 @@ lathe-menu-queue = Queue lathe-menu-server-list = Server list lathe-menu-sync = Sync lathe-menu-search-designs = Search designs -lathe-menu-search-filter = Filter +lathe-menu-category-all = All +lathe-menu-search-filter = Filter: lathe-menu-amount = Amount: lathe-menu-material-display = {$material} ({$amount}) lathe-menu-tooltip-display = {$amount} of {$material} -lathe-menu-description-display = {$description} +lathe-menu-description-display = [italic]{$description}[/italic] lathe-menu-material-amount = { $amount -> [1] {NATURALFIXED($amount, 2)} {$unit} *[other] {NATURALFIXED($amount, 2)} {MAKEPLURAL($unit)} diff --git a/Resources/Prototypes/Recipes/Lathes/Parts.yml b/Resources/Prototypes/Recipes/Lathes/Parts.yml index 658248c140..90cff2174d 100644 --- a/Resources/Prototypes/Recipes/Lathes/Parts.yml +++ b/Resources/Prototypes/Recipes/Lathes/Parts.yml @@ -1,6 +1,7 @@ - type: latheRecipe id: CapacitorStockPart result: CapacitorStockPart + category: Parts completetime: 1 materials: Steel: 50 @@ -9,6 +10,7 @@ - type: latheRecipe id: MatterBinStockPart result: MatterBinStockPart + category: Parts completetime: 1 materials: Steel: 50 @@ -17,6 +19,7 @@ - type: latheRecipe id: MicroManipulatorStockPart result: MicroManipulatorStockPart + category: Parts completetime: 1 materials: Steel: 50 diff --git a/Resources/Prototypes/Recipes/Lathes/categories.yml b/Resources/Prototypes/Recipes/Lathes/categories.yml new file mode 100644 index 0000000000..8faa67af1b --- /dev/null +++ b/Resources/Prototypes/Recipes/Lathes/categories.yml @@ -0,0 +1,31 @@ +- type: latheCategory + id: Ammo + name: lathe-category-ammo + +- type: latheCategory + id: Circuitry + name: lathe-category-circuitry + +- type: latheCategory + id: Lights + name: lathe-category-lights + +- type: latheCategory + id: Mech + name: lathe-category-mechs + +- type: latheCategory + id: Parts + name: lathe-category-parts + +- type: latheCategory + id: Robotics + name: lathe-category-robotics + +- type: latheCategory + id: Tools + name: lathe-category-tools + +- type: latheCategory + id: Weapons + name: lathe-category-weapons diff --git a/Resources/Prototypes/Recipes/Lathes/devices.yml b/Resources/Prototypes/Recipes/Lathes/devices.yml index 1a1f5326e3..066c2ba8d3 100644 --- a/Resources/Prototypes/Recipes/Lathes/devices.yml +++ b/Resources/Prototypes/Recipes/Lathes/devices.yml @@ -1,6 +1,7 @@ - type: latheRecipe id: TimerTrigger result: TimerTrigger + category: Parts completetime: 2 materials: Steel: 300 @@ -9,6 +10,7 @@ - type: latheRecipe id: SignalTrigger result: SignalTrigger + category: Parts completetime: 2 materials: Steel: 300 @@ -17,6 +19,7 @@ - type: latheRecipe id: VoiceTrigger result: VoiceTrigger + category: Parts completetime: 2 materials: Steel: 300 @@ -25,6 +28,7 @@ - type: latheRecipe id: Igniter result: Igniter + category: Parts completetime: 2 materials: Steel: 300 @@ -34,6 +38,7 @@ - type: latheRecipe id: ChemicalPayload result: ChemicalPayload + category: Weapons completetime: 2 materials: Steel: 200 @@ -42,6 +47,7 @@ - type: latheRecipe id: FlashPayload result: FlashPayload + category: Weapons completetime: 2 materials: Steel: 50 @@ -52,6 +58,7 @@ - type: latheRecipe id: ExplosivePayload result: ExplosivePayload + category: Weapons completetime: 4 materials: Steel: 100 @@ -63,6 +70,7 @@ - type: latheRecipe id: Signaller result: RemoteSignaller + category: Parts completetime: 2 materials: Steel: 100 @@ -72,6 +80,7 @@ - type: latheRecipe id: AnomalyLocator result: AnomalyLocatorEmpty + category: Tools completetime: 3 materials: Steel: 400 @@ -80,6 +89,7 @@ - type: latheRecipe id: AnomalyLocatorWide result: AnomalyLocatorWideEmpty + category: Tools completetime: 3 materials: Steel: 400 @@ -88,6 +98,7 @@ - type: latheRecipe id: AnomalyScanner result: AnomalyScanner + category: Tools completetime: 2 materials: Plastic: 200 @@ -96,6 +107,7 @@ - type: latheRecipe id: WeaponPistolCHIMP result: WeaponPistolCHIMP + category: Tools completetime: 5 materials: Steel: 500 @@ -104,6 +116,7 @@ - type: latheRecipe id: WeaponGauntletGorilla result: WeaponGauntletGorilla + category: Tools completetime: 5 materials: Steel: 1500 @@ -155,6 +168,7 @@ - type: latheRecipe id: WeaponCrusher result: WeaponCrusher + category: Weapons completetime: 5 materials: Steel: 1000 @@ -164,6 +178,7 @@ - type: latheRecipe id: WeaponCrusherDagger result: WeaponCrusherDagger + category: Weapons completetime: 5 materials: Steel: 500 @@ -173,6 +188,7 @@ - type: latheRecipe id: WeaponCrusherGlaive result: WeaponCrusherGlaive + category: Weapons completetime: 5 materials: Steel: 1500 @@ -182,6 +198,7 @@ - type: latheRecipe id: WeaponForceGun result: WeaponForceGun + category: Tools completetime: 5 materials: Steel: 500 @@ -200,6 +217,7 @@ - type: latheRecipe id: WeaponProtoKineticAccelerator result: WeaponProtoKineticAccelerator + category: Weapons completetime: 5 materials: Steel: 1000 @@ -209,6 +227,7 @@ - type: latheRecipe id: WeaponTetherGun result: WeaponTetherGun + category: Tools completetime: 5 materials: Steel: 500 @@ -218,6 +237,7 @@ - type: latheRecipe id: WeaponGrapplingGun result: WeaponGrapplingGun + category: Tools completetime: 5 materials: Steel: 500 diff --git a/Resources/Prototypes/Recipes/Lathes/electronics.yml b/Resources/Prototypes/Recipes/Lathes/electronics.yml index 123b7f6036..2e93b9518e 100644 --- a/Resources/Prototypes/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/Recipes/Lathes/electronics.yml @@ -1,6 +1,7 @@ - type: latheRecipe id: FirelockElectronics result: FirelockElectronics + category: Circuitry completetime: 2 materials: Steel: 100 @@ -9,6 +10,7 @@ - type: latheRecipe id: MailingUnitElectronics result: MailingUnitElectronics + category: Circuitry completetime: 4 materials: Steel: 50 @@ -17,6 +19,7 @@ - type: latheRecipe id: CellRechargerCircuitboard result: CellRechargerCircuitboard + category: Circuitry completetime: 2 materials: Steel: 50 @@ -25,6 +28,7 @@ - type: latheRecipe id: BorgChargerCircuitboard result: BorgChargerCircuitboard + category: Circuitry completetime: 2 materials: Steel: 50 @@ -33,6 +37,7 @@ - type: latheRecipe id: WeaponCapacitorRechargerCircuitboard result: WeaponCapacitorRechargerCircuitboard + category: Circuitry completetime: 2 materials: Steel: 50 @@ -41,6 +46,7 @@ - type: latheRecipe id: TurboItemRechargerCircuitboard result: TurboItemRechargerCircuitboard + category: Circuitry completetime: 2 materials: Steel: 500 @@ -50,6 +56,7 @@ - type: latheRecipe id: DoorElectronics result: DoorElectronics + category: Circuitry completetime: 2 materials: Steel: 50 @@ -58,6 +65,7 @@ - type: latheRecipe id: AirAlarmElectronics result: AirAlarmElectronics + category: Circuitry completetime: 2 materials: Steel: 100 @@ -66,6 +74,7 @@ - type: latheRecipe id: StationMapElectronics result: StationMapCircuitboard + category: Circuitry completetime: 2 materials: Steel: 50 @@ -74,6 +83,7 @@ - type: latheRecipe id: IntercomElectronics result: IntercomElectronics + category: Circuitry completetime: 2 materials: Steel: 50 @@ -82,6 +92,7 @@ - type: latheRecipe id: FireAlarmElectronics result: FireAlarmElectronics + category: Circuitry completetime: 2 materials: Steel: 100 @@ -90,6 +101,7 @@ - type: latheRecipe id: SignalTimerElectronics result: SignalTimerElectronics + category: Circuitry completetime: 2 materials: Steel: 50 @@ -98,6 +110,7 @@ - type: latheRecipe id: CloningPodMachineCircuitboard result: CloningPodMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -107,6 +120,7 @@ - type: latheRecipe id: ThermomachineFreezerMachineCircuitBoard result: ThermomachineFreezerMachineCircuitBoard + category: Circuitry completetime: 4 materials: Steel: 150 @@ -116,6 +130,7 @@ - type: latheRecipe id: HellfireFreezerMachineCircuitBoard result: HellfireFreezerMachineCircuitBoard + category: Circuitry completetime: 4 materials: Steel: 150 @@ -125,6 +140,7 @@ - type: latheRecipe id: CondenserMachineCircuitBoard result: CondenserMachineCircuitBoard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -133,6 +149,7 @@ - type: latheRecipe id: PortableScrubberMachineCircuitBoard result: PortableScrubberMachineCircuitBoard + category: Circuitry completetime: 4 materials: Steel: 150 @@ -142,6 +159,7 @@ - type: latheRecipe id: MedicalScannerMachineCircuitboard result: MedicalScannerMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -150,6 +168,7 @@ - type: latheRecipe id: CryoPodMachineCircuitboard result: CryoPodMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -159,6 +178,7 @@ - type: latheRecipe id: ChemMasterMachineCircuitboard result: ChemMasterMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -167,6 +187,7 @@ - type: latheRecipe id: ChemDispenserMachineCircuitboard result: ChemDispenserMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -176,6 +197,7 @@ - type: latheRecipe id: BiomassReclaimerMachineCircuitboard result: BiomassReclaimerMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -185,6 +207,7 @@ - type: latheRecipe id: BiofabricatorMachineCircuitboard result: BiofabricatorMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -194,6 +217,7 @@ - type: latheRecipe id: HydroponicsTrayMachineCircuitboard result: HydroponicsTrayMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -202,6 +226,7 @@ - type: latheRecipe id: AutolatheMachineCircuitboard result: AutolatheMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -210,6 +235,7 @@ - type: latheRecipe id: ProtolatheMachineCircuitboard result: ProtolatheMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -218,6 +244,7 @@ - type: latheRecipe id: AutolatheHyperConvectionMachineCircuitboard result: AutolatheHyperConvectionMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -227,6 +254,7 @@ - type: latheRecipe id: ProtolatheHyperConvectionMachineCircuitboard result: ProtolatheHyperConvectionMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -236,6 +264,7 @@ - type: latheRecipe id: CircuitImprinterMachineCircuitboard result: CircuitImprinterMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -244,6 +273,7 @@ - type: latheRecipe id: ExosuitFabricatorMachineCircuitboard result: ExosuitFabricatorMachineCircuitboard + category: Circuitry completetime: 5 materials: Steel: 100 @@ -252,6 +282,7 @@ - type: latheRecipe id: UniformPrinterMachineCircuitboard result: UniformPrinterMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -260,6 +291,7 @@ - type: latheRecipe id: VaccinatorMachineCircuitboard result: VaccinatorMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -269,6 +301,7 @@ - type: latheRecipe id: DiagnoserMachineCircuitboard result: DiagnoserMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -278,6 +311,7 @@ - type: latheRecipe id: ArtifactAnalyzerMachineCircuitboard result: ArtifactAnalyzerMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -287,6 +321,7 @@ - type: latheRecipe id: TraversalDistorterMachineCircuitboard result: TraversalDistorterMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -296,6 +331,7 @@ - type: latheRecipe id: ArtifactCrusherMachineCircuitboard result: ArtifactCrusherMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -305,6 +341,7 @@ - type: latheRecipe id: AnomalyVesselCircuitboard result: AnomalyVesselCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -313,6 +350,7 @@ - type: latheRecipe id: AnomalyVesselExperimentalCircuitboard result: AnomalyVesselExperimentalCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -322,6 +360,7 @@ - type: latheRecipe id: AnomalySynchronizerCircuitboard result: AnomalySynchronizerCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -331,6 +370,7 @@ - type: latheRecipe id: APECircuitboard result: APECircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -339,6 +379,7 @@ - type: latheRecipe id: ReagentGrinderMachineCircuitboard result: ReagentGrinderMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -347,6 +388,7 @@ - type: latheRecipe id: HotplateMachineCircuitboard result: HotplateMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -355,6 +397,7 @@ - type: latheRecipe id: AnalysisComputerCircuitboard result: AnalysisComputerCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -364,6 +407,7 @@ - type: latheRecipe id: TechDiskComputerCircuitboard result: TechDiskComputerCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -373,6 +417,7 @@ - type: latheRecipe id: ShuttleConsoleCircuitboard result: ShuttleConsoleCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -382,6 +427,7 @@ - type: latheRecipe id: RadarConsoleCircuitboard result: RadarConsoleCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -390,6 +436,7 @@ - type: latheRecipe id: DawInstrumentMachineCircuitboard result: DawInstrumentMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -398,6 +445,7 @@ - type: latheRecipe id: StasisBedMachineCircuitboard result: StasisBedMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -407,6 +455,7 @@ - type: latheRecipe id: ElectrolysisUnitMachineCircuitboard result: ElectrolysisUnitMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -415,6 +464,7 @@ - type: latheRecipe id: CentrifugeMachineCircuitboard result: CentrifugeMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -423,6 +473,7 @@ - type: latheRecipe id: MaterialReclaimerMachineCircuitboard result: MaterialReclaimerMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -431,6 +482,7 @@ - type: latheRecipe id: OreProcessorMachineCircuitboard result: OreProcessorMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -439,6 +491,7 @@ - type: latheRecipe id: OreProcessorIndustrialMachineCircuitboard result: OreProcessorIndustrialMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -448,6 +501,7 @@ - type: latheRecipe id: RipleyCentralElectronics result: RipleyCentralElectronics + category: Circuitry completetime: 4 materials: Steel: 100 @@ -457,6 +511,7 @@ - type: latheRecipe id: RipleyPeripheralsElectronics result: RipleyPeripheralsElectronics + category: Circuitry completetime: 4 materials: Steel: 100 @@ -466,6 +521,7 @@ - type: latheRecipe id: HonkerCentralElectronics result: HonkerCentralElectronics + category: Circuitry completetime: 4 materials: Steel: 100 @@ -475,6 +531,7 @@ - type: latheRecipe id: HonkerPeripheralsElectronics result: HonkerPeripheralsElectronics + category: Circuitry completetime: 4 materials: Steel: 100 @@ -484,6 +541,7 @@ - type: latheRecipe id: HonkerTargetingElectronics result: HonkerTargetingElectronics + category: Circuitry completetime: 4 materials: Steel: 100 @@ -493,6 +551,7 @@ - type: latheRecipe id: HamtrCentralElectronics result: HamtrCentralElectronics + category: Circuitry completetime: 4 materials: Steel: 100 @@ -502,6 +561,7 @@ - type: latheRecipe id: HamtrPeripheralsElectronics result: HamtrPeripheralsElectronics + category: Circuitry completetime: 4 materials: Steel: 100 @@ -512,6 +572,7 @@ - type: latheRecipe id: APCElectronics result: APCElectronics + category: Circuitry completetime: 2 materials: Steel: 50 @@ -520,6 +581,7 @@ - type: latheRecipe id: SubstationMachineCircuitboard result: SubstationMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 50 @@ -528,6 +590,7 @@ - type: latheRecipe id: WallmountSubstationElectronics result: WallmountSubstationElectronics + category: Circuitry completetime: 4 materials: Steel: 50 @@ -536,6 +599,7 @@ - type: latheRecipe id: SMESMachineCircuitboard result: SMESMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -544,6 +608,7 @@ - type: latheRecipe id: PortableGeneratorPacmanMachineCircuitboard result: PortableGeneratorPacmanMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 50 @@ -552,6 +617,7 @@ - type: latheRecipe id: PortableGeneratorSuperPacmanMachineCircuitboard result: PortableGeneratorSuperPacmanMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 50 @@ -560,6 +626,7 @@ - type: latheRecipe id: PortableGeneratorJrPacmanMachineCircuitboard result: PortableGeneratorJrPacmanMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 50 @@ -568,6 +635,7 @@ - type: latheRecipe id: WallmountGeneratorElectronics result: WallmountGeneratorElectronics + category: Circuitry completetime: 4 materials: Steel: 50 @@ -576,6 +644,7 @@ - type: latheRecipe id: WallmountGeneratorAPUElectronics result: WallmountGeneratorAPUElectronics + category: Circuitry completetime: 4 materials: Steel: 50 @@ -584,6 +653,7 @@ - type: latheRecipe id: SolarControlComputerCircuitboard result: SolarControlComputerCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -592,6 +662,7 @@ - type: latheRecipe id: SolarTrackerElectronics result: SolarTrackerElectronics + category: Circuitry completetime: 4 materials: Steel: 150 @@ -600,6 +671,7 @@ - type: latheRecipe id: PowerComputerCircuitboard result: PowerComputerCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -608,6 +680,7 @@ - type: latheRecipe id: CloningConsoleComputerCircuitboard result: CloningConsoleComputerCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -616,6 +689,7 @@ - type: latheRecipe id: MicrowaveMachineCircuitboard result: MicrowaveMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -624,6 +698,7 @@ - type: latheRecipe id: ElectricGrillMachineCircuitboard result: ElectricGrillMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -632,6 +707,7 @@ - type: latheRecipe id: FatExtractorMachineCircuitboard result: FatExtractorMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -640,6 +716,7 @@ - type: latheRecipe id: FlatpackerMachineCircuitboard result: FlatpackerMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -649,6 +726,7 @@ - type: latheRecipe id: SheetifierMachineCircuitboard result: SheetifierMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -657,6 +735,7 @@ - type: latheRecipe id: SurveillanceCameraRouterCircuitboard result: SurveillanceCameraRouterCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -665,6 +744,7 @@ - type: latheRecipe id: SurveillanceCameraWirelessRouterCircuitboard result: SurveillanceCameraWirelessRouterCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -673,6 +753,7 @@ - type: latheRecipe id: SurveillanceWirelessCameraAnchoredCircuitboard result: SurveillanceWirelessCameraAnchoredCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -681,6 +762,7 @@ - type: latheRecipe id: SurveillanceWirelessCameraMovableCircuitboard result: SurveillanceWirelessCameraMovableCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -689,6 +771,7 @@ - type: latheRecipe id: SurveillanceCameraMonitorCircuitboard result: SurveillanceCameraMonitorCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -697,6 +780,7 @@ - type: latheRecipe id: SurveillanceWirelessCameraMonitorCircuitboard result: SurveillanceWirelessCameraMonitorCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -705,6 +789,7 @@ - type: latheRecipe id: ComputerTelevisionCircuitboard result: ComputerTelevisionCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -713,6 +798,7 @@ - type: latheRecipe id: EmitterCircuitboard result: EmitterCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -721,6 +807,7 @@ - type: latheRecipe id: ThrusterMachineCircuitboard result: ThrusterMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -729,6 +816,7 @@ - type: latheRecipe id: GyroscopeMachineCircuitboard result: GyroscopeMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -737,6 +825,7 @@ - type: latheRecipe id: GasRecyclerMachineCircuitboard result: GasRecyclerMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -745,6 +834,7 @@ - type: latheRecipe id: SeedExtractorMachineCircuitboard result: SeedExtractorMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -753,6 +843,7 @@ - type: latheRecipe id: BoozeDispenserMachineCircuitboard result: BoozeDispenserMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -761,6 +852,7 @@ - type: latheRecipe id: CargoTelepadMachineCircuitboard result: CargoTelepadMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -770,6 +862,7 @@ - type: latheRecipe id: SodaDispenserMachineCircuitboard result: SodaDispenserMachineCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -778,6 +871,7 @@ - type: latheRecipe id: TelecomServerCircuitboard result: TelecomServerCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -786,6 +880,7 @@ - type: latheRecipe id: MassMediaCircuitboard result: ComputerMassMediaCircuitboard + category: Circuitry completetime: 4 materials: Steel: 100 @@ -794,6 +889,7 @@ - type: latheRecipe id: MiniGravityGeneratorCircuitboard result: MiniGravityGeneratorCircuitboard + category: Circuitry completetime: 6 materials: Steel: 100 diff --git a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml index 462e285cf1..4f9f84d0dc 100644 --- a/Resources/Prototypes/Recipes/Lathes/mech_parts.yml +++ b/Resources/Prototypes/Recipes/Lathes/mech_parts.yml @@ -2,6 +2,7 @@ - type: latheRecipe id: RipleyHarness result: RipleyHarness + category: Mech completetime: 10 materials: Steel: 1500 @@ -10,6 +11,7 @@ - type: latheRecipe id: RipleyLArm result: RipleyLArm + category: Mech completetime: 10 materials: Steel: 1000 @@ -18,6 +20,7 @@ - type: latheRecipe id: RipleyLLeg result: RipleyLLeg + category: Mech completetime: 10 materials: Steel: 1000 @@ -26,6 +29,7 @@ - type: latheRecipe id: RipleyRLeg result: RipleyRLeg + category: Mech completetime: 10 materials: Steel: 1000 @@ -34,6 +38,7 @@ - type: latheRecipe id: RipleyRArm result: RipleyRArm + category: Mech completetime: 10 materials: Steel: 1000 @@ -42,6 +47,7 @@ - type: latheRecipe id: MechEquipmentGrabber result: MechEquipmentGrabber + category: Mech completetime: 10 materials: Steel: 500 @@ -51,6 +57,7 @@ - type: latheRecipe id: HonkerHarness result: HonkerHarness + category: Mech completetime: 10 materials: Steel: 3000 @@ -60,6 +67,7 @@ - type: latheRecipe id: HonkerLArm result: HonkerLArm + category: Mech completetime: 10 materials: Steel: 3000 @@ -69,6 +77,7 @@ - type: latheRecipe id: HonkerLLeg result: HonkerLLeg + category: Mech completetime: 10 materials: Steel: 3000 @@ -78,6 +87,7 @@ - type: latheRecipe id: HonkerRLeg result: HonkerRLeg + category: Mech completetime: 10 materials: Steel: 3000 @@ -87,6 +97,7 @@ - type: latheRecipe id: HonkerRArm result: HonkerRArm + category: Mech completetime: 10 materials: Steel: 3000 @@ -96,6 +107,7 @@ - type: latheRecipe id: MechEquipmentHorn result: MechEquipmentHorn + category: Mech completetime: 10 materials: Steel: 500 @@ -105,6 +117,7 @@ - type: latheRecipe id: HamtrHarness result: HamtrHarness + category: Mech completetime: 10 materials: Steel: 1200 @@ -113,6 +126,7 @@ - type: latheRecipe id: HamtrLArm result: HamtrLArm + category: Mech completetime: 10 materials: Steel: 800 @@ -121,6 +135,7 @@ - type: latheRecipe id: HamtrLLeg result: HamtrLLeg + category: Mech completetime: 10 materials: Steel: 800 @@ -129,6 +144,7 @@ - type: latheRecipe id: HamtrRLeg result: HamtrRLeg + category: Mech completetime: 10 materials: Steel: 800 @@ -137,6 +153,7 @@ - type: latheRecipe id: HamtrRArm result: HamtrRArm + category: Mech completetime: 10 materials: Steel: 800 @@ -145,6 +162,7 @@ - type: latheRecipe id: MechEquipmentGrabberSmall result: MechEquipmentGrabberSmall + category: Mech completetime: 10 materials: Steel: 400 @@ -154,6 +172,7 @@ - type: latheRecipe id: VimHarness result: VimHarness + category: Mech completetime: 5 materials: Steel: 500 diff --git a/Resources/Prototypes/Recipes/Lathes/medical.yml b/Resources/Prototypes/Recipes/Lathes/medical.yml index d3477832e9..51cdf83050 100644 --- a/Resources/Prototypes/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/medical.yml @@ -1,6 +1,7 @@ - type: latheRecipe id: Scalpel result: Scalpel + category: Tools completetime: 2 materials: Steel: 200 @@ -8,6 +9,7 @@ - type: latheRecipe id: Retractor result: Retractor + category: Tools completetime: 2 materials: Steel: 200 @@ -15,6 +17,7 @@ - type: latheRecipe id: Cautery result: Cautery + category: Tools completetime: 2 materials: Steel: 200 @@ -22,6 +25,7 @@ - type: latheRecipe id: Drill result: Drill + category: Tools completetime: 2 materials: Steel: 200 @@ -30,6 +34,7 @@ - type: latheRecipe id: Saw result: Saw + category: Tools completetime: 2 materials: Steel: 200 @@ -37,6 +42,7 @@ - type: latheRecipe id: Hemostat result: Hemostat + category: Tools completetime: 2 materials: Steel: 200 @@ -74,6 +80,7 @@ - type: latheRecipe id: HandheldCrewMonitor result: HandheldCrewMonitorEmpty + category: Tools completetime: 2 materials: Glass: 1200 @@ -83,6 +90,7 @@ - type: latheRecipe id: HandheldHealthAnalyzer result: HandheldHealthAnalyzerEmpty + category: Tools completetime: 4 materials: Glass: 500 @@ -200,6 +208,7 @@ - type: latheRecipe id: HandLabeler result: HandLabeler + category: Tools completetime: 2 materials: Plastic: 100 @@ -218,7 +227,7 @@ materials: Steel: 500 Plastic: 300 - + - type: latheRecipe id: RollerBedSpawnFolded result: RollerBedSpawnFolded diff --git a/Resources/Prototypes/Recipes/Lathes/misc.yml b/Resources/Prototypes/Recipes/Lathes/misc.yml index 96cd83a7fe..a7c294a0df 100644 --- a/Resources/Prototypes/Recipes/Lathes/misc.yml +++ b/Resources/Prototypes/Recipes/Lathes/misc.yml @@ -1,6 +1,7 @@ - type: latheRecipe id: LightTube result: LightTube + category: Lights completetime: 2 materials: Steel: 50 @@ -9,6 +10,7 @@ - type: latheRecipe id: SodiumLightTube result: SodiumLightTube + category: Lights completetime: 2 materials: Steel: 50 @@ -17,6 +19,7 @@ - type: latheRecipe id: ExteriorLightTube result: ExteriorLightTube + category: Lights completetime: 2 materials: Steel: 50 @@ -25,6 +28,7 @@ - type: latheRecipe id: LightBulb result: LightBulb + category: Lights completetime: 2 materials: Steel: 50 @@ -33,6 +37,7 @@ - type: latheRecipe id: GlowstickRed result: GlowstickRed + category: Lights completetime: 2 materials: Plastic: 50 @@ -40,6 +45,7 @@ - type: latheRecipe id: Flare result: Flare + category: Lights completetime: 2 materials: Plastic: 50 @@ -47,6 +53,7 @@ - type: latheRecipe id: FlashlightLantern result: EmptyFlashlightLantern + category: Lights completetime: 2 materials: Steel: 100 @@ -56,6 +63,7 @@ - type: latheRecipe id: FireExtinguisher result: FireExtinguisher + category: Tools completetime: 2 materials: Steel: 200 @@ -88,6 +96,7 @@ - type: latheRecipe id: NodeScanner result: NodeScanner + category: Tools completetime: 2 materials: Steel: 100 diff --git a/Resources/Prototypes/Recipes/Lathes/powercells.yml b/Resources/Prototypes/Recipes/Lathes/powercells.yml index 2982c070be..0b63995a63 100644 --- a/Resources/Prototypes/Recipes/Lathes/powercells.yml +++ b/Resources/Prototypes/Recipes/Lathes/powercells.yml @@ -1,6 +1,7 @@ - type: latheRecipe id: PowerCellSmall result: PowerCellSmallPrinted + category: Parts completetime: 1 materials: Steel: 100 @@ -9,6 +10,7 @@ - type: latheRecipe id: PowerCellMedium result: PowerCellMediumPrinted + category: Parts completetime: 6 materials: Steel: 300 @@ -19,6 +21,7 @@ - type: latheRecipe id: PowerCellHigh result: PowerCellHighPrinted + category: Parts completetime: 10 materials: Steel: 300 @@ -29,6 +32,7 @@ - type: latheRecipe id: PowerCellMicroreactor result: PowerCellMicroreactorPrinted + category: Parts completetime: 10 materials: Steel: 500 diff --git a/Resources/Prototypes/Recipes/Lathes/robotics.yml b/Resources/Prototypes/Recipes/Lathes/robotics.yml index c8a5810925..1d840e3b4c 100644 --- a/Resources/Prototypes/Recipes/Lathes/robotics.yml +++ b/Resources/Prototypes/Recipes/Lathes/robotics.yml @@ -1,6 +1,7 @@ - type: latheRecipe id: ProximitySensor result: ProximitySensor + category: Robotics completetime: 2 materials: Steel: 200 @@ -9,6 +10,7 @@ - type: latheRecipe id: SciFlash result: SciFlash + category: Robotics completetime: 2 materials: Glass: 100 @@ -18,6 +20,7 @@ - type: latheRecipe id: CyborgEndoskeleton result: CyborgEndoskeleton + category: Robotics completetime: 3 materials: Steel: 1500 @@ -25,6 +28,7 @@ - type: latheRecipe id: LeftArmBorg result: LeftArmBorg + category: Robotics completetime: 2 materials: Steel: 250 @@ -33,6 +37,7 @@ - type: latheRecipe id: RightArmBorg result: RightArmBorg + category: Robotics completetime: 2 materials: Steel: 250 @@ -41,6 +46,7 @@ - type: latheRecipe id: LeftLegBorg result: LeftLegBorg + category: Robotics completetime: 2 materials: Steel: 250 @@ -49,6 +55,7 @@ - type: latheRecipe id: RightLegBorg result: RightLegBorg + category: Robotics completetime: 2 materials: Steel: 250 @@ -57,6 +64,7 @@ - type: latheRecipe id: LightHeadBorg result: LightHeadBorg + category: Robotics completetime: 2 materials: Steel: 250 @@ -65,6 +73,7 @@ - type: latheRecipe id: TorsoBorg result: TorsoBorg + category: Robotics completetime: 2 materials: Steel: 250 @@ -73,6 +82,7 @@ - type: latheRecipe id: LeftArmBorgEngineer result: LeftArmBorgEngineer + category: Robotics completetime: 2 materials: Steel: 250 @@ -81,6 +91,7 @@ - type: latheRecipe id: RightArmBorgEngineer result: RightArmBorgEngineer + category: Robotics completetime: 2 materials: Steel: 250 @@ -89,6 +100,7 @@ - type: latheRecipe id: LeftLegBorgEngineer result: LeftLegBorgEngineer + category: Robotics completetime: 2 materials: Steel: 250 @@ -97,6 +109,7 @@ - type: latheRecipe id: RightLegBorgEngineer result: RightLegBorgEngineer + category: Robotics completetime: 2 materials: Steel: 250 @@ -105,6 +118,7 @@ - type: latheRecipe id: HeadBorgEngineer result: HeadBorgEngineer + category: Robotics completetime: 2 materials: Steel: 250 @@ -113,6 +127,7 @@ - type: latheRecipe id: TorsoBorgEngineer result: TorsoBorgEngineer + category: Robotics completetime: 2 materials: Steel: 250 @@ -121,6 +136,7 @@ - type: latheRecipe id: LeftArmBorgMedical result: LeftArmBorgMedical + category: Robotics completetime: 2 materials: Steel: 250 @@ -129,6 +145,7 @@ - type: latheRecipe id: RightArmBorgMedical result: RightArmBorgMedical + category: Robotics completetime: 2 materials: Steel: 250 @@ -137,6 +154,7 @@ - type: latheRecipe id: LeftLegBorgMedical result: LeftLegBorgMedical + category: Robotics completetime: 2 materials: Steel: 250 @@ -145,6 +163,7 @@ - type: latheRecipe id: RightLegBorgMedical result: RightLegBorgMedical + category: Robotics completetime: 2 materials: Steel: 250 @@ -153,6 +172,7 @@ - type: latheRecipe id: HeadBorgMedical result: HeadBorgMedical + category: Robotics completetime: 2 materials: Steel: 250 @@ -161,6 +181,7 @@ - type: latheRecipe id: TorsoBorgMedical result: TorsoBorgMedical + category: Robotics completetime: 2 materials: Steel: 250 @@ -169,6 +190,7 @@ - type: latheRecipe id: LeftArmBorgMining result: LeftArmBorgMining + category: Robotics completetime: 2 materials: Steel: 250 @@ -177,6 +199,7 @@ - type: latheRecipe id: RightArmBorgMining result: RightArmBorgMining + category: Robotics completetime: 2 materials: Steel: 250 @@ -185,6 +208,7 @@ - type: latheRecipe id: LeftLegBorgMining result: LeftLegBorgMining + category: Robotics completetime: 2 materials: Steel: 250 @@ -193,6 +217,7 @@ - type: latheRecipe id: RightLegBorgMining result: RightLegBorgMining + category: Robotics completetime: 2 materials: Steel: 250 @@ -201,6 +226,7 @@ - type: latheRecipe id: HeadBorgMining result: HeadBorgMining + category: Robotics completetime: 2 materials: Steel: 250 @@ -209,6 +235,7 @@ - type: latheRecipe id: TorsoBorgMining result: TorsoBorgMining + category: Robotics completetime: 2 materials: Steel: 250 @@ -217,6 +244,7 @@ - type: latheRecipe id: LeftArmBorgService result: LeftArmBorgService + category: Robotics completetime: 2 materials: Steel: 250 @@ -225,6 +253,7 @@ - type: latheRecipe id: RightArmBorgService result: RightArmBorgService + category: Robotics completetime: 2 materials: Steel: 250 @@ -233,6 +262,7 @@ - type: latheRecipe id: LeftLegBorgService result: LeftLegBorgService + category: Robotics completetime: 2 materials: Steel: 250 @@ -241,6 +271,7 @@ - type: latheRecipe id: RightLegBorgService result: RightLegBorgService + category: Robotics completetime: 2 materials: Steel: 250 @@ -249,6 +280,7 @@ - type: latheRecipe id: HeadBorgService result: HeadBorgService + category: Robotics completetime: 2 materials: Steel: 250 @@ -257,6 +289,7 @@ - type: latheRecipe id: TorsoBorgService result: TorsoBorgService + category: Robotics completetime: 2 materials: Steel: 250 @@ -265,6 +298,7 @@ - type: latheRecipe id: LeftLegBorgJanitor result: LeftLegBorgJanitor + category: Robotics completetime: 2 materials: Steel: 250 @@ -273,6 +307,7 @@ - type: latheRecipe id: RightLegBorgJanitor result: RightLegBorgJanitor + category: Robotics completetime: 2 materials: Steel: 250 @@ -281,6 +316,7 @@ - type: latheRecipe id: HeadBorgJanitor result: HeadBorgJanitor + category: Robotics completetime: 4 materials: Steel: 500 @@ -289,6 +325,7 @@ - type: latheRecipe id: TorsoBorgJanitor result: TorsoBorgJanitor + category: Robotics completetime: 4 materials: Steel: 500 @@ -297,6 +334,7 @@ - type: latheRecipe id: MMI result: MMI + category: Robotics completetime: 3 icon: sprite: Objects/Specific/Robotics/mmi.rsi @@ -310,6 +348,7 @@ - type: latheRecipe id: PositronicBrain result: PositronicBrain + category: Robotics completetime: 3 materials: Steel: 500 @@ -321,6 +360,7 @@ - type: latheRecipe id: BorgModuleCable result: BorgModuleCable + category: Robotics completetime: 3 materials: Steel: 250 @@ -330,6 +370,7 @@ - type: latheRecipe id: BorgModuleFireExtinguisher result: BorgModuleFireExtinguisher + category: Robotics completetime: 3 materials: Steel: 250 @@ -339,6 +380,7 @@ - type: latheRecipe id: BorgModuleGPS result: BorgModuleGPS + category: Robotics completetime: 3 materials: Steel: 250 @@ -348,6 +390,7 @@ - type: latheRecipe id: BorgModuleRadiationDetection result: BorgModuleRadiationDetection + category: Robotics completetime: 3 materials: Steel: 250 @@ -357,6 +400,7 @@ - type: latheRecipe id: BorgModuleTool result: BorgModuleTool + category: Robotics completetime: 3 materials: Steel: 250 @@ -366,6 +410,7 @@ - type: latheRecipe id: BorgModuleAppraisal result: BorgModuleAppraisal + category: Robotics completetime: 3 materials: Steel: 250 @@ -375,6 +420,7 @@ - type: latheRecipe id: BorgModuleMining result: BorgModuleMining + category: Robotics completetime: 3 materials: Steel: 250 @@ -384,6 +430,7 @@ - type: latheRecipe id: BorgModuleGrapplingGun result: BorgModuleGrapplingGun + category: Robotics completetime: 3 materials: Steel: 500 @@ -394,6 +441,7 @@ - type: latheRecipe id: BorgModuleAdvancedTool result: BorgModuleAdvancedTool + category: Robotics completetime: 3 materials: Steel: 500 @@ -404,6 +452,7 @@ - type: latheRecipe id: BorgModuleConstruction result: BorgModuleConstruction + category: Robotics completetime: 3 materials: Steel: 500 @@ -413,6 +462,7 @@ - type: latheRecipe id: BorgModuleGasAnalyzer result: BorgModuleGasAnalyzer + category: Robotics completetime: 3 materials: Steel: 250 @@ -422,6 +472,7 @@ - type: latheRecipe id: BorgModuleRCD result: BorgModuleRCD + category: Robotics completetime: 3 materials: Steel: 500 @@ -432,6 +483,7 @@ - type: latheRecipe id: BorgModuleLightReplacer result: BorgModuleLightReplacer + category: Robotics completetime: 3 materials: Steel: 250 @@ -441,6 +493,7 @@ - type: latheRecipe id: BorgModuleCleaning result: BorgModuleCleaning + category: Robotics completetime: 3 materials: Steel: 250 @@ -450,6 +503,7 @@ - type: latheRecipe id: BorgModuleAdvancedCleaning result: BorgModuleAdvancedCleaning + category: Robotics completetime: 3 materials: Steel: 250 @@ -460,6 +514,7 @@ - type: latheRecipe id: BorgModuleDiagnosis result: BorgModuleDiagnosis + category: Robotics completetime: 3 materials: Steel: 250 @@ -469,6 +524,7 @@ - type: latheRecipe id: BorgModuleTreatment result: BorgModuleTreatment + category: Robotics completetime: 3 materials: Steel: 250 @@ -478,6 +534,7 @@ - type: latheRecipe id: BorgModuleAdvancedTreatment result: BorgModuleAdvancedTreatment + category: Robotics completetime: 3 materials: Steel: 500 @@ -488,6 +545,7 @@ - type: latheRecipe id: BorgModuleDefibrillator result: BorgModuleDefibrillator + category: Robotics completetime: 3 materials: Steel: 500 @@ -498,6 +556,7 @@ - type: latheRecipe id: BorgModuleArtifact result: BorgModuleArtifact + category: Robotics completetime: 3 materials: Steel: 250 @@ -507,6 +566,7 @@ - type: latheRecipe id: BorgModuleAnomaly result: BorgModuleAnomaly + category: Robotics completetime: 3 materials: Steel: 250 @@ -516,6 +576,7 @@ - type: latheRecipe id: BorgModuleService result: BorgModuleService + category: Robotics completetime: 3 materials: Steel: 250 @@ -525,6 +586,7 @@ - type: latheRecipe id: BorgModuleMusique result: BorgModuleMusique + category: Robotics completetime: 3 materials: Steel: 250 @@ -534,6 +596,7 @@ - type: latheRecipe id: BorgModuleGardening result: BorgModuleGardening + category: Robotics completetime: 3 materials: Steel: 250 @@ -543,6 +606,7 @@ - type: latheRecipe id: BorgModuleHarvesting result: BorgModuleHarvesting + category: Robotics completetime: 3 materials: Steel: 250 @@ -552,6 +616,7 @@ - type: latheRecipe id: BorgModuleClowning result: BorgModuleClowning + category: Robotics completetime: 3 materials: Steel: 250 diff --git a/Resources/Prototypes/Recipes/Lathes/security.yml b/Resources/Prototypes/Recipes/Lathes/security.yml index 940d52b7f9..eb9da60d78 100644 --- a/Resources/Prototypes/Recipes/Lathes/security.yml +++ b/Resources/Prototypes/Recipes/Lathes/security.yml @@ -15,6 +15,7 @@ - type: latheRecipe id: Stunbaton result: Stunbaton + category: Weapons completetime: 2 materials: Steel: 300 @@ -23,6 +24,7 @@ - type: latheRecipe id: Truncheon result: Truncheon + category: Weapons completetime: 2 materials: Steel: 300 @@ -31,6 +33,7 @@ - type: latheRecipe id: WeaponLaserCarbine result: WeaponLaserCarbine + category: Weapons completetime: 8 materials: Steel: 2000 @@ -40,6 +43,7 @@ - type: latheRecipe id: WeaponAdvancedLaser result: WeaponAdvancedLaser + category: Weapons completetime: 5 materials: Steel: 1500 @@ -49,6 +53,7 @@ - type: latheRecipe id: WeaponLaserCannon result: WeaponLaserCannon + category: Weapons completetime: 5 materials: Steel: 1250 @@ -58,6 +63,7 @@ - type: latheRecipe id: WeaponLaserSvalinn result: WeaponLaserSvalinn + category: Weapons completetime: 5 materials: Steel: 2000 @@ -66,6 +72,7 @@ - type: latheRecipe id: WeaponXrayCannon result: WeaponXrayCannon + category: Weapons completetime: 5 materials: Steel: 1500 @@ -133,6 +140,7 @@ - type: latheRecipe id: ShellShotgunBeanbag result: ShellShotgunBeanbag + category: Ammo completetime: 2 materials: Plastic: 15 @@ -141,6 +149,7 @@ - type: latheRecipe id: CartridgePistolRubber result: CartridgePistolRubber + category: Ammo completetime: 2 materials: Plastic: 5 @@ -149,6 +158,7 @@ - type: latheRecipe id: CartridgeMagnumRubber result: CartridgeMagnumRubber + category: Ammo completetime: 2 materials: Plastic: 5 @@ -157,6 +167,7 @@ - type: latheRecipe id: CartridgeRifle result: CartridgeRifle + category: Ammo completetime: 2 materials: Steel: 15 @@ -164,6 +175,7 @@ - type: latheRecipe id: CartridgeLightRifleRubber result: CartridgeLightRifleRubber + category: Ammo completetime: 2 materials: Plastic: 10 @@ -172,6 +184,7 @@ - type: latheRecipe id: CartridgeRifleRubber result: CartridgeRifleRubber + category: Ammo completetime: 2 materials: Plastic: 10 @@ -180,6 +193,7 @@ - type: latheRecipe id: CartridgePistol result: CartridgePistol + category: Ammo completetime: 2 materials: Steel: 10 @@ -187,6 +201,7 @@ - type: latheRecipe id: ShellShotgun result: ShellShotgun + category: Ammo completetime: 2 materials: Steel: 20 @@ -194,6 +209,7 @@ - type: latheRecipe id: CartridgeMagnum result: CartridgeMagnum + category: Ammo completetime: 2 materials: Steel: 20 @@ -201,6 +217,7 @@ - type: latheRecipe id: CartridgeLightRifle result: CartridgeLightRifle + category: Ammo completetime: 2 materials: Steel: 30 @@ -208,6 +225,7 @@ - type: latheRecipe id: ShellShotgunFlare result: ShellShotgunFlare + category: Ammo completetime: 2 materials: Plastic: 20 @@ -216,6 +234,7 @@ - type: latheRecipe id: ShellTranquilizer result: ShellTranquilizer + category: Ammo completetime: 4 materials: Plastic: 15 @@ -251,6 +270,7 @@ - type: latheRecipe id: MagazinePistol result: MagazinePistol + category: Ammo completetime: 5 materials: Steel: 100 @@ -258,6 +278,7 @@ - type: latheRecipe id: MagazinePistolSubMachineGun result: MagazinePistolSubMachineGun + category: Ammo completetime: 5 materials: Steel: 300 @@ -265,6 +286,7 @@ - type: latheRecipe id: MagazinePistolSubMachineGunTopMounted result: MagazinePistolSubMachineGunTopMounted + category: Ammo completetime: 5 materials: Steel: 300 @@ -272,6 +294,7 @@ - type: latheRecipe id: MagazineBoxPistol result: MagazineBoxPistol + category: Ammo completetime: 5 materials: Steel: 650 @@ -279,6 +302,7 @@ - type: latheRecipe id: MagazineBoxPistolRubber result: MagazineBoxPistolRubber + category: Ammo completetime: 5 materials: Steel: 350 @@ -287,6 +311,7 @@ - type: latheRecipe id: MagazineBoxMagnum result: MagazineBoxMagnum + category: Ammo completetime: 5 materials: Steel: 1250 @@ -294,6 +319,7 @@ - type: latheRecipe id: MagazineBoxMagnumRubber result: MagazineBoxMagnumRubber + category: Ammo completetime: 5 materials: Steel: 350 @@ -302,6 +328,7 @@ - type: latheRecipe id: MagazineRifle result: MagazineRifle + category: Ammo completetime: 5 materials: Steel: 375 @@ -309,6 +336,7 @@ - type: latheRecipe id: MagazineLightRifle result: MagazineLightRifle + category: Ammo completetime: 5 materials: Steel: 375 @@ -316,6 +344,7 @@ - type: latheRecipe id: MagazineBoxRifle result: MagazineBoxRifle + category: Ammo completetime: 5 materials: Steel: 950 @@ -323,6 +352,7 @@ - type: latheRecipe id: MagazineBoxRifleRubber result: MagazineBoxRifleRubber + category: Ammo completetime: 5 materials: Steel: 350 @@ -331,6 +361,7 @@ - type: latheRecipe id: MagazineBoxLightRifle result: MagazineBoxLightRifle + category: Ammo completetime: 5 materials: Steel: 1800 @@ -338,6 +369,7 @@ - type: latheRecipe id: MagazineBoxLightRifleRubber result: MagazineBoxLightRifleRubber + category: Ammo completetime: 5 materials: Steel: 350 @@ -346,6 +378,7 @@ - type: latheRecipe id: SpeedLoaderMagnum result: SpeedLoaderMagnum + category: Ammo completetime: 5 materials: Steel: 200 @@ -353,6 +386,7 @@ - type: latheRecipe id: ShellShotgunIncendiary result: ShellShotgunIncendiary + category: Ammo completetime: 2 materials: Plastic: 20 @@ -360,6 +394,7 @@ - type: latheRecipe id: CartridgePistolIncendiary result: CartridgePistolIncendiary + category: Ammo completetime: 2 materials: Plastic: 10 @@ -367,6 +402,7 @@ - type: latheRecipe id: CartridgeMagnumIncendiary result: CartridgeMagnumIncendiary + category: Ammo completetime: 2 materials: Plastic: 20 @@ -374,6 +410,7 @@ - type: latheRecipe id: CartridgeLightRifleIncendiary result: CartridgeLightRifleIncendiary + category: Ammo completetime: 2 materials: Plastic: 20 @@ -381,6 +418,7 @@ - type: latheRecipe id: CartridgeRifleIncendiary result: CartridgeRifleIncendiary + category: Ammo completetime: 2 materials: Plastic: 15 @@ -388,6 +426,7 @@ - type: latheRecipe id: MagazineBoxPistolIncendiary result: MagazineBoxPistolIncendiary + category: Ammo completetime: 5 materials: Plastic: 650 @@ -395,6 +434,7 @@ - type: latheRecipe id: MagazineBoxMagnumIncendiary result: MagazineBoxMagnumIncendiary + category: Ammo completetime: 5 materials: Plastic: 1250 @@ -402,6 +442,7 @@ - type: latheRecipe id: MagazineBoxLightRifleIncendiary result: MagazineBoxLightRifleIncendiary + category: Ammo completetime: 5 materials: Plastic: 1800 @@ -409,6 +450,7 @@ - type: latheRecipe id: MagazineBoxRifleIncendiary result: MagazineBoxRifleIncendiary + category: Ammo completetime: 5 materials: Plastic: 950 @@ -416,6 +458,7 @@ - type: latheRecipe id: ShellShotgunPractice result: ShellShotgunPractice + category: Ammo completetime: 2 materials: Plastic: 20 @@ -423,6 +466,7 @@ - type: latheRecipe id: MagazineBoxPistolPractice result: MagazineBoxPistolPractice + category: Ammo completetime: 5 materials: Plastic: 600 @@ -430,6 +474,7 @@ - type: latheRecipe id: MagazineBoxMagnumPractice result: MagazineBoxMagnumPractice + category: Ammo completetime: 5 materials: Plastic: 1200 @@ -437,6 +482,7 @@ - type: latheRecipe id: MagazineBoxLightRiflePractice result: MagazineBoxLightRiflePractice + category: Ammo completetime: 5 materials: Plastic: 1000 @@ -444,6 +490,7 @@ - type: latheRecipe id: MagazineBoxRiflePractice result: MagazineBoxRiflePractice + category: Ammo completetime: 5 materials: Plastic: 900 @@ -451,6 +498,7 @@ - type: latheRecipe id: WeaponLaserCarbinePractice result: WeaponLaserCarbinePractice + category: Weapons completetime: 6 materials: Steel: 1800 @@ -460,6 +508,7 @@ - type: latheRecipe id: WeaponDisablerPractice result: WeaponDisablerPractice + category: Weapons completetime: 4 materials: Steel: 500 @@ -469,6 +518,7 @@ - type: latheRecipe id: ShellShotgunUranium result: ShellShotgunUranium + category: Ammo completetime: 2 materials: Plastic: 15 @@ -477,6 +527,7 @@ - type: latheRecipe id: CartridgePistolUranium result: CartridgePistolUranium + category: Ammo completetime: 2 materials: Plastic: 5 @@ -485,6 +536,7 @@ - type: latheRecipe id: CartridgeMagnumUranium result: CartridgeMagnumUranium + category: Ammo completetime: 2 materials: Plastic: 20 @@ -493,6 +545,7 @@ - type: latheRecipe id: CartridgeLightRifleUranium result: CartridgeLightRifleUranium + category: Ammo completetime: 2 materials: Plastic: 20 @@ -501,6 +554,7 @@ - type: latheRecipe id: CartridgeRifleUranium result: CartridgeRifleUranium + category: Ammo completetime: 2 materials: Plastic: 15 @@ -509,6 +563,7 @@ - type: latheRecipe id: MagazineBoxPistolUranium result: MagazineBoxPistolUranium + category: Ammo completetime: 5 materials: Plastic: 650 @@ -517,6 +572,7 @@ - type: latheRecipe id: MagazineBoxMagnumUranium result: MagazineBoxMagnumUranium + category: Ammo completetime: 5 materials: Plastic: 1250 @@ -525,6 +581,7 @@ - type: latheRecipe id: MagazineBoxLightRifleUranium result: MagazineBoxLightRifleUranium + category: Ammo completetime: 5 materials: Plastic: 1800 @@ -533,14 +590,16 @@ - type: latheRecipe id: MagazineBoxRifleUranium result: MagazineBoxRifleUranium + category: Ammo completetime: 5 materials: Plastic: 950 Uranium: 95 - + - type: latheRecipe id: WeaponDisablerSMG result: WeaponDisablerSMG + category: Weapons completetime: 6 materials: Steel: 1000 diff --git a/Resources/Prototypes/Recipes/Lathes/tools.yml b/Resources/Prototypes/Recipes/Lathes/tools.yml index 6c7612436e..ce3f4cda3c 100644 --- a/Resources/Prototypes/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/Recipes/Lathes/tools.yml @@ -4,6 +4,7 @@ sprite: Objects/Tools/wirecutters.rsi state: cutters-map result: Wirecutter + category: Tools completetime: 2 materials: Steel: 200 @@ -15,6 +16,7 @@ sprite: Objects/Tools/screwdriver.rsi state: screwdriver-map result: Screwdriver + category: Tools completetime: 2 materials: Steel: 200 @@ -23,6 +25,7 @@ - type: latheRecipe id: Welder result: Welder + category: Tools completetime: 2 materials: Steel: 400 @@ -30,6 +33,7 @@ - type: latheRecipe id: Wrench result: Wrench + category: Tools completetime: 2 materials: Steel: 200 @@ -37,6 +41,7 @@ - type: latheRecipe id: CableStack result: CableApcStack1 + category: Parts completetime: 2 materials: Steel: 30 @@ -44,6 +49,7 @@ - type: latheRecipe id: CableMVStack result: CableMVStack1 + category: Parts completetime: 2 materials: Steel: 30 @@ -51,6 +57,7 @@ - type: latheRecipe id: CableHVStack result: CableHVStack1 + category: Parts completetime: 2 materials: Steel: 30 @@ -58,6 +65,7 @@ - type: latheRecipe id: Crowbar result: Crowbar + category: Tools completetime: 2 materials: Steel: 200 @@ -65,6 +73,7 @@ - type: latheRecipe id: Pickaxe result: Pickaxe + category: Tools completetime: 4 materials: Steel: 1000 @@ -73,6 +82,7 @@ - type: latheRecipe id: Shovel result: Shovel + category: Tools completetime: 2 materials: Steel: 200 @@ -81,6 +91,7 @@ - type: latheRecipe id: Multitool result: Multitool + category: Tools completetime: 2 materials: Steel: 200 @@ -89,6 +100,7 @@ - type: latheRecipe id: NetworkConfigurator result: NetworkConfigurator + category: Tools completetime: 2 materials: Steel: 200 @@ -97,6 +109,7 @@ - type: latheRecipe id: PowerDrill result: PowerDrill + category: Tools completetime: 2 materials: Steel: 600 @@ -105,6 +118,7 @@ - type: latheRecipe id: RCD result: RCDEmpty + category: Tools completetime: 4 materials: Steel: 1000 @@ -113,6 +127,7 @@ - type: latheRecipe id: RCDAmmo result: RCDAmmo + category: Tools completetime: 2.4 materials: Steel: 500 @@ -121,6 +136,7 @@ - type: latheRecipe id: HandheldGPSBasic result: HandheldGPSBasic + category: Tools completetime: 2 materials: Steel: 800 @@ -129,6 +145,7 @@ - type: latheRecipe id: TRayScanner result: trayScanner + category: Tools completetime: 2 materials: Steel: 800 @@ -137,6 +154,7 @@ - type: latheRecipe id: GasAnalyzer result: GasAnalyzer + category: Tools completetime: 2 materials: Steel: 800 @@ -145,6 +163,7 @@ - type: latheRecipe id: SprayPainter result: SprayPainter + category: Tools completetime: 2 materials: Steel: 300 @@ -153,6 +172,7 @@ - type: latheRecipe id: UtilityBelt result: ClothingBeltUtility + category: Tools completetime: 2 materials: Cloth: 100 @@ -161,6 +181,7 @@ - type: latheRecipe id: HolofanProjector result: HolofanProjector + category: Tools completetime: 8 materials: # Inherited materials and time from PowerCellMedium recipe Steel: 600 @@ -171,6 +192,7 @@ - type: latheRecipe id: RPED result: RPED + category: Tools completetime: 10 materials: Steel: 650 @@ -180,6 +202,7 @@ - type: latheRecipe id: MiningDrill result: MiningDrill + category: Tools completetime: 3 materials: Steel: 500 @@ -188,6 +211,7 @@ - type: latheRecipe id: WelderExperimental result: WelderExperimental + category: Tools completetime: 6 materials: Steel: 800 @@ -196,27 +220,30 @@ - type: latheRecipe id: JawsOfLife result: JawsOfLife + category: Tools completetime: 6 materials: Steel: 1000 Glass: 500 Plasma: 300 Gold: 50 - + - type: latheRecipe id: HoloprojectorField result: HoloprojectorField + category: Tools completetime: 3 materials: Steel: 500 Plasma: 300 Glass: 100 - + - type: latheRecipe id: WeaponParticleDecelerator result: WeaponParticleDecelerator + category: Tools completetime: 6 materials: Steel: 750 Plasma: 150 - Uranium: 150 \ No newline at end of file + Uranium: 150