diff --git a/code/datums/components/crafting/crafting.dm b/code/datums/components/crafting/crafting.dm
index adf81dda997..77e8e63fbfd 100644
--- a/code/datums/components/crafting/crafting.dm
+++ b/code/datums/components/crafting/crafting.dm
@@ -385,19 +385,19 @@
return
switch(action)
if("make")
+ var/mob/user = usr
var/datum/crafting_recipe/TR = locate(params["recipe"]) in GLOB.crafting_recipes
busy = TRUE
- ui_interact(usr)
- var/atom/movable/result = construct_item(usr, TR)
+ ui_interact(user)
+ var/atom/movable/result = construct_item(user, TR)
if(!istext(result)) //We made an item and didn't get a fail message
- if(ismob(usr)) //In case the user is actually possessing a non mob like a machine
- var/mob/m = usr
- m.put_in_hands(result)
+ if(ismob(user) && isitem(result)) //In case the user is actually possessing a non mob like a machine
+ user.put_in_hands(result)
else
- result.forceMove(usr.loc)
- to_chat(usr, "[TR.name] constructed.")
+ result.forceMove(user.drop_location())
+ to_chat(user, "[TR.name] constructed.")
else
- to_chat(usr, "Construction failed[result]")
+ to_chat(user, "Construction failed[result]")
busy = FALSE
if("toggle_recipes")
display_craftable_only = !display_craftable_only
diff --git a/code/game/machinery/porta_turret/portable_turret_construct.dm b/code/game/machinery/porta_turret/portable_turret_construct.dm
index f06f4d677d8..f2164d03bf3 100644
--- a/code/game/machinery/porta_turret/portable_turret_construct.dm
+++ b/code/game/machinery/porta_turret/portable_turret_construct.dm
@@ -148,6 +148,7 @@
turret.installation = installed_gun.type
turret.setup(installed_gun)
qdel(src)
+ return
else if(I.tool_behaviour == TOOL_CROWBAR)
I.play_tool_sound(src, 75)
diff --git a/code/modules/admin/verbs/adminhelp.dm b/code/modules/admin/verbs/adminhelp.dm
index ea87b445c99..b7db80e2f10 100644
--- a/code/modules/admin/verbs/adminhelp.dm
+++ b/code/modules/admin/verbs/adminhelp.dm
@@ -113,10 +113,10 @@ GLOBAL_DATUM_INIT(ahelp_tickets, /datum/admin_help_tickets, new)
//Dissasociate ticket
/datum/admin_help_tickets/proc/ClientLogout(client/C)
if(C.current_ticket)
- C.current_ticket.AddInteraction("Client disconnected.")
- SSblackbox.LogAhelp(C.current_ticket.id, "Disconnected", "Client disconnected", C.ckey)
- C.current_ticket.initiator = null
- C.current_ticket = null
+ var/datum/admin_help/T = C.current_ticket
+ T.AddInteraction("Client disconnected.")
+ SSblackbox.LogAhelp(T, "Disconnected", "Client disconnected", C.ckey)
+ T.initiator = null
//Get a ticket given a ckey
/datum/admin_help_tickets/proc/CKey2ActiveTicket(ckey)
diff --git a/code/modules/antagonists/abductor/equipment/glands/slime.dm b/code/modules/antagonists/abductor/equipment/glands/slime.dm
index 406ed8d5fb5..30a13107595 100644
--- a/code/modules/antagonists/abductor/equipment/glands/slime.dm
+++ b/code/modules/antagonists/abductor/equipment/glands/slime.dm
@@ -13,9 +13,9 @@
owner.grant_language(/datum/language/slime, TRUE, TRUE, LANGUAGE_GLAND)
/obj/item/organ/heart/gland/slime/Remove(mob/living/carbon/M, special = 0)
- ..()
owner.faction -= "slime"
owner.remove_language(/datum/language/slime, TRUE, TRUE, LANGUAGE_GLAND)
+ ..()
/obj/item/organ/heart/gland/slime/activate()
to_chat(owner, "You feel nauseated!")
diff --git a/code/modules/events/spacevine.dm b/code/modules/events/spacevine.dm
index 47e52a08fbf..b0357e2e4bc 100644
--- a/code/modules/events/spacevine.dm
+++ b/code/modules/events/spacevine.dm
@@ -251,7 +251,7 @@
holder.obj_integrity = holder.max_integrity
/datum/spacevine_mutation/woodening/on_hit(obj/structure/spacevine/holder, mob/living/hitter, obj/item/I, expected_damage)
- if(I.get_sharpness())
+ if(I && I.get_sharpness())
. = expected_damage * 0.5
else
. = expected_damage
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 4c2b8d092d7..4f6710c77d7 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -86,7 +86,7 @@
var/say_starter = "Say \"" //"
if(findtextEx(temp, say_starter, 1, length(say_starter) + 1) && length(temp) > length(say_starter)) //case sensitive means
- temp = trim_left(copytext(temp, length(say_starter + 1)))
+ temp = trim_left(copytext(temp, length(say_starter) + 1))
temp = replacetext(temp, ";", "", 1, 2) //general radio
while(trim_left(temp)[1] == ":") //dept radio again (necessary)
temp = copytext_char(trim_left(temp), 3)