diff --git a/baystation12.dme b/baystation12.dme index c7b9bec62cc..35a7237aa16 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -803,7 +803,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" 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 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 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/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/ diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index f95a2b5d934..16c5be21a88 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 (user.stat) //zombie goasts go away + return 0 + if (issilicon(user)) + user << "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 diff --git a/code/modules/admin/DB ban/functions.dm b/code/modules/admin/DB ban/functions.dm index ad60ecf4960..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)) return + if(!check_rights(R_MOD,0) && !check_rights(R_BAN)) 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 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) diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index beb594d9bc2..363908c5487 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -3467,7 +3467,7 @@ datum id = "aloe" description = "So very, very, very good." color = "#664300" // rgb: 102, 67, 0 - boozepwr = 35 + boozepwr = 3 ethanol/andalusia name = "Andalusia" 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 diff --git a/code/modules/virus2/helpers.dm b/code/modules/virus2/helpers.dm index 104795c6172..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 @@ -101,7 +102,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