move lathe recipes into packs (easier for forks and maintaining) (#33095)
* add LatheRecipePackPrototype * change Lathe and EmagLathe to use packs * add AddRecipesFromPacks helper to SharedLatheSystem * update lathe logic to work with packs and clean up some stuff * migrate individual recipes to recipe packs * update client * remove node/artifact scanner from techs * :trollface: * fix test and make it include emag recipes * add test that every dynamic recipe must be researched * pro * fix * fix * fix all tests, genuinely good test i wonder who made it * add unused uranium and incendiary drozd mags to tech and lathe * add recipes * add incendiary prototype * undo some changes * troll * :trollface: * true Co-authored-by: pathetic meowmeow <uhhadd@gmail.com> * shitmed real Co-authored-by: pathetic meowmeow <uhhadd@gmail.com> * update funny test * :trollface: * :trollface: --------- Co-authored-by: deltanedas <@deltanedas:kde.org> Co-authored-by: pathetic meowmeow <uhhadd@gmail.com>
This commit is contained in:
@@ -64,7 +64,7 @@ public sealed partial class LatheMenu : DefaultWindow
|
||||
|
||||
if (_entityManager.TryGetComponent<LatheComponent>(Entity, out var latheComponent))
|
||||
{
|
||||
if (!latheComponent.DynamicRecipes.Any())
|
||||
if (!latheComponent.DynamicPacks.Any())
|
||||
{
|
||||
ServerListButton.Visible = false;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ public sealed class LatheTest
|
||||
var compFactory = server.ResolveDependency<IComponentFactory>();
|
||||
var materialStorageSystem = server.System<SharedMaterialStorageSystem>();
|
||||
var whitelistSystem = server.System<EntityWhitelistSystem>();
|
||||
var latheSystem = server.System<SharedLatheSystem>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
@@ -74,14 +75,14 @@ public sealed class LatheTest
|
||||
}
|
||||
}
|
||||
|
||||
// Collect all the recipes assigned to this lathe
|
||||
var recipes = new List<ProtoId<LatheRecipePrototype>>();
|
||||
recipes.AddRange(latheComp.StaticRecipes);
|
||||
recipes.AddRange(latheComp.DynamicRecipes);
|
||||
// Collect all possible recipes assigned to this lathe
|
||||
var recipes = new HashSet<ProtoId<LatheRecipePrototype>>();
|
||||
latheSystem.AddRecipesFromPacks(recipes, latheComp.StaticPacks);
|
||||
latheSystem.AddRecipesFromPacks(recipes, latheComp.DynamicPacks);
|
||||
if (latheProto.TryGetComponent<EmagLatheRecipesComponent>(out var emagRecipesComp, compFactory))
|
||||
{
|
||||
recipes.AddRange(emagRecipesComp.EmagStaticRecipes);
|
||||
recipes.AddRange(emagRecipesComp.EmagDynamicRecipes);
|
||||
latheSystem.AddRecipesFromPacks(recipes, emagRecipesComp.EmagStaticPacks);
|
||||
latheSystem.AddRecipesFromPacks(recipes, emagRecipesComp.EmagDynamicPacks);
|
||||
}
|
||||
|
||||
// Check each recipe assigned to this lathe
|
||||
|
||||
@@ -52,13 +52,16 @@ public sealed class ResearchTest
|
||||
await using var pair = await PoolManager.GetServerClient();
|
||||
var server = pair.Server;
|
||||
|
||||
var entMan = server.ResolveDependency<IEntityManager>();
|
||||
var protoManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var compFact = server.ResolveDependency<IComponentFactory>();
|
||||
|
||||
var latheSys = entMan.System<SharedLatheSystem>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var allEnts = protoManager.EnumeratePrototypes<EntityPrototype>();
|
||||
var allLathes = new HashSet<LatheComponent>();
|
||||
var latheTechs = new HashSet<ProtoId<LatheRecipePrototype>>();
|
||||
foreach (var proto in allEnts)
|
||||
{
|
||||
if (proto.Abstract)
|
||||
@@ -69,30 +72,31 @@ public sealed class ResearchTest
|
||||
|
||||
if (!proto.TryGetComponent<LatheComponent>(out var lathe, compFact))
|
||||
continue;
|
||||
allLathes.Add(lathe);
|
||||
}
|
||||
|
||||
var latheTechs = new HashSet<string>();
|
||||
foreach (var lathe in allLathes)
|
||||
{
|
||||
if (lathe.DynamicRecipes == null)
|
||||
continue;
|
||||
latheSys.AddRecipesFromPacks(latheTechs, lathe.DynamicPacks);
|
||||
|
||||
foreach (var recipe in lathe.DynamicRecipes)
|
||||
{
|
||||
latheTechs.Add(recipe);
|
||||
}
|
||||
if (proto.TryGetComponent<EmagLatheRecipesComponent>(out var emag, compFact))
|
||||
latheSys.AddRecipesFromPacks(latheTechs, emag.EmagDynamicPacks);
|
||||
}
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
// check that every recipe a tech adds can be made on some lathe
|
||||
var unlockedTechs = new HashSet<ProtoId<LatheRecipePrototype>>();
|
||||
foreach (var tech in protoManager.EnumeratePrototypes<TechnologyPrototype>())
|
||||
{
|
||||
unlockedTechs.UnionWith(tech.RecipeUnlocks);
|
||||
foreach (var recipe in tech.RecipeUnlocks)
|
||||
{
|
||||
Assert.That(latheTechs, Does.Contain(recipe), $"Recipe \"{recipe}\" cannot be unlocked on any lathes.");
|
||||
Assert.That(latheTechs, Does.Contain(recipe), $"Recipe '{recipe}' from tech '{tech.ID}' cannot be unlocked on any lathes.");
|
||||
}
|
||||
}
|
||||
|
||||
// now check that every dynamic recipe a lathe lists can be unlocked
|
||||
foreach (var recipe in latheTechs)
|
||||
{
|
||||
Assert.That(unlockedTechs, Does.Contain(recipe), $"Recipe '{recipe}' is dynamic on a lathe but cannot be unlocked by research.");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ using Content.Shared.Emag.Components;
|
||||
using Content.Shared.Emag.Systems;
|
||||
using Content.Shared.Examine;
|
||||
using Content.Shared.Lathe;
|
||||
using Content.Shared.Lathe.Prototypes;
|
||||
using Content.Shared.Materials;
|
||||
using Content.Shared.Power;
|
||||
using Content.Shared.ReagentSpeed;
|
||||
@@ -57,6 +58,7 @@ namespace Content.Server.Lathe
|
||||
/// Per-tick cache
|
||||
/// </summary>
|
||||
private readonly List<GasMixture> _environments = new();
|
||||
private readonly HashSet<ProtoId<LatheRecipePrototype>> _availableRecipes = new();
|
||||
|
||||
public override void Initialize()
|
||||
{
|
||||
@@ -156,19 +158,16 @@ namespace Content.Server.Lathe
|
||||
|
||||
public List<ProtoId<LatheRecipePrototype>> GetAvailableRecipes(EntityUid uid, LatheComponent component, bool getUnavailable = false)
|
||||
{
|
||||
_availableRecipes.Clear();
|
||||
AddRecipesFromPacks(_availableRecipes, component.StaticPacks);
|
||||
var ev = new LatheGetRecipesEvent(uid, getUnavailable)
|
||||
{
|
||||
Recipes = new HashSet<ProtoId<LatheRecipePrototype>>(component.StaticRecipes)
|
||||
Recipes = _availableRecipes
|
||||
};
|
||||
RaiseLocalEvent(uid, ev);
|
||||
return ev.Recipes.ToList();
|
||||
}
|
||||
|
||||
public static List<ProtoId<LatheRecipePrototype>> GetAllBaseRecipes(LatheComponent component)
|
||||
{
|
||||
return component.StaticRecipes.Union(component.DynamicRecipes).ToList();
|
||||
}
|
||||
|
||||
public bool TryAddToQueue(EntityUid uid, LatheRecipePrototype recipe, LatheComponent? component = null)
|
||||
{
|
||||
if (!Resolve(uid, ref component))
|
||||
@@ -277,35 +276,42 @@ namespace Content.Server.Lathe
|
||||
_uiSys.SetUiState(uid, LatheUiKey.Key, state);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Adds every unlocked recipe from each pack to the recipes list.
|
||||
/// </summary>
|
||||
public void AddRecipesFromDynamicPacks(ref LatheGetRecipesEvent args, TechnologyDatabaseComponent database, IEnumerable<ProtoId<LatheRecipePackPrototype>> packs)
|
||||
{
|
||||
foreach (var id in packs)
|
||||
{
|
||||
var pack = _proto.Index(id);
|
||||
foreach (var recipe in pack.Recipes)
|
||||
{
|
||||
if (args.getUnavailable || database.UnlockedRecipes.Contains(recipe))
|
||||
args.Recipes.Add(recipe);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnGetRecipes(EntityUid uid, TechnologyDatabaseComponent component, LatheGetRecipesEvent args)
|
||||
{
|
||||
if (uid != args.Lathe || !TryComp<LatheComponent>(uid, out var latheComponent))
|
||||
return;
|
||||
|
||||
foreach (var recipe in latheComponent.DynamicRecipes)
|
||||
{
|
||||
if (!(args.getUnavailable || component.UnlockedRecipes.Contains(recipe)) || args.Recipes.Contains(recipe))
|
||||
continue;
|
||||
args.Recipes.Add(recipe);
|
||||
}
|
||||
AddRecipesFromDynamicPacks(ref args, component, latheComponent.DynamicPacks);
|
||||
}
|
||||
|
||||
private void GetEmagLatheRecipes(EntityUid uid, EmagLatheRecipesComponent component, LatheGetRecipesEvent args)
|
||||
{
|
||||
if (uid != args.Lathe || !TryComp<TechnologyDatabaseComponent>(uid, out var technologyDatabase))
|
||||
if (uid != args.Lathe)
|
||||
return;
|
||||
|
||||
if (!args.getUnavailable && !_emag.CheckFlag(uid, EmagType.Interaction))
|
||||
return;
|
||||
foreach (var recipe in component.EmagDynamicRecipes)
|
||||
{
|
||||
if (!(args.getUnavailable || technologyDatabase.UnlockedRecipes.Contains(recipe)) || args.Recipes.Contains(recipe))
|
||||
continue;
|
||||
args.Recipes.Add(recipe);
|
||||
}
|
||||
foreach (var recipe in component.EmagStaticRecipes)
|
||||
{
|
||||
args.Recipes.Add(recipe);
|
||||
}
|
||||
|
||||
AddRecipesFromPacks(args.Recipes, component.EmagStaticPacks);
|
||||
|
||||
if (TryComp<TechnologyDatabaseComponent>(uid, out var database))
|
||||
AddRecipesFromDynamicPacks(ref args, database, component.EmagDynamicPacks);
|
||||
}
|
||||
|
||||
private void OnHeatStartPrinting(EntityUid uid, LatheHeatProducingComponent component, LatheStartPrintingEvent args)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using Content.Shared.Research.Prototypes;
|
||||
using Content.Shared.Lathe.Prototypes;
|
||||
using Robust.Shared.GameStates;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List;
|
||||
@@ -9,15 +9,15 @@ namespace Content.Shared.Lathe
|
||||
public sealed partial class EmagLatheRecipesComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// All of the dynamic recipes that the lathe is capable to get using EMAG
|
||||
/// All of the dynamic recipe packs that the lathe is capable to get using EMAG
|
||||
/// </summary>
|
||||
[DataField, AutoNetworkedField]
|
||||
public List<ProtoId<LatheRecipePrototype>> EmagDynamicRecipes = new();
|
||||
public List<ProtoId<LatheRecipePackPrototype>> EmagDynamicPacks = new();
|
||||
|
||||
/// <summary>
|
||||
/// All of the static recipes that the lathe is capable to get using EMAG
|
||||
/// All of the static recipe packs that the lathe is capable to get using EMAG
|
||||
/// </summary>
|
||||
[DataField, AutoNetworkedField]
|
||||
public List<ProtoId<LatheRecipePrototype>> EmagStaticRecipes = new();
|
||||
public List<ProtoId<LatheRecipePackPrototype>> EmagStaticPacks = new();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Content.Shared.Construction.Prototypes;
|
||||
using Content.Shared.Lathe.Prototypes;
|
||||
using Content.Shared.Research.Prototypes;
|
||||
using Robust.Shared.Audio;
|
||||
using Robust.Shared.GameStates;
|
||||
@@ -10,16 +11,16 @@ namespace Content.Shared.Lathe
|
||||
public sealed partial class LatheComponent : Component
|
||||
{
|
||||
/// <summary>
|
||||
/// All of the recipes that the lathe has by default
|
||||
/// All of the recipe packs that the lathe has by default
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public List<ProtoId<LatheRecipePrototype>> StaticRecipes = new();
|
||||
public List<ProtoId<LatheRecipePackPrototype>> StaticPacks = new();
|
||||
|
||||
/// <summary>
|
||||
/// All of the recipes that the lathe is capable of researching
|
||||
/// All of the recipe packs that the lathe is capable of researching
|
||||
/// </summary>
|
||||
[DataField]
|
||||
public List<ProtoId<LatheRecipePrototype>> DynamicRecipes = new();
|
||||
public List<ProtoId<LatheRecipePackPrototype>> DynamicPacks = new();
|
||||
|
||||
/// <summary>
|
||||
/// The lathe's construction queue
|
||||
|
||||
31
Content.Shared/Lathe/Prototypes/LatheRecipePackPrototype.cs
Normal file
31
Content.Shared/Lathe/Prototypes/LatheRecipePackPrototype.cs
Normal file
@@ -0,0 +1,31 @@
|
||||
using Content.Shared.Research.Prototypes;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array;
|
||||
|
||||
namespace Content.Shared.Lathe.Prototypes;
|
||||
|
||||
/// <summary>
|
||||
/// A pack of lathe recipes that one or more lathes can use.
|
||||
/// Packs will inherit the parents recipes when using inheritance, so you don't need to copy paste them.
|
||||
/// </summary>
|
||||
[Prototype]
|
||||
public sealed partial class LatheRecipePackPrototype : IPrototype, IInheritingPrototype
|
||||
{
|
||||
[ViewVariables]
|
||||
[IdDataField]
|
||||
public string ID { get; private set; } = default!;
|
||||
|
||||
[ParentDataField(typeof(AbstractPrototypeIdArraySerializer<LatheRecipePackPrototype>))]
|
||||
public string[]? Parents { get; }
|
||||
|
||||
[NeverPushInheritance]
|
||||
[AbstractDataField]
|
||||
public bool Abstract { get; }
|
||||
|
||||
/// <summary>
|
||||
/// The lathe recipes contained by this pack.
|
||||
/// </summary>
|
||||
[DataField(required: true)]
|
||||
[AlwaysPushInheritance]
|
||||
public HashSet<ProtoId<LatheRecipePrototype>> Recipes = new();
|
||||
}
|
||||
@@ -2,6 +2,7 @@ using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using Content.Shared.Emag.Systems;
|
||||
using Content.Shared.Examine;
|
||||
using Content.Shared.Lathe.Prototypes;
|
||||
using Content.Shared.Localizations;
|
||||
using Content.Shared.Materials;
|
||||
using Content.Shared.Research.Prototypes;
|
||||
@@ -33,6 +34,18 @@ public abstract class SharedLatheSystem : EntitySystem
|
||||
BuildInverseRecipeDictionary();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Add every recipe in the list of recipe packs to a single hashset.
|
||||
/// </summary>
|
||||
public void AddRecipesFromPacks(HashSet<ProtoId<LatheRecipePrototype>> recipes, IEnumerable<ProtoId<LatheRecipePackPrototype>> packs)
|
||||
{
|
||||
foreach (var id in packs)
|
||||
{
|
||||
var pack = _proto.Index(id);
|
||||
recipes.UnionWith(pack.Recipes);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnExamined(Entity<LatheComponent> ent, ref ExaminedEvent args)
|
||||
{
|
||||
if (!args.IsInDetailsRange)
|
||||
|
||||
@@ -301,3 +301,11 @@
|
||||
map: ["enum.GunVisualLayers.Base"]
|
||||
- state: mag-1
|
||||
map: ["enum.GunVisualLayers.Mag"]
|
||||
|
||||
- type: entity
|
||||
parent: BaseMagazinePistolSubMachineGun
|
||||
id: MagazinePistolSubMachineGunIncendiary
|
||||
name: SMG magazine (.35 auto incendiary)
|
||||
components:
|
||||
- type: BallisticAmmoProvider
|
||||
proto: CartridgePistolIncendiary
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
19
Resources/Prototypes/Recipes/Lathes/Packs/animal_cubes.yml
Normal file
19
Resources/Prototypes/Recipes/Lathes/Packs/animal_cubes.yml
Normal file
@@ -0,0 +1,19 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: FriendlyCubesStatic
|
||||
recipes:
|
||||
- MonkeyCube
|
||||
- KoboldCube
|
||||
- CowCube
|
||||
- GoatCube
|
||||
- MothroachCube
|
||||
- MouseCube
|
||||
- CockroachCube
|
||||
|
||||
- type: latheRecipePack
|
||||
id: HostileCubesStatic
|
||||
recipes:
|
||||
- AbominationCube
|
||||
- SpaceCarpCube
|
||||
- SpaceTickCube
|
||||
23
Resources/Prototypes/Recipes/Lathes/Packs/bedsheets.yml
Normal file
23
Resources/Prototypes/Recipes/Lathes/Packs/bedsheets.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Bedsheets
|
||||
recipes:
|
||||
- BedsheetBlack
|
||||
- BedsheetBlue
|
||||
- BedsheetBrown
|
||||
- BedsheetGreen
|
||||
- BedsheetGrey
|
||||
- BedsheetOrange
|
||||
- BedsheetPurple
|
||||
- BedsheetRed
|
||||
- BedsheetWhite
|
||||
- BedsheetYellow
|
||||
- BedsheetClown
|
||||
- BedsheetCosmos
|
||||
- BedsheetIan
|
||||
- BedsheetMedical
|
||||
- BedsheetMime
|
||||
- BedsheetNT
|
||||
- BedsheetRainbow
|
||||
- BedsheetBrigmedic
|
||||
30
Resources/Prototypes/Recipes/Lathes/Packs/biogen.yml
Normal file
30
Resources/Prototypes/Recipes/Lathes/Packs/biogen.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: BioGenIngredientsStatic
|
||||
recipes:
|
||||
- BioGenMilk
|
||||
- BioGenMilkSoy
|
||||
- BioGenEthanol
|
||||
- BioGenCream
|
||||
- BioGenBlackpepper
|
||||
- BioGenEnzyme
|
||||
- BioGenFlour
|
||||
- BioGenSugar
|
||||
- BioGenMonkeyCube
|
||||
- BioGenKoboldCube
|
||||
- BioGenCandle
|
||||
- BioGenPlantBGone
|
||||
- BioGenWeedKiller
|
||||
- BioGenPestKiller
|
||||
- BioGenLeft4Zed
|
||||
- BioGenEZNutrient
|
||||
- BioGenRobustHarvest
|
||||
|
||||
- type: latheRecipePack
|
||||
id: BioGenMaterialsStatic
|
||||
recipes:
|
||||
- BioGenMaterialCloth1
|
||||
- BioGenMaterialCardboard1
|
||||
- BioGenPaper
|
||||
- BioGenPaperRolling1
|
||||
31
Resources/Prototypes/Recipes/Lathes/Packs/cargo.yml
Normal file
31
Resources/Prototypes/Recipes/Lathes/Packs/cargo.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: CargoStatic
|
||||
recipes:
|
||||
- AppraisalTool
|
||||
- Pickaxe
|
||||
|
||||
- type: latheRecipePack
|
||||
id: CargoBoardsStatic
|
||||
recipes:
|
||||
- OreProcessorMachineCircuitboard
|
||||
- SalvageMagnetMachineCircuitboard
|
||||
|
||||
## Dynamic
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Mining
|
||||
recipes:
|
||||
- MiningDrill
|
||||
- MiningDrillDiamond
|
||||
- MineralScannerEmpty
|
||||
- AdvancedMineralScannerEmpty
|
||||
- OreBagOfHolding
|
||||
|
||||
- type: latheRecipePack
|
||||
id: CargoBoards
|
||||
recipes:
|
||||
- OreProcessorIndustrialMachineCircuitboard
|
||||
- CargoTelepadMachineCircuitboard
|
||||
- ShuttleGunKineticCircuitboard
|
||||
227
Resources/Prototypes/Recipes/Lathes/Packs/clothing.yml
Normal file
227
Resources/Prototypes/Recipes/Lathes/Packs/clothing.yml
Normal file
@@ -0,0 +1,227 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingCivilian
|
||||
recipes:
|
||||
- ClothingUniformJumpsuitColorGrey
|
||||
- ClothingUniformJumpskirtColorGrey
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingCargo
|
||||
recipes:
|
||||
- ClothingUniformJumpsuitCargo
|
||||
- ClothingUniformJumpskirtCargo
|
||||
- ClothingUniformJumpsuitSalvageSpecialist
|
||||
- ClothingHeadHatQMsoft
|
||||
- ClothingHeadHatBeretQM
|
||||
- ClothingUniformJumpsuitQM
|
||||
- ClothingUniformJumpskirtQM
|
||||
- ClothingUniformJumpsuitQMTurtleneck
|
||||
- ClothingUniformJumpskirtQMTurtleneck
|
||||
- ClothingUniformJumpsuitQMFormal
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingCommand
|
||||
recipes:
|
||||
# Captain
|
||||
- ClothingHeadHatCapcap
|
||||
- ClothingHeadHatCaptain
|
||||
- ClothingUniformJumpsuitCaptain
|
||||
- ClothingUniformJumpskirtCaptain
|
||||
- ClothingUniformJumpsuitCapFormal
|
||||
- ClothingUniformJumpskirtCapFormalDress
|
||||
# HoP
|
||||
- ClothingHeadHatHopcap
|
||||
- ClothingUniformJumpsuitHoP
|
||||
- ClothingUniformJumpskirtHoP
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingEngineering
|
||||
recipes:
|
||||
- ClothingHeadHatBeretEngineering
|
||||
- ClothingUniformJumpsuitChiefEngineer
|
||||
- ClothingUniformJumpskirtChiefEngineer
|
||||
- ClothingUniformJumpsuitChiefEngineerTurtle
|
||||
- ClothingUniformJumpskirtChiefEngineerTurtle
|
||||
- ClothingUniformJumpsuitEngineering
|
||||
- ClothingUniformJumpskirtEngineering
|
||||
- ClothingUniformJumpsuitSeniorEngineer
|
||||
- ClothingUniformJumpskirtSeniorEngineer
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingMedical
|
||||
recipes:
|
||||
- ClothingUniformJumpsuitChemistry
|
||||
- ClothingUniformJumpskirtChemistry
|
||||
- ClothingHeadHatBeretCmo
|
||||
- ClothingUniformJumpsuitCMO
|
||||
- ClothingUniformJumpskirtCMO
|
||||
- ClothingUniformJumpsuitCMOTurtle
|
||||
- ClothingUniformJumpskirtCMOTurtle
|
||||
- ClothingHeadHatBeretSeniorPhysician
|
||||
- ClothingUniformJumpsuitMedicalDoctor
|
||||
- ClothingUniformJumpskirtMedicalDoctor
|
||||
- ClothingUniformJumpsuitSeniorPhysician
|
||||
- ClothingUniformJumpskirtSeniorPhysician
|
||||
- ClothingUniformJumpsuitParamedic
|
||||
- ClothingUniformJumpskirtParamedic
|
||||
- ClothingHeadHatParamedicsoft
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingScience
|
||||
recipes:
|
||||
- ClothingHeadHatBeretRND
|
||||
- ClothingUniformJumpsuitResearchDirector
|
||||
- ClothingUniformJumpskirtResearchDirector
|
||||
- ClothingUniformJumpsuitScientist
|
||||
- ClothingUniformJumpskirtScientist
|
||||
- ClothingUniformJumpsuitSeniorResearcher
|
||||
- ClothingUniformJumpskirtSeniorResearcher
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingSecurity
|
||||
recipes:
|
||||
- ClothingUniformJumpsuitDetective
|
||||
- ClothingUniformJumpskirtDetective
|
||||
- ClothingHeadHatBeretHoS
|
||||
- ClothingHeadHatHoshat
|
||||
- ClothingUniformJumpsuitHoS
|
||||
- ClothingUniformJumpskirtHoS
|
||||
- ClothingUniformJumpsuitHosFormal
|
||||
- ClothingUniformJumpskirtHosFormal
|
||||
- ClothingUniformJumpsuitHoSAlt
|
||||
- ClothingUniformJumpskirtHoSAlt
|
||||
- ClothingUniformJumpsuitHoSBlue
|
||||
- ClothingUniformJumpsuitHoSGrey
|
||||
- ClothingUniformJumpsuitHoSParadeMale
|
||||
- ClothingUniformJumpskirtHoSParadeMale
|
||||
- ClothingUniformJumpsuitSeniorOfficer
|
||||
- ClothingUniformJumpskirtSeniorOfficer
|
||||
- ClothingUniformJumpsuitPrisoner
|
||||
- ClothingUniformJumpskirtPrisoner
|
||||
- ClothingHeadHatBeretSecurity
|
||||
- ClothingUniformJumpsuitSec
|
||||
- ClothingUniformJumpskirtSec
|
||||
- ClothingHeadHatBeretBrigmedic
|
||||
- ClothingUniformJumpsuitBrigmedic
|
||||
- ClothingUniformJumpskirtBrigmedic
|
||||
- ClothingHeadHatBeretWarden
|
||||
- ClothingHeadHatWarden
|
||||
- ClothingUniformJumpsuitWarden
|
||||
- ClothingUniformJumpskirtWarden
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingService
|
||||
recipes:
|
||||
- ClothingUniformJumpsuitBartender
|
||||
- ClothingUniformJumpskirtBartender
|
||||
- ClothingUniformJumpsuitChaplain
|
||||
- ClothingUniformJumpskirtChaplain
|
||||
- ClothingUniformJumpsuitChef
|
||||
- ClothingUniformJumpskirtChef
|
||||
- ClothingUniformJumpsuitClown
|
||||
- ClothingUniformJumpsuitHydroponics
|
||||
- ClothingUniformJumpskirtHydroponics
|
||||
- ClothingUniformJumpsuitJanitor
|
||||
- ClothingUniformJumpskirtJanitor
|
||||
- ClothingUniformJumpsuitLawyerBlack
|
||||
- ClothingUniformJumpsuitLibrarian
|
||||
- ClothingUniformJumpskirtColorLightBrown
|
||||
- ClothingUniformJumpsuitMime
|
||||
- ClothingUniformJumpskirtMime
|
||||
- ClothingUniformJumpsuitMusician
|
||||
|
||||
- type: latheRecipePack
|
||||
id: WinterCoats
|
||||
recipes:
|
||||
- ClothingOuterWinterCap
|
||||
- ClothingOuterWinterCE
|
||||
- ClothingOuterWinterCMO
|
||||
- ClothingOuterWinterHoP
|
||||
- ClothingOuterWinterHoSUnarmored
|
||||
- ClothingOuterWinterWardenUnarmored
|
||||
- ClothingOuterWinterQM
|
||||
- ClothingOuterWinterRD
|
||||
- ClothingOuterWinterMusician
|
||||
- ClothingOuterWinterClown
|
||||
- ClothingOuterWinterMime
|
||||
- ClothingOuterWinterCoat
|
||||
- ClothingOuterWinterJani
|
||||
- ClothingOuterWinterBar
|
||||
- ClothingOuterWinterChef
|
||||
- ClothingOuterWinterHydro
|
||||
- ClothingOuterWinterAtmos
|
||||
- ClothingOuterWinterEngi
|
||||
- ClothingOuterWinterCargo
|
||||
- ClothingOuterWinterMiner
|
||||
- ClothingOuterWinterMed
|
||||
- ClothingOuterWinterPara
|
||||
- ClothingOuterWinterChem
|
||||
- ClothingOuterWinterGen
|
||||
- ClothingOuterWinterViro
|
||||
- ClothingOuterWinterSci
|
||||
- ClothingOuterWinterRobo
|
||||
- ClothingOuterWinterSec
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Ties
|
||||
recipes:
|
||||
- ClothingNeckTieRed
|
||||
- ClothingNeckTieDet
|
||||
- ClothingNeckTieSci
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Scarves
|
||||
recipes:
|
||||
- ClothingNeckScarfStripedGreen
|
||||
- ClothingNeckScarfStripedBlue
|
||||
- ClothingNeckScarfStripedRed
|
||||
- ClothingNeckScarfStripedBrown
|
||||
- ClothingNeckScarfStripedLightBlue
|
||||
- ClothingNeckScarfStripedOrange
|
||||
- ClothingNeckScarfStripedBlack
|
||||
- ClothingNeckScarfStripedPurple
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Carpets
|
||||
recipes:
|
||||
- Carpet
|
||||
- CarpetBlack
|
||||
- CarpetPink
|
||||
- CarpetBlue
|
||||
- CarpetGreen
|
||||
- CarpetOrange
|
||||
- CarpetPurple
|
||||
- CarpetCyan
|
||||
- CarpetWhite
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingCentComm
|
||||
recipes:
|
||||
- ClothingHeadHatCentcomcap
|
||||
- ClothingHeadHatCentcom
|
||||
- ClothingUniformJumpsuitCentcomAgent
|
||||
- ClothingUniformJumpsuitCentcomFormal
|
||||
- ClothingUniformJumpskirtCentcomFormalDress
|
||||
- ClothingUniformJumpsuitCentcomOfficer
|
||||
- ClothingUniformJumpsuitCentcomOfficial
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ClothingSyndie
|
||||
recipes:
|
||||
- ClothingHeadHatSyndieMAA
|
||||
- ClothingHeadHatSyndie
|
||||
- ClothingUniformJumpsuitOperative
|
||||
- ClothingUniformJumpskirtOperative
|
||||
- ClothingUniformJumpsuitSyndieFormal
|
||||
- ClothingUniformJumpskirtSyndieFormalDress
|
||||
- ClothingHeadPyjamaSyndicateBlack
|
||||
- ClothingUniformJumpsuitPyjamaSyndicateBlack
|
||||
- ClothingHeadPyjamaSyndicatePink
|
||||
- ClothingUniformJumpsuitPyjamaSyndicatePink
|
||||
- ClothingHeadPyjamaSyndicateRed
|
||||
- ClothingUniformJumpsuitPyjamaSyndicateRed
|
||||
- ClothingOuterWinterCentcom
|
||||
- ClothingOuterWinterSyndie
|
||||
- ClothingOuterWinterSyndieCap
|
||||
- BedsheetSyndie
|
||||
87
Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml
Normal file
87
Resources/Prototypes/Recipes/Lathes/Packs/engineering.yml
Normal file
@@ -0,0 +1,87 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ToolsStatic
|
||||
recipes:
|
||||
- Wirecutter
|
||||
- Screwdriver
|
||||
- Welder
|
||||
- Wrench
|
||||
- CrowbarGreen
|
||||
- Multitool
|
||||
- NetworkConfigurator
|
||||
- Signaller
|
||||
- SprayPainter
|
||||
- FlashlightLantern
|
||||
- HandheldGPSBasic
|
||||
- TRayScanner
|
||||
- UtilityBelt
|
||||
- HandheldStationMap
|
||||
- ClothingHeadHatWelding
|
||||
- ClothingHeadHatCone
|
||||
|
||||
- type: latheRecipePack
|
||||
id: AtmosStatic
|
||||
recipes:
|
||||
- AirTank
|
||||
- GasAnalyzer
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ElectronicsStatic
|
||||
recipes:
|
||||
- IntercomElectronics
|
||||
- FirelockElectronics
|
||||
- DoorElectronics
|
||||
- AirAlarmElectronics
|
||||
- StationMapElectronics
|
||||
- FireAlarmElectronics
|
||||
- MailingUnitElectronics
|
||||
- SignalTimerElectronics
|
||||
- APCElectronics
|
||||
- SMESMachineCircuitboard
|
||||
- SubstationMachineCircuitboard
|
||||
- WallmountSubstationElectronics
|
||||
- CellRechargerCircuitboard
|
||||
- WeaponCapacitorRechargerCircuitboard
|
||||
- FreezerElectronics
|
||||
|
||||
- type: latheRecipePack
|
||||
id: EngineeringBoardsStatic
|
||||
recipes:
|
||||
- SpaceHeaterMachineCircuitBoard
|
||||
|
||||
## Dynamic
|
||||
|
||||
- type: latheRecipePack
|
||||
id: AdvancedTools
|
||||
recipes:
|
||||
- PowerDrill
|
||||
- WelderExperimental
|
||||
- JawsOfLife
|
||||
|
||||
- type: latheRecipePack
|
||||
id: AtmosTools
|
||||
recipes:
|
||||
- HolofanProjector
|
||||
|
||||
- type: latheRecipePack
|
||||
id: EngineeringWeapons
|
||||
recipes:
|
||||
- WeaponParticleDecelerator
|
||||
|
||||
- type: latheRecipePack
|
||||
id: EngineeringBoards
|
||||
recipes:
|
||||
- ThermomachineFreezerMachineCircuitBoard
|
||||
- HellfireFreezerMachineCircuitBoard
|
||||
- PortableScrubberMachineCircuitBoard
|
||||
- SolarControlComputerCircuitboard
|
||||
- SolarTrackerElectronics
|
||||
- GasRecyclerMachineCircuitboard
|
||||
- PortableGeneratorPacmanMachineCircuitboard
|
||||
- PortableGeneratorSuperPacmanMachineCircuitboard
|
||||
- PortableGeneratorJrPacmanMachineCircuitboard
|
||||
- EmitterCircuitboard
|
||||
- TelecomServerCircuitboard
|
||||
- SMESAdvancedMachineCircuitboard
|
||||
- HolopadMachineCircuitboard
|
||||
101
Resources/Prototypes/Recipes/Lathes/Packs/medical.yml
Normal file
101
Resources/Prototypes/Recipes/Lathes/Packs/medical.yml
Normal file
@@ -0,0 +1,101 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: TopicalsStatic
|
||||
recipes:
|
||||
- Brutepack
|
||||
- Ointment
|
||||
- Gauze
|
||||
|
||||
- type: latheRecipePack
|
||||
id: BasicChemistryStatic
|
||||
recipes:
|
||||
- Beaker
|
||||
- LargeBeaker
|
||||
- Syringe
|
||||
- PillCanister
|
||||
- HandLabeler
|
||||
|
||||
- type: latheRecipePack
|
||||
parent: BasicChemistryStatic
|
||||
id: ChemistryStatic
|
||||
recipes:
|
||||
- Jug
|
||||
- ChemistryEmptyBottle01
|
||||
- ClothingEyesGlassesChemical
|
||||
|
||||
- type: latheRecipePack
|
||||
id: SurgeryStatic
|
||||
recipes:
|
||||
- Scalpel
|
||||
- Retractor
|
||||
- Cautery
|
||||
- Drill
|
||||
- Saw
|
||||
- Hemostat
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MedicalStatic
|
||||
recipes:
|
||||
- Implanter
|
||||
- Defibrillator
|
||||
- HandheldHealthAnalyzer
|
||||
- DiseaseSwab
|
||||
- BodyBag
|
||||
- WhiteCane
|
||||
|
||||
- type: latheRecipePack
|
||||
id: RollerBedsStatic
|
||||
recipes:
|
||||
- RollerBedSpawnFolded
|
||||
- CheapRollerBedSpawnFolded
|
||||
- EmergencyRollerBedSpawnFolded
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MedicalClothingStatic
|
||||
recipes:
|
||||
- ClothingHandsGlovesLatex
|
||||
- ClothingHandsGlovesNitrile
|
||||
- ClothingMaskSterile
|
||||
|
||||
# These are all empty
|
||||
- type: latheRecipePack
|
||||
id: EmptyMedkitsStatic
|
||||
recipes:
|
||||
- Medkit
|
||||
- MedkitBurn
|
||||
- MedkitToxin
|
||||
- MedkitO2
|
||||
- MedkitBrute
|
||||
- MedkitAdvanced
|
||||
- MedkitRadiation
|
||||
- MedkitCombat
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MedicalBoardsStatic
|
||||
recipes:
|
||||
- ElectrolysisUnitMachineCircuitboard
|
||||
- CentrifugeMachineCircuitboard
|
||||
- ChemDispenserMachineCircuitboard
|
||||
- ChemMasterMachineCircuitboard
|
||||
- CondenserMachineCircuitBoard
|
||||
- HotplateMachineCircuitboard
|
||||
|
||||
## Dynamic
|
||||
|
||||
# Shared with protolathe
|
||||
- type: latheRecipePack
|
||||
id: Chemistry
|
||||
recipes:
|
||||
- ChemicalPayload
|
||||
- CryostasisBeaker
|
||||
- SyringeCryostasis
|
||||
- BluespaceBeaker
|
||||
- SyringeBluespace
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MedicalBoards
|
||||
recipes:
|
||||
- StasisBedMachineCircuitboard
|
||||
- CryoPodMachineCircuitboard
|
||||
- BiomassReclaimerMachineCircuitboard
|
||||
27
Resources/Prototypes/Recipes/Lathes/Packs/ore.yml
Normal file
27
Resources/Prototypes/Recipes/Lathes/Packs/ore.yml
Normal file
@@ -0,0 +1,27 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: OreSmelting
|
||||
recipes:
|
||||
- SheetSteel
|
||||
- SheetGlass1
|
||||
- SheetPlasma1
|
||||
- SheetUranium1
|
||||
- IngotGold1
|
||||
- IngotSilver1
|
||||
- MaterialBananium1
|
||||
- MaterialDiamond
|
||||
|
||||
- type: latheRecipePack
|
||||
id: RGlassSmelting
|
||||
recipes:
|
||||
- SheetRGlassRaw
|
||||
- SheetPGlass1
|
||||
- SheetRPGlass1
|
||||
|
||||
- type: latheRecipePack
|
||||
id: AdvancedSmelting
|
||||
recipes:
|
||||
- SheetPlasteel1
|
||||
- SheetUGlass1
|
||||
- SheetRUGlass1
|
||||
74
Resources/Prototypes/Recipes/Lathes/Packs/robotics.yml
Normal file
74
Resources/Prototypes/Recipes/Lathes/Packs/robotics.yml
Normal file
@@ -0,0 +1,74 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: RoboticsStatic
|
||||
recipes:
|
||||
- MMI
|
||||
- PositronicBrain
|
||||
- SciFlash
|
||||
- CyborgEndoskeleton
|
||||
|
||||
- type: latheRecipePack
|
||||
id: BorgModulesStatic
|
||||
recipes:
|
||||
- BorgModuleCable
|
||||
- BorgModuleFireExtinguisher
|
||||
- BorgModuleRadiationDetection
|
||||
- BorgModuleTool
|
||||
|
||||
- type: latheRecipePack
|
||||
id: BorgLimbsStatic
|
||||
recipes:
|
||||
- LeftArmBorg
|
||||
- RightArmBorg
|
||||
- LeftLegBorg
|
||||
- RightLegBorg
|
||||
- LightHeadBorg
|
||||
- TorsoBorg
|
||||
|
||||
## Dynamic
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Robotics
|
||||
recipes:
|
||||
- ProximitySensor
|
||||
|
||||
- type: latheRecipePack
|
||||
id: BorgModules
|
||||
recipes:
|
||||
- BorgModuleAdvancedCleaning
|
||||
- BorgModuleAdvancedTool
|
||||
- BorgModuleGPS
|
||||
- BorgModuleArtifact
|
||||
- BorgModuleAnomaly
|
||||
- BorgModuleGardening
|
||||
- BorgModuleHarvesting
|
||||
- BorgModuleDefibrillator
|
||||
- BorgModuleAdvancedTreatment
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MechParts
|
||||
recipes:
|
||||
- RipleyHarness
|
||||
- RipleyLArm
|
||||
- RipleyRArm
|
||||
- RipleyLLeg
|
||||
- RipleyRLeg
|
||||
- HonkerHarness
|
||||
- HonkerLArm
|
||||
- HonkerRArm
|
||||
- HonkerLLeg
|
||||
- HonkerRLeg
|
||||
- HamtrHarness
|
||||
- HamtrLArm
|
||||
- HamtrRArm
|
||||
- HamtrLLeg
|
||||
- HamtrRLeg
|
||||
- VimHarness
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MechEquipment
|
||||
recipes:
|
||||
- MechEquipmentGrabber
|
||||
- MechEquipmentHorn
|
||||
- MechEquipmentGrabberSmall
|
||||
127
Resources/Prototypes/Recipes/Lathes/Packs/science.yml
Normal file
127
Resources/Prototypes/Recipes/Lathes/Packs/science.yml
Normal file
@@ -0,0 +1,127 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ScienceBoardsStatic
|
||||
recipes:
|
||||
- ProtolatheMachineCircuitboard
|
||||
- AutolatheMachineCircuitboard
|
||||
- CircuitImprinterMachineCircuitboard
|
||||
- ExosuitFabricatorMachineCircuitboard
|
||||
- CutterMachineCircuitboard
|
||||
- BorgChargerCircuitboard
|
||||
|
||||
- type: latheRecipePack
|
||||
id: CircuitFloorsStatic
|
||||
recipes:
|
||||
- FloorGreenCircuit
|
||||
- FloorBlueCircuit
|
||||
- FloorRedCircuit
|
||||
|
||||
## Dynamic
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ScienceEquipment
|
||||
recipes:
|
||||
- AnomalyScanner
|
||||
- NodeScanner
|
||||
- AnomalyLocator
|
||||
- AnomalyLocatorWide
|
||||
- HoloprojectorField
|
||||
- SignallerAdvanced
|
||||
- DeviceQuantumSpinInverter
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ScienceClothing
|
||||
recipes:
|
||||
- ClothingShoesBootsMagSci
|
||||
- ClothingShoesBootsMoon
|
||||
- ClothingShoesBootsSpeed
|
||||
- ClothingBackpackHolding
|
||||
- ClothingBackpackSatchelHolding
|
||||
- ClothingBackpackDuffelHolding
|
||||
|
||||
- type: latheRecipePack
|
||||
id: PowerCells
|
||||
recipes:
|
||||
- PowerCellMicroreactor
|
||||
- PowerCellHigh
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ScienceWeapons
|
||||
recipes:
|
||||
- WeaponPistolCHIMP
|
||||
- WeaponForceGun
|
||||
- WeaponLaserSvalinn
|
||||
- WeaponProtoKineticAccelerator
|
||||
- WeaponTetherGun
|
||||
- WeaponGauntletGorilla
|
||||
|
||||
- type: latheRecipePack
|
||||
id: FauxTiles
|
||||
recipes:
|
||||
- FauxTileAstroGrass
|
||||
- FauxTileMowedAstroGrass
|
||||
- FauxTileJungleAstroGrass
|
||||
- FauxTileAstroIce
|
||||
- FauxTileAstroSnow
|
||||
- FauxTileAstroAsteroidSand
|
||||
|
||||
# Only contains parts for making basic modular grenades, no actual explosives
|
||||
- type: latheRecipePack
|
||||
id: ScienceExplosives
|
||||
recipes:
|
||||
- ChemicalPayload
|
||||
- FlashPayload
|
||||
- TimerTrigger
|
||||
- SignalTrigger
|
||||
- VoiceTrigger
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ScienceBoards
|
||||
recipes:
|
||||
- TurboItemRechargerCircuitboard
|
||||
- AutolatheHyperConvectionMachineCircuitboard
|
||||
- ProtolatheHyperConvectionMachineCircuitboard
|
||||
- CircuitImprinterHyperConvectionMachineCircuitboard
|
||||
- TechDiskComputerCircuitboard
|
||||
- FlatpackerMachineCircuitboard
|
||||
- SheetifierMachineCircuitboard
|
||||
- PowerCageRechargerCircuitboard
|
||||
- AnalysisComputerCircuitboard
|
||||
- AnomalyVesselCircuitboard
|
||||
- AnomalyVesselExperimentalCircuitboard
|
||||
- AnomalySynchronizerCircuitboard
|
||||
- APECircuitboard
|
||||
- ArtifactAnalyzerMachineCircuitboard
|
||||
- ArtifactCrusherMachineCircuitboard
|
||||
|
||||
- type: latheRecipePack
|
||||
id: CameraBoards
|
||||
recipes:
|
||||
- SurveillanceCameraRouterCircuitboard
|
||||
- SurveillanceCameraMonitorCircuitboard
|
||||
- SurveillanceWirelessCameraMonitorCircuitboard
|
||||
- SurveillanceCameraWirelessRouterCircuitboard
|
||||
- ComputerTelevisionCircuitboard
|
||||
- SurveillanceWirelessCameraMovableCircuitboard
|
||||
- SurveillanceWirelessCameraAnchoredCircuitboard
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MechBoards
|
||||
recipes:
|
||||
- RipleyCentralElectronics
|
||||
- RipleyPeripheralsElectronics
|
||||
- HonkerCentralElectronics
|
||||
- HonkerPeripheralsElectronics
|
||||
- HonkerTargetingElectronics
|
||||
- HamtrCentralElectronics
|
||||
- HamtrPeripheralsElectronics
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ShuttleBoards
|
||||
recipes:
|
||||
- ShuttleConsoleCircuitboard
|
||||
- RadarConsoleCircuitboard
|
||||
- ThrusterMachineCircuitboard
|
||||
- GyroscopeMachineCircuitboard
|
||||
- MiniGravityGeneratorCircuitboard
|
||||
131
Resources/Prototypes/Recipes/Lathes/Packs/security.yml
Normal file
131
Resources/Prototypes/Recipes/Lathes/Packs/security.yml
Normal file
@@ -0,0 +1,131 @@
|
||||
## Static recipes
|
||||
|
||||
- type: latheRecipePack
|
||||
id: SecurityEquipmentStatic
|
||||
recipes:
|
||||
- ClothingEyesHudSecurity
|
||||
- ForensicPad
|
||||
- Handcuffs
|
||||
- TargetClown
|
||||
- TargetHuman
|
||||
- TargetSyndicate
|
||||
- Zipties
|
||||
|
||||
# Practice ammo/mags and practice weapons
|
||||
- type: latheRecipePack
|
||||
id: SecurityPracticeStatic
|
||||
recipes:
|
||||
- BoxShotgunPractice
|
||||
- MagazineBoxLightRiflePractice
|
||||
- MagazineBoxMagnumPractice
|
||||
- MagazineBoxPistolPractice
|
||||
- MagazineBoxRiflePractice
|
||||
- WeaponDisablerPractice
|
||||
- WeaponLaserCarbinePractice
|
||||
- WeaponFlareGunSecurity
|
||||
|
||||
# Shared between secfab and emagged autolathe
|
||||
- type: latheRecipePack
|
||||
id: SecurityAmmoStatic
|
||||
recipes:
|
||||
- BoxLethalshot
|
||||
- BoxShotgunSlug
|
||||
- MagazineBoxLightRifle
|
||||
- MagazineBoxMagnum
|
||||
- MagazineBoxPistol
|
||||
- MagazineBoxRifle
|
||||
- MagazineLightRifle
|
||||
- MagazineLightRifleEmpty
|
||||
- MagazinePistol
|
||||
- MagazinePistolEmpty
|
||||
- MagazinePistolSubMachineGun
|
||||
- MagazinePistolSubMachineGunEmpty
|
||||
- MagazinePistolSubMachineGunTopMounted
|
||||
- MagazinePistolSubMachineGunTopMountedEmpty
|
||||
- MagazineRifle
|
||||
- MagazineRifleEmpty
|
||||
- MagazineShotgun
|
||||
- MagazineShotgunEmpty
|
||||
- MagazineShotgunSlug
|
||||
- SpeedLoaderMagnum
|
||||
- SpeedLoaderMagnumEmpty
|
||||
|
||||
- type: latheRecipePack
|
||||
id: SecurityWeaponsStatic
|
||||
recipes:
|
||||
- Flash
|
||||
- Stunbaton
|
||||
- CombatKnife
|
||||
- RiotShield
|
||||
|
||||
## Dynamic recipes
|
||||
|
||||
- type: latheRecipePack
|
||||
id: SecurityEquipment
|
||||
recipes:
|
||||
- ClothingBackpackElectropack
|
||||
- HoloprojectorSecurity
|
||||
- PortableRecharger
|
||||
- PowerCageHigh
|
||||
- PowerCageMedium
|
||||
- PowerCageSmall
|
||||
- TelescopicShield
|
||||
|
||||
- type: latheRecipePack
|
||||
id: SecurityBoards
|
||||
recipes:
|
||||
- ShuttleGunDusterCircuitboard
|
||||
- ShuttleGunFriendshipCircuitboard
|
||||
- ShuttleGunPerforatorCircuitboard
|
||||
- ShuttleGunSvalinnMachineGunCircuitboard
|
||||
|
||||
- type: latheRecipePack
|
||||
parent:
|
||||
- ScienceExplosives # sec gets everything for modular grenade making that sci does
|
||||
id: SecurityExplosives
|
||||
recipes:
|
||||
- ExplosivePayload
|
||||
- GrenadeBlast
|
||||
- GrenadeEMP
|
||||
- GrenadeFlash
|
||||
- MagazineGrenadeEmpty
|
||||
|
||||
# Shared between secfab and emagged protolathe
|
||||
- type: latheRecipePack
|
||||
id: SecurityAmmo
|
||||
recipes:
|
||||
- BoxBeanbag
|
||||
- BoxShotgunIncendiary
|
||||
- BoxShotgunUranium
|
||||
- BoxShellTranquilizer
|
||||
- MagazineBoxLightRifleIncendiary
|
||||
- MagazineBoxLightRifleUranium
|
||||
- MagazineBoxMagnumIncendiary
|
||||
- MagazineBoxMagnumUranium
|
||||
- MagazineBoxPistolIncendiary
|
||||
- MagazineBoxPistolUranium
|
||||
- MagazineBoxRifleIncendiary
|
||||
- MagazineBoxRifleUranium
|
||||
- MagazineLightRifleIncendiary
|
||||
- MagazineLightRifleUranium
|
||||
- MagazinePistolIncendiary
|
||||
- MagazinePistolUranium
|
||||
- MagazinePistolSubMachineGunIncendiary
|
||||
- MagazinePistolSubMachineGunUranium
|
||||
- MagazineRifleIncendiary
|
||||
- MagazineRifleUranium
|
||||
- MagazineShotgunBeanbag
|
||||
- MagazineShotgunIncendiary
|
||||
- SpeedLoaderMagnumIncendiary
|
||||
- SpeedLoaderMagnumUranium
|
||||
|
||||
- type: latheRecipePack
|
||||
id: SecurityWeapons
|
||||
recipes:
|
||||
- Truncheon
|
||||
- WeaponAdvancedLaser
|
||||
- WeaponDisabler
|
||||
- WeaponDisablerSMG
|
||||
- WeaponLaserCannon
|
||||
- WeaponLaserCarbine
|
||||
- WeaponXrayCannon
|
||||
62
Resources/Prototypes/Recipes/Lathes/Packs/service.yml
Normal file
62
Resources/Prototypes/Recipes/Lathes/Packs/service.yml
Normal file
@@ -0,0 +1,62 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ServiceStatic
|
||||
recipes:
|
||||
- Bucket
|
||||
- DrinkMug
|
||||
- DrinkMugMetal
|
||||
- DrinkGlass
|
||||
- DrinkShotGlass
|
||||
- DrinkGlassCoupeShaped
|
||||
- CustomDrinkJug
|
||||
- FoodPlate
|
||||
- FoodPlateSmall
|
||||
- FoodPlatePlastic
|
||||
- FoodPlateSmallPlastic
|
||||
- FoodBowlBig
|
||||
- FoodPlateTin
|
||||
- FoodPlateMuffinTin
|
||||
- FoodKebabSkewer
|
||||
- SprayBottle
|
||||
- MopItem
|
||||
- Holoprojector
|
||||
- WetFloorSign
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ServiceBoardsStatic
|
||||
recipes:
|
||||
- BiogeneratorMachineCircuitboard
|
||||
- UniformPrinterMachineCircuitboard
|
||||
- MicrowaveMachineCircuitboard
|
||||
- ReagentGrinderMachineCircuitboard
|
||||
- ElectricGrillMachineCircuitboard
|
||||
- BoozeDispenserMachineCircuitboard
|
||||
- SodaDispenserMachineCircuitboard
|
||||
|
||||
## Dynamic
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Janitor
|
||||
recipes:
|
||||
- AdvMopItem
|
||||
- WeaponSprayNozzle
|
||||
- ClothingBackpackWaterTank
|
||||
- MegaSprayBottle
|
||||
|
||||
- type: latheRecipePack
|
||||
id: Instruments
|
||||
recipes:
|
||||
- SynthesizerInstrument
|
||||
|
||||
- type: latheRecipePack
|
||||
id: ServiceBoards
|
||||
recipes:
|
||||
- BiofabricatorMachineCircuitboard
|
||||
- FatExtractorMachineCircuitboard
|
||||
- HydroponicsTrayMachineCircuitboard # roundstart gear being unlocked roundstart when
|
||||
- SeedExtractorMachineCircuitboard # ^
|
||||
- MassMediaCircuitboard
|
||||
- ReagentGrinderIndustrialMachineCircuitboard
|
||||
- JukeboxCircuitBoard
|
||||
- DawInstrumentMachineCircuitboard
|
||||
51
Resources/Prototypes/Recipes/Lathes/Packs/shared.yml
Normal file
51
Resources/Prototypes/Recipes/Lathes/Packs/shared.yml
Normal file
@@ -0,0 +1,51 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: MaterialsStatic
|
||||
recipes:
|
||||
- SheetRGlass
|
||||
|
||||
- type: latheRecipePack
|
||||
id: PartsStatic
|
||||
recipes:
|
||||
- Igniter
|
||||
- ModularReceiver
|
||||
- MicroManipulatorStockPart
|
||||
- MatterBinStockPart
|
||||
- CapacitorStockPart
|
||||
- ConveyorBeltAssembly
|
||||
|
||||
- type: latheRecipePack
|
||||
id: LightsStatic
|
||||
recipes:
|
||||
- LightTube
|
||||
- LedLightTube
|
||||
- SodiumLightTube
|
||||
- ExteriorLightTube
|
||||
- LightBulb
|
||||
- LedLightBulb
|
||||
- DimLightBulb
|
||||
- WarmLightBulb
|
||||
|
||||
- type: latheRecipePack
|
||||
id: PowerCellsStatic
|
||||
recipes:
|
||||
- PowerCellSmall
|
||||
- PowerCellMedium
|
||||
|
||||
- type: latheRecipePack
|
||||
id: CablesStatic
|
||||
recipes:
|
||||
- CableStack
|
||||
- CableMVStack
|
||||
- CableHVStack
|
||||
|
||||
## Dynamic
|
||||
|
||||
# Things you'd expect sci salv and engi to make use of
|
||||
- type: latheRecipePack
|
||||
id: Equipment
|
||||
recipes:
|
||||
- HandHeldMassScanner
|
||||
- ClothingMaskWeldingGas
|
||||
- SignallerAdvanced
|
||||
7
Resources/Prototypes/Recipes/Lathes/Packs/sheetifier.yml
Normal file
7
Resources/Prototypes/Recipes/Lathes/Packs/sheetifier.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: SheetifierStatic
|
||||
recipes:
|
||||
- MaterialSheetMeat
|
||||
- SheetPaper
|
||||
49
Resources/Prototypes/Recipes/Lathes/Packs/tiles.yml
Normal file
49
Resources/Prototypes/Recipes/Lathes/Packs/tiles.yml
Normal file
@@ -0,0 +1,49 @@
|
||||
## Static
|
||||
|
||||
- type: latheRecipePack
|
||||
id: FloorTilesStatic
|
||||
recipes:
|
||||
- FloorTileItemDark
|
||||
- FloorTileItemDarkDiagonalMini
|
||||
- FloorTileItemDarkDiagonal
|
||||
- FloorTileItemDarkHerringbone
|
||||
- FloorTileItemDarkMini
|
||||
- FloorTileItemDarkMono
|
||||
- FloorTileItemDarkPavement
|
||||
- FloorTileItemDarkPavementVertical
|
||||
- FloorTileItemDarkOffset
|
||||
- FloorTileItemSteelCheckerDark
|
||||
- FloorTileItemSteel
|
||||
- FloorTileItemSteelOffset
|
||||
- FloorTileItemSteelDiagonalMini
|
||||
- FloorTileItemSteelDiagonal
|
||||
- FloorTileItemSteelHerringbone
|
||||
- FloorTileItemSteelMini
|
||||
- FloorTileItemSteelMono
|
||||
- FloorTileItemSteelPavement
|
||||
- FloorTileItemSteelPavementVertical
|
||||
- FloorTileItemWhite
|
||||
- FloorTileItemWhiteOffset
|
||||
- FloorTileItemWhiteDiagonalMini
|
||||
- FloorTileItemWhiteDiagonal
|
||||
- FloorTileItemWhiteHerringbone
|
||||
- FloorTileItemWhiteMini
|
||||
- FloorTileItemWhiteMono
|
||||
- FloorTileItemWhitePavement
|
||||
- FloorTileItemWhitePavementVertical
|
||||
- FloorTileItemSteelCheckerLight
|
||||
- FloorTileItemGratingMaint
|
||||
- FloorTileItemTechmaint
|
||||
- FloorTileItemSteelMaint
|
||||
- FloorTileItemWood
|
||||
- FloorTileItemWoodLarge
|
||||
- FloorTileItemWoodPattern
|
||||
- FloorTileItemConcrete
|
||||
- FloorTileItemConcreteMono
|
||||
- FloorTileItemConcreteSmooth
|
||||
- FloorTileItemGrayConcrete
|
||||
- FloorTileItemGrayConcreteMono
|
||||
- FloorTileItemGrayConcreteSmooth
|
||||
- FloorTileItemOldConcrete
|
||||
- FloorTileItemOldConcreteMono
|
||||
- FloorTileItemOldConcreteSmooth
|
||||
@@ -245,6 +245,23 @@
|
||||
materials:
|
||||
Steel: 300
|
||||
|
||||
- type: latheRecipe
|
||||
parent: BaseAmmoRecipe
|
||||
id: MagazinePistolSubMachineGunUranium
|
||||
result: MagazinePistolSubMachineGunUranium
|
||||
materials:
|
||||
Steel: 25
|
||||
Plastic: 250
|
||||
Uranium: 250
|
||||
|
||||
- type: latheRecipe
|
||||
parent: BaseAmmoRecipe
|
||||
id: MagazinePistolSubMachineGunIncendiary
|
||||
result: MagazinePistolSubMachineGunIncendiary
|
||||
materials:
|
||||
Steel: 25
|
||||
Plastic: 275
|
||||
|
||||
- type: latheRecipe
|
||||
parent: BaseEmptyAmmoRecipe
|
||||
id: MagazinePistolSubMachineGunTopMountedEmpty
|
||||
|
||||
@@ -27,6 +27,7 @@
|
||||
- BoxShotgunIncendiary
|
||||
- MagazineRifleIncendiary
|
||||
- MagazinePistolIncendiary
|
||||
- MagazinePistolSubMachineGunIncendiary
|
||||
- MagazineLightRifleIncendiary
|
||||
- SpeedLoaderMagnumIncendiary
|
||||
- MagazineShotgunIncendiary
|
||||
@@ -74,6 +75,7 @@
|
||||
recipeUnlocks:
|
||||
- MagazineRifleUranium
|
||||
- MagazinePistolUranium
|
||||
- MagazinePistolSubMachineGunUranium
|
||||
- MagazineLightRifleUranium
|
||||
- SpeedLoaderMagnumUranium
|
||||
- MagazineBoxPistolUranium
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
cost: 5000
|
||||
recipeUnlocks:
|
||||
- ProximitySensor
|
||||
- ExosuitFabricatorMachineCircuitboard
|
||||
|
||||
- type: technology
|
||||
id: BasicAnomalousResearch
|
||||
|
||||
Reference in New Issue
Block a user