diff --git a/code/WorkInProgress/surgery.dm b/code/WorkInProgress/surgery.dm index ab19b0e525..3989e7d880 100644 --- a/code/WorkInProgress/surgery.dm +++ b/code/WorkInProgress/surgery.dm @@ -308,6 +308,9 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) /datum/surgery_step/fix_vein required_tool = /obj/item/weapon/FixOVein + min_duration = 70 + max_duration = 90 + can_use(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/datum/organ/external/affected = target.get_organ(target_zone) @@ -855,7 +858,8 @@ proc/spread_germs_to_organ(datum/organ/external/E, mob/living/carbon/human/user) target.cores-- user.visible_message("\blue [user] cuts out one of [target]'s cores with \the [tool].",, \ "\blue You cut out one of [target]'s cores with \the [tool]. [target.cores] cores left.") - new/obj/item/metroid_core(target.loc) + if(target.cores >= 0) + new/obj/item/metroid_core(target.loc) if(target.cores <= 0) target.icon_state = "baby roro dead-nocore" diff --git a/code/WorkInProgress/virus2/dishincubator.dm b/code/WorkInProgress/virus2/dishincubator.dm index e6d0da1239..f2aefe07ea 100644 --- a/code/WorkInProgress/virus2/dishincubator.dm +++ b/code/WorkInProgress/virus2/dishincubator.dm @@ -165,5 +165,5 @@ if(beaker) if(!beaker.reagents.remove_reagent("virusfood",5)) foodsupply += 10 - if(!beaker.reagents.remove_reagent("toxins",1)) + if(!beaker.reagents.remove_reagent("toxin",1)) toxins += 1 \ No newline at end of file diff --git a/code/game/objects/items/devices/taperecorder.dm b/code/game/objects/items/devices/taperecorder.dm index e98c28e7dc..555dbe1cae 100644 --- a/code/game/objects/items/devices/taperecorder.dm +++ b/code/game/objects/items/devices/taperecorder.dm @@ -124,8 +124,8 @@ usr << "You can't clear the memory while playing or recording!" return else - storedinfo -= storedinfo - timestamp -= timestamp + if(storedinfo) storedinfo.Cut() + if(timestamp) timestamp.Cut() timerecorded = 0 usr << "Memory cleared." return diff --git a/code/game/objects/items/weapons/kitchen.dm b/code/game/objects/items/weapons/kitchen.dm index b91b5a560d..2ab6bbc9ca 100644 --- a/code/game/objects/items/weapons/kitchen.dm +++ b/code/game/objects/items/weapons/kitchen.dm @@ -86,13 +86,12 @@ else H.Stun(time) if(H.stat != 2) H.stat = 1 - for(var/mob/O in viewers(H, null)) - O.show_message(text("\red [] has been knocked unconscious!", H), 1, "\red You hear someone fall.", 2) + user.visible_message("\red [H] has been knocked unconscious!", "\red You knock [H] unconscious!") + return else - H << text("\red [] tried to knock you unconscious!",user) + H.visible_message("\red [user] tried to knock [H] unconscious!", "\red [user] tried to knock you unconscious!") H.eye_blurry += 3 - - return + return ..() /* * Trays - Agouri diff --git a/code/modules/admin/verbs/adminsay.dm b/code/modules/admin/verbs/adminsay.dm index f567abc87e..8175482402 100644 --- a/code/modules/admin/verbs/adminsay.dm +++ b/code/modules/admin/verbs/adminsay.dm @@ -25,7 +25,7 @@ for (var/client/C in admin_list) if (src.holder.rank == "Admin Observer") C << "ADMIN: [key_name(usr, C)]: [msg]" - else if(C.holder.level != 0) + else if(C.holder && C.holder.level != 0) C << "ADMIN: [key_name(usr, C)] (JMP): [msg]" /client/proc/cmd_mod_say(msg as text) diff --git a/code/modules/mob/living/silicon/robot/emote.dm b/code/modules/mob/living/silicon/robot/emote.dm index 1eb1d159c9..34d0195367 100644 --- a/code/modules/mob/living/silicon/robot/emote.dm +++ b/code/modules/mob/living/silicon/robot/emote.dm @@ -195,10 +195,13 @@ m_type = 2 if("law") - message = "[src] shows its legal authorization barcode." + if (istype(module,/obj/item/weapon/robot_module/security)) + message = "[src] shows its legal authorization barcode." - playsound(src.loc, 'biamthelaw.ogg', 50, 0) - m_type = 2 + playsound(src.loc, 'biamthelaw.ogg', 50, 0) + m_type = 2 + else + src << "You are not THE LAW, pal." else src << text("Invalid Emote: []", act) if ((message && src.stat == 0)) diff --git a/code/modules/paperwork/paper.dm b/code/modules/paperwork/paper.dm index 16fa20c5de..c007425c9b 100644 --- a/code/modules/paperwork/paper.dm +++ b/code/modules/paperwork/paper.dm @@ -226,7 +226,7 @@ /obj/item/weapon/paper/Topic(href, href_list) ..() - if((usr.stat || usr.restrained())) + if(!usr || (usr.stat || usr.restrained())) return if(href_list["write"]) diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 63f9f9ab3d..a0f320873a 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -61,7 +61,7 @@ /obj/machinery/power/smes/proc/chargedisplay() - return round(5.5*charge/capacity) + return round(5.5*charge/(capacity ? capacity : 5e6)) #define SMESRATE 0.05 // rate of internal charge to external power diff --git a/code/modules/research/xenoarchaeology/artifact_analysis.dm b/code/modules/research/xenoarchaeology/artifact_analysis.dm index 1a83768937..5225b650e7 100644 --- a/code/modules/research/xenoarchaeology/artifact_analysis.dm +++ b/code/modules/research/xenoarchaeology/artifact_analysis.dm @@ -221,7 +221,7 @@ findarti++ cur_artifact = A if (findarti == 1) - if(cur_artifact.being_used) + if(cur_artifact && cur_artifact.being_used) var/message = "[src] states, \"Cannot analyse. Excess energy drain is disrupting signal.\"" src.visible_message(message, message) else diff --git a/code/world.dm b/code/world.dm index b73100d519..917ccc1d3c 100644 --- a/code/world.dm +++ b/code/world.dm @@ -18,8 +18,8 @@ src.load_mode() src.load_motd() - src.load_mods() src.load_admins() + src.load_mods() investigate_reset() if (config.usewhitelist) load_whitelist()