diff --git a/code/ZAS/Airflow.dm b/code/ZAS/Airflow.dm index e51542c3eb..a2506bb2d9 100644 --- a/code/ZAS/Airflow.dm +++ b/code/ZAS/Airflow.dm @@ -303,7 +303,6 @@ atom/movable if(airflow_speed) airflow_speed = n/max(get_dist(src,airflow_dest),1) return - last_airflow = world.time if(airflow_dest == loc) step_away(src,loc) if(ismob(src)) @@ -317,6 +316,7 @@ atom/movable if(src:shoes.flags & NOSLIP) return src << "\red You are pushed away by airflow!" + last_airflow = world.time var/airflow_falloff = 9 - ul_FalloffAmount(airflow_dest) //It's a fast falloff calc. Very useful. if(airflow_falloff < 1) airflow_dest = null diff --git a/code/ZAS/Plasma.dm b/code/ZAS/Plasma.dm index 437ac592a2..78c63f0f22 100644 --- a/code/ZAS/Plasma.dm +++ b/code/ZAS/Plasma.dm @@ -5,7 +5,7 @@ pl_control/var PLASMA_DMG_NAME = "Plasma Damage Amount" PLASMA_DMG_DESC = "Self Descriptive" - CLOTH_CONTAMINATION = 0 + CLOTH_CONTAMINATION = 1 CLOTH_CONTAMINATION_NAME = "Cloth Contamination" CLOTH_CONTAMINATION_DESC = "If this is on, plasma does damage by getting into cloth." @@ -17,7 +17,7 @@ pl_control/var GENETIC_CORRUPTION_NAME = "Genetic Corruption Chance" GENETIC_CORRUPTION_DESC = "Chance of genetic corruption as well as toxic damage, X in 10,000." - SKIN_BURNS = 1 + SKIN_BURNS = 0 SKIN_BURNS_DESC = "Plasma has an effect similar to mustard gas on the un-suited." SKIN_BURNS_NAME = "Skin Burns" @@ -25,7 +25,7 @@ pl_control/var EYE_BURNS_NAME = "Eye Burns" EYE_BURNS_DESC = "Plasma burns the eyes of anyone not wearing eye protection." - CONTAMINATION_LOSS = 0.01 + CONTAMINATION_LOSS = 0.02 CONTAMINATION_LOSS_NAME = "Contamination Loss" CONTAMINATION_LOSS_DESC = "How much toxin damage is dealt from contaminated clothing" //Per tick? ASK ARYN @@ -45,7 +45,7 @@ obj/item/proc //Clothing and backpacks can be contaminated. if(flags & PLASMAGUARD) return 0 else if(istype(src,/obj/item/clothing)) return 1 - else if(istype(src,/obj/item/weapon/storage/backpack)) return 1 +// else if(istype(src,/obj/item/weapon/storage/backpack)) return 1 Cannot be washed :( contaminate() //Do a contamination overlay? Temporary measure to keep contamination less deadly than it was. diff --git a/code/ZAS/Variable Settings.dm b/code/ZAS/Variable Settings.dm index 2e0a0a311a..ee63fd37b2 100644 --- a/code/ZAS/Variable Settings.dm +++ b/code/ZAS/Variable Settings.dm @@ -21,27 +21,27 @@ vs_control/var fire_gas_combustion_ratio_DESC = "The rate at which oxygen and plasma are converted to CO2, expressed in terms of the firelevel." - airflow_lightest_pressure = 30 + airflow_lightest_pressure = 20 airflow_lightest_pressure_NAME = "Airflow - Small Movement Threshold %" airflow_lightest_pressure_DESC = "Percent of 1 Atm. at which items with the small weight classes will move." - airflow_light_pressure = 45 + airflow_light_pressure = 35 airflow_light_pressure_NAME = "Airflow - Medium Movement Threshold %" airflow_light_pressure_DESC = "Percent of 1 Atm. at which items with the medium weight classes will move." - airflow_medium_pressure = 90 + airflow_medium_pressure = 50 airflow_medium_pressure_NAME = "Airflow - Heavy Movement Threshold %" airflow_medium_pressure_DESC = "Percent of 1 Atm. at which items with the largest weight classes will move." - airflow_heavy_pressure = 95 + airflow_heavy_pressure = 65 airflow_heavy_pressure_NAME = "Airflow - Mob Movement Threshold %" airflow_heavy_pressure_DESC = "Percent of 1 Atm. at which mobs will move." - airflow_dense_pressure = 120 + airflow_dense_pressure = 85 airflow_dense_pressure_NAME = "Airflow - Dense Movement Threshold %" airflow_dense_pressure_DESC = "Percent of 1 Atm. at which items with canisters and closets will move." - airflow_stun_pressure = 100 + airflow_stun_pressure = 60 airflow_stun_pressure_NAME = "Airflow - Mob Stunning Threshold %" airflow_stun_pressure_DESC = "Percent of 1 Atm. at which mobs will be stunned by airflow." @@ -49,11 +49,11 @@ vs_control/var airflow_stun_cooldown_NAME = "Aiflow Stunning - Cooldown" airflow_stun_cooldown_DESC = "How long, in tenths of a second, to wait before stunning them again." - airflow_stun = 0.15 + airflow_stun = 1 airflow_stun_NAME = "Airflow Impact - Stunning" airflow_stun_DESC = "How much a mob is stunned when hit by an object." - airflow_damage = 0.3 + airflow_damage = 2 airflow_damage_NAME = "Airflow Impact - Damage" airflow_damage_DESC = "Damage from airflow impacts." @@ -193,21 +193,22 @@ vs_control return switch(def) if("Plasma - Standard") - plc.CLOTH_CONTAMINATION = 0 //If this is on, plasma does damage by getting into cloth. + plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. plc.PLASMAGUARD_ONLY = 0 plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000. plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 0 //Plasma burns the eyes of anyone not wearing eye protection. + plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. plc.PLASMA_HALLUCINATION = 0 - plc.CONTAMINATION_LOSS = 0 + plc.CONTAMINATION_LOSS = 0.02 if("Plasma - Low Hazard") plc.CLOTH_CONTAMINATION = 0 //If this is on, plasma does damage by getting into cloth. plc.PLASMAGUARD_ONLY = 0 plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000 - plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited. - plc.EYE_BURNS = 0 //Plasma burns the eyes of anyone not wearing eye protection. - plc.CONTAMINATION_LOSS = 0 + plc.SKIN_BURNS = 0 //Plasma has an effect similar to mustard gas on the un-suited. + plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. + plc.PLASMA_HALLUCINATION = 0 + plc.CONTAMINATION_LOSS = 0.01 if("Plasma - High Hazard") plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. @@ -215,6 +216,8 @@ vs_control plc.GENETIC_CORRUPTION = 0 //Chance of genetic corruption as well as toxic damage, X in 1000. plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited. plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. + plc.PLASMA_HALLUCINATION = 1 + plc.CONTAMINATION_LOSS = 0.05 if("Plasma - Oh Shit!") plc.CLOTH_CONTAMINATION = 1 //If this is on, plasma does damage by getting into cloth. @@ -222,18 +225,20 @@ vs_control plc.GENETIC_CORRUPTION = 5 //Chance of genetic corruption as well as toxic damage, X in 1000. plc.SKIN_BURNS = 1 //Plasma has an effect similar to mustard gas on the un-suited. plc.EYE_BURNS = 1 //Plasma burns the eyes of anyone not wearing eye protection. + plc.PLASMA_HALLUCINATION = 1 + plc.CONTAMINATION_LOSS = 0.075 if("ZAS - Normal") IgnitionLevel = 0.5 - airflow_lightest_pressure = 30 - airflow_light_pressure = 45 - airflow_medium_pressure = 90 - airflow_heavy_pressure = 95 - airflow_dense_pressure = 120 - airflow_stun_pressure = 100 + airflow_lightest_pressure = 20 + airflow_light_pressure = 35 + airflow_medium_pressure = 50 + airflow_heavy_pressure = 65 + airflow_dense_pressure = 85 + airflow_stun_pressure = 60 airflow_stun_cooldown = 60 - airflow_stun = 0.15 - airflow_damage = 0.3 + airflow_stun = 1 + airflow_damage = 2 airflow_speed_decay = 1.5 airflow_delay = 30 airflow_mob_slowdown = 1 @@ -255,15 +260,15 @@ vs_control if("ZAS - Dangerous") IgnitionLevel = 0.4 - airflow_lightest_pressure = 25 - airflow_light_pressure = 35 - airflow_medium_pressure = 75 - airflow_heavy_pressure = 80 - airflow_dense_pressure = 100 - airflow_stun_pressure = 90 + airflow_lightest_pressure = 15 + airflow_light_pressure = 30 + airflow_medium_pressure = 45 + airflow_heavy_pressure = 55 + airflow_dense_pressure = 70 + airflow_stun_pressure = 50 airflow_stun_cooldown = 50 airflow_stun = 2 - airflow_damage = 1 + airflow_damage = 3 airflow_speed_decay = 1.2 airflow_delay = 25 airflow_mob_slowdown = 2 @@ -272,13 +277,13 @@ vs_control IgnitionLevel = 0.3 airflow_lightest_pressure = 20 airflow_light_pressure = 30 - airflow_medium_pressure = 70 - airflow_heavy_pressure = 75 - airflow_dense_pressure = 80 - airflow_stun_pressure = 70 + airflow_medium_pressure = 40 + airflow_heavy_pressure = 50 + airflow_dense_pressure = 60 + airflow_stun_pressure = 40 airflow_stun_cooldown = 40 airflow_stun = 3 - airflow_damage = 2 + airflow_damage = 4 airflow_speed_decay = 1 airflow_delay = 20 airflow_mob_slowdown = 3 diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index 3d7a29a530..c09dbfdf68 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -47,7 +47,7 @@ var/mob/M = AM if(world.time - M.last_bumped <= 10) return //Can bump-open one airlock per second. This is to prevent shock spam. M.last_bumped = world.time - if(!M.restrained() && !M.small && !M.airflow_speed) + if(!M.restrained() && !M.small) bumpopen(M) return @@ -78,6 +78,8 @@ /obj/machinery/door/proc/bumpopen(mob/user as mob) if(operating) return + if(user.last_airflow > world.time - vsc.airflow_delay) //Fakkit + return src.add_fingerprint(user) if(!src.requiresID()) user = null diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 5a903c3f97..25e3772baf 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -40,6 +40,9 @@ for(var/atom/A in contents) A.clean_blood() + for(var/obj/item/I in contents) + I.decontaminate() + //Tanning! for(var/obj/item/stack/sheet/hairlesshide/HH in contents) var/obj/item/stack/sheet/wetleather/WL = new(src) diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index 32eb701914..ae58b2fbcf 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -564,6 +564,9 @@ pressure_alert = -2 else pressure_alert = -1 + + if(environment.toxins > MOLES_PLASMA_VISIBLE) + pl_effects() return /* @@ -777,6 +780,12 @@ proc/handle_chemicals_in_body() if(reagents) reagents.metabolize(src) + var/total_plasmaloss = 0 + for(var/obj/item/I in src) + if(I.contaminated) + total_plasmaloss += vsc.plc.CONTAMINATION_LOSS + + adjustToxLoss(total_plasmaloss) // if(dna && dna.mutantrace == "plant") //couldn't think of a better place to place it, since it handles nutrition -- Urist if(PLANT in mutations) diff --git a/icons/effects/contamination.dmi b/icons/effects/contamination.dmi index c2fa348084..1a7faf893b 100644 Binary files a/icons/effects/contamination.dmi and b/icons/effects/contamination.dmi differ