Disable airlock "walk by" fix.

It makes it hard to walk through double doors so I'd rather have this be disabled.
This commit is contained in:
Pieter-Jan Briers
2020-08-16 14:20:16 +02:00
parent 66367309f0
commit f61d55a63d

View File

@@ -58,8 +58,7 @@ namespace Content.Server.GameObjects.Components.Doors
private const float DoorStunTime = 5f; private const float DoorStunTime = 5f;
protected bool Safety = true; protected bool Safety = true;
[ViewVariables] [ViewVariables] private bool _occludes;
private bool _occludes;
public override void ExposeData(ObjectSerializer serializer) public override void ExposeData(ObjectSerializer serializer)
{ {
@@ -111,17 +110,24 @@ namespace Content.Server.GameObjects.Components.Doors
{ {
return; return;
} }
// Disabled because it makes it suck hard to walk through double doors.
if (entity.HasComponent(typeof(SpeciesComponent))) if (entity.HasComponent(typeof(SpeciesComponent)))
{ {
if (!entity.TryGetComponent<IMoverComponent>(out var mover)) return; if (!entity.TryGetComponent<IMoverComponent>(out var mover)) return;
/*
// TODO: temporary hack to fix the physics system raising collision events akwardly. // TODO: temporary hack to fix the physics system raising collision events akwardly.
// E.g. when moving parallel to a door by going off the side of a wall. // E.g. when moving parallel to a door by going off the side of a wall.
var (walking, sprinting) = mover.VelocityDir; var (walking, sprinting) = mover.VelocityDir;
// Also TODO: walking and sprint dir are added together here // Also TODO: walking and sprint dir are added together here
// instead of calculating their contribution correctly. // instead of calculating their contribution correctly.
var dotProduct = Vector2.Dot((sprinting + walking).Normalized, (entity.Transform.WorldPosition - Owner.Transform.WorldPosition).Normalized); var dotProduct = Vector2.Dot((sprinting + walking).Normalized, (entity.Transform.WorldPosition - Owner.Transform.WorldPosition).Normalized);
if (dotProduct <= -0.9f) if (dotProduct <= -0.85f)
TryOpen(entity);
*/
TryOpen(entity); TryOpen(entity);
} }
} }
@@ -144,6 +150,7 @@ namespace Content.Server.GameObjects.Components.Doors
{ {
return true; return true;
} }
return accessReader.IsAllowed(user); return accessReader.IsAllowed(user);
} }
@@ -204,6 +211,7 @@ namespace Content.Server.GameObjects.Components.Doors
{ {
return true; return true;
} }
return accessReader.IsAllowed(user); return accessReader.IsAllowed(user);
} }
@@ -214,6 +222,7 @@ namespace Content.Server.GameObjects.Components.Doors
Deny(); Deny();
return; return;
} }
Close(); Close();
} }
@@ -242,6 +251,7 @@ namespace Content.Server.GameObjects.Components.Doors
stun.Paralyze(DoorStunTime); stun.Paralyze(DoorStunTime);
hitSomeone = true; hitSomeone = true;
} }
// If we hit someone, open up after stun (opens right when stun ends) // If we hit someone, open up after stun (opens right when stun ends)
if (hitSomeone) if (hitSomeone)
{ {