From 65f0e0e558942caa3bbde2d4142ddc03fc06fa17 Mon Sep 17 00:00:00 2001 From: MarinaGryphon Date: Fri, 22 Jun 2018 14:42:38 -0500 Subject: [PATCH] Large Multi-Bugfix (#4917) * fixes #4877 * fixes #4797 * fixes #4827 * newscaster formatting fixes, fixes #4907, fixes character limit --- code/game/machinery/newscaster.dm | 4 ++-- code/game/objects/items/weapons/implants/implanter.dm | 8 ++++---- code/game/objects/structures/coathanger.dm | 7 ++++++- code/modules/clothing/under/accessories/accessory.dm | 4 ++++ code/modules/materials/material_recipes.dm | 4 ++-- code/modules/organs/organ.dm | 2 +- code/modules/tables/rack.dm | 3 +++ 7 files changed, 22 insertions(+), 10 deletions(-) diff --git a/code/game/machinery/newscaster.dm b/code/game/machinery/newscaster.dm index 929cc89ab40..cfd6fe2f883 100644 --- a/code/game/machinery/newscaster.dm +++ b/code/game/machinery/newscaster.dm @@ -453,7 +453,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co src.updateUsrDialog() else if(href_list["set_new_message"]) - src.msg = pencode2html(sanitize(input(usr, "Write your Feed story", "Network Channel Handler", "") as message, encode = 0, trim = 0, extra = 0)) + src.msg = pencode2html(sanitize(input(usr, "Write your Feed story", "Network Channel Handler", "") as message, max_length = MAX_BOOK_MESSAGE_LEN, encode = 0, trim = 0, extra = 0)) src.updateUsrDialog() else if(href_list["set_attachment"]) @@ -469,7 +469,7 @@ var/list/obj/machinery/newscaster/allCasters = list() //Global list that will co src.screen=6 else if(paper_data) - src.msg += "
Attachment Name: [paper_name]
Attachment:
[paper_data]
" + src.msg += "
Attachment Name: [paper_name]
Attachment:
[paper_data]
" var/image = photo_data ? photo_data.photo : null feedback_inc("newscaster_stories",1) var/datum/feed_channel/ch = SSnews.GetFeedChannel(src.channel_name) diff --git a/code/game/objects/items/weapons/implants/implanter.dm b/code/game/objects/items/weapons/implants/implanter.dm index 7a971aa7978..f91f442b667 100644 --- a/code/game/objects/items/weapons/implants/implanter.dm +++ b/code/game/objects/items/weapons/implants/implanter.dm @@ -161,7 +161,7 @@ return var/mob/living/carbon/human/H = M - if (!H.species || !isipc(H) || !H.organs_by_name["groin"]) + if (!H.species || !isipc(H) || !H.organs_by_name["head"]) user << "You cannot use this on a non-synthetic organism!" return @@ -178,9 +178,9 @@ user.show_message("You implanted the implant into [M].") - ipc_tag.replaced(H, H.organs_by_name["groin"]) - - qdel(ipc_tag) + ipc_tag.replaced(H, H.organs_by_name["head"]) + + ipc_tag = null update() diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index 08f8a1b94d3..392511ad9a6 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -21,7 +21,7 @@ coat = null update_icon() -/obj/structure/coatrack/attackby(obj/item/weapon/W as obj, mob/user as mob) +/obj/structure/coatrack/attackby(obj/item/W as obj, mob/user as mob) var/can_hang = 0 if(is_type_in_list(W, allowed)) can_hang = 1 @@ -51,4 +51,9 @@ /obj/structure/coatrack/update_icon() cut_overlays() if (coat) + if(istype(coat, /obj/item/clothing/suit/storage/toggle)) + var/obj/item/clothing/suit/storage/toggle/T = coat + if(T.icon_state == T.icon_open) // avoid icon conflicts + T.icon_state = T.icon_closed + T.item_state = T.icon_closed add_overlay("coat_[coat.icon_state]") diff --git a/code/modules/clothing/under/accessories/accessory.dm b/code/modules/clothing/under/accessories/accessory.dm index 4b2dc148de8..9d141377d32 100644 --- a/code/modules/clothing/under/accessories/accessory.dm +++ b/code/modules/clothing/under/accessories/accessory.dm @@ -29,6 +29,8 @@ if(contained_sprite) tmp_icon_state = "[tmp_icon_state]" inv_overlay = image("icon" = icon, "icon_state" = "[tmp_icon_state]_w", dir = SOUTH) + if(color) + inv_overlay.color = color return inv_overlay /obj/item/clothing/accessory/proc/get_mob_overlay() @@ -43,6 +45,8 @@ mob_overlay = image("icon" = icon, "icon_state" = "[tmp_icon_state]") else mob_overlay = image("icon" = INV_ACCESSORIES_DEF_ICON, "icon_state" = "[tmp_icon_state]") + if(color) + mob_overlay.color = color return mob_overlay //when user attached an accessory to S diff --git a/code/modules/materials/material_recipes.dm b/code/modules/materials/material_recipes.dm index b2c2e2dff27..55719d792c1 100644 --- a/code/modules/materials/material_recipes.dm +++ b/code/modules/materials/material_recipes.dm @@ -8,7 +8,6 @@ // If is_brittle() returns true, these are only good for a single strike. recipes += new/datum/stack_recipe("[display_name] baseball bat", /obj/item/weapon/material/twohanded/baseballbat, 10, time = 20, one_per_turf = 0, on_floor = 1, supplied_material = "[name]") - recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] spoon", /obj/item/weapon/material/kitchen/utensil/spoon/plastic, 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] ring", /obj/item/clothing/ring/material, 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] armor plate", /obj/item/weapon/material/armor_plating, 3, time = 20, on_floor = 1, supplied_material = "[name]") @@ -19,7 +18,8 @@ recipes += new/datum/stack_recipe("[display_name] stool", /obj/item/weapon/stool, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] chair", /obj/structure/bed/chair, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] bed", /obj/structure/bed, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") - + if(hardness>=10) + recipes += new/datum/stack_recipe("[display_name] ashtray", /obj/item/weapon/material/ashtray, 2, one_per_turf = 1, on_floor = 1, supplied_material = "[name]") if(hardness>50) recipes += new/datum/stack_recipe("[display_name] fork", /obj/item/weapon/material/kitchen/utensil/fork/plastic, 1, on_floor = 1, supplied_material = "[name]") recipes += new/datum/stack_recipe("[display_name] knife", /obj/item/weapon/material/kitchen/utensil/knife/plastic, 1, on_floor = 1, supplied_material = "[name]") diff --git a/code/modules/organs/organ.dm b/code/modules/organs/organ.dm index 5e57c1ce380..506493e6174 100644 --- a/code/modules/organs/organ.dm +++ b/code/modules/organs/organ.dm @@ -340,7 +340,7 @@ transplant_data["blood_DNA"] = transplant_blood.data["blood_DNA"] owner = target - loc = owner + src.forceMove(owner) STOP_PROCESSING(SSprocessing, src) target.internal_organs |= src affected.internal_organs |= src diff --git a/code/modules/tables/rack.dm b/code/modules/tables/rack.dm index f51a9ec8b30..8bada0b3c0a 100644 --- a/code/modules/tables/rack.dm +++ b/code/modules/tables/rack.dm @@ -13,6 +13,9 @@ verbs -= /obj/structure/table/verb/do_flip verbs -= /obj/structure/table/proc/do_put +/obj/structure/table/rack/remove_material(obj/item/weapon/wrench/W, mob/user) + src.dismantle(W, user) + /obj/structure/table/rack/update_connections() return