* feat: predict evaporation * refactor: move puddle update logic to shared * refactor: move more puddle stuff to Shared Still can't do stuff that creates puddles :( * refactor: move puddle transfers to shared * fix: various style fixes + switch to predicted variants * style: make some puddle stuff private instead of protected * refactor: move solution dumping to its own system * docs: clarify Drainable/Dumpable/Refillable docs Also whacks unneeded VVAccess's. * fix: audit usages of drainable+refillable I'm leaving spear and arrow for now... but I don't love it. * Added an item query I guess * Review changes * You can pour out waterguns * Review changes * oops --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
34 lines
1.1 KiB
C#
34 lines
1.1 KiB
C#
using Content.Shared.FixedPoint;
|
|
using Robust.Shared.GameStates;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
|
|
|
|
namespace Content.Shared.Fluids.Components;
|
|
|
|
/// <summary>
|
|
/// Added to puddles that contain water so it may evaporate over time.
|
|
/// </summary>
|
|
[NetworkedComponent, AutoGenerateComponentPause, AutoGenerateComponentState]
|
|
[RegisterComponent, Access(typeof(SharedPuddleSystem))]
|
|
public sealed partial class EvaporationComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// The next time we remove the EvaporationSystem reagent amount from this entity.
|
|
/// </summary>
|
|
[AutoNetworkedField, AutoPausedField]
|
|
[DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
|
|
public TimeSpan NextTick;
|
|
|
|
/// <summary>
|
|
/// Evaporation factor. Multiplied by the evaporating speed of the reagent.
|
|
/// </summary>
|
|
[DataField]
|
|
public FixedPoint2 EvaporationAmount = FixedPoint2.New(1);
|
|
|
|
/// <summary>
|
|
/// The effect spawned when the puddle fully evaporates.
|
|
/// </summary>
|
|
[DataField]
|
|
public EntProtoId EvaporationEffect = "PuddleSparkle";
|
|
}
|