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>
@@ -161,7 +161,8 @@ namespace Content.Client.Doors
|
||||
animPlayer.Play(CloseAnimation, AnimationKey);
|
||||
break;
|
||||
case DoorVisualState.Deny:
|
||||
animPlayer.Play(DenyAnimation, AnimationKey);
|
||||
if (!animPlayer.HasRunningAnimation(AnimationKey))
|
||||
animPlayer.Play(DenyAnimation, AnimationKey);
|
||||
break;
|
||||
case DoorVisualState.Welded:
|
||||
weldedVisible = true;
|
||||
@@ -181,7 +182,7 @@ namespace Content.Client.Doors
|
||||
|
||||
if (!_simpleVisuals)
|
||||
{
|
||||
sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible);
|
||||
sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, unlitVisible && state != DoorVisualState.Closed);
|
||||
sprite.LayerSetVisible(DoorVisualLayers.BaseWelded, weldedVisible);
|
||||
sprite.LayerSetVisible(DoorVisualLayers.BaseBolted, unlitVisible && boltedVisible);
|
||||
}
|
||||
|
||||
@@ -186,7 +186,7 @@ namespace Content.Server.Doors.Components
|
||||
/// Minimum interval allowed between deny sounds in milliseconds.
|
||||
/// </summary>
|
||||
[DataField("denySoundMinimumInterval")]
|
||||
public float DenySoundMinimumInterval = 250.0f;
|
||||
public float DenySoundMinimumInterval = 450.0f;
|
||||
|
||||
/// <summary>
|
||||
/// Used to stop people from spamming the deny sound.
|
||||
@@ -607,10 +607,6 @@ namespace Content.Server.Doors.Components
|
||||
if (State == DoorState.Open || IsWeldedShut)
|
||||
return;
|
||||
|
||||
_stateChangeCancelTokenSource?.Cancel();
|
||||
_stateChangeCancelTokenSource = new();
|
||||
SetAppearance(DoorVisualState.Deny);
|
||||
|
||||
if (DenySound != null)
|
||||
{
|
||||
if (LastDenySoundTime == TimeSpan.Zero)
|
||||
@@ -629,6 +625,9 @@ namespace Content.Server.Doors.Components
|
||||
AudioParams.Default.WithVolume(-3));
|
||||
}
|
||||
|
||||
_stateChangeCancelTokenSource?.Cancel();
|
||||
_stateChangeCancelTokenSource = new();
|
||||
SetAppearance(DoorVisualState.Deny);
|
||||
Owner.SpawnTimer(DenyTime, () =>
|
||||
{
|
||||
SetAppearance(DoorVisualState.Closed);
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 281 B |
@@ -38,7 +38,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 317 B After Width: | Height: | Size: 317 B |
@@ -100,7 +100,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 281 B |
@@ -38,7 +38,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "deny",
|
||||
"name": "deny_unlit",
|
||||
"delays": [
|
||||
[
|
||||
0.1,
|
||||
|
||||