diff --git a/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs b/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs index 0b2f0798ee..85c348e003 100644 --- a/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs +++ b/Content.Client/GameObjects/Components/Doors/AirlockVisualizer2D.cs @@ -31,6 +31,11 @@ namespace Content.Client.GameObjects.Components.Doors flick.LayerKey = DoorVisualLayers.Base; flick.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("closing", 0f)); + var flickUnlit = new AnimationTrackSpriteFlick(); + CloseAnimation.AnimationTracks.Add(flickUnlit); + flickUnlit.LayerKey = DoorVisualLayers.BaseUnlit; + flickUnlit.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("closing_unlit", 0f)); + var sound = new AnimationTrackPlaySound(); CloseAnimation.AnimationTracks.Add(sound); sound.KeyFrames.Add(new AnimationTrackPlaySound.KeyFrame(closeSound, 0)); @@ -43,6 +48,11 @@ namespace Content.Client.GameObjects.Components.Doors flick.LayerKey = DoorVisualLayers.Base; flick.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("opening", 0f)); + var flickUnlit = new AnimationTrackSpriteFlick(); + OpenAnimation.AnimationTracks.Add(flickUnlit); + flickUnlit.LayerKey = DoorVisualLayers.BaseUnlit; + flickUnlit.KeyFrames.Add(new AnimationTrackSpriteFlick.KeyFrame("opening_unlit", 0f)); + var sound = new AnimationTrackPlaySound(); OpenAnimation.AnimationTracks.Add(sound); sound.KeyFrames.Add(new AnimationTrackPlaySound.KeyFrame(openSound, 0)); @@ -70,14 +80,18 @@ namespace Content.Client.GameObjects.Components.Doors { case DoorVisualState.Closed: sprite.LayerSetState(DoorVisualLayers.Base, "closed"); + sprite.LayerSetState(DoorVisualLayers.BaseUnlit, "closed_unlit"); + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, true); break; case DoorVisualState.Closing: + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, true); if (!animPlayer.HasRunningAnimation(AnimationKey)) { animPlayer.Play(CloseAnimation, AnimationKey); } break; case DoorVisualState.Opening: + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, true); if (!animPlayer.HasRunningAnimation(AnimationKey)) { animPlayer.Play(OpenAnimation, AnimationKey); @@ -86,6 +100,7 @@ namespace Content.Client.GameObjects.Components.Doors break; case DoorVisualState.Open: sprite.LayerSetState(DoorVisualLayers.Base, "open"); + sprite.LayerSetVisible(DoorVisualLayers.BaseUnlit, false); break; default: throw new ArgumentOutOfRangeException(); @@ -95,6 +110,7 @@ namespace Content.Client.GameObjects.Components.Doors public enum DoorVisualLayers { - Base + Base, + BaseUnlit } } diff --git a/Resources/Prototypes/Entities/Door.yml b/Resources/Prototypes/Entities/Door.yml index 4a31c40571..69914433bc 100644 --- a/Resources/Prototypes/Entities/Door.yml +++ b/Resources/Prototypes/Entities/Door.yml @@ -5,12 +5,16 @@ components: - type: Clickable - type: Sprite + netsync: false drawdepth: Mobs # They're on the same layer as mobs, perspective. sprite: Buildings/airlock_basic.rsi layers: - state: closed map: ["enum.DoorVisualLayers.Base"] + - state: closed_unlit + shader: unshaded + map: ["enum.DoorVisualLayers.BaseUnlit"] - type: Icon sprite: Buildings/airlock_basic.rsi diff --git a/Resources/Textures/Buildings/airlock_basic.rsi/closed_unlit.png b/Resources/Textures/Buildings/airlock_basic.rsi/closed_unlit.png new file mode 100644 index 0000000000..4f74aa619a Binary files /dev/null and b/Resources/Textures/Buildings/airlock_basic.rsi/closed_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_basic.rsi/closing_unlit.png b/Resources/Textures/Buildings/airlock_basic.rsi/closing_unlit.png new file mode 100644 index 0000000000..3d666ac1d1 Binary files /dev/null and b/Resources/Textures/Buildings/airlock_basic.rsi/closing_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_basic.rsi/meta.json b/Resources/Textures/Buildings/airlock_basic.rsi/meta.json index 5b0fd232cb..7d2879643a 100644 --- a/Resources/Textures/Buildings/airlock_basic.rsi/meta.json +++ b/Resources/Textures/Buildings/airlock_basic.rsi/meta.json @@ -1 +1,220 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/doorint.dmi", "states": [{"name": "closed", "directions": 1, "delays": [[1.0]]}, {"name": "closing", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "deny", "directions": 1, "delays": [[0.1, 0.1, 0.1]]}, {"name": "locked", "directions": 1, "delays": [[1.0]]}, {"name": "o_closing", "directions": 1, "delays": [[0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.4]]}, {"name": "o_opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "open", "directions": 1, "delays": [[1.0]]}, {"name": "opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "panel_open", "directions": 1, "delays": [[1.0]]}, {"name": "spark", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_broken", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_damaged", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.7]]}, {"name": "sparks_open", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "welded", "directions": 1, "delays": [[1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/doorint.dmi", + "states": [ + { + "name": "closed", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "closed_unlit", + "directions": 1 + }, + { + "name": "closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "closing_unlit", + "directions": 1, + "delays": [ + [ + 0.5, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "deny", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "locked", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "o_closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.4 + ] + ] + }, + { + "name": "o_opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "opening_unlit", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.5 + ] + ] + }, + { + "name": "panel_open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "spark", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_broken", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_damaged", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 1.7 + ] + ] + }, + { + "name": "sparks_open", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "welded", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Buildings/airlock_basic.rsi/opening_unlit.png b/Resources/Textures/Buildings/airlock_basic.rsi/opening_unlit.png new file mode 100644 index 0000000000..d281c519de Binary files /dev/null and b/Resources/Textures/Buildings/airlock_basic.rsi/opening_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_engineering.rsi/closed_unlit.png b/Resources/Textures/Buildings/airlock_engineering.rsi/closed_unlit.png new file mode 100644 index 0000000000..4f74aa619a Binary files /dev/null and b/Resources/Textures/Buildings/airlock_engineering.rsi/closed_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_engineering.rsi/closing_unlit.png b/Resources/Textures/Buildings/airlock_engineering.rsi/closing_unlit.png new file mode 100644 index 0000000000..3d666ac1d1 Binary files /dev/null and b/Resources/Textures/Buildings/airlock_engineering.rsi/closing_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_engineering.rsi/meta.json b/Resources/Textures/Buildings/airlock_engineering.rsi/meta.json index 2504313375..cc6b01d73b 100644 --- a/Resources/Textures/Buildings/airlock_engineering.rsi/meta.json +++ b/Resources/Textures/Buildings/airlock_engineering.rsi/meta.json @@ -1 +1,220 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/Dooreng.dmi", "states": [{"name": "closed", "directions": 1, "delays": [[1.0]]}, {"name": "closing", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "deny", "directions": 1, "delays": [[0.1, 0.1, 0.1]]}, {"name": "locked", "directions": 1, "delays": [[1.0]]}, {"name": "o_closing", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "o_opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "open", "directions": 1, "delays": [[1.0]]}, {"name": "opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "panel_open", "directions": 1, "delays": [[1.0]]}, {"name": "spark", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_broken", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_damaged", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 1.7]]}, {"name": "sparks_open", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "welded", "directions": 1, "delays": [[1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/Dooreng.dmi", + "states": [ + { + "name": "closed", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "closed_unlit", + "directions": 1 + }, + { + "name": "closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "closing_unlit", + "directions": 1, + "delays": [ + [ + 0.5, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "deny", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "locked", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "o_closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "o_opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "opening_unlit", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.5 + ] + ] + }, + { + "name": "panel_open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "spark", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_broken", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_damaged", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 1.7 + ] + ] + }, + { + "name": "sparks_open", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "welded", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Buildings/airlock_engineering.rsi/opening_unlit.png b/Resources/Textures/Buildings/airlock_engineering.rsi/opening_unlit.png new file mode 100644 index 0000000000..d281c519de Binary files /dev/null and b/Resources/Textures/Buildings/airlock_engineering.rsi/opening_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_external.rsi/closed_unlit.png b/Resources/Textures/Buildings/airlock_external.rsi/closed_unlit.png new file mode 100644 index 0000000000..f0d596f4be Binary files /dev/null and b/Resources/Textures/Buildings/airlock_external.rsi/closed_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_external.rsi/closing_unlit.png b/Resources/Textures/Buildings/airlock_external.rsi/closing_unlit.png new file mode 100644 index 0000000000..f0cd112074 Binary files /dev/null and b/Resources/Textures/Buildings/airlock_external.rsi/closing_unlit.png differ diff --git a/Resources/Textures/Buildings/airlock_external.rsi/meta.json b/Resources/Textures/Buildings/airlock_external.rsi/meta.json index edc8fbbf83..7e82245953 100644 --- a/Resources/Textures/Buildings/airlock_external.rsi/meta.json +++ b/Resources/Textures/Buildings/airlock_external.rsi/meta.json @@ -1 +1,208 @@ -{"version": 1, "size": {"x": 32, "y": 32}, "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/Doorext.dmi", "states": [{"name": "closed", "directions": 1, "delays": [[1.0]]}, {"name": "closing", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "deny", "directions": 1, "delays": [[0.1, 0.1, 0.1]]}, {"name": "locked", "directions": 1, "delays": [[1.0]]}, {"name": "o_closing", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "o_opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "open", "directions": 1, "delays": [[1.0]]}, {"name": "opening", "directions": 1, "delays": [[0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.3]]}, {"name": "panel_open", "directions": 1, "delays": [[1.0]]}, {"name": "spark", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_broken", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "sparks_damaged", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1, 1.7]]}, {"name": "sparks_open", "directions": 1, "delays": [[0.1, 0.1, 0.1, 0.1, 0.1]]}, {"name": "welded", "directions": 1, "delays": [[1.0]]}]} \ No newline at end of file +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from https://github.com/discordia-space/CEV-Eris/blob/2b969adc2dfd3e9621bf3597c5cbffeb3ac8c9f0/icons/obj/doors/Doorext.dmi", + "states": [ + { + "name": "closed", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "closed_unlit", + "directions": 1 + }, + { + "name": "closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "closing_unlit", + "directions": 1, + "delays": [ + [ + 0.6, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "deny", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "locked", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "o_closing", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "o_opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "opening", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.1, + 0.1, + 0.1, + 0.3 + ] + ] + }, + { + "name": "opening_unlit", + "directions": 1, + "delays": [ + [ + 0.2, + 0.2, + 0.1, + 0.6 + ] + ] + }, + { + "name": "panel_open", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + }, + { + "name": "spark", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_broken", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "sparks_damaged", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1, + 1.7 + ] + ] + }, + { + "name": "sparks_open", + "directions": 1, + "delays": [ + [ + 0.1, + 0.1, + 0.1, + 0.1, + 0.1 + ] + ] + }, + { + "name": "welded", + "directions": 1, + "delays": [ + [ + 1.0 + ] + ] + } + ] +} diff --git a/Resources/Textures/Buildings/airlock_external.rsi/opening_unlit.png b/Resources/Textures/Buildings/airlock_external.rsi/opening_unlit.png new file mode 100644 index 0000000000..77ea2132a3 Binary files /dev/null and b/Resources/Textures/Buildings/airlock_external.rsi/opening_unlit.png differ