diff --git a/Content.Client/Lathe/Components/LatheVisualsComponent.cs b/Content.Client/Lathe/Components/LatheVisualsComponent.cs index 9622641787..a38f22ce20 100644 --- a/Content.Client/Lathe/Components/LatheVisualsComponent.cs +++ b/Content.Client/Lathe/Components/LatheVisualsComponent.cs @@ -2,7 +2,7 @@ namespace Content.Client.Lathe; /// /// Holds the idle and running state for machines to control -/// playing animtions on the client. +/// playing animations on the client. /// [RegisterComponent] public sealed class LatheVisualsComponent : Component @@ -12,4 +12,8 @@ public sealed class LatheVisualsComponent : Component [DataField("runningState", required: true)] public string RunningState = default!; + + [ViewVariables] + [DataField("ignoreColor")] + public bool IgnoreColor; } diff --git a/Content.Client/Lathe/LatheSystem.cs b/Content.Client/Lathe/LatheSystem.cs index 304ef397db..a62d820368 100644 --- a/Content.Client/Lathe/LatheSystem.cs +++ b/Content.Client/Lathe/LatheSystem.cs @@ -29,9 +29,10 @@ namespace Content.Client.Lathe if (args.Component.TryGetData(LatheVisuals.IsInserting, out bool isInserting) && sprite.LayerMapTryGet(LatheVisualLayers.IsInserting, out var isInsertingLayer)) { - if (args.Component.TryGetData(LatheVisuals.InsertingColor, out Color color)) + if (args.Component.TryGetData(LatheVisuals.InsertingColor, out Color color) + && !component.IgnoreColor) sprite.LayerSetColor(isInsertingLayer, color); - + sprite.LayerSetAnimationTime(isInsertingLayer, 0f); sprite.LayerSetVisible(isInsertingLayer, isInserting); } diff --git a/Content.Client/Lathe/UI/LatheMenu.cs b/Content.Client/Lathe/UI/LatheMenu.cs index 2f31748000..44103d77f2 100644 --- a/Content.Client/Lathe/UI/LatheMenu.cs +++ b/Content.Client/Lathe/UI/LatheMenu.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using Content.Client.Lathe.Components; +using Content.Shared.Lathe; using Content.Shared.Materials; using Content.Shared.Research.Prototypes; using Robust.Client.UserInterface; @@ -35,7 +36,7 @@ namespace Content.Client.Lathe.UI Owner = owner; - Title = "Lathe Menu"; + Title = "Lathe Menu"; // TODO Replace this with the name of the lathe itself var vBox = new BoxContainer { diff --git a/Content.Server/Lathe/Components/LatheComponent.cs b/Content.Server/Lathe/Components/LatheComponent.cs index 13ad772c79..cd32e2aba9 100644 --- a/Content.Server/Lathe/Components/LatheComponent.cs +++ b/Content.Server/Lathe/Components/LatheComponent.cs @@ -3,6 +3,7 @@ using Content.Shared.Lathe; using Content.Shared.Research.Prototypes; using Robust.Server.GameObjects; using Content.Shared.Sound; +using Content.Shared.Whitelist; namespace Content.Server.Lathe.Components { @@ -10,9 +11,11 @@ namespace Content.Server.Lathe.Components public sealed class LatheComponent : SharedLatheComponent { /// - /// How much volume in cm^3 each sheet of material adds + /// Whitelist for specifying the kind of materials that can be insert into the lathe /// - public int VolumePerSheet = 100; + [ViewVariables] + [DataField("whitelist")] + public EntityWhitelist? LatheWhitelist; /// /// The lathe's construction queue @@ -46,10 +49,16 @@ namespace Content.Server.Lathe.Components /// [DataField("producingSound")] public SoundSpecifier? ProducingSound; + + /// + /// The sound that plays when inserting an item into the lathe, if any + /// + [DataField("insertingSound")] + public SoundSpecifier? InsertingSound; /// /// The lathe's UI. /// [ViewVariables] public BoundUserInterface? UserInterface; } -} +} \ No newline at end of file diff --git a/Content.Server/Lathe/LatheSystem.cs b/Content.Server/Lathe/LatheSystem.cs index cdb37f42ab..8ff8769f93 100644 --- a/Content.Server/Lathe/LatheSystem.cs +++ b/Content.Server/Lathe/LatheSystem.cs @@ -102,7 +102,9 @@ namespace Content.Server.Lathe /// private void OnInteractUsing(EntityUid uid, LatheComponent component, InteractUsingEvent args) { - if (!TryComp(uid, out var storage) || !TryComp(args.Used, out var material)) + if (!TryComp(uid, out var storage) + || !TryComp(args.Used, out var material) + || component.LatheWhitelist?.IsValid(args.Used) == false) return; var multiplier = 1; @@ -113,24 +115,30 @@ namespace Content.Server.Lathe var totalAmount = 0; // Check if it can insert all materials. - foreach (var mat in material.MaterialIds) + foreach (var (mat, vol) in material._materials) { - // TODO: Change how MaterialComponent works so this is not hard-coded. - if (!storage.CanInsertMaterial(mat, component.VolumePerSheet * multiplier)) - return; - totalAmount += component.VolumePerSheet * multiplier; + if (!storage.CanInsertMaterial(mat, + vol * multiplier)) return; + totalAmount += vol * multiplier; } // Check if it can take ALL of the material's volume. if (storage.StorageLimit > 0 && !storage.CanTakeAmount(totalAmount)) return; var lastMat = string.Empty; - foreach (var mat in material.MaterialIds) + foreach (var (mat, vol) in material._materials) { - storage.InsertMaterial(mat, component.VolumePerSheet * multiplier); + storage.InsertMaterial(mat, vol * multiplier); lastMat = mat; } - /// We need the prototype to get the color + + // Play a sound when inserting, if any + if (component.InsertingSound != null) + { + SoundSystem.Play(Filter.Pvs(component.Owner, entityManager: EntityManager), component.InsertingSound.GetSound(), component.Owner); + } + + // We need the prototype to get the color _prototypeManager.TryIndex(lastMat, out MaterialPrototype? matProto); EntityManager.QueueDeleteEntity(args.Used); diff --git a/Content.Server/Materials/MaterialComponent.cs b/Content.Server/Materials/MaterialComponent.cs index 5b99041459..0f71902538 100644 --- a/Content.Server/Materials/MaterialComponent.cs +++ b/Content.Server/Materials/MaterialComponent.cs @@ -1,12 +1,7 @@ -using System.Collections.Generic; +using System.Linq; using Content.Shared.Materials; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; -using Robust.Shared.Log; using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.Manager.Attributes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; -using Robust.Shared.ViewVariables; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Dictionary; namespace Content.Server.Materials { @@ -18,10 +13,10 @@ namespace Content.Server.Materials public sealed class MaterialComponent : Component { [ViewVariables] - [DataField("materials", customTypeSerializer:typeof(PrototypeIdListSerializer))] + [DataField("materials", customTypeSerializer:typeof(PrototypeIdDictionarySerializer))] // ReSharper disable once CollectionNeverUpdated.Local - private readonly List _materials = new(); - public IEnumerable MaterialIds => _materials; + public readonly Dictionary _materials = new(); + public List MaterialIds => _materials.Keys.ToList(); /// /// Returns all materials which make up this entity. diff --git a/Content.Server/Mining/Components/MineableComponent.cs b/Content.Server/Mining/Components/MineableComponent.cs index edbfbdbc8c..0368bcc9e1 100644 --- a/Content.Server/Mining/Components/MineableComponent.cs +++ b/Content.Server/Mining/Components/MineableComponent.cs @@ -1,5 +1,5 @@ -using Robust.Shared.Analyzers; -using Robust.Shared.GameObjects; +using System.Threading; +using Content.Shared.Storage; namespace Content.Server.Mining.Components; @@ -7,5 +7,6 @@ namespace Content.Server.Mining.Components; [Friend(typeof(MineableSystem))] public sealed class MineableComponent : Component { + [DataField("ores")] public List Ores = new(); public float BaseMineTime = 1.0f; } diff --git a/Content.Server/Mining/Components/PickaxeComponent.cs b/Content.Server/Mining/Components/PickaxeComponent.cs index d3f1a0c9da..181ed2757a 100644 --- a/Content.Server/Mining/Components/PickaxeComponent.cs +++ b/Content.Server/Mining/Components/PickaxeComponent.cs @@ -1,17 +1,20 @@ -using System.Collections.Generic; +using System.Threading; using Content.Shared.Damage; using Content.Shared.Sound; -using Robust.Shared.GameObjects; -using Robust.Shared.Serialization.Manager.Attributes; namespace Content.Server.Mining.Components { + /// + /// When interacting with an allows it to spawn entities. + /// [RegisterComponent] public sealed class PickaxeComponent : Component { + [ViewVariables(VVAccess.ReadWrite)] [DataField("sound")] public SoundSpecifier MiningSound { get; set; } = new SoundPathSpecifier("/Audio/Items/Mining/pickaxe.ogg"); + [ViewVariables(VVAccess.ReadWrite)] [DataField("timeMultiplier")] public float MiningTimeMultiplier { get; set; } = 1f; @@ -25,9 +28,11 @@ namespace Content.Server.Mining.Components /// /// How many entities can this pickaxe mine at once? /// + [ViewVariables(VVAccess.ReadWrite)] [DataField("maxEntities")] public int MaxMiningEntities = 1; - public HashSet MiningEntities = new(); + [ViewVariables] + public readonly Dictionary MiningEntities = new(); } } diff --git a/Content.Server/Mining/MineableSystem.cs b/Content.Server/Mining/MineableSystem.cs index 0426d10dd8..7b25f1e9f5 100644 --- a/Content.Server/Mining/MineableSystem.cs +++ b/Content.Server/Mining/MineableSystem.cs @@ -1,11 +1,12 @@ -using Content.Server.DoAfter; +using System.Threading; +using Content.Server.DoAfter; using Content.Server.Mining.Components; using Content.Shared.Damage; using Content.Shared.Interaction; +using Content.Shared.Storage; using Robust.Shared.Audio; -using Robust.Shared.GameObjects; -using Robust.Shared.IoC; using Robust.Shared.Player; +using Robust.Shared.Random; namespace Content.Server.Mining; @@ -13,6 +14,7 @@ public sealed class MineableSystem : EntitySystem { [Dependency] private readonly DoAfterSystem _doAfterSystem = default!; [Dependency] private readonly DamageableSystem _damageableSystem = default!; + [Dependency] private readonly IRobustRandom _random = null!; public override void Initialize() { @@ -20,7 +22,7 @@ public sealed class MineableSystem : EntitySystem SubscribeLocalEvent(OnInteractUsing); SubscribeLocalEvent(OnDoafterCancel); - SubscribeLocalEvent(OnDoafterSuccess); + SubscribeLocalEvent(OnDoafterSuccess); } private void OnInteractUsing(EntityUid uid, MineableComponent component, InteractUsingEvent args) @@ -28,45 +30,63 @@ public sealed class MineableSystem : EntitySystem if (!TryComp(args.Used, out var pickaxe)) return; + if (pickaxe.MiningEntities.TryGetValue(uid, out var cancelToken)) + { + cancelToken.Cancel(); + pickaxe.MiningEntities.Remove(uid); + return; + } + // Can't mine too many entities at once. if (pickaxe.MaxMiningEntities < pickaxe.MiningEntities.Count + 1) return; - // Can't mine one object multiple times. - if (!pickaxe.MiningEntities.Add(uid)) - return; + cancelToken = new CancellationTokenSource(); + pickaxe.MiningEntities[uid] = cancelToken; - var doAfter = new DoAfterEventArgs(args.User, component.BaseMineTime * pickaxe.MiningTimeMultiplier, default, uid) + var doAfter = new DoAfterEventArgs(args.User, component.BaseMineTime * pickaxe.MiningTimeMultiplier, cancelToken.Token, uid) { BreakOnDamage = true, BreakOnStun = true, BreakOnTargetMove = true, BreakOnUserMove = true, - MovementThreshold = 0.5f, - BroadcastCancelledEvent = new MiningDoafterCancel() { Pickaxe = args.Used, Rock = uid }, - BroadcastFinishedEvent = new MiningDoafterSuccess() { Pickaxe = args.Used, Rock = uid } + MovementThreshold = 0.25f, + BroadcastCancelledEvent = new MiningDoafterCancel { Pickaxe = args.Used, Rock = uid }, + TargetFinishedEvent = new MiningDoafterSuccess { Pickaxe = args.Used, Rock = uid, Player = args.User } }; _doAfterSystem.DoAfter(doAfter); } - private void OnDoafterSuccess(MiningDoafterSuccess ev) + private void OnDoafterSuccess(EntityUid uid, MineableComponent component, MiningDoafterSuccess ev) { if (!TryComp(ev.Pickaxe, out PickaxeComponent? pickaxe)) return; _damageableSystem.TryChangeDamage(ev.Rock, pickaxe.Damage); - SoundSystem.Play(Filter.Pvs(ev.Rock), pickaxe.MiningSound.GetSound(), ev.Rock, AudioParams.Default); + SoundSystem.Play(Filter.Pvs(ev.Rock, entityManager: EntityManager), pickaxe.MiningSound.GetSound(), ev.Rock); pickaxe.MiningEntities.Remove(ev.Rock); + + var spawnOre = EntitySpawnCollection.GetSpawns(component.Ores, _random); + var playerPos = Transform(ev.Player).MapPosition; + var spawnPos = playerPos.Offset(_random.NextVector2(0.3f)); + EntityManager.SpawnEntity(spawnOre[0], spawnPos); + pickaxe.MiningEntities.Remove(uid); } private void OnDoafterCancel(MiningDoafterCancel ev) { - if (!TryComp(ev.Pickaxe, out PickaxeComponent? pickaxe)) + if (!TryComp(ev.Pickaxe, out var pickaxe)) return; pickaxe.MiningEntities.Remove(ev.Rock); } + + private sealed class MiningDoafterCancel : EntityEventArgs + { + public EntityUid Pickaxe; + public EntityUid Rock; + } } // grumble grumble @@ -74,10 +94,6 @@ public sealed class MiningDoafterSuccess : EntityEventArgs { public EntityUid Pickaxe; public EntityUid Rock; + public EntityUid Player; } -public sealed class MiningDoafterCancel : EntityEventArgs -{ - public EntityUid Pickaxe; - public EntityUid Rock; -} diff --git a/Resources/Maps/nss_pillar.yml b/Resources/Maps/nss_pillar.yml index 89b6478ead..87d4202470 100644 --- a/Resources/Maps/nss_pillar.yml +++ b/Resources/Maps/nss_pillar.yml @@ -29565,6 +29565,13 @@ entities: pos: -73.5,33.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 1445 type: AirlockExternalGlassShuttleLocked components: @@ -29572,6 +29579,13 @@ entities: pos: -67.5,33.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 1446 type: AirlockExternalGlassLocked components: @@ -29591,6 +29605,13 @@ entities: pos: -61.5,33.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 1449 type: ReinforcedWindow components: @@ -34960,6 +34981,13 @@ entities: pos: -46.5,46.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 2162 type: PoweredSmallLight components: @@ -99866,6 +99894,13 @@ entities: pos: -42.5,46.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 8313 type: WallReinforced components: @@ -107635,6 +107670,13 @@ entities: pos: -83.5,24.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9241 type: AirlockExternalGlassShuttleLocked components: @@ -107642,6 +107684,13 @@ entities: pos: -83.5,25.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9242 type: ReinforcedWindow components: @@ -107760,6 +107809,13 @@ entities: pos: -79.5,29.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9257 type: AirlockExternalGlassShuttleLocked components: @@ -107767,6 +107823,13 @@ entities: pos: -80.5,29.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9258 type: CableApcExtension components: @@ -109983,6 +110046,13 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9482 type: AirlockShuttle components: @@ -109995,6 +110065,13 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9483 type: WallReinforced components: @@ -112979,6 +113056,13 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9801 type: AirlockShuttle components: @@ -112992,6 +113076,13 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9802 type: SignShipDock components: @@ -114505,6 +114596,13 @@ entities: pos: -43.5,-29.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9979 type: FirelockGlass components: @@ -114534,6 +114632,13 @@ entities: pos: -43.5,-25.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 9983 type: ReinforcedWindow components: @@ -114703,6 +114808,13 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 10009 type: AirlockShuttle components: @@ -114715,6 +114827,13 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 10010 type: CableApcExtension components: @@ -127293,6 +127412,13 @@ entities: pos: 65.5,19.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 11270 type: AirlockShuttle components: @@ -127300,6 +127426,13 @@ entities: pos: 66.5,16.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 11271 type: AirlockExternalGlassShuttleLocked components: @@ -127307,6 +127440,13 @@ entities: pos: 66.5,0.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 11272 type: AirlockExternalGlassShuttleLocked components: @@ -127314,6 +127454,13 @@ entities: pos: 66.5,4.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 11273 type: AirlockExternalGlassShuttleLocked components: @@ -127321,6 +127468,13 @@ entities: pos: 66.5,7.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 11274 type: AirlockExternalGlassShuttleLocked components: @@ -127328,6 +127482,13 @@ entities: pos: 66.5,11.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 11275 type: Catwalk components: @@ -137082,6 +137243,13 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 12248 type: AirlockShuttle components: @@ -137095,18 +137263,39 @@ entities: changeAirtight: False state: Opening type: Door + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 12249 type: AirlockShuttle components: - pos: 0.5,-7.5 parent: 12185 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 12250 type: AirlockShuttle components: - pos: 1.5,-7.5 parent: 12185 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 12251 type: Thruster components: @@ -138849,6 +139038,13 @@ entities: pos: 25.5,36.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 12428 type: ExtinguisherCabinetFilled components: @@ -141916,6 +142112,13 @@ entities: pos: -43.5,-24.5 parent: 130 type: Transform + - fixtures: + - shape: !type:PhysShapeCircle + position: 0,-0.5 + radius: 0.2 + hard: False + id: docking + type: Fixtures - uid: 12723 type: BoxSterile components: diff --git a/Resources/Prototypes/Catalog/Research/technologies.yml b/Resources/Prototypes/Catalog/Research/technologies.yml index 99e5ce4cd6..58bbf3cf84 100644 --- a/Resources/Prototypes/Catalog/Research/technologies.yml +++ b/Resources/Prototypes/Catalog/Research/technologies.yml @@ -270,6 +270,7 @@ - FireExtinguisher - AutolatheMachineCircuitboard - ProtolatheMachineCircuitboard + - OreProcessorMachineCircuitboard - CircuitImprinterMachineCircuitboard - UniformPrinterMachineCircuitboard - AirAlarmElectronics diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml index 6021522361..63cf603f99 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/maintenance.yml @@ -68,7 +68,6 @@ - Shovel - Welder - FlareGun - - IngotIron - SheetSteel - SheetPlastic chance: 0.6 diff --git a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml index e799916fae..c2324b7e2e 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/Circuitboards/Machine/production.yml @@ -335,3 +335,16 @@ DefaultPrototype: CryostasisBeaker ExamineName: Cryostasis Beaker +- type: entity + id: OreProcessorMachineCircuitboard + parent: BaseMachineCircuitboard + name: ore processor machine board + components: + - type: MachineBoard + prototype: OreProcessor + requirements: + MatterBin: 1 + Manipulator: 1 + Laser: 2 + materialRequirements: + Glass: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml index 05fb93172a..5eb779c646 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/glass.yml @@ -48,7 +48,7 @@ components: - type: Material materials: - - Glass + Glass: 100 - type: Stack stackType: Glass - type: Sprite @@ -89,7 +89,7 @@ components: - type: Material materials: - - ReinforcedGlass + ReinforcedGlass: 100 - type: Stack stackType: ReinforcedGlass - type: Sprite @@ -130,7 +130,7 @@ components: - type: Material materials: - - PlasmaGlass + PlasmaGlass: 100 - type: Stack stackType: PlasmaGlass - type: Sprite @@ -168,7 +168,7 @@ components: - type: Material materials: - - ReinforcedPlasmaGlass + ReinforcedPlasmaGlass: 500 - type: Stack stackType: ReinforcedPlasmaGlass - type: Sprite @@ -197,73 +197,3 @@ - type: Stack stackType: ReinforcedPlasmaGlass count: 1 - -- type: entity - parent: SheetGlassBase - id: SheetTitaniumGlass - name: titanium glass - suffix: Full - components: - - type: Material - materials: - - TitaniumGlass - - type: Stack - stackType: TitaniumGlass - - type: Sprite - state: titaniumglass_3 - - type: Item - HeldPrefix: titaniumglass - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - titaniumglass - - titaniumglass_2 - - titaniumglass_3 - -- type: entity - parent: SheetTitaniumGlass - id: SheetTitaniumGlass1 - name: titanium glass - suffix: Single - components: - - type: Sprite - state: titaniumglass - - type: Stack - stackType: TitaniumGlass - count: 1 - -- type: entity - parent: SheetGlassBase - id: SheetPlastitaniumGlass - name: plastitanium glass - suffix: Full - components: - - type: Material - materials: - - PlastitaniumGlass - - type: Stack - stackType: PlastitaniumGlass - - type: Sprite - state: plastitaniumglass_3 - - type: Item - HeldPrefix: plastitaniumglass - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - plastitaniumglass - - plastitaniumglass_2 - - plastitaniumglass_3 - -- type: entity - parent: SheetPlastitaniumGlass - id: SheetPlastitaniumGlass1 - name: plastitanium glass - suffix: Single - components: - - type: Sprite - state: plastitaniumglass - - type: Stack - stackType: PlastitaniumGlass - count: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml index a5f37448ba..3c3ab8d2a6 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/metal.yml @@ -35,7 +35,7 @@ components: - type: Material materials: - - Steel + Steel: 100 - type: Stack stackType: Steel - type: Sprite @@ -73,7 +73,7 @@ components: - type: Material materials: - - Plasteel + Plasteel: 100 - type: Stack stackType: Plasteel - type: Sprite @@ -99,108 +99,3 @@ - type: Stack stackType: Plasteel count: 1 - -- type: entity - parent: SheetMetalBase - id: SheetTitanium - name: titanium - suffix: Full - components: - - type: Material - materials: - - Titanium - - type: Stack - stackType: Titanium - - type: Sprite - state: titanium_3 - - type: Item - HeldPrefix: titanium - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - titanium - - titanium_2 - - titanium_3 - -- type: entity - parent: SheetTitanium - id: SheetTitanium1 - name: titanium - suffix: Single - components: - - type: Sprite - state: titanium - - type: Stack - stackType: Titanium - count: 1 - -- type: entity - parent: SheetMetalBase - id: SheetPlastitanium - name: plastitanium - suffix: Full - components: - - type: Material - materials: - - Plastitanium - - type: Stack - stackType: Plastitanium - - type: Sprite - state: plastitanium_3 - - type: Item - HeldPrefix: plastitanium - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - plastitanium - - plastitanium_2 - - plastitanium_3 - -- type: entity - parent: SheetPlastitanium - id: SheetPlastitanium1 - name: plastitanium - suffix: Single - components: - - type: Sprite - state: plastitanium - - type: Stack - stackType: Plastitanium - count: 1 - -- type: entity - parent: SheetMetalBase - id: SheetBrass - name: brass - suffix: Full - components: - - type: Material - materials: - - Brass - - type: Stack - stackType: Brass - - type: Sprite - state: brass_3 - - type: Item - HeldPrefix: brass - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - brass - - brass_2 - - brass_3 - -- type: entity - parent: SheetBrass - id: SheetBrass1 - name: brass - suffix: Single - components: - - type: Sprite - state: brass - - type: Stack - stackType: Brass - count: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml index 9debf560f8..eb5dac11ea 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/Sheets/other.yml @@ -56,31 +56,6 @@ - type: Stack count: 1 -- type: entity - parent: SheetOtherBase - id: SheetPhoron - name: phoron - suffix: Full - components: - - type: Material - materials: - - Phoron - - type: Stack - stackType: Phoron - - type: Sprite - state: phoron - - type: Item - HeldPrefix: phoron - -- type: entity - parent: SheetPhoron - id: SheetPhoron1 - name: phoron - suffix: Single - components: - - type: Stack - count: 1 - - type: entity parent: SheetOtherBase id: SheetPlasma @@ -89,7 +64,7 @@ components: - type: Material materials: - - Plasma + Plasma: 500 - type: Stack stackType: Plasma - type: Sprite @@ -137,7 +112,7 @@ - Plastic - type: Material materials: - - Plastic + Plastic: 100 - type: Stack stackType: Plastic - type: Sprite @@ -169,6 +144,9 @@ name: uranium suffix: Full components: + - type: Material + materials: + Uranium: 100 - type: Stack stackType: Uranium - type: Sprite diff --git a/Resources/Prototypes/Entities/Objects/Materials/ingots.yml b/Resources/Prototypes/Entities/Objects/Materials/ingots.yml index 06dc3dd427..f4f95cb3a0 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/ingots.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/ingots.yml @@ -25,74 +25,6 @@ - !type:DoActsBehavior acts: [ "Destruction" ] -- type: entity - parent: IngotBase - id: IngotAdamantine - name: adamantine bar - suffix: Full - components: - - type: Material - materials: - - Adamantine - - type: Stack - stackType: Adamantine - - type: Sprite - state: adamantine_3 - - type: Item - HeldPrefix: adamantine - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - adamantine - - adamantine_2 - - adamantine_3 - -- type: entity - parent: IngotAdamantine - id: IngotAdamantine1 - name: adamantine bar - suffix: Single - components: - - type: Sprite - state: adamantine - - type: Stack - count: 1 - -- type: entity - parent: IngotBase - id: IngotCopper - name: copper bar - suffix: Full - components: - - type: Material - materials: - - Copper - - type: Stack - stackType: Copper - - type: Sprite - state: copper_3 - - type: Item - HeldPrefix: copper - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - copper - - copper_2 - - copper_3 - -- type: entity - parent: IngotCopper - id: IngotCopper1 - name: copper bar - suffix: Single - components: - - type: Sprite - state: copper - - type: Stack - count: 1 - - type: entity parent: IngotBase id: IngotGold @@ -101,7 +33,7 @@ components: - type: Material materials: - - Gold + Gold: 100 - type: Stack stackType: Gold - type: Sprite @@ -127,74 +59,6 @@ - type: Stack count: 1 -- type: entity - parent: IngotBase - id: IngotHydrogen - name: hydrogen bar - suffix: Full - components: - - type: Material - materials: - - Hydrogen - - type: Stack - stackType: Hydrogen - - type: Sprite - state: hydrogen_3 - - type: Item - HeldPrefix: hydrogen - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - hydrogen - - hydrogen_2 - - hydrogen_3 - -- type: entity - parent: IngotHydrogen - id: IngotHydrogen1 - name: hydrogen bar - suffix: Single - components: - - type: Sprite - state: hydrogen - - type: Stack - count: 1 - -- type: entity - parent: IngotBase - id: IngotIron - name: iron bar - suffix: Full - components: - - type: Material - materials: - - Iron - - type: Stack - stackType: Iron - - type: Sprite - state: iron_3 - - type: Item - HeldPrefix: iron - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - iron - - iron_2 - - iron_3 - -- type: entity - parent: IngotIron - id: IngotIron1 - name: iron bar - suffix: Single - components: - - type: Sprite - state: iron - - type: Stack - count: 1 - - type: entity parent: IngotBase id: IngotSilver @@ -203,7 +67,7 @@ components: - type: Material materials: - - Silver + Silver: 100 - type: Stack stackType: Silver - type: Sprite diff --git a/Resources/Prototypes/Entities/Objects/Materials/materials.yml b/Resources/Prototypes/Entities/Objects/Materials/materials.yml index 835522c68e..a9a4244d2a 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/materials.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/materials.yml @@ -12,6 +12,7 @@ - type: ItemStatus - type: Tag tags: + - RawMaterial - DroneUsable - type: Damageable damageContainer: Inorganic @@ -24,25 +25,6 @@ - !type:DoActsBehavior acts: [ "Destruction" ] -- type: entity - parent: MaterialBase - id: MaterialBananium - name: bananium - suffix: Full - components: - - type: Stack - stackType: Bananium - - type: Sprite - state: bananium - -- type: entity - parent: MaterialBananium - id: MaterialBananium1 - suffix: Single - components: - - type: Stack - count: 1 - - type: entity parent: MaterialBase id: MaterialCloth @@ -53,7 +35,7 @@ stackType: Cloth - type: Material materials: - - Cloth + Cloth: 100 - type: Extractable juiceSolution: reagents: @@ -79,55 +61,6 @@ - type: Stack count: 1 -- type: entity - parent: MaterialBase - id: MaterialCotton - name: cotton - suffix: Full - components: - - type: Stack - stackType: Cotton - - type: Sprite - state: cotton_3 - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - cotton - - cotton_2 - - cotton_3 - -- type: entity - parent: MaterialCotton - id: MaterialCotton1 - suffix: Single - components: - - type: Sprite - state: cotton - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialDiamond - name: refined diamond - suffix: Full - components: - - type: Stack - stackType: Diamond - - type: Sprite - state: diamond - - type: Item - HeldPrefix: diamond - -- type: entity - parent: MaterialDiamond - id: MaterialDiamond1 - suffix: Single - components: - - type: Stack - count: 1 - - type: entity parent: MaterialBase id: MaterialDurathread @@ -138,7 +71,7 @@ stackType: Durathread - type: Material materials: - - Durathread + Durathread: 100 - type: Sprite state: durathread_3 - type: Appearance @@ -162,90 +95,6 @@ - type: Stack count: 1 -- type: entity - parent: MaterialBase - id: MaterialDurathreadRaw - name: raw durathread - suffix: Full - components: - - type: Stack - stackType: RawDurathread - - type: Sprite - state: durathreadraw_3 - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - durathreadraw - - durathreadraw_2 - - durathreadraw_3 - -- type: entity - parent: MaterialDurathreadRaw - id: MaterialDurathreadRaw1 - suffix: Single - components: - - type: Sprite - state: durathreadraw - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialHide - name: hide - suffix: Full - components: - - type: Stack - stackType: Hide - - type: Sprite - state: hide_3 - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - hide - - hide_2 - - hide_3 - -- type: entity - parent: MaterialHide - id: MaterialHide1 - suffix: Single - components: - - type: Sprite - state: hide - - type: Stack - count: 1 - -- type: entity - parent: MaterialBase - id: MaterialLeather - name: leather - suffix: Full - components: - - type: Stack - stackType: Leather - - type: Sprite - state: leather_3 - - type: Appearance - visuals: - - type: StackVisualizer - stackLayers: - - leather - - leather_2 - - leather_3 - -- type: entity - parent: MaterialLeather - id: MaterialLeather1 - suffix: Single - components: - - type: Sprite - state: leather - - type: Stack - count: 1 - - type: entity parent: MaterialBase id: MaterialWoodPlank @@ -254,7 +103,7 @@ components: - type: Material materials: - - Wood + Wood: 100 - type: Stack stackType: WoodPlank - type: Sprite @@ -270,8 +119,7 @@ - type: Stack count: 1 -# Specific Hides - +# Following not used currently - type: entity parent: MaterialBase id: MaterialHideBear @@ -284,32 +132,53 @@ sprite: Clothing/Head/Misc/hides.rsi HeldPrefix: bear Slots: - - HEAD + - HEAD - type: entity parent: MaterialBase - id: MaterialHideCat - name: cat hide + id: MaterialDiamond + name: refined diamond + suffix: Full components: + - type: Stack + stackType: Diamond - type: Sprite - sprite: Objects/Materials/materials.rsi - state: cathide - # - type: Clothing - # sprite: Clothing/Head/Misc/hides.rsi - # HeldPrefix: cat - # Slots: - # - HEAD + state: diamond + - type: Item + HeldPrefix: diamond + +- type: entity + parent: MaterialDiamond + id: MaterialDiamond1 + suffix: Single + components: + - type: Stack + count: 1 - type: entity parent: MaterialBase - id: MaterialHideCorgi - name: corgi hide + id: MaterialCotton + name: cotton + suffix: Full + components: + - type: Stack + stackType: Cotton + - type: Sprite + state: cotton_3 + - type: Appearance + visuals: + - type: StackVisualizer + stackLayers: + - cotton + - cotton_2 + - cotton_3 + +- type: entity + parent: MaterialCotton + id: MaterialCotton1 + suffix: Single components: - type: Sprite - sprite: Objects/Materials/materials.rsi - state: corgihide - - type: Clothing - sprite: Clothing/Head/Misc/hides.rsi - HeldPrefix: corgi - Slots: - - HEAD + state: cotton + - type: Stack + count: 1 diff --git a/Resources/Prototypes/Entities/Objects/Materials/ore.yml b/Resources/Prototypes/Entities/Objects/Materials/ore.yml index 72d7669da8..781cdb053d 100644 --- a/Resources/Prototypes/Entities/Objects/Materials/ore.yml +++ b/Resources/Prototypes/Entities/Objects/Materials/ore.yml @@ -25,82 +25,6 @@ - !type:DoActsBehavior acts: [ "Destruction" ] -- type: entity - parent: OreBase - id: AdamantineOre - name: adamantine ore - suffix: Full - components: - - type: Stack - stackType: AdamantineOre - - type: Sprite - state: adamantine - -- type: entity - parent: AdamantineOre - id: AdamantineOre1 - suffix: Single - components: - - type: Stack - count: 1 - -- type: entity - parent: OreBase - id: Ammonia - name: ammonia - suffix: Full - components: - - type: Stack - stackType: Ammonia - - type: Sprite - state: ammonia - -- type: entity - parent: Ammonia - id: Ammonia1 - suffix: Single - components: - - type: Stack - count: 1 - -- type: entity - parent: OreBase - id: BananiumOre - name: bananium ore - suffix: Full - components: - - type: Stack - stackType: BananiumOre - - type: Sprite - state: bananium - -- type: entity - parent: BananiumOre - id: BananiumOre1 - suffix: Single - components: - - type: Stack - count: 1 - -- type: entity - parent: OreBase - id: DiamondRaw - name: raw diamond - suffix: Full - components: - - type: Stack - stackType: DiamondRaw - - type: Sprite - state: diamond - -- type: entity - parent: DiamondRaw - id: DiamondRaw1 - suffix: Single - components: - - type: Stack - count: 1 - - type: entity parent: OreBase id: GoldOre @@ -111,6 +35,9 @@ stackType: GoldOre - type: Sprite state: gold + - type: Material + materials: + Gold: 500 - type: entity parent: GoldOre @@ -122,42 +49,26 @@ - type: entity parent: OreBase - id: IronOre - name: iron ore + id: SteelOre + name: steel ore suffix: Full components: - type: Stack - stackType: IronOre + stackType: SteelOre - type: Sprite state: iron + - type: Material + materials: + Steel: 500 - type: entity - id: IronOre1 - parent: IronOre + id: SteelOre1 + parent: SteelOre suffix: Single components: - type: Stack count: 1 -- type: entity - parent: OreBase - id: PhoronOre - name: phoron ore - suffix: Full - components: - - type: Stack - stackType: PhoronOre - - type: Sprite - state: phoron - -- type: entity - parent: PhoronOre - id: PhoronOre1 - suffix: Single - components: - - type: Stack - count: 1 - - type: entity parent: OreBase id: PlasmaOre @@ -168,52 +79,17 @@ stackType: PlasmaOre - type: Sprite state: plasma + - type: Material + materials: + Plasma: 500 - type: entity parent: PlasmaOre id: PlasmaOre1 suffix: Single components: - - type: Stack - count: 1 - -- type: entity - parent: OreBase - id: Sand - name: sand - suffix: Full - components: - - type: Stack - stackType: Sand - - type: Sprite - state: sand - -- type: entity - parent: Sand - id: Sand1 - suffix: Single - components: - - type: Stack - count: 1 - -- type: entity - parent: OreBase - id: SandBlack - name: black sand - suffix: Full - components: - - type: Stack - stackType: BlackSand - - type: Sprite - state: sand_black - -- type: entity - parent: SandBlack - id: SandBlack1 - suffix: Single - components: - - type: Stack - count: 1 + - type: Stack + count: 1 - type: entity parent: OreBase @@ -225,6 +101,9 @@ stackType: SilverOre - type: Sprite state: silver + - type: Material + materials: + Silver: 500 - type: entity parent: SilverOre @@ -236,37 +115,21 @@ - type: entity parent: OreBase - id: Slag - name: slag + id: SpaceQuartz + name: space Quartz suffix: Full components: - type: Stack - stackType: Slag + stackType: SpaceQuartz - type: Sprite - state: slag + state: spacequartz + - type: Material + materials: + Glass: 500 - type: entity - parent: Slag - id: Slag1 - suffix: Single - components: - - type: Stack - count: 1 - -- type: entity - parent: OreBase - id: TitaniumOre - name: titanium ore - suffix: Full - components: - - type: Stack - stackType: TitaniumOre - - type: Sprite - state: titanium - -- type: entity - parent: TitaniumOre - id: TitaniumOre1 + parent: SpaceQuartz + id: SpaceQuartz1 suffix: Single components: - type: Stack @@ -282,6 +145,9 @@ stackType: UraniumOre - type: Sprite state: uranium + - type: Material + materials: + Uranium: 500 - type: entity parent: UraniumOre @@ -289,4 +155,4 @@ suffix: Single components: - type: Stack - count: 1 + count: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml b/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml index e6508f9ff2..9f7bdef5f9 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/space_cash.yml @@ -6,7 +6,7 @@ components: - type: Material materials: - - Credit + Credit: 100 - type: Stack stackType: Credit max: 1000000 # if you somehow get this rich consider buying a second station diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml index 81fe190744..6a6993e02a 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/pickaxe.yml @@ -18,8 +18,29 @@ Piercing: 10 Blunt: 4 arcCooldownTime: 3 - - type: Item size: 24 sprite: Objects/Weapons/Melee/pickaxe.rsi prefix: inhand + +- type: entity + name: mining drill + parent: BaseItem + id: MiningDrill + description: Powerful tool used to quickly drill through rocks + components: + - type: Sprite + sprite: Objects/Tools/handdrill.rsi + state: handdrill + - type: Pickaxe + damage: + types: + Piercing: 25 + timeMultiplier: 0.75 + - type: ItemCooldown + - type: MeleeWeapon + damage: + types: + Piercing: 10 + Blunt: 4 + arcCooldownTime: 3 diff --git a/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml b/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml index 49320e9927..9252d97026 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/MaterialDoors/material_doors.yml @@ -164,60 +164,6 @@ graph: DoorGraph node: plasmaDoor -- type: entity - id: DiamondDoor - name: diamond door - parent: BaseMaterialDoor - description: A door, where will it lead? - components: - - type: Sprite - netsync: false - sprite: Structures/Doors/MineralDoors/diamond_door.rsi - layers: - - state: closed - map: ["enum.DoorVisualLayers.Base"] - - type: Damageable - damageContainer: Inorganic - damageModifierSet: StrongMetallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 400 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - type: Construction - graph: DoorGraph - node: diamondDoor - -- type: entity - id: UraniumDoor - name: uranium door - parent: BaseMaterialDoor - description: A door, where will it lead? - components: - - type: Sprite - netsync: false - sprite: Structures/Doors/MineralDoors/uranium_door.rsi - layers: - - state: closed - map: ["enum.DoorVisualLayers.Base"] - - type: Damageable - damageContainer: Inorganic - damageModifierSet: StrongMetallic - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 300 - behaviors: - - !type:DoActsBehavior - acts: ["Destruction"] - - type: Construction - graph: DoorGraph - node: uraniumDoor - - type: entity id: GoldDoor name: gold door @@ -250,19 +196,3 @@ graph: DoorGraph node: silverDoor -- type: entity - id: SandstoneDoor - name: sandstone door - parent: BaseMaterialDoor - description: A door, where will it lead? - components: - - type: Sprite - netsync: false - sprite: Structures/Doors/MineralDoors/sandstone_door.rsi - layers: - - state: closed - map: ["enum.DoorVisualLayers.Base"] - - type: Construction - graph: DoorGraph - node: sandstoneDoor - diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index b88c4f00c6..677c28b9a0 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -81,6 +81,10 @@ anchored: true - type: Pullable - type: Lathe + whitelist: + tags: + - Sheet + - RawMaterial - type: entity parent: BaseMachinePowered @@ -207,6 +211,10 @@ anchored: true - type: Pullable - type: Lathe + whitelist: + tags: + - Sheet + - RawMaterial - type: entity parent: Protolathe @@ -247,10 +255,15 @@ - CircuitImprinterMachineCircuitboard - DawInstrumentMachineCircuitboard - StasisBedMachineCircuitboard + - OreProcessorMachineCircuitboard - type: Machine board: CircuitImprinterMachineCircuitboard - type: Lathe producingSound: /Audio/Machines/circuitprinter.ogg + whitelist: + tags: + - Sheet + - RawMaterial - type: entity parent: Protolathe @@ -306,6 +319,11 @@ - TimerTrigger - Signaller - SignalTrigger + - type: Lathe + whitelist: + tags: + - Sheet + - RawMaterial - type: entity parent: Protolathe @@ -445,3 +463,47 @@ board: UniformPrinterMachineCircuitboard - type: Lathe producingSound: /Audio/Machines/uniformprinter.ogg + whitelist: + tags: + - Sheet + - RawMaterial + +- type: entity + parent: Autolathe + id: OreProcessor + name: ore processor + description: It produces sheets and ingots using ores. + components: + - type: LatheVisuals + ignoreColor: true + - type: Sprite + sprite: Structures/Machines/ore_processor.rsi + netsync: false + layers: + - state: icon + map: ["enum.LatheVisualLayers.IsRunning"] + - state: unlit + shader: unshaded + map: ["enum.PowerDeviceVisualLayers.Powered"] + - state: inserting + map: ["enum.LatheVisualLayers.IsInserting"] + - state: panel + map: ["enum.WiresVisualLayers.MaintenancePanel"] + - type: Machine + board: AutolatheMachineCircuitboard + - type: LatheDatabase + static: true + recipes: + - SheetSteel30 + - SheetGlass30 + - SheetRGlass30 + - SheetPlasma30 + - SheetPGlass30 + - SheetRPGlass30 + - SheetUranium1 + - IngotGold1 + - IngotSilver1 + - type: Lathe + whitelist: + tags: + - Ore diff --git a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml index 918404ef8e..f72d7756a5 100644 --- a/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml +++ b/Resources/Prototypes/Entities/Structures/Walls/asteroid.yml @@ -7,6 +7,25 @@ - type: RandomAppearance key: enum.AsteroidRockVisuals.State - type: Mineable + ores: + - id: SteelOre1 + prob: 0.25 + orGroup: Asteroid + - id: GoldOre1 + prob: 0.05 + orGroup: Asteroid + - id: SpaceQuartz1 + prob: 0.20 + orGroup: Asteroid + - id: PlasmaOre1 + prob: 0.10 + orGroup: Asteroid + - id: SilverOre1 + prob: 0.025 + orGroup: Asteroid + - id: UraniumOre1 + prob: 0.025 + orGroup: Asteroid - type: Sprite sprite: Structures/Walls/asteroid_rock.rsi state: 0 diff --git a/Resources/Prototypes/Reagents/Materials/glass.yml b/Resources/Prototypes/Reagents/Materials/glass.yml index 73387a86a0..422f9a1a16 100644 --- a/Resources/Prototypes/Reagents/Materials/glass.yml +++ b/Resources/Prototypes/Reagents/Materials/glass.yml @@ -25,17 +25,3 @@ name: reinforced plasma glass icon: Objects/Materials/Sheets/glass.rsi/rpglass.png color: "#8c4069" - -- type: material - id: TitaniumGlass - stack: TitaniumGlass - name: titanium glass - icon: Objects/Materials/Sheets/glass.rsi/titaniumglass.png - color: "#333135" - -- type: material - id: PlastitaniumGlass - stack: PlastitaniumGlass - name: plastitanium glass - icon: Objects/Materials/Sheets/glass.rsi/plastitaniumglass.png - color: "#232127" diff --git a/Resources/Prototypes/Reagents/Materials/materials.yml b/Resources/Prototypes/Reagents/Materials/materials.yml index 152691d3cf..b57352c19e 100644 --- a/Resources/Prototypes/Reagents/Materials/materials.yml +++ b/Resources/Prototypes/Reagents/Materials/materials.yml @@ -20,13 +20,6 @@ icon: Objects/Materials/Sheets/other.rsi/plasma.png color: "#7e009e" -- type: material - id: Phoron - stack: Phoron - name: phoron - icon: Objects/Materials/Sheets/other.rsi/phoron.png - color: "#FF3300" - - type: material id: Plastic stack: Plastic @@ -40,3 +33,10 @@ name: wood icon: Objects/Materials/materials.rsi/wood.png color: "#966F33" + +- type: material + id: Uranium + stack: Uranium + name: uranium + icon: Objects/Materials/Sheets/other.rsi/uranium.png + color: "#32a852" diff --git a/Resources/Prototypes/Reagents/Materials/metals.yml b/Resources/Prototypes/Reagents/Materials/metals.yml index 47b0371c7e..f1a5905697 100644 --- a/Resources/Prototypes/Reagents/Materials/metals.yml +++ b/Resources/Prototypes/Reagents/Materials/metals.yml @@ -4,20 +4,6 @@ name: steel icon: Objects/Materials/Sheets/metal.rsi/steel.png -- type: material - id: Adamantine - stack: Adamantine - name: adamantine - icon: Objects/Materials/ingots.rsi/adamantine.png - color: "#7dc37f" - -- type: material - id: Copper - stack: Copper - name: copper - icon: Objects/Materials/ingots.rsi/copper.png - color: "#B87333" - - type: material id: Gold stack: Gold @@ -25,18 +11,6 @@ icon: Objects/Materials/ingots.rsi/gold.png color: "#FFD700" -- type: material - id: Hydrogen - stack: Hydrogen - name: hydrogen - icon: Objects/Materials/ingots.rsi/hydrogen.png - -- type: material - id: Iron - stack: Iron - name: iron - icon: Objects/Materials/ingots.rsi/iron.png #Do we even distinguish between steel and iron? - - type: material id: Silver stack: Silver @@ -50,24 +24,3 @@ name: plasteel icon: Objects/Materials/Sheets/metal.rsi/plasteel.png color: "#696969" #Okay, this is epic - -- type: material - id: Brass - stack: Brass - name: brass - icon: Objects/Materials/Sheets/metal.rsi/brass.png - color: "#E1C16E" - -- type: material - id: Titanium - stack: Titanium - name: titanium - icon: Objects/Materials/Sheets/metal.rsi/titanium.png - color: "#878681" - -- type: material - id: Plastitanium - stack: Plastitanium - name: plastitanium - icon: Objects/Materials/Sheets/metal.rsi/plastitanium.png - color: "#4e4e4b" diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml index dee7118453..74bf319274 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/doors.yml @@ -27,20 +27,6 @@ - material: Plasma amount: 20 doAfter: 15 - - to: diamondDoor - completed: - - !type:SnapToGrid { } - steps: - - material: Diamond - amount: 20 - doAfter: 15 - - to: uraniumDoor - completed: - - !type:SnapToGrid { } - steps: - - material: Uranium - amount: 20 - doAfter: 15 - to: goldDoor completed: - !type:SnapToGrid { } @@ -55,13 +41,6 @@ - material: Silver amount: 20 doAfter: 15 - - to: sandstoneDoor - completed: - - !type:SnapToGrid { } - steps: - - material: Sand - amount: 20 - doAfter: 15 - to: paperDoor completed: - !type:SnapToGrid { } @@ -102,28 +81,6 @@ steps: - tool: Anchoring doAfter: 15 - - node: diamondDoor - entity: DiamondDoor - edges: - - to: start - completed: - - !type:SpawnPrototype - prototype: MaterialDiamond1 - amount: 20 - steps: - - tool: Anchoring - doAfter: 15 - - node: uraniumDoor - entity: UraniumDoor - edges: - - to: start - completed: - - !type:SpawnPrototype - prototype: SheetUranium1 - amount: 20 - steps: - - tool: Anchoring - doAfter: 15 - node: goldDoor entity: GoldDoor edges: @@ -146,17 +103,6 @@ steps: - tool: Anchoring doAfter: 15 - - node: sandstoneDoor - entity: SandstoneDoor - edges: - - to: start - completed: - - !type:SpawnPrototype - prototype: Sand - amount: 20 - steps: - - tool: Anchoring - doAfter: 15 - node: paperDoor entity: PaperDoor edges: diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index f6978a6359..add03bb298 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -573,40 +573,6 @@ conditions: - !type:TileNotBlocked -- type: construction - name: diamond door - id: DiamondDoor - graph: DoorGraph - startNode: start - targetNode: diamondDoor - category: Structures - description: A primitive door with manual operation like the cavemen used. - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/diamond_door.rsi - state: closed - conditions: - - !type:TileNotBlocked - -- type: construction - name: uranium door - id: UraniumDoor - graph: DoorGraph - startNode: start - targetNode: uraniumDoor - category: Structures - description: A primitive door with manual operation like the cavemen used. - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/uranium_door.rsi - state: closed - conditions: - - !type:TileNotBlocked - - type: construction name: gold door id: GoldDoor @@ -641,23 +607,6 @@ conditions: - !type:TileNotBlocked -- type: construction - name: sandstone door - id: SandstoneDoor - graph: DoorGraph - startNode: start - targetNode: sandstoneDoor - category: Structures - description: A primitive door with manual operation like the cavemen used. - objectType: Structure - placementMode: SnapgridCenter - canBuildInImpassable: false - icon: - sprite: Structures/Doors/MineralDoors/sandstone_door.rsi - state: closed - conditions: - - !type:TileNotBlocked - - type: construction name: paper door id: PaperDoor diff --git a/Resources/Prototypes/Recipes/Lathes/electronics.yml b/Resources/Prototypes/Recipes/Lathes/electronics.yml index 8b4639e532..066041d4e6 100644 --- a/Resources/Prototypes/Recipes/Lathes/electronics.yml +++ b/Resources/Prototypes/Recipes/Lathes/electronics.yml @@ -194,6 +194,16 @@ Steel: 100 Glass: 900 Gold: 100 + +- type: latheRecipe + id: OreProcessorMachineCircuitboard + icon: Objects/Misc/module.rsi/id_mod.png + result: OreProcessorMachineCircuitboard + completetime: 4 + materials: + Steel: 100 + Glass: 900 + Gold: 100 # Power - type: latheRecipe id: APCElectronics diff --git a/Resources/Prototypes/Recipes/Lathes/sheet.yml b/Resources/Prototypes/Recipes/Lathes/sheet.yml index 4cea46e015..5967a30ad7 100644 --- a/Resources/Prototypes/Recipes/Lathes/sheet.yml +++ b/Resources/Prototypes/Recipes/Lathes/sheet.yml @@ -7,6 +7,16 @@ completetime: 2 materials: Steel: 100 + +- type: latheRecipe + id: SheetSteel30 + icon: + sprite: Objects/Materials/Sheets/metal.rsi + state: steel_3 + result: SheetSteel + completetime: 2 + materials: + Steel: 3000 - type: latheRecipe id: SheetGlass1 @@ -17,6 +27,16 @@ completetime: 2 materials: Glass: 100 + +- type: latheRecipe + id: SheetGlass30 + icon: + sprite: Objects/Materials/Sheets/glass.rsi + state: glass_3 + result: SheetGlass + completetime: 2 + materials: + Glass: 3000 - type: latheRecipe id: SheetRGlass @@ -28,6 +48,80 @@ materials: Glass: 100 Steel: 50 + +- type: latheRecipe + id: SheetRGlass30 + icon: + sprite: Objects/Materials/Sheets/glass.rsi + state: rglass_3 + result: SheetRGlass + completetime: 2 + materials: + Glass: 3000 + Steel: 1500 + +- type: latheRecipe + id: SheetPGlass30 + icon: + sprite: Objects/Materials/Sheets/glass.rsi + state: pglass_3 + result: SheetPGlass + completetime: 2 + materials: + Glass: 3000 + Plasma: 3000 + +- type: latheRecipe + id: SheetRPGlass30 + icon: + sprite: Objects/Materials/Sheets/glass.rsi + state: rpglass_3 + result: SheetRPGlass + completetime: 2 + materials: + Glass: 3000 + Plasma: 3000 + Steel: 1500 + +- type: latheRecipe + id: SheetPlasma30 + icon: + sprite: Objects/Materials/Sheets/other.rsi + state: plasma_3 + result: SheetPlasma + completetime: 2 + materials: + Plasma: 3000 + +- type: latheRecipe + id: SheetUranium1 + icon: + sprite: Objects/Materials/Sheets/other.rsi + state: uranium + result: SheetUranium1 + completetime: 2 + materials: + Uranium: 500 + +- type: latheRecipe + id: IngotGold1 + icon: + sprite: Objects/Materials/ingots.rsi + state: gold + result: IngotGold1 + completetime: 2 + materials: + Gold: 500 + +- type: latheRecipe + id: IngotSilver1 + icon: + sprite: Objects/Materials/ingots.rsi + state: silver + result: IngotSilver1 + completetime: 2 + materials: + Silver: 500 - type: latheRecipe id: SheetPlastic diff --git a/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml b/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml index 780cfeb3c6..bfdb7f6d21 100644 --- a/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml +++ b/Resources/Prototypes/Stacks/Materials/Sheets/glass.yml @@ -22,14 +22,3 @@ icon: /Textures/Objects/Materials/Sheets/glass.rsi/rpglass.png spawn: SheetRPGlass1 -- type: stack - id: TitaniumGlass - name: titanium glass - icon: /Textures/Objects/Materials/Sheets/glass.rsi/titaniumglass.png - spawn: SheetTitaniumGlass1 - -- type: stack - id: PlastitaniumGlass - name: plastitanium glass - icon: /Textures/Objects/Materials/Sheets/glass.rsi/plastitaniumglass.png - spawn: SheetPlastitaniumGlass1 diff --git a/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml b/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml index a4e21c0487..de5c2b4b6f 100644 --- a/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml +++ b/Resources/Prototypes/Stacks/Materials/Sheets/metal.yml @@ -10,21 +10,4 @@ icon: /Textures/Objects/Materials/Sheets/metal.rsi/plasteel.png spawn: SheetPlasteel1 -- type: stack - id: Titanium - name: titanium - icon: /Textures/Objects/Materials/Sheets/metal.rsi/titanium.png - spawn: SheetTitanium1 - -- type: stack - id: Plastitanium - name: plastitanium - icon: /Textures/Objects/Materials/Sheets/metal.rsi/plastitanium.png - spawn: SheetPlastitanium1 - -- type: stack - id: Brass - name: brass - icon: /Textures/Objects/Materials/Sheets/metal.rsi/brass.png - spawn: SheetBrass1 diff --git a/Resources/Prototypes/Stacks/Materials/Sheets/other.yml b/Resources/Prototypes/Stacks/Materials/Sheets/other.yml index 9b638a0011..cea9d6c804 100644 --- a/Resources/Prototypes/Stacks/Materials/Sheets/other.yml +++ b/Resources/Prototypes/Stacks/Materials/Sheets/other.yml @@ -4,12 +4,6 @@ icon: /Textures/Objects/Materials/Sheets/other.rsi/paper.png spawn: SheetPaper1 -- type: stack - id: Phoron - name: phoron - icon: /Textures/Objects/Materials/Sheets/other.rsi/phoron.png - spawn: SheetPhoron1 - - type: stack id: Plasma name: plasma @@ -26,4 +20,4 @@ id: Uranium name: uranium icon: /Textures/Objects/Materials/Sheets/other.rsi/uranium.png - spawn: SheetUranium1 + spawn: SheetUranium1 \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/Materials/ingots.yml b/Resources/Prototypes/Stacks/Materials/ingots.yml index 87d082e604..3a26afa8cf 100644 --- a/Resources/Prototypes/Stacks/Materials/ingots.yml +++ b/Resources/Prototypes/Stacks/Materials/ingots.yml @@ -1,33 +1,9 @@ -- type: stack - id: Adamantine - name: adamantine - icon: "/Textures/Objects/Materials/ingots.rsi/adamantine.png" - spawn: IngotAdamantine1 - -- type: stack - id: Copper - name: copper - icon: "/Textures/Objects/Materials/ingots.rsi/copper.png" - spawn: IngotCopper1 - - type: stack id: Gold name: gold icon: "/Textures/Objects/Materials/ingots.rsi/gold.png" spawn: IngotGold1 -- type: stack - id: Hydrogen - name: hydrogen - icon: "/Textures/Objects/Materials/ingots.rsi/hydrogen.png" - spawn: IngotHydrogen1 - -- type: stack - id: Iron - name: iron - icon: "/Textures/Objects/Materials/ingots.rsi/iron.png" - spawn: IngotIron1 - - type: stack id: Silver name: silver diff --git a/Resources/Prototypes/Stacks/Materials/materials.yml b/Resources/Prototypes/Stacks/Materials/materials.yml index 91cda5f129..ce33f3f5e6 100644 --- a/Resources/Prototypes/Stacks/Materials/materials.yml +++ b/Resources/Prototypes/Stacks/Materials/materials.yml @@ -1,15 +1,3 @@ -- type: stack - id: Bananium - name: bananium - icon: /Textures/Objects/Materials/materials.rsi/bananium.png - spawn: MaterialBananium1 - -- type: stack - id: Diamond - name: diamond - icon: /Textures/Objects/Materials/materials.rsi/diamond.png - spawn: MaterialDiamond1 - - type: stack id: WoodPlank name: wood plank @@ -22,12 +10,6 @@ icon: /Textures/Objects/Materials/materials.rsi/cloth.png spawn: MaterialCloth1 -- type: stack - id: Cotton - name: cotton - icon: /Textures/Objects/Materials/materials.rsi/cotton.png - spawn: MaterialCotton1 - - type: stack id: Durathread name: durathread @@ -35,19 +17,13 @@ spawn: MaterialDurathread1 - type: stack - id: RawDurathread - name: raw durathread - icon: /Textures/Objects/Materials/materials.rsi/durathreadraw.png - spawn: MaterialDurathreadRaw1 - + id: Diamond + name: diamond + icon: /Textures/Objects/Materials/materials.rsi/diamond.png + spawn: MaterialDiamond1 + - type: stack - id: Hide - name: hide - icon: /Textures/Objects/Materials/materials.rsi/hide.png - spawn: MaterialHide1 - -- type: stack - id: Leather - name: leather - icon: /Textures/Objects/Materials/materials.rsi/leather.png - spawn: MaterialLeather1 + id: Cotton + name: cotton + icon: /Textures/Objects/Materials/materials.rsi/cotton.png + spawn: MaterialCotton1 diff --git a/Resources/Prototypes/Stacks/Materials/ore.yml b/Resources/Prototypes/Stacks/Materials/ore.yml index af319ee5dc..5634b1fcaf 100644 --- a/Resources/Prototypes/Stacks/Materials/ore.yml +++ b/Resources/Prototypes/Stacks/Materials/ore.yml @@ -1,27 +1,3 @@ -- type: stack - id: AdamantineOre - name: adamantine ore - icon: /Textures/Objects/Materials/ore.rsi/adamantine.png - spawn: AdamantineOre1 - -- type: stack - id: Ammonia - name: ammonia - icon: /Textures/Objects/Materials/ore.rsi/ammonia.png - spawn: Ammonia1 - -- type: stack - id: BananiumOre - name: bananium ore - icon: /Textures/Objects/Materials/ore.rsi/bananium.png - spawn: BananiumOre1 - -- type: stack - id: DiamondRaw - name: diamond ore - icon: /Textures/Objects/Materials/ore.rsi/diamond.png - spawn: DiamondRaw1 - - type: stack id: GoldOre name: gold ore @@ -29,16 +5,10 @@ spawn: GoldOre1 - type: stack - id: IronOre - name: iron ore + id: SteelOre + name: steel ore icon: /Textures/Objects/Materials/ore.rsi/iron.png - spawn: IronOre1 - -- type: stack - id: PhoronOre - name: phoron ore - icon: /Textures/Objects/Materials/ore.rsi/phoron.png - spawn: PhoronOre1 + spawn: SteelOre1 - type: stack id: PlasmaOre @@ -46,18 +16,6 @@ icon: /Textures/Objects/Materials/ore.rsi/plasma.png spawn: PlasmaOre1 -- type: stack - id: Sand - name: sand - icon: /Textures/Objects/Materials/ore.rsi/sand.png - spawn: Sand1 - -- type: stack - id: BlackSand - name: black sand - icon: /Textures/Objects/Materials/ore.rsi/sand_black.png - spawn: SandBlack1 - - type: stack id: SilverOre name: silver ore @@ -65,19 +23,13 @@ spawn: SilverOre1 - type: stack - id: Slag - name: slag - icon: /Textures/Objects/Materials/ore.rsi/slag.png - spawn: Slag1 - -- type: stack - id: TitaniumOre - name: titanium ore - icon: /Textures/Objects/Materials/ore.rsi/titanium.png - spawn: TitaniumOre1 + id: SpaceQuartz + name: space quartz + icon: /Textures/Objects/Materials/ore.rsi/spacequartz.png + spawn: SpaceQuartz1 - type: stack id: UraniumOre name: uranium ore - icon: /Textures/Objects/Materials/ore.rsi/titanium.png - spawn: UraniumOre1 + icon: /Textures/Objects/Materials/ore.rsi/uranium.png + spawn: UraniumOre1 \ No newline at end of file diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index c8d98d14ee..b157a8d7b9 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -269,6 +269,9 @@ - type: Tag id: PussyWagonKeys + +- type: Tag + id: RawMaterial # Give this to something that doesn't need any special recycler behavior and just needs deleting. - type: Tag @@ -351,3 +354,4 @@ - type: Tag id: Write + diff --git a/Resources/Textures/Objects/Materials/ore.rsi/adamantine.png b/Resources/Textures/Objects/Materials/ore.rsi/adamantine.png index 72a1e938c1..1664f1a3af 100644 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/adamantine.png and b/Resources/Textures/Objects/Materials/ore.rsi/adamantine.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/ammonia.png b/Resources/Textures/Objects/Materials/ore.rsi/ammonia.png index f7689b1e85..024045a145 100644 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/ammonia.png and b/Resources/Textures/Objects/Materials/ore.rsi/ammonia.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/bananium.png b/Resources/Textures/Objects/Materials/ore.rsi/bananium.png deleted file mode 100644 index a8b3325f41..0000000000 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/bananium.png and /dev/null differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/coal.png b/Resources/Textures/Objects/Materials/ore.rsi/coal.png new file mode 100644 index 0000000000..d89a0b4766 Binary files /dev/null and b/Resources/Textures/Objects/Materials/ore.rsi/coal.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/copper.png b/Resources/Textures/Objects/Materials/ore.rsi/copper.png new file mode 100644 index 0000000000..1ee4970668 Binary files /dev/null and b/Resources/Textures/Objects/Materials/ore.rsi/copper.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/diamond.png b/Resources/Textures/Objects/Materials/ore.rsi/diamond.png deleted file mode 100644 index 5a6de137f4..0000000000 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/diamond.png and /dev/null differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/gold.png b/Resources/Textures/Objects/Materials/ore.rsi/gold.png index 6ac90a19ed..b841dde074 100644 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/gold.png and b/Resources/Textures/Objects/Materials/ore.rsi/gold.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/iron.png b/Resources/Textures/Objects/Materials/ore.rsi/iron.png index 2f5ad0a16e..693963eacb 100644 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/iron.png and b/Resources/Textures/Objects/Materials/ore.rsi/iron.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/meta.json b/Resources/Textures/Objects/Materials/ore.rsi/meta.json index c4b3f33488..90269cd3dd 100644 --- a/Resources/Textures/Objects/Materials/ore.rsi/meta.json +++ b/Resources/Textures/Objects/Materials/ore.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c6e3401f2e7e1e55c57060cdf956a98ef1fefc24", + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from goonstation at commit https://github.com/goonstation/goonstation/pull/210/commits/d188de4d110a4f433ce3d30211be30d8257dc4c3 modified by HoofedEar", "size": { "x": 32, "y": 32 @@ -13,12 +13,6 @@ { "name": "ammonia" }, - { - "name": "bananium" - }, - { - "name": "diamond" - }, { "name": "gold" }, @@ -26,28 +20,22 @@ "name": "iron" }, { - "name": "phoron" + "name": "uranium" }, { "name": "plasma" }, { - "name": "sand" - }, - { - "name": "sand_black" + "name": "spacequartz" }, { "name": "silver" }, { - "name": "slag" + "name": "copper" }, { - "name": "titanium" - }, - { - "name": "uranium" + "name": "coal" } ] -} +} \ No newline at end of file diff --git a/Resources/Textures/Objects/Materials/ore.rsi/phoron.png b/Resources/Textures/Objects/Materials/ore.rsi/phoron.png deleted file mode 100644 index 3a9537c129..0000000000 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/phoron.png and /dev/null differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/plasma.png b/Resources/Textures/Objects/Materials/ore.rsi/plasma.png index 71d824eedb..7b5882364d 100644 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/plasma.png and b/Resources/Textures/Objects/Materials/ore.rsi/plasma.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/sand.png b/Resources/Textures/Objects/Materials/ore.rsi/sand.png deleted file mode 100644 index 87c1be5e7d..0000000000 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/sand.png and /dev/null differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/sand_black.png b/Resources/Textures/Objects/Materials/ore.rsi/sand_black.png deleted file mode 100644 index cb5732ce21..0000000000 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/sand_black.png and /dev/null differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/silver.png b/Resources/Textures/Objects/Materials/ore.rsi/silver.png index 0e107bc45d..a8da0b92cc 100644 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/silver.png and b/Resources/Textures/Objects/Materials/ore.rsi/silver.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/slag.png b/Resources/Textures/Objects/Materials/ore.rsi/slag.png deleted file mode 100644 index 18f3a8e4da..0000000000 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/slag.png and /dev/null differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/spacequartz.png b/Resources/Textures/Objects/Materials/ore.rsi/spacequartz.png new file mode 100644 index 0000000000..c615636f9f Binary files /dev/null and b/Resources/Textures/Objects/Materials/ore.rsi/spacequartz.png differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/titanium.png b/Resources/Textures/Objects/Materials/ore.rsi/titanium.png deleted file mode 100644 index bb9de5bda3..0000000000 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/titanium.png and /dev/null differ diff --git a/Resources/Textures/Objects/Materials/ore.rsi/uranium.png b/Resources/Textures/Objects/Materials/ore.rsi/uranium.png index 89fbaef427..085c05d0a1 100644 Binary files a/Resources/Textures/Objects/Materials/ore.rsi/uranium.png and b/Resources/Textures/Objects/Materials/ore.rsi/uranium.png differ diff --git a/Resources/Textures/Objects/Tools/handdrill.rsi/handdrill.png b/Resources/Textures/Objects/Tools/handdrill.rsi/handdrill.png new file mode 100644 index 0000000000..ae7ac72151 Binary files /dev/null and b/Resources/Textures/Objects/Tools/handdrill.rsi/handdrill.png differ diff --git a/Resources/Textures/Objects/Tools/handdrill.rsi/meta.json b/Resources/Textures/Objects/Tools/handdrill.rsi/meta.json new file mode 100644 index 0000000000..d31b77623a --- /dev/null +++ b/Resources/Textures/Objects/Tools/handdrill.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-NC-SA-3.0", + "copyright": "Taken from goonstation at commit https://github.com/goonstation/goonstation/commit/2ce04dea2495ed19aeca4b6b42bf59fef2b4dd37", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "handdrill" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/Structures/Machines/ore_processor.rsi/building.png b/Resources/Textures/Structures/Machines/ore_processor.rsi/building.png new file mode 100644 index 0000000000..66c255a5f4 Binary files /dev/null and b/Resources/Textures/Structures/Machines/ore_processor.rsi/building.png differ diff --git a/Resources/Textures/Structures/Machines/ore_processor.rsi/icon.png b/Resources/Textures/Structures/Machines/ore_processor.rsi/icon.png new file mode 100644 index 0000000000..96c4060642 Binary files /dev/null and b/Resources/Textures/Structures/Machines/ore_processor.rsi/icon.png differ diff --git a/Resources/Textures/Structures/Machines/ore_processor.rsi/inserting.png b/Resources/Textures/Structures/Machines/ore_processor.rsi/inserting.png new file mode 100644 index 0000000000..4f60c78da1 Binary files /dev/null and b/Resources/Textures/Structures/Machines/ore_processor.rsi/inserting.png differ diff --git a/Resources/Textures/Structures/Machines/ore_processor.rsi/meta.json b/Resources/Textures/Structures/Machines/ore_processor.rsi/meta.json new file mode 100644 index 0000000000..c821ed3075 --- /dev/null +++ b/Resources/Textures/Structures/Machines/ore_processor.rsi/meta.json @@ -0,0 +1,50 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/2b7f2c42f1bd57497052e8ef593d5e05ea45208e and edited by HoofedEar", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "inserting", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 5 + ] + ] + }, + { + "name": "building", + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "icon" + }, + { + "name": "panel" + }, + { + "name": "unlit" + }, + ] +} \ No newline at end of file diff --git a/Resources/Textures/Structures/Machines/ore_processor.rsi/panel.png b/Resources/Textures/Structures/Machines/ore_processor.rsi/panel.png new file mode 100644 index 0000000000..bcade0fb54 Binary files /dev/null and b/Resources/Textures/Structures/Machines/ore_processor.rsi/panel.png differ diff --git a/Resources/Textures/Structures/Machines/ore_processor.rsi/unlit.png b/Resources/Textures/Structures/Machines/ore_processor.rsi/unlit.png new file mode 100644 index 0000000000..7e824815e1 Binary files /dev/null and b/Resources/Textures/Structures/Machines/ore_processor.rsi/unlit.png differ