* Init Commit * windows yelling at me to update commit * working commit, need prediciton and more dehardcoding * Project 0 warnings * Working Commit (Near Final) * ryder got confused commit * I love Merge Conflicts :) * Working commit, no prediction * Forgot the yaml changes * Comments and typos * Apparently while the reduced launch mult of lube was initialized it was never used so I revered back to default * Fixed an incorrect divisor * bit of cleanup * Prediciton fixed, and puddles now affect all entities * FORGOT TO RENAME A VERY IMPORTANT VARIABLE OOPS * Really big I forgor moment * Even bigger I forgor moment * four more merge conflicts to fix four more oopsies * fixed actual divide by zero moment and also im very dumb * Even bigger I forgor moment * four more merge conflicts to fix four more oopsies * fixed actual divide by zero moment and also im very dumb * Fix all test fails * code cleanup * Webedit whitespace * Code cleaup * whitespace webedit * whitespace webedit * whitespace webedit * whitespace removal * Comments and cleanup * Re-Added 20 warnings as per Ork's request * Cleanups * Spacing fix * bugfixes and cleanup * Small bugfix * Actually dirty the slipComp for real * Added Friction field to Reagent Prototype per design discussion * Sliding system is kill
68 lines
2.1 KiB
C#
68 lines
2.1 KiB
C#
using Content.Shared.StepTrigger.Systems;
|
|
using Content.Shared.Whitelist;
|
|
using Robust.Shared.GameStates;
|
|
|
|
namespace Content.Shared.StepTrigger.Components;
|
|
|
|
[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)]
|
|
[Access(typeof(StepTriggerSystem))]
|
|
public sealed partial class StepTriggerComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// List of entities that are currently colliding with the entity.
|
|
/// </summary>
|
|
[ViewVariables, AutoNetworkedField]
|
|
public HashSet<EntityUid> Colliding = new();
|
|
|
|
/// <summary>
|
|
/// The list of entities that are standing on this entity,
|
|
/// which shouldn't be able to trigger it again until stepping off.
|
|
/// </summary>
|
|
[ViewVariables, AutoNetworkedField]
|
|
public HashSet<EntityUid> CurrentlySteppedOn = new();
|
|
|
|
/// <summary>
|
|
/// Whether or not this component will currently try to trigger for entities.
|
|
/// </summary>
|
|
[DataField, AutoNetworkedField]
|
|
public bool Active = true;
|
|
|
|
/// <summary>
|
|
/// Ratio of shape intersection for a trigger to occur.
|
|
/// </summary>
|
|
[DataField, AutoNetworkedField]
|
|
public float IntersectRatio = 0.3f;
|
|
|
|
/// <summary>
|
|
/// Entities will only be triggered if their speed exceeds this limit.
|
|
/// </summary>
|
|
[DataField, AutoNetworkedField]
|
|
public float RequiredTriggeredSpeed = 3.5f;
|
|
|
|
/// <summary>
|
|
/// If any entities occupy the blacklist on the same tile then steptrigger won't work.
|
|
/// </summary>
|
|
[DataField]
|
|
public EntityWhitelist? Blacklist;
|
|
|
|
/// <summary>
|
|
/// If this is true, steptrigger will still occur on entities that are in air / weightless. They do not
|
|
/// by default.
|
|
/// </summary>
|
|
[DataField, AutoNetworkedField]
|
|
public bool IgnoreWeightless;
|
|
|
|
/// <summary>
|
|
/// Does this have separate "StepOn" and "StepOff" triggers.
|
|
/// </summary>
|
|
[DataField, AutoNetworkedField]
|
|
public bool StepOn = false;
|
|
}
|
|
|
|
[RegisterComponent]
|
|
[Access(typeof(StepTriggerSystem))]
|
|
public sealed partial class StepTriggerActiveComponent : Component
|
|
{
|
|
|
|
}
|