diff --git a/Content.Server/Atmos/Components/FlammableComponent.cs b/Content.Server/Atmos/Components/FlammableComponent.cs
index e00f5efbdc..b02109d433 100644
--- a/Content.Server/Atmos/Components/FlammableComponent.cs
+++ b/Content.Server/Atmos/Components/FlammableComponent.cs
@@ -77,5 +77,11 @@ namespace Content.Server.Atmos.Components
///
[DataField, ViewVariables(VVAccess.ReadWrite)]
public float FirestackFade = -0.1f;
+
+ ///
+ /// CrystallPunk fireplace fuel
+ ///
+ [DataField]
+ public float CP14FireplaceFuel = 10f;
}
}
diff --git a/Content.Server/Sprite/RandomSpriteSystem.cs b/Content.Server/Sprite/RandomSpriteSystem.cs
index 7f81f4bdd4..17518b52bd 100644
--- a/Content.Server/Sprite/RandomSpriteSystem.cs
+++ b/Content.Server/Sprite/RandomSpriteSystem.cs
@@ -39,7 +39,7 @@ public sealed class RandomSpriteSystem: SharedRandomSpriteSystem
component.Selected.EnsureCapacity(groups.Count);
- Color? previousColor = null;
+ Color? previousColor = component.CP14InheritBaseColor; //CrystallPunk
foreach (var group in groups)
{
diff --git a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs
index 54cc47b8b1..a8949a90fe 100644
--- a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs
+++ b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceComponent.cs
@@ -1,3 +1,5 @@
+using Robust.Shared.Audio;
+
namespace Content.Server._CP14.Temperature.Fireplace;
///
@@ -7,6 +9,9 @@ namespace Content.Server._CP14.Temperature.Fireplace;
[RegisterComponent, Access(typeof(CP14FireplaceSystem))]
public sealed partial class CP14FireplaceComponent : Component
{
+ [DataField]
+ public string ContainerId = "storagebase";
+
///
/// The abstract amount of fuel that is used to keep a fire burning
///
@@ -23,7 +28,7 @@ public sealed partial class CP14FireplaceComponent : Component
/// current fuel quantity
///
[DataField]
- public float CurrentFuel;
+ public float CurrentFuel = 10f;
///
/// how much fuel is wasted every "UpdateFrequency"
@@ -34,18 +39,9 @@ public sealed partial class CP14FireplaceComponent : Component
[DataField]
public TimeSpan UpdateFrequency = TimeSpan.FromSeconds(2f);
- ///
- /// whether fuel can be added by hand
- ///
- [DataField]
- public bool CanInsertByHand = true;
-
- ///
- /// whether the fuel can be supplied by contact
- ///
- [DataField]
- public bool CanInsertByCollide = false;
-
[DataField]
public TimeSpan NextUpdateTime = TimeSpan.Zero;
+
+ [DataField]
+ public SoundSpecifier InsertFuelSound = new SoundPathSpecifier("/Audio/_CP14/Items/campfire_whoosh.ogg");
}
diff --git a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceFuelComponent.cs b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceFuelComponent.cs
deleted file mode 100644
index 694eb46650..0000000000
--- a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceFuelComponent.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using Robust.Shared.Audio;
-
-namespace Content.Server._CP14.Temperature.Fireplace;
-
-///
-/// Allows this object to be used as fuel for a fireplace
-///
-
-[RegisterComponent, Access(typeof(CP14FireplaceSystem))]
-public sealed partial class CP14FireplaceFuelComponent : Component
-{
- ///
- /// How much fuel will be added in fireplace
- ///
- [DataField]
- public float Fuel = 10f;
-
- [DataField]
- public SoundSpecifier InsertFuelSound = new SoundPathSpecifier("/Audio/_CP14/Items/campfire_whoosh.ogg");
-}
diff --git a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs
index 5f3f57d7b1..d4f0e4a4dc 100644
--- a/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs
+++ b/Content.Server/_CP14/Temperature/Fireplace/CP14FireplaceSystem.cs
@@ -5,6 +5,7 @@ using Content.Shared._CP14.Temperature;
using Content.Shared.Interaction;
using Content.Shared.Throwing;
using Robust.Server.Audio;
+using Robust.Server.Containers;
using Robust.Server.GameObjects;
using Robust.Shared.Physics.Events;
using Robust.Shared.Timing;
@@ -15,6 +16,7 @@ public sealed partial class CP14FireplaceSystem : EntitySystem
{
[Dependency] private readonly AppearanceSystem _appearance = default!;
[Dependency] private readonly AudioSystem _audio = default!;
+ [Dependency] private readonly ContainerSystem _containerSystem = default!;
[Dependency] private readonly IGameTiming _timing = default!;
[Dependency] private readonly FlammableSystem _flammable = default!;
[Dependency] private readonly PopupSystem _popupSystem = default!;
@@ -24,9 +26,6 @@ public sealed partial class CP14FireplaceSystem : EntitySystem
base.Initialize();
SubscribeLocalEvent(OnFireChanged);
-
- SubscribeLocalEvent(OnInteractUsing);
- SubscribeLocalEvent(OnCollide);
}
private void OnFireChanged(Entity fireplace, ref OnFireChangedEvent args)
@@ -38,47 +37,37 @@ public sealed partial class CP14FireplaceSystem : EntitySystem
flammable.FirestackFade = 0;
}
- private void OnInteractUsing(Entity fireplace, ref InteractUsingEvent args)
+ private bool TryFoundFuelInStorage(Entity fireplace, out Entity? fuel)
{
- if (!fireplace.Comp.CanInsertByHand)
- return;
+ fuel = null;
+ var container = _containerSystem.GetContainer(fireplace, fireplace.Comp.ContainerId);
- if (!TryComp(args.Used, out var fuel))
- return;
-
- TryInsertFuel(fireplace, args.Used, fuel);
- }
-
- private void OnCollide(Entity fireplace, ref StartCollideEvent args)
- {
- if (!fireplace.Comp.CanInsertByCollide)
- return;
-
- if (!TryComp(args.OtherEntity, out var fuel))
- return;
-
- TryInsertFuel(fireplace, args.OtherEntity, fuel);
- }
-
- private bool TryInsertFuel(Entity fireplace, EntityUid fuelUid, CP14FireplaceFuelComponent fuel)
- {
- if (fireplace.Comp.CurrentFuel > fireplace.Comp.MaxFuelLimit)
- {
- _popupSystem.PopupEntity(Loc.GetString("cp14-fireplace-full", ("target", fireplace)), fireplace);
+ if (container.ContainedEntities.Count == 0)
return false;
+
+ foreach (var ent in container.ContainedEntities)
+ {
+ if (!TryComp(ent, out var flammable))
+ continue;
+
+ fuel = new Entity(ent, flammable);
+ return true;
}
- if (!TryComp(fireplace, out var flammable))
- return false;
+ return false;
+ }
- fireplace.Comp.CurrentFuel += fuel.Fuel;
+ private void ConsumeFuel(EntityUid uid, CP14FireplaceComponent component, Entity fuel)
+ {
+ if (!TryComp(uid, out var flammable))
+ return;
+
+ component.CurrentFuel += fuel.Comp.CP14FireplaceFuel;
if (flammable.OnFire)
- _audio.PlayPvs(fuel.InsertFuelSound, fireplace);
+ _audio.PlayPvs(component.InsertFuelSound, uid);
- UpdateAppearance(fireplace, fireplace.Comp);
- QueueDel(fuelUid);
- return true;
+ QueueDel(fuel);
}
public override void Update(float frameTime)
@@ -104,6 +93,9 @@ public sealed partial class CP14FireplaceSystem : EntitySystem
}
else
{
+ if (TryFoundFuelInStorage(new Entity(uid, fireplace), out var fuel) && fuel != null)
+ ConsumeFuel(uid, fireplace, fuel.Value);
+
flammable.FirestackFade = -fireplace.FireFadeDelta;
}
}
diff --git a/Content.Shared/Sprite/RandomSpriteComponent.cs b/Content.Shared/Sprite/RandomSpriteComponent.cs
index 0e9133d1c8..548645e019 100644
--- a/Content.Shared/Sprite/RandomSpriteComponent.cs
+++ b/Content.Shared/Sprite/RandomSpriteComponent.cs
@@ -24,4 +24,10 @@ public sealed partial class RandomSpriteComponent : Component
///
[ViewVariables(VVAccess.ReadWrite), DataField("selected")]
public Dictionary Selected = new();
+
+ ///
+ /// CP14 Base Random Sprite color
+ ///
+ [DataField]
+ public Color CP14InheritBaseColor = Color.White;
}
diff --git a/Resources/Locale/en-US/_CP14/fireplace/fireplace-component.ftl b/Resources/Locale/en-US/_CP14/fireplace/fireplace-component.ftl
deleted file mode 100644
index a34f452e8f..0000000000
--- a/Resources/Locale/en-US/_CP14/fireplace/fireplace-component.ftl
+++ /dev/null
@@ -1 +0,0 @@
-cp14-fireplace-full = There's no more room in {$target}!
\ No newline at end of file
diff --git a/Resources/Locale/ru-RU/_CP14/fireplace/fireplace-component.ftl b/Resources/Locale/ru-RU/_CP14/fireplace/fireplace-component.ftl
deleted file mode 100644
index dc3b303c6d..0000000000
--- a/Resources/Locale/ru-RU/_CP14/fireplace/fireplace-component.ftl
+++ /dev/null
@@ -1 +0,0 @@
-cp14-fireplace-full = В {$target} больше ничего не влезет!
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bonfire.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bonfire.yml
index 63e439bc1e..154bb89671 100644
--- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bonfire.yml
+++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/bonfire.yml
@@ -9,9 +9,9 @@
sprite: _CP14/Structures/Furniture/bonfire.rsi
layers:
- state: base
- - state: full1
+ - state: full-1
visible: false
- map: ["fuel"]
+ - map: ["enum.StorageFillLayers.Fill"]
- type: Construction
graph: CP14Bonfire
node: CP14Bonfire
@@ -26,20 +26,12 @@
behaviors:
- !type:DoActsBehavior
acts: [ "Destruction" ]
- - type: GenericVisualizer
- visuals:
- enum.FireplaceFuelVisuals.Status:
- fuel:
- Empty: { visible: false }
- Medium: { visible: true, state: full1 }
- Full: { visible: true, state: full2 }
+ - type: StorageFillVisualizer
+ maxFillLevels: 2
+ fillBaseName: full
- type: FireVisuals
sprite: _CP14/Structures/Furniture/bonfire.rsi
normalState: burning
-
-- type: entity
- id: CP14Stick
- parent: CP14Bucket
- name: Stick!!!
- components:
- - type: CP14FireplaceFuel
+ - type: Storage
+ grid:
+ - 0,0,2,1
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_torch.yml b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_torch.yml
index 78e9f5b40d..d15f8c0d07 100644
--- a/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_torch.yml
+++ b/Resources/Prototypes/_CP14/Entities/Structures/Furniture/wallmount_torch.yml
@@ -56,7 +56,6 @@
- type: CP14Fireplace
maxFuelLimit: 150
currentFuel: 150
- canInsertByHand: false
- type: FireVisuals
sprite: _CP14/Structures/Furniture/wallmount_torch.rsi
normalState: fire
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Alchemy/heater.yml b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Alchemy/heater.yml
index 62fe322ed4..0272369135 100644
--- a/Resources/Prototypes/_CP14/Entities/Structures/Specific/Alchemy/heater.yml
+++ b/Resources/Prototypes/_CP14/Entities/Structures/Specific/Alchemy/heater.yml
@@ -43,6 +43,21 @@
- type: CP14FlammableEntityHeater
- type: CP14FlammableSolutionHeater
- type: CP14Fireplace
+ - type: ContainerContainer
+ containers:
+ storagebase: !type:Container
+ ents: []
+ - type: Storage
+ maxItemSize: Normal
+ grid:
+ - 0,0,2,2
+ blacklist:
+ components:
+ - IgnitionSource
+ - type: UserInterface
+ interfaces:
+ enum.StorageUiKey.Key:
+ type: StorageBoundUserInterface
- type: entity
id: CP14AlchemyFurnaceDebug
@@ -110,4 +125,7 @@
mask:
- TableMask
layer:
- - TableLayer
\ No newline at end of file
+ - TableLayer
+ - type: Storage
+ grid:
+ - 0,0,2,2
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Wallmount/crystal.yml b/Resources/Prototypes/_CP14/Entities/Structures/Wallmount/crystal.yml
new file mode 100644
index 0000000000..58afd1c442
--- /dev/null
+++ b/Resources/Prototypes/_CP14/Entities/Structures/Wallmount/crystal.yml
@@ -0,0 +1,116 @@
+- type: entity
+ id: CP14WallmountCrystalBase
+ parent:
+ - BaseStructure
+ abstract: true
+ placement:
+ mode: SnapgridCenter
+ components:
+ - type: Sprite
+ drawdepth: Mobs
+ sprite: _CP14/Structures/Wallmount/wallmount_crystal.rsi
+ layers:
+ - state: crystal1
+ map: ["random"]
+ shader: unshaded
+ - type: Damageable
+ damageContainer: Inorganic
+ damageModifierSet: Glass
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 20
+ behaviors:
+ - !type:PlaySoundBehavior
+ sound:
+ collection: GlassBreak
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeAabb
+ bounds: "0.49,0.49,-0.49,0.36"
+ density: 60
+ mask:
+ - MachineMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - type: RandomSprite
+ available:
+ - random:
+ crystal1: Inherit
+ crystal2: Inherit
+ crystal3: Inherit
+ - type: PointLight
+ radius: 1.5
+ energy: 1
+
+- type: entity
+ id: CP14WallmountCrystalRubies
+ parent: CP14WallmountCrystalBase
+ name: sparkling rubies
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#ff3d0b"
+ - type: PointLight
+ color: "#ff3d0b"
+
+- type: entity
+ id: CP14WallmountCrystalTopazes
+ parent: CP14WallmountCrystalBase
+ name: sparkling topazes
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#ffe269"
+ - type: PointLight
+ color: "#ffe269"
+
+- type: entity
+ id: CP14WallmountCrystalEmeralds
+ parent: CP14WallmountCrystalBase
+ name: sparkling emeralds
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#30be81"
+ - type: PointLight
+ color: "#30be81"
+
+- type: entity
+ id: CP14WallmountCrystalSapphires
+ parent: CP14WallmountCrystalBase
+ name: sparkling sapphires
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#5eabeb"
+ - type: PointLight
+ color: "#5eabeb"
+
+- type: entity
+ id: CP14WallmountCrystalAmethysts
+ parent: CP14WallmountCrystalBase
+ name: sparkling amethysts
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#a878d1"
+ - type: PointLight
+ color: "#a878d1"
+
+- type: entity
+ id: CP14WallmountCrystalDiamonds
+ parent: CP14WallmountCrystalBase
+ name: sparkling diamonds
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#f8f8f8"
+ - type: PointLight
+ color: "#f8f8f8"
\ No newline at end of file
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/Decoration/wallmount.yml b/Resources/Prototypes/_CP14/Entities/Structures/Wallmount/wallmount.yml
similarity index 92%
rename from Resources/Prototypes/_CP14/Entities/Structures/Decoration/wallmount.yml
rename to Resources/Prototypes/_CP14/Entities/Structures/Wallmount/wallmount.yml
index c626aad825..e8a2aeefc6 100644
--- a/Resources/Prototypes/_CP14/Entities/Structures/Decoration/wallmount.yml
+++ b/Resources/Prototypes/_CP14/Entities/Structures/Wallmount/wallmount.yml
@@ -10,7 +10,7 @@
components:
- type: Sprite
drawdepth: Mobs
- sprite: _CP14/Structures/Decoration/wallmount_decor.rsi
+ sprite: _CP14/Structures/Wallmount/wallmount_decor.rsi
layers:
- state: boards
map: ["random"]
@@ -49,7 +49,7 @@
components:
- type: Sprite
drawdepth: Mobs
- sprite: _CP14/Structures/Decoration/wallmount_decor.rsi
+ sprite: _CP14/Structures/Wallmount/wallmount_decor.rsi
layers:
- state: web
map: ["random"]
@@ -88,7 +88,7 @@
components:
- type: Sprite
drawdepth: Mobs
- sprite: _CP14/Structures/Decoration/wallmount_decor.rsi
+ sprite: _CP14/Structures/Wallmount/wallmount_decor.rsi
layers:
- state: vines
- type: Damageable
diff --git a/Resources/Prototypes/_CP14/Entities/Structures/crystal.yml b/Resources/Prototypes/_CP14/Entities/Structures/crystal.yml
new file mode 100644
index 0000000000..704cc54083
--- /dev/null
+++ b/Resources/Prototypes/_CP14/Entities/Structures/crystal.yml
@@ -0,0 +1,119 @@
+- type: entity
+ id: CP14CrystalBase
+ abstract: true
+ parent: BaseStructure
+ components:
+ - type: Sprite
+ drawdepth: Mobs
+ sprite: _CP14/Structures/crystal.rsi
+ offset: 0, 0.25
+ layers:
+ - state: big
+ map: ["random"]
+ shader: unshaded
+ noRot: true
+ - type: Physics
+ bodyType: Static
+ - type: Damageable
+ damageContainer: Inorganic
+ damageModifierSet: Glass
+ - type: Destructible
+ thresholds:
+ - trigger:
+ !type:DamageTrigger
+ damage: 20
+ behaviors:
+ - !type:PlaySoundBehavior
+ sound:
+ collection: GlassBreak
+ - !type:DoActsBehavior
+ acts: [ "Destruction" ]
+ - type: Fixtures
+ fixtures:
+ fix1:
+ shape:
+ !type:PhysShapeCircle
+ radius: 0.45
+ density: 60
+ mask:
+ - MachineMask
+ layer:
+ - MidImpassable
+ - LowImpassable
+ - BulletImpassable
+ - Opaque
+ - type: RandomSprite
+ available:
+ - random:
+ big: Inherit
+ medium: Inherit
+ small: Inherit
+ - type: PointLight
+ radius: 2
+ energy: 2
+
+- type: entity
+ id: CP14CrystalRubies
+ parent: CP14CrystalBase
+ name: sparkling rubies
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#ff3d0b"
+ - type: PointLight
+ color: "#ff3d0b"
+
+- type: entity
+ id: CP14CrystalTopazes
+ parent: CP14CrystalBase
+ name: sparkling topazes
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#ffe269"
+ - type: PointLight
+ color: "#ffe269"
+
+- type: entity
+ id: CP14CrystalEmeralds
+ parent: CP14CrystalBase
+ name: sparkling emeralds
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#30be81"
+ - type: PointLight
+ color: "#30be81"
+
+- type: entity
+ id: CP14CrystalSapphires
+ parent: CP14CrystalBase
+ name: sparkling sapphires
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#5eabeb"
+ - type: PointLight
+ color: "#5eabeb"
+
+- type: entity
+ id: CP14CrystalAmethysts
+ parent: CP14CrystalBase
+ name: sparkling amethysts
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#a878d1"
+ - type: PointLight
+ color: "#a878d1"
+
+- type: entity
+ id: CP14CrystalDiamonds
+ parent: CP14CrystalBase
+ name: sparkling diamonds
+ description: wawa
+ components:
+ - type: RandomSprite
+ cP14InheritBaseColor: "#f8f8f8"
+ - type: PointLight
+ color: "#f8f8f8"
\ No newline at end of file
diff --git a/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/pants.png b/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/pants.png
index d20c20749b..525ab65c83 100644
Binary files a/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/pants.png and b/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/pants.png differ
diff --git a/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/shoes.png b/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/shoes.png
index ac527d9562..bf1d5a2190 100644
Binary files a/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/shoes.png and b/Resources/Textures/_CP14/Mobs/Species/Dwarf/displacement.rsi/shoes.png differ
diff --git a/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full-0.png b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full-0.png
new file mode 100644
index 0000000000..7244b37f5c
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full-0.png differ
diff --git a/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full1.png b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full-1.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full1.png
rename to Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full-1.png
diff --git a/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full2.png b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full-2.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full2.png
rename to Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/full-2.png
diff --git a/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json
index 909c2dfd3c..85f0df33e2 100644
--- a/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json
+++ b/Resources/Textures/_CP14/Structures/Furniture/bonfire.rsi/meta.json
@@ -11,10 +11,13 @@
"name": "base"
},
{
- "name": "full1"
+ "name": "full-0"
},
{
- "name": "full2"
+ "name": "full-1"
+ },
+ {
+ "name": "full-2"
},
{
"name": "burning",
diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal1.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal1.png
new file mode 100644
index 0000000000..9835d85bd1
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal1.png differ
diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal2.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal2.png
new file mode 100644
index 0000000000..3d0a8d3840
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal2.png differ
diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal3.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal3.png
new file mode 100644
index 0000000000..36e0bc53f0
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/crystal3.png differ
diff --git a/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/meta.json b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/meta.json
new file mode 100644
index 0000000000..171e21682b
--- /dev/null
+++ b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_crystal.rsi/meta.json
@@ -0,0 +1,23 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "By TheShuEd",
+ "size": {
+ "x": 32,
+ "y": 96
+ },
+ "states": [
+ {
+ "name": "crystal1",
+ "directions": 4
+ },
+ {
+ "name": "crystal2",
+ "directions": 4
+ },
+ {
+ "name": "crystal3",
+ "directions": 4
+ }
+ ]
+}
\ No newline at end of file
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards.png
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards2.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards2.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards2.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards2.png
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards3.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards3.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards3.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards3.png
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards4.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards4.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/boards4.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/boards4.png
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/meta.json b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/meta.json
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/meta.json
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/meta.json
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/vines.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/vines.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/vines.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/vines.png
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/web.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/web.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web.png
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/web2.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web2.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/web2.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web2.png
diff --git a/Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/web3.png b/Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web3.png
similarity index 100%
rename from Resources/Textures/_CP14/Structures/Decoration/wallmount_decor.rsi/web3.png
rename to Resources/Textures/_CP14/Structures/Wallmount/wallmount_decor.rsi/web3.png
diff --git a/Resources/Textures/_CP14/Structures/crystal.rsi/big.png b/Resources/Textures/_CP14/Structures/crystal.rsi/big.png
new file mode 100644
index 0000000000..91bbe51fb3
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/crystal.rsi/big.png differ
diff --git a/Resources/Textures/_CP14/Structures/crystal.rsi/medium.png b/Resources/Textures/_CP14/Structures/crystal.rsi/medium.png
new file mode 100644
index 0000000000..c7614278c6
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/crystal.rsi/medium.png differ
diff --git a/Resources/Textures/_CP14/Structures/crystal.rsi/meta.json b/Resources/Textures/_CP14/Structures/crystal.rsi/meta.json
new file mode 100644
index 0000000000..d551c51028
--- /dev/null
+++ b/Resources/Textures/_CP14/Structures/crystal.rsi/meta.json
@@ -0,0 +1,23 @@
+{
+ "version": 1,
+ "license": "CC-BY-SA-3.0",
+ "copyright": "by malanisa (discord)",
+ "size": {
+ "x": 32,
+ "y": 32
+ },
+ "states": [
+ {
+ "name": "big"
+ },
+ {
+ "name": "medium"
+ },
+ {
+ "name": "small"
+ },
+ {
+ "name": "shard"
+ }
+ ]
+}
diff --git a/Resources/Textures/_CP14/Structures/crystal.rsi/shard.png b/Resources/Textures/_CP14/Structures/crystal.rsi/shard.png
new file mode 100644
index 0000000000..8472dc5d82
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/crystal.rsi/shard.png differ
diff --git a/Resources/Textures/_CP14/Structures/crystal.rsi/small.png b/Resources/Textures/_CP14/Structures/crystal.rsi/small.png
new file mode 100644
index 0000000000..47ed9451b5
Binary files /dev/null and b/Resources/Textures/_CP14/Structures/crystal.rsi/small.png differ