From 6334114f8ccedb04fccb2f8a4cfdb921643205d1 Mon Sep 17 00:00:00 2001 From: Fox McCloud Date: Sat, 13 Apr 2019 01:44:05 -0400 Subject: [PATCH] Updates and Fixes Gas Overlays --- code/LINDA/LINDA_turf_tile.dm | 29 +++++++---------------------- code/_globalvars/misc.dm | 1 - code/controllers/subsystem/air.dm | 16 +++++++--------- code/game/turfs/simulated/floor.dm | 3 +-- icons/effects/tile_effects.dmi | Bin 2543 -> 4237 bytes 5 files changed, 15 insertions(+), 34 deletions(-) diff --git a/code/LINDA/LINDA_turf_tile.dm b/code/LINDA/LINDA_turf_tile.dm index 82720b0551e..21ea57a571b 100644 --- a/code/LINDA/LINDA_turf_tile.dm +++ b/code/LINDA/LINDA_turf_tile.dm @@ -66,8 +66,6 @@ air.temperature = temperature - update_visuals() - /turf/simulated/Destroy() visibilityChanged() QDEL_NULL(active_hotspot) @@ -209,6 +207,8 @@ air.react() + update_visuals() + if(air.temperature > FIRE_MINIMUM_TEMPERATURE_TO_EXIST) hotspot_expose(air.temperature, CELL_VOLUME) for(var/atom/movable/item in src) @@ -219,13 +219,6 @@ if(consider_superconductivity(starting = 1)) remove = 0 - if(air.temperature < T0C && air.return_pressure() > 10) - icy = 1 - else if(air.temperature > T0C) - icy = 0 - - update_visuals() - if(!excited_group && remove == 1) SSair.remove_from_active(src) @@ -237,27 +230,19 @@ archived_cycle = SSair.times_fired /turf/simulated/proc/update_visuals() - if(icy && !icyoverlay) - overlays |= icemaster - icyoverlay = icemaster - else if(icyoverlay && !icy) - icyoverlay = null - overlays -= icemaster - var/new_overlay_type = tile_graphic() if(new_overlay_type == atmos_overlay_type) return var/atmos_overlay = get_atmos_overlay_by_name(atmos_overlay_type) if(atmos_overlay) - overlays -= atmos_overlay - mouse_opacity = MOUSE_OPACITY_ICON + vis_contents -= atmos_overlay atmos_overlay = get_atmos_overlay_by_name(new_overlay_type) if(atmos_overlay) - overlays += atmos_overlay + vis_contents += atmos_overlay atmos_overlay_type = new_overlay_type -/turf/simulated/proc/get_atmos_overlay_by_name(var/name) +/turf/simulated/proc/get_atmos_overlay_by_name(name) switch(name) if("plasma") return plmaster @@ -266,13 +251,13 @@ return null /turf/simulated/proc/tile_graphic() + if(!air) + return if(air.toxins > MOLES_PLASMA_VISIBLE) - mouse_opacity = MOUSE_OPACITY_TRANSPARENT return "plasma" var/datum/gas/sleeping_agent = locate(/datum/gas/sleeping_agent) in air.trace_gases if(sleeping_agent && (sleeping_agent.moles > 1)) - mouse_opacity = MOUSE_OPACITY_TRANSPARENT return "sleeping_agent" return null diff --git a/code/_globalvars/misc.dm b/code/_globalvars/misc.dm index 874c87c0758..f0bb813a336 100644 --- a/code/_globalvars/misc.dm +++ b/code/_globalvars/misc.dm @@ -1,6 +1,5 @@ var/global/obj/effect/overlay/plmaster = null var/global/obj/effect/overlay/slmaster = null -var/global/obj/effect/overlay/icemaster = null // Event Manager, the manager for events. var/datum/event_manager/event_manager = new() diff --git a/code/controllers/subsystem/air.dm b/code/controllers/subsystem/air.dm index 6c394309a09..620723c3a9a 100644 --- a/code/controllers/subsystem/air.dm +++ b/code/controllers/subsystem/air.dm @@ -362,20 +362,18 @@ SUBSYSTEM_DEF(air) plmaster = new /obj/effect/overlay() plmaster.icon = 'icons/effects/tile_effects.dmi' plmaster.icon_state = "plasma" - plmaster.layer = FLY_LAYER plmaster.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + plmaster.anchored = TRUE // should only appear in vis_contents, but to be safe + plmaster.layer = FLY_LAYER + plmaster.appearance_flags = TILE_BOUND slmaster = new /obj/effect/overlay() slmaster.icon = 'icons/effects/tile_effects.dmi' slmaster.icon_state = "sleeping_agent" - slmaster.layer = FLY_LAYER slmaster.mouse_opacity = MOUSE_OPACITY_TRANSPARENT - - icemaster = new /obj/effect/overlay() - icemaster.icon = 'icons/turf/overlays.dmi' - icemaster.icon_state = "snowfloor" - icemaster.layer = TURF_LAYER + 0.1 - icemaster.mouse_opacity = MOUSE_OPACITY_TRANSPARENT + slmaster.anchored = TRUE // should only appear in vis_contents, but to be safe + slmaster.layer = FLY_LAYER + slmaster.appearance_flags = TILE_BOUND #undef SSAIR_PIPENETS #undef SSAIR_ATMOSMACHINERY @@ -383,4 +381,4 @@ SUBSYSTEM_DEF(air) #undef SSAIR_EXCITEDGROUPS #undef SSAIR_HIGHPRESSURE #undef SSAIR_HOTSPOTS -#undef SSAIR_SUPERCONDUCTIVITY +#undef SSAIR_SUPERCONDUCTIVITY \ No newline at end of file diff --git a/code/game/turfs/simulated/floor.dm b/code/game/turfs/simulated/floor.dm index 6b3dc1e93ff..07c2bb8a8d6 100644 --- a/code/game/turfs/simulated/floor.dm +++ b/code/game/turfs/simulated/floor.dm @@ -91,8 +91,7 @@ var/list/icons_to_ignore_at_floor_init = list("damaged1","damaged2","damaged3"," return /turf/simulated/floor/proc/update_icon() - if(air) - update_visuals() + update_visuals() overlays -= current_overlay if(current_overlay) overlays.Add(current_overlay) diff --git a/icons/effects/tile_effects.dmi b/icons/effects/tile_effects.dmi index 0475e83515c8749344787a0295b6ff00badfe721..251e539cc84a9ab8849669e7b89af0651ef291db 100644 GIT binary patch literal 4237 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 literal 2543 zcmVV=-0C=2jjIj#BFc=2s{7>=Gu0d?7V-`t~4(%&QAiqf;FT)ACy#5QHxBD_PKf(}-FP}}P{wOM34e#R+A&}Pk(gSQyEFU9wi5YUKLzFMG;GmZpsmHtLx z(UAi)*Y|noFtj_cmBP>XSUSu`VBkeJ9^EWtg`K~3!kL|9gg=8wwW~?l7(enE9&9_- zxkd|AwjE(8D@b&AdtoAzO;&c_Ta+kH-<7wF{_LFG1waSErsTWgaZMl5Tqb82?N@2J zJC5govF_xl@~q#;-Z7>F8ILw68Qs~ugTXs38wH^qyCwvU4rb|8uo@F-(2hXjj#gxX zEW>ULZU@v|fC$}<@LfcHHSeQx2TC(TxY$uGh+&EhlC`B(9SG$g(e@UArBy8e6r8Zd zxVz2(GJ&y<9HpDJ&o;u!kh-FEw*Y^dfn`{oP|YsFs&F=HW81FK;yVl{oW;|YC?l}Q zd}R3nx)IoM%$N)d#EC<5u~E>DVwy**in+6AqdyYGMEtwR!r3Ypao=TO=qlkeX?pbD z(-uYms}XIMtetDVPNwk;BD0bK(YR`2Svzkms}_mg?H-G#Z7kAX7`9|k@nfr$jHYE+o@;nM zAd0(@?lt!Nu$ zkyfiU6PbvJ{B6FU&38nYwh!|DCi1fs;W?t{8RMuB8~z>=ug0bI?U;BJDga@q~m5nr(L;zh_61S*#qjA6RYItAqv_r>nV% z4~P~*Yr$D^;g^evWWq=?wz|+3jU{@{+I^%?Bv?;VJlOYVua7PQ<*0s3M*$Oto#ZXC6A5$ za>8Ch_kJG0sIJ{To{(8TF>4Z-imk@r`$I&&GMbyRU8LH$s_e>hSM`k=JWo(3Sh)@zp~O&vS$?a+=EdO+tWa_=8H0w3@W zWIklV=%BJn9yn6kLMX-lIOcLisR?N*f#7t2pO#icvRc0fK z%d0RF`!dzKNQTjgz^b^$menecAY5uIjbI~=Veq3^1@K1jlqnWyj_lL@Z?Q#P=g z(J_tQB3b^P4bKEu9k@q_`}D;u6iiHgk=K8ekzu!^o}vFk?h`Wx<#_-L#^!2#l~*C? z|5$EK3R_m5X%oTQu}IM_yE&&d;q`9l%gf7eBJvA8JRhAi)$Td$5ESzAcW+*4Pyap9bD9N1gq~; z?&6Q$Z2mOpD9Ec>yH~2s`wA6}!5iso1&G{ci1;7E97R!3wNscs=ds_bd-oNep{5RNKLpVNu)90ML6-CEF&Fb=v&wg86-K}F&P__X`+398U^CPF(5tO>F< zA1TM`ehjkcX(#_ED}D$nAF%y?{6hY#YgV6v*;>%_{dj_ZbTyD&)I(u54-o0?ysqk_ zCTSP{<+?BH3jK450TD=Vur)z(8Tnhir&VD^A!b}Ty&h?Zl; z%{Uf2gkk-H7afhCLoEhkf~puFnb1rkRN4AW@YPrz4pswJOt5RenbWXC2{{9@0FSn( z=rtKe@aVOc?eI(xoA4m!0nJd6D=RAsYlra#C-Dc8354Bc<9Ak2QJ?>fc|owE9E~Dd z1YI7eXpHt%8;{4~@GO|xcYvN3M?#HuKjP$(XzdUS@*jy~FaV5|El2