]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Remove vehicles (#24681)
authormetalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Thu, 1 Feb 2024 00:33:10 +0000 (11:33 +1100)
committerGitHub <noreply@github.com>
Thu, 1 Feb 2024 00:33:10 +0000 (11:33 +1100)
* Remove wheelchairs

Vehicle code is dogwater and wheelchairs just keeps exposing edgecases. If someone wants it brought it back they can do vehicle refactor.

* Also this one

* Remove vehicles

* goodbye vehicles

* Remove this check

* sasd

* Cronch

* Add sprites back

* jani

36 files changed:
Content.Client/Buckle/BuckleSystem.cs
Content.Client/Vehicle/VehicleSystem.cs [deleted file]
Content.Server/Vehicle/VehicleSystem.cs [deleted file]
Content.Shared/Buckle/Components/StrapComponent.cs
Content.Shared/Buckle/SharedBuckleSystem.Buckle.cs
Content.Shared/Foldable/FoldableComponent.cs
Content.Shared/Traits/Assorted/LegsParalyzedComponent.cs
Content.Shared/Vehicle/Components/InVehicleComponent.cs [deleted file]
Content.Shared/Vehicle/Components/RiderComponent.cs [deleted file]
Content.Shared/Vehicle/Components/VehicleComponent.cs [deleted file]
Content.Shared/Vehicle/SharedVehicleSystem.Rider.cs [deleted file]
Content.Shared/Vehicle/SharedVehicleSystem.cs [deleted file]
Resources/Locale/en-US/traits/traits.ftl
Resources/Locale/en-US/vehicle/vehicle.ftl [deleted file]
Resources/Prototypes/Catalog/Cargo/cargo_fun.yml
Resources/Prototypes/Catalog/Fills/Crates/fun.yml
Resources/Prototypes/Catalog/uplink_catalog.yml
Resources/Prototypes/Entities/Clothing/Belt/belts.yml
Resources/Prototypes/Entities/Markers/Spawners/vehicles.yml [deleted file]
Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml
Resources/Prototypes/Entities/Objects/Vehicles/actions.yml [deleted file]
Resources/Prototypes/Entities/Objects/Vehicles/buckleable.yml [deleted file]
Resources/Prototypes/Entities/Objects/Vehicles/keys.yml [deleted file]
Resources/Prototypes/Entities/Structures/Machines/lathe.yml
Resources/Prototypes/Objectives/stealTargetGroups.yml
Resources/Prototypes/Objectives/thief.yml
Resources/Prototypes/Procedural/salvage_rewards.yml
Resources/Prototypes/Recipes/Crafting/Graphs/bots/supplybot.yml [deleted file]
Resources/Prototypes/Recipes/Crafting/Graphs/bots/taxibot.yml [deleted file]
Resources/Prototypes/Recipes/Crafting/bots.yml
Resources/Prototypes/Recipes/Lathes/medical.yml
Resources/Prototypes/Roles/Jobs/Fun/misc_startinggear.yml
Resources/Prototypes/Traits/disabilities.yml
Resources/Prototypes/tags.yml
Resources/ServerInfo/Guidebook/Service/Janitorial.xml
Resources/migration.yml

index 8536c3c4293098cf390434ce6bb0550beb87327b..fea18e5cf3c11a309877396b08e5956e0b984225 100644 (file)
@@ -2,7 +2,6 @@ using Content.Client.Rotation;
 using Content.Shared.Buckle;
 using Content.Shared.Buckle.Components;
 using Content.Shared.Rotation;
-using Content.Shared.Vehicle.Components;
 using Robust.Client.GameObjects;
 
 namespace Content.Client.Buckle;
@@ -26,9 +25,6 @@ internal sealed class BuckleSystem : SharedBuckleSystem
         if (!TryComp<SpriteComponent>(uid, out var ownerSprite))
             return;
 
-        if (HasComp<VehicleComponent>(component.LastEntityBuckledTo))
-            return;
-
         // Adjust draw depth when the chair faces north so that the seat back is drawn over the player.
         // Reset the draw depth when rotated in any other direction.
         // TODO when ECSing, make this a visualizer
diff --git a/Content.Client/Vehicle/VehicleSystem.cs b/Content.Client/Vehicle/VehicleSystem.cs
deleted file mode 100644 (file)
index 2092163..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-using Content.Shared.Vehicle;
-using Content.Shared.Vehicle.Components;
-using Robust.Client.GameObjects;
-using Robust.Shared.GameStates;
-
-namespace Content.Client.Vehicle;
-
-public sealed class VehicleSystem : SharedVehicleSystem
-{
-    [Dependency] private EyeSystem _eye = default!;
-
-    public override void Initialize()
-    {
-        base.Initialize();
-
-        SubscribeLocalEvent<RiderComponent, ComponentStartup>(OnRiderStartup);
-        SubscribeLocalEvent<RiderComponent, ComponentShutdown>(OnRiderShutdown);
-        SubscribeLocalEvent<RiderComponent, ComponentHandleState>(OnRiderHandleState);
-        SubscribeLocalEvent<VehicleComponent, AppearanceChangeEvent>(OnVehicleAppearanceChange);
-    }
-
-    private void OnRiderStartup(EntityUid uid, RiderComponent component, ComponentStartup args)
-    {
-        // Center the player's eye on the vehicle
-        if (TryComp(uid, out EyeComponent? eyeComp))
-        {
-            _eye.SetTarget(uid, eyeComp.Target ?? component.Vehicle, eyeComp);
-        }
-    }
-
-    private void OnRiderShutdown(EntityUid uid, RiderComponent component, ComponentShutdown args)
-    {
-        // reset the riders eye centering.
-        if (TryComp(uid, out EyeComponent? eyeComp))
-        {
-            _eye.SetTarget(uid, null, eyeComp);
-        }
-    }
-
-    private void OnRiderHandleState(EntityUid uid, RiderComponent component, ref ComponentHandleState args)
-    {
-        if (args.Current is not RiderComponentState state)
-            return;
-
-        var entity = EnsureEntity<RiderComponent>(state.Entity, uid);
-
-        if (TryComp(uid, out EyeComponent? eyeComp) && eyeComp.Target == component.Vehicle)
-        {
-            _eye.SetTarget(uid, entity, eyeComp);
-        }
-
-        component.Vehicle = entity;
-    }
-
-    private void OnVehicleAppearanceChange(EntityUid uid, VehicleComponent component, ref AppearanceChangeEvent args)
-    {
-        if (args.Sprite == null)
-            return;
-
-        if (component.HideRider
-            && Appearance.TryGetData<bool>(uid, VehicleVisuals.HideRider, out var hide, args.Component)
-            && TryComp<SpriteComponent>(component.LastRider, out var riderSprite))
-            riderSprite.Visible = !hide;
-
-        // First check is for the sprite itself
-        if (Appearance.TryGetData<int>(uid, VehicleVisuals.DrawDepth, out var drawDepth, args.Component))
-            args.Sprite.DrawDepth = drawDepth;
-
-        // Set vehicle layer to animated or not (i.e. are the wheels turning or not)
-        if (component.AutoAnimate
-            && Appearance.TryGetData<bool>(uid, VehicleVisuals.AutoAnimate, out var autoAnimate, args.Component))
-            args.Sprite.LayerSetAutoAnimated(VehicleVisualLayers.AutoAnimate, autoAnimate);
-    }
-}
-
-public enum VehicleVisualLayers : byte
-{
-    /// Layer for the vehicle's wheels
-    AutoAnimate,
-}
diff --git a/Content.Server/Vehicle/VehicleSystem.cs b/Content.Server/Vehicle/VehicleSystem.cs
deleted file mode 100644 (file)
index f0eea36..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-using Content.Shared.Vehicle;
-
-namespace Content.Server.Vehicle;
-
-public sealed class VehicleSystem : SharedVehicleSystem
-{
-}
index b0f37a8dafb0e94d0a5c0aea6f78b9b69b4a2571..f25e1b0374164a5740f267c833d3cebfebca9eca 100644 (file)
@@ -1,6 +1,5 @@
 using System.Numerics;
 using Content.Shared.Alert;
-using Content.Shared.Vehicle;
 using Content.Shared.Whitelist;
 using Robust.Shared.Audio;
 using Robust.Shared.GameStates;
@@ -9,7 +8,7 @@ using Robust.Shared.Serialization;
 namespace Content.Shared.Buckle.Components;
 
 [RegisterComponent, NetworkedComponent, AutoGenerateComponentState]
-[Access(typeof(SharedBuckleSystem), typeof(SharedVehicleSystem))]
+[Access(typeof(SharedBuckleSystem))]
 public sealed partial class StrapComponent : Component
 {
     /// <summary>
index cfaea47d304c01b3d85f2d1d30e2afa023d34848..731b2892aa87bcebfeb540a50db7347206f76f82 100644 (file)
@@ -16,7 +16,6 @@ using Content.Shared.Standing;
 using Content.Shared.Storage.Components;
 using Content.Shared.Stunnable;
 using Content.Shared.Throwing;
-using Content.Shared.Vehicle.Components;
 using Content.Shared.Verbs;
 using Robust.Shared.Physics.Components;
 using Robust.Shared.Physics.Events;
@@ -124,16 +123,6 @@ public abstract partial class SharedBuckleSystem
 
     private void OnBuckleStandAttempt(EntityUid uid, BuckleComponent component, StandAttemptEvent args)
     {
-        //Let entities stand back up while on vehicles so that they can be knocked down when slept/stunned
-        //This prevents an exploit that allowed people to become partially invulnerable to stuns
-        //while on vehicles
-
-        if (component.BuckledTo != null)
-        {
-            var buckle = component.BuckledTo;
-            if (TryComp<VehicleComponent>(buckle, out _))
-                return;
-        }
         if (component.Buckled)
             args.Cancel();
     }
@@ -149,8 +138,7 @@ public abstract partial class SharedBuckleSystem
         if (component.LifeStage > ComponentLifeStage.Running)
             return;
 
-        if (component.Buckled &&
-            !HasComp<VehicleComponent>(component.BuckledTo)) // buckle+vehicle shitcode
+        if (component.Buckled) // buckle shitcode
             args.Cancel();
     }
 
@@ -436,10 +424,6 @@ public abstract partial class SharedBuckleSystem
             if (HasComp<SleepingComponent>(buckleUid) && buckleUid == userUid)
                 return false;
 
-            // If the strap is a vehicle and the rider is not the person unbuckling, return. Unless the rider is crit or dead.
-            if (TryComp<VehicleComponent>(strapUid, out var vehicle) && vehicle.Rider != userUid && !_mobState.IsIncapacitated(buckleUid))
-                return false;
-
             // If the person is crit or dead in any kind of strap, return. This prevents people from unbuckling themselves while incapacitated.
             if (_mobState.IsIncapacitated(buckleUid) && userUid == buckleUid)
                 return false;
index 7303f64fdbcd3bf5d876c61daa264c34e0d81925..1943327c0d793d7e04cb05052f91f69a4e23e0e3 100644 (file)
@@ -4,10 +4,10 @@ using Robust.Shared.Serialization;
 namespace Content.Shared.Foldable;
 
 /// <summary>
-/// Used to create "foldable structures" that you can pickup like an item when folded. Used for rollerbeds and wheelchairs.
+/// Used to create "foldable structures" that you can pickup like an item when folded.
 /// </summary>
 /// <remarks>
-/// Wiill prevent any insertions into containers while this item is unfolded.
+/// Will prevent any insertions into containers while this item is unfolded.
 /// </remarks>
 [RegisterComponent]
 [NetworkedComponent]
index 7716749da1912c37a633de93a5688a9c03df06bf..59f9ca758bc373d124c29d7d62f8ad1ae4029593 100644 (file)
@@ -4,7 +4,6 @@ namespace Content.Shared.Traits.Assorted;
 
 /// <summary>
 /// Set player speed to zero and standing state to down, simulating leg paralysis.
-/// Used for Wheelchair bound trait.
 /// </summary>
 [RegisterComponent, NetworkedComponent, Access(typeof(LegsParalyzedSystem))]
 public sealed partial class LegsParalyzedComponent : Component
diff --git a/Content.Shared/Vehicle/Components/InVehicleComponent.cs b/Content.Shared/Vehicle/Components/InVehicleComponent.cs
deleted file mode 100644 (file)
index 77229f1..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-using Robust.Shared.GameStates;
-
-namespace Content.Shared.Vehicle.Components
-{
-    /// <summary>
-    /// Added to objects inside a vehicle to stop people besides the rider from
-    /// removing them.
-    /// </summary>
-    [RegisterComponent, NetworkedComponent]
-    public sealed partial class InVehicleComponent : Component
-    {
-        /// <summary>
-        /// The vehicle this rider is currently riding.
-        /// </summary>
-        [ViewVariables] public VehicleComponent? Vehicle;
-    }
-}
diff --git a/Content.Shared/Vehicle/Components/RiderComponent.cs b/Content.Shared/Vehicle/Components/RiderComponent.cs
deleted file mode 100644 (file)
index a661884..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-using Robust.Shared.GameStates;
-using Robust.Shared.Serialization;
-
-namespace Content.Shared.Vehicle.Components;
-
-/// <summary>
-/// Added to people when they are riding in a vehicle
-/// used mostly to keep track of them for entityquery.
-/// </summary>
-[RegisterComponent, NetworkedComponent]
-public sealed partial class RiderComponent : Component
-{
-    /// <summary>
-    /// The vehicle this rider is currently riding.
-    /// </summary>
-    [ViewVariables] public EntityUid? Vehicle;
-
-    public override bool SendOnlyToOwner => true;
-}
-
-[Serializable, NetSerializable]
-public sealed class RiderComponentState : ComponentState
-{
-    public NetEntity? Entity;
-}
diff --git a/Content.Shared/Vehicle/Components/VehicleComponent.cs b/Content.Shared/Vehicle/Components/VehicleComponent.cs
deleted file mode 100644 (file)
index a4a4d89..0000000
+++ /dev/null
@@ -1,114 +0,0 @@
-using System.Numerics;
-using Robust.Shared.Audio;
-using Robust.Shared.GameStates;
-using Robust.Shared.Prototypes;
-using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
-
-namespace Content.Shared.Vehicle.Components;
-
-/// <summary>
-/// This is particularly for vehicles that use
-/// buckle. Stuff like clown cars may need a different
-/// component at some point.
-/// All vehicles should have Physics, Strap, and SharedPlayerInputMover components.
-/// </summary>
-[AutoGenerateComponentState]
-[RegisterComponent, NetworkedComponent]
-[Access(typeof(SharedVehicleSystem))]
-public sealed partial class VehicleComponent : Component
-{
-    /// <summary>
-    /// The entity currently riding the vehicle.
-    /// </summary>
-    [ViewVariables]
-    [AutoNetworkedField]
-    public EntityUid? Rider;
-
-    [ViewVariables]
-    [AutoNetworkedField]
-    public EntityUid? LastRider;
-
-    /// <summary>
-    /// The base offset for the vehicle (when facing east)
-    /// </summary>
-    [ViewVariables]
-    public Vector2 BaseBuckleOffset = Vector2.Zero;
-
-    /// <summary>
-    /// The sound that the horn makes
-    /// </summary>
-    [DataField("hornSound")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public SoundSpecifier? HornSound = new SoundPathSpecifier("/Audio/Effects/Vehicle/carhorn.ogg")
-    {
-        Params = AudioParams.Default.WithVolume(-3f)
-    };
-
-    [ViewVariables]
-    public EntityUid? HonkPlayingStream;
-
-    /// Use ambient sound component for the idle sound.
-
-    [DataField("hornAction", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
-    public string? HornAction = "ActionVehicleHorn";
-
-    /// <summary>
-    /// The action for the horn (if any)
-    /// </summary>
-    [DataField("hornActionEntity")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public EntityUid? HornActionEntity;
-
-    /// <summary>
-    /// Whether the vehicle has a key currently inside it or not.
-    /// </summary>
-    [DataField("hasKey")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool HasKey;
-
-    /// <summary>
-    /// Determines from which side the vehicle will be displayed on top of the player.
-    /// </summary>
-
-    [DataField("southOver")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool SouthOver;
-
-    [DataField("northOver")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool NorthOver;
-
-    [DataField("westOver")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool WestOver;
-
-    [DataField("eastOver")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool EastOver;
-
-    /// <summary>
-    /// What the y buckle offset should be in north / south
-    /// </summary>
-    [DataField("northOverride")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public float NorthOverride;
-
-    /// <summary>
-    /// What the y buckle offset should be in north / south
-    /// </summary>
-    [DataField("southOverride")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public float SouthOverride;
-
-    [DataField("autoAnimate")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool AutoAnimate = true;
-
-    [DataField("useHand")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool UseHand = true;
-
-    [DataField("hideRider")]
-    [ViewVariables(VVAccess.ReadWrite)]
-    public bool HideRider;
-}
diff --git a/Content.Shared/Vehicle/SharedVehicleSystem.Rider.cs b/Content.Shared/Vehicle/SharedVehicleSystem.Rider.cs
deleted file mode 100644 (file)
index 3acd823..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-using Content.Shared.Hands;
-using Content.Shared.Physics.Pull;
-using Content.Shared.Vehicle.Components;
-using Robust.Shared.GameStates;
-
-namespace Content.Shared.Vehicle;
-
-public abstract partial class SharedVehicleSystem
-{
-    private void InitializeRider()
-    {
-        SubscribeLocalEvent<RiderComponent, ComponentGetState>(OnRiderGetState);
-        SubscribeLocalEvent<RiderComponent, VirtualItemDeletedEvent>(OnVirtualItemDeleted);
-        SubscribeLocalEvent<RiderComponent, PullAttemptEvent>(OnPullAttempt);
-    }
-
-    private void OnRiderGetState(EntityUid uid, RiderComponent component, ref ComponentGetState args)
-    {
-        args.State = new RiderComponentState()
-        {
-            Entity = GetNetEntity(component.Vehicle),
-        };
-    }
-
-    /// <summary>
-    /// Kick the rider off the vehicle if they press q / drop the virtual item
-    /// </summary>
-    private void OnVirtualItemDeleted(EntityUid uid, RiderComponent component, VirtualItemDeletedEvent args)
-    {
-        if (args.BlockingEntity == component.Vehicle)
-        {
-            _buckle.TryUnbuckle(uid, uid, true);
-        }
-    }
-
-    private void OnPullAttempt(EntityUid uid, RiderComponent component, PullAttemptEvent args)
-    {
-        if (component.Vehicle != null)
-            args.Cancelled = true;
-    }
-}
diff --git a/Content.Shared/Vehicle/SharedVehicleSystem.cs b/Content.Shared/Vehicle/SharedVehicleSystem.cs
deleted file mode 100644 (file)
index 50143ae..0000000
+++ /dev/null
@@ -1,374 +0,0 @@
-using System.Numerics;
-using Content.Shared.Access.Components;
-using Content.Shared.Actions;
-using Content.Shared.Audio;
-using Content.Shared.Buckle;
-using Content.Shared.Buckle.Components;
-using Content.Shared.Hands;
-using Content.Shared.Inventory.VirtualItem;
-using Content.Shared.Item;
-using Content.Shared.Light.Components;
-using Content.Shared.Movement.Components;
-using Content.Shared.Movement.Systems;
-using Content.Shared.Popups;
-using Content.Shared.Tag;
-using Content.Shared.Vehicle.Components;
-using Robust.Shared.Audio;
-using Robust.Shared.Audio.Systems;
-using Robust.Shared.Containers;
-using Robust.Shared.Network;
-using Robust.Shared.Physics.Systems;
-using Robust.Shared.Serialization;
-
-namespace Content.Shared.Vehicle;
-
-/// <summary>
-/// Stores the VehicleVisuals and shared event
-/// Nothing for a system but these need to be put somewhere in
-/// Content.Shared
-/// </summary>
-public abstract partial class SharedVehicleSystem : EntitySystem
-{
-    [Dependency] private readonly INetManager _netManager = default!;
-
-    [Dependency] protected readonly SharedAppearanceSystem Appearance = default!;
-    [Dependency] private readonly SharedAudioSystem _audioSystem = default!;
-    [Dependency] private readonly MovementSpeedModifierSystem _modifier = default!;
-    [Dependency] private readonly SharedAmbientSoundSystem _ambientSound = default!;
-    [Dependency] private readonly SharedTransformSystem _transform = default!;
-    [Dependency] private readonly TagSystem _tagSystem = default!;
-    [Dependency] private readonly SharedPopupSystem _popupSystem = default!;
-    [Dependency] private readonly SharedVirtualItemSystem _virtualItemSystem = default!;
-    [Dependency] private readonly SharedActionsSystem _actionsSystem = default!;
-    [Dependency] private readonly SharedJointSystem _joints = default!;
-    [Dependency] private readonly SharedBuckleSystem _buckle = default!;
-    [Dependency] private readonly SharedMoverController _mover = default!;
-
-    private const string KeySlot = "key_slot";
-
-    /// <inheritdoc/>
-    public override void Initialize()
-    {
-        base.Initialize();
-        InitializeRider();
-
-        SubscribeLocalEvent<VehicleComponent, ComponentStartup>(OnVehicleStartup);
-        SubscribeLocalEvent<VehicleComponent, BuckleChangeEvent>(OnBuckleChange);
-        SubscribeLocalEvent<VehicleComponent, HonkActionEvent>(OnHonkAction);
-        SubscribeLocalEvent<VehicleComponent, EntInsertedIntoContainerMessage>(OnEntInserted);
-        SubscribeLocalEvent<VehicleComponent, EntRemovedFromContainerMessage>(OnEntRemoved);
-        SubscribeLocalEvent<VehicleComponent, RefreshMovementSpeedModifiersEvent>(OnRefreshMovementSpeedModifiers);
-        SubscribeLocalEvent<VehicleComponent, MoveEvent>(OnMoveEvent);
-        SubscribeLocalEvent<VehicleComponent, GetAdditionalAccessEvent>(OnGetAdditionalAccess);
-
-        SubscribeLocalEvent<InVehicleComponent, GettingPickedUpAttemptEvent>(OnGettingPickedUpAttempt);
-    }
-
-    /// <summary>
-    /// This just controls whether the wheels are turning.
-    /// </summary>
-    public override void Update(float frameTime)
-    {
-        var vehicleQuery = EntityQueryEnumerator<VehicleComponent, InputMoverComponent>();
-        while (vehicleQuery.MoveNext(out var uid, out var vehicle, out var mover))
-        {
-            if (!vehicle.AutoAnimate)
-                continue;
-
-            // Why is this updating appearance data every tick, instead of when it needs to be updated???
-
-            if (_mover.GetVelocityInput(mover).Sprinting == Vector2.Zero)
-            {
-                UpdateAutoAnimate(uid, false);
-                continue;
-            }
-
-            UpdateAutoAnimate(uid, true);
-        }
-    }
-
-    private void OnVehicleStartup(EntityUid uid, VehicleComponent component, ComponentStartup args)
-    {
-        UpdateDrawDepth(uid, 2);
-
-        // This code should be purged anyway but with that being said this doesn't handle components being changed.
-        if (TryComp<StrapComponent>(uid, out var strap))
-        {
-            component.BaseBuckleOffset = strap.BuckleOffsetClamped;
-            strap.BuckleOffset = Vector2.Zero;
-        }
-
-        _modifier.RefreshMovementSpeedModifiers(uid);
-    }
-
-    /// <summary>
-    /// Give the user the rider component if they're buckling to the vehicle,
-    /// otherwise remove it.
-    /// </summary>
-    private void OnBuckleChange(EntityUid uid, VehicleComponent component, ref BuckleChangeEvent args)
-    {
-        // Add Rider
-        if (args.Buckling)
-        {
-            if (component.UseHand == true)
-            {
-                // Add a virtual item to rider's hand, unbuckle if we can't.
-                if (!_virtualItemSystem.TrySpawnVirtualItemInHand(uid, args.BuckledEntity))
-                {
-                    _buckle.TryUnbuckle(uid, uid, true);
-                    return;
-                }
-            }
-            // Set up the rider and vehicle with each other
-            EnsureComp<InputMoverComponent>(uid);
-            var rider = EnsureComp<RiderComponent>(args.BuckledEntity);
-            component.Rider = args.BuckledEntity;
-            component.LastRider = component.Rider;
-            Dirty(component);
-            Appearance.SetData(uid, VehicleVisuals.HideRider, true);
-
-            _mover.SetRelay(args.BuckledEntity, uid);
-            rider.Vehicle = uid;
-
-            // Update appearance stuff, add actions
-            UpdateBuckleOffset(uid, Transform(uid), component);
-            if (TryComp<InputMoverComponent>(uid, out var mover))
-                UpdateDrawDepth(uid, GetDrawDepth(Transform(uid), component, mover.RelativeRotation.Degrees));
-
-            if (TryComp<ActionsComponent>(args.BuckledEntity, out var actions) && TryComp<UnpoweredFlashlightComponent>(uid, out var flashlight))
-            {
-                _actionsSystem.AddAction(args.BuckledEntity, ref flashlight.ToggleActionEntity, flashlight.ToggleAction, uid, actions);
-            }
-
-            if (component.HornSound != null)
-            {
-                _actionsSystem.AddAction(args.BuckledEntity, ref component.HornActionEntity, component.HornAction, uid, actions);
-            }
-
-            _joints.ClearJoints(args.BuckledEntity);
-
-            _tagSystem.AddTag(uid, "DoorBumpOpener");
-
-            return;
-        }
-
-        // Remove rider
-
-        // Clean up actions and virtual items
-        _actionsSystem.RemoveProvidedActions(args.BuckledEntity, uid);
-
-        if (component.UseHand == true)
-            _virtualItemSystem.DeleteInHandsMatching(args.BuckledEntity, uid);
-
-
-        // Entity is no longer riding
-        RemComp<RiderComponent>(args.BuckledEntity);
-        RemComp<RelayInputMoverComponent>(args.BuckledEntity);
-        _tagSystem.RemoveTag(uid, "DoorBumpOpener");
-
-        Appearance.SetData(uid, VehicleVisuals.HideRider, false);
-        // Reset component
-        component.Rider = null;
-        Dirty(component);
-    }
-
-    /// <summary>
-    /// This fires when the rider presses the honk action
-    /// </summary>
-    private void OnHonkAction(EntityUid uid, VehicleComponent vehicle, HonkActionEvent args)
-    {
-        if (args.Handled || vehicle.HornSound == null)
-            return;
-
-        // TODO: Need audio refactor maybe, just some way to null it when the stream is over.
-        // For now better to just not loop to keep the code much cleaner.
-        vehicle.HonkPlayingStream = _audioSystem.PlayPredicted(vehicle.HornSound, uid, uid)?.Entity;
-        args.Handled = true;
-    }
-
-    /// <summary>
-    /// Handle adding keys to the ignition, give stuff the InVehicleComponent so it can't be picked
-    /// up by people not in the vehicle.
-    /// </summary>
-    private void OnEntInserted(EntityUid uid, VehicleComponent component, EntInsertedIntoContainerMessage args)
-    {
-        if (args.Container.ID != KeySlot ||
-            !_tagSystem.HasTag(args.Entity, "VehicleKey"))
-            return;
-
-        // Enable vehicle
-        var inVehicle = EnsureComp<InVehicleComponent>(args.Entity);
-        inVehicle.Vehicle = component;
-
-        component.HasKey = true;
-
-        var msg = Loc.GetString("vehicle-use-key",
-            ("keys", args.Entity), ("vehicle", uid));
-        if (_netManager.IsServer)
-            _popupSystem.PopupEntity(msg, uid, args.OldParent, PopupType.Medium);
-
-        // Audiovisual feedback
-        _ambientSound.SetAmbience(uid, true);
-        _modifier.RefreshMovementSpeedModifiers(uid);
-    }
-
-    /// <summary>
-    /// Turn off the engine when key is removed.
-    /// </summary>
-    private void OnEntRemoved(EntityUid uid, VehicleComponent component, EntRemovedFromContainerMessage args)
-    {
-        if (args.Container.ID != KeySlot || !RemComp<InVehicleComponent>(args.Entity))
-            return;
-
-        // Disable vehicle
-        component.HasKey = false;
-        _ambientSound.SetAmbience(uid, false);
-        _modifier.RefreshMovementSpeedModifiers(uid);
-    }
-
-    private void OnRefreshMovementSpeedModifiers(EntityUid uid, VehicleComponent component, RefreshMovementSpeedModifiersEvent args)
-    {
-        if (!component.HasKey)
-        {
-            args.ModifySpeed(0f, 0f);
-        }
-    }
-
-    // TODO: Shitcode, needs to use sprites instead of actual offsets.
-    private void OnMoveEvent(EntityUid uid, VehicleComponent component, ref MoveEvent args)
-    {
-        if (args.NewRotation == args.OldRotation)
-            return;
-
-        // This first check is just for safety
-        if (component.AutoAnimate && !HasComp<InputMoverComponent>(uid))
-        {
-            UpdateAutoAnimate(uid, false);
-            return;
-        }
-
-        UpdateBuckleOffset(uid, args.Component, component);
-        if (TryComp<InputMoverComponent>(uid, out var mover))
-            UpdateDrawDepth(uid, GetDrawDepth(args.Component, component, mover.RelativeRotation));
-    }
-
-    private void OnGettingPickedUpAttempt(EntityUid uid, InVehicleComponent component, GettingPickedUpAttemptEvent args)
-    {
-        if (component.Vehicle == null || component.Vehicle.Rider != null && component.Vehicle.Rider != args.User)
-            args.Cancel();
-    }
-
-    /// <summary>
-    /// Depending on which direction the vehicle is facing,
-    /// change its draw depth. Vehicles can choose between special drawdetph
-    /// when facing north or south. East and west are easy.
-    /// </summary>
-    private int GetDrawDepth(TransformComponent xform, VehicleComponent component, Angle cameraAngle)
-    {
-        var itemDirection = cameraAngle.GetDir() switch
-        {
-            Direction.South => xform.LocalRotation.GetDir(),
-            Direction.North => xform.LocalRotation.RotateDir(Direction.North),
-            Direction.West => xform.LocalRotation.RotateDir(Direction.East),
-            Direction.East => xform.LocalRotation.RotateDir(Direction.West),
-            _ => Direction.South
-        };
-
-        return itemDirection switch
-        {
-            Direction.North => component.NorthOver
-                ? (int) DrawDepth.DrawDepth.Doors
-                : (int) DrawDepth.DrawDepth.WallMountedItems,
-            Direction.South => component.SouthOver
-                ? (int) DrawDepth.DrawDepth.Doors
-                : (int) DrawDepth.DrawDepth.WallMountedItems,
-            Direction.West => component.WestOver
-                ? (int) DrawDepth.DrawDepth.Doors
-                : (int) DrawDepth.DrawDepth.WallMountedItems,
-            Direction.East => component.EastOver
-                ? (int) DrawDepth.DrawDepth.Doors
-                : (int) DrawDepth.DrawDepth.WallMountedItems,
-            _ => (int) DrawDepth.DrawDepth.WallMountedItems
-        };
-    }
-
-
-    /// <summary>
-    /// Change the buckle offset based on what direction the vehicle is facing and
-    /// teleport any buckled entities to it. This is the most crucial part of making
-    /// buckled vehicles work.
-    /// </summary>
-    private void UpdateBuckleOffset(EntityUid uid, TransformComponent xform, VehicleComponent component)
-    {
-        if (!TryComp<StrapComponent>(uid, out var strap))
-            return;
-
-        // TODO: Strap should handle this but buckle E/C moment.
-        var oldOffset = strap.BuckleOffset;
-
-        strap.BuckleOffset = xform.LocalRotation.Degrees switch
-        {
-            < 45f => new(0, component.SouthOverride),
-            <= 135f => component.BaseBuckleOffset,
-            < 225f  => new(0, component.NorthOverride),
-            <= 315f => new(component.BaseBuckleOffset.X * -1, component.BaseBuckleOffset.Y),
-            _ => new(0, component.SouthOverride)
-        };
-
-        if (!oldOffset.Equals(strap.BuckleOffset))
-            Dirty(strap);
-
-        foreach (var buckledEntity in strap.BuckledEntities)
-        {
-            var buckleXform = Transform(buckledEntity);
-            _transform.SetLocalPositionNoLerp(buckleXform, strap.BuckleOffsetClamped);
-        }
-    }
-
-    private void OnGetAdditionalAccess(EntityUid uid, VehicleComponent component, ref GetAdditionalAccessEvent args)
-    {
-        if (component.Rider == null)
-            return;
-        args.Entities.Add(component.Rider.Value);
-    }
-
-    /// <summary>
-    /// Set the draw depth for the sprite.
-    /// </summary>
-    private void UpdateDrawDepth(EntityUid uid, int drawDepth)
-    {
-        Appearance.SetData(uid, VehicleVisuals.DrawDepth, drawDepth);
-    }
-
-    /// <summary>
-    /// Set whether the vehicle's base layer is animating or not.
-    /// </summary>
-    private void UpdateAutoAnimate(EntityUid uid, bool autoAnimate)
-    {
-        Appearance.SetData(uid, VehicleVisuals.AutoAnimate, autoAnimate);
-    }
-}
-
-/// <summary>
-/// Stores the vehicle's draw depth mostly
-/// </summary>
-[Serializable, NetSerializable]
-public enum VehicleVisuals : byte
-{
-    /// <summary>
-    /// What layer the vehicle should draw on (assumed integer)
-    /// </summary>
-    DrawDepth,
-    /// <summary>
-    /// Whether the wheels should be turning
-    /// </summary>
-    AutoAnimate,
-    HideRider
-}
-
-/// <summary>
-/// Raised when someone honks a vehicle horn
-/// </summary>
-public sealed partial class HonkActionEvent : InstantActionEvent
-{
-}
index f8f8021e86fdf5647634e2c5634661ea9dcbb83d..89f0e04f5a55c504b4b99ed4a18062543a7048fd 100644 (file)
@@ -27,9 +27,6 @@ trait-pirate-accent-desc = You can't stop speaking like a pirate!
 trait-accentless-name = Accentless
 trait-accentless-desc = You don't have the accent that your species would usually have
 
-trait-wheelchair-bound-name = Wheelchair Bound
-trait-wheelchair-bound-desc = You cannot move without your wheelchair. Wheelchair included.
-
 trait-frontal-lisp-name = Frontal Lisp
 trait-frontal-lisp-desc = You thpeak with a lithp
 
diff --git a/Resources/Locale/en-US/vehicle/vehicle.ftl b/Resources/Locale/en-US/vehicle/vehicle.ftl
deleted file mode 100644 (file)
index 0fb99d2..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-vehicle-use-key = You use {THE($keys)} to start {THE($vehicle)}.
-
-vehicle-slot-component-slot-name-keys = Keys
index 3dd05ec3a70833ccb1c95417e36486c4cd1cc902..771a447ab8fc40a21b13ba6baca17e4e4abb8e1f 100644 (file)
   category: Fun
   group: market
 
-- type: cargoProduct
-  id: FunATV
-  icon:
-    sprite: Objects/Vehicles/atv.rsi
-    state: vehicle
-  product: CrateFunATV
-  cost: 1500
-  category: Fun
-  group: market
-
 - type: cargoProduct
   id: FunSadTromboneImplants
   icon:
index 6c9c14b2bdcf92f0f7628a97473251daf8b80ff9..d5e87fe0b58cb4f27ad8c8157c4daf1945bf119e 100644 (file)
       - id: DiceBag
         amount: 6
 
-- type: entity
-  id: CrateFunATV
-  parent: CrateLivestock
-  name: ATV crate
-  description: An Absolutely Taxable Vehicle to help cargo with hauling.
-  components:
-  - type: StorageFill
-    contents:
-      - id: VehicleATV
-      - id: VehicleKeyATV
-
 - type: entity
   id: CrateFunSadTromboneImplants
   parent: CrateGenericSteel
       - id: WeaponWaterPistol
         amount: 4
 
-- type: entity
-  id: CrateFunSyndicateSegway
-  parent: CrateLivestock
-  name: Syndicate segway crate
-  description: A crate containing a two-wheeler that will help you escape from the security officers. Or not.
-  components:
-    - type: StorageFill
-      contents:
-        - id: VehicleSyndicateSegway
-        - id: VehicleKeySyndicateSegway
-
 - type: entity
   id: CrateFunBoxing
   parent: CrateGenericSteel
       - id: MrDips
         orGroup: Giftpool
       - id: RevolverCapGun
-      - id: VehicleUnicycleFolded
       - id: ClothingShoesClownLarge
       - id: ClothingHeadHatMagician
       - id: BeachBall
index 7735d93643ee7516f087c1b3ea87ea29774fd7b9..b4e0604ca9def631cc20ab782df3770bf8ad5f8c 100644 (file)
   categories:
   - UplinkMisc
 
-- type: listing
-  id: UplinkSyndicateSegwayCrate
-  name: uplink-syndicate-segway-crate-name
-  description: uplink-syndicate-segway-crate-desc
-  icon: { sprite: /Textures/Objects/Vehicles/syndicatesegway.rsi, state: icon }
-  productEntity: CrateFunSyndicateSegway
-  cost:
-    Telecrystal: 5
-  categories:
-  - UplinkMisc
-  conditions:
-  - !type:BuyerWhitelistCondition
-    blacklist:
-      components:
-      - SurplusBundle
-
 - type: listing
   id: UplinkBribe
   name: uplink-bribe-name
index 3e0838067282ebfabb3384e1243bf1339620db1f..d5976d1ddaa5aadb4faa4946b6dc17850138db97 100644 (file)
         - HolosignProjector
         - Plunger
         - LightReplacer
-        - JanicartKeys
       components:
         - LightReplacer
   - type: ItemMapper
diff --git a/Resources/Prototypes/Entities/Markers/Spawners/vehicles.yml b/Resources/Prototypes/Entities/Markers/Spawners/vehicles.yml
deleted file mode 100644 (file)
index ee73528..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-- type: entity
-  name: Secway Spawner
-  id: SpawnVehicleSecway
-  parent: MarkerBase
-  components:
-  - type: Sprite
-    layers:
-      - state: green
-      - sprite: Objects/Vehicles/secway.rsi
-        state: keys
-  - type: ConditionalSpawner
-    prototypes:
-      - VehicleSecway
-
-- type: entity
-  name: Janicart Spawner
-  id: SpawnVehicleJanicart
-  parent: MarkerBase
-  components:
-  - type: Sprite
-    layers:
-      - state: green
-      - sprite: Objects/Vehicles/janicart.rsi
-        state: keys
-  - type: ConditionalSpawner
-    prototypes:
-      - VehicleJanicart
-
-- type: entity
-  name: ATV Spawner
-  id: SpawnVehicleATV
-  parent: MarkerBase
-  components:
-  - type: Sprite
-    layers:
-      - state: green
-      - sprite: Objects/Vehicles/atv.rsi
-        state: keys
-  - type: ConditionalSpawner
-    prototypes:
-      - VehicleATV
-
-- type: entity
-  name: Motobike Spawner
-  id: SpawnVehicleMotobike
-  parent: MarkerBase
-  components:
-  - type: Sprite
-    layers:
-      - state: green
-      - sprite: Objects/Vehicles/motorbike.rsi
-        state: keys
-  - type: ConditionalSpawner
-    prototypes:
-      - VehicleSkeletonMotorcycle
-      
-- type: entity
-  name: Wheelchair Spawner
-  id: SpawnVehicleWheelchair
-  parent: MarkerBase
-  components:
-  - type: Sprite
-    layers:
-      - state: green
-      - sprite: Objects/Vehicles/wheelchair.rsi
-        state: vehicle
-  - type: ConditionalSpawner
-    prototypes:
-      - VehicleWheelchair
-      
-- type: entity
-  name: Wheelchair [Folded] Spawner
-  id: SpawnVehicleWheelchairFolded
-  parent: MarkerBase
-  components:
-  - type: Sprite
-    layers:
-      - state: green
-      - sprite: Objects/Vehicles/wheelchair.rsi
-        state: vehicle_folded
-  - type: ConditionalSpawner
-    prototypes:
-      - VehicleWheelchairFolded
\ No newline at end of file
index cd7882d3d1d2d7eef858d4b5149838f2623f1f76..42b7ff9e2119f94f2bad92aa266f1e68415da850 100644 (file)
     proto: robot
   - type: ZombieImmune
 
-- type: entity
-  parent: [ MobSiliconBase, BaseVehicle]
-  id: MobSiliconBaseVehicle # for vehicles
-  abstract: true
-  components:
-  - type: NoSlip
-  - type: GhostTakeoverAvailable
-  - type: GhostRole
-    makeSentient: true
-  - type: UnpoweredFlashlight
-  - type: PointLight
-    enabled: false
-    radius: 3.5
-    softness: 2
-    mask: /Textures/Effects/LightMasks/cone.png
-    autoRot: true
-
-- type: entity
-  parent: MobSiliconBaseVehicle
-  id: MobTaxiBot
-  name: taxibot
-  description: Give a ride?
-  components:
-  - type: Sprite
-    sprite: Mobs/Silicon/Bots/taxibot.rsi
-    layers:
-    - state: taxibot
-      map: ["enum.VehicleVisualLayers.AutoAnimate"]
-  - type: GhostRole
-    name: ghost-role-information-taxibot-name
-    description: ghost-role-information-taxibot-description
-  - type: Strap
-    buckleOffset: "0, 0"
-    maxBuckleDistance: 1
-  - type: Construction
-    graph: TaxiBot
-    node: bot
-
-- type: entity
-  parent: MobSiliconBaseVehicle
-  id: MobSupplyBot
-  name: supplybot
-  description: Delivers cargo!
-  components:
-  - type: Sprite
-    sprite: Mobs/Silicon/Bots/supplybot.rsi
-    layers:
-    - state: supplybot
-      map: ["enum.VehicleVisualLayers.AutoAnimate"]
-  - type: GhostRole
-    name: ghost-role-information-supplybot-name
-    description: ghost-role-information-supplybot-description
-  - type: Construction
-    graph: SupplyBot
-    node: bot
-  - type: Storage
-    maxItemSize: Huge
-    grid:
-    - 0,0,9,3
-  - type: Access
-    groups:
-    - Cargo
-  - type: UserInterface
-    interfaces:
-    - key: enum.StorageUiKey.Key
-      type: StorageBoundUserInterface
-  - type: ContainerContainer
-    containers:
-      storagebase: !type:Container
-        ents: []
-
 - type: entity
   parent: MobSiliconBase
   id: MobHonkBot
     interactSuccessSound:
       path: /Audio/Ambience/Objects/periodic_beep.ogg
   - type: ShowHealthBars
-    damageContainers: 
+    damageContainers:
     - Biological
   - type: ShowHealthIcons
-    damageContainers: 
+    damageContainers:
     - Biological
-  
+
 - type: entity
   parent: MobSiliconBase
   id: MobMimeBot
diff --git a/Resources/Prototypes/Entities/Objects/Vehicles/actions.yml b/Resources/Prototypes/Entities/Objects/Vehicles/actions.yml
deleted file mode 100644 (file)
index cee03f2..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-- type: entity
-  id: ActionVehicleHorn
-  name: Honk
-  description: Honk!
-  noSpawn: true
-  components:
-  - type: InstantAction
-    useDelay: 3.4
-    icon: Objects/Fun/bikehorn.rsi/icon.png
-    event: !type:HonkActionEvent
diff --git a/Resources/Prototypes/Entities/Objects/Vehicles/buckleable.yml b/Resources/Prototypes/Entities/Objects/Vehicles/buckleable.yml
deleted file mode 100644 (file)
index cf30f69..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-- type: entity
-  id: BaseVehicle
-  save: false
-  abstract: true
-  components:
-  - type: AmbientSound
-    sound: "/Audio/Effects/Vehicle/vehicleengineidle.ogg"
-    range: 10
-    volume: -10
-    enabled: false
-  - type: MovementSpeedModifier
-    weightlessModifier: 0
-    acceleration: 2
-    friction: 2
-    frictionNoInput: 6
-    baseWalkSpeed: 4.5
-    baseSprintSpeed: 6
-  - type: Repairable
-    fuelcost: 20
-    doAfterDelay: 20
-  - type: Damageable
-    damageContainer: Inorganic
-    damageModifierSet: Metallic
-  - type: Destructible
-    thresholds:
-    - trigger:
-        !type:DamageTrigger
-        damage: 600
-      behaviors:
-        - !type:DoActsBehavior
-          acts: [ "Destruction" ]
-    - trigger:
-        !type:DamageTrigger
-        damage: 300
-      behaviors:
-      - !type:DoActsBehavior
-        acts: ["Destruction"]
-      - !type:PlaySoundBehavior
-        sound:
-          collection: MetalGlassBreak
-      - !type:ExplodeBehavior
-
-- type: entity
-  parent: BaseVehicle
-  id: BaseVehicleRideable
-  abstract: true
-  name: Vehicle
-  components:
-  - type: Strap
-    buckleOffset: "0.10, 0.36"
-    maxBuckleDistance: 1
-  - type: InputMover
-  - type: InteractionOutline
-  - type: Vehicle
-  - type: Pullable
-  - type: Physics
-    bodyType: KinematicController
-  - type: Clickable
-  - type: Fixtures
-    fixtures:
-      fix1:
-        shape:
-          !type:PhysShapeCircle
-          radius: 0.4
-        density: 360
-        restitution: 0.0
-        mask:
-        - MobMask
-        layer:
-        - TableLayer
-  - type: Appearance
-  - type: ItemSlots
-    slots:
-      key_slot: #this slot name is important
-        name: vehicle-slot-component-slot-name-keys
-        whitelist:
-          requireAll: true
-          tags:
-          - VehicleKey
-        insertSound:
-          path: /Audio/Effects/Vehicle/vehiclestartup.ogg
-          params:
-            volume: -3
-  - type: StaticPrice
-    price: 750 # Grand Theft Auto.
-
-- type: entity
-  id: VehicleJanicart
-  parent: BaseVehicleRideable
-  name: janicart
-  description: The janitor's trusty steed.
-  components:
-  - type: Vehicle
-    southOver: true
-    westOver: true
-    eastOver: true
-    northOverride: -0.15
-    southOverride: 0.22
-  - type: Sprite
-    sprite: Objects/Vehicles/janicart.rsi
-    layers:
-    - state: vehicle
-      map: ["enum.VehicleVisualLayers.AutoAnimate"]
-    noRot: true
-  - type: UnpoweredFlashlight
-  - type: PointLight
-    enabled: false
-    radius: 3.5
-    softness: 2
-    mask: /Textures/Effects/LightMasks/cone.png
-    autoRot: true
-  - type: Destructible
-    thresholds:
-    - trigger:
-        !type:DamageTrigger
-        damage: 500
-      behaviors:
-        - !type:DoActsBehavior
-          acts: [ "Destruction" ]
-    - trigger:
-        !type:DamageTrigger
-        damage: 250
-      behaviors:
-      - !type:DoActsBehavior
-        acts: ["Destruction"]
-      - !type:PlaySoundBehavior
-        sound:
-          collection: MetalGlassBreak
-      - !type:ExplodeBehavior
-      - !type:SpawnEntitiesBehavior # in future should also emit a cloud of hot gas
-        spawn:
-          VehicleJanicartDestroyed:
-            min: 1
-            max: 1
-  - type: ItemSlots
-    slots:
-      key_slot:
-        name: vehicle-slot-component-slot-name-keys
-        whitelist:
-          requireAll: true
-          tags:
-          - VehicleKey
-          - JanicartKeys
-        insertSound:
-          path: /Audio/Effects/Vehicle/vehiclestartup.ogg
-          params:
-            volume: -3
-      trashbag_slot:
-        name: janitorial-trolley-slot-component-slot-name-trashbag
-        whitelist:
-          tags:
-            - TrashBag
-  - type: ItemMapper
-    mapLayers:
-      storage:
-        whitelist:
-          tags:
-            - TrashBag
-    sprite: Objects/Vehicles/janicart.rsi
-  - type: Appearance
-
-- type: entity
-  id: VehicleJanicartDestroyed
-  parent: MachineFrameDestroyed
-  name: destroyed janicart
-  components:
-  - type: Sprite
-    sprite: Objects/Vehicles/janicart.rsi
-    state: destroyed
-
-- type: entity
-  id: VehicleSecway
-  parent: BaseVehicleRideable
-  name: secway
-  description: The future of transportation. Popularized by St. James, the patron saint of security officers and internet forum moderators.
-  components:
-  - type: Vehicle
-    northOver: true
-    westOver: true
-    eastOver: true
-    northOverride: -0.1
-    southOverride: 0.1
-    hornSound:
-      path: /Audio/Effects/Vehicle/policesiren.ogg
-  - type: Sprite
-    sprite: Objects/Vehicles/secway.rsi
-    layers:
-    - state: vehicle
-      map: ["enum.VehicleVisualLayers.AutoAnimate"]
-    noRot: true
-  - type: Strap
-    buckleOffset: "0.15, -0.05"
-    maxBuckleDistance: 1
-  - type: MovementSpeedModifier
-    acceleration: 1
-    friction: 1
-    baseWalkSpeed: 4.5
-    baseSprintSpeed: 6
-  - type: Armor
-    modifiers:
-      coefficients:
-        Blunt: 0.8
-        Slash: 0.6
-        Piercing: 0.85
-  - type: ItemSlots
-    slots:
-      key_slot:
-        name: vehicle-slot-component-slot-name-keys
-        whitelist:
-          requireAll: true
-          tags:
-          - VehicleKey
-          - SecwayKeys
-        insertSound:
-          path: /Audio/Effects/Vehicle/vehiclestartup.ogg
-          params:
-            volume: -3
-  - type: StealTarget
-    stealGroup: VehicleSecway
-
-- type: entity
-  parent: BaseVehicleRideable
-  id: VehicleATV
-  name: ATV
-  description: All-Tile Vehicle.
-  components:
-  - type: Vehicle
-    southOver: true
-    northOver: true
-    northOverride: -0.1
-    southOverride: 0.1
-  - type: Sprite
-    sprite: Objects/Vehicles/atv.rsi
-    layers:
-    - state: vehicle
-      map: ["enum.VehicleVisualLayers.AutoAnimate"]
-    noRot: true
-  - type: RandomMetadata
-    descriptionSegments: [ATVDescriptions]
-  - type: MovementSpeedModifier
-    acceleration: 1
-    friction: 1
-    baseWalkSpeed: 4.5
-    baseSprintSpeed: 7
-  - type: Strap
-    buckleOffset: "0.1, -0.05"
-    maxBuckleDistance: 1
-  - type: UnpoweredFlashlight
-  - type: PointLight
-    enabled: false
-    radius: 3.5
-    softness: 2
-    mask: /Textures/Effects/LightMasks/cone.png
-    autoRot: true
-  - type: ItemSlots
-    slots:
-      key_slot:
-        name: vehicle-slot-component-slot-name-keys
-        whitelist:
-          requireAll: true
-          tags:
-          - VehicleKey
-          - ATVKeys
-        insertSound:
-          path: /Audio/Effects/Vehicle/vehiclestartup.ogg
-          params:
-            volume: -3
-
-- type: entity
-  id: VehicleSyndicateSegway
-  parent: BaseVehicleRideable
-  name: syndicate segway
-  description: Be an enemy of the corporation, in style.
-  components:
-    - type: Vehicle
-      southOver: true
-      westOver: true
-      eastOver: true
-      northOverride: -0.1
-      southOverride: 0.1
-      hornSound:
-        path: /Audio/Effects/Vehicle/policesiren.ogg
-    - type: Sprite
-      sprite: Objects/Vehicles/syndicatesegway.rsi
-      layers:
-        - state: vehicle
-          map: ["enum.VehicleVisualLayers.AutoAnimate"]
-      noRot: true
-    - type: Strap
-      buckleOffset: "0.15, -0.05"
-      maxBuckleDistance: 1
-    - type: Armor
-      modifiers:
-        coefficients:
-          Blunt: 0.8
-          Slash: 0.6
-          Piercing: 0.85
-    - type: ItemSlots
-      slots:
-        key_slot:
-          name: vehicle-slot-component-slot-name-keys
-          whitelist:
-            requireAll: true
-            tags:
-              - VehicleKey
-              - SyndicateSegwayKeys
-          insertSound:
-            path: /Audio/Effects/Vehicle/vehiclestartup.ogg
-            params:
-              volume: -3
-
-- type: entity
-  parent: BaseVehicleRideable
-  id: VehicleSkeletonMotorcycle
-  name: skeleton motorcycle
-  description: Bad to the Bone.
-  components:
-    - type: Vehicle
-      southOver: true
-      northOver: true
-      northOverride: -0.1
-      southOverride: 0.1
-    - type: Sprite
-      sprite: Objects/Vehicles/motorbike.rsi
-      layers:
-        - state: vehicle
-          map: ["enum.VehicleVisualLayers.AutoAnimate"]
-      noRot: true
-    - type: Strap
-      buckleOffset: "0.1, -0.05"
-      maxBuckleDistance: 1
-    - type: MovementSpeedModifier
-      acceleration: 2
-      friction: 1.5
-      baseWalkSpeed: 4.5
-      baseSprintSpeed: 7
-    - type: UnpoweredFlashlight
-    - type: PointLight
-      enabled: false
-      radius: 3.5
-      softness: 2
-      mask: /Textures/Effects/LightMasks/cone.png
-      autoRot: true
-    - type: ItemSlots
-      slots:
-        key_slot:
-          name: vehicle-slot-component-slot-name-keys
-          whitelist:
-            requireAll: true
-            tags:
-              - VehicleKey
-              - SkeletonMotorcycleKeys
-          insertSound:
-            path: /Audio/Effects/Vehicle/vehiclestartup.ogg
-            params:
-              volume: -3
-
-- type: entity
-  id: VehicleUnicycle
-  parent: [BaseVehicleRideable, BaseFoldable, BaseItem]
-  name: unicycle
-  description: It only has one wheel!
-  components:
-  - type: Vehicle
-    northOver: true
-    southOver: true
-    northOverride: -0.15
-    southOverride: 0.15
-    hasKey: true
-    hornSound:
-      path: /Audio/Effects/Vehicle/bicyclebell.ogg
-  - type: Sprite
-    sprite: Objects/Vehicles/unicycle.rsi
-    layers:
-    - state: vehicle
-      map: ["enum.VehicleVisualLayers.AutoAnimate", "unfoldedLayer"]
-    - state: vehicle_folded
-      map: ["foldedLayer"]
-      visible: false
-    noRot: true
-  - type: Strap
-    buckleOffset: "0.1, -0.05"
-    maxBuckleDistance: 1
-  - type: MovementSpeedModifier
-    acceleration: 1
-    friction: 0.8
-    baseWalkSpeed: 3.5
-    baseSprintSpeed: 4.3
-  - type: Destructible
-    thresholds:
-    - trigger:
-        !type:DamageTrigger
-        damage: 200
-      behaviors:
-        - !type:DoActsBehavior
-          acts: [ "Destruction" ]
-    - trigger:
-        !type:DamageTrigger
-        damage: 240
-      behaviors:
-      - !type:DoActsBehavior
-        acts: ["Destruction"]
-      - !type:PlaySoundBehavior
-        sound:
-          collection: MetalBreak
-
-- type: entity
-  parent: VehicleUnicycle
-  id: VehicleUnicycleFolded
-  suffix: folded
-  components:
-  - type: Foldable
-    folded: true
-
-- type: entity
-  id: VehicleWheelchair
-  parent: [BaseVehicleRideable, BaseFoldable, BaseItem]
-  name: wheelchair
-  description: A chair with big wheels. It looks like you can move in these on your own.
-  components:
-    - type: Vehicle
-      northOver: true
-      hasKey: true
-      northOverride: 0
-      southOverride: 0
-    - type: Sprite
-      sprite: Objects/Vehicles/wheelchair.rsi
-      layers:
-      - state: vehicle
-        map: ["enum.VehicleVisualLayers.AutoAnimate", "unfoldedLayer"]
-      - state: vehicle_folded
-        map: ["foldedLayer"]
-        visible: false
-      noRot: true
-    - type: MovementSpeedModifier
-      baseWalkSpeed: 2
-      baseSprintSpeed: 2
-    - type: Strap
-      buckleOffset: "0,0"
-      maxBuckleDistance: 1
-    - type: Fixtures
-      fixtures:
-        fix1:
-          shape:
-            !type:PhysShapeCircle
-            radius: 0.2
-          density: 360
-          restitution: 0.0
-          mask:
-            - MobMask
-          layer:
-            - TableLayer
-    - type: StaticPrice
-      price: 70
-
-- type: entity
-  parent: VehicleWheelchair
-  id: VehicleWheelchairFolded
-  suffix: folded
-  components:
-    - type: Foldable
-      folded: true
diff --git a/Resources/Prototypes/Entities/Objects/Vehicles/keys.yml b/Resources/Prototypes/Entities/Objects/Vehicles/keys.yml
deleted file mode 100644 (file)
index 468f1aa..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-- type: entity
-  parent: BaseItem
-  id: VehicleKeyJanicart
-  name: janicart keys
-  description: Interesting design.
-  components:
-  - type: Item
-    size: Tiny
-  - type: Tag
-    tags:
-    - VehicleKey
-    - JanicartKeys
-  - type: Sprite
-    sprite: Objects/Vehicles/janicart.rsi
-    state: keys
-
-- type: entity
-  parent: VehicleKeyJanicart
-  id: VehicleKeySecway
-  name: secway keys
-  description: The keys to the future.
-  components:
-  - type: Tag
-    tags:
-    - VehicleKey
-    - SecwayKeys
-  - type: Sprite
-    sprite: Objects/Vehicles/secway.rsi
-    state: keys
-
-- type: entity
-  parent: VehicleKeyJanicart
-  id: VehicleKeyATV
-  name: ATV keys
-  description: Think this looks like just one key? ATV keys means "actually two vehicle keys."
-  components:
-  - type: Tag
-    tags:
-    - VehicleKey
-    - ATVKeys
-  - type: Sprite
-    sprite: Objects/Vehicles/atv.rsi
-    state: keys
-
-- type: entity
-  parent: VehicleKeyATV
-  id: VehicleKeySkeleton
-  name: vehicle skeleton keys
-  description: Unlock any vehicle.
-  components:
-  - type: Tag
-    tags:
-    - VehicleKey
-    - JanicartKeys
-    - SecwayKeys
-    - ATVKeys
-    - SyndicateSegwayKeys
-    - SkeletonMotorcycleKeys
-
-- type: entity
-  parent: VehicleKeyJanicart
-  id: VehicleKeySyndicateSegway
-  name: syndicate segway keys
-  description: Patterned after the iconic EMAG design.
-  components:
-    - type: Tag
-      tags:
-        - VehicleKey
-        - SyndicateSegwayKeys
-    - type: Sprite
-      sprite: Objects/Vehicles/syndicatesegway.rsi
-      state: keys
-
-- type: entity
-  parent: VehicleKeyATV
-  id: VehicleKeySkeletonMotorcycle
-  name: skeleton motorcycle keys
-  description: A beautiful set of keys adorned with a skull.
-  components:
-    - type: Tag
-      tags:
-        - VehicleKey
-        - SkeletonMotorcycleKeys
-    - type: Sprite
-      sprite: Objects/Vehicles/motorbike.rsi
-      state: keys
index e48d34e19c732714ca8d7aaffaa42aa38ba63c99..0c73a17b2b3ea7e237f1a6b62cbc0630b4b14eff 100644 (file)
       - TrashBag
       - PowerCellSmall
       - PowerCellMedium
-      - VehicleWheelchairFolded
       - RollerBedSpawnFolded
       - CheapRollerBedSpawnFolded
       - EmergencyRollerBedSpawnFolded
       - PillCanister
       - BodyBag
       - ChemistryEmptyBottle01
-      - VehicleWheelchairFolded
       - RollerBedSpawnFolded
       - CheapRollerBedSpawnFolded
       - EmergencyRollerBedSpawnFolded
index 9b659da55e3f32646c3a11bb68537cef0d7efd15..c6f6e6c8ca0fcbb1a84aa52d95821b3dbf9c7c91 100644 (file)
     sprite: Structures/Machines/fax_machine.rsi
     state: icon
 
-- type: stealTargetGroup
-  id: VehicleSecway
-  name: secway
-  sprite:
-    sprite: Objects/Vehicles/secway.rsi
-    state: icon
-
 - type: stealTargetGroup
   id: ChemDispenser
   name: chemical dispenser
index 29432e1736c04e12ecdb65f60acf35c775f71438..db1eb3111eb2c2642aa35c333ecf895e17df7dd3 100644 (file)
   - type: Objective
     difficulty: 2
 
-- type: entity
-  noSpawn: true
-  parent: BaseThiefStealStructureObjective
-  id: VehicleSecwayStealObjective
-  components:
-  - type: NotJobRequirement
-    job: SecurityOfficer
-  - type: StealCondition
-    stealGroup: VehicleSecway
-  - type: Objective
-    difficulty: 1
-
 - type: entity
   noSpawn: true
   parent: BaseThiefStealStructureObjective
index 763ae8bd4e116477709696cb90db09dee93364a4..7259d71529b98d6d1619df41070514a47ff5ebea 100644 (file)
@@ -10,7 +10,6 @@
     CrateEngineeringAMEJar: 0.25
     CrateFoodPizzaLarge: 0.25
     CrateFoodSoftdrinks: 0.25
-    CrateFunATV: 0.25
     CrateFunInstrumentsVariety: 0.25
     CrateSalvageEquipment: 0.25
     RandomArtifactSpawner: 0.25
diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/supplybot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/supplybot.yml
deleted file mode 100644 (file)
index efabb84..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-- type: constructionGraph
-  id: SupplyBot
-  start: start
-  graph:
-  - node: start
-    edges:
-    - to: bot
-      steps:
-      - tag: ProximitySensor
-        icon:
-          sprite: Objects/Misc/proximity_sensor.rsi
-          state: icon
-        name: proximity sensor
-      - tag: BorgHead
-        icon:
-          sprite: Objects/Specific/Robotics/cyborg_parts.rsi
-          state: borg_head
-        name: borg head
-        doAfter: 1
-      - material: Steel
-        amount: 10
-  - node: bot
-    entity: MobSupplyBot
diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/bots/taxibot.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/bots/taxibot.yml
deleted file mode 100644 (file)
index 4be8848..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-- type: constructionGraph
-  id: TaxiBot
-  start: start
-  graph:
-  - node: start
-    edges:
-    - to: bot
-      steps:
-      - tag: ProximitySensor
-        icon:
-          sprite: Objects/Misc/proximity_sensor.rsi
-          state: icon
-        name: proximity sensor
-      - tag: BorgHead
-        icon:
-          sprite: Objects/Specific/Robotics/cyborg_parts.rsi
-          state: borg_head
-        name: borg head
-        doAfter: 1
-      - tag: BorgArm
-        icon:
-          sprite: Mobs/Silicon/drone.rsi
-          state: l_hand
-        name: borg arm
-        doAfter: 2
-      - material: Steel
-        amount: 5
-  - node: bot
-    entity: MobTaxiBot
index 55b907a38e949d6e8617a31f0fb0f252d150b8e5..9a70a19c868b392ea13be1dc6ab0958b1a4d5536 100644 (file)
     sprite: Mobs/Silicon/Bots/honkbot.rsi
     state: honkbot
 
-- type: construction
-  name: taxibot
-  id: taxibot
-  graph: TaxiBot
-  startNode: start
-  targetNode: bot
-  category: construction-category-utilities
-  objectType: Item
-  description: This bot takes people to their destination.
-  icon:
-    sprite: Mobs/Silicon/Bots/taxibot.rsi
-    state: taxibot
-
-- type: construction
-  name: supplybot
-  id: supplybot
-  graph: SupplyBot
-  startNode: start
-  targetNode: bot
-  category: construction-category-utilities
-  objectType: Item
-  description: This bot can be loaded with cargo to make deliveries.
-  icon:
-    sprite: Mobs/Silicon/Bots/supplybot.rsi
-    state: supplybot
-
 - type: construction
   name: jonkbot
   id: jonkbot
index 2a3b738782834b90f78e478d495777faf5852131..fbfa0151ba0feb5014ce497433b992c0b6562627 100644 (file)
   materials:
     Plastic: 400
 
-- type: latheRecipe
-  id: VehicleWheelchairFolded
-  result: VehicleWheelchairFolded
-  completetime: 1
-  materials:
-    Steel: 500
-    Plastic: 300
-
 - type: latheRecipe
   id: RollerBedSpawnFolded
   result: RollerBedSpawnFolded
index ec4c6581de31b50754f731ea54dde73cfa122ab1..5d3f84df3cf48e764cdb66cdb681dd05147a8f23 100644 (file)
@@ -1,6 +1,6 @@
 #Misc outfit startingGear definitions.
 
-#Skeleton Biker
+#Skeleton Biker - Just a skeleton now
 - type: startingGear
   id: SkeletonBiker
   equipment:
@@ -13,8 +13,6 @@
     shoes: ClothingShoesBootsJack
     id: PassengerPDA
     ears: ClothingHeadsetGrey
-    pocket1: VehicleSkeletonMotorcycle
-    pocket2: VehicleKeySkeletonMotorcycle
   innerClothingSkirt: ClothingUniformJumpskirtColorBlack
   satchel: ClothingBackpackSatchelFilled
   duffelbag: ClothingBackpackDuffelFilled
index 3dd6d21d2a4323100a59238f78cfba0f8b4b4f5b..53d481c37e811157180236a54a451b83dc803832 100644 (file)
   components:
     - type: Muted
 
-- type: trait
-  id: WheelchairBound
-  name: trait-wheelchair-bound-name
-  description: trait-wheelchair-bound-desc
-  blacklist:
-    components:
-      - BorgChassis
-  components:
-    - type: BuckleOnMapInit
-      prototype: VehicleWheelchair
-    - type: LegsParalyzed
-
 - type: trait
   id: FrontalLisp
   name: trait-frontal-lisp-name
index 1d85d96a1a6a338f5883a76bf72a98c3062f71df..62f08e07156ef89a9f7dc8a8073c8c474e06d633 100644 (file)
 
 - type: Tag
   id: CannonBall
-  
+
 - type: Tag
   id: CannonRestrict
 
 - type: Tag
   id: IntercomElectronics
 
-- type: Tag
-  id: JanicartKeys
-
 - type: Tag
   id: JawsOfLife
 
 - type: Tag
   id: UraniumGlassShard
 
-- type: Tag
-  id: VehicleKey
-
 - type: Tag
   id: VimPilot
 
index e715fe919f7e5217b78ee39f6be2a9069ecdd5f6..dd41ba11bfeaf6e6e10feb3b25b8298450746a68 100644 (file)
@@ -20,7 +20,6 @@ You keep things clean, it's a rough job sometimes, but someone's gotta do it. Th
 
 ## Additional Equipment
 <Box>
-<GuideEntityEmbed Entity="VehicleJanicart"/>
 <GuideEntityEmbed Entity="WetFloorSign"/>
 <GuideEntityEmbed Entity="Holoprojector" Caption="holosign projector"/>
 <GuideEntityEmbed Entity="LightReplacer"/>
index 6b3161c9ada04686ee57aa8671f362d52788267e..8c13f4359c5ef2ba40c05087621ec1d4ed50c94f 100644 (file)
@@ -177,4 +177,34 @@ HandheldCrewMonitor: null
 SpyCrewMonitor: null
 SpyCrewMonitorEmpty: null
 SyndiCrewMonitor: null
-SyndiCrewMonitorEmpty: null
\ No newline at end of file
+SyndiCrewMonitorEmpty: null
+
+SpawnVehicleWheelchair: null
+SpawnVehicleWheelchairFolded: null
+VehicleWheelchair: null
+VehicleWheelchairFolded: null
+VehicleSecwayStealObjective: null
+VehicleKeyJanicart: null
+VehicleKeySecway: null
+VehicleKeyATV: null
+VehicleKeySkeleton: null
+VehicleKeySyndicateSegway: null
+VehicleKeySkeletonMotorcycle: null
+VehicleSecway: null
+VehicleATV: null
+VehicleSyndicateSegway: null
+VehicleSkeletonMotorcycle: null
+VehicleUnicycle: null
+VehicleUnicycleFolded: null
+ActionVehicleHorn: null
+CrateFunATV: null
+CrateFunSyndicateSegway: null
+MobTaxiBot: null
+MobSupplyBot: null
+SpawnVehicleMotobike: null
+SpawnVehicleATV: null
+SpawnVehicleSecway: null
+SpawnVehicleJanicart: null
+VehicleJanicart: null
+VehicleJanicartDestroyed: null
+