Files
wwdpublic/Content.Shared/_Goobstation/Vehicles/SharedVehicleComponent.cs
Piras314 0e1570edd6 Port Vehicles from Mira Sector (#964)
* sound swapping

* initial vehicle support

* horn and siren

* add text and tags

* add spawners

* add atv to cargo catalog

* revert sound swap

* I forgor to add JanicartKeys to tags

* fill ATV Crate

* change acceleration and friction values

* remove the hack

* Add Wheelchairs

* Add Wheelchair Bound Trait

* fixes

* surgery integration

* cleanup

* move to goob

* fix

* final _goobstation / # goobstation fixes

* fix laying down bug

* Mapping

* Final fixes

* Add wheelchairs to medivend and medlathe

* fix

* Fix infinite money glitch

---------

Co-authored-by: Scruq445 <storchdamien@gmail.com>

(cherry picked from commit 561d04cb0362ab86b048609698cf716fee67d3bf)
2025-03-29 18:14:52 +03:00

74 lines
1.6 KiB
C#

using Robust.Shared.Audio;
using Robust.Shared.GameStates;
using Robust.Shared.Serialization;
namespace Content.Shared.Vehicles;
[RegisterComponent, NetworkedComponent]
public sealed partial class VehicleComponent : Component
{
[ViewVariables]
public EntityUid? Driver;
[ViewVariables]
public EntityUid? HornAction;
[ViewVariables]
public EntityUid? SirenAction;
public bool SirenEnabled = false;
public EntityUid? SirenStream;
/// <summary>
/// If non-zero how many virtual items to spawn on the driver
/// unbuckles them if they dont have enough
/// </summary>
[DataField]
public int RequiredHands = 1;
/// <summary>
/// Will the vehicle move when a driver buckles
/// </summary>
[DataField]
public bool EngineRunning = false;
/// <summary>
/// What sound to play when the driver presses the horn action (plays once)
/// </summary>
[DataField]
public SoundSpecifier? HornSound;
/// <summary>
/// What sound to play when the driver presses the siren action (loops)
/// </summary>
[DataField]
public SoundSpecifier? SirenSound;
/// <summary>
/// If they should be rendered ontop of the vehicle if true or behind
/// </summary>
[DataField]
public VehicleRenderOver RenderOver = VehicleRenderOver.None;
}
[Serializable, NetSerializable]
public enum VehicleState : byte
{
Animated,
DrawOver
}
[Serializable, NetSerializable, Flags]
public enum VehicleRenderOver
{
None = 0,
North = 1,
NorthEast = 2,
East = 4,
SouthEast = 8,
South = 16,
SouthWest = 32,
West = 64,
NorthWest = 128,
}