diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 3bfe2a0e70c..b452e466414 100644 --- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm +++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm @@ -7,7 +7,7 @@ level = 1 - var/id_tag + var/id_tag = null var/frequency = 1439 var/datum/radio_frequency/radio_connection @@ -104,7 +104,10 @@ process() ..() - broadcast_status() + if(!(stat & (NOPOWER|BROKEN))) + broadcast_status() + else + return 0 if(!on) return 0 @@ -184,7 +187,7 @@ if(panic) on = 1 scrubbing = 0 - volume_rate = 500 + volume_rate = 2000 else scrubbing = 1 volume_rate = 120 diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/WorkInProgress/Chemistry-Reagents.dm index ac0bd4453f7..2d629959134 100644 --- a/code/WorkInProgress/Chemistry-Reagents.dm +++ b/code/WorkInProgress/Chemistry-Reagents.dm @@ -638,6 +638,8 @@ datum on_mob_life(var/mob/M) M:drowsyness = max(0,M:drowsyness-5) M.bodytemperature = max(310, M.bodytemperature-5) //310 is the normal bodytemp. 310.055 + ..() + return plasma name = "Plasma" @@ -850,7 +852,7 @@ datum if(M:bruteloss) M:bruteloss = max(0, M:bruteloss-3) if(M:fireloss) M:fireloss = max(0, M:fireloss-3) if(M:toxloss) M:toxloss = max(0, M:toxloss-3) - + ..() return spaceacillin @@ -1168,6 +1170,8 @@ datum M:sleeping = 0 M.bodytemperature = min(310, M.bodytemperature+5) //Copy-paste from Coffee, derp M.make_jittery(5) + ..() + return cognac @@ -1505,6 +1509,8 @@ datum if(data >= 50 && prob(33)) if (!M.confused) M:confused = 1 M.confused += 2 + ..() + return manly_dorf name = "The Manly Dorf" @@ -1521,4 +1527,6 @@ datum M.stuttering += 4 if(data >= 50 && prob(33)) if (!M.confused) M:confused = 1 - M.confused += 3 \ No newline at end of file + M.confused += 3 + ..() + return diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index 43580fc397f..d99086b3323 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -42,13 +42,13 @@ obj/machinery/air_sensor if(output>4) var/total_moles = air_sample.total_moles() if(output&4) - signal.data["oxygen"] = round(100*air_sample.oxygen/total_moles) + signal.data["oxygen"] = round(100*air_sample.oxygen/total_moles,0.1) if(output&8) - signal.data["toxins"] = round(100*air_sample.toxins/total_moles) + signal.data["toxins"] = round(100*air_sample.toxins/total_moles,0.1) if(output&16) - signal.data["nitrogen"] = round(100*air_sample.nitrogen/total_moles) + signal.data["nitrogen"] = round(100*air_sample.nitrogen/total_moles,0.1) if(output&32) - signal.data["carbon_dioxide"] = round(100*air_sample.carbon_dioxide/total_moles) + signal.data["carbon_dioxide"] = round(100*air_sample.carbon_dioxide/total_moles,0.1) radio_connection.post_signal(src, signal) diff --git a/code/game/machinery/cryo.dm b/code/game/machinery/cryo.dm index 0aafa47e743..080c01d35bd 100644 --- a/code/game/machinery/cryo.dm +++ b/code/game/machinery/cryo.dm @@ -73,9 +73,9 @@ if(src.occupant.health <= -100) health_text = "Dead" else if(src.occupant.health < 0) - health_text = "[src.occupant.health]" + health_text = "[round(src.occupant.health,0.1)]" else - health_text = "[src.occupant.health]" + health_text = "[round(src.occupant.health,0.1)]" if(air_contents.temperature > T0C) temp_text = "[air_contents.temperature]" else if(air_contents.temperature > 225) @@ -90,7 +90,7 @@ Current cell temperature: [temp_text]K
Cryo status: [ src.on ? "Off On" : "Off On"]
[beaker_text]

