From 98ba7e4699a0f5d73c41c38d690e929e40674d49 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 4 Nov 2013 22:36:22 +0400 Subject: [PATCH 01/13] Fixes zombie goast tableflips --- code/game/objects/structures/tables_racks.dm | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index f95a2b5d934..9b71db347a6 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -408,14 +408,22 @@ return 0 return T.straight_table_check(direction) +/obj/structure/table/verb/can_touch(var/mob/user) + if (!user) + return 0 + if (usr.stat) //zombie goasts go away + return 0 + if (issilicon(usr)) + usr << "You need hands for this." + return 0 + return 1 + /obj/structure/table/verb/do_flip() set name = "Flip table" set desc = "Flips a non-reinforced table" set category = "Object" set src in oview(1) - - if (issilicon(usr)) - usr << "You need hands for this." + if (!can_touch(usr)) return if(!flip(get_cardinal_dir(usr,src))) usr << "It won't budge." @@ -446,6 +454,9 @@ set category = "Object" set src in oview(1) + if (!can_touch(usr)) + return + if (!unflipping_check()) usr << "It won't budge." return From 9c6a51b3fba6c8f1fc001a15b43b05282be4e7e6 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Mon, 4 Nov 2013 22:38:55 +0400 Subject: [PATCH 02/13] Commens out debuglog spam in side effects --- code/WorkInProgress/Cib/MedicalSideEffects.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/WorkInProgress/Cib/MedicalSideEffects.dm b/code/WorkInProgress/Cib/MedicalSideEffects.dm index 3419cf54426..c11f62a78ef 100644 --- a/code/WorkInProgress/Cib/MedicalSideEffects.dm +++ b/code/WorkInProgress/Cib/MedicalSideEffects.dm @@ -60,18 +60,18 @@ for (var/datum/medical_effect/M in side_effects) if (!M) continue var/strength_percent = sin((life_tick - M.start) / 2) - log_debug ("[src], tick [life_tick] : Processing [M], Current phase: [strength_percent]") +// log_debug ("[src], tick [life_tick] : Processing [M], Current phase: [strength_percent]") // Only do anything if the effect is currently strong enough if(strength_percent >= 0.4) log_debug ("[src], tick [life_tick] : Active phase ; strength [M.strength]") if (M.cure(src) || M.strength > 50) - log_debug ("[src], tick [life_tick] : [M] cured or reached end of lifecycle") +// log_debug ("[src], tick [life_tick] : [M] cured or reached end of lifecycle") side_effects -= M del(M) else if(life_tick % 45 == 0) - log_debug ("[src], tick [life_tick] : Activating [M] ") +// log_debug ("[src], tick [life_tick] : Activating [M] ") M.on_life(src, strength_percent*M.strength) // Effect slowly growing stronger M.strength+=0.08 From 15a2bcc54f873031c881d8c929b6f29042b7ec58 Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Mon, 4 Nov 2013 13:07:03 -0800 Subject: [PATCH 03/13] Fix so bans can work again. --- code/modules/admin/DB ban/functions.dm | 2 +- code/modules/admin/topic.dm | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index ad60ecf4960..d656e5f2998 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -1,7 +1,7 @@ datum/admins/proc/DB_ban_record(var/bantype, var/mob/banned_mob, var/duration = -1, var/reason, var/job = "", var/rounds = 0, var/banckey = null) - if(!check_rights(R_BAN)) return + if(!check_rights(R_BAN | R_MOD)) return establish_db_connection() if(!dbcon.IsConnected()) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index a95b9d625ea..f1c911488ab 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -685,6 +685,7 @@ if(notbannedlist.len) //at least 1 unbanned job exists in joblist so we have stuff to ban. switch(alert("Temporary Ban?",,"Yes","No", "Cancel")) if("Yes") + if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) return if(config.ban_legacy_system) usr << "\red Your server is using the legacy banning system, which does not support temporary job bans. Consider upgrading. Aborting ban." return @@ -846,7 +847,7 @@ del(M.client) //del(M) // See no reason why to delete mob. Important stuff can be lost. And ban can be lifted before round ends. if("No") - if(check_rights(R_BAN)) return + if(!check_rights(R_BAN)) return var/reason = input(usr,"Reason?","reason","Griefer") as text|null if(!reason) return From 3a425c60951a7297e7ca1041180be13afecd83ab Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Nov 2013 01:08:31 +0400 Subject: [PATCH 04/13] Another uncommented log debug line. --- code/modules/virus2/helpers.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 104795c6172..d1116bb8441 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -101,7 +101,7 @@ proc/airborne_can_reach(turf/source, turf/target) // log_debug("Spreading [vector] diseases from [src] to [victim]") if (virus2.len > 0) for (var/ID in virus2) - log_debug("Attempting virus [ID]") +// log_debug("Attempting virus [ID]") var/datum/disease2/disease/V = virus2[ID] if(V.spreadtype != vector) continue From c20c84b32885df260a5d14506a2298895e889901 Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Mon, 4 Nov 2013 13:10:33 -0800 Subject: [PATCH 05/13] Dun goofed --- code/modules/admin/DB ban/functions.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index d656e5f2998..804116fedea 100644 --- a/code/modules/admin/DB ban/functions.dm +++ b/code/modules/admin/DB ban/functions.dm @@ -1,7 +1,7 @@ datum/admins/proc/DB_ban_record(var/bantype, var/mob/banned_mob, var/duration = -1, var/reason, var/job = "", var/rounds = 0, var/banckey = null) - if(!check_rights(R_BAN | R_MOD)) return + if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) return establish_db_connection() if(!dbcon.IsConnected()) From 40e862fe00e2e5d3bf20c5d74cf9adc12d834b36 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Nov 2013 01:13:49 +0400 Subject: [PATCH 06/13] GC's virus dummies #whoa #derp --- code/modules/virus2/helpers.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index d1116bb8441..520f7931ec4 100644 --- a/code/modules/virus2/helpers.dm +++ b/code/modules/virus2/helpers.dm @@ -48,7 +48,8 @@ proc/airborne_can_reach(turf/source, turf/target) for(var/i=0, i<5, i++) if(!step_towards(dummy, target)) break var/rval = (dummy.loc in range(1,target)) - del dummy + dummy.loc = null + dummy = null return rval //Attemptes to infect mob M with virus. Set forced to 1 to ignore protective clothnig From 2f4975871dcdf5317884d27971361c9f6c32f30b Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Nov 2013 01:24:41 +0400 Subject: [PATCH 07/13] Unticked bad viruses event. Gene engineering only now, folks. --- baystation12.dme | 1 - 1 file changed, 1 deletion(-) diff --git a/baystation12.dme b/baystation12.dme index 2a699386a96..a5cf03ea1e6 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -800,7 +800,6 @@ #include "code\modules\events\spider_infestation.dm" #include "code\modules\events\spontaneous_appendicitis.dm" #include "code\modules\events\viral_infection.dm" -#include "code\modules\events\viral_outbreak.dm" #include "code\modules\events\wallrot.dm" #include "code\modules\ext_scripts\irc.dm" #include "code\modules\ext_scripts\python.dm" From 5df1b3c0d4114f65a18e8fecacd9a63733a101a4 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Nov 2013 03:17:44 +0400 Subject: [PATCH 08/13] derp --- code/modules/events/event_dynamic.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/modules/events/event_dynamic.dm b/code/modules/events/event_dynamic.dm index 07208e5b656..93142e02614 100644 --- a/code/modules/events/event_dynamic.dm +++ b/code/modules/events/event_dynamic.dm @@ -76,7 +76,7 @@ var/list/event_last_fired = list() if(active_with_role["Medical"] > 0) possibleEvents[/datum/event/radiation_storm] = active_with_role["Medical"] * 50 possibleEvents[/datum/event/spontaneous_appendicitis] = active_with_role["Medical"] * 150 - possibleEvents[/datum/event/viral_outbreak] = active_with_role["Medical"] * 10 + possibleEvents[/datum/event/viral_infection] = active_with_role["Medical"] * 10 possibleEvents[/datum/event/organ_failure] = active_with_role["Medical"] * 50 possibleEvents[/datum/event/prison_break] = active_with_role["Security"] * 50 @@ -92,7 +92,7 @@ var/list/event_last_fired = list() var/time_passed = world.time - event_last_fired[event_type] var/full_recharge_after = 60 * 60 * 10 * 3 // 3 hours var/weight_modifier = max(0, (full_recharge_after - time_passed) / 300) - + possibleEvents[event_type] = max(possibleEvents[event_type] - weight_modifier, 0) var/picked_event = pickweight(possibleEvents) From b7edb181ed244cabdbceb49451e4c3b1a26291a4 Mon Sep 17 00:00:00 2001 From: Chinsky Date: Tue, 5 Nov 2013 03:59:39 +0400 Subject: [PATCH 09/13] Where can I get my idiot certificate. --- code/game/objects/structures/tables_racks.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 9b71db347a6..16c5be21a88 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -411,10 +411,10 @@ /obj/structure/table/verb/can_touch(var/mob/user) if (!user) return 0 - if (usr.stat) //zombie goasts go away + if (user.stat) //zombie goasts go away return 0 - if (issilicon(usr)) - usr << "You need hands for this." + if (issilicon(user)) + user << "You need hands for this." return 0 return 1 From 3aa8d088bde065eff509e28790139ff07a634025 Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Tue, 5 Nov 2013 22:24:02 -0800 Subject: [PATCH 10/13] cleanbot now cleans mucus --- code/game/machinery/bots/cleanbot.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/game/machinery/bots/cleanbot.dm b/code/game/machinery/bots/cleanbot.dm index d0345f60905..aa274e505eb 100644 --- a/code/game/machinery/bots/cleanbot.dm +++ b/code/game/machinery/bots/cleanbot.dm @@ -298,6 +298,7 @@ text("[src.oddbutton ? "Yes" : "No" target_types += /obj/effect/decal/cleanable/robot_debris target_types += /obj/effect/decal/cleanable/crayon target_types += /obj/effect/decal/cleanable/liquid_fuel + target_types += /obj/effect/decal/cleanable/mucus if(src.blood) target_types += /obj/effect/decal/cleanable/xenoblood/ From 4dae789cb587409ddddc571ec6b133a2697f8083 Mon Sep 17 00:00:00 2001 From: ZekeSulastin Date: Wed, 6 Nov 2013 19:37:56 -0500 Subject: [PATCH 11/13] Fixes duplicate beaker on Eject Occupant --- code/game/dna/dna_modifier.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 45a6c52a259..28598b175bb 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -52,7 +52,7 @@ /obj/machinery/dna_scannernew/proc/eject_occupant() src.go_out() for(var/obj/O in src) - if((!istype(O,/obj/item/weapon/circuitboard/clonescanner)) && (!istype(O,/obj/item/weapon/stock_parts)) && (!istype(O,/obj/item/weapon/cable_coil))) + if((!istype(O,/obj/item/weapon/reagent_containers)) && (!istype(O,/obj/item/weapon/circuitboard/clonescanner)) && (!istype(O,/obj/item/weapon/stock_parts)) && (!istype(O,/obj/item/weapon/cable_coil))) O.loc = get_turf(src)//Ejects items that manage to get in there (exluding the components) if(!occupant) for(var/mob/M in src)//Failsafe so you can get mobs out From ee34d281f9e24ceb018d7f8228ad39785a9d92e0 Mon Sep 17 00:00:00 2001 From: Kilakk Date: Thu, 7 Nov 2013 18:54:42 -0500 Subject: [PATCH 12/13] Fixes #3890, gave Aloe a more reasonable boozepwr --- code/modules/reagents/Chemistry-Reagents.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index 2121ce13aa7..4ff26510884 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -3460,7 +3460,7 @@ datum id = "aloe" description = "So very, very, very good." color = "#664300" // rgb: 102, 67, 0 - boozepwr = 35 + boozepwr = 3 ethanol/andalusia name = "Andalusia" From 7c59c41b13e33d5af88579bdec463fafb35948b3 Mon Sep 17 00:00:00 2001 From: DJSnapshot Date: Thu, 7 Nov 2013 16:02:57 -0800 Subject: [PATCH 13/13] Fix for fire alarms in Mining and Research outpost so they actually will change status depending on the alert level of the station. --- code/game/machinery/alarm.dm | 2 +- code/modules/security levels/security levels.dm | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index ae75617ccf6..f2a069c4543 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -1511,7 +1511,7 @@ FIRE ALARM pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 - if(z == 1) + if(z == 1 || z == 5) if(security_level) src.overlays += image('icons/obj/monitors.dmi', "overlay_[get_security_level()]") else diff --git a/code/modules/security levels/security levels.dm b/code/modules/security levels/security levels.dm index 28563c3b488..b0cc3d1c92e 100644 --- a/code/modules/security levels/security levels.dm +++ b/code/modules/security levels/security levels.dm @@ -25,7 +25,7 @@ world << "[config.alert_desc_green]" security_level = SEC_LEVEL_GREEN for(var/obj/machinery/firealarm/FA in machines) - if(FA.z == 1) + if(FA.z == 1 || FA.z == 5) FA.overlays = list() FA.overlays += image('icons/obj/monitors.dmi', "overlay_green") if(SEC_LEVEL_BLUE) @@ -37,7 +37,7 @@ world << "[config.alert_desc_blue_downto]" security_level = SEC_LEVEL_BLUE for(var/obj/machinery/firealarm/FA in machines) - if(FA.z == 1) + if(FA.z == 1 || FA.z == 5) FA.overlays = list() FA.overlays += image('icons/obj/monitors.dmi', "overlay_blue") if(SEC_LEVEL_RED) @@ -55,7 +55,7 @@ CC.post_status("alert", "redalert")*/ for(var/obj/machinery/firealarm/FA in machines) - if(FA.z == 1) + if(FA.z == 1 || FA.z == 5) FA.overlays = list() FA.overlays += image('icons/obj/monitors.dmi', "overlay_red") @@ -64,7 +64,7 @@ world << "[config.alert_desc_delta]" security_level = SEC_LEVEL_DELTA for(var/obj/machinery/firealarm/FA in machines) - if(FA.z == 1) + if(FA.z == 1 || FA.z == 5) FA.overlays = list() FA.overlays += image('icons/obj/monitors.dmi', "overlay_delta") else