diff --git a/code/ATMOSPHERICS/_atmospherics_helpers.dm b/code/ATMOSPHERICS/_atmospherics_helpers.dm
index f85fa84b933..d4de419ad0f 100644
--- a/code/ATMOSPHERICS/_atmospherics_helpers.dm
+++ b/code/ATMOSPHERICS/_atmospherics_helpers.dm
@@ -130,7 +130,7 @@
var/total_specific_power = 0 //the power required to remove one mole of filterable gas
for (var/g in filtering)
var/ratio = source.gas[g]/total_filterable_moles //this converts the specific power per mole of pure gas to specific power per mole of scrubbed gas
- total_specific_power = specific_power_gas[g]*ratio
+ total_specific_power += specific_power_gas[g]*ratio
//Figure out how much of each gas to filter
if (isnull(total_transfer_moles))
diff --git a/code/ATMOSPHERICS/atmospherics.dm b/code/ATMOSPHERICS/atmospherics.dm
index 7237cccbca3..9ae50b11af8 100644
--- a/code/ATMOSPHERICS/atmospherics.dm
+++ b/code/ATMOSPHERICS/atmospherics.dm
@@ -85,6 +85,9 @@ obj/machinery/atmospherics/proc/check_connect_types(obj/machinery/atmospherics/a
return node.pipe_color
/obj/machinery/atmospherics/process()
+ last_flow_rate = 0
+ last_power_draw = 0
+
build_network()
/obj/machinery/atmospherics/proc/network_expand(datum/pipe_network/new_network, obj/machinery/atmospherics/pipe/reference)
diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
index 43874a64d93..561a2bf7df8 100644
--- a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
+++ b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm
@@ -17,6 +17,7 @@
var/frequency = 1439
var/datum/radio_frequency/radio_connection
+ var/hibernate = 0 //Do we even process?
var/scrubbing = 1 //0 = siphoning, 1 = scrubbing
var/list/scrubbing_gas = list("carbon_dioxide")
@@ -126,8 +127,8 @@
/obj/machinery/atmospherics/unary/vent_scrubber/process()
..()
- last_power_draw = 0
- last_flow_rate = 0
+ if (hibernate)
+ return 1
if (!node)
use_power = 0
@@ -149,6 +150,12 @@
power_draw = pump_gas(src, environment, air_contents, transfer_moles, power_rating)
+ if(scrubbing && power_draw < 0 && controller_iteration > 10) //99% of all scrubbers
+ //Fucking hibernate because you ain't doing shit.
+ hibernate = 1
+ spawn(rand(100,200)) //hibernate for 10 or 20 seconds randomly
+ hibernate = 0
+
if (power_draw >= 0)
last_power_draw = power_draw
use_power(power_draw)
diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm
index 41bb3bef2d4..e345847c867 100644
--- a/code/game/machinery/cryopod.dm
+++ b/code/game/machinery/cryopod.dm
@@ -393,9 +393,9 @@
occupant.ckey = null
//Make an announcement and log the person entering storage.
- control_computer.frozen_crew += "[occupant.real_name]"
+ control_computer.frozen_crew += "[occupant.real_name], [occupant.mind.assigned_role] - [worldtime2text()]"
- announce.autosay("[occupant.real_name] [on_store_message]", "[on_store_name]")
+ announce.autosay("[occupant.real_name], [occupant.mind.assigned_role] [on_store_message]", "[on_store_name]")
visible_message("\The [initial(name)] hums and hisses as it moves [occupant.real_name] into storage.", 3)
// Delete the mob.
diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm
index b947f3f7109..26cae206e9e 100644
--- a/code/modules/admin/verbs/adminpm.dm
+++ b/code/modules/admin/verbs/adminpm.dm
@@ -137,7 +137,7 @@
send2adminirc("PlayerPM from [key_name(src)]: [html_decode(msg)]")
- src << "" + create_text_tag("pm_out_alt", "", src) + " to : [msg]"
+ src << "" + create_text_tag("pm_out_alt", "", src) + " to Admin IRC: [msg]"
log_admin("PM: [key_name(src)]->IRC: [msg]")
for(var/client/X in admins)
diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm
index eed1e40ab20..fda22b17f9e 100644
--- a/code/modules/economy/EFTPOS.dm
+++ b/code/modules/economy/EFTPOS.dm
@@ -100,7 +100,7 @@
else
dat += "Lock in new transaction
"
- dat += "Transaction purpose: [transaction_purpose]
"
+ dat += "Transaction purpose: [transaction_purpose]
"
dat += "Value: $[transaction_amount]
"
dat += "Linked account: [linked_account ? linked_account.owner_name : "None"]
"
dat += "Change access code
"
diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm
index 2874d16d394..c8d5651b299 100644
--- a/code/modules/mob/dead/observer/observer.dm
+++ b/code/modules/mob/dead/observer/observer.dm
@@ -670,6 +670,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp
client.images -= ghostimage //remove ourself
mob/dead/observer/MayRespawn(var/feedback = 0)
+ if(!client || !mind)
+ return 0
+ if(mind.current && mind.current.stat != DEAD)
+ if(feedback)
+ src << "Your non-dead body prevent you from respawning."
+ return 0
if(config.antag_hud_restricted && has_enabled_antagHUD == 1)
if(feedback)
src << "antagHUD restrictions prevent you from respawning."
diff --git a/html/changelog.html b/html/changelog.html
index 518709a83b4..01820bee35b 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -56,6 +56,15 @@
-->
+
04 June 2015
+
PsiOmegaDelta updated:
+
+ - AI eyes can now be found in the observer follow list.
+ - Synths can now review all law modules that can be found on the station from their law manager.
+ - Synths can state these laws if desired, however this is strongly discouraged unless subverted/malfunctioning.
+ - Astral projecting mobs, such as wizards or cultists, may no longer respawn as something else while their body lives.
+
+
02 June 2015
Techhead updated:
diff --git a/html/changelogs/.all_changelog.yml b/html/changelogs/.all_changelog.yml
index 0b48f165458..499233b5a8b 100644
--- a/html/changelogs/.all_changelog.yml
+++ b/html/changelogs/.all_changelog.yml
@@ -1870,3 +1870,12 @@ DO NOT EDIT THIS FILE BY HAND! AUTOMATICALLY GENERATED BY ss13_genchangelog.py.
2015-06-02:
Techhead:
- rscadd: Re-adds extended capacity emergency oxygen tanks to relevant jobs.
+2015-06-04:
+ PsiOmegaDelta:
+ - rscadd: AI eyes can now be found in the observer follow list.
+ - rscadd: Synths can now review all law modules that can be found on the station
+ from their law manager.
+ - rscadd: Synths can state these laws if desired, however this is strongly discouraged
+ unless subverted/malfunctioning.
+ - bugfix: Astral projecting mobs, such as wizards or cultists, may no longer respawn
+ as something else while their body lives.
diff --git a/html/changelogs/PsiOmegaDelta-EyeTracking.yml b/html/changelogs/PsiOmegaDelta-EyeTracking.yml
deleted file mode 100644
index 085ae37cb27..00000000000
--- a/html/changelogs/PsiOmegaDelta-EyeTracking.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-author: PsiOmegaDelta
-delete-after: True
-
-changes:
- - rscadd: "AI eyes can now be found in the observer follow list."
diff --git a/html/changelogs/PsiOmegaDelta-LawSets.yml b/html/changelogs/PsiOmegaDelta-LawSets.yml
deleted file mode 100644
index aef3d7f04ea..00000000000
--- a/html/changelogs/PsiOmegaDelta-LawSets.yml
+++ /dev/null
@@ -1,6 +0,0 @@
-author: PsiOmegaDelta
-delete-after: True
-
-changes:
- - rscadd: "Synths can now review all law modules that can be found on the station from their law manager."
- - rscadd: "Synths can state these laws if desired, however this is strongly discouraged unless subverted/malfunctioning."