diff --git a/code/game/objects/items/devices/electrochromatic_kit.dm b/code/game/objects/items/devices/electrochromatic_kit.dm index aae886d397..d582eab00e 100644 --- a/code/game/objects/items/devices/electrochromatic_kit.dm +++ b/code/game/objects/items/devices/electrochromatic_kit.dm @@ -1,7 +1,6 @@ /obj/item/electronics/electrochromatic_kit name = "electrochromatic kit" desc = "A kit for upgrading a window into an electrochromatic one." - icon = 'icons/obj/device.dmi' /// Electrochromatic ID var/id diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 796db7a9c6..a8c6dfb898 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -211,9 +211,6 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(istype(I, /obj/item/electronics/electrochromatic_kit) && user.a_intent == INTENT_HELP) var/obj/item/electronics/electrochromatic_kit/K = I - if(!user.temporarilyRemoveItemFromInventory(K)) - to_chat(user, "[K] is stuck to your hand!") - return if(electrochromatic_status != NOT_ELECTROCHROMATIC) to_chat(user, "[src] is already electrochromatic!") return @@ -223,6 +220,9 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(!K.id) to_chat(user, "[K] has no ID set!") return + if(!user.temporarilyRemoveItemFromInventory(K)) + to_chat(user, "[K] is stuck to your hand!") + return user.visible_message("[user] upgrades [src] with [I].", "You upgrade [src] with [I].") make_electrochromatic(K.id) qdel(K) @@ -341,8 +341,10 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if(electrochromatic_id) GLOB.electrochromatic_window_lookup[electrochromatic_id] += src -/obj/structure/window/proc/make_electrochromatic(new_id) +/obj/structure/window/proc/make_electrochromatic(new_id = electrochromatic_id) remove_electrochromatic() + if(!new_id) + CRASH("Attempted to make electrochromatic with null ID.") electrochromatic_id = new_id electrochromatic_status = ELECTROCHROMATIC_OFF LAZYINITLIST(GLOB.electrochromatic_window_lookup["[electrochromatic_id]"]) @@ -352,7 +354,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup) if((electrochromatic_status != ELECTROCHROMATIC_OFF) && (electrochromatic_status != ELECTROCHROMATIC_DIMMED)) return FALSE . = ..() - if(color_hex2num(color) < 255) + if(color && (color_hex2num(color) < 255)) set_opacity(255) else set_opacity(FALSE) diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm index 41b063f43e..32e262ce65 100644 --- a/code/modules/assembly/doorcontrol.dm +++ b/code/modules/assembly/doorcontrol.dm @@ -26,8 +26,6 @@ /obj/item/assembly/control/attack_self(mob/living/user) . = ..() - if(.) - return if(!can_change_id) return var/new_id