From e40e22da6ba35cc84bd31417725f8b8df655b82a Mon Sep 17 00:00:00 2001 From: AnturK Date: Mon, 10 Feb 2020 16:50:36 +0100 Subject: [PATCH] Another runtime fixes batch. (#49209) * Slime gland runtime fix. * Logout ahelp logging runtime. * Crafting non-items runtime. * Turret building runtime. * spacevine runtime. * forcesay runtime fix. * One less var --- code/datums/components/crafting/crafting.dm | 16 ++++++++-------- .../porta_turret/portable_turret_construct.dm | 1 + code/modules/admin/verbs/adminhelp.dm | 8 ++++---- .../abductor/equipment/glands/slime.dm | 2 +- code/modules/events/spacevine.dm | 2 +- code/modules/mob/living/carbon/human/say.dm | 2 +- 6 files changed, 16 insertions(+), 15 deletions(-) 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)