From 4a69d0a4f7a29db090049521cd10a327f5acf44c Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 2 Jun 2015 13:40:53 +0200 Subject: [PATCH 1/9] More MayRespawn checks. Astral projecting wizards/cultists may no longer respawn as something else. --- code/modules/mob/dead/observer/observer.dm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 5f1c1cb7b77..e9f000eb3f2 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -620,6 +620,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp return 1 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." From 971308f42bc5e914a6be35f11c9a1e13701f1d2b Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 2 Jun 2015 13:41:56 +0200 Subject: [PATCH 2/9] Changelog entry. --- html/changelogs/PsiOmegaDelta-MayRespawn.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-MayRespawn.yml diff --git a/html/changelogs/PsiOmegaDelta-MayRespawn.yml b/html/changelogs/PsiOmegaDelta-MayRespawn.yml new file mode 100644 index 00000000000..eff6f0e298f --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-MayRespawn.yml @@ -0,0 +1,5 @@ +author: PsiOmegaDelta +delete-after: True + +changes: + - bugfix: "Astral projecting mobs, such as wizards or cultists, may no longer respawn as something else while their body lives." From 5ed365d96b89780cce8a58c04effd7361307b4ee Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 2 Jun 2015 18:34:47 +0300 Subject: [PATCH 3/9] Saves rank and time too in cryopod logs. It's usually very hard to guess who all those people are on pure name list, and purging records screws over investigations enough as it is :< --- code/game/machinery/cryopod.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 9e7e82c0c3c..95b7b500e66 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -393,7 +393,7 @@ 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]") visible_message("\The [initial(name)] hums and hisses as it moves [occupant.real_name] into storage.", 3) From f8cfd491f72012ce37e7bc794612fd8101fed880 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 2 Jun 2015 18:38:49 +0300 Subject: [PATCH 4/9] Now with radios --- code/game/machinery/cryopod.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 95b7b500e66..4de14cf246a 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -395,7 +395,7 @@ //Make an announcement and log the person entering storage. 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. From 5a2933bb4ff3b04b100992f114d8bf7698e84c85 Mon Sep 17 00:00:00 2001 From: GinjaNinja32 Date: Tue, 2 Jun 2015 20:39:03 +0100 Subject: [PATCH 5/9] Fixes #9645 --- code/modules/economy/EFTPOS.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/economy/EFTPOS.dm b/code/modules/economy/EFTPOS.dm index 8758613f8d8..b1db16a40fa 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
" From bf231a2925a7174802854a5d358f88cc5764e3a4 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 2 Jun 2015 22:33:26 -0400 Subject: [PATCH 6/9] Fixes #9600 All atmos machines now reset last_flow_rate and last_power_draw when processing. --- code/ATMOSPHERICS/atmospherics.dm | 3 +++ 1 file changed, 3 insertions(+) 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) From 17008aa7edb5318f3a1cfbb26732e24e7d7479e5 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 2 Jun 2015 22:51:45 -0400 Subject: [PATCH 7/9] Copies vent pump hibernation over to scrubbers --- code/ATMOSPHERICS/components/unary/vent_scrubber.dm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/code/ATMOSPHERICS/components/unary/vent_scrubber.dm b/code/ATMOSPHERICS/components/unary/vent_scrubber.dm index 63a0549acc8..17fd823dcca 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") @@ -125,8 +126,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 @@ -148,6 +149,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) From 61469d312ad4659416c7925751d9b670ced6d174 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Tue, 2 Jun 2015 22:52:35 -0400 Subject: [PATCH 8/9] Fixes scrubber power draw --- code/ATMOSPHERICS/_atmospherics_helpers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/ATMOSPHERICS/_atmospherics_helpers.dm b/code/ATMOSPHERICS/_atmospherics_helpers.dm index 5ea54e7a56d..47bd739a952 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)) From 086517f988fd462aed649b2760881f78e1f3c203 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Wed, 3 Jun 2015 17:57:57 +0200 Subject: [PATCH 9/9] Closes a span class. Has somehow gone unnoticed until now. --- code/modules/admin/verbs/adminpm.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/verbs/adminpm.dm b/code/modules/admin/verbs/adminpm.dm index 2c0889f3b26..2c9f0057779 100644 --- a/code/modules/admin/verbs/adminpm.dm +++ b/code/modules/admin/verbs/adminpm.dm @@ -136,7 +136,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)