From 7e34124244ddf3f1708513d8487cf140819ccdaa Mon Sep 17 00:00:00 2001 From: Kara Date: Thu, 7 Jul 2022 09:16:48 -0700 Subject: [PATCH] Emergency light goodies (#9352) Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com> --- Content.Client/Light/EmergencyLightSystem.cs | 2 +- .../Visualizers/EmergencyLightVisualizer.cs | 14 +++- .../AlertLevel/AlertLevelPrototype.cs | 10 +++ .../Components/EmergencyLightComponent.cs | 6 ++ .../EntitySystems/EmergencyLightSystem.cs | 67 +++++++++++++++++- .../SharedEmergencyLightComponent.cs | 1 + Resources/Audio/Ambience/Objects/alarm.ogg | Bin 0 -> 67196 bytes Resources/Audio/Ambience/Objects/license.txt | 1 + .../components/emergency-light-component.ftl | 9 +-- .../Prototypes/AlertLevels/alert_levels.yml | 8 +++ .../Structures/Lighting/base_lighting.yml | 12 +++- .../Lighting/emergency_light.rsi/base.png | Bin 0 -> 262 bytes .../emergency_light_off.png | Bin 336 -> 251 bytes .../emergency_light_on.png | Bin 1562 -> 1329 bytes .../Lighting/emergency_light.rsi/meta.json | 5 ++ 15 files changed, 127 insertions(+), 8 deletions(-) create mode 100644 Resources/Audio/Ambience/Objects/alarm.ogg create mode 100644 Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/base.png diff --git a/Content.Client/Light/EmergencyLightSystem.cs b/Content.Client/Light/EmergencyLightSystem.cs index 2859dc4b71..34f2b9bf05 100644 --- a/Content.Client/Light/EmergencyLightSystem.cs +++ b/Content.Client/Light/EmergencyLightSystem.cs @@ -13,7 +13,7 @@ namespace Content.Client.Light { public sealed class EmergencyLightSystem : SharedEmergencyLightSystem { - private const float DegreesPerSecond = 270; + private const float DegreesPerSecond = 90; private static Animation Animation => new() { diff --git a/Content.Client/Light/Visualizers/EmergencyLightVisualizer.cs b/Content.Client/Light/Visualizers/EmergencyLightVisualizer.cs index 097492eb47..af106a08e1 100644 --- a/Content.Client/Light/Visualizers/EmergencyLightVisualizer.cs +++ b/Content.Client/Light/Visualizers/EmergencyLightVisualizer.cs @@ -20,7 +20,19 @@ namespace Content.Client.Light.Visualizers if (!component.TryGetData(EmergencyLightVisuals.On, out bool on)) on = false; - sprite.LayerSetState(0, on ? "emergency_light_on" : "emergency_light_off"); + sprite.LayerSetState(EmergencyLightVisualLayers.Light, on ? "emergency_light_on" : "emergency_light_off"); + sprite.LayerSetShader(EmergencyLightVisualLayers.Light, on ? "unshaded" : "shaded"); + + if (component.TryGetData(EmergencyLightVisuals.Color, out Color color)) + { + sprite.LayerSetColor(EmergencyLightVisualLayers.Light, color); + } } } } + +public enum EmergencyLightVisualLayers +{ + Base, + Light +} diff --git a/Content.Server/AlertLevel/AlertLevelPrototype.cs b/Content.Server/AlertLevel/AlertLevelPrototype.cs index a1f654708d..56a81e1697 100644 --- a/Content.Server/AlertLevel/AlertLevelPrototype.cs +++ b/Content.Server/AlertLevel/AlertLevelPrototype.cs @@ -58,6 +58,16 @@ public sealed class AlertLevelDetail /// [DataField("color")] public Color Color { get; } = Color.White; + /// + /// The color to turn emergency lights on this station when they are active. + /// + [DataField("emergencyLightColor")] public Color EmergencyLightColor { get; } = Color.FromHex("#FF4020"); + + /// + /// Will this alert level force emergency lights on for the station that's active? + /// + [DataField("forceEnableEmergencyLights")] public bool ForceEnableEmergencyLights { get; } = false; + /// /// How long it takes for the shuttle to arrive when called. /// diff --git a/Content.Server/Light/Components/EmergencyLightComponent.cs b/Content.Server/Light/Components/EmergencyLightComponent.cs index bc43c83196..3d55b5c559 100644 --- a/Content.Server/Light/Components/EmergencyLightComponent.cs +++ b/Content.Server/Light/Components/EmergencyLightComponent.cs @@ -12,6 +12,12 @@ namespace Content.Server.Light.Components [ViewVariables] public EmergencyLightState State; + /// + /// Is this emergency light forced on for some reason and cannot be disabled through normal means + /// (i.e. delta alert level?) + /// + public bool ForciblyEnabled = false; + [ViewVariables(VVAccess.ReadWrite)] [DataField("wattage")] public float Wattage = 5; diff --git a/Content.Server/Light/EntitySystems/EmergencyLightSystem.cs b/Content.Server/Light/EntitySystems/EmergencyLightSystem.cs index 99e05a1bbe..6b5c784dca 100644 --- a/Content.Server/Light/EntitySystems/EmergencyLightSystem.cs +++ b/Content.Server/Light/EntitySystems/EmergencyLightSystem.cs @@ -1,23 +1,33 @@ +using System.Drawing; +using Content.Server.AlertLevel; +using Content.Server.Audio; using Content.Server.Light.Components; using Content.Server.Power.Components; +using Content.Server.Station.Components; +using Content.Server.Station.Systems; using Content.Shared.Examine; using Content.Shared.Light; using Content.Shared.Light.Component; using JetBrains.Annotations; using Robust.Server.GameObjects; using Robust.Shared.GameStates; +using Color = Robust.Shared.Maths.Color; namespace Content.Server.Light.EntitySystems { [UsedImplicitly] public sealed class EmergencyLightSystem : SharedEmergencyLightSystem { + [Dependency] private readonly AmbientSoundSystem _ambient = default!; + [Dependency] private readonly StationSystem _station = default!; + private readonly HashSet _activeLights = new(); public override void Initialize() { base.Initialize(); SubscribeLocalEvent(HandleEmergencyLightMessage); + SubscribeLocalEvent(OnAlertLevelChanged); SubscribeLocalEvent(GetCompState); SubscribeLocalEvent(HandleLightToggle); SubscribeLocalEvent(OnEmergencyExamine); @@ -35,6 +45,24 @@ namespace Content.Server.Light.EntitySystems Loc.GetString("emergency-light-component-on-examine", ("batteryStateText", Loc.GetString(component.BatteryStateText[component.State])))); + + // Show alert level on the light itself. + if (!TryComp(_station.GetOwningStation(uid), out var alerts)) + return; + + if (alerts.AlertLevels == null) + return; + + var name = alerts.CurrentLevel; + + var color = Color.White; + if (alerts.AlertLevels.Levels.TryGetValue(alerts.CurrentLevel, out var details)) + color = details.Color; + + args.PushMarkup( + Loc.GetString("emergency-light-component-on-examine-alert", + ("color", color.ToHex()), + ("level", name))); } private void HandleLightToggle(EntityUid uid, EmergencyLightComponent component, PointLightToggleEvent args) @@ -66,6 +94,36 @@ namespace Content.Server.Light.EntitySystems } } + private void OnAlertLevelChanged(AlertLevelChangedEvent ev) + { + if (!TryComp(ev.Station, out var alert)) + return; + + if (alert.AlertLevels == null || !alert.AlertLevels.Levels.TryGetValue(ev.AlertLevel, out var details)) + return; + + foreach (var (light, pointLight, appearance, xform) in EntityQuery()) + { + if (CompOrNull(xform.GridUid)?.Station != ev.Station) + continue; + + pointLight.Color = details.EmergencyLightColor; + appearance.SetData(EmergencyLightVisuals.Color, details.EmergencyLightColor); + + if (details.ForceEnableEmergencyLights && !light.ForciblyEnabled) + { + light.ForciblyEnabled = true; + TurnOn(light); + } + else if (!details.ForceEnableEmergencyLights && light.ForciblyEnabled) + { + // Previously forcibly enabled, and we went down an alert level. + light.ForciblyEnabled = false; + UpdateState(light); + } + } + } + public void SetState(EmergencyLightComponent component, EmergencyLightState state) { if (component.State == state) return; @@ -122,7 +180,7 @@ namespace Content.Server.Light.EntitySystems return; } - if (receiver.Powered) + if (receiver.Powered && !component.ForciblyEnabled) { receiver.Load = (int) Math.Abs(component.Wattage); TurnOff(component); @@ -144,6 +202,8 @@ namespace Content.Server.Light.EntitySystems if (TryComp(component.Owner, out AppearanceComponent? appearance)) appearance.SetData(EmergencyLightVisuals.On, false); + + _ambient.SetAmbience(component.Owner, false); } private void TurnOn(EmergencyLightComponent component) @@ -154,7 +214,12 @@ namespace Content.Server.Light.EntitySystems } if (TryComp(component.Owner, out AppearanceComponent? appearance)) + { appearance.SetData(EmergencyLightVisuals.On, true); + } + + _ambient.SetAmbience(component.Owner, true); } } } + diff --git a/Content.Shared/Light/Component/SharedEmergencyLightComponent.cs b/Content.Shared/Light/Component/SharedEmergencyLightComponent.cs index ec380880a5..ef41400bfb 100644 --- a/Content.Shared/Light/Component/SharedEmergencyLightComponent.cs +++ b/Content.Shared/Light/Component/SharedEmergencyLightComponent.cs @@ -24,5 +24,6 @@ namespace Content.Shared.Light.Component public enum EmergencyLightVisuals { On, + Color } } diff --git a/Resources/Audio/Ambience/Objects/alarm.ogg b/Resources/Audio/Ambience/Objects/alarm.ogg new file mode 100644 index 0000000000000000000000000000000000000000..17b704f6c7c77f3e8414333a5ec4e5fd838f278b GIT binary patch literal 67196 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 D1t@z5 literal 0 HcmV?d00001 diff --git a/Resources/Audio/Ambience/Objects/license.txt b/Resources/Audio/Ambience/Objects/license.txt index f315c60331..cdac322938 100644 --- a/Resources/Audio/Ambience/Objects/license.txt +++ b/Resources/Audio/Ambience/Objects/license.txt @@ -5,3 +5,4 @@ gas_vent - https://freesound.org/people/kyles/sounds/453642/ - CC0-1.0 flowing_water_open - https://freesound.org/people/sterferny/sounds/382322/ - CC0-1.0 server_fans - https://freesound.org/people/DeVern/sounds/610761/ - CC-BY-3.0 drain.ogg - https://freesound.org/people/PhreaKsAccount/sounds/46266/ - CC-BY-3.0 (by PhreaKsAccount) +alarm.ogg - https://github.com/Baystation12/Baystation12/commit/41b11ef289bccfdfa2940480beb9c1e3f50c3b93, fire_alarm.ogg CC-BY-SA-3.0 \ No newline at end of file diff --git a/Resources/Locale/en-US/light/components/emergency-light-component.ftl b/Resources/Locale/en-US/light/components/emergency-light-component.ftl index b976e5d702..ba4a083a6d 100644 --- a/Resources/Locale/en-US/light/components/emergency-light-component.ftl +++ b/Resources/Locale/en-US/light/components/emergency-light-component.ftl @@ -1,5 +1,6 @@ emergency-light-component-on-examine = The battery indicator displays: {$batteryStateText}. -emergency-light-component-light-state-full = [color=darkgreen]Full[/color] -emergency-light-component-light-state-empty = [color=darkgreen]Empty[/color] -emergency-light-component-light-state-charging = [color=darkgreen]Charging[/color] -emergency-light-component-light-state-on = [color=darkgreen]On[/color] \ No newline at end of file +emergency-light-component-on-examine-alert = The current station alert level is: [color={$color}]{$level}[/color]. +emergency-light-component-light-state-full = [color=darkgreen]full[/color] +emergency-light-component-light-state-empty = [color=darkgreen]empty[/color] +emergency-light-component-light-state-charging = [color=darkgreen]charging[/color] +emergency-light-component-light-state-on = [color=darkgreen]on[/color] diff --git a/Resources/Prototypes/AlertLevels/alert_levels.yml b/Resources/Prototypes/AlertLevels/alert_levels.yml index 921b3d5145..585ab26d3c 100644 --- a/Resources/Prototypes/AlertLevels/alert_levels.yml +++ b/Resources/Prototypes/AlertLevels/alert_levels.yml @@ -14,11 +14,13 @@ announcement: alert-level-violet-announcement sound: /Audio/Misc/notice1.ogg color: Violet + emergencyLightColor: Violet shuttleTime: 600 yellow: announcement: alert-level-yellow-announcement sound: /Audio/Misc/notice1.ogg color: Yellow + emergencyLightColor: Yellow shuttleTime: 400 red: announcement: alert-level-red-announcement @@ -33,6 +35,8 @@ volume: -2 disableSelection: true color: PaleVioletRed + emergencyLightColor: PaleVioletRed + forceEnableEmergencyLights: true delta: announcement: alert-level-delta-announcement selectable: false @@ -42,6 +46,8 @@ volume: -5 disableSelection: true color: DarkRed + emergencyLightColor: Orange + forceEnableEmergencyLights: true shuttleTime: 1200 epsilon: announcement: alert-level-epsilon-announcement @@ -52,4 +58,6 @@ volume: -2 disableSelection: true color: DarkViolet + emergencyLightColor: DarkViolet + forceEnableEmergencyLights: true shuttleTime: 1200 diff --git a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml index 1d04c6c595..d84cea45ff 100644 --- a/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml +++ b/Resources/Prototypes/Entities/Structures/Lighting/base_lighting.yml @@ -275,7 +275,7 @@ - type: entity id: EmergencyLight name: emergency light - description: A small red light with an internal battery that turns on as soon as it stops receiving any power. + description: A small light with an internal battery that turns on as soon as it stops receiving any power. Nanotrasen technology allows it to adapt its color to alert crew to the conditions of the station. parent: AlwaysPoweredWallLight suffix: components: @@ -283,6 +283,7 @@ enabled: false radius: 10 energy: 2.5 + offset: "0, 0.2" color: "#FF4020" mask: /Textures/Effects/LightMasks/cone.png - type: ApcPowerReceiver @@ -294,10 +295,19 @@ - type: Sprite sprite: Structures/Wallmounts/Lighting/emergency_light.rsi layers: + - state: base + map: ["enum.EmergencyLightVisualLayers.Base"] - state: emergency_light_off + map: ["enum.EmergencyLightVisualLayers.Light"] + color: "#FF4020" - type: Appearance visuals: - type: EmergencyLightVisualizer + - type: AmbientSound + sound: + path: /Audio/Ambience/Objects/alarm.ogg + volume: -18 + range: 5 placement: mode: SnapgridCenter snap: diff --git a/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/base.png b/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..8b85bd6141c3218bfbe58fe8a88088545234b8c3 GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|4tTmahE&XX zd)tujkb=mu!WW!YB`;Dq(iN)s*@gQV*jJ@rs$ff=0~F*fC}3k&bbRxFdtKv%?Y43A zL^`(^*-f*bS3a{UJ^0-6>^OGwhi8cliJ*))jvn zZfQ8YWxsNb^W)7gCw>OzPAxsReaBrUpaBc!n9I!6O;+(e{ugAOr>mdKI;Vst07EBe A2LJ#7 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/emergency_light_off.png b/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/emergency_light_off.png index 6427384c2fe2b5141aa7382bc08e944ab57b0a09..e80bf61e19f07c72007b4455e351c8e13226c39d 100644 GIT binary patch delta 211 zcmcb>^qX;lK|KRYx}&cn1H;CC?mvmF3=9mM1s;*b3=DjSL74G){)!Z!-~>+>$B>G+ zx3?X+4l4+-2Hf6Uq0s-TagTSm&_a<-9g$03?qN4d5x$UOT<3eyc3YLl+OJo$&sEx# zuiYBr6b&UKOX{}lK%;=*&$ipCm3Pmm?O&VXGkN)@gR8$5l<@(@EmnNLUTyo$ z{@0xMH~2g5_}{N`e$w;v;$gi5CSnSo3cqitZ?Fccb4bwK%eWv<&6nMKj{(R$Pgg&e IbxsLQ06m^oi2wiq delta 297 zcmV+^0oMNe0nh@FFn<9GNkled@VB zFf&7~<_k$uGMO~}Wu9w&*z0sYzHWAJ;Jg4yf6%ncJbxGi0Dk}g000000091%RuwWO zDb2EKY0QtYjkVfsw@&ZmTpRSQEUr!azBv0e_E)Vt0bMK40{{R3@FNc&x$hiHw|RAFV&4<+rQY;l7oZkP->m(s&Lr5QQRl_9ihnYIzW5+9(EZIK#1bU3Ewz*igi>S5^sEzJ_m zPFZFdEN3Wr%q$gKg*gn$LLvfG4k6+Ll)-ST{_37{?|1Gw-}#;UefR!O$Kt}B9NioN z0Dw~jCKPYOOY^zV-d0QdNq#l}Qt{!z0FH3gsI38$g0MjVz-`tS=7S4tJtPA|paKBS z59bpoIC4G7#_5d+4T{U%ua$O1dPTVu$fwhbwjV4*k5s;~J2m3FJ#p5)usl@->~?5_ zu0h?Gf*mI85l;~}S9UwZCM@vmL%S9wDJMs3?uk^{L!77^%m^#&cw8kzFjf=#w=^pd z1Wy|=6wm%+5lW>}MNd!IV0x>J$Ky?YwfXELZ#U;+cePqQFg!erYY-hBg!y4xUon2| z*#DC`)g3mWcW0br3ZolDTkd6dG?x&QEu1+klFq4rPWI?Cm`jn(w{0{gi_Igk6ISXzDo1Cv^B~U4T?gk zbQJ|dO-YGFu+7)c#wB#SR4hKUhX>q*Q@+g3$q|tnp*a-F#Cy-frnCaznx)U~qF`dy z?l5d)Su&vxsu2VL?+{ABpL;P^-r_67KVN=y<@c&vCo3cG>vPRv?N_Uxs*o^9N(Vg4 zqpF9K0AlXE0t<{=$5e#WK~ne|i8Eb4Xk8;!7AXmoH|dkX=)gnHV{znx`eRfMm+Ox} zBB3@(=HX_esgwG$NkL*VnT`smy`7pyx#4tpRH;6)mKXIbZVb8Vec-t<^R5IB7Fq@c8tzoM%uuM-(#>8A`}XT-%$|!`iSD9$hWe+J+6;l zTb(`flM#Z6^(GgLE~i2IW^7d*INC)zhw#=I89PJb<>dt%!$1#QAPaYUAGn;t2*)&^ z$FP0i5^7n&X?aH5!CLS+y`Q?jFvU5P-OHteD8A0~W0Jc^<1?N|Wzp!zT9_;)6^DL2 zo4HihjDnr(4*)8AZv9687S0kiZqv+Wnv8~EvEbN}fHXt7?<+G=tOtHlI!5kX*NAxc zrBj;fyX-)Zw4seLXiajVSRYajej+z6LRhC!c?T=r}>&nnj6(%9|$<092{2NvB3^Wq8T45Q5a*H4rKo} z6Fq^QLznt(yPux-zh@ssf4~}W;_@oug|$=i_c~oNmcwk?p)pD5)`sn9GJq`UE>fNj z+S^Zj+b>c7`6J%F_b#e-FxU*A(!=)(`ZsUD#m!V79}KPeItq<0`)`RA1dzDH$Mc&d zr0Ds7Vq>@bZoM#OASlq8Xt9AiXZdtt0J2v}o*h9V@pi)pt(hMvA`BPG2|iHtFB491 AqyPW_ literal 1562 zcmZuxc~BBq7{^S>BOTk)U5`B0V{%2>4m(8Y&_XM5O$$#vQnb}H6;YRvX)VXKGNn{V zM9nJ`j~#CVN;6NSw7?V6);w56K|w@xadzC8xjB{=&rBa015g-Ew&m+ce=&|1X#NJ-8}h z`^4Hgt*N4w;2N{`z{LH!y@8tPi4|4Ah->#ho8IjTNHuLs&NiD0x&m1-(TqTna@;et z_OaDkZAXe0bjOY{`9eCQOdwIFt!XE5o1_+&OqpYJu1`IQIiC;|pe+R7WZuFYLbvkU zijL}c-|(UFbI8yWl^!n!k3n@a5*(7&D;7q8rpWC4H$`RAMUSGsnn3MFQ#aBeY)=YlSP=b|UK)|bO)ICEt zkJ{Rl^kQ<=>7lZ^Egi7I;e-`frQmIkzc$^R{PZJcs^s0HgDy!eaBwwQ+CBo_8YP1B zO@#1;H8nG&?+^CISeJR8kBDF_6HFg)&t9SO=bJS2#C}(g%&pqezCv%3D6lnBio-r> zP!jglGO4ELndQE8)>Eck03n_;vymWR%qT%}E^DQnaT{BC_`t8BUy$B~vJnA~5E~f{ z%f%Bip3s2(DUv;O>E$YT`}Mv#)>0to9-~wo#L%{&H@!+Gjaf^a2i7mnbWDm&<@ho= z_M{&~yATaE{>E{Ww~*sMB7B%(4&-RaP5*IUs3LP25m`W{aUv%KqB0(}$}ggk`&}k$jmY2;Uh|hQ;{fh$ z!|B+T`@hb``*7qecX5*%?;~7mtPW9K61aBKkkTO# zgE~w6SZnxVW4(0I_~BQ^X7f~^-DMUO(`UfHA}a6W)8&%u6dofa3WUc-g;pK!kyM5_ zrozOlF+r?cb5u-41ij63wt~28hw>79mSN}346}&f=o}=+!>(HK^M2Rah;2IzF0bJj z*(aMf$fI#a@ZoN0+;dlpV1fT(kNs zcgax-0^^E3LnN_hzt=8GQF*c=Xb^~7cX=X&xm{h#EG_v@h4r#wdhN6T(g=oWnq2-F zf4CFSzF)b5DLU1j&j`z7mIp=!%+VCWWAcsCPVxjt)eY3-fB;wWqC&>{8BQLqmddQm z&SHP%i7qrKE5^oFEDxY7(f|1J^5izXJ=$=}U8-!ZO7sC&u%#6~0Y^=+(!@dto-L1O z%dz2LxbluubPO*Ib}996&IP9F^8#;q*CFbS#?U4rrJX|I+4nX}N@|C{xZ7b&2x?g0 zc_JkzLV-y(E?MV;pjg>;E@(?99499PCU3Sp1Ly3&t(tZd=}$+Cv)pko(>L>u`}&0o)ow77ZB1Jp;z`X^`&1$B0C1-;|FZ?Vldt(b$2D8Q zja6FI%Bm#1(~PXw8rIt_K&-qLopXZiW$k7DyVaW;b<8;5Fdv%$|lE414T`?=R(9yV7{C;!qSU({4ZzxnGIz_ Wy$`)>JsA_*P8Vl4r|NTocmDy0=oR1q diff --git a/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/meta.json b/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/meta.json index 5e722f0710..6d66dbed45 100644 --- a/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/meta.json +++ b/Resources/Textures/Structures/Wallmounts/Lighting/emergency_light.rsi/meta.json @@ -5,7 +5,12 @@ "y": 32 }, "license": "CC-BY-SA-3.0", + "copyright": "juliang, modified by mirrorcult", "states": [ + { + "name": "base", + "directions": 4 + }, { "name": "emergency_light_off", "directions": 4,