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);
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);
}

View File

@@ -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);

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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