diff --git a/_maps/map_files/LambdaStation/dorms.dmm b/_maps/map_files/LambdaStation/dorms.dmm index e1133584b8..d52c4e7870 100644 --- a/_maps/map_files/LambdaStation/dorms.dmm +++ b/_maps/map_files/LambdaStation/dorms.dmm @@ -365,13 +365,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/plasteel, /area/hallway/primary/central) -"aQ" = ( -/obj/machinery/door/airlock/hatch{ - name = "Telecomms Control Room"; - req_one_access_txt = "19; 61" - }, -/turf/open/floor/plating/airless, -/area/tcommsat/chamber) "aR" = ( /obj/item/electropack/shockcollar, /obj/item/assembly/signaler, @@ -3201,6 +3194,12 @@ }, /turf/open/floor/plasteel, /area/service/hydroponics/garden/monastery) +"iA" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/tcommsat/chamber) "iC" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -5602,6 +5601,12 @@ }, /turf/open/floor/plating, /area/maintenance/solars/starboard) +"ox" = ( +/obj/structure/cable{ + icon_state = "1-2" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "oy" = ( /obj/structure/railing{ dir = 4; @@ -7714,12 +7719,6 @@ /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer3, /turf/open/floor/carpet/blue, /area/commons/vacant_room/office) -"tS" = ( -/obj/structure/cable{ - icon_state = "0-2" - }, -/turf/open/floor/plating/airless, -/area/tcommsat/chamber) "tT" = ( /obj/structure/cable{ icon_state = "1-2" @@ -14697,6 +14696,15 @@ }, /turf/open/floor/plasteel, /area/commons/fitness/recreation) +"LG" = ( +/obj/structure/cable{ + icon_state = "4-8" + }, +/obj/structure/cable{ + icon_state = "2-4" + }, +/turf/open/floor/plating/airless, +/area/space/nearstation) "LH" = ( /obj/structure/cable{ icon_state = "4-8" @@ -37240,11 +37248,11 @@ lQ Yv Yv Yv -dh -Yv -Yv -aQ -tS +LG +ox +ox +kF +iA kF Gq LC diff --git a/_maps/map_files/LambdaStation/lambda.dmm b/_maps/map_files/LambdaStation/lambda.dmm index e4aee6ffd6..e676dea0e5 100644 --- a/_maps/map_files/LambdaStation/lambda.dmm +++ b/_maps/map_files/LambdaStation/lambda.dmm @@ -13476,24 +13476,6 @@ }, /turf/open/floor/plasteel/dark, /area/ai_monitored/security/armory) -"ayl" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/obj/item/storage/secure/briefcase{ - pixel_x = -2 - }, -/obj/item/book/manual/wiki/security_space_law, -/obj/item/cartridge/detective, -/obj/machinery/power/apc{ - areastring = "/area/command/heads_quarters/hos"; - dir = 1; - name = "Head of Security's Office APC"; - pixel_y = 23 - }, -/turf/open/floor/plasteel/dark, -/area/command/heads_quarters/hos) "aym" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/red{ @@ -14825,15 +14807,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/plasteel/dark, /area/command/heads_quarters/hos) -"aAy" = ( -/obj/machinery/computer/prisoner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/plasteel/dark, -/area/command/heads_quarters/hos) "aAz" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -34520,13 +34493,6 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/exit/departure_lounge) -"bpO" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable{ - icon_state = "0-4" - }, -/turf/open/floor/plating, -/area/hallway/secondary/exit/departure_lounge) "bpP" = ( /obj/structure/lattice/catwalk, /obj/item/wrench, @@ -49053,18 +49019,6 @@ }, /turf/open/floor/plasteel, /area/engineering/main) -"cgv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/power/apc/highcap/fifteen_k{ - areastring = "/area/engineering/main"; - dir = 1; - name = "Engine Room APC"; - pixel_y = 23 - }, -/turf/open/floor/plasteel, -/area/engineering/main) "cgw" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -63058,6 +63012,37 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/plasteel, /area/security/prison) +"cZR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable{ + icon_state = "0-4" + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plating, +/area/hallway/secondary/exit/departure_lounge) +"dbH" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/obj/item/storage/secure/briefcase{ + pixel_x = -2 + }, +/obj/item/book/manual/wiki/security_space_law, +/obj/item/cartridge/detective, +/obj/machinery/power/apc{ + areastring = "/area/command/heads_quarters/hos"; + dir = 1; + name = "Head of Security's Office APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hos) "dcB" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -64982,6 +64967,21 @@ /obj/structure/stairs/south, /turf/open/floor/plasteel, /area/maintenance/department/cargo) +"gci" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/power/apc/highcap/fifteen_k{ + areastring = "/area/engineering/main"; + dir = 1; + name = "Engine Room APC"; + pixel_y = 23 + }, +/obj/structure/cable{ + icon_state = "0-2" + }, +/turf/open/floor/plasteel, +/area/engineering/main) "gcM" = ( /obj/effect/turf_decal/tile/red{ dir = 8 @@ -66100,6 +66100,15 @@ }, /turf/open/floor/plasteel, /area/hallway/secondary/entry) +"igd" = ( +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/computer/secure_data{ + dir = 8 + }, +/turf/open/floor/plasteel/dark, +/area/command/heads_quarters/hos) "igf" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plasteel, @@ -117845,7 +117854,7 @@ axW awm axd axF -ayl +dbH azp aAr aBS @@ -119645,7 +119654,7 @@ ayO aCD axF ays -aAy +igd aBz cAp cJw @@ -120782,7 +120791,7 @@ lQs ceh ceP cXQ -cgv +gci chh cia cku @@ -128946,7 +128955,7 @@ bnL bot boJ blZ -bpO +cZR bqG brm blZ @@ -129202,7 +129211,7 @@ jqb bnL bot eec -bpO +cZR bip bqH brn diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index cc78b62bdc..1a70bdbc4c 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -1504,7 +1504,6 @@ areastring = "/area/security/prison/upper"; damage_deflection = 21; desc = "A control terminal for the area's electrical systems. It's secured with a durable antitampering plasteel cage."; - dir = 2; name = "Armored Prison Wing Cells APC"; pixel_y = -26 }, @@ -12552,9 +12551,7 @@ /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aWV" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 2 - }, +/obj/effect/turf_decal/stripes/corner, /turf/open/floor/plasteel, /area/hallway/secondary/entry) "aWW" = ( @@ -43635,7 +43632,8 @@ idDoor = "xeno_airlock_exterior"; idSelf = "xeno_airlock_control"; name = "Access Button"; - pixel_x = -24 + pixel_x = -24; + req_access_txt = "47" }, /obj/structure/cable/yellow{ icon_state = "1-2" @@ -45280,7 +45278,7 @@ /turf/open/floor/plating, /area/maintenance/starboard) "dbl" = ( -/obj/structure/easel, +/obj/structure/loot_pile/maint, /turf/open/floor/plating, /area/maintenance/starboard/aft) "dbo" = ( @@ -45465,7 +45463,8 @@ idSelf = "xeno_airlock_control"; name = "Access Button"; pixel_x = 29; - pixel_y = -8 + pixel_y = -8; + req_access_txt = "47" }, /obj/machinery/firealarm{ pixel_y = 24 @@ -45640,7 +45639,8 @@ idSelf = "xeno_airlock_control"; name = "Access Console"; pixel_x = -25; - pixel_y = -25 + pixel_y = -25; + req_access_txt = "47" }, /obj/effect/turf_decal/tile/purple{ dir = 1 @@ -46619,10 +46619,10 @@ /turf/open/floor/plating, /area/maintenance/fore) "dht" = ( -/obj/item/cigbutt, /obj/structure/sign/poster/contraband/random{ pixel_x = -32 }, +/obj/structure/loot_pile/maint, /turf/open/floor/plating, /area/maintenance/starboard/fore) "dhu" = ( @@ -52041,6 +52041,7 @@ /obj/structure/extinguisher_cabinet{ pixel_y = -30 }, +/obj/structure/loot_pile/maint, /turf/open/floor/plating, /area/maintenance/port/aft) "fpg" = ( @@ -56725,6 +56726,13 @@ }, /turf/open/floor/plasteel, /area/service/hydroponics) +"iaH" = ( +/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden{ + dir = 9 + }, +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard) "ibn" = ( /obj/structure/cable/yellow{ icon_state = "1-2" @@ -65226,6 +65234,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/open/floor/plasteel, /area/cargo/storage) +"mKY" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port) "mLh" = ( /obj/structure/cable/yellow{ icon_state = "4-8" @@ -67942,6 +67954,10 @@ /obj/machinery/atmospherics/pipe/simple/supply/hidden, /turf/closed/wall, /area/security/brig) +"osn" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/starboard/fore) "osB" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/external{ @@ -73549,7 +73565,6 @@ /area/commons/fitness/recreation) "rta" = ( /obj/machinery/door/airlock/external{ - dir = 2; name = "Public Mining Dock" }, /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -74329,6 +74344,10 @@ }, /turf/open/floor/plasteel/dark, /area/command/bridge) +"rPp" = ( +/obj/structure/loot_pile/maint, +/turf/open/floor/plating, +/area/maintenance/port/fore) "rPB" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -78146,7 +78165,6 @@ /obj/structure/bed/roller, /obj/machinery/camera{ c_tag = "Prison Hallway Fore"; - dir = 2; network = list("ss13","prison") }, /turf/open/floor/plasteel, @@ -99568,7 +99586,7 @@ arX dne dne dne -aRG +rPp aoc drQ dne @@ -99866,7 +99884,7 @@ auF bCJ tUa alK -apz +mKY aob alC aqK @@ -104958,7 +104976,7 @@ aji dnd alE vhj -aRG +rPp alE dou dne @@ -122203,7 +122221,7 @@ nQW yeJ pSY avD -dnR +osn dtS tMD eoN @@ -125064,7 +125082,7 @@ alq diu bWZ bYs -bZB +iaH bZE ccG ceb diff --git a/code/__HELPERS/_lists.dm b/code/__HELPERS/_lists.dm index a1ef74664b..9ce32cea64 100644 --- a/code/__HELPERS/_lists.dm +++ b/code/__HELPERS/_lists.dm @@ -175,23 +175,20 @@ /proc/typecache_filter_list(list/atoms, list/typecache) RETURN_TYPE(/list) . = list() - for(var/thing in atoms) - var/atom/A = thing + for(var/atom/A as anything in atoms) if (typecache[A.type]) . += A /proc/typecache_filter_list_reverse(list/atoms, list/typecache) RETURN_TYPE(/list) . = list() - for(var/thing in atoms) - var/atom/A = thing + for(var/atom/A as anything in atoms) if(!typecache[A.type]) . += A /proc/typecache_filter_multi_list_exclusion(list/atoms, list/typecache_include, list/typecache_exclude) . = list() - for(var/thing in atoms) - var/atom/A = thing + for(var/atom/A as anything in atoms) if(typecache_include[A.type] && !typecache_exclude[A.type]) . += A diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index a28d558454..6ad95c8b56 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -319,38 +319,38 @@ GLOBAL_LIST_EMPTY(teleportlocs) * * Sends to all ai players, alert consoles, drones and alarm monitor programs in the world */ -/area/proc/poweralert(state, obj/source) +/area/proc/poweralert(set_alarm, obj/source) if (area_flags & NO_ALERTS) return - if (state != poweralm) - poweralm = state + if (set_alarm != poweralm) + poweralm = set_alarm if(istype(source)) //Only report power alarms on the z-level where the source is located. for (var/item in GLOB.silicon_mobs) var/mob/living/silicon/aiPlayer = item - if (state == 1) - aiPlayer.cancelAlarm("Power", src, source) - else + if (set_alarm) aiPlayer.triggerAlarm("Power", src, cameras, source) + else + aiPlayer.cancelAlarm("Power", src, source) for (var/item in GLOB.alert_consoles) var/obj/machinery/computer/station_alert/a = item - if(state == 1) - a.cancelAlarm("Power", src, source) - else + if (set_alarm) a.triggerAlarm("Power", src, cameras, source) + else + a.cancelAlarm("Power", src, source) for (var/item in GLOB.drones_list) var/mob/living/simple_animal/drone/D = item - if(state == 1) - D.cancelAlarm("Power", src, source) - else + if (set_alarm) D.triggerAlarm("Power", src, cameras, source) + else + D.cancelAlarm("Power", src, source) for(var/item in GLOB.alarmdisplay) var/datum/computer_file/program/alarm_monitor/p = item - if(state == 1) - p.cancelAlarm("Power", src, source) - else + if (set_alarm) p.triggerAlarm("Power", src, cameras, source) + else + p.cancelAlarm("Power", src, source) /area/proc/atmosalert(danger_level, obj/source) if (area_flags & NO_ALERTS) diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 041e4f67ad..3c9f421c4f 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -72,6 +72,10 @@ var/datum/team/gang/gang //For marking territory. var/gang_tag_delay = 30 //this is the delay for gang mode tag applications on anything that gang = true on. + var/precision_mode = FALSE + var/precision_x = 0 + var/precision_y = 0 + /obj/item/toy/crayon/proc/isValidSurface(surface) return istype(surface, /turf/open/floor) @@ -228,6 +232,12 @@ .["can_change_colour"] = can_change_colour .["current_colour"] = paint_color + .["precision_mode"] = precision_mode + .["x"] = precision_x + .["y"] = precision_y + .["min_offset"] = -world.icon_size/2 + .["max_offset"] = world.icon_size/2 + /obj/item/toy/crayon/ui_act(action, list/params) if(..()) return @@ -256,6 +266,17 @@ . = TRUE paint_mode = PAINT_NORMAL drawtype = "a" + if("toggle_precision") + precision_mode = !precision_mode + . = TRUE + if("set_precision_x") + var/x = text2num(params["x"]) + precision_x = x + . = TRUE + if("set_precision_y") + var/y = text2num(params["y"]) + precision_y = y + . = TRUE update_icon() /obj/item/toy/crayon/proc/select_colour(mob/user) @@ -394,9 +415,14 @@ else switch(paint_mode) if(PAINT_NORMAL) - C = new(target, paint_color, drawing, temp, graf_rot) - C.pixel_x = clickx - C.pixel_y = clicky + var/obj/effect/decal/cleanable/crayon/C = new(target, paint_color, drawing, temp, graf_rot) + C.add_hiddenprint(user) + if(precision_mode) + C.pixel_x = clamp(precision_x, -(world.icon_size/2), world.icon_size/2) + C.pixel_y = clamp(precision_y, -(world.icon_size/2), world.icon_size/2) + else + C.pixel_x = clickx + C.pixel_y = clicky affected_turfs += target if(PAINT_LARGE_HORIZONTAL) var/turf/left = locate(target.x-1,target.y,target.z) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm index 148af35247..c477bb2cad 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm @@ -27,7 +27,7 @@ /datum/sprite_accessory/mam_body_markings/redpanda name = "Redpanda" icon_state = "redpanda" - covered_limbs = list("Head" = MATRIX_RED_BLUE, "Chest" = MATRIX_RED_GREEN, "Left Leg" = MATRIX_RED_GREEN, "Right Leg" = MATRIX_RED_GREEN, "Left Arm" = MATRIX_RED_GREEN, "Right Arm" = MATRIX_RED_GREEN) + covered_limbs = list("Head" = MATRIX_ALL, "Chest" = MATRIX_RED_GREEN, "Left Leg" = MATRIX_RED_GREEN, "Right Leg" = MATRIX_RED_GREEN, "Left Arm" = MATRIX_RED_GREEN, "Right Arm" = MATRIX_RED_GREEN) /datum/sprite_accessory/mam_body_markings/bat name = "Bat" diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm index 515349d666..2e38fdd840 100644 --- a/code/modules/power/apc.dm +++ b/code/modules/power/apc.dm @@ -300,7 +300,7 @@ area.power_equip = FALSE area.power_environ = FALSE area.power_change() - area.poweralert(FALSE, src) + area.poweralert(TRUE, src) if(occupier) malfvacate(1) qdel(wires) @@ -1444,8 +1444,6 @@ lighting = autoset(lighting, AUTOSET_ON) environ = autoset(environ, AUTOSET_ON) area.poweralert(FALSE, src) - if(cell.percent() > 75) - area.poweralert(FALSE, src) // now trickle-charge the cell if(chargemode && charging == APC_CHARGING && operating) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index d6b7201ef9..154a58cdfd 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -1,4 +1,3 @@ -#define REM REAGENTS_EFFECT_MULTIPLIER GLOBAL_LIST_INIT(name2reagent, build_name2reagent()) /proc/build_name2reagent() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index 12c91e145a..72112d9a65 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -47,7 +47,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C) if(HAS_TRAIT(C, TRAIT_TOXIC_ALCOHOL)) - C.adjustToxLoss((boozepwr/25)*REM,forced = TRUE) + C.adjustToxLoss((boozepwr/25)*REAGENTS_EFFECT_MULTIPLIER,forced = TRUE) else if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER) var/booze_power = boozepwr if(HAS_TRAIT(C, TRAIT_ALCOHOL_TOLERANCE)) //we're an accomplished drinker @@ -1365,7 +1365,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/neurotoxin/on_mob_life(mob/living/carbon/M) M.set_drugginess(50) M.dizziness +=2 - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER, 150) if(prob(20) && !holder.has_reagent(/datum/reagent/consumable/ethanol/neuroweak)) M.adjustStaminaLoss(10) M.drop_all_held_items() @@ -1376,7 +1376,7 @@ All effects don't start immediately, but rather get worse over time; the rate is ADD_TRAIT(M, t, type) M.adjustStaminaLoss(10) if(current_cycle > 30) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) if(current_cycle > 50 && prob(15)) if(!M.undergoing_cardiac_arrest() && M.can_heartattack()) M.set_heartattack(TRUE) @@ -1401,13 +1401,13 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/neuroweak/on_mob_life(mob/living/carbon/M) if(holder.has_reagent(/datum/reagent/consumable/ethanol/neurotoxin)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REAGENTS_EFFECT_MULTIPLIER, 150) M.reagents.remove_reagent(/datum/reagent/consumable/ethanol/neurotoxin, 1.5 * REAGENTS_METABOLISM, FALSE) else if(holder.has_reagent(/datum/reagent/toxin/fentanyl)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -1*REAGENTS_EFFECT_MULTIPLIER, 150) M.reagents.remove_reagent(/datum/reagent/toxin/fentanyl, 0.75 * REAGENTS_METABOLISM, FALSE) else - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -0.5*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -0.5*REAGENTS_EFFECT_MULTIPLIER, 150) M.dizziness +=2 ..() @@ -1925,7 +1925,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/fernet/on_mob_life(mob/living/carbon/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) M.adjust_nutrition(-5) M.overeatduration = 0 return ..() @@ -1943,7 +1943,7 @@ All effects don't start immediately, but rather get worse over time; the rate is /datum/reagent/consumable/ethanol/fernet_cola/on_mob_life(mob/living/carbon/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) - M.adjustToxLoss(0.5*REM, 0) + M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) M.adjust_nutrition(-3) M.overeatduration = 0 return ..() diff --git a/code/modules/reagents/chemistry/reagents/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drink_reagents.dm index 5059376954..4376805e2c 100644 --- a/code/modules/reagents/chemistry/reagents/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drink_reagents.dm @@ -47,7 +47,7 @@ /datum/reagent/consumable/limejuice/on_mob_life(mob/living/carbon/M) if(M.getToxLoss() && prob(20)) - M.adjustToxLoss(-1*REM, 0) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index ed80804f28..4848347df2 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -59,7 +59,7 @@ SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smoked", /datum/mood_event/smoked, name) M.AdjustAllImmobility(-20, 0) M.AdjustUnconscious(-20, 0) - M.adjustStaminaLoss(-0.5*REM, 0) + M.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -83,30 +83,30 @@ . = 1 /datum/reagent/drug/crank/overdose_process(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) - M.adjustToxLoss(2*REM, 0) - M.adjustBruteLoss(2*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/crank/addiction_act_stage1(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5*REAGENTS_EFFECT_MULTIPLIER) ..() /datum/reagent/drug/crank/addiction_act_stage2(mob/living/M) - M.adjustToxLoss(5*REM, 0) + M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/crank/addiction_act_stage3(mob/living/M) - M.adjustBruteLoss(5*REM, 0) + M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/crank/addiction_act_stage4(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REM) - M.adjustToxLoss(5*REM, 0) - M.adjustBruteLoss(5*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -128,14 +128,14 @@ ..() /datum/reagent/drug/krokodil/overdose_process(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25*REM) - M.adjustToxLoss(0.25*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.25*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(0.25*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/drug/krokodil/addiction_act_stage1(mob/living/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) - M.adjustToxLoss(2*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -147,7 +147,7 @@ /datum/reagent/drug/krokodil/addiction_act_stage3(mob/living/M) if(prob(25)) to_chat(M, "Your skin starts to peel away...") - M.adjustBruteLoss(3*REM, 0) + M.adjustBruteLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -155,10 +155,10 @@ CHECK_DNA_AND_SPECIES(M) if(!istype(M.dna.species, /datum/species/krokodil_addict)) to_chat(M, "Your skin falls off easily!") - M.adjustBruteLoss(50*REM, 0) // holy shit your skin just FELL THE FUCK OFF + M.adjustBruteLoss(50*REAGENTS_EFFECT_MULTIPLIER, 0) // holy shit your skin just FELL THE FUCK OFF M.set_species(/datum/species/krokodil_addict) else - M.adjustBruteLoss(5*REM, 0) + M.adjustBruteLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -186,14 +186,14 @@ if(DT_PROB(2.5, delta_time)) to_chat(M, span_notice("[high_message]")) // SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "tweaking", /datum/mood_event/stimulant_medium, name) - M.AdjustStun(-40 * REM * delta_time) - M.AdjustKnockdown(-40 * REM * delta_time) - M.AdjustUnconscious(-40 * REM * delta_time) - M.AdjustParalyzed(-40 * REM * delta_time) - M.AdjustImmobilized(-40 * REM * delta_time) - M.adjustStaminaLoss(-2 * REM * delta_time, 0) - M.Jitter(2 * REM * delta_time) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REM * delta_time) + M.AdjustStun(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustKnockdown(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustUnconscious(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustParalyzed(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.AdjustImmobilized(-40 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.adjustStaminaLoss(-2 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + M.Jitter(2 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1, 4) * REAGENTS_EFFECT_MULTIPLIER * delta_time) if(DT_PROB(2.5, delta_time)) M.emote(pick("twitch", "shiver")) ..() @@ -201,7 +201,7 @@ /datum/reagent/drug/methamphetamine/overdose_process(mob/living/M, delta_time, times_fired) if(CHECK_MOBILITY(M, MOBILITY_MOVE) && !ismovable(M.loc)) - for(var/i in 1 to round(4 * REM * delta_time, 1)) + for(var/i in 1 to round(4 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 1)) step(M, pick(GLOB.cardinals)) if(DT_PROB(10, delta_time)) M.emote("laugh") @@ -209,8 +209,8 @@ M.visible_message(span_danger("[M]'s hands flip out and flail everywhere!")) M.drop_all_held_items() ..() - M.adjustToxLoss(1 * REM * delta_time, 0) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REM * delta_time) + M.adjustToxLoss(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, (rand(5, 10) / 10) * REAGENTS_EFFECT_MULTIPLIER * delta_time) . = TRUE /datum/reagent/drug/methamphetamine/addiction_act_stage1(mob/living/M) @@ -486,8 +486,8 @@ H.dna.species.punchstunthreshold += 2 /datum/reagent/drug/skooma/on_mob_life(mob/living/carbon/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM) - M.adjustToxLoss(1*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER) if(prob(10)) M.adjust_blurriness(2) ..() @@ -531,7 +531,7 @@ value = REAGENT_VALUE_VERY_RARE /datum/reagent/syndicateadrenals/on_mob_life(mob/living/M) - M.adjustStaminaLoss(-5*REM) + M.adjustStaminaLoss(-5*REAGENTS_EFFECT_MULTIPLIER) . = ..() /datum/reagent/syndicateadrenals/on_mob_metabolize(mob/living/M) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 02b19909b0..85836ffdf3 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -658,10 +658,10 @@ /datum/reagent/consumable/honey/on_mob_life(mob/living/carbon/M) M.reagents.add_reagent(/datum/reagent/consumable/sugar,3) if(prob(55)) - M.adjustBruteLoss(-1*REM, 0) - M.adjustFireLoss(-1*REM, 0) - M.adjustOxyLoss(-1*REM, 0) - M.adjustToxLoss(-1*REM, 0, TRUE) //heals TOXINLOVERs + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs ..() /datum/reagent/consumable/honey/reaction_mob(mob/living/M, method=TOUCH, reac_volume) @@ -746,9 +746,9 @@ . = 1 if(prob(20)) M.losebreath += 4 - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM, 150) - M.adjustToxLoss(3*REM,0) - M.adjustStaminaLoss(10*REM,0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER, 150) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER,0) + M.adjustStaminaLoss(10*REAGENTS_EFFECT_MULTIPLIER,0) M.blur_eyes(5) . = TRUE ..() @@ -778,8 +778,8 @@ /datum/reagent/consumable/vitfro/on_mob_life(mob/living/carbon/M) if(prob(80)) - M.adjustBruteLoss(-1*REM, 0) - M.adjustFireLoss(-1*REM, 0) + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -804,7 +804,7 @@ var/mob/living/carbon/C = M var/obj/item/organ/stomach/ethereal/stomach = C.getorganslot(ORGAN_SLOT_STOMACH) if(istype(stomach)) - stomach.adjust_charge(reac_volume * REM) + stomach.adjust_charge(reac_volume * REAGENTS_EFFECT_MULTIPLIER) /datum/reagent/consumable/liquidelectricity/on_mob_life(mob/living/carbon/M) if(prob(25) && !isethereal(M)) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index 72a9779726..e1f8d5366c 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -56,7 +56,7 @@ mytray.visible_message("Nothing happens...") /datum/reagent/medicine/adminordrazine/on_mob_life(mob/living/carbon/M) - M.reagents.remove_all_type(/datum/reagent/toxin, 5*REM, 0, 1) + M.reagents.remove_all_type(/datum/reagent/toxin, 5*REAGENTS_EFFECT_MULTIPLIER, 0, 1) M.setCloneLoss(0, 0) M.setOxyLoss(0, 0) M.radiation = 0 @@ -299,7 +299,7 @@ ..() /datum/reagent/medicine/silver_sulfadiazine/on_mob_life(mob/living/carbon/M) - M.adjustFireLoss(-2*REM, 0) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -309,7 +309,7 @@ . = 1 /datum/reagent/medicine/silver_sulfadiazine/overdose_process(mob/living/M) - M.adjustFireLoss(2*REM, 0) + M.adjustFireLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) if(L) L.applyOrganDamage(1) @@ -328,15 +328,15 @@ /datum/reagent/medicine/oxandrolone/on_mob_life(mob/living/carbon/M) if(M.getFireLoss() > 25) - M.adjustFireLoss(-4*REM, 0) //Twice as effective as silver sulfadiazine for severe burns + M.adjustFireLoss(-4*REAGENTS_EFFECT_MULTIPLIER, 0) //Twice as effective as silver sulfadiazine for severe burns else - M.adjustFireLoss(-0.5*REM, 0) //But only a quarter as effective for more minor ones + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) //But only a quarter as effective for more minor ones ..() . = 1 /datum/reagent/medicine/oxandrolone/overdose_process(mob/living/M) if(M.getFireLoss()) //It only makes existing burns worse - M.adjustFireLoss(4.5*REM, 0) // it's going to be healing either 4 or 0.5 + M.adjustFireLoss(4.5*REAGENTS_EFFECT_MULTIPLIER, 0) // it's going to be healing either 4 or 0.5 . = 1 ..() @@ -371,7 +371,7 @@ G.use(reac_volume) /datum/reagent/medicine/styptic_powder/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-2*REM, 0) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -381,7 +381,7 @@ . = 1 /datum/reagent/medicine/styptic_powder/overdose_process(mob/living/M) - M.adjustBruteLoss(2*REM, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) var/obj/item/organ/liver/L = M.getorganslot(ORGAN_SLOT_LIVER) if(L) L.applyOrganDamage(1) @@ -403,8 +403,8 @@ /datum/reagent/medicine/salglu_solution/on_mob_life(mob/living/carbon/human/M) if(prob(33)) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE if((HAS_TRAIT(M, TRAIT_NOMARROW))) return ..() @@ -414,10 +414,10 @@ if(M.functional_blood() < maximum_reachable) //Can only up to double your effective blood level. var/new_blood_level = min(volume * 5, maximum_reachable) last_added = new_blood_level - M.adjust_integration_blood(new_blood_level + (extra_regen * REM)) + M.adjust_integration_blood(new_blood_level + (extra_regen * REAGENTS_EFFECT_MULTIPLIER)) if(prob(33)) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -436,8 +436,8 @@ holder.add_reagent(/datum/reagent/consumable/sugar, 1) holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5) if(prob(33)) - M.adjustBruteLoss(0.5*REM, 0) - M.adjustFireLoss(0.5*REM, 0) + M.adjustBruteLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -452,9 +452,9 @@ /datum/reagent/medicine/mine_salve/on_mob_life(mob/living/carbon/C) C.hal_screwyhud = SCREWYHUD_HEALTHY - C.adjustBruteLoss(-0.25*REM, 0) - C.adjustFireLoss(-0.25*REM, 0) - C.adjustStaminaLoss(-0.5*REM, 0) + C.adjustBruteLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER, 0) + C.adjustFireLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER, 0) + C.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -531,7 +531,7 @@ pH = 5 /datum/reagent/medicine/charcoal/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(-2*REM, 0) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 for(var/A in M.reagents.reagent_list) var/datum/reagent/R = A @@ -551,18 +551,18 @@ var/healing = 0.5 /datum/reagent/medicine/omnizine/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(-healing*REM, 0) - M.adjustOxyLoss(-healing*REM, 0) - M.adjustBruteLoss(-healing*REM, 0) - M.adjustFireLoss(-healing*REM, 0) + M.adjustToxLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-healing*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 /datum/reagent/medicine/omnizine/overdose_process(mob/living/M) - M.adjustToxLoss(1.5*REM, 0) - M.adjustOxyLoss(1.5*REM, 0) - M.adjustBruteLoss(1.5*REM, 0) - M.adjustFireLoss(1.5*REM, 0) + M.adjustToxLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -587,7 +587,7 @@ if(R != src) M.reagents.remove_reagent(R.type,2.5) if(M.health > 20) - M.adjustToxLoss(2.5*REM, 0) + M.adjustToxLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -630,7 +630,7 @@ /datum/reagent/medicine/pen_acid/on_mob_life(mob/living/carbon/M) M.radiation -= max(M.radiation-RAD_MOB_SAFE, 0)/50 - M.adjustToxLoss(-2*REM, 0, healtoxinlover) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0, healtoxinlover) for(var/A in M.reagents.reagent_list) var/datum/reagent/R = A if(R != src) @@ -659,15 +659,15 @@ /datum/reagent/medicine/sal_acid/on_mob_life(mob/living/carbon/M) if(M.getBruteLoss() > 25) - M.adjustBruteLoss(-4*REM, 0) //Twice as effective as styptic powder for severe bruising + M.adjustBruteLoss(-4*REAGENTS_EFFECT_MULTIPLIER, 0) //Twice as effective as styptic powder for severe bruising else - M.adjustBruteLoss(-0.5*REM, 0) //But only a quarter as effective for more minor ones + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) //But only a quarter as effective for more minor ones ..() . = 1 /datum/reagent/medicine/sal_acid/overdose_process(mob/living/M) if(M.getBruteLoss()) //It only makes existing bruises worse - M.adjustBruteLoss(4.5*REM, 0) // it's going to be healing either 4 or 0.5 + M.adjustBruteLoss(4.5*REAGENTS_EFFECT_MULTIPLIER, 0) // it's going to be healing either 4 or 0.5 . = 1 ..() @@ -680,7 +680,7 @@ pH = 2 /datum/reagent/medicine/salbutamol/on_mob_life(mob/living/carbon/M) - M.adjustOxyLoss(-3*REM, 0) + M.adjustOxyLoss(-3*REAGENTS_EFFECT_MULTIPLIER, 0) if(M.losebreath >= 4) M.losebreath -= 2 M.Jitter(5) @@ -696,11 +696,11 @@ pH = 11 /datum/reagent/medicine/perfluorodecalin/on_mob_life(mob/living/carbon/human/M) - M.adjustOxyLoss(-12*REM, 0) + M.adjustOxyLoss(-12*REAGENTS_EFFECT_MULTIPLIER, 0) M.silent = max(M.silent, 5) if(prob(33)) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -731,8 +731,8 @@ // to_chat(M, span_notice("Your hands spaz out and you drop what you were holding!")) // M.Jitter(10) - M.AdjustAllImmobility(-20 * REM * delta_time) - M.adjustStaminaLoss(-1 * REM * delta_time, FALSE) + M.AdjustAllImmobility(-20 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + M.adjustStaminaLoss(-1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, FALSE) ..() return TRUE @@ -754,28 +754,28 @@ /datum/reagent/medicine/ephedrine/addiction_act_stage1(mob/living/M) if(prob(33)) - M.adjustToxLoss(2*REM, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 2 . = 1 ..() /datum/reagent/medicine/ephedrine/addiction_act_stage2(mob/living/M) if(prob(33)) - M.adjustToxLoss(3*REM, 0) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 3 . = 1 ..() /datum/reagent/medicine/ephedrine/addiction_act_stage3(mob/living/M) if(prob(33)) - M.adjustToxLoss(4*REM, 0) + M.adjustToxLoss(4*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 4 . = 1 ..() /datum/reagent/medicine/ephedrine/addiction_act_stage4(mob/living/M) if(prob(33)) - M.adjustToxLoss(5*REM, 0) + M.adjustToxLoss(5*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath += 5 . = 1 ..() @@ -841,7 +841,7 @@ /datum/reagent/medicine/morphine/addiction_act_stage2(mob/living/M) if(prob(33)) M.drop_all_held_items() - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(3) M.Jitter(3) @@ -850,7 +850,7 @@ /datum/reagent/medicine/morphine/addiction_act_stage3(mob/living/M) if(prob(33)) M.drop_all_held_items() - M.adjustToxLoss(2*REM, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(4) M.Jitter(4) @@ -859,7 +859,7 @@ /datum/reagent/medicine/morphine/addiction_act_stage4(mob/living/M) if(prob(33)) M.drop_all_held_items() - M.adjustToxLoss(3*REM, 0) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(5) M.Jitter(5) @@ -907,10 +907,10 @@ /datum/reagent/medicine/atropine/on_mob_life(mob/living/carbon/M) if(M.health < 0) - M.adjustToxLoss(-2*REM, 0) - M.adjustBruteLoss(-2*REM, 0) - M.adjustFireLoss(-2*REM, 0) - M.adjustOxyLoss(-5*REM, 0) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.losebreath = 0 if(prob(20)) @@ -919,7 +919,7 @@ ..() /datum/reagent/medicine/atropine/overdose_process(mob/living/M) - M.adjustToxLoss(0.5*REM, 0) + M.adjustToxLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 M.Dizzy(1) M.Jitter(1) @@ -936,16 +936,16 @@ /datum/reagent/medicine/epinephrine/on_mob_life(mob/living/carbon/M) if(M.health < 0) - M.adjustToxLoss(-0.5*REM, 0) - M.adjustBruteLoss(-0.5*REM, 0) - M.adjustFireLoss(-0.5*REM, 0) + M.adjustToxLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) if(M.oxyloss > 35) M.setOxyLoss(35, 0) if(M.losebreath >= 4) M.losebreath -= 2 if(M.losebreath < 0) M.losebreath = 0 - M.adjustStaminaLoss(-0.5*REM, 0) + M.adjustStaminaLoss(-0.5*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(20)) M.AdjustAllImmobility(-20, 0) @@ -954,8 +954,8 @@ /datum/reagent/medicine/epinephrine/overdose_process(mob/living/M) if(prob(33)) - M.adjustStaminaLoss(2.5*REM, 0) - M.adjustToxLoss(1*REM, 0) + M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) M.losebreath++ . = 1 ..() @@ -1021,8 +1021,8 @@ /datum/reagent/medicine/strange_reagent/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(0.5*REM, 0) - M.adjustFireLoss(0.5*REM, 0) + M.adjustBruteLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -1033,7 +1033,7 @@ pH = 10.4 /datum/reagent/medicine/mannitol/on_mob_life(mob/living/carbon/C) - C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REM) + C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -2*REAGENTS_EFFECT_MULTIPLIER) if(prob(10)) C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) ..() @@ -1091,8 +1091,8 @@ M.drowsyness = 0 M.slurring = 0 M.confused = 0 - M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3*REM, 0, 1) - M.adjustToxLoss(-0.2*REM, 0) + M.reagents.remove_all_type(/datum/reagent/consumable/ethanol, 3*REAGENTS_EFFECT_MULTIPLIER, 0, 1) + M.adjustToxLoss(-0.2*REAGENTS_EFFECT_MULTIPLIER, 0) if(ishuman(M)) var/mob/living/carbon/human/H = M H.drunkenness = max(H.drunkenness - 10, 0) @@ -1120,20 +1120,20 @@ /datum/reagent/medicine/stimulants/on_mob_life(mob/living/carbon/M) if(M.health < 50 && M.health > 0) - M.adjustOxyLoss(-1*REM, FALSE) - M.adjustToxLoss(-1*REM, FALSE) - M.adjustBruteLoss(-1*REM, FALSE) - M.adjustFireLoss(-1*REM, FALSE) + M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) M.AdjustAllImmobility(-60, FALSE) M.AdjustUnconscious(-60, FALSE) - M.adjustStaminaLoss(-20*REM, FALSE) + M.adjustStaminaLoss(-20*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/stimulants/overdose_process(mob/living/M) if(prob(33)) - M.adjustStaminaLoss(2.5*REM, FALSE) - M.adjustToxLoss(1*REM, FALSE) + M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, FALSE) M.losebreath++ . = 1 ..() @@ -1162,12 +1162,12 @@ pH = 5 /datum/reagent/medicine/bicaridine/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-2*REM, FALSE) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/bicaridine/overdose_process(mob/living/M) - M.adjustBruteLoss(4*REM, FALSE) + M.adjustBruteLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1180,12 +1180,12 @@ pH = 9.7 /datum/reagent/medicine/dexalin/on_mob_life(mob/living/carbon/M) - M.adjustOxyLoss(-2*REM, FALSE) + M.adjustOxyLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/dexalin/overdose_process(mob/living/M) - M.adjustOxyLoss(4*REM, FALSE) + M.adjustOxyLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1198,12 +1198,12 @@ pH = 9 /datum/reagent/medicine/kelotane/on_mob_life(mob/living/carbon/M) - M.adjustFireLoss(-2*REM, FALSE) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 /datum/reagent/medicine/kelotane/overdose_process(mob/living/M) - M.adjustFireLoss(4*REM, FALSE) + M.adjustFireLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1217,14 +1217,14 @@ pH = 10 /datum/reagent/medicine/antitoxin/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(-2*REM, FALSE) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) for(var/datum/reagent/toxin/R in M.reagents.reagent_list) M.reagents.remove_reagent(R.type,1) ..() . = 1 /datum/reagent/medicine/antitoxin/overdose_process(mob/living/M) - M.adjustToxLoss(4*REM, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4. + M.adjustToxLoss(4*REAGENTS_EFFECT_MULTIPLIER, FALSE) // End result is 2 toxin loss taken, because it heals 2 and then removes 4. ..() . = 1 @@ -1255,18 +1255,18 @@ /datum/reagent/medicine/tricordrazine/on_mob_life(mob/living/carbon/M) if(prob(80)) - M.adjustBruteLoss(-1*REM, FALSE) - M.adjustFireLoss(-1*REM, FALSE) - M.adjustOxyLoss(-1*REM, FALSE) - M.adjustToxLoss(-1*REM, FALSE) + M.adjustBruteLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1*REAGENTS_EFFECT_MULTIPLIER, FALSE) . = 1 ..() /datum/reagent/medicine/tricordrazine/overdose_process(mob/living/M) - M.adjustToxLoss(2*REM, FALSE) - M.adjustOxyLoss(2*REM, FALSE) - M.adjustBruteLoss(2*REM, FALSE) - M.adjustFireLoss(2*REM, FALSE) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(2*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1279,10 +1279,10 @@ value = REAGENT_VALUE_COMMON /datum/reagent/medicine/regen_jelly/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-1.5*REM, FALSE) - M.adjustFireLoss(-1.5*REM, FALSE) - M.adjustOxyLoss(-1.5*REM, FALSE) - M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs + M.adjustBruteLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs . = 1 ..() @@ -1295,13 +1295,13 @@ value = REAGENT_VALUE_EXCEPTIONAL /datum/reagent/medicine/syndicate_nanites/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-5*REM, FALSE) //A ton of healing - this is a 50 telecrystal investment. - M.adjustFireLoss(-5*REM, FALSE) + M.adjustBruteLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) //A ton of healing - this is a 50 telecrystal investment. + M.adjustFireLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) M.adjustOxyLoss(-15, FALSE) - M.adjustToxLoss(-5*REM, FALSE) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REM) - M.adjustCloneLoss(-3*REM, FALSE) - M.adjustStaminaLoss(-25*REM,FALSE) + M.adjustToxLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -15*REAGENTS_EFFECT_MULTIPLIER) + M.adjustCloneLoss(-3*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustStaminaLoss(-25*REAGENTS_EFFECT_MULTIPLIER,FALSE) if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio)) M.adjust_integration_blood(40) // blood fall out man bad ..() @@ -1316,13 +1316,13 @@ value = REAGENT_VALUE_VERY_RARE /datum/reagent/medicine/lesser_syndicate_nanites/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-2*REM, FALSE) - M.adjustFireLoss(-2*REM, FALSE) - M.adjustOxyLoss(-5*REM, FALSE) - M.adjustToxLoss(-2*REM, FALSE) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5*REM) - M.adjustCloneLoss(-1.25*REM, FALSE) - M.adjustStaminaLoss(-4*REM,FALSE) + M.adjustBruteLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-2*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, -5*REAGENTS_EFFECT_MULTIPLIER) + M.adjustCloneLoss(-1.25*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustStaminaLoss(-4*REAGENTS_EFFECT_MULTIPLIER,FALSE) if(M.blood_volume < (BLOOD_VOLUME_NORMAL*M.blood_ratio)) M.adjust_integration_blood(3) ..() @@ -1340,17 +1340,17 @@ value = REAGENT_VALUE_UNCOMMON /datum/reagent/medicine/neo_jelly/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-1.5*REM, FALSE) - M.adjustFireLoss(-1.5*REM, FALSE) - M.adjustOxyLoss(-1.5*REM, FALSE) - M.adjustToxLoss(-1.5*REM, 0, TRUE) //heals TOXINLOVERs + M.adjustBruteLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-1.5*REAGENTS_EFFECT_MULTIPLIER, 0, TRUE) //heals TOXINLOVERs . = 1 ..() /datum/reagent/medicine/neo_jelly/overdose_process(mob/living/M) - M.adjustOxyLoss(2.6*REM, FALSE) - M.adjustBruteLoss(3.5*REM, FALSE) - M.adjustFireLoss(3.5*REM, FALSE) + M.adjustOxyLoss(2.6*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustBruteLoss(3.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(3.5*REAGENTS_EFFECT_MULTIPLIER, FALSE) ..() . = 1 @@ -1378,13 +1378,13 @@ myseed.adjust_production(-round(chems.get_reagent_amount(src.type) * 0.5)) /datum/reagent/medicine/earthsblood/on_mob_life(mob/living/carbon/M) - M.adjustBruteLoss(-3 * REM, FALSE) - M.adjustFireLoss(-3 * REM, FALSE) - M.adjustOxyLoss(-15 * REM, FALSE) - M.adjustToxLoss(-3 * REM, FALSE, TRUE) //Heals TOXINLOVERS - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REM, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that! - M.adjustCloneLoss(-1 * REM, FALSE) - M.adjustStaminaLoss(-13 * REM, FALSE) + M.adjustBruteLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustFireLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustOxyLoss(-15 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustToxLoss(-3 * REAGENTS_EFFECT_MULTIPLIER, FALSE, TRUE) //Heals TOXINLOVERS + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2 * REAGENTS_EFFECT_MULTIPLIER, 150) //This does, after all, come from ambrosia, and the most powerful ambrosia in existence, at that! + M.adjustCloneLoss(-1 * REAGENTS_EFFECT_MULTIPLIER, FALSE) + M.adjustStaminaLoss(-13 * REAGENTS_EFFECT_MULTIPLIER, FALSE) M.jitteriness = min(max(0, M.jitteriness + 3), 30) M.druggy = min(max(0, M.druggy + 10), 15) //See above ..() @@ -1392,7 +1392,7 @@ /datum/reagent/medicine/earthsblood/overdose_process(mob/living/M) M.hallucination = min(max(0, M.hallucination + 5), 60) - M.adjustToxLoss(8 * REM, FALSE, TRUE) //Hurts TOXINLOVERS + M.adjustToxLoss(8 * REAGENTS_EFFECT_MULTIPLIER, FALSE, TRUE) //Hurts TOXINLOVERS ..() . = 1 @@ -1414,8 +1414,8 @@ if (M.hallucination >= 5) M.hallucination -= 5 if(prob(20)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REM, 50) - M.adjustStaminaLoss(2.5*REM, 0) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1*REAGENTS_EFFECT_MULTIPLIER, 50) + M.adjustStaminaLoss(2.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -1434,9 +1434,9 @@ return TRUE /datum/reagent/medicine/lavaland_extract/overdose_process(mob/living/M) - M.adjustBruteLoss(3*REM, 0) - M.adjustFireLoss(3*REM, 0) - M.adjustToxLoss(3*REM, 0) + M.adjustBruteLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustFireLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(3*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -1450,10 +1450,10 @@ /datum/reagent/medicine/changelingadrenaline/on_mob_life(mob/living/carbon/metabolizer, delta_time, times_fired) ..() - metabolizer.AdjustAllImmobility(-20 * REM * delta_time) - metabolizer.adjustStaminaLoss(-30 * REM * delta_time, 0) - metabolizer.Jitter(10 * REM * delta_time) - metabolizer.Dizzy(10 * REM * delta_time) + metabolizer.AdjustAllImmobility(-20 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + metabolizer.adjustStaminaLoss(-30 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) + metabolizer.Jitter(10 * REAGENTS_EFFECT_MULTIPLIER * delta_time) + metabolizer.Dizzy(10 * REAGENTS_EFFECT_MULTIPLIER * delta_time) return TRUE /datum/reagent/medicine/changelingadrenaline/on_mob_metabolize(mob/living/L) @@ -1471,7 +1471,7 @@ L.Jitter(0) /datum/reagent/medicine/changelingadrenaline/overdose_process(mob/living/metabolizer, delta_time, times_fired) - metabolizer.adjustToxLoss(1 * REM * delta_time, 0) + metabolizer.adjustToxLoss(1 * REAGENTS_EFFECT_MULTIPLIER * delta_time, 0) ..() return TRUE @@ -1546,7 +1546,7 @@ overdose_threshold = overdose_threshold + rand(-10,10)/10 // for extra fun M.AdjustAllImmobility(-5, 0) M.AdjustUnconscious(-5, 0) - M.adjustStaminaLoss(-1*REM, 0) + M.adjustStaminaLoss(-1*REAGENTS_EFFECT_MULTIPLIER, 0) M.Jitter(1) metabolization_rate = 0.01 * REAGENTS_METABOLISM * rand(5,20) // randomizes metabolism between 0.02 and 0.08 per tick . = TRUE @@ -1566,8 +1566,8 @@ if(prob(50)) M.losebreath++ if(41 to 80) - M.adjustOxyLoss(0.1*REM, 0) - M.adjustStaminaLoss(0.1*REM, 0) + M.adjustOxyLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustStaminaLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) M.jitteriness = min(M.jitteriness+1, 20) M.stuttering = min(M.stuttering+1, 20) M.Dizzy(10) @@ -1579,12 +1579,12 @@ M.DefaultCombatKnockdown(20, 1, 0) // you should be in a bad spot at this point unless epipen has been used if(81) to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal - M.adjustOxyLoss(0.1*REM, 0) - M.adjustStaminaLoss(0.1*REM, 0) + M.adjustOxyLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustStaminaLoss(0.1*REAGENTS_EFFECT_MULTIPLIER, 0) if(82 to INFINITY) M.Sleeping(100, 0, TRUE) - M.adjustOxyLoss(1.5*REM, 0) - M.adjustStaminaLoss(1.5*REM, 0) + M.adjustOxyLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustStaminaLoss(1.5*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -1674,7 +1674,7 @@ value = REAGENT_VALUE_UNCOMMON // while it's 'rare', it can be milked from the wisdom cow /datum/reagent/medicine/liquid_wisdom/on_mob_life(mob/living/carbon/C) //slightly stronger mannitol, from the wisdom cow - C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -3*REM) + C.adjustOrganLoss(ORGAN_SLOT_BRAIN, -3*REAGENTS_EFFECT_MULTIPLIER) if(prob(20)) C.cure_trauma_type(resilience = TRAUMA_RESILIENCE_BASIC) if(prob(3)) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index bf93c933de..a378880567 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -58,7 +58,7 @@ var/blood_id = C.get_blood_id() if((blood_id in GLOB.blood_reagent_types) && !HAS_TRAIT(C, TRAIT_NOMARROW)) if(!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type))) //we only care about bloodtype here because this is where the poisoning should be - C.adjustToxLoss(rand(2,8)*REM, TRUE, TRUE) //forced to ensure people don't use it to gain beneficial toxin as slime person + C.adjustToxLoss(rand(2,8)*REAGENTS_EFFECT_MULTIPLIER, TRUE, TRUE) //forced to ensure people don't use it to gain beneficial toxin as slime person ..() /datum/reagent/blood/reaction_obj(obj/O, volume) @@ -175,10 +175,10 @@ if(prob(10)) if(M.dna?.species?.exotic_bloodtype != "GEL") to_chat(M, "Your insides are burning!") - M.adjustToxLoss(rand(20,60)*REM, 0) + M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 else if(prob(40) && isjellyperson(M)) - M.heal_bodypart_damage(2*REM) + M.heal_bodypart_damage(2*REAGENTS_EFFECT_MULTIPLIER) . = 1 ..() @@ -1019,7 +1019,7 @@ mytray.adjustWeeds(-rand(1,3)) /datum/reagent/chlorine/on_mob_life(mob/living/carbon/M) - M.take_bodypart_damage(1*REM, 0, 0, 0) + M.take_bodypart_damage(1*REAGENTS_EFFECT_MULTIPLIER, 0, 0, 0) . = 1 ..() @@ -1041,7 +1041,7 @@ mytray.adjustWeeds(-rand(1,4)) /datum/reagent/fluorine/on_mob_life(mob/living/carbon/M) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -1098,7 +1098,7 @@ mytray.adjustToxic(round(chems.get_reagent_amount(src.type) * 1)) /datum/reagent/radium/on_mob_life(mob/living/carbon/M) - M.apply_effect(2*REM/M.metabolism_efficiency,EFFECT_IRRADIATE,0) + M.apply_effect(2*REAGENTS_EFFECT_MULTIPLIER/M.metabolism_efficiency,EFFECT_IRRADIATE,0) ..() /datum/reagent/radium/reaction_turf(turf/T, reac_volume) @@ -1398,7 +1398,7 @@ /datum/reagent/impedrezene/on_mob_life(mob/living/carbon/M) M.jitteriness = max(M.jitteriness-5,0) if(prob(80)) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REAGENTS_EFFECT_MULTIPLIER) if(prob(50)) M.drowsyness = max(M.drowsyness, 3) if(prob(10)) @@ -1574,7 +1574,7 @@ ..() /datum/reagent/stimulum/on_mob_life(mob/living/carbon/M) - M.adjustStaminaLoss(-2*REM, 0) + M.adjustStaminaLoss(-2*REAGENTS_EFFECT_MULTIPLIER, 0) current_cycle++ holder.remove_reagent(type, 0.99) //Gives time for the next tick of life(). . = TRUE //Update status effects. @@ -1687,7 +1687,7 @@ /datum/reagent/plantnutriment/on_mob_life(mob/living/carbon/M) if(prob(tox_prob)) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -2533,7 +2533,7 @@ var/obj/item/bodypart/wounded_part = W.limb if(wounded_part) wounded_part.heal_damage(0.25, 0.25) - M.adjustStaminaLoss(-0.25*REM) // the more wounds, the more stamina regen + M.adjustStaminaLoss(-0.25*REAGENTS_EFFECT_MULTIPLIER) // the more wounds, the more stamina regen ..() /datum/reagent/eldritch diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 7dd8cac452..7cefc48159 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -18,7 +18,7 @@ /datum/reagent/toxin/on_mob_life(mob/living/carbon/M) if(toxpwr) - M.adjustToxLoss(toxpwr*REM, 0) + M.adjustToxLoss(toxpwr*REAGENTS_EFFECT_MULTIPLIER, 0) . = TRUE ..() @@ -79,7 +79,7 @@ /datum/reagent/toxin/plasma/on_mob_life(mob/living/carbon/C) if(holder.has_reagent(/datum/reagent/medicine/epinephrine)) - holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REM) + holder.remove_reagent(/datum/reagent/medicine/epinephrine, 2*REAGENTS_EFFECT_MULTIPLIER) C.adjustPlasma(20) return ..() @@ -136,10 +136,10 @@ /datum/reagent/toxin/slimejelly/on_mob_life(mob/living/carbon/M) if(prob(10)) to_chat(M, "Your insides are burning!") - M.adjustToxLoss(rand(20,60)*REM, 0) + M.adjustToxLoss(rand(20,60)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 else if(prob(40)) - M.heal_bodypart_damage(5*REM) + M.heal_bodypart_damage(5*REAGENTS_EFFECT_MULTIPLIER) . = 1 ..() @@ -191,7 +191,7 @@ ..() /datum/reagent/toxin/zombiepowder/reaction_mob(mob/living/L, method=TOUCH, reac_volume) - L.adjustOxyLoss(0.5*REM, 0) + L.adjustOxyLoss(0.5*REAGENTS_EFFECT_MULTIPLIER, 0) if(method == INGEST) fakedeath_active = TRUE L.fakedeath(type) @@ -230,7 +230,7 @@ ..() /datum/reagent/toxin/ghoulpowder/on_mob_life(mob/living/carbon/M) - M.adjustOxyLoss(1*REM, 0) + M.adjustOxyLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -365,7 +365,7 @@ . = 1 if(51 to INFINITY) M.Sleeping(40, 0) - M.adjustToxLoss((current_cycle - 50)*REM, 0) + M.adjustToxLoss((current_cycle - 50)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -387,7 +387,7 @@ M.Sleeping(40, 0) if(51 to INFINITY) M.Sleeping(40, 0) - M.adjustToxLoss((current_cycle - 50)*REM, 0) + M.adjustToxLoss((current_cycle - 50)*REAGENTS_EFFECT_MULTIPLIER, 0) return ..() /datum/reagent/toxin/coffeepowder @@ -437,7 +437,7 @@ value = REAGENT_VALUE_UNCOMMON /datum/reagent/toxin/staminatoxin/on_mob_life(mob/living/carbon/M) - M.adjustStaminaLoss(REM * data, 0) + M.adjustStaminaLoss(REAGENTS_EFFECT_MULTIPLIER * data, 0) data = max(data - 1, 5) ..() . = 1 @@ -478,14 +478,14 @@ if(4) if(prob(75)) to_chat(M, "You scratch at an itch.") - M.adjustBruteLoss(2*REM, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() /datum/reagent/toxin/histamine/overdose_process(mob/living/M) - M.adjustOxyLoss(2*REM, 0) - M.adjustBruteLoss(2*REM, 0) - M.adjustToxLoss(2*REM, 0) + M.adjustOxyLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustBruteLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) ..() . = 1 @@ -515,7 +515,7 @@ /datum/reagent/toxin/venom/on_mob_life(mob/living/carbon/M) toxpwr = 0.2*volume - M.adjustBruteLoss((0.3*volume)*REM, 0) + M.adjustBruteLoss((0.3*volume)*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(15)) M.reagents.add_reagent(/datum/reagent/toxin/histamine, pick(5,10)) @@ -532,9 +532,9 @@ toxpwr = 0 /datum/reagent/toxin/fentanyl/on_mob_life(mob/living/carbon/M) - M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REM, 150) + M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 3*REAGENTS_EFFECT_MULTIPLIER, 150) if(M.toxloss <= 60) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) if(current_cycle >= 18) M.Sleeping(40, 0) ..() @@ -555,7 +555,7 @@ if(prob(8)) to_chat(M, "You feel horrendously weak!") M.Stun(40, 0) - M.adjustToxLoss(2*REM, 0) + M.adjustToxLoss(2*REAGENTS_EFFECT_MULTIPLIER, 0) return ..() /datum/reagent/toxin/bad_food @@ -583,15 +583,15 @@ /datum/reagent/toxin/itching_powder/on_mob_life(mob/living/carbon/M) if(prob(15)) to_chat(M, "You scratch at your head.") - M.adjustBruteLoss(0.2*REM, 0) + M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(15)) to_chat(M, "You scratch at your leg.") - M.adjustBruteLoss(0.2*REM, 0) + M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(15)) to_chat(M, "You scratch at your arm.") - M.adjustBruteLoss(0.2*REM, 0) + M.adjustBruteLoss(0.2*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 if(prob(3)) M.reagents.add_reagent(/datum/reagent/toxin/histamine,rand(1,3)) @@ -660,7 +660,7 @@ /datum/reagent/toxin/sodium_thiopental/on_mob_life(mob/living/carbon/M) if(current_cycle >= 10) M.Sleeping(40, 0) - M.adjustStaminaLoss(10*REM, 0) + M.adjustStaminaLoss(10*REAGENTS_EFFECT_MULTIPLIER, 0) ..() return TRUE @@ -687,7 +687,7 @@ value = REAGENT_VALUE_RARE /datum/reagent/toxin/amanitin/on_mob_end_metabolize(mob/living/M) - var/toxdamage = current_cycle*3*REM + var/toxdamage = current_cycle*3*REAGENTS_EFFECT_MULTIPLIER M.log_message("has taken [toxdamage] toxin damage from amanitin toxin", LOG_ATTACK) M.adjustToxLoss(toxdamage) ..() @@ -703,7 +703,7 @@ /datum/reagent/toxin/lipolicide/on_mob_life(mob/living/carbon/M) if(M.nutrition <= NUTRITION_LEVEL_STARVING) - M.adjustToxLoss(1*REM, 0) + M.adjustToxLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) M.adjust_nutrition(-3) // making the chef more valuable, one meme trap at a time M.overeatduration = 0 return ..() @@ -759,7 +759,7 @@ /datum/reagent/toxin/curare/on_mob_life(mob/living/carbon/M) if(current_cycle >= 11) M.DefaultCombatKnockdown(60, 0) - M.adjustOxyLoss(1*REM, 0) + M.adjustOxyLoss(1*REAGENTS_EFFECT_MULTIPLIER, 0) . = 1 ..() @@ -942,7 +942,7 @@ /datum/reagent/toxin/delayed/on_mob_life(mob/living/carbon/M) if(current_cycle > delay) holder.remove_reagent(type, actual_metaboliztion_rate * M.metabolism_efficiency) - M.adjustToxLoss(actual_toxpwr*REM, 0) + M.adjustToxLoss(actual_toxpwr*REAGENTS_EFFECT_MULTIPLIER, 0) if(prob(10)) M.DefaultCombatKnockdown(20, 0) . = 1 diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 897c7610a1..553cc2d043 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -90,6 +90,11 @@ max = safe_breath_dam_max, damage_type = safe_damage_type ) + if(ispath(breathing_class)) + var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class] + for(var/g in class.gases) + if(class.gases[g] > 0) + gas_min -= g //TODO: lung health affects lung function /obj/item/organ/lungs/onDamage(damage_mod) //damage might be too low atm. @@ -196,9 +201,9 @@ mole_adjustments[entry] = -required_moles mole_adjustments[breath_results[entry]] = required_moles if(required_pp < safe_min) - var/multiplier = 0 + var/multiplier = handle_too_little_breath(H, required_pp, safe_min, required_moles) if(required_moles > 0) - multiplier = handle_too_little_breath(H, required_pp, safe_min, required_moles) / required_moles + multiplier /= required_moles for(var/adjustment in mole_adjustments) mole_adjustments[adjustment] *= multiplier if(alert_category) @@ -222,8 +227,7 @@ alert_category = breathing_class.high_alert_category alert_type = breathing_class.high_alert_datum danger_reagent = breathing_class.danger_reagent - for(var/gas in gases) - found_pp += PP(breath, gas) + found_pp = breathing_class.get_effective_pp(breath) else danger_reagent = danger_reagents[entry] if(entry in breath_alert_info) @@ -517,17 +521,20 @@ var/total_moles = breath.total_moles() for(var/id in breath.get_gases()) var/this_pressure = PP(breath, id) - var/req_pressure = (this_pressure * SAFE_THRESHOLD_RATIO) - 1 - if(req_pressure > 0) - gas_min[id] = req_pressure + if(id in gas_min) + var/req_pressure = (this_pressure * SAFE_THRESHOLD_RATIO) - 1 + if(req_pressure > 0) + gas_min[id] = req_pressure + else + gas_min -= id // if there's not even enough of the gas to register, we shouldn't need it if(id in gas_max) gas_max[id] += this_pressure - var/bz = breath.get_moles(GAS_BZ) + var/bz = breath.get_moles(GAS_BZ) // snowflaked cause it's got special behavior, of course if(bz) BZ_trip_balls_min += bz BZ_brain_damage_min += bz - gas_max[GAS_N2] = PP(breath, GAS_N2) + 5 + gas_max[GAS_N2] = max(15, PP(breath, GAS_N2) + 3) // don't want ash lizards breathing on station; sometimes they might be able to, though var/datum/breathing_class/class = GLOB.gas_data.breathing_classes[breathing_class] var/o2_pp = class.get_effective_pp(breath) safe_breath_min = min(3, 0.3 * o2_pp) diff --git a/html/changelog.html b/html/changelog.html index 24c051117a..c93c0eae84 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -50,6 +50,48 @@ -->
+

