/// Sound to play when the turnstile denies entry
/// </summary>
[DataField]
- public SoundSpecifier? DenySound = new SoundPathSpecifier("/Audio/Machines/airlock_deny.ogg");
+ public SoundSpecifier? DenySound = new SoundPathSpecifier("/Audio/Machines/airlock_deny.ogg")
+ {
+ Params = new()
+ {
+ Volume = -7,
+ },
+ };
}
[Serializable, NetSerializable]
var approachAngle = (pos - otherPos).ToAngle();
var rotateAngle = rot.ToWorldVec().ToAngle();
- var dif = Math.Min(Math.Abs(approachAngle.Theta - rotateAngle.Theta), Math.Abs(rotateAngle.Theta - approachAngle.Theta));
- return dif < Math.PI / 4;
+ var diff = Math.Abs(approachAngle - rotateAngle);
+ diff %= MathHelper.TwoPi;
+ if (diff > Math.PI)
+ diff = MathHelper.TwoPi - diff;
+
+ return diff < Math.PI / 4;
}
protected virtual void PlayAnimation(EntityUid uid, string stateId)
suffix: Genpop Enter
components:
- type: AccessReader
- access: [["GenpopEnter"]]
+ access: [["GenpopEnter"], ["Security"]]
- type: entity
id: TurnstileGenpopLeave
suffix: Genpop Leave
components:
- type: AccessReader
- access: [["GenpopLeave"]]
+ access: [["GenpopLeave"], ["Security"]]