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);
|
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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 281 B |
@@ -38,7 +38,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 317 B After Width: | Height: | Size: 317 B |
@@ -100,7 +100,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 281 B After Width: | Height: | Size: 281 B |
@@ -38,7 +38,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
@@ -46,7 +46,7 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "deny",
|
"name": "deny_unlit",
|
||||||
"delays": [
|
"delays": [
|
||||||
[
|
[
|
||||||
0.1,
|
0.1,
|
||||||
|
|||||||