diff --git a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm index 1590325df0e..15a969e7a47 100644 --- a/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm +++ b/_maps/map_files/MetaStation/MetaStation.v41A.II.dmm @@ -365,7 +365,7 @@ "aha" = (/obj/machinery/computer/prisoner,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos) "ahb" = (/obj/machinery/computer/security,/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos) "ahc" = (/obj/machinery/computer/secure_data,/obj/structure/cable/yellow{d1 = 1; d2 = 2; icon_state = "1-2"},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos) -"ahd" = (/obj/structure/table/woodentable,/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 0; pixel_y = 30},/obj/machinery/computer/med_data/laptop,/obj/item/weapon/storage/secure/safe/HoS{pixel_x = 36; pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos) +"ahd" = (/obj/structure/table/woodentable,/obj/machinery/requests_console{announcementConsole = 1; department = "Head of Security's Desk"; departmentType = 5; name = "Head of Security RC"; pixel_x = 0; pixel_y = 30},/obj/machinery/computer/med_data/laptop,/obj/item/weapon/storage/secure/safe{pixel_x = 36; pixel_y = 28},/turf/simulated/floor/plasteel{icon_state = "dark"},/area/security/hos) "ahe" = (/turf/simulated/wall,/area/security/range) "ahf" = (/obj/machinery/alarm{pixel_y = 28},/obj/structure/rack,/obj/item/weapon/gun/energy/ionrifle,/obj/item/clothing/suit/armor/laserproof,/obj/machinery/light{dir = 1; on = 1},/turf/simulated/floor/plasteel{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/security/warden) "ahg" = (/obj/machinery/door/airlock/external{name = "Escape Pod Three"},/turf/simulated/floor/plating,/area/crew_quarters/fitness{name = "\improper Recreation Area"}) diff --git a/_maps/map_files/RandomZLevels/spacehotel.dmm b/_maps/map_files/RandomZLevels/spacehotel.dmm index 6a368e05b16..c09808a51f8 100644 --- a/_maps/map_files/RandomZLevels/spacehotel.dmm +++ b/_maps/map_files/RandomZLevels/spacehotel.dmm @@ -523,7 +523,7 @@ "kc" = (/obj/machinery/door/airlock{name = "Supply Closet"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "kd" = (/obj/machinery/door/airlock/glass{name = "Gateway"},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "ke" = (/obj/item/weapon/melee/cultblade,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) -"kf" = (/obj/item/weapon/kitchen/knife/butcher{blood_DNA = 1e+009},/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) +"kf" = (/obj/item/weapon/kitchen/knife/butcher{blood_DNA = list("1e+009" = "O-")},/obj/effect/decal/cleanable/blood/old,/turf/unsimulated/floor{name = "engraved floor"; icon_state = "cult"},/area/awaymission/spacehotel) "kg" = (/obj/machinery/light{dir = 8},/obj/structure/stool/bed/chair/sofa/left{icon_state = "sofaend_left"; dir = 4},/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "kh" = (/obj/effect/hotel_controller,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel) "ki" = (/obj/item/weapon/pen,/obj/structure/table/reinforced,/turf/unsimulated/floor/carpet,/area/awaymission/spacehotel/reception) diff --git a/code/ATMOSPHERICS/components/binary_devices/circulator.dm b/code/ATMOSPHERICS/components/binary_devices/circulator.dm index 8ce7b1ce0ba..b6c5d55e5a9 100644 --- a/code/ATMOSPHERICS/components/binary_devices/circulator.dm +++ b/code/ATMOSPHERICS/components/binary_devices/circulator.dm @@ -2,77 +2,84 @@ //node2, air2, network2 correspond to output /obj/machinery/atmospherics/binary/circulator name = "circulator/heat exchanger" - desc = "A gas circulator pump and heat exchanger." - icon = 'icons/obj/pipes.dmi' - icon_state = "circ-off" - anchored = 0 - density = 1 + desc = "A gas circulator pump and heat exchanger. Its input port is on the south side, and its output port is on the north side." + icon = 'icons/obj/atmospherics/circulator.dmi' + icon_state = "circ1-off" + + var/side = CIRC_LEFT + + var/global/const/CIRC_LEFT = WEST + var/global/const/CIRC_RIGHT = EAST - var/recent_moles_transferred = 0 - var/last_heat_capacity = 0 - var/last_temperature = 0 var/last_pressure_delta = 0 - var/last_worldtime_transfer = 0 + + var/obj/machinery/power/generator/generator -/obj/machinery/atmospherics/binary/circulator/New() - ..() - desc = initial(desc) + " Its outlet port is to the [dir2text(dir)]." + layer = 2.45 // Just above wires + + anchored = 1 + density = 1 + + can_unwrench = 1 + +// Creating a custom circulator pipe subtype to be delivered through cargo +/obj/item/pipe/circulator + name = "circulator/heat exchanger fitting" + +/obj/item/pipe/circulator/New(loc) + var/obj/machinery/atmospherics/binary/circulator/C = new /obj/machinery/atmospherics/binary/circulator(null) + ..(loc, make_from = C) + +/obj/machinery/atmospherics/binary/circulator/Destroy() + if(generator && generator.cold_circ == src) + generator.cold_circ = null + else if(generator && generator.hot_circ == src) + generator.hot_circ = null + return ..() /obj/machinery/atmospherics/binary/circulator/proc/return_transfer_air() - var/datum/gas_mixture/removed - if(anchored && !(stat & BROKEN)) - var/input_starting_pressure = air1.return_pressure() - var/output_starting_pressure = air2.return_pressure() - last_pressure_delta = max(input_starting_pressure - output_starting_pressure + 10, 0) + var/output_starting_pressure = air1.return_pressure() + var/input_starting_pressure = air2.return_pressure() - //only circulate air if there is a pressure difference (plus 10 kPa to represent friction in the machine) - if(air1.temperature > 0 && last_pressure_delta > 0) + if(output_starting_pressure >= input_starting_pressure - 10) + //Need at least 10 KPa difference to overcome friction in the mechanism + last_pressure_delta = 0 + return null - //Calculate necessary moles to transfer using PV = nRT - recent_moles_transferred = last_pressure_delta*air2.volume/(air1.temperature * R_IDEAL_GAS_EQUATION) + //Calculate necessary moles to transfer using PV = nRT + if(air2.temperature > 0) + var/pressure_delta = (input_starting_pressure - output_starting_pressure) / 2 - //Actually transfer the gas - removed = air1.remove(recent_moles_transferred) - if(removed) - last_heat_capacity = removed.heat_capacity() - last_temperature = removed.temperature + var/transfer_moles = pressure_delta * air1.volume/(air2.temperature * R_IDEAL_GAS_EQUATION) - //Update the gas networks. - parent1.update = 1 + last_pressure_delta = pressure_delta - last_worldtime_transfer = world.time - else - recent_moles_transferred = 0 + //log_debug("pressure_delta = [pressure_delta]; transfer_moles = [transfer_moles];") + + //Actually transfer the gas + var/datum/gas_mixture/removed = air2.remove(transfer_moles) + + parent1.update = 1 + parent2.update = 1 - update_icon() return removed + else + last_pressure_delta = 0 + /obj/machinery/atmospherics/binary/circulator/process() - if(!..()) - return 0 - if(last_worldtime_transfer < world.time - 50) - recent_moles_transferred = 0 - update_icon() + ..() + update_icon() /obj/machinery/atmospherics/binary/circulator/update_icon() - if(stat & (BROKEN|NOPOWER) || !anchored) - icon_state = "circ-p" - else if(last_pressure_delta > 0 && recent_moles_transferred > 0) - if(last_pressure_delta > 5*ONE_ATMOSPHERE) - icon_state = "circ-run" + if(stat & (BROKEN|NOPOWER)) + icon_state = "circ[side]-p" + else if(last_pressure_delta > 0) + if(last_pressure_delta > ONE_ATMOSPHERE) + icon_state = "circ[side]-run" else - icon_state = "circ-slow" + icon_state = "circ[side]-slow" else - icon_state = "circ-off" + icon_state = "circ[side]-off" - return 1 - -/obj/machinery/atmospherics/binary/circulator/attackby(var/obj/item/W as obj, var/mob/user as mob, params) - if(istype(W, /obj/item/weapon/wrench)) - var/turf/T = get_turf(src) - if(!istype(T, /turf/simulated)) - return ..() - anchored = !anchored - to_chat(user, "You [(anchored) ? "fasten" : "loosen"] \the [src] to the floor") - playsound(loc, 'sound/items/Ratchet.ogg', 50, 1) - else return ..() + return 1 \ No newline at end of file diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index 114588009ed..986cbac0bd3 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -85,3 +85,18 @@ var/gaussian_next gaussian_next = R2 * working return (mean + stddev * R1) #undef ACCURACY + + + +// oof, what a mouthful +// Used in status_procs' "adjust" to let them modify a status effect by a given +// amount, without inadverdently increasing it in the wrong direction +/proc/directional_bounded_sum(orig_val, modifier, bound_lower, bound_upper) + var/new_val = orig_val + modifier + if(modifier > 0) + if(new_val > bound_upper) + new_val = max(orig_val, bound_upper) + else if(modifier < 0) + if(new_val < bound_lower) + new_val = min(orig_val, bound_lower) + return new_val diff --git a/code/_globalvars/mapping.dm b/code/_globalvars/mapping.dm index 44b678a8f67..ae26485208b 100644 --- a/code/_globalvars/mapping.dm +++ b/code/_globalvars/mapping.dm @@ -18,7 +18,6 @@ var/global/list/global_map = null //3 - AI satellite //5 - empty space -var/list/monkeystart = list() var/list/wizardstart = list() var/list/newplayer_start = list() var/list/latejoin = list() @@ -26,10 +25,9 @@ var/list/latejoin_gateway = list() var/list/latejoin_cryo = list() var/list/latejoin_cyborg = list() var/list/prisonwarp = list() //prisoners go to these -var/list/holdingfacility = list() //captured people go here var/list/xeno_spawn = list()//Aliens spawn at these. var/list/ertdirector = list() -// list/mazewarp = list() +var/list/emergencyresponseteamspawn = list() var/list/tdome1 = list() var/list/tdome2 = list() var/list/team_alpha = list() diff --git a/code/_globalvars/unused.dm b/code/_globalvars/unused.dm index d3945b68eab..e55794c3dc9 100644 --- a/code/_globalvars/unused.dm +++ b/code/_globalvars/unused.dm @@ -31,10 +31,4 @@ var/endicon = null var/datum/air_tunnel/air_tunnel1/SS13_airtunnel = null var/going = 1.0 var/datum/engine_eject/engine_eject_control = null -// list/traitors = list() //traitor list -// list/traitobj = list( ) -var/airtunnel_start = 68 // default -var/airtunnel_stop = 68 // default -var/airtunnel_bottom = 72 // default -// reverse_dir[dir] = reverse of dir diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index a476fbc78d5..66377ec3fcd 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -62,7 +62,7 @@ CtrlClickOn(A) return - if(stat || paralysis || stunned || weakened) + if(incapacitated(ignore_restraints = 1, ignore_grab = 1, ignore_lying = 1)) return face_atom(A) diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 1f60c26f885..a15176af87c 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -39,7 +39,7 @@ CtrlClickOn(A) return - if(stat || lockcharge || weakened || stunned || paralysis) + if(incapacitated()) return if(next_move >= world.time) diff --git a/code/datums/diseases/advance/symptoms/confusion.dm b/code/datums/diseases/advance/symptoms/confusion.dm index 8f388c45edc..9e806b24f41 100644 --- a/code/datums/diseases/advance/symptoms/confusion.dm +++ b/code/datums/diseases/advance/symptoms/confusion.dm @@ -35,6 +35,6 @@ Bonus to_chat(M, "[pick("Your head hurts.", "Your mind blanks for a moment.")]") else to_chat(M, "You can't think straight!") - M.confused = min(100, M.confused + 8) + M.AdjustConfused(8, bound_lower = 0, bound_upper = 100) return diff --git a/code/datums/diseases/advance/symptoms/deafness.dm b/code/datums/diseases/advance/symptoms/deafness.dm index 6c65e330fa8..1a9bba6961e 100644 --- a/code/datums/diseases/advance/symptoms/deafness.dm +++ b/code/datums/diseases/advance/symptoms/deafness.dm @@ -33,11 +33,11 @@ Bonus if(3, 4) to_chat(M, "[pick("You hear a ringing in your ear.", "Your ears pop.")]") if(5) - if(!(M.ear_deaf)) + if(!(M.disabilities & DEAF)) to_chat(M, "Your ears pop and begin ringing loudly!") - M.setEarDamage(-1,INFINITY) //Shall be enough + M.BecomeDeaf() spawn(200) if(M) to_chat(M, "The ringing in your ears fades...") - M.setEarDamage(-1,0) - return \ No newline at end of file + M.CureDeaf() + return diff --git a/code/datums/diseases/advance/symptoms/hallucigen.dm b/code/datums/diseases/advance/symptoms/hallucigen.dm index cac8b4d2e03..e117dbf51f8 100644 --- a/code/datums/diseases/advance/symptoms/hallucigen.dm +++ b/code/datums/diseases/advance/symptoms/hallucigen.dm @@ -36,6 +36,6 @@ Bonus to_chat(M, "[pick("Something is following you.", "You are being watched.", "You hear a whisper in your ear.", "Thumping footsteps slam toward you from nowhere.")]") else to_chat(M, "[pick("Oh, your head...", "Your head pounds.", "They're everywhere! Run!", "Something in the shadows...")]") - M.hallucination += 5 + M.AdjustHallucinate(5) return diff --git a/code/datums/diseases/anxiety.dm b/code/datums/diseases/anxiety.dm index 150b7483aaa..4d9716e44da 100644 --- a/code/datums/diseases/anxiety.dm +++ b/code/datums/diseases/anxiety.dm @@ -24,18 +24,18 @@ to_chat(affected_mob, "You feel panicky.") if(prob(2)) to_chat(affected_mob, "You're overtaken with panic!") - affected_mob.confused += (rand(2,3)) + affected_mob.AdjustConfused(rand(2,3)) if(4) if(prob(10)) to_chat(affected_mob, "You feel butterflies in your stomach.") if(prob(5)) affected_mob.visible_message("[affected_mob] stumbles around in a panic.", \ "You have a panic attack!") - affected_mob.confused += (rand(6,8)) - affected_mob.jitteriness += (rand(6,8)) + affected_mob.AdjustConfused(rand(6,8)) + affected_mob.AdjustJitter(rand(6,8)) if(prob(2)) affected_mob.visible_message("[affected_mob] coughs up butterflies!", \ "You cough up butterflies!") new /mob/living/simple_animal/butterfly(affected_mob.loc) new /mob/living/simple_animal/butterfly(affected_mob.loc) - return \ No newline at end of file + return diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index 7f04eb5fc56..e3482955865 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -106,7 +106,7 @@ if(3) if(prob(4)) to_chat(affected_mob, "You feel a stabbing pain in your head.") - affected_mob.confused += 10 + affected_mob.AdjustConfused(10) if(4) if(prob(3)) affected_mob.say(pick("Eeek, ook ook!", "Eee-eeek!", "Eeee!", "Ungh, ungh.")) @@ -241,4 +241,4 @@ stage3 = list("Your appendages are melting away.", "Your limbs begin to lose their shape.") stage4 = list("You're ravenous.") stage5 = list("You have become a morph.") - new_form = /mob/living/simple_animal/hostile/morph \ No newline at end of file + new_form = /mob/living/simple_animal/hostile/morph diff --git a/code/datums/diseases/tuberculosis.dm b/code/datums/diseases/tuberculosis.dm index 11c06e386c5..4cd027a7d7d 100644 --- a/code/datums/diseases/tuberculosis.dm +++ b/code/datums/diseases/tuberculosis.dm @@ -44,7 +44,7 @@ affected_mob.AdjustSleeping(5) if(prob(2)) to_chat(affected_mob, "You feel your mind relax and your thoughts drift!") - affected_mob.confused = min(100, affected_mob.confused + 8) + affected_mob.AdjustConfused(8, bound_lower = 0, bound_upper = 100) if(prob(10)) affected_mob.vomit(20) if(prob(3)) @@ -55,4 +55,3 @@ to_chat(affected_mob, "[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]") affected_mob.bodytemperature += 40 return - diff --git a/code/datums/diseases/vampire.dm b/code/datums/diseases/vampire.dm index dbcc9bbb3c0..16706087673 100644 --- a/code/datums/diseases/vampire.dm +++ b/code/datums/diseases/vampire.dm @@ -20,15 +20,15 @@ if(prob(10)) affected_mob.emote(pick("cough","groan", "gasp")) - affected_mob.losebreath++ + affected_mob.AdjustLoseBreath(1) if(prob(15)) if(prob(33)) to_chat(affected_mob, "You feel sickly and weak.") - affected_mob.slowed += 3 + affected_mob.AdjustSlowed(3) affected_mob.adjustToxLoss(toxdamage) if(prob(5)) to_chat(affected_mob, "Your joints ache horribly!") affected_mob.Weaken(stuntime) - affected_mob.Stun(stuntime) \ No newline at end of file + affected_mob.Stun(stuntime) diff --git a/code/datums/recipe.dm b/code/datums/recipe.dm index 645af5e8aea..2e953f3ec91 100644 --- a/code/datums/recipe.dm +++ b/code/datums/recipe.dm @@ -42,7 +42,7 @@ var/byproduct // example: = /obj/item/weapon/kitchen/mould // byproduct to return, such as a mould or trash -/datum/recipe/proc/check_reagents(var/datum/reagents/avail_reagents) //1=precisely, 0=insufficiently, -1=superfluous +/datum/recipe/proc/check_reagents(datum/reagents/avail_reagents) //1=precisely, 0=insufficiently, -1=superfluous . = 1 for(var/r_r in reagents) var/aval_r_amnt = avail_reagents.get_reagent_amount(r_r) @@ -55,7 +55,7 @@ return -1 return . -/datum/recipe/proc/check_fruit(var/obj/container) +/datum/recipe/proc/check_fruit(obj/container) . = 1 if(fruit && fruit.len) var/list/checklist = list() @@ -74,7 +74,7 @@ break return . -/datum/recipe/proc/check_items(var/obj/container as obj) +/datum/recipe/proc/check_items(obj/container) . = 1 if(items && items.len) var/list/checklist = list() @@ -96,7 +96,7 @@ return . //general version -/datum/recipe/proc/make(var/obj/container as obj) +/datum/recipe/proc/make(obj/container) var/obj/result_obj = new result(container) for(var/obj/O in (container.contents-result_obj)) O.reagents.trans_to(result_obj, O.reagents.total_volume) @@ -106,7 +106,7 @@ return result_obj // food-related -/datum/recipe/proc/make_food(var/obj/container as obj) +/datum/recipe/proc/make_food(obj/container) var/obj/result_obj = new result(container) for(var/obj/O in (container.contents-result_obj)) if(O.reagents) @@ -118,7 +118,7 @@ score_meals++ return result_obj -/proc/select_recipe(var/list/datum/recipe/avaiable_recipes, var/obj/obj as obj, var/exact = 1 as num) +/proc/select_recipe(list/datum/recipe/avaiable_recipes, obj/obj, exact = 1) if(!exact) exact = -1 var/list/datum/recipe/possible_recipes = new diff --git a/code/datums/spells/cluwne.dm b/code/datums/spells/cluwne.dm index d4d3b383f9d..fe0e02bda6d 100644 --- a/code/datums/spells/cluwne.dm +++ b/code/datums/spells/cluwne.dm @@ -16,7 +16,7 @@ adjustBrainLoss(80) nutrition = 9000 overeatduration = 9000 - confused = 30 + Confused(30) if(mind) mind.assigned_role = "Cluwne" @@ -44,8 +44,8 @@ adjustBrainLoss(-120) nutrition = NUTRITION_LEVEL_STARVING overeatduration = 0 - confused = 0 - jitteriness = 0 + SetConfused(0) + SetJitter(0) if(mind) mind.assigned_role = "Lawyer" diff --git a/code/datums/spells/inflict_handler.dm b/code/datums/spells/inflict_handler.dm index 9ddac0b0920..1eed65bbed4 100644 --- a/code/datums/spells/inflict_handler.dm +++ b/code/datums/spells/inflict_handler.dm @@ -50,8 +50,8 @@ target.Paralyse(amt_paralysis) target.Stun(amt_stunned) - target.eye_blind += amt_eye_blind - target.eye_blurry += amt_eye_blurry + target.AdjustEyeBlind(amt_eye_blind) + target.AdjustEyeBlurry(amt_eye_blurry) //summoning if(summon_type) - new summon_type(target.loc, target) \ No newline at end of file + new summon_type(target.loc, target) diff --git a/code/datums/supplypacks.dm b/code/datums/supplypacks.dm index 73c653369eb..7a8f05e08fc 100644 --- a/code/datums/supplypacks.dm +++ b/code/datums/supplypacks.dm @@ -581,7 +581,7 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine /obj/item/clothing/head/helmet/space, /obj/item/clothing/head/helmet/space, /obj/item/clothing/mask/breath, - /obj/item/clothing/mask/breath,) + /obj/item/clothing/mask/breath) cost = 30 containertype = /obj/structure/closet/crate/secure containername = "space suit crate" @@ -607,9 +607,8 @@ var/list/all_supply_groups = list(supply_emergency,supply_security,supply_engine name = "Thermo-Electric Generator Crate" contains = list( /obj/machinery/power/generator, - /obj/machinery/atmospherics/binary/circulator, - /obj/machinery/atmospherics/binary/circulator - ) + /obj/item/pipe/circulator, + /obj/item/pipe/circulator) cost = 25 containertype = /obj/structure/closet/crate/secure containername = "thermo-electric generator crate" diff --git a/code/defines/procs/announce.dm b/code/defines/procs/announce.dm index 62774ad61a7..6c9387644b0 100644 --- a/code/defines/procs/announce.dm +++ b/code/defines/procs/announce.dm @@ -62,7 +62,7 @@ /datum/announcement/proc/Message(message as text, message_title as text) for(var/mob/M in player_list) - if(!istype(M,/mob/new_player) && !isdeaf(M)) + if(M.can_hear()) to_chat(M, "
\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.")
- if(src.emagged)
- dat += text("
\nLOCKING SYSTEM ERROR - 1701") - if(src.l_setshort) - dat += text("
\nALERT: MEMORY SYSTEM ERROR - 6040 201") - message = text("[]", src.code) - if(!src.locked) - message = "*****" - dat += {"
\n5-DIGIT PASSCODE NOT SET.
ENTER NEW PASSCODE.")
+ if(emagged)
+ dat += text("
\nLOCKING SYSTEM ERROR - 1701") + if(l_setshort) + dat += text("
\nALERT: MEMORY SYSTEM ERROR - 6040 201") + message = text("[]", code) + if(!locked) + message = "*****" + dat += {"
Thermo-Electric Generator
" - - if(circ1 && circ2) - t += "Output : [round(lastgen)] W
" - - t += "Primary Circulator (top or right)
" - t += "Inlet Pressure: [round(circ1.air1.return_pressure(), 0.1)] kPa
" - t += "Inlet Temperature: [round(circ1.air1.temperature, 0.1)] K
" - t += "Outlet Pressure: [round(circ1.air2.return_pressure(), 0.1)] kPa
" - t += "Outlet Temperature: [round(circ1.air2.temperature, 0.1)] K
" - - t += "Secondary Circulator (bottom or left)
" - t += "Inlet Pressure: [round(circ2.air1.return_pressure(), 0.1)] kPa
" - t += "Inlet Temperature: [round(circ2.air1.temperature, 0.1)] K
" - t += "Outlet Pressure: [round(circ2.air2.return_pressure(), 0.1)] kPa
" - t += "Outlet Temperature: [round(circ2.air2.temperature, 0.1)] K
" - - else - t += "Unable to connect to circulators.
" - t += "Ensure both are in position and wrenched into place." - - t += "
" - t += "
" - t += "Refresh Close" - - user << browse(t, "window=teg;size=460x300") - onclose(user, "teg") + var/datum/browser/popup = new(user, "teg", "Thermo-Electric Generator", 460, 300) + popup.set_content(get_menu()) + popup.set_title_image(user.browse_rsc_icon(src.icon, src.icon_state)) + popup.open() return 1 - /obj/machinery/power/generator/Topic(href, href_list) - ..() + if(..()) + return 0 if( href_list["close"] ) usr << browse(null, "window=teg") usr.unset_machine() return 0 - - updateDialog() + if( href_list["check"] ) + if(!powernet || !cold_circ || !hot_circ) + connect() return 1 - /obj/machinery/power/generator/power_change() ..() - updateicon() - - -/obj/machinery/power/generator/verb/rotate_clock() - set category = "Object" - set name = "Rotate Generator (Clockwise)" - set src in view(1) - - if(usr.stat || usr.restrained() || anchored) - return - - src.dir = turn(src.dir, 90) - -/obj/machinery/power/generator/verb/rotate_anticlock() - set category = "Object" - set name = "Rotate Generator (Counterclockwise)" - set src in view(1) - - if(usr.stat || usr.restrained() || anchored) - return - - src.dir = turn(src.dir, -90) \ No newline at end of file + update_icon() \ No newline at end of file diff --git a/code/modules/power/generator_type2.dm b/code/modules/power/generator_type2.dm deleted file mode 100644 index d1ff1f1079c..00000000000 --- a/code/modules/power/generator_type2.dm +++ /dev/null @@ -1,143 +0,0 @@ -/obj/machinery/power/generator_type2 - name = "thermoelectric generator" - desc = "It's a high efficiency thermoelectric generator." - icon_state = "teg" - anchored = 1 - density = 1 - use_power = 0 - - var/obj/machinery/atmospherics/unary/generator_input/input1 - var/obj/machinery/atmospherics/unary/generator_input/input2 - - var/lastgen = 0 - var/lastgenlev = -1 - - var/image/overlay_image - -/obj/machinery/power/generator_type2/New() - ..() - spawn(5) - input1 = locate(/obj/machinery/atmospherics/unary/generator_input) in get_step(src,turn(dir, 90)) - input2 = locate(/obj/machinery/atmospherics/unary/generator_input) in get_step(src,turn(dir, -90)) - if(!input1 || !input2) - stat |= BROKEN - updateicon() - - -/obj/machinery/power/generator_type2/proc/updateicon() - - if(isnull(src.overlay_image)) - src.overlay_image = image('icons/obj/power.dmi') - - overlays.Cut() - if(!(stat & (NOPOWER|BROKEN))) - - if(lastgenlev != 0) - src.overlay_image.icon_state = "teg-op[lastgenlev]" - overlays += src.overlay_image - -#define GENRATE 800 // generator output coefficient from Q - - -/obj/machinery/power/generator_type2/process() - if(!input1 || !input2) - return - - var/datum/gas_mixture/air1 = input1.return_exchange_air() - var/datum/gas_mixture/air2 = input2.return_exchange_air() - - - lastgen = 0 - - if(air1 && air2) - var/datum/gas_mixture/hot_air = air1 - var/datum/gas_mixture/cold_air = air2 - if(hot_air.temperature < cold_air.temperature) - hot_air = air2 - cold_air = air1 - - var/hot_air_heat_capacity = hot_air.heat_capacity() - var/cold_air_heat_capacity = cold_air.heat_capacity() - - var/delta_temperature = hot_air.temperature - cold_air.temperature - - if(delta_temperature > 1 && cold_air_heat_capacity > 0.01 && hot_air_heat_capacity > 0.01) - var/efficiency = (1 - cold_air.temperature/hot_air.temperature)*0.65 //65% of Carnot efficiency - - var/energy_transfer = delta_temperature*hot_air_heat_capacity*cold_air_heat_capacity/(hot_air_heat_capacity+cold_air_heat_capacity) - - var/heat = energy_transfer*(1-efficiency) - lastgen = energy_transfer*efficiency - - hot_air.temperature = hot_air.temperature - energy_transfer/hot_air_heat_capacity - cold_air.temperature = cold_air.temperature + heat/cold_air_heat_capacity - -// to_chat(world, "POWER: [lastgen] W generated at [efficiency*100]% efficiency and sinks sizes [cold_air_heat_capacity], [hot_air_heat_capacity]") - - input1.parent.update = 1 - input2.parent.update = 1 - - add_avail(lastgen) - // update icon overlays only if displayed level has changed - - var/genlev = max(0, min( round(11*lastgen / 100000), 11)) - if(genlev != lastgenlev) - lastgenlev = genlev - updateicon() - - src.updateDialog() - - -/obj/machinery/power/generator_type2/attack_ai(mob/user) - if(stat & (BROKEN|NOPOWER)) return - interact(user) - - -/obj/machinery/power/generator_type2/attack_hand(mob/user) - add_fingerprint(user) - if(stat & (BROKEN|NOPOWER)) return - interact(user) - - -/obj/machinery/power/generator_type2/interact(mob/user) - if( (get_dist(src, user) > 1 ) && (!istype(user, /mob/living/silicon/ai))) - user.unset_machine() - user << browse(null, "window=teg") - return - - user.set_machine(src) - - var/t = "Thermo-Electric Generator" - user << browse(t, "window=teg;size=460x300") - onclose(user, "teg") - return 1 - - -/obj/machinery/power/generator_type2/Topic(href, href_list) - ..() - - if( href_list["close"] ) - usr << browse(null, "window=teg") - usr.unset_machine() - return 0 - - return 1 - - -/obj/machinery/power/generator_type2/power_change() - ..() - updateicon() \ No newline at end of file diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 0f6d41fc145..420733f7c76 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -122,7 +122,7 @@ if(ishuman(mob)) //Hilariously enough, running into a closet should make you get hit the hardest. var/mob/living/carbon/human/H = mob - H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) ) + H.AdjustHallucinate(max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1))))) var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(mob, src) + 1) ) mob.apply_effect(rads, IRRADIATE) @@ -189,7 +189,7 @@ var/obj/item/organ/internal/eyes/eyes = l.get_int_organ(/obj/item/organ/internal/eyes) if(!istype(eyes)) continue - l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) ) + l.Hallucinate(min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src))))) for(var/mob/living/l in range(src, round((power / 100) ** 0.25))) var/rads = (power / 10) * sqrt( 1 / max(get_dist(l, src),1) ) diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index 0ae9b10752e..275e2ec94e5 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -23,18 +23,18 @@ /obj/item/projectile/bullet/weakbullet/booze/on_hit(atom/target, blocked = 0) if(..(target, blocked)) var/mob/living/M = target - M.dizziness += 20 - M.slurring += 20 - M.confused += 20 - M.eye_blurry += 20 - M.drowsyness += 20 + M.AdjustDizzy(20) + M.AdjustSlur(20) + M.AdjustConfused(20) + M.AdjustEyeBlurry(20) + M.AdjustDrowsy(20) for(var/datum/reagent/ethanol/A in M.reagents.reagent_list) M.AdjustParalysis(2) - M.dizziness += 10 - M.slurring += 10 - M.confused += 10 - M.eye_blurry += 10 - M.drowsyness += 10 + M.AdjustDizzy(10) + M.AdjustSlur(10) + M.AdjustConfused(10) + M.AdjustEyeBlurry(10) + M.AdjustDrowsy(10) A.volume += 5 //Because we can /obj/item/projectile/bullet/weakbullet2 //detective revolver instastuns, but multiple shots are better for keeping punks down @@ -216,7 +216,7 @@ ..(target, blocked) if(iscarbon(target)) var/mob/living/carbon/M = target - M.silent = max(M.silent, 10) + M.Silence(10) else if(istype(target, /obj/mecha/combat/honker)) var/obj/mecha/chassis = target chassis.occupant_message("A mimetech anti-honk bullet has hit \the [chassis]!") diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm index 0e1b7478cc8..bcc4335f66a 100644 --- a/code/modules/projectiles/projectile/special.dm +++ b/code/modules/projectiles/projectile/special.dm @@ -186,7 +186,7 @@ if(ishuman(target)) var/mob/living/carbon/human/M = target M.adjustBrainLoss(20) - M.hallucination += 20 + M.AdjustHallucinate(20) /obj/item/projectile/clown name = "snap-pop" diff --git a/code/modules/reagents/newchem/Blob-Reagents.dm b/code/modules/reagents/newchem/Blob-Reagents.dm index fa5e9747e34..a7cfa32f403 100644 --- a/code/modules/reagents/newchem/Blob-Reagents.dm +++ b/code/modules/reagents/newchem/Blob-Reagents.dm @@ -61,7 +61,7 @@ volume = ..() M.apply_damage(0.4*volume, BRUTE) M.apply_damage(1*volume, OXY) - M.losebreath += round(0.3*volume) + M.AdjustLoseBreath(round(0.3*volume)) /datum/reagent/blob/kinetic //does semi-random brute damage diff --git a/code/modules/reagents/newchem/disease.dm b/code/modules/reagents/newchem/disease.dm index def94ba9a2c..cdc2d0b8d43 100644 --- a/code/modules/reagents/newchem/disease.dm +++ b/code/modules/reagents/newchem/disease.dm @@ -131,12 +131,12 @@ color = "#EC536D" // rgb: 236, 83, 109 /datum/reagent/synaphydramine/on_mob_life(mob/living/M) - M.drowsyness = max(M.drowsyness-5, 0) + M.AdjustDrowsy(-5) if(holder.has_reagent("lsd")) holder.remove_reagent("lsd", 5) if(holder.has_reagent("histamine")) holder.remove_reagent("histamine", 5) - M.hallucination = max(0, M.hallucination - 10) + M.AdjustHallucinate(-10) if(prob(30)) M.adjustToxLoss(1) ..() @@ -317,4 +317,4 @@ if(B && B.data) var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"] if(D) - D.Devolve() \ No newline at end of file + D.Devolve() diff --git a/code/modules/reagents/newchem/drinks.dm b/code/modules/reagents/newchem/drinks.dm index b1f789b7f22..da07f7a995f 100644 --- a/code/modules/reagents/newchem/drinks.dm +++ b/code/modules/reagents/newchem/drinks.dm @@ -15,7 +15,7 @@ mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' /datum/reagent/ginsonic/on_mob_life(mob/living/M) - M.drowsyness = max(0, M.drowsyness-5) + M.AdjustDrowsy(-5) if(prob(25)) M.AdjustParalysis(-1) M.AdjustStunned(-1) diff --git a/code/modules/reagents/newchem/drugs.dm b/code/modules/reagents/newchem/drugs.dm index 99a637e4fca..bc5b10be569 100644 --- a/code/modules/reagents/newchem/drugs.dm +++ b/code/modules/reagents/newchem/drugs.dm @@ -30,7 +30,7 @@ if(severity == 1) if(effect <= 2) M.visible_message("[M] looks nervous!") - M.confused += 15 + M.AdjustConfused(15) M.adjustToxLoss(2) M.Jitter(10) M.emote("twitch_s") @@ -55,7 +55,7 @@ M.Jitter(10) M.adjustToxLoss(5) M.Weaken(1) - M.confused += 33 + M.AdjustConfused(33) else if(effect <= 7) M.emote("collapse") to_chat(M, "Your heart is pounding!") @@ -90,7 +90,7 @@ if(prob(4)) to_chat(M, "You feel kinda awful!") M.adjustToxLoss(1) - M.jitteriness += 30 + M.AdjustJitter(30) M.emote(pick("groan", "moan")) ..() @@ -99,7 +99,7 @@ if(severity == 1) if(effect <= 2) M.visible_message("[M] looks confused!") - M.confused += 20 + M.AdjustConfused(20) M.Jitter(20) M.emote("scream") else if(effect <= 4) @@ -123,7 +123,7 @@ M.adjustToxLoss(2) M.adjustBrainLoss(8) M.Weaken(3) - M.confused += 25 + M.AdjustConfused(25) M.emote("scream") M.reagents.add_reagent("jagged_crystals", 5) else if(effect <= 7) @@ -160,7 +160,7 @@ /datum/reagent/krokodil/on_mob_life(mob/living/M) - M.jitteriness -= 40 + M.AdjustJitter(-40) if(prob(25)) M.adjustBrainLoss(1) if(prob(15)) @@ -241,8 +241,8 @@ if(prob(5)) M.emote(pick("twitch_s","blink_r","shiver")) if(current_cycle >= 25) - M.jitteriness += 5 - M.drowsyness = max(0, M.drowsyness-10) + M.AdjustJitter(5) + M.AdjustDrowsy(-10) M.AdjustParalysis(-2.5) M.AdjustStunned(-2.5) M.AdjustWeakened(-2.5) @@ -262,7 +262,7 @@ if(severity == 1) if(effect <= 2) M.visible_message("[M] can't seem to control their legs!") - M.confused += 20 + M.AdjustConfused(20) M.Weaken(4) else if(effect <= 4) M.visible_message("[M]'s hands flip out and flail everywhere!") @@ -296,7 +296,7 @@ for(var/mob/living/carbon/C in range(T, 1)) if(C.can_breathe_gas()) C.emote("gasp") - C.losebreath++ + C.AdjustLoseBreath(1) C.reagents.add_reagent("toxin", 10) C.reagents.add_reagent("neurotoxin2", 20) @@ -342,15 +342,15 @@ M.SetWeakened(0) if(check < 30) M.emote(pick("twitch", "twitch_s", "scream", "drool", "grumble", "mumble")) - M.druggy = max(M.druggy, 15) + M.Druggy(15) if(check < 20) - M.confused += 10 + M.AdjustConfused(10) if(check < 8) M.reagents.add_reagent(pick("methamphetamine", "crank", "neurotoxin"), rand(1,5)) M.visible_message("[M] scratches at something under their skin!") M.adjustBruteLoss(5) else if(check < 16) - M.hallucination += 30 + M.AdjustHallucinate(30) else if(check < 24) to_chat(M, "They're coming for you!") else if(check < 28) @@ -373,7 +373,7 @@ if(severity == 1) if(effect <= 2) M.visible_message("[M] flails around like a lunatic!") - M.confused += 25 + M.AdjustConfused(25) M.Jitter(10) M.emote("scream") M.reagents.add_reagent("jagged_crystals", 5) @@ -383,7 +383,7 @@ M.adjustToxLoss(2) M.adjustBrainLoss(1) M.Stun(3) - M.eye_blurry = max(M.eye_blurry, 7) + M.EyeBlurry(7) M.reagents.add_reagent("jagged_crystals", 5) else if(effect <= 7) M.emote("faint") @@ -394,7 +394,7 @@ M.adjustToxLoss(2) M.adjustBrainLoss(1) M.Stun(3) - M.eye_blurry = max(M.eye_blurry, 7) + M.EyeBlurry(7) M.reagents.add_reagent("jagged_crystals", 5) else if(effect <= 4) M.visible_message("[M] convulses violently and falls to the floor!") @@ -479,7 +479,7 @@ to_chat(M, "You cannot breathe!") M.adjustOxyLoss(15) M.Stun(1) - M.losebreath++ + M.AdjustLoseBreath(1) ..() /datum/reagent/thc @@ -497,10 +497,10 @@ if(prob(5)) to_chat(M, "[pick("You feel hungry.","Your stomach rumbles.","You feel cold.","You feel warm.")]") if(prob(4)) - M.confused = max(M.confused, 10) + M.Confused(10) if(volume >= 50 && prob(25)) if(prob(10)) - M.drowsyness = max(M.drowsyness, 10) + M.Drowsy(10) ..() /datum/reagent/fliptonium @@ -545,7 +545,7 @@ if(current_cycle == 50) M.SpinAnimation(speed = 4, loops = -1) - M.drowsyness = max(0, M.drowsyness-6) + M.AdjustDrowsy(-6) M.AdjustParalysis(-1.5) M.AdjustStunned(-1.5) M.AdjustWeakened(-1.5) @@ -561,7 +561,7 @@ if(severity == 1) if(effect <= 2) M.visible_message("[M] can't seem to control their legs!") - M.confused += 33 + M.AdjustConfused(33) M.Weaken(2) else if(effect <= 4) M.visible_message("[M]'s hands flip out and flail everywhere!") @@ -655,7 +655,7 @@ /datum/reagent/surge/on_mob_life(mob/living/M) - M.druggy = max(M.druggy, 15) + M.Druggy(15) var/high_message = pick("You feel calm.", "You feel collected.", "You feel like you need to relax.") if(prob(1)) if(prob(1)) diff --git a/code/modules/reagents/newchem/medicine.dm b/code/modules/reagents/newchem/medicine.dm index 777c10ebfd7..a84ac83f385 100644 --- a/code/modules/reagents/newchem/medicine.dm +++ b/code/modules/reagents/newchem/medicine.dm @@ -167,7 +167,7 @@ M.adjustBruteLoss(-2*REM) M.adjustFireLoss(-2*REM) if(prob(50)) - M.losebreath -= 1 + M.AdjustLoseBreath(-1) ..() /datum/reagent/omnizine/overdose_process(mob/living/M, severity) @@ -181,7 +181,7 @@ M.Weaken(4) else if(effect <= 3) M.visible_message("[M] completely spaces out for a moment.") - M.confused += 15 + M.AdjustConfused(15) else if(effect <= 5) M.visible_message("[M] stumbles and staggers.") M.Dizzy(5) @@ -317,7 +317,7 @@ /datum/reagent/salbutamol/on_mob_life(mob/living/M) M.adjustOxyLoss(-6*REM) - M.losebreath = max(0, M.losebreath-4) + M.AdjustLoseBreath(-4) ..() /datum/chemical_reaction/salbutamol @@ -341,8 +341,8 @@ /datum/reagent/perfluorodecalin/on_mob_life(mob/living/carbon/human/M) M.adjustOxyLoss(-25*REM) if(volume >= 4) - M.losebreath = max(M.losebreath, 6) - M.silent = max(M.silent, 6) + M.LoseBreath(6) + M.Silence(6) if(prob(33)) M.adjustBruteLoss(-1*REM) M.adjustFireLoss(-1*REM) @@ -369,13 +369,12 @@ addiction_chance = 25 /datum/reagent/ephedrine/on_mob_life(mob/living/M) - M.drowsyness = max(0, M.drowsyness-5) + M.AdjustDrowsy(-5) M.AdjustParalysis(-1) M.AdjustStunned(-1) M.AdjustWeakened(-1) M.adjustStaminaLoss(-1*REM) - if(M.losebreath > 5) - M.losebreath = max(5, M.losebreath-1) + M.AdjustLoseBreath(-1, bound_lower = 5) if(M.oxyloss > 75) M.adjustOxyLoss(-1) if(M.health < 0 || M.health > 0 && prob(33)) @@ -422,14 +421,14 @@ addiction_chance = 10 /datum/reagent/diphenhydramine/on_mob_life(mob/living/M) - M.jitteriness = max(0, M.jitteriness-20) + M.AdjustJitter(-20) M.reagents.remove_reagent("histamine",3) M.reagents.remove_reagent("itching_powder",3) if(prob(7)) M.emote("yawn") if(prob(3)) M.Stun(2) - M.drowsyness += 1 + M.AdjustDrowsy(1) M.visible_message("[M] looks a bit dazed.") ..() @@ -453,16 +452,16 @@ shock_reduction = 50 /datum/reagent/morphine/on_mob_life(mob/living/M) - M.jitteriness = max(0, M.jitteriness-25) + M.AdjustJitter(-25) switch(current_cycle) if(1 to 15) if(prob(7)) M.emote("yawn") if(16 to 35) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) if(36 to INFINITY) M.Paralyse(15) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) if(ishuman(M)) var/mob/living/carbon/human/H = M if(H.traumatic_shock < 100) @@ -476,16 +475,16 @@ var/obj/item/organ/internal/eyes/E = H.get_int_organ(/obj/item/organ/internal/eyes) if(istype(E)) E.damage = max(E.damage-1, 0) - M.eye_blurry = max(M.eye_blurry-1 , 0) - M.adjustEarDamage(-1,0) + M.AdjustEyeBlurry(-1) + M.AdjustEarDamage(-1) if(prob(50)) - M.disabilities &= ~NEARSIGHTED + M.CureNearsighted() if(prob(30)) - M.disabilities &= ~BLIND - M.eye_blind = 0 + M.CureBlind() + M.SetEyeBlind(0) if(M.ear_damage <= 25) if(prob(30)) - M.setEarDamage(-1,0) + M.SetEarDeaf(0) ..() /datum/chemical_reaction/oculine @@ -515,12 +514,11 @@ overdose_threshold = 25 /datum/reagent/atropine/on_mob_life(mob/living/M) - M.dizziness += 1 - M.confused = max(M.confused, 5) + M.AdjustDizzy(1) + M.Confused(5) if(prob(4)) M.emote("collapse") - if(M.losebreath > 5) - M.losebreath = max(5, M.losebreath-5) + M.AdjustLoseBreath(-5, bound_lower = 5) if(M.oxyloss > 65) M.adjustOxyLoss(-10*REM) if(M.health < -25) @@ -550,7 +548,7 @@ overdose_threshold = 20 /datum/reagent/epinephrine/on_mob_life(mob/living/M) - M.drowsyness = max(0, M.drowsyness-5) + M.AdjustDrowsy(-5) if(prob(20)) M.AdjustParalysis(-1) if(prob(20)) @@ -562,8 +560,7 @@ if(prob(5)) M.adjustBrainLoss(-1) holder.remove_reagent("histamine", 15) - if(M.losebreath > 3) - M.losebreath-- + M.AdjustLoseBreath(-1, bound_lower = 3) if(M.oxyloss > 35) M.adjustOxyLoss(-10*REM) if(M.health < -10 && M.health > -65) @@ -694,7 +691,7 @@ color = "#D1D1F1" /datum/reagent/mutadone/on_mob_life(mob/living/carbon/human/M) - M.jitteriness = 0 + M.SetJitter(0) var/needs_update = M.mutations.len > 0 || M.disabilities > 0 if(needs_update) @@ -733,7 +730,7 @@ color = "#009CA8" /datum/reagent/antihol/on_mob_life(mob/living/M) - M.slurring = 0 + M.SetSlur(0) M.AdjustDrunk(-4) M.reagents.remove_all_type(/datum/reagent/ethanol, 8, 0, 1) if(M.toxloss <= 25) @@ -763,10 +760,10 @@ M.adjustBruteLoss(-10*REM) M.adjustFireLoss(-10*REM) M.setStaminaLoss(0) - M.slowed = 0 - M.dizziness = max(0,M.dizziness-10) - M.drowsyness = max(0,M.drowsyness-10) - M.confused = 0 + M.SetSlowed(0) + M.AdjustDizzy(-10) + M.AdjustDrowsy(-10) + M.SetConfused(0) M.SetSleeping(0) var/status = CANSTUN | CANWEAKEN | CANPARALYSE M.status_flags &= ~status @@ -811,7 +808,7 @@ if(prob(33)) M.adjustStaminaLoss(2.5*REM) M.adjustToxLoss(1*REM) - M.losebreath++ + M.AdjustLoseBreath(1) /datum/reagent/insulin name = "Insulin" @@ -882,11 +879,11 @@ M.reagents.remove_reagent("bath_salts", 5) M.reagents.remove_reagent("lsd", 5) M.reagents.remove_reagent("thc", 5) - M.druggy -= 5 - M.hallucination -= 5 - M.jitteriness -= 5 + M.AdjustDruggy(-5) + M.AdjustHallucinate(-5) + M.AdjustJitter(-5) if(prob(50)) - M.drowsyness = max(M.drowsyness, 3) + M.Drowsy(3) if(prob(10)) M.emote("drool") if(prob(20)) @@ -910,16 +907,16 @@ color = "#96DEDE" /datum/reagent/ether/on_mob_life(mob/living/M) - M.jitteriness = max(M.jitteriness-25,0) + M.AdjustJitter(-25) switch(current_cycle) if(1 to 15) if(prob(7)) M.emote("yawn") if(16 to 35) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) if(36 to INFINITY) M.Paralyse(15) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) ..() /datum/chemical_reaction/ether @@ -960,7 +957,7 @@ M.AdjustParalysis(-1) M.AdjustStunned(-1) M.AdjustWeakened(-1) - M.confused = max(0, M.confused-5) + M.AdjustConfused(-5) for(var/datum/reagent/R in M.reagents.reagent_list) if(R != src) if(R.id == "ultralube" || R.id == "lube") @@ -1037,7 +1034,7 @@ M.Weaken(4) else if(effect <= 3) M.visible_message("[M] completely spaces out for a moment.") - M.confused += 15 + M.AdjustConfused(15) else if(effect <= 5) M.visible_message("[M] stumbles and staggers.") M.Dizzy(5) diff --git a/code/modules/reagents/newchem/pyro.dm b/code/modules/reagents/newchem/pyro.dm index 6dece72544c..05ecb1b1206 100644 --- a/code/modules/reagents/newchem/pyro.dm +++ b/code/modules/reagents/newchem/pyro.dm @@ -356,12 +356,13 @@ if(!ear_safety) M.Stun(max(10/distance, 3)) M.Weaken(max(10/distance, 3)) - M.setEarDamage(M.ear_damage + rand(0, 5), max(M.ear_deaf,15)) + M.AdjustEarDamage(rand(0, 5)) + M.EarDeaf(15) if(M.ear_damage >= 15) to_chat(M, "Your ears start to ring badly!") - if(prob(M.ear_damage - 10 + 5)) + if(prob(M.ear_damage - 5)) to_chat(M, "You can't hear anything!") - M.disabilities |= DEAF + M.BecomeDeaf() else if(M.ear_damage >= 5) to_chat(M, "Your ears start to ring!") @@ -384,10 +385,11 @@ if(!ear_safety) M.Stun(max(10/distance, 3)) M.Weaken(max(10/distance, 3)) - M.setEarDamage(M.ear_damage + rand(0, 5), max(M.ear_deaf,15)) + M.AdjustEarDamage(rand(0, 5)) + M.EarDeaf(15) if(M.ear_damage >= 15) to_chat(M, "Your ears start to ring badly!") - if(prob(M.ear_damage - 10 + 5)) + if(prob(M.ear_damage - 5)) to_chat(M, "You can't hear anything!") M.disabilities |= DEAF else @@ -619,4 +621,4 @@ if(method == TOUCH) M.adjust_fire_stacks(volume / 5) return - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/newchem/toxins.dm b/code/modules/reagents/newchem/toxins.dm index 56d64d9a62e..d8e8205b1f7 100644 --- a/code/modules/reagents/newchem/toxins.dm +++ b/code/modules/reagents/newchem/toxins.dm @@ -41,7 +41,7 @@ if(prob(10)) to_chat(M, "Your eyes itch.") M.emote(pick("blink", "sneeze")) - M.eye_blurry += 3 + M.AdjustEyeBlurry(3) if(prob(10)) M.visible_message("[M] scratches at an itch.") M.adjustBruteLoss(1) @@ -141,7 +141,7 @@ if(prob(4)) M.visible_message("[M] starts convulsing violently!", "You feel as if your body is tearing itself apart!") M.Weaken(15) - M.jitteriness += 1000 + M.AdjustJitter(1000) spawn(rand(20, 100)) M.gib() @@ -159,19 +159,19 @@ current_cycle++ return if(5 to 8) - M.dizziness += 1 - M.confused = max(M.confused, 10) + M.AdjustDizzy(1) + M.Confused(10) if(9 to 12) - M.drowsyness = max(M.drowsyness, 10) - M.dizziness += 1 - M.confused = max(M.confused, 20) + M.Drowsy(10) + M.AdjustDizzy(1) + M.Confused(20) if(13) M.emote("faint") if(14 to INFINITY) M.Paralyse(10) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) - M.jitteriness = max(0, M.jitteriness-30) + M.AdjustJitter(-30) if(M.getBrainLoss() <= 80) M.adjustBrainLoss(1) else @@ -207,7 +207,7 @@ M.emote("drool") if(prob(10)) to_chat(M, "You cannot breathe!") - M.losebreath += 1 + M.AdjustLoseBreath(1) M.emote("gasp") if(prob(8)) to_chat(M, "You feel horrendously weak!") @@ -261,7 +261,7 @@ to_chat(M, "AHHHHHH!") M.adjustBruteLoss(5) M.Weaken(5) - M.jitteriness += 6 + M.AdjustJitter(6) M.visible_message("[M] falls to the floor, scratching themselves violently!") M.emote("scream") ..() @@ -364,11 +364,11 @@ if(prob(10)) to_chat(M, "You cannot breathe!") M.adjustOxyLoss(10) - M.losebreath++ + M.AdjustLoseBreath(1) if(prob(10)) to_chat(M, "Your chest is burning with pain!") M.adjustOxyLoss(10) - M.losebreath++ + M.AdjustLoseBreath(1) M.Stun(3) M.Weaken(2) if(ishuman(M)) @@ -425,12 +425,12 @@ M.Weaken(20) if(prob(10)) M.emote(pick("drool", "tremble", "gasp")) - M.losebreath++ + M.AdjustLoseBreath(1) if(prob(9)) to_chat(M, "You can't [pick("move", "feel your legs", "feel your face", "feel anything")]!") if(prob(7)) to_chat(M, "You can't breathe!") - M.losebreath += 3 + M.AdjustLoseBreath(3) ..() /datum/reagent/sodium_thiopental @@ -445,15 +445,15 @@ switch(current_cycle) if(1) M.emote("drool") - M.confused = max(M.confused, 5) + M.Confused(5) if(2 to 4) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) if(5) M.emote("faint") M.Weaken(5) if(6 to INFINITY) M.Paralyse(20) - M.jitteriness = max(0, M.jitteriness-50) + M.AdjustJitter(-50) if(prob(10)) M.emote("drool") M.adjustBrainLoss(1) @@ -474,7 +474,7 @@ if(prob(25)) M.emote("yawn") if(6 to 9) - M.eye_blurry += 5 + M.AdjustEyeBlurry(5) if(prob(35)) M.emote("yawn") if(10) @@ -502,20 +502,20 @@ mix_sound = 'sound/goonstation/misc/drinkfizz.ogg' /datum/reagent/sulfonal/on_mob_life(mob/living/M) - M.jitteriness = max(0, M.jitteriness-30) + M.AdjustJitter(-30) switch(current_cycle) if(1 to 10) if(prob(7)) M.emote("yawn") if(11 to 20) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) if(21) M.emote("faint") if(22 to INFINITY) if(prob(20)) M.emote("faint") M.Paralyse(5) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) M.adjustToxLoss(1) ..() @@ -570,7 +570,7 @@ /datum/reagent/coniine/on_mob_life(mob/living/M) M.adjustToxLoss(2) - M.losebreath += 5 + M.AdjustLoseBreath(5) ..() /datum/reagent/curare @@ -590,7 +590,7 @@ if(prob(20)) M.emote(pick("drool", "pale", "gasp")) if(6 to 10) - M.eye_blurry += 5 + M.AdjustEyeBlurry(5) if(prob(8)) to_chat(M, "You feel [pick("weak", "horribly weak", "numb", "like you can barely move", "tingly")].") M.Stun(1) @@ -598,12 +598,12 @@ M.emote(pick("drool","pale", "gasp")) if(11 to INFINITY) M.Stun(30) - M.drowsyness = max(M.drowsyness, 20) + M.Drowsy(20) if(prob(20)) M.emote(pick("drool", "faint", "pale", "gasp", "collapse")) else if(prob(8)) to_chat(M, "You can't [pick("breathe", "move", "feel your legs", "feel your face", "feel anything")]!") - M.losebreath++ + M.AdjustLoseBreath(1) ..() /datum/reagent/sarin @@ -636,22 +636,22 @@ /datum/reagent/sarin/on_mob_life(mob/living/M) switch(current_cycle) if(1 to 15) - M.jitteriness += 20 + M.AdjustJitter(20) if(prob(20)) M.emote(pick("twitch","twitch_s","quiver")) if(16 to 30) if(prob(25)) M.emote(pick("twitch","twitch","drool","quiver","tremble")) - M.eye_blurry += 5 - M.stuttering = max(M.stuttering, 5) + M.AdjustEyeBlurry(5) + M.Stuttering(5) if(prob(10)) - M.confused = max(M.confused, 15) + M.Confused(15) if(prob(15)) M.Stun(1) M.emote("scream") if(30 to 60) - M.eye_blurry += 5 - M.stuttering = max(M.stuttering, 5) + M.AdjustEyeBlurry(5) + M.Stuttering(5) if(prob(10)) M.Stun(1) M.emote(pick("twitch","twitch","drool","shake","tremble")) @@ -660,15 +660,15 @@ if(prob(5)) M.Weaken(3) M.visible_message("[M] has a seizure!") - M.jitteriness = 1000 + M.SetJitter(1000) if(prob(5)) to_chat(M, "You can't breathe!") M.emote(pick("gasp", "choke", "cough")) - M.losebreath++ + M.AdjustLoseBreath(1) if(61 to INFINITY) if(prob(15)) M.emote(pick("gasp", "choke", "cough","twitch", "shake", "tremble","quiver","drool", "twitch","collapse")) - M.losebreath = max(5, M.losebreath + 5) + M.LoseBreath(5) M.adjustToxLoss(1) M.adjustBrainLoss(1) M.Weaken(4) @@ -754,16 +754,16 @@ /datum/reagent/capulettium/on_mob_life(mob/living/M) switch(current_cycle) if(1 to 5) - M.eye_blurry += 10 + M.AdjustEyeBlurry(10) if(6 to 10) - M.drowsyness = max(M.drowsyness, 10) + M.Drowsy(10) if(11) M.Paralyse(10) M.visible_message("[M] seizes up and falls limp, their eyes dead and lifeless...") //so you can't trigger deathgasp emote on people. Edge case, but necessary. if(12 to 60) M.Paralyse(10) if(61 to INFINITY) - M.eye_blurry += 10 + M.AdjustEyeBlurry(10) ..() /datum/reagent/capulettium_plus @@ -783,7 +783,7 @@ mix_message = "The solution begins to slosh about violently by itself." /datum/reagent/capulettium_plus/on_mob_life(mob/living/M) - M.silent = max(M.silent, 2) + M.Silence(2) ..() /datum/reagent/toxic_slurry @@ -884,4 +884,4 @@ var/location = get_turf(holder.my_atom) var/datum/effect/system/spark_spread/s = new /datum/effect/system/spark_spread s.set_up(6, 1, location) - s.start() \ No newline at end of file + s.start() diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm index da92ffee0f2..e337aa10e1f 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_alcohol.dm @@ -13,7 +13,7 @@ /datum/reagent/ethanol/on_mob_life(mob/living/M) M.nutrition += nutriment_factor M.AdjustDrunk(alcohol_perc) - M.dizziness += dizzy_adj + M.AdjustDizzy(dizzy_adj) ..() @@ -84,7 +84,7 @@ //copy paste from LSD... shoot me /datum/reagent/ethanol/absinthe/on_mob_life(mob/living/M) - M.hallucination += 5 + M.AdjustHallucinate(5) ..() /datum/reagent/ethanol/absinthe/overdose_process(mob/living/M, severity) @@ -97,10 +97,7 @@ color = "#664300" // rgb: 102, 67, 0 overdose_threshold = 30 alcohol_perc = 0.4 - -/datum/reagent/ethanol/rum/on_mob_life(mob/living/M) - M.dizziness +=5 - ..() + dizzy_adj = 5 /datum/reagent/ethanol/rum/overdose_process(mob/living/M, severity) M.adjustToxLoss(1) @@ -182,7 +179,7 @@ /datum/reagent/ethanol/thirteenloko/on_mob_life(mob/living/M) M.nutrition += nutriment_factor - M.drowsyness = max(0, M.drowsyness-7) + M.AdjustDrowsy(-7) M.AdjustSleeping(-2) if(M.bodytemperature > 310) M.bodytemperature = max(310, M.bodytemperature - (5 * TEMPERATURE_DAMAGE_COEFFICIENT)) @@ -625,7 +622,7 @@ /datum/reagent/ethanol/neurotoxin/on_mob_life(mob/living/M) M.weakened = max(M.weakened, 3) if(current_cycle >=55) - M.druggy = max(M.druggy, 55) + M.Druggy(55) if(current_cycle >=200) M.adjustToxLoss(2) ..() @@ -637,10 +634,7 @@ reagent_state = LIQUID color = "#2E6671" // rgb: 46, 102, 113 alcohol_perc = 0.7 - -/datum/reagent/ethanol/changelingsting/on_mob_life(mob/living/M) - M.dizziness +=5 - ..() + dizzy_adj = 5 /datum/reagent/ethanol/irishcarbomb name = "Irish Car Bomb" @@ -649,10 +643,7 @@ reagent_state = LIQUID color = "#2E6671" // rgb: 46, 102, 113 alcohol_perc = 0.3 - -/datum/reagent/ethanol/irishcarbomb/on_mob_life(mob/living/M) - M.dizziness +=5 - ..() + dizzy_adj = 5 /datum/reagent/ethanol/syndicatebomb name = "Syndicate Bomb" @@ -677,9 +668,9 @@ nutriment_factor = 1 * FOOD_METABOLISM color = "#2E6671" // rgb: 46, 102, 113 alcohol_perc = 0.5 + dizzy_adj = 10 /datum/reagent/ethanol/driestmartini/on_mob_life(mob/living/M) - M.dizziness +=10 if(current_cycle >= 55 && current_cycle < 115) M.stuttering += 10 ..() @@ -692,8 +683,8 @@ alcohol_perc = 0.2 /datum/reagent/ethanol/kahlua/on_mob_life(mob/living/M) - M.dizziness = max(0, M.dizziness-5) - M.drowsyness = max(0, M.drowsyness-3) + M.AdjustDizzy(-5) + M.AdjustDrowsy(-3) M.AdjustSleeping(-2) M.Jitter(5) - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_drink.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_drink.dm index 26bad6c1665..869e9295bf5 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_drink.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_drink.dm @@ -38,8 +38,8 @@ color = "#973800" // rgb: 151, 56, 0 /datum/reagent/drink/carrotjuicde/on_mob_life(mob/living/M) - M.eye_blurry = max(M.eye_blurry-1 , 0) - M.eye_blind = max(M.eye_blind-1 , 0) + M.AdjustEyeBlurry(-1) + M.AdjustEyeBlind(-1) switch(current_cycle) if(1 to 20) //nothing @@ -282,4 +282,4 @@ if(ishuman(M) && M.job in list("Mime")) M.adjustBruteLoss(-1) M.adjustFireLoss(-1) - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_drink_base.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_drink_base.dm index 1868489adb7..6e30efb9423 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_drink_base.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_drink_base.dm @@ -14,9 +14,9 @@ /datum/reagent/drink/on_mob_life(mob/living/M) M.nutrition += nutriment_factor if(adj_dizzy) - M.dizziness = max(0, M.dizziness + adj_dizzy) + M.AdjustDizzy(adj_dizzy) if(adj_drowsy) - M.drowsyness = max(0, M.drowsyness + adj_drowsy) + M.AdjustDrowsy(adj_drowsy) if(adj_sleepy) M.AdjustSleeping(adj_sleepy) if(adj_temp_hot) @@ -25,4 +25,4 @@ if(adj_temp_cool) if(M.bodytemperature > 310)//310 is the normal bodytemp. 310.055 M.bodytemperature = max(310, M.bodytemperature - (adj_temp_cool * TEMPERATURE_DAMAGE_COEFFICIENT)) - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/oldchem/reagents/drink/reagents_drink_cold.dm b/code/modules/reagents/oldchem/reagents/drink/reagents_drink_cold.dm index fe54ed97246..26164571769 100644 --- a/code/modules/reagents/oldchem/reagents/drink/reagents_drink_cold.dm +++ b/code/modules/reagents/oldchem/reagents/drink/reagents_drink_cold.dm @@ -48,9 +48,9 @@ /datum/reagent/drink/cold/nuka_cola/on_mob_life(mob/living/M) M.Jitter(20) - M.druggy = max(M.druggy, 30) - M.dizziness +=5 - M.drowsyness = 0 + M.Druggy(30) + M.AdjustDizzy(5) + M.SetDrowsy(0) M.status_flags |= GOTTAGOFAST ..() @@ -121,4 +121,4 @@ /datum/reagent/drink/cold/rewriter/on_mob_life(mob/living/M) M.Jitter(5) - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/oldchem/reagents/reagents_admin.dm b/code/modules/reagents/oldchem/reagents/reagents_admin.dm index ccc617d2aaa..09636bd111f 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_admin.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_admin.dm @@ -14,7 +14,6 @@ M.adjustBruteLoss(-5) M.adjustFireLoss(-5) M.adjustToxLoss(-5) - M.hallucination = 0 M.setBrainLoss(0) if(ishuman(M)) var/mob/living/carbon/human/H = M @@ -24,20 +23,28 @@ for(var/obj/item/organ/external/E in H.organs) if(E.mend_fracture()) E.perma_injury = 0 - M.disabilities = 0 - M.eye_blurry = 0 - M.eye_blind = 0 + M.SetEyeBlind(0) + M.CureNearsighted() + M.CureBlind() + M.CureMute() + M.CureDeaf() + M.CureEpilepsy() + M.CureTourettes() + M.CureCoughing() + M.CureNervous() + M.SetEyeBlurry(0) M.SetWeakened(0) M.SetStunned(0) M.SetParalysis(0) - M.silent = 0 - M.dizziness = 0 - M.drowsyness = 0 - M.stuttering = 0 - M.slurring = 0 - M.confused = 0 + M.SetSilence(0) + M.SetHallucinate(0) + M.SetDizzy(0) + M.SetDrowsy(0) + M.SetStuttering(0) + M.SetSlur(0) + M.SetConfused(0) M.SetSleeping(0) - M.jitteriness = 0 + M.SetJitter(0) for(var/datum/disease/D in M.viruses) if(D.severity == NONTHREAT) continue @@ -73,4 +80,4 @@ outgoing += tocheck else outgoing += tocheck - return outgoing \ No newline at end of file + return outgoing diff --git a/code/modules/reagents/oldchem/reagents/reagents_drugs.dm b/code/modules/reagents/oldchem/reagents/reagents_drugs.dm index 7cbc79b41b0..1fd0188287a 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_drugs.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_drugs.dm @@ -37,7 +37,7 @@ metabolization_rate = 0.2 * REAGENTS_METABOLISM /datum/reagent/hippies_delight/on_mob_life(mob/living/M) - M.druggy = max(M.druggy, 50) + M.Druggy(50) switch(current_cycle) if(1 to 5) if(!M.stuttering) M.stuttering = 1 @@ -47,13 +47,13 @@ if(!M.stuttering) M.stuttering = 1 M.Jitter(20) M.Dizzy(20) - M.druggy = max(M.druggy, 45) + M.Druggy(45) if(prob(20)) M.emote(pick("twitch","giggle")) if(10 to INFINITY) if(!M.stuttering) M.stuttering = 1 M.Jitter(40) M.Dizzy(40) - M.druggy = max(M.druggy, 60) + M.Druggy(60) if(prob(30)) M.emote(pick("twitch","giggle")) ..() @@ -65,8 +65,8 @@ color = "#0000D8" /datum/reagent/lsd/on_mob_life(mob/living/M) - M.druggy = max(M.druggy, 15) - M.hallucination += 10 + M.Druggy(15) + M.AdjustHallucinate(10) ..() /datum/reagent/space_drugs @@ -80,7 +80,7 @@ heart_rate_decrease = 1 /datum/reagent/space_drugs/on_mob_life(mob/living/M) - M.druggy = max(M.druggy, 15) + M.Druggy(15) if(isturf(M.loc) && !istype(M.loc, /turf/space)) if(M.canmove && !M.restrained()) step(M, pick(cardinal)) @@ -94,22 +94,22 @@ color = "#E700E7" // rgb: 231, 0, 231 /datum/reagent/psilocybin/on_mob_life(mob/living/M) - M.druggy = max(M.druggy, 30) + M.Druggy(30) switch(current_cycle) if(1 to 5) - if(!M.stuttering) M.stuttering = 1 + M.Stuttering(1) M.Dizzy(5) if(prob(10)) M.emote(pick("twitch","giggle")) if(5 to 10) - if(!M.stuttering) M.stuttering = 1 + M.Stuttering(1) M.Jitter(10) M.Dizzy(10) - M.druggy = max(M.druggy, 35) + M.Druggy(35) if(prob(20)) M.emote(pick("twitch","giggle")) if(10 to INFINITY) - if(!M.stuttering) M.stuttering = 1 + M.Stuttering(1) M.Jitter(20) M.Dizzy(20) - M.druggy = max(M.druggy, 40) + M.Druggy(40) if(prob(30)) M.emote(pick("twitch","giggle")) - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/oldchem/reagents/reagents_flammable.dm b/code/modules/reagents/oldchem/reagents/reagents_flammable.dm index 52d33e21e07..61228dfb2d0 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_flammable.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_flammable.dm @@ -22,7 +22,7 @@ M.adjustBrainLoss(3) if(iscultist(M)) M.status_flags |= GOTTAGOFAST - M.drowsyness = max(M.drowsyness-5, 0) + M.AdjustDrowsy(-5) M.AdjustParalysis(-2) M.AdjustStunned(-2) M.AdjustWeakened(-2) @@ -78,4 +78,4 @@ id = "glycerol" description = "Glycerol is a simple polyol compound. Glycerol is sweet-tasting and of low toxicity." reagent_state = LIQUID - color = "#808080" // rgb: 128, 128, 128 \ No newline at end of file + color = "#808080" // rgb: 128, 128, 128 diff --git a/code/modules/reagents/oldchem/reagents/reagents_food.dm b/code/modules/reagents/oldchem/reagents/reagents_food.dm index 1dbe1f05a20..de52805fef2 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_food.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_food.dm @@ -370,9 +370,9 @@ overdose_threshold = 200 // Hyperglycaemic shock /datum/reagent/sugar/on_mob_life(mob/living/M) - M.drowsyness = max(0, M.drowsyness-5) + M.AdjustDrowsy(-5) if(current_cycle >= 90) - M.jitteriness += 2 + M.AdjustJitter(2) if(prob(50)) M.AdjustParalysis(-1) M.AdjustStunned(-1) @@ -391,4 +391,3 @@ M.Weaken(4 * severity) if(prob(8)) M.adjustToxLoss(severity) - diff --git a/code/modules/reagents/oldchem/reagents/reagents_med.dm b/code/modules/reagents/oldchem/reagents/reagents_med.dm index cc5592dd42e..b0a09afc999 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_med.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_med.dm @@ -41,7 +41,7 @@ overdose_threshold = 40 /datum/reagent/synaptizine/on_mob_life(mob/living/M) - M.drowsyness = max(0, M.drowsyness-5) + M.AdjustDrowsy(-5) M.AdjustParalysis(-1) M.AdjustStunned(-1) M.AdjustWeakened(-1) @@ -139,4 +139,4 @@ description = "An all-purpose antibiotic agent extracted from space fungus." reagent_state = LIQUID color = "#0AB478" - metabolization_rate = 0.2 \ No newline at end of file + metabolization_rate = 0.2 diff --git a/code/modules/reagents/oldchem/reagents/reagents_toxin.dm b/code/modules/reagents/oldchem/reagents/reagents_toxin.dm index bbdf92b8693..0aae5e3f40e 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_toxin.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_toxin.dm @@ -326,7 +326,7 @@ /datum/reagent/spores/on_mob_life(mob/living/M) M.adjustToxLoss(1) M.damageoverlaytemp = 60 - M.eye_blurry = max(M.eye_blurry, 3) + M.EyeBlurry(3) ..() /datum/reagent/beer2 //disguised as normal beer for use by emagged brobots @@ -385,25 +385,25 @@ to_chat(victim, "Your [safe_thing] protect you from most of the pepperspray!") if(prob(5)) victim.emote("scream") - victim.eye_blurry = max(M.eye_blurry, 3) - victim.eye_blind = max(M.eye_blind, 1) - victim.confused = max(M.confused, 3) + victim.EyeBlurry(3) + victim.EyeBlind(1) + victim.Confused(3) victim.damageoverlaytemp = 60 victim.Weaken(3) victim.drop_item() return else if( eyes_covered ) // Eye cover is better than mouth cover to_chat(victim, "Your [safe_thing] protects your eyes from the pepperspray!") - victim.eye_blurry = max(M.eye_blurry, 3) + victim.EyeBlurry(3) victim.damageoverlaytemp = 30 return else // Oh dear :D if(prob(5)) victim.emote("scream") to_chat(victim, "You're sprayed directly in the eyes with pepperspray!") - victim.eye_blurry = max(M.eye_blurry, 5) - victim.eye_blind = max(M.eye_blind, 2) - victim.confused = max(M.confused, 6) + victim.EyeBlurry(5) + victim.EyeBlind(2) + victim.Confused(6) victim.damageoverlaytemp = 75 victim.Weaken(5) victim.drop_item() @@ -411,4 +411,4 @@ /datum/reagent/condensedcapsaicin/on_mob_life(mob/living/M) if(prob(5)) M.visible_message("[M] [pick("dry heaves!","coughs!","splutters!")]") - ..() \ No newline at end of file + ..() diff --git a/code/modules/reagents/oldchem/reagents/reagents_water.dm b/code/modules/reagents/oldchem/reagents/reagents_water.dm index bbfcbeb8142..a2dd3eb7fc4 100644 --- a/code/modules/reagents/oldchem/reagents/reagents_water.dm +++ b/code/modules/reagents/oldchem/reagents/reagents_water.dm @@ -264,27 +264,27 @@ process_flags = ORGANIC | SYNTHETIC /datum/reagent/holywater/on_mob_life(mob/living/M) - M.jitteriness = max(M.jitteriness-5,0) + M.AdjustJitter(-5) if(current_cycle >= 30) // 12 units, 60 seconds @ metabolism 0.4 units & tick rate 2.0 sec - M.stuttering = min(M.stuttering+4, 20) + M.AdjustStuttering(4, bound_lower = 0, bound_upper = 20) M.Dizzy(5) if(iscultist(M) && prob(5)) M.say(pick("Av'te Nar'sie","Pa'lid Mors","INO INO ORA ANA","SAT ANA!","Daim'niodeis Arc'iai Le'eones","Egkau'haom'nai en Chaous","Ho Diak'nos tou Ap'iron","R'ge Na'sie","Diabo us Vo'iscum","Si gn'um Co'nu")) if(current_cycle >= 75 && prob(33)) // 30 units, 150 seconds - M.confused += 3 + M.AdjustConfused(3) if(isvampirethrall(M)) ticker.mode.remove_vampire_mind(M.mind) holder.remove_reagent(id, volume) - M.jitteriness = 0 - M.stuttering = 0 - M.confused = 0 + M.SetJitter(0) + M.SetStuttering(0) + M.SetConfused(0) return if(iscultist(M)) ticker.mode.remove_cultist(M.mind) holder.remove_reagent(id, volume) // maybe this is a little too perfect and a max() cap on the statuses would be better?? - M.jitteriness = 0 - M.stuttering = 0 - M.confused = 0 + M.SetJitter(0) + M.SetStuttering(0) + M.SetConfused(0) return if(ishuman(M) && M.mind && M.mind.vampire && !M.mind.vampire.get_ability(/datum/vampire_passive/full) && prob(80)) switch(current_cycle) diff --git a/code/modules/reagents/reagent_containers/pill.dm b/code/modules/reagents/reagent_containers/pill.dm index 1da5f07b2e5..a6fd792e795 100644 --- a/code/modules/reagents/reagent_containers/pill.dm +++ b/code/modules/reagents/reagent_containers/pill.dm @@ -80,12 +80,6 @@ icon_state = "pill8" list_reagents = list("haloperidol" = 15) -/obj/item/weapon/reagent_containers/food/pill/paroxetine - name = "Paroxetine pill" - desc = "Heavy anti-depressant." - icon_state = "pill8" - list_reagents = list("paroxetine" = 15) - /obj/item/weapon/reagent_containers/food/pill/happy name = "Happy pill" desc = "Happy happy joy joy!" diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm index 373b5d9454f..0e83e5812c3 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_badfeeling.dm @@ -37,7 +37,7 @@ to_chat(H, "[pick(messages)]") if(prob(50)) - H.dizziness += rand(3,5) + H.AdjustDizzy(rand(3,5)) /datum/artifact_effect/badfeeling/DoEffectAura() if(holder) @@ -50,7 +50,7 @@ to_chat(H, "[pick(drastic_messages)]") if(prob(10)) - H.dizziness += rand(3,5) + H.AdjustDizzy(rand(3,5)) return 1 /datum/artifact_effect/badfeeling/DoEffectPulse() @@ -64,7 +64,7 @@ to_chat(H, "[pick(messages)]") if(prob(50)) - H.dizziness += rand(3,5) + H.AdjustDizzy(rand(3,5)) else if(prob(25)) - H.dizziness += rand(5,15) + H.AdjustDizzy(rand(5,15)) return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm index 08639dec98f..dd42c44204c 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_goodfeeling.dm @@ -35,7 +35,7 @@ to_chat(H, "[pick(messages)]") if(prob(50)) - H.dizziness += rand(3,5) + H.AdjustDizzy(rand(3,5)) /datum/artifact_effect/goodfeeling/DoEffectAura() if(holder) @@ -48,7 +48,7 @@ to_chat(H, "[pick(drastic_messages)]") if(prob(5)) - H.dizziness += rand(3,5) + H.AdjustDizzy(rand(3,5)) return 1 /datum/artifact_effect/goodfeeling/DoEffectPulse() @@ -62,7 +62,7 @@ to_chat(H, "[pick(messages)]") if(prob(50)) - H.dizziness += rand(3,5) + H.AdjustDizzy(rand(3,5)) else if(prob(25)) - H.dizziness += rand(5,15) + H.AdjustDizzy(rand(5,15)) return 1 diff --git a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm index bbb16d76a3d..1f098ddfa6b 100644 --- a/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm +++ b/code/modules/research/xenoarchaeology/artifact/effects/unknown_effect_sleepy.dm @@ -13,8 +13,8 @@ if(ishuman(toucher) && prob(weakness * 100)) var/mob/living/carbon/human/H = toucher to_chat(H, pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")) - H.drowsyness = min(H.drowsyness + rand(5,25) * weakness, 50 * weakness) - H.eye_blurry = min(H.eye_blurry + rand(1,3) * weakness, 50 * weakness) + H.AdjustDrowsy(rand(5,25) * weakness, bound_lower = 0, bound_upper = 50 * weakness) + H.AdjustEyeBlurry(rand(1,3) * weakness, bound_lower = 0, bound_upper = 50 * weakness) return 1 else if(isrobot(toucher)) to_chat(toucher, "\red SYSTEM ALERT: CPU cycles slowing down.") @@ -28,8 +28,8 @@ if(prob(weakness * 100)) if(prob(10)) to_chat(H, pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")) - H.drowsyness = min(H.drowsyness + 1 * weakness, 25 * weakness) - H.eye_blurry = min(H.eye_blurry + 1 * weakness, 25 * weakness) + H.AdjustDrowsy(1 * weakness, bound_lower = 0, bound_upper = 25 * weakness) + H.AdjustEyeBlurry(1 * weakness, bound_lower = 0, bound_upper = 25 * weakness) for(var/mob/living/silicon/robot/R in range(src.effectrange,holder)) to_chat(R, "\red SYSTEM ALERT: CPU cycles slowing down.") return 1 @@ -41,8 +41,8 @@ var/weakness = GetAnomalySusceptibility(H) if(prob(weakness * 100)) to_chat(H, pick("\blue You feel like taking a nap.","\blue You feel a yawn coming on.","\blue You feel a little tired.")) - H.drowsyness = min(H.drowsyness + rand(5,15) * weakness, 50 * weakness) - H.eye_blurry = min(H.eye_blurry + rand(5,15) * weakness, 50 * weakness) + H.AdjustDrowsy(rand(5,15) * weakness, bound_lower = 0, bound_upper = 50 * weakness) + H.AdjustEyeBlurry(rand(5,15) * weakness, bound_lower = 0, bound_upper = 50 * weakness) for(var/mob/living/silicon/robot/R in range(src.effectrange,holder)) to_chat(R, "\red SYSTEM ALERT: CPU cycles slowing down.") return 1 diff --git a/code/modules/research/xenoarchaeology/finds/finds_special.dm b/code/modules/research/xenoarchaeology/finds/finds_special.dm index ce6fb4c2663..8ddcf27593b 100644 --- a/code/modules/research/xenoarchaeology/finds/finds_special.dm +++ b/code/modules/research/xenoarchaeology/finds/finds_special.dm @@ -194,7 +194,7 @@ 'sound/hallucinations/turn_around1.ogg',\ 'sound/hallucinations/turn_around2.ogg',\ ), 50, 1, -3) - M.sleeping = max(M.sleeping,rand(5,10)) + M.Sleeping(rand(5,10)) src.loc = null else processing_objects.Remove(src) diff --git a/code/modules/surgery/face.dm b/code/modules/surgery/face.dm index 406c1f83083..6c2f7354b43 100644 --- a/code/modules/surgery/face.dm +++ b/code/modules/surgery/face.dm @@ -55,7 +55,7 @@ user.visible_message(" [user]'s hand slips, slicing [target]'s throat wth \the [tool]!" , \ " Your hand slips, slicing [target]'s throat wth \the [tool]!" ) affected.createwound(CUT, 60) - target.losebreath += 4 + target.AdjustLoseBreath(4) return 0 @@ -83,7 +83,7 @@ /datum/surgery_step/face/mend_vocal/fail_step(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool,datum/surgery/surgery) user.visible_message(" [user]'s hand slips, clamping [target]'s trachea shut for a moment with \the [tool]!", \ " Your hand slips, clamping [user]'s trachea shut for a moment with \the [tool]!") - target.losebreath += 4 + target.AdjustLoseBreath(4) return 0 /datum/surgery_step/face/fix_face diff --git a/code/modules/surgery/organs/blood.dm b/code/modules/surgery/organs/blood.dm index 9034393bfe2..f71e9bff0be 100644 --- a/code/modules/surgery/organs/blood.dm +++ b/code/modules/surgery/organs/blood.dm @@ -101,7 +101,7 @@ else adjustOxyLoss(round((BLOOD_VOLUME_NORMAL - blood_volume) * 0.02, 1)) if(prob(5)) - eye_blurry = max(eye_blurry, 6) + EyeBlurry(6) var/word = pick("dizzy","woozy","faint") to_chat(src, "You feel very [word].") if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) diff --git a/code/modules/surgery/organs/organ_internal.dm b/code/modules/surgery/organs/organ_internal.dm index bb408f51726..18f0e51b2e2 100644 --- a/code/modules/surgery/organs/organ_internal.dm +++ b/code/modules/surgery/organs/organ_internal.dm @@ -307,7 +307,7 @@ owner.drip(10) if(prob(4)) spawn owner.custom_emote(1, "gasps for air!") - owner.losebreath += 5 + owner.AdjustLoseBreath(5) /obj/item/organ/internal/kidneys name = "kidneys" @@ -357,10 +357,10 @@ /obj/item/organ/internal/eyes/surgeryize() if(!owner) return - owner.disabilities &= ~NEARSIGHTED - owner.disabilities &= ~BLIND - owner.eye_blurry = 0 - owner.eye_blind = 0 + owner.CureNearsighted() + owner.CureBlind() + owner.SetEyeBlurry(0) + owner.SetEyeBlind(0) /obj/item/organ/internal/liver @@ -493,6 +493,7 @@ slot = "brain_tumor" health = 3 var/organhonked = 0 + var/suffering_delay = 900 /obj/item/organ/internal/honktumor/New() ..() @@ -535,11 +536,11 @@ return if(organhonked < world.time) - organhonked = world.time+900 + organhonked = world.time + suffering_delay to_chat(owner, "HONK") - owner.sleeping = 0 - owner.stuttering = 20 - owner.adjustEarDamage(0, 30) + owner.SetSleeping(0) + owner.Stuttering(20) + owner.AdjustEarDeaf(30) owner.Weaken(3) owner << 'sound/items/AirHorn.ogg' if(prob(30)) diff --git a/code/modules/surgery/organs/pain.dm b/code/modules/surgery/organs/pain.dm index 23d2af69bf3..f0b4b912eaf 100644 --- a/code/modules/surgery/organs/pain.dm +++ b/code/modules/surgery/organs/pain.dm @@ -15,8 +15,8 @@ mob/living/carbon/proc/pain(var/partname, var/amount, var/force, var/burning = 0 if(world.time < next_pain_time && !force) return if(amount > 10 && istype(src,/mob/living/carbon/human)) - if(src:paralysis) - src:paralysis = max(0, src:paralysis-round(amount/10)) + if(paralysis) + AdjustParalysis(-round(amount/10)) if(amount > 50 && prob(amount / 5)) src:drop_item() var/msg @@ -132,4 +132,4 @@ mob/living/carbon/human/proc/handle_pain() toxDamageMessage = "Your body aches all over, it's driving you mad." if(toxDamageMessage && prob(toxMessageProb)) - src.custom_pain(toxDamageMessage, getToxLoss() >= 15) \ No newline at end of file + src.custom_pain(toxDamageMessage, getToxLoss() >= 15) diff --git a/code/modules/surgery/organs/subtypes/diona.dm b/code/modules/surgery/organs/subtypes/diona.dm index 0f75fe9f80f..a4b0d8fb92b 100644 --- a/code/modules/surgery/organs/subtypes/diona.dm +++ b/code/modules/surgery/organs/subtypes/diona.dm @@ -169,10 +169,10 @@ /obj/item/organ/internal/diona_receptor/surgeryize() if(!owner) return - owner.disabilities &= ~NEARSIGHTED - owner.disabilities &= ~BLIND - owner.eye_blurry = 0 - owner.eye_blind = 0 + owner.CureNearsighted() + owner.CureBlind() + owner.SetEyeBlurry(0) + owner.SetEyeBlind(0) //TODO:Make absorb rads on insert diff --git a/code/modules/surgery/organs/subtypes/machine.dm b/code/modules/surgery/organs/subtypes/machine.dm index 61b2f143f69..0f402a42e5d 100644 --- a/code/modules/surgery/organs/subtypes/machine.dm +++ b/code/modules/surgery/organs/subtypes/machine.dm @@ -142,10 +142,10 @@ /obj/item/organ/internal/optical_sensor/surgeryize() if(!owner) return - owner.disabilities &= ~NEARSIGHTED - owner.disabilities &= ~BLIND - owner.eye_blurry = 0 - owner.eye_blind = 0 + owner.CureNearsighted() + owner.CureBlind() + owner.SetEyeBlurry(0) + owner.SetEyeBlind(0) // Used for an MMI or posibrain being installed into a human. diff --git a/html/changelogs/AutoChangeLog-pr-5601.yml b/html/changelogs/AutoChangeLog-pr-5601.yml new file mode 100644 index 00000000000..cd74a767312 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5601.yml @@ -0,0 +1,4 @@ +author: Crazylemon +delete-after: True +changes: + - tweak: "Status effects should work a little more consistently now" diff --git a/html/changelogs/AutoChangeLog-pr-5826.yml b/html/changelogs/AutoChangeLog-pr-5826.yml new file mode 100644 index 00000000000..62bc989c620 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-5826.yml @@ -0,0 +1,4 @@ +author: Twinmold93 +delete-after: True +changes: + - bugfix: "Fixes a runtime issue caused by using the detective's scanner on the space hotel cleaver." diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi index 3fe35fe7651..9aed5172330 100644 Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi index 590945e9e15..c0c5dbd8678 100644 Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ diff --git a/icons/mob/uniform.dmi b/icons/mob/uniform.dmi index 95a1a902aa0..568fcce4443 100644 Binary files a/icons/mob/uniform.dmi and b/icons/mob/uniform.dmi differ diff --git a/icons/obj/atmospherics/circulator.dmi b/icons/obj/atmospherics/circulator.dmi new file mode 100644 index 00000000000..45f7a626ef6 Binary files /dev/null and b/icons/obj/atmospherics/circulator.dmi differ diff --git a/icons/obj/custom_items.dmi b/icons/obj/custom_items.dmi index a555009ae6a..5a198ee1e64 100644 Binary files a/icons/obj/custom_items.dmi and b/icons/obj/custom_items.dmi differ diff --git a/icons/obj/pipe-item.dmi b/icons/obj/pipe-item.dmi index 34fedaa560f..73d62edfaa8 100644 Binary files a/icons/obj/pipe-item.dmi and b/icons/obj/pipe-item.dmi differ diff --git a/icons/obj/pipes.dmi b/icons/obj/pipes.dmi index 45f79d9e66b..99e6e84d185 100644 Binary files a/icons/obj/pipes.dmi and b/icons/obj/pipes.dmi differ diff --git a/paradise.dme b/paradise.dme index e1864e39f49..fa817e51593 100644 --- a/paradise.dme +++ b/paradise.dme @@ -1438,9 +1438,11 @@ #include "code\modules\mob\mob_movement.dm" #include "code\modules\mob\mob_transformation_simple.dm" #include "code\modules\mob\say.dm" +#include "code\modules\mob\status_procs.dm" #include "code\modules\mob\transform_procs.dm" #include "code\modules\mob\typing_indicator.dm" #include "code\modules\mob\update_icons.dm" +#include "code\modules\mob\update_status.dm" #include "code\modules\mob\camera\camera.dm" #include "code\modules\mob\dead\death.dm" #include "code\modules\mob\dead\observer\login.dm" @@ -1459,6 +1461,9 @@ #include "code\modules\mob\living\login.dm" #include "code\modules\mob\living\logout.dm" #include "code\modules\mob\living\say.dm" +#include "code\modules\mob\living\stat_states.dm" +#include "code\modules\mob\living\status_procs.dm" +#include "code\modules\mob\living\update_status.dm" #include "code\modules\mob\living\carbon\_defines.dm" #include "code\modules\mob\living\carbon\carbon.dm" #include "code\modules\mob\living\carbon\carbon_defenses.dm" @@ -1469,6 +1474,7 @@ #include "code\modules\mob\living\carbon\shock.dm" #include "code\modules\mob\living\carbon\superheroes.dm" #include "code\modules\mob\living\carbon\update_icons.dm" +#include "code\modules\mob\living\carbon\update_status.dm" #include "code\modules\mob\living\carbon\alien\alien.dm" #include "code\modules\mob\living\carbon\alien\alien_defenses.dm" #include "code\modules\mob\living\carbon\alien\death.dm" @@ -1505,6 +1511,7 @@ #include "code\modules\mob\living\carbon\brain\MMI.dm" #include "code\modules\mob\living\carbon\brain\posibrain.dm" #include "code\modules\mob\living\carbon\brain\say.dm" +#include "code\modules\mob\living\carbon\brain\update_status.dm" #include "code\modules\mob\living\carbon\human\appearance.dm" #include "code\modules\mob\living\carbon\human\body_accessories.dm" #include "code\modules\mob\living\carbon\human\death.dm" @@ -1562,6 +1569,7 @@ #include "code\modules\mob\living\silicon\ai\login.dm" #include "code\modules\mob\living\silicon\ai\logout.dm" #include "code\modules\mob\living\silicon\ai\say.dm" +#include "code\modules\mob\living\silicon\ai\update_status.dm" #include "code\modules\mob\living\silicon\ai\freelook\cameranet.dm" #include "code\modules\mob\living\silicon\ai\freelook\chunk.dm" #include "code\modules\mob\living\silicon\ai\freelook\eye.dm" @@ -1578,6 +1586,7 @@ #include "code\modules\mob\living\silicon\pai\say.dm" #include "code\modules\mob\living\silicon\pai\software.dm" #include "code\modules\mob\living\silicon\pai\software_modules.dm" +#include "code\modules\mob\living\silicon\pai\update_status.dm" #include "code\modules\mob\living\silicon\robot\component.dm" #include "code\modules\mob\living\silicon\robot\death.dm" #include "code\modules\mob\living\silicon\robot\emote.dm" @@ -1592,6 +1601,7 @@ #include "code\modules\mob\living\silicon\robot\robot_items.dm" #include "code\modules\mob\living\silicon\robot\robot_modules.dm" #include "code\modules\mob\living\silicon\robot\robot_movement.dm" +#include "code\modules\mob\living\silicon\robot\update_status.dm" #include "code\modules\mob\living\silicon\robot\drone\drone.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_abilities.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_console.dm" @@ -1599,6 +1609,7 @@ #include "code\modules\mob\living\silicon\robot\drone\drone_items.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_manufacturer.dm" #include "code\modules\mob\living\silicon\robot\drone\drone_say.dm" +#include "code\modules\mob\living\silicon\robot\drone\update_status.dm" #include "code\modules\mob\living\simple_animal\constructs.dm" #include "code\modules\mob\living\simple_animal\corpse.dm" #include "code\modules\mob\living\simple_animal\parrot.dm" @@ -1735,7 +1746,6 @@ #include "code\modules\power\cell.dm" #include "code\modules\power\engine.dm" #include "code\modules\power\generator.dm" -#include "code\modules\power\generator_type2.dm" #include "code\modules\power\gravitygenerator.dm" #include "code\modules\power\lighting.dm" #include "code\modules\power\port_gen.dm"
" - - t += "Output : [round(lastgen)] W
" - - t += "Cold loop
" - t += "Temperature: [round(input1.air_contents.temperature, 0.1)] K
" - t += "Pressure: [round(input1.air_contents.return_pressure(), 0.1)] kPa
" - - t += "Hot loop
" - t += "Temperature: [round(input2.air_contents.temperature, 0.1)] K
" - t += "Pressure: [round(input2.air_contents.return_pressure(), 0.1)] kPa
" - - t += "
Close" - - t += "