- Current occupant: [src.occupant ? "
Name: [src.occupant]
Health: [health_text]
Oxygen deprivation: [src.occupant.oxyloss]
Brute damage: [src.occupant.bruteloss]
Fire damage: [src.occupant.fireloss]
Toxin damage: [src.occupant.toxloss]
Body temperature: [src.occupant.bodytemperature]" : "None"]
+ Current occupant: [src.occupant ? "
Name: [src.occupant]
Health: [health_text]
Oxygen deprivation: [round(src.occupant.oxyloss,0.1)]
Brute damage: [round(src.occupant.bruteloss,0.1)]
Fire damage: [round(src.occupant.fireloss,0.1)]
Toxin damage: [round(src.occupant.toxloss,0.1)]
Body temperature: [src.occupant.bodytemperature]" : "None"]
"} @@ -181,10 +181,11 @@ if(occupant.oxyloss) occupant.oxyloss = max(0, occupant.oxyloss - 1) else occupant.oxyloss -= 1 + //severe damage should heal waaay slower without proper chemicals if(occupant.bodytemperature < 225) - if(occupant.bruteloss) occupant.bruteloss = max(0, occupant.bruteloss - 1) - if(occupant.fireloss) occupant.fireloss = max(0, occupant.fireloss - 1) - if(occupant.toxloss) occupant.toxloss = max(0, occupant.toxloss - 1) + if(occupant.bruteloss) occupant.bruteloss = max(0, occupant.bruteloss - min(1, 20/occupant.bruteloss)) + if(occupant.fireloss) occupant.fireloss = max(0, occupant.fireloss - min(1, 20/occupant.fireloss)) + if(occupant.toxloss) occupant.toxloss = max(0, occupant.toxloss - min(1, 20/occupant.toxloss)) if(beaker && (next_trans == 0)) beaker:reagents.trans_to(occupant, 1, 10) beaker:reagents.reaction(occupant) @@ -225,6 +226,7 @@ verb move_eject() + set name = "Eject occupant" set src in oview(1) if (usr.stat != 0) return @@ -233,6 +235,7 @@ return move_inside() + set name = "Move Inside" set src in oview(1) if (usr.stat != 0 || stat & (NOPOWER|BROKEN)) return @@ -281,4 +284,4 @@ return /datum/data/function/proc/display() - return \ No newline at end of file + return diff --git a/code/game/objects/devices/flashlight.dm b/code/game/objects/devices/flashlight.dm index 9a8c2a94557..0466bb63363 100644 --- a/code/game/objects/devices/flashlight.dm +++ b/code/game/objects/devices/flashlight.dm @@ -31,7 +31,8 @@ return for(var/mob/O in viewers(M, null))//echo message - O.show_message(text("\blue [] [] to [] eyes", (O == user ? "You direct" : text("[] directs", user)), src, (M==user ? "your" : text("[]", M))),1) + if ((O.client && !(O.blinded ))) + O.show_message("\blue [(O==user?"You direct":"[user]")] [src] to [(M==user? "your":"[M]")] eyes", 1) if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))//robots and aliens are unaffected if(M.stat > 1 || M.sdisabilities & 1)//mob is dead or fully blind diff --git a/code/game/objects/storage/storage.dm b/code/game/objects/storage/storage.dm index 94902a80ccf..ec304e59e30 100644 --- a/code/game/objects/storage/storage.dm +++ b/code/game/objects/storage/storage.dm @@ -65,17 +65,18 @@ return /obj/item/weapon/storage/proc/orient2hud(mob/user as mob) - if (src == user.l_hand) src.orient_objs(3, 11, 3, 4) + else if(src == user.r_hand) + src.orient_objs(1, 11, 1, 4) + else if(src == user.back) + src.orient_objs(4, 10, 4, 3) + else if(istype(user, /mob/living/carbon/human))//only humans have belts + var/mob/living/carbon/human/H = user + if(src == H.belt) + src.orient_objs(1, 3, 8, 3) else - if (src == user.r_hand) - src.orient_objs(1, 11, 1, 4) - else - if (src == user.back) - src.orient_objs(4, 10, 4, 3) - else - src.orient_objs(7, 8, 10, 7) + src.orient_objs(7, 8, 10, 7) return /obj/item/weapon/storage/attackby(obj/item/weapon/W as obj, mob/user as mob) @@ -135,7 +136,7 @@ if (M.s_active == src) src.close(M) //Foreach goto(76) - src.orient2hud(user) + src.orient2hud(user) src.add_fingerprint(user) return diff --git a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm index caad9426ad6..c4746bd9361 100644 --- a/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/humanoid/alien_powers.dm @@ -235,7 +235,8 @@ Also perhaps only queens can do that? var/vent_found = 0 for(var/obj/machinery/atmospherics/unary/vent_pump/v in range(1,src)) if(!v.welded) - vent_found = 1 + vent_found = v + if(!vent_found) src << "You must be standing on or beside an open air vent to enter it." return @@ -260,7 +261,7 @@ Also perhaps only queens can do that? if(src.loc != startloc) src << "You need to remain still while entering a vent." return - var/obj/target_vent = vents[selection_position] + var/obj/machinery/atmospherics/unary/vent_pump/target_vent = vents[selection_position] if(target_vent) for(var/mob/O in viewers(src, null)) O.show_message(text("\green [src] scrambles into the ventillation ducts!"), 1) @@ -268,9 +269,24 @@ Also perhaps only queens can do that? for(var/obj/alien/facehugger/F in view(3, src)) if(istype(F, /obj/alien/facehugger)) huggers.Add(F) - src.loc = target_vent.loc + + src.loc = vent_found for(var/obj/alien/facehugger/F in huggers) - F.loc = src.loc + F.loc = vent_found + var/travel_time = get_dist(src.loc, target_vent.loc) + + spawn(round(travel_time/2))//give sound warning to anyone near the target vent + if(!target_vent.welded) + for(var/mob/O in hearers(target_vent, null)) + O.show_message("You hear something crawling trough the ventilation pipes.") + + spawn(travel_time) + if(target_vent.welded)//the went can be welded while alien scrolled through the list or travelled. + target_vent = vent_found //travel back. No additional time required. + src << "\red The vent you were heading to appears to be welded." + src.loc = target_vent.loc + for(var/obj/alien/facehugger/F in huggers) + F.loc = src.loc /mob/living/carbon/alien/humanoid/verb/corrode(obj/O as obj in view(1)) // -- TLE set name = "Spit Corrosive Acid (200)" diff --git a/icons/changelog.html b/icons/changelog.html index cb79ff67b95..e10114db6e9 100644 --- a/icons/changelog.html +++ b/icons/changelog.html @@ -20,6 +20,9 @@ p.lic { font-size: 6pt; } + ul.sec { + list-style: none; + } @@ -41,6 +44,19 @@ Thanks to: CDK Station devs, GoonStation devs and original SpaceStation developers

Changelog

+
Wednesday, October 13, 14:12(GMT)
+ +
Sunday, October 10, 14:25(GMT)
-
Wednesday, October 6, 18:36