From dd31f75ae36333be6a923200b7c7d5e4f1f677df Mon Sep 17 00:00:00 2001 From: Rob Nelson Date: Thu, 17 Jul 2014 14:03:45 -0700 Subject: [PATCH] Add pressure alerts on firedoors. Conflicts: code/game/machinery/doors/firedoor.dm icons/obj/doors/DoorHazard.dmi --- code/game/machinery/doors/firedoor.dm | 25 +++++++++++++++++++++++++ icons/obj/doors/DoorHazard.dmi | Bin 2669 -> 6246 bytes 2 files changed, 25 insertions(+) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index b213eff32d2..41da1d3a6ab 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -1,5 +1,8 @@ /var/const/OPEN = 1 /var/const/CLOSED = 2 + +#define FIREDOOR_MAX_PRESSURE_DIFF 25 // kPa + /obj/machinery/door/firedoor name = "\improper Emergency Shutter" desc = "Emergency air-tight shutter, capable of sealing off breached areas." @@ -10,6 +13,8 @@ density = 0 var/blocked = 0 + var/pdiff_alert = 0 + var/pdiff = 0 var/nextstate = null var/net_id var/list/areas_added @@ -44,6 +49,8 @@ /obj/machinery/door/firedoor/examine() set src in view() . = ..() + if(pdiff >= FIREDOOR_MAX_PRESSURE_DIFF) + usr << "WARNING: Current pressure differential is [pdiff]kPa!" if( islist(users_to_open) && users_to_open.len) var/users_to_open_string = users_to_open[1] if(users_to_open.len >= 2) @@ -181,6 +188,22 @@ return + + // CHECK PRESSURE +/obj/machinery/door/firedoor/process() + ..() + + if(density) + pdiff = getOPressureDifferential(get_turf(src)) + if(pdiff >= FIREDOOR_MAX_PRESSURE_DIFF) + if(!pdiff_alert) + pdiff_alert = 1 + update_icon() + else + if(pdiff_alert) + pdiff_alert = 0 + update_icon() + /obj/machinery/door/firedoor/proc/latetoggle() if(operating || stat & NOPOWER || !nextstate) return @@ -220,6 +243,8 @@ icon_state = "door_closed" if(blocked) overlays += "welded" + if(pdiff_alert) + overlays += "palert" else icon_state = "door_open" if(blocked) diff --git a/icons/obj/doors/DoorHazard.dmi b/icons/obj/doors/DoorHazard.dmi index 757c94f32704ddaf541ce82e8f819dc782498c36..3131226ff256ccf3dda754da69b0160d9efd7d7d 100644 GIT binary patch literal 6246 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 J`G4+4{|{%zr6>RZ literal 2669 zcma)8X1ZmMQ)xD2 zIWv{}R2HT}WiB&LnxmmNO3E!V7e*07fs5UlulIL9ob$ftU7q)O&iQh_4+_|)t7W1E z0Dvydhq_;F`Ra8I0afq+TDcIfHcLTYg?g!NXlN)7hbuY+y%GycqCrOLHDBI`P4Qvs zl;|Ps6&J>5Yt{y8{>sp_wzg(c5f}`{#>R$Dr^l)*2*CF3+nEeTrP_}LDk>`a)lMbA zIg898A^x3*K%>#Ry1KGK=2B?Lj7kAn4-kOdt?aQ&auKS#fHT zkd*xaApm)LbVEj8M(Dv5>bJ>9la42(9FM01Kw5Rfeh;mDJj&I&36b%G;l1S-e!)cr za+XDGUCnU|+RfFqZmoN)gLV}i{q}^17tGDSnC!W3HFk@Cdho0*Z6)Smjj^iN?as!j+j>@)N;vJwA*c~i zv|)#qWliYJm{Z2Opz*n2Nc*Cr&ZJ0CyCfkdIcaC2PI-N8G*?%LO)3!|GEND|&p3jl zMa2#nf>yG#e$IUHodO$T>Jd)zJ?$-vW=^WguKtq3G*Lwzy>BY5A7sZ`DDK((n=itaNdUiv!ejVzuQFn%J2@+`zEj#Xp>s zRMa#m?u$wK3)O=)S=Z?qFfBb>_(X!#QVX=qVqq#Fn2FV+`J9PW?o$a0NsQGH8ZG(_ zrJpn+FP;VRtS?_HWozN~T_?Vfa#EVv8nrZ$b{8#*lj2Ct{D)}{A z%^;=ey>A{A$kWF40)!1JHkF_zSkajIq^{Y zGHL4g;>`k$|27KIRoc!F9(CSjWq}RmIuhq=w7WggwFMfvg{k(}o*L+ab*6)$3o`E6pF%En2J|b0vN2q%hK=IMs&mH7YRQqIw&rPxxF4^#caZ z&FwMT{6@GMv(Yvx+*P@iz@;VS**z->jGMnKhm7KMj_E9cyQoAr_e#~wdpJ8L&!xIw zl`PFakK$9#HDQ76PeOKf8@)MJD3L-%e=S(@`{a;>k1_+%)t+*mr1_F87P5XVqmw-E19W_dtCbyi5ITYXU5}o2Y(;X zFOh{E3?kvhsc$v*cDOk{3qAHu{)mV`ePlG|40gcjTzulWo}QVL$EXV6l+x`SHq~6p zqMk{fAZ#&d%K_{eWe)~_x-UWgmO#&PPz{XeM>~4wdVJMrk%rO zhqtPAPpi0c$m)9LFv~y3y}t?lT; zb92{>$iMP9;tkk2QsG;((eVK(Tm&nZVnsy6iY!?HA?C7bRb&AV$WtgH7(jsNt0Bg< zSrB-n%;_WncamwU+(w2+c~sa6JV60(Q)(JOA{l_-pPFBPna3Jw|{oAN^BC zT3sCbHyHke`7`!nVxO#mfJ6aEAs?z}ea9sKu%{YJeFxQasH(l}Pl<`dr^$+3U4p&=%R z(QOx`n6QoJ^3i0~Yes~V>XKU7$+16Yxz>2CZ1edn8y=%T&JU>XWK+OnK?<|R|LJ&x zh3?=_*sg^rEH?)g1|Bqm*mcE7A-6l5G1=yhT~sNg&G(D%Hem3ZvdtUa$zh-OG-A6( z(0e_=!g}1PyjHDna8xICn_buZ_pSpEtkZbQEDI^ie-Ldkt35G RAKUmq0W_}wY9l2&?>~4a>E{3d