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