diff --git a/Content.Server/Temperature/Systems/EntityHeaterSystem.cs b/Content.Server/Temperature/Systems/EntityHeaterSystem.cs index 358c52bfe3..823ac62524 100644 --- a/Content.Server/Temperature/Systems/EntityHeaterSystem.cs +++ b/Content.Server/Temperature/Systems/EntityHeaterSystem.cs @@ -47,21 +47,6 @@ public sealed class EntityHeaterSystem : EntitySystem _temperature.ChangeHeat(ent, energy); } } - - //CrystallPunk bonfire - var flammbaleQuery = EntityQueryEnumerator(); - while (flammbaleQuery.MoveNext(out var uid, out var heater, out var placer, out var flammable)) - { - if (!flammable.OnFire) - return; - - var energy = flammable.FireStacks * deltaTime * heater.EnergyPerFireStack; - foreach (var ent in placer.PlacedEntities) - { - _temperature.ChangeHeat(ent, energy); - } - } - //CrystallPunk bonfire end } private void OnExamined(EntityUid uid, EntityHeaterComponent comp, ExaminedEvent args) diff --git a/Content.Server/_CP14/Temperature/CP14FlammableEntityHeaterComponent.cs b/Content.Server/_CP14/Temperature/CP14FlammableEntityHeaterComponent.cs index d75278aa8e..d6b0fe3c91 100644 --- a/Content.Server/_CP14/Temperature/CP14FlammableEntityHeaterComponent.cs +++ b/Content.Server/_CP14/Temperature/CP14FlammableEntityHeaterComponent.cs @@ -9,5 +9,5 @@ namespace Content.Server._CP14.Temperature; public sealed partial class CP14FlammableEntityHeaterComponent : Component { [DataField] - public float EnergyPerFireStack = 300f; + public float DegreesPerStack = 300f; } diff --git a/Content.Server/_CP14/Temperature/CP14FlammableSolutionHeaterComponent.cs b/Content.Server/_CP14/Temperature/CP14FlammableSolutionHeaterComponent.cs index badb049b0e..4b3a322e8a 100644 --- a/Content.Server/_CP14/Temperature/CP14FlammableSolutionHeaterComponent.cs +++ b/Content.Server/_CP14/Temperature/CP14FlammableSolutionHeaterComponent.cs @@ -3,7 +3,7 @@ namespace Content.Server._CP14.Temperature; /// /// allows you to heat the temperature of solutions depending on the number of stacks of fire /// -[RegisterComponent, Access(typeof(CP14SolutionTemperatureSystem))] +[RegisterComponent, Access(typeof(CP14TemperatureSystem))] public sealed partial class CP14FlammableSolutionHeaterComponent : Component { [DataField] diff --git a/Content.Server/_CP14/Temperature/CP14SolutionTemperatureComponent.cs b/Content.Server/_CP14/Temperature/CP14SolutionTemperatureComponent.cs index 5acccfaa01..754ca8accc 100644 --- a/Content.Server/_CP14/Temperature/CP14SolutionTemperatureComponent.cs +++ b/Content.Server/_CP14/Temperature/CP14SolutionTemperatureComponent.cs @@ -3,7 +3,7 @@ namespace Content.Server._CP14.Temperature; /// /// passively returns the solution temperature to the standard /// -[RegisterComponent, Access(typeof(CP14SolutionTemperatureSystem))] +[RegisterComponent, Access(typeof(CP14TemperatureSystem))] public sealed partial class CP14SolutionTemperatureComponent : Component { [DataField] diff --git a/Content.Server/_CP14/Temperature/CP14SolutionTemperatureSystem.cs b/Content.Server/_CP14/Temperature/CP14TemperatureSystem.cs similarity index 57% rename from Content.Server/_CP14/Temperature/CP14SolutionTemperatureSystem.cs rename to Content.Server/_CP14/Temperature/CP14TemperatureSystem.cs index e9f4c783d4..71f9db3cb7 100644 --- a/Content.Server/_CP14/Temperature/CP14SolutionTemperatureSystem.cs +++ b/Content.Server/_CP14/Temperature/CP14TemperatureSystem.cs @@ -1,34 +1,60 @@ using Content.Server.Atmos.Components; -using Content.Server.Chemistry.Containers.EntitySystems; +using Content.Server.Temperature.Components; +using Content.Server.Temperature.Systems; using Content.Shared.Chemistry.Components.SolutionManager; +using Content.Shared.Chemistry.EntitySystems; using Content.Shared.FixedPoint; using Content.Shared.Placeable; using Robust.Shared.Timing; namespace Content.Server._CP14.Temperature; -public sealed partial class CP14SolutionTemperatureSystem : EntitySystem +public sealed partial class CP14TemperatureSystem : EntitySystem { - [Dependency] private readonly SolutionContainerSystem _solutionContainer = default!; + [Dependency] private readonly SharedSolutionContainerSystem _solutionContainer = default!; [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly TemperatureSystem _temperature = default!; - private TimeSpan _updateTick = TimeSpan.FromSeconds(1f); + private readonly TimeSpan _updateTick = TimeSpan.FromSeconds(1f); private TimeSpan _timeToNextUpdate = TimeSpan.Zero; public override void Update(float frameTime) { base.Update(frameTime); + FlammableEntityHeating(frameTime); + if (_timing.CurTime <= _timeToNextUpdate) return; _timeToNextUpdate = _timing.CurTime + _updateTick; - FlammableHeating(); - NormalizeTemperature(); + FlammableSolutionHeating(); + NormalizeSolutionTemperature(); } - private void NormalizeTemperature() + private float GetTargetTemperature(FlammableComponent flammable, CP14FlammableSolutionHeaterComponent heater) + { + return flammable.FireStacks * heater.DegreesPerStack; + } + + private void FlammableEntityHeating(float frameTime) + { + var flammableQuery = EntityQueryEnumerator(); + while (flammableQuery.MoveNext(out var uid, out var heater, out var placer, out var flammable)) + { + if (!flammable.OnFire) + return; + + var energy = flammable.FireStacks * frameTime * heater.DegreesPerStack; + foreach (var ent in placer.PlacedEntities) + { + _temperature.ChangeHeat(ent, energy); + } + } + } + + private void NormalizeSolutionTemperature() { var query = EntityQueryEnumerator(); while (query.MoveNext(out var uid, out var temp, out var container)) @@ -40,7 +66,8 @@ public sealed partial class CP14SolutionTemperatureSystem : EntitySystem } } } - private void FlammableHeating() + + private void FlammableSolutionHeating() { var query = EntityQueryEnumerator(); @@ -54,10 +81,9 @@ public sealed partial class CP14SolutionTemperatureSystem : EntitySystem if (!TryComp(heatingEntity, out var container)) continue; - var targetT = flammable.FireStacks * heater.DegreesPerStack; foreach (var (_, soln) in _solutionContainer.EnumerateSolutions((heatingEntity, container))) { - if (TryAffectTemp(soln.Comp.Solution.Temperature, targetT, soln.Comp.Solution.Volume, out var newT)) + if (TryAffectTemp(soln.Comp.Solution.Temperature, GetTargetTemperature(flammable, heater), soln.Comp.Solution.Volume, out var newT)) _solutionContainer.SetTemperature(soln, newT); } } @@ -71,7 +97,7 @@ public sealed partial class CP14SolutionTemperatureSystem : EntitySystem if (mass == 0) return false; - newT = (float) (oldT + ((targetT - oldT) / mass) * power); + newT = (float) (oldT + (targetT - oldT) / mass * power); return true; } } diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs index 87c2669cb8..6ff737d640 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchComponent.cs @@ -1,4 +1,5 @@ using Content.Shared._CP14.Workbench.Prototypes; +using Robust.Shared.Audio; using Robust.Shared.Prototypes; namespace Content.Server._CP14.Workbench; @@ -12,4 +13,7 @@ public sealed partial class CP14WorkbenchComponent : Component [DataField] public List> Recipes = new(); + + [DataField] + public SoundSpecifier CraftSound = new SoundCollectionSpecifier("CP14Hammering"); } diff --git a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs index 21cfc98225..a5ff30e86c 100644 --- a/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs +++ b/Content.Server/_CP14/Workbench/CP14WorkbenchSystem.cs @@ -137,7 +137,7 @@ public sealed class CP14WorkbenchSystem : SharedCP14WorkbenchSystem }; _doAfter.TryStartDoAfter(doAfterArgs); - _audio.PlayPvs(recipe.CraftSound, workbench); + _audio.PlayPvs(recipe.OverrideCraftSound ?? workbench.Comp.CraftSound, workbench); } private List GetPossibleCrafts(Entity workbench, HashSet ingrediEnts) diff --git a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs index a05e08db12..8db946124b 100644 --- a/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs +++ b/Content.Shared/_CP14/Workbench/Prototypes/CP14WorkbenchRecipePrototype.cs @@ -18,7 +18,7 @@ public sealed partial class CP14WorkbenchRecipePrototype : IPrototype public TimeSpan CraftTime = TimeSpan.FromSeconds(1f); [DataField] - public SoundSpecifier CraftSound = new SoundCollectionSpecifier("CP14Hammering"); + public SoundSpecifier? OverrideCraftSound; [DataField] public Dictionary Entities = new(); diff --git a/Resources/Audio/_CP14/Items/attributions.yml b/Resources/Audio/_CP14/Items/attributions.yml index 4c51a7f92c..34d5c92d6d 100644 --- a/Resources/Audio/_CP14/Items/attributions.yml +++ b/Resources/Audio/_CP14/Items/attributions.yml @@ -46,4 +46,9 @@ - files: ["nailing1.ogg", "nailing2.ogg", "nailing3.ogg", "nailing4.ogg"] license: "CC-BY-4.0" copyright: 'by InspectorJ of Freesound.org. Cropped and mixed from stereo to mono.' - source: "https://freesound.org/people/InspectorJ/sounds/406048/" \ No newline at end of file + source: "https://freesound.org/people/InspectorJ/sounds/406048/" + +- files: ["sawing1.ogg", "sawing2.ogg", "sawing3.ogg", "sawing4.ogg", "sawing5.ogg"] + license: "CC0-1.0" + copyright: 'by deleted_user_7146007 of Freesound.org. Cropped and mixed from stereo to mono.' + source: "https://freesound.org/people/deleted_user_7146007/sounds/383725/" \ No newline at end of file diff --git a/Resources/Audio/_CP14/Items/sawing1.ogg b/Resources/Audio/_CP14/Items/sawing1.ogg new file mode 100644 index 0000000000..2f1cb77a05 Binary files /dev/null and b/Resources/Audio/_CP14/Items/sawing1.ogg differ diff --git a/Resources/Audio/_CP14/Items/sawing2.ogg b/Resources/Audio/_CP14/Items/sawing2.ogg new file mode 100644 index 0000000000..3e7cf47931 Binary files /dev/null and b/Resources/Audio/_CP14/Items/sawing2.ogg differ diff --git a/Resources/Audio/_CP14/Items/sawing3.ogg b/Resources/Audio/_CP14/Items/sawing3.ogg new file mode 100644 index 0000000000..3670bfc442 Binary files /dev/null and b/Resources/Audio/_CP14/Items/sawing3.ogg differ diff --git a/Resources/Audio/_CP14/Items/sawing4.ogg b/Resources/Audio/_CP14/Items/sawing4.ogg new file mode 100644 index 0000000000..7b966108ae Binary files /dev/null and b/Resources/Audio/_CP14/Items/sawing4.ogg differ diff --git a/Resources/Audio/_CP14/Items/sawing5.ogg b/Resources/Audio/_CP14/Items/sawing5.ogg new file mode 100644 index 0000000000..8f8ed5dce4 Binary files /dev/null and b/Resources/Audio/_CP14/Items/sawing5.ogg differ diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml new file mode 100644 index 0000000000..b80c247108 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Materials/bars.yml @@ -0,0 +1,134 @@ +- type: entity + id: CP14CopperBar1 + parent: BaseItem + name: copper bar + suffix: 1 + description: A heavy, slightly green, piece of refined copper + components: + - type: Item + size: Normal + - type: Sprite + sprite: _CP14/Objects/Materials/copper_bar.rsi + layers: + - state: bar + map: ["base"] + - type: Appearance + - type: Stack + stackType: CP14CopperBar + count: 1 + baseLayer: base + layerStates: + - bar + - bar_2 + - bar_3 + - type: Material + - type: PhysicalComposition # точно ли это нужно? + materialComposition: + CP14Copper: 100 + +- type: entity + id: CP14CopperBar5 + parent: CP14CopperBar1 + suffix: 5 + components: + - type: Stack + count: 5 + +- type: entity + id: CP14CopperBar10 + parent: CP14CopperBar1 + suffix: 10 + components: + - type: Stack + count: 10 + + + +- type: entity + id: CP14IronBar1 + parent: BaseItem + name: iron bar + suffix: 1 + description: A heavy piece of refined iron + components: + - type: Item + size: Normal + - type: Sprite + sprite: _CP14/Objects/Materials/iron_bar.rsi + layers: + - state: bar + map: ["base"] + - type: Appearance + - type: Stack + stackType: CP14IronBar + count: 1 + baseLayer: base + layerStates: + - bar + - bar_2 + - bar_3 + - type: Material + - type: PhysicalComposition # точно ли это нужно? + materialComposition: + CP14Iron: 100 + +- type: entity + id: CP14IronBar5 + parent: CP14IronBar1 + suffix: 5 + components: + - type: Stack + count: 5 + +- type: entity + id: CP14IronBar10 + parent: CP14IronBar1 + suffix: 10 + components: + - type: Stack + count: 10 + + + +- type: entity + id: CP14GoldBar1 + parent: BaseItem + name: gold bar + description: A warm to the touch, soft piece of refined gold. + components: + - type: Item + size: Normal + - type: Sprite + sprite: _CP14/Objects/Materials/gold_bar.rsi + layers: + - state: bar + map: ["base"] + - type: Appearance + - type: Stack + stackType: CP14GoldBar + count: 1 + baseLayer: base + layerStates: + - bar + - bar_2 + - bar_3 + - type: Material + - type: PhysicalComposition # точно ли это нужно? + materialComposition: + CP14Gold: 100 + +- type: entity + id: CP14GoldBar5 + parent: CP14GoldBar1 + suffix: 5 + components: + - type: Stack + count: 5 + +- type: entity + id: CP14GoldBar10 + parent: CP14GoldBar1 + suffix: 10 + components: + - type: Stack + count: 10 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/Specific/Blacksmith/melting_molds.yml b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Blacksmith/melting_molds.yml new file mode 100644 index 0000000000..c391745447 --- /dev/null +++ b/Resources/Prototypes/_CP14/Entities/Objects/Specific/Blacksmith/melting_molds.yml @@ -0,0 +1,101 @@ +- type: entity + id: CP14MeltingMoldBase + abstract: true + parent: BaseItem + name: melting mold + description: Wooden board for casting the metal into the required molds. + components: + - type: Item + size: Normal + - type: Sprite + sprite: _CP14/Objects/Specific/Blacksmith/melting_molds.rsi + +- type: entity + id: CP14MeltingMoldBlank + parent: CP14MeltingMoldBase + name: black melting mold + description: An empty mold for casting metal. You can cut any shape you need in it on the pattern cutting table. + components: + - type: Sprite + layers: + - state: blank + +- type: entity + id: CP14MeltingMoldDaggers + parent: CP14MeltingMoldBase + name: dagger blade mold + components: + - type: Sprite + layers: + - state: blank + - state: dagger + +- type: entity + id: CP14MeltingMoldNails + parent: CP14MeltingMoldBase + name: mails mold + components: + - type: Sprite + layers: + - state: blank + - state: nails + +- type: entity + id: CP14MeltingMoldPickaxe + parent: CP14MeltingMoldBase + name: pickaxe head mold + components: + - type: Sprite + layers: + - state: blank + - state: pickaxe + +- type: entity + id: CP14MeltingMoldShovel + parent: CP14MeltingMoldBase + name: shovel head mold + components: + - type: Sprite + layers: + - state: blank + - state: shovel + +- type: entity + id: CP14MeltingMoldSickle + parent: CP14MeltingMoldBase + name: sickle blade mold + components: + - type: Sprite + layers: + - state: blank + - state: sickle + +- type: entity + id: CP14MeltingMoldSword + parent: CP14MeltingMoldBase + name: sword blade mold + components: + - type: Sprite + layers: + - state: blank + - state: sword + +- type: entity + id: CP14MeltingMoldThrowableSpear + parent: CP14MeltingMoldBase + name: throwable spearhead mold + components: + - type: Sprite + layers: + - state: blank + - state: throwable_spear + +- type: entity + id: CP14MeltingMoldTwoHandedSword + parent: CP14MeltingMoldBase + name: two-handed sword blade mold + components: + - type: Sprite + layers: + - state: blank + - state: two_handed_sword \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Entities/Objects/ores.yml b/Resources/Prototypes/_CP14/Entities/Objects/ores.yml index 545059eef4..50a5f430b8 100644 --- a/Resources/Prototypes/_CP14/Entities/Objects/ores.yml +++ b/Resources/Prototypes/_CP14/Entities/Objects/ores.yml @@ -19,7 +19,7 @@ description: A piece of pale, heavy copper. components: - type: Sprite - sprite: _CP14/Objects/Materials/ore_copper.rsi + sprite: _CP14/Objects/Materials/copper_ore.rsi layers: - state: ore1 map: ["random"] @@ -31,7 +31,7 @@ description: A piece of cold, heavy iron. components: - type: Sprite - sprite: _CP14/Objects/Materials/ore_iron.rsi + sprite: _CP14/Objects/Materials/iron_ore.rsi layers: - state: ore1 map: ["random"] @@ -43,7 +43,7 @@ description: A piece of soft, pure gold. components: - type: Sprite - sprite: _CP14/Objects/Materials/ore_gold.rsi + sprite: _CP14/Objects/Materials/gold_ore.rsi layers: - state: ore1 map: ["random"] diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml index 521a007050..50b60a50d1 100644 --- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml +++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/workbenchs.yml @@ -4,32 +4,10 @@ id: CP14BaseWorkbench abstract: true components: - - type: Fixtures - fixtures: - fix1: - shape: - !type:PhysShapeAabb - bounds: "-0.45,-0.45,0.45,0.45" - density: 55 - mask: - - TabletopMachineMask - layer: - - Impassable - - MidImpassable - - LowImpassable - hard: false - fix2: - shape: - !type:PhysShapeAabb - bounds: "-0.45,-0.45,0.45,0.45" - density: 55 - mask: - - TableMask - layer: - - TableLayer - type: Climbable - type: Clickable - type: PlaceableSurface + - type: InteractionOutline - type: CP14Workbench craftSpeed: 1 @@ -44,10 +22,10 @@ - type: Sprite snapCardinals: true sprite: _CP14/Structures/Furniture/workbench.rsi - state: icon + state: workbench - type: Icon sprite: _CP14/Structures/Furniture/workbench.rsi - state: icon + state: workbench - type: Damageable damageContainer: Inorganic damageModifierSet: Wood @@ -76,7 +54,7 @@ spawn: CP14WoodenPlanks1: min: 1 - max: 1 + max: 2 - type: FootstepModifier footstepSoundCollection: collection: FootstepWood @@ -89,4 +67,68 @@ - type: CP14Workbench recipes: - CP14Bucket - - CP14BaseBarrel \ No newline at end of file + - CP14BaseBarrel + +- type: entity + id: CP14WorkbenchMeltingMolds + parent: + - CP14BaseWorkbench + - CP14BaseWooden + name: sawing melting molds table + description: Specialized table that allows you to cut out molds for metal smelting. + components: + - type: Sprite + snapCardinals: true + sprite: _CP14/Structures/Furniture/workbench.rsi + state: melting_crafter + - type: Icon + sprite: _CP14/Structures/Furniture/workbench.rsi + state: melting_crafter + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Wood + - type: Destructible + thresholds: + - trigger: + !type:DamageTypeTrigger + damageType: Heat + damage: 40 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - trigger: + !type:DamageTrigger + damage: 60 + behaviors: + - !type:DoActsBehavior + acts: ["Destruction"] + - !type:PlaySoundBehavior + sound: + collection: WoodDestroy + - !type:SpawnEntitiesBehavior + spawn: + CP14WoodenPlanks1: + min: 1 + max: 2 + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepWood + - type: FireVisuals + sprite: _CP14/Effects/fire.rsi + normalState: full + - type: CP14Workbench + craftSound: + collection: CP14Sawing + recipes: + - CP14MeltingMoldBlank + - CP14MeltingMoldDaggers + - CP14MeltingMoldNails + - CP14MeltingMoldPickaxe + - CP14MeltingMoldShovel + - CP14MeltingMoldSickle + - CP14MeltingMoldSword + - CP14MeltingMoldThrowableSpear + - CP14MeltingMoldTwoHandedSword \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Materials/simple.yml b/Resources/Prototypes/_CP14/Materials/simple.yml index 6506afb244..d74e3bf661 100644 --- a/Resources/Prototypes/_CP14/Materials/simple.yml +++ b/Resources/Prototypes/_CP14/Materials/simple.yml @@ -32,4 +32,31 @@ unit: materials-unit-piece icon: { sprite: _CP14/Objects/Materials/nails.rsi, state: nail_2 } color: "#555963" + price: 0 #? + +- type: material + id: CP14Copper + stackEntity: CP14CopperBar1 + name: cp14-material-copper + unit: materials-unit-bar + icon: { sprite: _CP14/Objects/Materials/copper_bar.rsi, state: bar_2 } + color: "#9a5e22" + price: 0 #? + +- type: material + id: CP14Iron + stackEntity: CP14IronBar1 + name: cp14-material-iron + unit: materials-unit-bar + icon: { sprite: _CP14/Objects/Materials/iron_bar.rsi, state: bar_2 } + color: "#9093a1" + price: 0 #? + +- type: material + id: CP14Gold + stackEntity: CP14GoldBar1 + name: cp14-material-gold + unit: materials-unit-bar + icon: { sprite: _CP14/Objects/Materials/gold_bar.rsi, state: bar_2 } + color: "#FFD700" price: 0 #? \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Objectives/steal_target_groups.yml b/Resources/Prototypes/_CP14/Objectives/steal_target_groups.yml index cbf81f9fe5..9fb8522061 100644 --- a/Resources/Prototypes/_CP14/Objectives/steal_target_groups.yml +++ b/Resources/Prototypes/_CP14/Objectives/steal_target_groups.yml @@ -2,5 +2,5 @@ id: CP14Gold name: gold ore sprite: - sprite: _CP14/Objects/Materials/ore_gold.rsi + sprite: _CP14/Objects/Materials/gold_ore.rsi state: ore1 \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml index 78470ca3e0..fefd81b0ea 100644 --- a/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml +++ b/Resources/Prototypes/_CP14/Recipes/Construction/furniture.yml @@ -101,7 +101,7 @@ category: construction-category-furniture icon: sprite: _CP14/Structures/Furniture/workbench.rsi - state: icon + state: workbench objectType: Structure placementMode: SnapgridCenter canBuildInImpassable: false diff --git a/Resources/Prototypes/_CP14/Recipes/Workbench/melds_crafter.yml b/Resources/Prototypes/_CP14/Recipes/Workbench/melds_crafter.yml new file mode 100644 index 0000000000..3a0712104e --- /dev/null +++ b/Resources/Prototypes/_CP14/Recipes/Workbench/melds_crafter.yml @@ -0,0 +1,62 @@ +- type: CP14Recipe + id: CP14MeltingMoldBlank + craftTime: 2 + stacks: + CP14WoodenPlanks: 2 + result: CP14MeltingMoldBlank + +- type: CP14Recipe + id: CP14MeltingMoldDaggers + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldDaggers + +- type: CP14Recipe + id: CP14MeltingMoldNails + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldNails + +- type: CP14Recipe + id: CP14MeltingMoldPickaxe + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldPickaxe + +- type: CP14Recipe + id: CP14MeltingMoldShovel + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldShovel + +- type: CP14Recipe + id: CP14MeltingMoldSickle + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldSickle + +- type: CP14Recipe + id: CP14MeltingMoldSword + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldSword + +- type: CP14Recipe + id: CP14MeltingMoldThrowableSpear + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldThrowableSpear + +- type: CP14Recipe + id: CP14MeltingMoldTwoHandedSword + craftTime: 2 + entities: + CP14MeltingMoldBlank: 1 + result: CP14MeltingMoldTwoHandedSword \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/SoundCollections/misc.yml b/Resources/Prototypes/_CP14/SoundCollections/misc.yml index 3cf56423dc..0a9010a034 100644 --- a/Resources/Prototypes/_CP14/SoundCollections/misc.yml +++ b/Resources/Prototypes/_CP14/SoundCollections/misc.yml @@ -19,4 +19,13 @@ - /Audio/_CP14/Items/nailing1.ogg - /Audio/_CP14/Items/nailing2.ogg - /Audio/_CP14/Items/nailing3.ogg - - /Audio/_CP14/Items/nailing4.ogg \ No newline at end of file + - /Audio/_CP14/Items/nailing4.ogg + +- type: soundCollection + id: CP14Sawing + files: + - /Audio/_CP14/Items/sawing1.ogg + - /Audio/_CP14/Items/sawing2.ogg + - /Audio/_CP14/Items/sawing3.ogg + - /Audio/_CP14/Items/sawing4.ogg + - /Audio/_CP14/Items/sawing5.ogg \ No newline at end of file diff --git a/Resources/Prototypes/_CP14/Stacks/materials.yml b/Resources/Prototypes/_CP14/Stacks/materials.yml index 76dd9b30da..28701b4d77 100644 --- a/Resources/Prototypes/_CP14/Stacks/materials.yml +++ b/Resources/Prototypes/_CP14/Stacks/materials.yml @@ -24,4 +24,25 @@ name: nails spawn: CP14Nail1 icon: { sprite: _CP14/Objects/Materials/nails.rsi, state: nail_2 } + maxCount: 10 + +- type: stack + id: CP14CopperBar + name: copper bars + spawn: CP14CopperBar1 + icon: { sprite: _CP14/Objects/Materials/copper_bar.rsi, state: bar_2 } + maxCount: 10 + +- type: stack + id: CP14IronBar + name: iron bars + spawn: CP14IronBar1 + icon: { sprite: _CP14/Objects/Materials/iron_bar.rsi, state: bar_2 } + maxCount: 10 + +- type: stack + id: CP14GoldBar + name: gold bars + spawn: CP14GoldBar1 + icon: { sprite: _CP14/Objects/Materials/gold_bar.rsi, state: bar_2 } maxCount: 10 \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar.png b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar.png new file mode 100644 index 0000000000..2970906fd2 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar_2.png b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar_2.png new file mode 100644 index 0000000000..3bdc877fc6 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar_2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar_3.png b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar_3.png new file mode 100644 index 0000000000..b3d118a227 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/bar_3.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/meta.json b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/meta.json new file mode 100644 index 0000000000..b95cea32c8 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Materials/copper_bar.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (Github) for CrystallPunk14", + "states": [ + { + "name": "bar" + }, + { + "name": "bar_2" + }, + { + "name": "bar_3" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/meta.json b/Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/meta.json rename to Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/meta.json diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/ore1.png b/Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/ore1.png similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/ore1.png rename to Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/ore1.png diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/ore2.png b/Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/ore2.png similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/ore2.png rename to Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/ore2.png diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/ore3.png b/Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/ore3.png similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_copper.rsi/ore3.png rename to Resources/Textures/_CP14/Objects/Materials/copper_ore.rsi/ore3.png diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar.png b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar.png new file mode 100644 index 0000000000..e3c5baaf7a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar_2.png b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar_2.png new file mode 100644 index 0000000000..420fa1bc39 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar_2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar_3.png b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar_3.png new file mode 100644 index 0000000000..0209d7116c Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/bar_3.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/meta.json b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/meta.json new file mode 100644 index 0000000000..b95cea32c8 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Materials/gold_bar.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (Github) for CrystallPunk14", + "states": [ + { + "name": "bar" + }, + { + "name": "bar_2" + }, + { + "name": "bar_3" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/meta.json b/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/meta.json rename to Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/meta.json diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore1.png b/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore1.png new file mode 100644 index 0000000000..a69b937376 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore1.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore2.png b/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore2.png new file mode 100644 index 0000000000..c71d3cb5f2 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore3.png b/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore3.png new file mode 100644 index 0000000000..3777c0eb25 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/gold_ore.rsi/ore3.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar.png b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar.png new file mode 100644 index 0000000000..a840d2a9b3 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar_2.png b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar_2.png new file mode 100644 index 0000000000..f3e10bc08a Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar_2.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar_3.png b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar_3.png new file mode 100644 index 0000000000..a6f49633bc Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/bar_3.png differ diff --git a/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/meta.json b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/meta.json new file mode 100644 index 0000000000..b95cea32c8 --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Materials/iron_bar.rsi/meta.json @@ -0,0 +1,20 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (Github) for CrystallPunk14", + "states": [ + { + "name": "bar" + }, + { + "name": "bar_2" + }, + { + "name": "bar_3" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/meta.json b/Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/meta.json similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/meta.json rename to Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/meta.json diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/ore1.png b/Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/ore1.png similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/ore1.png rename to Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/ore1.png diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/ore2.png b/Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/ore2.png similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/ore2.png rename to Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/ore2.png diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/ore3.png b/Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/ore3.png similarity index 100% rename from Resources/Textures/_CP14/Objects/Materials/ore_iron.rsi/ore3.png rename to Resources/Textures/_CP14/Objects/Materials/iron_ore.rsi/ore3.png diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore1.png b/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore1.png deleted file mode 100644 index c5cac76c00..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore1.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore2.png b/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore2.png deleted file mode 100644 index d48cf306b5..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore2.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore3.png b/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore3.png deleted file mode 100644 index e7dfb634cc..0000000000 Binary files a/Resources/Textures/_CP14/Objects/Materials/ore_gold.rsi/ore3.png and /dev/null differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/blank.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/blank.png new file mode 100644 index 0000000000..a905431bfc Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/blank.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/dagger.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/dagger.png new file mode 100644 index 0000000000..fc104b4e61 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/dagger.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/meta.json b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/meta.json new file mode 100644 index 0000000000..7525882ddf --- /dev/null +++ b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/meta.json @@ -0,0 +1,38 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "All rights reserved for the CrystallPunk14 project only", + "copyright": "Created by TheShuEd (Github) for CrystallPunk14", + "states": [ + { + "name": "blank" + }, + { + "name": "dagger" + }, + { + "name": "nails" + }, + { + "name": "pickaxe" + }, + { + "name": "shovel" + }, + { + "name": "sickle" + }, + { + "name": "sword" + }, + { + "name": "throwable_spear" + }, + { + "name": "two_handed_sword" + } + ] +} \ No newline at end of file diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/nails.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/nails.png new file mode 100644 index 0000000000..1538d5a721 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/nails.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/pickaxe.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/pickaxe.png new file mode 100644 index 0000000000..c1bd0d5871 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/pickaxe.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/shovel.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/shovel.png new file mode 100644 index 0000000000..ff0b7e6646 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/shovel.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sickle.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sickle.png new file mode 100644 index 0000000000..b3b44f1500 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sickle.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sword.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sword.png new file mode 100644 index 0000000000..cee2e11077 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/sword.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/throwable_spear.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/throwable_spear.png new file mode 100644 index 0000000000..9c13f4d8d2 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/throwable_spear.png differ diff --git a/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/two_handed_sword.png b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/two_handed_sword.png new file mode 100644 index 0000000000..a942073556 Binary files /dev/null and b/Resources/Textures/_CP14/Objects/Specific/Blacksmith/melting_molds.rsi/two_handed_sword.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/melting_crafter.png b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/melting_crafter.png new file mode 100644 index 0000000000..93ddc409e3 Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/melting_crafter.png differ diff --git a/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json index 94345c710f..660a3f67cd 100644 --- a/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json +++ b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/meta.json @@ -8,7 +8,10 @@ }, "states": [ { - "name": "icon" + "name": "workbench" + }, + { + "name": "melting_crafter" } ] } diff --git a/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/icon.png b/Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/workbench.png similarity index 100% rename from Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/icon.png rename to Resources/Textures/_CP14/Structures/Furniture/workbench.rsi/workbench.png