Fix airlock lights (#5334)

* Doors no longer permanently glow orange + logic tweak

* Fix server-side order of operations for deny animation timer

* Delay between deny >= deny length to allow animation to reset

* Fix airlock assets to use the correct deny animation name

Co-authored-by: T <tomeno@lulzsec.co.uk>
This commit is contained in:
Tomeno
2021-11-14 18:51:02 +01:00
committed by GitHub
parent 1870b6fd61
commit ead09296c3
40 changed files with 26 additions and 26 deletions

View File

@@ -161,7 +161,8 @@ namespace Content.Client.Doors
animPlayer.Play(CloseAnimation, AnimationKey); animPlayer.Play(CloseAnimation, AnimationKey);
break; break;
case DoorVisualState.Deny: case DoorVisualState.Deny:
animPlayer.Play(DenyAnimation, AnimationKey); if (!animPlayer.HasRunningAnimation(AnimationKey))
animPlayer.Play(DenyAnimation, AnimationKey);
break; break;
case DoorVisualState.Welded: case DoorVisualState.Welded:
weldedVisible = true; weldedVisible = true;
@@ -181,7 +182,7 @@ namespace Content.Client.Doors
if (!_simpleVisuals) if (!_simpleVisuals)
{ {
sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible); sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible && state != DoorVisualState.Closed);
sprite.LayerSetVisible(DoorVisualLayers.BaseWelded, weldedVisible); sprite.LayerSetVisible(DoorVisualLayers.BaseWelded, weldedVisible);
sprite.LayerSetVisible(DoorVisualLayers.BaseBolted, unlitVisible && boltedVisible); sprite.LayerSetVisible(DoorVisualLayers.BaseBolted, unlitVisible && boltedVisible);
} }

View File

@@ -186,7 +186,7 @@ namespace Content.Server.Doors.Components
/// Minimum interval allowed between deny sounds in milliseconds. /// Minimum interval allowed between deny sounds in milliseconds.
/// </summary> /// </summary>
[DataField("denySoundMinimumInterval")] [DataField("denySoundMinimumInterval")]
public float DenySoundMinimumInterval = 250.0f; public float DenySoundMinimumInterval = 450.0f;
/// <summary> /// <summary>
/// Used to stop people from spamming the deny sound. /// Used to stop people from spamming the deny sound.
@@ -607,10 +607,6 @@ namespace Content.Server.Doors.Components
if (State == DoorState.Open || IsWeldedShut) if (State == DoorState.Open || IsWeldedShut)
return; return;
_stateChangeCancelTokenSource?.Cancel();
_stateChangeCancelTokenSource = new();
SetAppearance(DoorVisualState.Deny);
if (DenySound != null) if (DenySound != null)
{ {
if (LastDenySoundTime == TimeSpan.Zero) if (LastDenySoundTime == TimeSpan.Zero)
@@ -629,6 +625,9 @@ namespace Content.Server.Doors.Components
AudioParams.Default.WithVolume(-3)); AudioParams.Default.WithVolume(-3));
} }
_stateChangeCancelTokenSource?.Cancel();
_stateChangeCancelTokenSource = new();
SetAppearance(DoorVisualState.Deny);
Owner.SpawnTimer(DenyTime, () => Owner.SpawnTimer(DenyTime, () =>
{ {
SetAppearance(DoorVisualState.Closed); SetAppearance(DoorVisualState.Closed);

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -38,7 +38,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -100,7 +100,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -38,7 +38,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,

View File

@@ -46,7 +46,7 @@
] ]
}, },
{ {
"name": "deny", "name": "deny_unlit",
"delays": [ "delays": [
[ [
0.1, 0.1,