Files
Delta-v/Content.Shared/Buckle/Components/ActiveIgniteOnBuckleComponent.cs
T
1cf546113d Add craft for bonfire and bonfire with stake (#42211)
* Add craft for bonfire and bonfire with stake

* review

* review

* nullable MaxFireStacks

* retry

* retry

* review

* I will change it and hope that they will agree with me

* Revert "I will change it and hope that they will agree with me"

This reverts commit 83823692d0116bf9aa9eceb85a10e95c88b51fb9.

* construction

Merged the graphs
Changed the bonfire stake ID to follow the proper naming scheme

* add destroy sound

* planks Instead of logs

* of course I forgot about ftl

* Slarti review + Princess review

Yes I sneaked an admeme abuse change here

* a small fix

* clamp firestacks

* This was on purpose, leave as is

This reverts commit 7d63e38b66cb63e5e50b7fac5030013e2ef508b5.

* irrelevant

* Fixtures

* cleanup

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-04-04 16:57:24 +02:00

42 lines
1.4 KiB
C#

using Robust.Shared.GameStates;
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
namespace Content.Shared.Buckle.Components;
/// <summary>
/// Component for entities that are currently being ignited by <see cref="IgniteOnBuckleComponent"/>
/// </summary>
[RegisterComponent, NetworkedComponent]
[AutoGenerateComponentPause, AutoGenerateComponentState]
public sealed partial class ActiveIgniteOnBuckleComponent : Component
{
// We cache data in this component and apply it to those who get buckled to have to do less lookups.
/// <summary>
/// How many fire stacks to add per cycle.
/// </summary>
[DataField]
public float FireStacks = 0.5f;
/// <summary>
/// How frequently the ignition should be applied, in seconds.
/// </summary>
[DataField]
public float IgniteTime = 1f;
/// <summary>
/// Maximum fire stacks that can be added by this source.
/// If target already has this many or more fire stacks, no additional stacks will be added.
/// Null means unlimited.
/// </summary>
[DataField]
public float? MaxFireStacks = 2.5f;
/// <summary>
/// Next time that fire stacks will be applied.
/// </summary>
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
[AutoPausedField, AutoNetworkedField]
public TimeSpan NextIgniteTime = TimeSpan.Zero;
}