From ced6f13656b2e6d62c111f96af0c3515b31f9eec Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Fri, 20 Jun 2014 20:53:11 -0700 Subject: [PATCH 1/6] Removing automatic IPC whitelist in preparation for whitelisting and overhaul of IPCs. --- code/game/jobs/whitelist.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/jobs/whitelist.dm b/code/game/jobs/whitelist.dm index 2aaad4bde6..f8f3ee80a2 100644 --- a/code/game/jobs/whitelist.dm +++ b/code/game/jobs/whitelist.dm @@ -36,8 +36,6 @@ var/list/whitelist = list() return 1 if(species == "human" || species == "Human") return 1 - if(species == "machine" || species == "Machine") - return 1 if(check_rights(R_ADMIN, 0)) return 1 if(!alien_whitelist) From 63f9b93ab064d8158d976c9eded264dc24d4698b Mon Sep 17 00:00:00 2001 From: Loganbacca Date: Sun, 22 Jun 2014 12:57:37 +1200 Subject: [PATCH 2/6] Preview icon render fix - Fixes #5254 - Changes organ render list to a structured list so we can control the render order --- code/modules/mob/new_player/preferences_setup.dm | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/new_player/preferences_setup.dm b/code/modules/mob/new_player/preferences_setup.dm index b32a4780b0..5bfca3a02c 100644 --- a/code/modules/mob/new_player/preferences_setup.dm +++ b/code/modules/mob/new_player/preferences_setup.dm @@ -198,12 +198,7 @@ datum/preferences preview_icon.Blend(new /icon(icobase, "groin_[g]"), ICON_OVERLAY) preview_icon.Blend(new /icon(icobase, "head_[g]"), ICON_OVERLAY) - for(var/name in list("l_arm","r_arm","l_leg","r_leg","l_foot","r_foot","l_hand","r_hand")) - // make sure the organ is added to the list so it's drawn - if(organ_data[name] == null) - organ_data[name] = null - - for(var/name in organ_data) + for(var/name in list("r_arm","r_hand","r_leg","r_foot","l_leg","l_foot","l_arm","l_hand")) if(organ_data[name] == "amputated") continue var/icon/temp = new /icon(icobase, "[name]") @@ -216,7 +211,7 @@ datum/preferences if(current_species && (current_species.flags & HAS_TAIL)) var/icon/temp = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[current_species.tail]_s") preview_icon.Blend(temp, ICON_OVERLAY) - + // Skin color if(current_species && (current_species.flags & HAS_SKIN_COLOR)) preview_icon.Blend(rgb(r_skin, g_skin, b_skin), ICON_ADD) From 37e63dfcb08e9bf2473f1d78e03deab3e5b98ca1 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sun, 22 Jun 2014 00:13:22 -0400 Subject: [PATCH 3/6] Fixes FEA temperature_expose() being used... ...instead of ZAS fire_act(). --- code/WorkInProgress/Susan/susan_desert_turfs.dm | 2 +- code/game/gamemodes/blob/theblob.dm | 2 +- code/game/gamemodes/events/biomass.dm | 2 +- code/game/gamemodes/events/spacevines.dm | 2 +- code/game/machinery/alarm.dm | 2 +- code/game/machinery/atmoalter/canister.dm | 2 +- code/game/machinery/doors/airlock.dm | 2 +- code/game/mecha/mecha.dm | 2 +- code/game/objects/effects/aliens.dm | 4 ++-- code/game/objects/effects/effect_system.dm | 2 +- code/game/objects/effects/glowshroom.dm | 2 +- code/game/objects/effects/spiders.dm | 2 +- code/game/objects/items/latexballoon.dm | 2 +- code/game/objects/items/stacks/sheets/leather.dm | 2 +- code/game/objects/structures/grille.dm | 2 +- code/game/objects/structures/mineral_doors.dm | 2 +- code/game/objects/structures/window.dm | 6 +++--- code/game/turfs/simulated/walls_mineral.dm | 2 +- code/modules/mob/living/carbon/alien/special/facehugger.dm | 2 +- code/modules/power/lighting.dm | 2 +- code/modules/reagents/reagent_dispenser.dm | 2 +- 21 files changed, 24 insertions(+), 24 deletions(-) diff --git a/code/WorkInProgress/Susan/susan_desert_turfs.dm b/code/WorkInProgress/Susan/susan_desert_turfs.dm index 947f6b6788..a52f90a4bc 100644 --- a/code/WorkInProgress/Susan/susan_desert_turfs.dm +++ b/code/WorkInProgress/Susan/susan_desert_turfs.dm @@ -227,7 +227,7 @@ Alien plants should do something if theres a lot of poison del(src) -/obj/effect/alien/flesh/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/alien/flesh/weeds/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) health -= 5 healthcheck() diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index 4508c15ba0..51b321528e 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -87,7 +87,7 @@ return 1 return 0 -/* temperature_expose(datum/gas_mixture/air, temperature, volume) Blob is currently fireproof +/* fire_act(datum/gas_mixture/air, temperature, volume) Blob is currently fireproof if(temperature > T0C+200) health -= 0.01 * temperature update() diff --git a/code/game/gamemodes/events/biomass.dm b/code/game/gamemodes/events/biomass.dm index d1508221f7..3b48b971f0 100644 --- a/code/game/gamemodes/events/biomass.dm +++ b/code/game/gamemodes/events/biomass.dm @@ -154,7 +154,7 @@ return return -/obj/effect/biomass/temperature_expose(null, temp, volume) //hotspots kill biomass +/obj/effect/biomass/fire_act(null, temp, volume) //hotspots kill biomass del src diff --git a/code/game/gamemodes/events/spacevines.dm b/code/game/gamemodes/events/spacevines.dm index 3ff70acbdf..b3af8195ca 100644 --- a/code/game/gamemodes/events/spacevines.dm +++ b/code/game/gamemodes/events/spacevines.dm @@ -239,7 +239,7 @@ return return -/obj/effect/spacevine/temperature_expose(null, temp, volume) //hotspots kill vines +/obj/effect/spacevine/fire_act(null, temp, volume) //hotspots kill vines del src //Carn: Spacevines random event. diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index c84f6b137a..0c42cbbad6 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1338,7 +1338,7 @@ FIRE ALARM else icon_state = "fire0" -/obj/machinery/firealarm/temperature_expose(datum/gas_mixture/air, temperature, volume) +/obj/machinery/firealarm/fire_act(datum/gas_mixture/air, temperature, volume) if(src.detecting) if(temperature > T0C+200) src.alarm() // added check of detector status here diff --git a/code/game/machinery/atmoalter/canister.dm b/code/game/machinery/atmoalter/canister.dm index 107f67ee01..16de2e497b 100644 --- a/code/game/machinery/atmoalter/canister.dm +++ b/code/game/machinery/atmoalter/canister.dm @@ -110,7 +110,7 @@ update_flag overlays += "can-o3" return -/obj/machinery/portable_atmospherics/canister/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/machinery/portable_atmospherics/canister/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > temperature_resistance) health -= 5 healthcheck() diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 39b5ec9a53..5a2359ade8 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -264,7 +264,7 @@ Airlock index -> wire color are { 9, 4, 6, 7, 5, 8, 1, 2, 3 }. icon = 'icons/obj/doors/Doorphoron.dmi' mineral = "phoron" -/obj/machinery/door/airlock/phoron/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/machinery/door/airlock/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) PhoronBurn(exposed_temperature) diff --git a/code/game/mecha/mecha.dm b/code/game/mecha/mecha.dm index 53bf77ce57..e3465c3b7c 100644 --- a/code/game/mecha/mecha.dm +++ b/code/game/mecha/mecha.dm @@ -618,7 +618,7 @@ check_for_internal_damage(list(MECHA_INT_FIRE,MECHA_INT_TEMP_CONTROL,MECHA_INT_CONTROL_LOST,MECHA_INT_SHORT_CIRCUIT),1) return -/obj/mecha/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/mecha/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature>src.max_temperature) src.log_message("Exposed to dangerous temperature.",1) src.take_damage(5,"fire") diff --git a/code/game/objects/effects/aliens.dm b/code/game/objects/effects/aliens.dm index da510025e3..5e3ba542bf 100644 --- a/code/game/objects/effects/aliens.dm +++ b/code/game/objects/effects/aliens.dm @@ -287,7 +287,7 @@ Alien plants should do something if theres a lot of poison del(src) -/obj/effect/alien/weeds/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/alien/weeds/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) health -= 5 healthcheck() @@ -469,7 +469,7 @@ Alien plants should do something if theres a lot of poison if(health <= 0) Burst() -/obj/effect/alien/egg/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/alien/egg/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 500) health -= 5 healthcheck() diff --git a/code/game/objects/effects/effect_system.dm b/code/game/objects/effects/effect_system.dm index 0eb8685aec..dd5ee1f8b3 100644 --- a/code/game/objects/effects/effect_system.dm +++ b/code/game/objects/effects/effect_system.dm @@ -541,7 +541,7 @@ steam.start() -- spawns the effect // foam disolves when heated // except metal foams -/obj/effect/effect/foam/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/effect/foam/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(!metal && prob(max(0, exposed_temperature - 475))) flick("[icon_state]-disolve", src) diff --git a/code/game/objects/effects/glowshroom.dm b/code/game/objects/effects/glowshroom.dm index 425034ba48..39533b0483 100644 --- a/code/game/objects/effects/glowshroom.dm +++ b/code/game/objects/effects/glowshroom.dm @@ -154,7 +154,7 @@ else return -/obj/effect/glowshroom/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/glowshroom/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) endurance -= 5 CheckEndurance() diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index 522ff35af1..be54a95ba1 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -47,7 +47,7 @@ if(health <= 0) del(src) -/obj/effect/spider/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/effect/spider/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) health -= 5 healthcheck() diff --git a/code/game/objects/items/latexballoon.dm b/code/game/objects/items/latexballoon.dm index 9b6895e0d9..a923de6183 100644 --- a/code/game/objects/items/latexballoon.dm +++ b/code/game/objects/items/latexballoon.dm @@ -38,7 +38,7 @@ /obj/item/latexballon/bullet_act() burst() -/obj/item/latexballon/temperature_expose(datum/gas_mixture/air, temperature, volume) +/obj/item/latexballon/fire_act(datum/gas_mixture/air, temperature, volume) if(temperature > T0C+100) burst() return diff --git a/code/game/objects/items/stacks/sheets/leather.dm b/code/game/objects/items/stacks/sheets/leather.dm index 8ba8879636..72339452e7 100644 --- a/code/game/objects/items/stacks/sheets/leather.dm +++ b/code/game/objects/items/stacks/sheets/leather.dm @@ -117,7 +117,7 @@ //Step two - washing..... it's actually in washing machine code. //Step three - drying -/obj/item/stack/sheet/wetleather/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/item/stack/sheet/wetleather/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) ..() if(exposed_temperature >= drying_threshold_temperature) wetness-- diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 97d7657d36..bb50f1d63d 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -216,7 +216,7 @@ return 0 return 0 -/obj/structure/grille/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/grille/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(!destroyed) if(exposed_temperature > T0C + 1500) health -= 1 diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index 38f0563897..c11a5a94e3 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -198,7 +198,7 @@ TemperatureAct(100) ..() - temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) + fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) TemperatureAct(exposed_temperature) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 8812b1ed4f..2c9b755f56 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -361,7 +361,7 @@ return -/obj/structure/window/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/window/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > T0C + 800) hit(round(exposed_volume / 100), 0) ..() @@ -381,7 +381,7 @@ shardtype = /obj/item/weapon/shard/phoron health = 120 -/obj/structure/window/phoronbasic/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/window/phoronbasic/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > T0C + 32000) hit(round(exposed_volume / 1000), 0) ..() @@ -395,7 +395,7 @@ reinf = 1 health = 160 -/obj/structure/window/phoronreinforced/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/structure/window/phoronreinforced/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) return /obj/structure/window/reinforced diff --git a/code/game/turfs/simulated/walls_mineral.dm b/code/game/turfs/simulated/walls_mineral.dm index 2d08a1dd65..bd787d6ce2 100644 --- a/code/game/turfs/simulated/walls_mineral.dm +++ b/code/game/turfs/simulated/walls_mineral.dm @@ -111,7 +111,7 @@ for(var/obj/machinery/door/airlock/phoron/D in range(3,src)) D.ignite(temperature/4) -/turf/simulated/wall/mineral/phoron/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume)//Doesn't fucking work because walls don't interact with air :( +/turf/simulated/wall/mineral/phoron/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume)//Doesn't fucking work because walls don't interact with air :( if(exposed_temperature > 300) PhoronBurn(exposed_temperature) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index f156134438..4edcbd3dc7 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -72,7 +72,7 @@ var/const/MAX_ACTIVE_TIME = 400 Die() return -/obj/item/clothing/mask/facehugger/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/item/clothing/mask/facehugger/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(exposed_temperature > 300) Die() return diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 928c56b10c..5419ab78b1 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -618,7 +618,7 @@ // called when on fire -/obj/machinery/light/temperature_expose(datum/gas_mixture/air, exposed_temperature, exposed_volume) +/obj/machinery/light/fire_act(datum/gas_mixture/air, exposed_temperature, exposed_volume) if(prob(max(0, exposed_temperature - 673))) //0% at <400C, 100% at >500C broken() diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index fc738957ac..fd5821784e 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -166,7 +166,7 @@ if(src) del(src) -/obj/structure/reagent_dispensers/fueltank/temperature_expose(datum/gas_mixture/air, temperature, volume) +/obj/structure/reagent_dispensers/fueltank/fire_act(datum/gas_mixture/air, temperature, volume) if(temperature > T0C+500) explode() return ..() From 86db41a5823a66701a76a4b23f36b7b870c5ce2b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Sun, 22 Jun 2014 14:30:50 +0400 Subject: [PATCH 4/6] Merge branch 'master' of https://github.com/Baystation12/Baystation12 Merge branch 'master' of https://github.com/Baystation12/Baystation12 Optimizes crew console scanning to only look for mobs instead of ALL clothing items in the world. --- code/game/machinery/computer/crew.dm | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 49d12a4847..563f621ca4 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -107,13 +107,9 @@ /obj/machinery/computer/crew/proc/scan() - for(var/obj/item/clothing/under/C in world) - if((C.has_sensor) && (istype(C.loc, /mob/living/carbon/human))) - var/check = 0 - for(var/O in src.tracked) - if(O == C) - check = 1 - break - if(!check) - src.tracked.Add(C) + for(var/mob/living/carbon/human/H in mob_list) + if(istype(H.w_uniform, /obj/item/clothing/under)) + var/obj/item/clothing/under/C = H.w_uniform + if (C.has_sensor) + tracked |= C return 1 \ No newline at end of file From 191e21ead6b3a656d456020c9fd38bad915ea259 Mon Sep 17 00:00:00 2001 From: Mloc-Argent Date: Sun, 22 Jun 2014 15:25:23 +0100 Subject: [PATCH 5/6] atmos: fix everlasting fires Fires were checking against a non-reduced air sample for existance, so the reduced sample wasn't working in zburn when it failed the check. Also fixed volatilefuel not being scaled in the phoron reagent. Signed-off-by: Mloc-Argent --- code/ZAS/Fire.dm | 20 ++++++-------------- code/modules/reagents/Chemistry-Reagents.dm | 4 ++-- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/code/ZAS/Fire.dm b/code/ZAS/Fire.dm index 8b692c5b13..d4660e5a0e 100644 --- a/code/ZAS/Fire.dm +++ b/code/ZAS/Fire.dm @@ -84,7 +84,7 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) air_contents.trace_gases.Remove(fuel) //check if there is something to combust - if(!air_contents.check_recombustability(liquid)) + if(!air_contents.check_combustability(liquid)) //del src RemoveFire() @@ -116,7 +116,7 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) var/datum/gas_mixture/acs = enemy_tile.return_air() var/obj/effect/decal/cleanable/liquid_fuel/liq = locate() in enemy_tile if(!acs) continue - if(!acs.check_recombustability(liq)) continue + if(!acs.check_combustability(liq)) continue //If extinguisher mist passed over the turf it's trying to spread to, don't spread and //reduce firelevel. if(enemy_tile.fire_protection > world.time-30) @@ -134,16 +134,8 @@ turf/simulated/hotspot_expose(exposed_temperature, exposed_volume, soh) ///////////////////////////////// FLOW HAS BEEN CREATED /// DONT DELETE THE FIRE UNTIL IT IS MERGED BACK OR YOU WILL DELETE AIR /////////////////////////////////////////////// if(flow) - - if(flow.check_recombustability(liquid)) - //Ensure flow temperature is higher than minimum fire temperatures. - //this creates some energy ex nihilo but is necessary to get a fire started - //lets just pretend this energy comes from the ignition source and dont mention this again - //flow.temperature = max(PHORON_MINIMUM_BURN_TEMPERATURE+0.1,flow.temperature) - - //burn baby burn! - - flow.zburn(liquid,1) + //burn baby burn! + flow.zburn(liquid,1) //merge the air back S.assume_air(flow) @@ -275,9 +267,9 @@ datum/gas_mixture/proc/check_combustability(obj/effect/decal/cleanable/liquid_fu if(oxygen && (phoron || fuel || liquid)) if(liquid) return 1 - if (phoron >= 0.1) + if(QUANTIZE(phoron * vsc.fire_consuption_rate) >= 0.1) return 1 - if(fuel && fuel.moles >= 0.1) + if(fuel && QUANTIZE(fuel.moles * vsc.fire_consuption_rate) >= 0.1) return 1 return 0 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index fc2f420c0e..46aafda18b 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -1581,14 +1581,14 @@ datum var/turf/the_turf = get_turf(O) var/datum/gas_mixture/napalm = new var/datum/gas/volatile_fuel/fuel = new - fuel.moles = 5 + fuel.moles = volume napalm.trace_gases += fuel the_turf.assume_air(napalm) reaction_turf(var/turf/T, var/volume) src = null var/datum/gas_mixture/napalm = new var/datum/gas/volatile_fuel/fuel = new - fuel.moles = 5 + fuel.moles = volume napalm.trace_gases += fuel T.assume_air(napalm) return From e225661c2c486027b5b9f9b6d864ecd604c26671 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Mon, 23 Jun 2014 02:53:09 -0400 Subject: [PATCH 6/6] Fixes #5193 --- code/modules/mob/living/living.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 4447c5f225..9865901886 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -431,7 +431,8 @@ else stop_pulling() . = ..() - if ((s_active && !( s_active in contents ) )) + + if (s_active && !( s_active in contents ) && get_turf(s_active) != get_turf(src)) //check !( s_active in contents ) first so we hopefully don't have to call get_turf() so much. s_active.close(src) if(update_slimes)