Door opening tweaks (#16799)
This commit is contained in:
@@ -46,16 +46,6 @@ public sealed class DoorSystem : SharedDoorSystem
|
||||
SubscribeLocalEvent<DoorComponent, GotEmaggedEvent>(OnEmagged);
|
||||
}
|
||||
|
||||
protected override void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args)
|
||||
{
|
||||
// TODO once access permissions are shared, move this back to shared.
|
||||
if (args.Handled || !door.ClickOpen)
|
||||
return;
|
||||
|
||||
TryToggleDoor(uid, door, args.User);
|
||||
args.Handled = true;
|
||||
}
|
||||
|
||||
protected override void SetCollidable(
|
||||
EntityUid uid,
|
||||
bool collidable,
|
||||
|
||||
@@ -57,6 +57,7 @@ public abstract class SharedDoorSystem : EntitySystem
|
||||
SubscribeLocalEvent<DoorComponent, ComponentGetState>(OnGetState);
|
||||
SubscribeLocalEvent<DoorComponent, ComponentHandleState>(OnHandleState);
|
||||
|
||||
SubscribeLocalEvent<DoorComponent, InteractedNoHandEvent>(OnInteractedNoHand);
|
||||
SubscribeLocalEvent<DoorComponent, ActivateInWorldEvent>(OnActivate);
|
||||
|
||||
SubscribeLocalEvent<DoorComponent, StartCollideEvent>(HandleCollide);
|
||||
@@ -179,9 +180,22 @@ public abstract class SharedDoorSystem : EntitySystem
|
||||
#endregion
|
||||
|
||||
#region Interactions
|
||||
protected virtual void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args)
|
||||
|
||||
private void OnInteractedNoHand(EntityUid uid, DoorComponent component, InteractedNoHandEvent args)
|
||||
{
|
||||
// avoid client-mispredicts, as the server will definitely handle this event
|
||||
if (args.Handled || !component.ClickOpen || !Tags.HasTag(args.User, "DoorBumpOpener"))
|
||||
return;
|
||||
|
||||
TryToggleDoor(uid, component, args.User, predicted: true);
|
||||
args.Handled = true;
|
||||
}
|
||||
|
||||
public void OnActivate(EntityUid uid, DoorComponent door, ActivateInWorldEvent args)
|
||||
{
|
||||
if (args.Handled || !door.ClickOpen)
|
||||
return;
|
||||
|
||||
TryToggleDoor(uid, door, args.User, predicted: true);
|
||||
args.Handled = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -2122,9 +2122,9 @@
|
||||
accent: mouse
|
||||
- type: Tag
|
||||
tags:
|
||||
- Trash
|
||||
- CannotSuicide
|
||||
- Hamster
|
||||
- CannotSuicide
|
||||
- Trash
|
||||
- type: Respirator
|
||||
damage:
|
||||
types:
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
components:
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
- FootstepSound
|
||||
- type: InputMover
|
||||
- type: MobMover
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
volume: 3
|
||||
- type: Tag
|
||||
tags:
|
||||
- DoorBumpOpener
|
||||
- FootstepSound
|
||||
- type: Butcherable
|
||||
butcheringType: Knife
|
||||
|
||||
Reference in New Issue
Block a user