CatStation/Content.Client/Atmos/Components/FireVisualsComponent.cs
SlamBamActionman 24485c39ee
Change dwarves to use displacement maps instead of sprite scaling (#43816)
* ach, ye initial commit

* Review changes...?

* Change parentage

* Widen the dwarf sprite

* Widen the dwarf sprite

* Solve the murder at the Portermeister Estate

* The rest of the fucking owl

* Fix female displacement, fix the displacement error

* Review changes

* Review fixes

* IPrototypeManager to ProtoMan

* Review changes
2026-07-05 22:17:17 +00:00

51 lines
1.5 KiB
C#

using Content.Shared.DisplacementMap;
using Robust.Shared.Prototypes;
namespace Content.Client.Atmos.Components;
/// <summary>
/// Sets which sprite RSI is used for displaying the fire visuals and what state to use based on the fire stacks
/// accumulated.
/// </summary>
[RegisterComponent]
public sealed partial class FireVisualsComponent : Component
{
[DataField("fireStackAlternateState")]
public int FireStackAlternateState = 3;
[DataField("normalState")]
public string? NormalState;
[DataField("alternateState")]
public string? AlternateState;
[DataField("sprite")]
public string? Sprite;
[DataField("lightEnergyPerStack")]
public float LightEnergyPerStack = 0.5f;
[DataField("lightRadiusPerStack")]
public float LightRadiusPerStack = 0.3f;
[DataField("maxLightEnergy")]
public float MaxLightEnergy = 10f;
[DataField("maxLightRadius")]
public float MaxLightRadius = 4f;
[DataField("lightColor")]
public Color LightColor = Color.Orange;
/// <summary>
/// Client side point-light entity. We use this instead of directly adding a light to
/// the burning entity as entities don't support having multiple point-lights.
/// </summary>
public EntityUid? LightEntity;
/// <summary>
/// Tracks the currently applied displacement, so that only new changes update the layer.
/// </summary>
[DataField]
public ProtoId<DisplacementDataPrototype>? CurrentDisplacement;
}