From 8f64627c9e35b3c873a7825f25b52319ff8c8e25 Mon Sep 17 00:00:00 2001 From: Darkmajia Date: Wed, 8 Jan 2025 11:50:46 +0000 Subject: [PATCH 1/7] ranged ai targets crawling people properly --- Content.Server/NPC/Systems/NPCCombatSystem.Ranged.cs | 1 + Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/Content.Server/NPC/Systems/NPCCombatSystem.Ranged.cs b/Content.Server/NPC/Systems/NPCCombatSystem.Ranged.cs index d7196ea73c71..e77d5f74d6f6 100644 --- a/Content.Server/NPC/Systems/NPCCombatSystem.Ranged.cs +++ b/Content.Server/NPC/Systems/NPCCombatSystem.Ranged.cs @@ -202,6 +202,7 @@ private void UpdateRanged(float frameTime) return; } + _gun.SetTarget(gun, comp.Target); _gun.AttemptShoot(uid, gunUid, gun, targetCordinates); } } diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index c7cc09e618bd..2368fdf05236 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -203,6 +203,14 @@ private void StopShooting(EntityUid uid, GunComponent gun) Dirty(uid, gun); } + /// + /// Sets the targeted entity of the gun. Should be called before attempting to shoot to avoid shooting over the target. + /// + public void SetTarget(GunComponent gun, EntityUid target) + { + gun.Target = target; + } + /// /// Attempts to shoot at the target coordinates. Resets the shot counter after every shot. /// From 4f00b55483a3423c89e0e7360f2226b5c5d2d20b Mon Sep 17 00:00:00 2001 From: Darkmajia Date: Wed, 8 Jan 2025 12:20:53 +0000 Subject: [PATCH 2/7] remove standing up do-after --- .../Standing/StandingStateComponent.cs | 1 - .../Standing/StandingStateSystem.cs | 4 +-- .../Standing/LayingDownComponent.cs | 3 -- .../Standing/SharedLayingDownSystem.cs | 31 +------------------ 4 files changed, 3 insertions(+), 36 deletions(-) diff --git a/Content.Shared/Standing/StandingStateComponent.cs b/Content.Shared/Standing/StandingStateComponent.cs index 3a7cb2a008ff..ec282ff7f42f 100644 --- a/Content.Shared/Standing/StandingStateComponent.cs +++ b/Content.Shared/Standing/StandingStateComponent.cs @@ -29,7 +29,6 @@ public sealed partial class StandingStateComponent : Component public enum StandingState { Lying, - GettingUp, Standing, } // WD EDIT END diff --git a/Content.Shared/Standing/StandingStateSystem.cs b/Content.Shared/Standing/StandingStateSystem.cs index 084aaf30e0f6..407dc085c1fd 100644 --- a/Content.Shared/Standing/StandingStateSystem.cs +++ b/Content.Shared/Standing/StandingStateSystem.cs @@ -29,7 +29,7 @@ public bool IsDown(EntityUid uid, StandingStateComponent? standingState = null) if (!Resolve(uid, ref standingState, false)) return false; - return standingState.CurrentState is StandingState.Lying or StandingState.GettingUp; + return standingState.CurrentState is StandingState.Lying; } public bool Down(EntityUid uid, @@ -47,7 +47,7 @@ public bool Down(EntityUid uid, // Optional component. Resolve(uid, ref appearance, ref hands, false); - if (standingState.CurrentState is StandingState.Lying or StandingState.GettingUp) + if (standingState.CurrentState is StandingState.Lying) return true; // This is just to avoid most callers doing this manually saving boilerplate diff --git a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs index ee10ec51ce58..fa64b92841c6 100644 --- a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs +++ b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs @@ -6,9 +6,6 @@ namespace Content.Shared._Goobstation.Standing; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class LayingDownComponent : Component { - [DataField, AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)] - public float StandingUpTime { get; set; } = 1f; - [DataField, AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)] public float SpeedModify { get; set; } = .25f; diff --git a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs index 2240d2e13e53..c726175b5296 100644 --- a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs +++ b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs @@ -1,4 +1,3 @@ -using Content.Shared.DoAfter; using Content.Shared.Gravity; using Content.Shared.Input; using Content.Shared.Mobs.Systems; @@ -7,7 +6,6 @@ using Content.Shared.Stunnable; using Robust.Shared.Input.Binding; using Robust.Shared.Player; -using Robust.Shared.Serialization; namespace Content.Shared._Goobstation.Standing; @@ -15,7 +13,6 @@ public abstract class SharedLayingDownSystem : EntitySystem { [Dependency] private readonly MobStateSystem _mobState = default!; [Dependency] private readonly StandingStateSystem _standing = default!; - [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; [Dependency] private readonly SharedGravitySystem _gravity = default!; public override void Initialize() @@ -26,7 +23,6 @@ public override void Initialize() SubscribeNetworkEvent(OnChangeState); - SubscribeLocalEvent(OnStandingUpDoAfter); SubscribeLocalEvent(OnRefreshMovementSpeed); SubscribeLocalEvent(OnParentChanged); } @@ -78,18 +74,6 @@ private void OnChangeState(ChangeLayingDownEvent ev, EntitySessionEventArgs args TryLieDown(uid, layingDown, standing); } - private void OnStandingUpDoAfter(EntityUid uid, StandingStateComponent component, StandingUpDoAfterEvent args) - { - if (args.Handled || args.Cancelled || HasComp(uid) || - _mobState.IsIncapacitated(uid) || !_standing.Stand(uid)) - { - component.CurrentState = StandingState.Lying; - return; - } - - component.CurrentState = StandingState.Standing; - } - private void OnRefreshMovementSpeed(EntityUid uid, LayingDownComponent component, RefreshMovementSpeedModifiersEvent args) { if (_standing.IsDown(uid)) @@ -122,17 +106,7 @@ standingState.CurrentState is not StandingState.Lying || return false; } - var args = new DoAfterArgs(EntityManager, uid, layingDown.StandingUpTime, new StandingUpDoAfterEvent(), uid) - { - BreakOnDamage = true, - BreakOnHandChange = false, - RequireCanInteract = false - }; - - if (!_doAfter.TryStartDoAfter(args)) - return false; - - standingState.CurrentState = StandingState.GettingUp; + _standing.Stand(uid, standingState); return true; } @@ -153,9 +127,6 @@ public bool TryLieDown(EntityUid uid, LayingDownComponent? layingDown = null, St } } -[Serializable, NetSerializable] -public sealed partial class StandingUpDoAfterEvent : SimpleDoAfterEvent; - public enum DropHeldItemsBehavior : byte { NoDrop, From 0d0c7cb0f252137184bcd70ec84eab81d0be600b Mon Sep 17 00:00:00 2001 From: Darkmajia Date: Wed, 8 Jan 2025 15:32:40 +0000 Subject: [PATCH 3/7] laying down cooldown --- .../Standing/LayingDownComponent.cs | 6 ++++++ .../Standing/SharedLayingDownSystem.cs | 21 +++++++++++++++++++ .../en-US/_Goobstation/laying-down/popup.ftl | 2 ++ 3 files changed, 29 insertions(+) create mode 100644 Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl diff --git a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs index fa64b92841c6..32f79ad85461 100644 --- a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs +++ b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs @@ -6,6 +6,12 @@ namespace Content.Shared._Goobstation.Standing; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class LayingDownComponent : Component { + [DataField, AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)] + public TimeSpan Cooldown { get; set; } = TimeSpan.FromSeconds(2.5); + + [DataField, AutoNetworkedField] + public TimeSpan NextStateChange; + [DataField, AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)] public float SpeedModify { get; set; } = .25f; diff --git a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs index c726175b5296..39b1e92f7b61 100644 --- a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs +++ b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs @@ -2,10 +2,12 @@ using Content.Shared.Input; using Content.Shared.Mobs.Systems; using Content.Shared.Movement.Systems; +using Content.Shared.Popups; using Content.Shared.Standing; using Content.Shared.Stunnable; using Robust.Shared.Input.Binding; using Robust.Shared.Player; +using Robust.Shared.Timing; namespace Content.Shared._Goobstation.Standing; @@ -14,6 +16,8 @@ public abstract class SharedLayingDownSystem : EntitySystem [Dependency] private readonly MobStateSystem _mobState = default!; [Dependency] private readonly StandingStateSystem _standing = default!; [Dependency] private readonly SharedGravitySystem _gravity = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly IGameTiming _timing = default!; public override void Initialize() { @@ -68,10 +72,27 @@ private void OnChangeState(ChangeLayingDownEvent ev, EntitySessionEventArgs args if (HasComp(uid) || !_mobState.IsAlive(uid)) return; + if (_timing.CurTime < layingDown.NextStateChange) + { + var loc = standing.CurrentState switch + { + StandingState.Standing => "popup-laying-down-cooldown-lay-down", + StandingState.Lying => "popup-laying-down-cooldown-stand-up", + _ => null + }; + + if (loc != null) + _popup.PopupEntity(Loc.GetString(loc), uid, uid); + + return; + } + if (_standing.IsDown(uid, standing)) TryStandUp(uid, layingDown, standing); else TryLieDown(uid, layingDown, standing); + + layingDown.NextStateChange = _timing.CurTime + layingDown.Cooldown; } private void OnRefreshMovementSpeed(EntityUid uid, LayingDownComponent component, RefreshMovementSpeedModifiersEvent args) diff --git a/Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl b/Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl new file mode 100644 index 000000000000..c75185a78a74 --- /dev/null +++ b/Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl @@ -0,0 +1,2 @@ +popup-laying-down-cooldown-lay-down = Cannot lay down yet! +popup-laying-down-cooldown-stand-up = Cannot stand up yet! From 908211b602897749d9160cf47c3c7def53a28b6f Mon Sep 17 00:00:00 2001 From: Darkmajia Date: Wed, 8 Jan 2025 16:02:06 +0000 Subject: [PATCH 4/7] better laying down cooldown --- .../Standing/LayingDownComponent.cs | 2 +- .../Standing/SharedLayingDownSystem.cs | 19 +++++-------------- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs index 32f79ad85461..8f7444d4d201 100644 --- a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs +++ b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs @@ -10,7 +10,7 @@ public sealed partial class LayingDownComponent : Component public TimeSpan Cooldown { get; set; } = TimeSpan.FromSeconds(2.5); [DataField, AutoNetworkedField] - public TimeSpan NextStateChange; + public TimeSpan NextLayDown; [DataField, AutoNetworkedField, ViewVariables(VVAccess.ReadWrite)] public float SpeedModify { get; set; } = .25f; diff --git a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs index 39b1e92f7b61..16fcd1787d36 100644 --- a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs +++ b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs @@ -72,27 +72,17 @@ private void OnChangeState(ChangeLayingDownEvent ev, EntitySessionEventArgs args if (HasComp(uid) || !_mobState.IsAlive(uid)) return; - if (_timing.CurTime < layingDown.NextStateChange) + var isDown = _standing.IsDown(uid, standing); + if (_timing.CurTime < layingDown.NextLayDown && isDown) { - var loc = standing.CurrentState switch - { - StandingState.Standing => "popup-laying-down-cooldown-lay-down", - StandingState.Lying => "popup-laying-down-cooldown-stand-up", - _ => null - }; - - if (loc != null) - _popup.PopupEntity(Loc.GetString(loc), uid, uid); - + _popup.PopupEntity(Loc.GetString("popup-laying-down-cooldown-stand-up"), uid, uid); return; } - if (_standing.IsDown(uid, standing)) + if (isDown) TryStandUp(uid, layingDown, standing); else TryLieDown(uid, layingDown, standing); - - layingDown.NextStateChange = _timing.CurTime + layingDown.Cooldown; } private void OnRefreshMovementSpeed(EntityUid uid, LayingDownComponent component, RefreshMovementSpeedModifiersEvent args) @@ -144,6 +134,7 @@ public bool TryLieDown(EntityUid uid, LayingDownComponent? layingDown = null, St } _standing.Down(uid, true, behavior != DropHeldItemsBehavior.NoDrop, false, standingState); + layingDown.NextLayDown = _timing.CurTime + layingDown.Cooldown; return true; } } From 7008aed7cb5ff382aadbb1a90dd4ab58fd830d0d Mon Sep 17 00:00:00 2001 From: Darkmajia Date: Wed, 8 Jan 2025 16:04:45 +0000 Subject: [PATCH 5/7] ftl trimming --- Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl b/Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl index c75185a78a74..c47b45413e0e 100644 --- a/Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl +++ b/Resources/Locale/en-US/_Goobstation/laying-down/popup.ftl @@ -1,2 +1 @@ -popup-laying-down-cooldown-lay-down = Cannot lay down yet! popup-laying-down-cooldown-stand-up = Cannot stand up yet! From 24c3737ae83ab399add28162a65d528d44f73ea9 Mon Sep 17 00:00:00 2001 From: Darkmajia Date: Wed, 8 Jan 2025 16:44:15 +0000 Subject: [PATCH 6/7] projectile grenades hit crawling/downed people --- .../Explosion/EntitySystems/ProjectileGrenadeSystem.cs | 4 +++- .../Damage/Systems/RequireProjectileTargetSystem.cs | 8 ++++++-- .../Ranged/Components/TargetedProjectileComponent.cs | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs b/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs index 555ce3399e75..6b4413f0be17 100644 --- a/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs +++ b/Content.Server/Explosion/EntitySystems/ProjectileGrenadeSystem.cs @@ -1,5 +1,6 @@ -using Content.Server.Explosion.Components; +using Content.Server.Explosion.Components; using Content.Server.Weapons.Ranged.Systems; +using Content.Shared.Weapons.Ranged.Components; using Robust.Server.GameObjects; using Robust.Shared.Containers; using Robust.Shared.Map; @@ -77,6 +78,7 @@ private void FragmentIntoProjectiles(EntityUid uid, ProjectileGrenadeComponent c // slightly uneven, doesn't really change much, but it looks better var direction = angle.ToVec().Normalized(); var velocity = _random.NextVector2(component.MinVelocity, component.MaxVelocity); + EnsureComp(contentUid); // imp - ensure projectile is a TargetedProjectile with no target to hit crawling players _gun.ShootProjectile(contentUid, direction, velocity, uid, null); } } diff --git a/Content.Shared/Damage/Systems/RequireProjectileTargetSystem.cs b/Content.Shared/Damage/Systems/RequireProjectileTargetSystem.cs index a23d17d44419..963c080ab102 100644 --- a/Content.Shared/Damage/Systems/RequireProjectileTargetSystem.cs +++ b/Content.Shared/Damage/Systems/RequireProjectileTargetSystem.cs @@ -28,8 +28,12 @@ private void PreventCollide(Entity ent, ref Pr return; var other = args.OtherEntity; - if (TryComp(other, out ProjectileComponent? projectile) && - CompOrNull(other)?.Target != ent) + + if (TryComp(other, out TargetedProjectileComponent? targeted) && + (targeted.Target == null || targeted.Target == ent)) + return; + + if (TryComp(other, out ProjectileComponent? projectile)) { // Prevents shooting out of while inside of crates var shooter = projectile.Shooter; diff --git a/Content.Shared/Weapons/Ranged/Components/TargetedProjectileComponent.cs b/Content.Shared/Weapons/Ranged/Components/TargetedProjectileComponent.cs index b804176497de..2ef847a79b9d 100644 --- a/Content.Shared/Weapons/Ranged/Components/TargetedProjectileComponent.cs +++ b/Content.Shared/Weapons/Ranged/Components/TargetedProjectileComponent.cs @@ -8,5 +8,5 @@ namespace Content.Shared.Weapons.Ranged.Components; public sealed partial class TargetedProjectileComponent : Component { [DataField, AutoNetworkedField] - public EntityUid Target; + public EntityUid? Target; } From d3dda4031c825b5542520c9143ff42e131759bde Mon Sep 17 00:00:00 2001 From: Darkmajia Date: Wed, 8 Jan 2025 19:47:48 +0000 Subject: [PATCH 7/7] crawling no longer goes over tables, shutters over tables fixed --- Content.Shared/Standing/StandingStateSystem.cs | 5 +++-- .../_Goobstation/Standing/LayingDownComponent.cs | 5 ++++- .../_Goobstation/Standing/SharedLayingDownSystem.cs | 8 ++++---- .../Structures/Furniture/Tables/base_structuretables.yml | 4 +--- .../Entities/Structures/Furniture/Tables/tables.yml | 1 - 5 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Content.Shared/Standing/StandingStateSystem.cs b/Content.Shared/Standing/StandingStateSystem.cs index 407dc085c1fd..d74ea883f622 100644 --- a/Content.Shared/Standing/StandingStateSystem.cs +++ b/Content.Shared/Standing/StandingStateSystem.cs @@ -38,7 +38,8 @@ public bool Down(EntityUid uid, bool force = true, StandingStateComponent? standingState = null, AppearanceComponent? appearance = null, - HandsComponent? hands = null) + HandsComponent? hands = null, + bool intentional = true) { // TODO: This should actually log missing comps... if (!Resolve(uid, ref standingState, false)) @@ -76,7 +77,7 @@ public bool Down(EntityUid uid, _appearance.SetData(uid, RotationVisuals.RotationState, RotationState.Horizontal, appearance); // Change collision masks to allow going under certain entities like flaps and tables - if (TryComp(uid, out FixturesComponent? fixtureComponent)) + if (TryComp(uid, out FixturesComponent? fixtureComponent) && !intentional) { foreach (var (key, fixture) in fixtureComponent.Fixtures) { diff --git a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs index 8f7444d4d201..f0853ee2f846 100644 --- a/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs +++ b/Content.Shared/_Goobstation/Standing/LayingDownComponent.cs @@ -19,7 +19,10 @@ public sealed partial class LayingDownComponent : Component public bool AutoGetUp; } [Serializable, NetSerializable] -public sealed class ChangeLayingDownEvent : CancellableEntityEventArgs; +public sealed class ChangeLayingDownEvent(bool intentional = false) : CancellableEntityEventArgs +{ + public bool Intentional = intentional; +} [Serializable, NetSerializable] public sealed class CheckAutoGetUpEvent(NetEntity user) : CancellableEntityEventArgs diff --git a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs index 16fcd1787d36..2b9ce7e37934 100644 --- a/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs +++ b/Content.Shared/_Goobstation/Standing/SharedLayingDownSystem.cs @@ -47,7 +47,7 @@ private void ToggleStanding(ICommonSession? session) return; } - RaiseNetworkEvent(new ChangeLayingDownEvent()); + RaiseNetworkEvent(new ChangeLayingDownEvent(intentional: true)); } private void OnChangeState(ChangeLayingDownEvent ev, EntitySessionEventArgs args) @@ -82,7 +82,7 @@ private void OnChangeState(ChangeLayingDownEvent ev, EntitySessionEventArgs args if (isDown) TryStandUp(uid, layingDown, standing); else - TryLieDown(uid, layingDown, standing); + TryLieDown(uid, layingDown, standing, isIntentional: ev.Intentional); } private void OnRefreshMovementSpeed(EntityUid uid, LayingDownComponent component, RefreshMovementSpeedModifiersEvent args) @@ -121,7 +121,7 @@ standingState.CurrentState is not StandingState.Lying || return true; } - public bool TryLieDown(EntityUid uid, LayingDownComponent? layingDown = null, StandingStateComponent? standingState = null, DropHeldItemsBehavior behavior = DropHeldItemsBehavior.NoDrop) + public bool TryLieDown(EntityUid uid, LayingDownComponent? layingDown = null, StandingStateComponent? standingState = null, DropHeldItemsBehavior behavior = DropHeldItemsBehavior.NoDrop, bool isIntentional = false) { if (!Resolve(uid, ref standingState, false) || !Resolve(uid, ref layingDown, false) || @@ -133,7 +133,7 @@ public bool TryLieDown(EntityUid uid, LayingDownComponent? layingDown = null, St return false; } - _standing.Down(uid, true, behavior != DropHeldItemsBehavior.NoDrop, false, standingState); + _standing.Down(uid, true, behavior != DropHeldItemsBehavior.NoDrop, false, standingState, intentional: isIntentional); layingDown.NextLayDown = _timing.CurTime + layingDown.Cooldown; return true; } diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml index 6106a422d4b2..440c047f5a46 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml @@ -19,7 +19,6 @@ mask: # tables should collide with other tables - TableMask layer: - - BulletImpassable # Goobstation - Crawling - TableLayer - type: SpriteFade - type: Sprite @@ -56,5 +55,4 @@ mask: - TableMask layer: - - TableLayer - - BulletImpassable # Goobstation - Crawling + - TableLayer diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml index a9ca535e4304..2c76a4ff5358 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/tables.yml @@ -79,7 +79,6 @@ - TableMask layer: - TableLayer - - BulletImpassable #Goobstation - type: Damageable damageContainer: StructuralInorganic damageModifierSet: Wood