From 134b809fd1a366f58996d1b7012a14485d0dd8a3 Mon Sep 17 00:00:00 2001 From: bgobandit Date: Mon, 9 May 2016 18:04:20 -0400 Subject: [PATCH] scrubbers, human life.dm, map edits, etc --- .../MetaStation/MetaStation.v41I.dmm | 40 +++++++++---------- _maps/map_files/TgStation/tgstation.2.1.3.dmm | 13 ++++-- code/game/objects/items/devices/scanners.dm | 7 ++++ code/modules/admin/verbs/diagnostics.dm | 3 +- .../machinery/portable/scrubber.dm | 2 +- .../mob/living/carbon/human/species.dm | 16 +++++++- code/modules/mob/living/carbon/life.dm | 2 +- 7 files changed, 54 insertions(+), 29 deletions(-) diff --git a/_maps/map_files/MetaStation/MetaStation.v41I.dmm b/_maps/map_files/MetaStation/MetaStation.v41I.dmm index fe15b19a5ec..2463784e3d2 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41I.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41I.dmm @@ -78066,6 +78066,7 @@ /obj/structure/sign/nosmoking_2{ pixel_y = 32 }, +/obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/plasteel{ dir = 5; icon_state = "warning" @@ -80505,6 +80506,7 @@ /obj/machinery/light_switch{ pixel_y = -23 }, +/obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/plasteel{ dir = 10; icon_state = "warning" @@ -100478,16 +100480,13 @@ }, /area/crew_quarters/kitchen) "dfs" = ( -/obj/structure/chair/stool, -/turf/open/floor/wood, -/area/maintenance/aft{ - name = "Aft Maintenance" - }) +/obj/machinery/portable_atmospherics/canister/air, +/turf/open/floor/plasteel, +/area/atmos) "dft" = ( -/turf/open/floor/wood, -/area/maintenance/aft{ - name = "Aft Maintenance" - }) +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/plasteel, +/area/atmos) "dfu" = ( /turf/open/floor/wood{ icon_state = "wood-broken6" @@ -100506,10 +100505,9 @@ }, /area/medical/morgue) "dfw" = ( -/turf/open/floor/plasteel{ - icon_state = "dark" - }, -/area/medical/morgue) +/obj/machinery/portable_atmospherics/canister/bz, +/turf/open/floor/plasteel, +/area/atmos) "dfx" = ( /obj/machinery/plantgenes, /turf/open/floor/plasteel{ @@ -140587,8 +140585,8 @@ bFT bHN bJw bKQ -bzf -bOj +dfs +atw atn bRw bTc @@ -140844,8 +140842,8 @@ bEn bHO bJx bKR -bzf -bOk +dft +atw apk bRx apk @@ -141101,8 +141099,8 @@ bFU bHP bJy bKS -bzf -cXn +dfw +atw apk bRy apk @@ -141358,8 +141356,8 @@ bEn bHQ bJz bKT -bzf -bOl +dfw +atw bQa bRz bTd diff --git a/_maps/map_files/TgStation/tgstation.2.1.3.dmm b/_maps/map_files/TgStation/tgstation.2.1.3.dmm index 93ee4f95305..f01ad803ea9 100644 --- a/_maps/map_files/TgStation/tgstation.2.1.3.dmm +++ b/_maps/map_files/TgStation/tgstation.2.1.3.dmm @@ -40861,6 +40861,7 @@ /obj/machinery/light/small{ dir = 8 }, +/obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/plasteel{ icon_state = "floorgrime" }, @@ -41603,6 +41604,7 @@ dir = 4; network = list("SS13","RD") }, +/obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/plasteel{ icon_state = "floorgrime" }, @@ -45105,6 +45107,7 @@ name = "Station Intercom (General)"; pixel_x = -30 }, +/obj/machinery/portable_atmospherics/canister/bz, /turf/open/floor/plasteel, /area/atmos) "bNQ" = ( @@ -64066,8 +64069,12 @@ /turf/open/floor/plating, /area/maintenance/disposal) "cAK" = ( -/turf/open/floor/plating, -/area/maintenance/asmaint2) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister/bz, +/turf/open/floor/plasteel, +/area/atmos) "cAL" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden, /mob/living/simple_animal/hostile/lizard{ @@ -94956,7 +94963,7 @@ bJs bKy bLM bLM -bNQ +cAK bOV bQk bRt diff --git a/code/game/objects/items/devices/scanners.dm b/code/game/objects/items/devices/scanners.dm index 7b1fa5d630e..5c27c11f2fa 100644 --- a/code/game/objects/items/devices/scanners.dm +++ b/code/game/objects/items/devices/scanners.dm @@ -278,6 +278,7 @@ MASS SPECTROMETER var/n2_concentration = env_gases["n2"][MOLES]/total_moles var/co2_concentration = env_gases["co2"][MOLES]/total_moles var/plasma_concentration = env_gases["plasma"][MOLES]/total_moles + var/bz_concentration = env_gases["bz"][MOLES]/total_moles environment.garbage_collect() if(abs(n2_concentration - N2STANDARD) < 20) @@ -300,6 +301,12 @@ MASS SPECTROMETER else user << "Plasma: [round(plasma_concentration*100, 0.01)] %" + if(bz_concentration > 0.005) + user << "Hallucinogen: [round(plasma_concentration*100, 0.01)] %" + else + user << "Hallucinogen: [round(plasma_concentration*100, 0.01)] %" + + for(var/id in env_gases) if(id in hardcoded_gases) continue diff --git a/code/modules/admin/verbs/diagnostics.dm b/code/modules/admin/verbs/diagnostics.dm index 76a7c851fe2..7dede5b10ef 100644 --- a/code/modules/admin/verbs/diagnostics.dm +++ b/code/modules/admin/verbs/diagnostics.dm @@ -15,8 +15,7 @@ usr << "@[target.x],[target.y]: [GM.temperature] Kelvin, [GM.return_pressure()] kPa [(burning)?("\red BURNING"):(null)]" for(var/id in GM_gases) - if(id in hardcoded_gases || GM_gases[id][MOLES]) - usr << "[GM_gases[id][GAS_META][META_GAS_NAME]]: [GM_gases[id][MOLES]]" + usr << "[GM_gases[id][GAS_META][META_GAS_NAME]]: [GM_gases[id][MOLES]]" feedback_add_details("admin_verb","DAST") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc! /client/proc/fix_next_move() diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index c1ca56c5ae5..bba79f6b5f7 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -7,7 +7,7 @@ var/volume_rate = 1000 volume = 1000 - var/list/scrubbing = list("plasma", "co2", "n2o", "agent_b") + var/list/scrubbing = list("plasma", "co2", "n2o", "agent_b", "bz") /obj/machinery/portable_atmospherics/scrubber/Destroy() var/turf/T = get_turf(src) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index bb5376c35a8..d16cb0a66e2 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -74,6 +74,7 @@ var/safe_toxins_max = 0.05 var/SA_para_min = 1 //Sleeping agent var/SA_sleep_min = 5 //Sleeping agent + var/BZ_trip_balls_min = 1 //BZ gas. //Breath damage var/oxy_breath_dam_min = 1 @@ -1113,7 +1114,7 @@ var/list/breath_gases = breath.gases - breath.assert_gases("o2", "plasma", "co2", "n2o") + breath.assert_gases("o2", "plasma", "co2", "n2o", "bz") //Partial pressures in our breath var/O2_pp = breath.get_breath_partial_pressure(breath_gases["o2"][MOLES]) @@ -1220,6 +1221,9 @@ //-- TRACES --// if(breath && !(NOBREATH in specflags)) // If there's some other shit in the air lets deal with it here. + + // N2O + var/SA_pp = breath.get_breath_partial_pressure(breath_gases["n2o"][MOLES]) if(SA_pp > SA_para_min) // Enough to make us paralysed for a bit H.Paralyse(3) // 3 gives them one second to wake up and run away a bit! @@ -1231,6 +1235,16 @@ handle_breath_temperature(breath, H) breath.garbage_collect() + // BZ + + var/bz_pp = breath.get_breath_partial_pressure(breath_gases["bz"][MOLES]) + if(bz_pp > BZ_trip_balls_min) + H.hallucination += 20 + if(prob(33)) + H.adjustBrainLoss(3) + else if(bz_pp > 0.01) + H.hallucination += 5//Removed at 2 per tick so this will slowly build up + return 1 diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 2fe0977cb2d..1ed61bce964 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -123,7 +123,7 @@ var/breath_pressure = (breath.total_moles()*R_IDEAL_GAS_EQUATION*breath.temperature)/BREATH_VOLUME var/list/breath_gases = breath.gases - breath.assert_gases("o2","plasma","co2","n2o") + breath.assert_gases("o2","plasma","co2","n2o", "bz") var/O2_partialpressure = (breath_gases["o2"][MOLES]/breath.total_moles())*breath_pressure var/Toxins_partialpressure = (breath_gases["plasma"][MOLES]/breath.total_moles())*breath_pressure