11 November 2021

+

DrPainis updated:

+ +

Putnam3145 updated:

+ + +

10 November 2021

+

Ethan4303 updated:

+ +

Putnam3145 updated:

+ +

SandPoot updated:

+ + +

08 November 2021

+

timothyteakettle updated:

+ + +

06 November 2021

+

Putnam3145 updated:

+ +

05 November 2021

keronshb updated:

- -

10 September 2021

-

BlueWildrose updated:

- -

keronshb updated:

- -

zeroisthebiggay updated:

- - -

08 September 2021

-

keronshb updated:

- - -

07 September 2021

-

bunny232 updated:

- -

keronshb updated:

- -

zeroisthebiggay updated:

- - -

05 September 2021

-

DeltaFire15 updated:

- - -

04 September 2021

-

Putnam3145 updated:

- -

WanderingFox95 updated:

- -

keronshb updated:

- -

timothyteakettle updated:

-
GoonStation 13 Development Team diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml index aa59739f34..f1f87bef20 100644 --- a/html/changelogs/.all_changelog.yml +++ b/html/changelogs/.all_changelog.yml @@ -30200,3 +30200,31 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py. keronshb: - balance: removes required enemies - balance: Lowers assassination threat threshold +2021-11-06: + Putnam3145: + - bugfix: Ashwalkers should no longer suffocate on lavaland (and hypothetical other + future problems) + - bugfix: A gas mix with 0 oxygen should now properly suffocate you (or 0 plasma, + for ashwalkers) +2021-11-08: + timothyteakettle: + - bugfix: fixes party pod sprite + - bugfix: fixes red panda head marking +2021-11-10: + Ethan4303: + - rscadd: Added two wire nodes under the engineering PA room Apc and under the HOS + office APC + - rscadd: Added cables to connect the second floor relay to the power grid + - rscdel: Removed the generic broken computer from Hos Office + - bugfix: Fixed Hos office not having the Security records console + Putnam3145: + - bugfix: Power alerts now work + - bugfix: No longer have too much O2 from too much CO2 + SandPoot: + - rscadd: Crayon precision mode. +2021-11-11: + DrPainis: + - bugfix: The universe has realized that not every species uses hemoglobin again. + Putnam3145: + - refactor: '"REM" removed, replaced with "REAGENTS_EFFECT_MULTIPLIER", which "REM" + is short for' diff --git a/icons/effects/blood.dmi b/icons/effects/blood.dmi index bee16d4d90..c5a3756907 100644 Binary files a/icons/effects/blood.dmi and b/icons/effects/blood.dmi differ diff --git a/icons/obj/machines/sleeper.dmi b/icons/obj/machines/sleeper.dmi index ff9e2b197a..134448fc4e 100644 Binary files a/icons/obj/machines/sleeper.dmi and b/icons/obj/machines/sleeper.dmi differ diff --git a/tgui/packages/tgui/interfaces/Crayon.js b/tgui/packages/tgui/interfaces/Crayon.js index 05191f8c66..568e02667b 100644 --- a/tgui/packages/tgui/interfaces/Crayon.js +++ b/tgui/packages/tgui/interfaces/Crayon.js @@ -1,11 +1,18 @@ import { useBackend } from '../backend'; -import { Button, LabeledList, Section } from '../components'; +import { Button, LabeledList, Section, Slider } from '../components'; import { Window } from '../layouts'; export const Crayon = (props, context) => { const { act, data } = useBackend(context); const capOrChanges = data.has_cap || data.can_change_colour; const drawables = data.drawables || []; + const { + precision_mode, + x, + y, + min_offset, + max_offset, + } = data; return ( { onClick={() => act('select_colour')} /> )} +
+ + +
{drawables.map(drawable => {