diff --git a/code/controllers/subsystem/mapping.dm b/code/controllers/subsystem/mapping.dm
index ffda2731b1..526e4b98e3 100644
--- a/code/controllers/subsystem/mapping.dm
+++ b/code/controllers/subsystem/mapping.dm
@@ -590,5 +590,4 @@ GLOBAL_LIST_EMPTY(the_station_areas)
var/key = "[original]%[id_type]"
if(random_generated_ids_by_original[key])
return random_generated_ids_by_original[key]
- random_generated_ids_by_original[key] = "[obfuscation_secret]%[obfuscation_next++]"
- return value
+ . = random_generated_ids_by_original[key] = "[obfuscation_secret]%[obfuscation_next_id++]"
diff --git a/code/datums/components/crafting/recipes/recipes_misc.dm b/code/datums/components/crafting/recipes/recipes_misc.dm
index b26755d4ac..940e6c134f 100644
--- a/code/datums/components/crafting/recipes/recipes_misc.dm
+++ b/code/datums/components/crafting/recipes/recipes_misc.dm
@@ -236,7 +236,7 @@
/datum/crafting_recipe/electrochromatic_kit
name = "Electrochromatic Kit"
result = /obj/item/electronics/electrochromatic_kit
- reqs = list(/obj/item/stack/metal = 1,
+ reqs = list(/obj/item/stack/sheet/metal = 1,
/obj/item/stack/cable_coil = 1)
time = 5
subcategory = CAT_MISCELLANEOUS
diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm
index 1a5ebf17e0..143024bf97 100644
--- a/code/game/objects/structures/window.dm
+++ b/code/game/objects/structures/window.dm
@@ -8,12 +8,11 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
var/list/windows = GLOB.electrochromatic_window_lookup["[id]"]
if(!windows)
return
- var/obj/structure/window/W = i
+ var/obj/structure/window/W //define outside for performance because obviously this matters.
for(var/i in windows)
W = i
new_status? W.electrochromatic_dim() : W.electrochromatic_off()
-
/obj/structure/window
name = "window"
desc = "A window."
@@ -215,7 +214,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
if(!user.temporarilyRemoveItemFromInventory(K))
to_chat(user, "[K] is stuck to your hand!")
return
- if(is_electrochromatic)
+ if(electrochromatic_status != NOT_ELECTROCHROMATIC)
to_chat(user, "[src] is already electrochromatic!")
return
if(anchored)
@@ -292,7 +291,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
/obj/structure/window/proc/electrochromatic_off()
if(electrochromatic_status == ELECTROCHROMATIC_OFF)
return
- electrochromatic_on = FALSE
+ electrochromatic_status = ELECTROCHROMATIC_OFF
var/current = color
update_atom_colour()
var/newcolor = color
@@ -406,7 +405,7 @@ GLOBAL_LIST_EMPTY(electrochromatic_window_lookup)
for(var/obj/item/shard/debris in spawnDebris(drop_location()))
transfer_fingerprints_to(debris) // transfer fingerprints to shards only
if(electrochromatic_status != NOT_ELECTROCHROMATIC) //eh fine keep your kit.
- new /obj/item/electrochromatic_kit/K(drop_location())
+ new /obj/item/electronics/electrochromatic_kit/K(drop_location())
// Intentionally not setting the ID so you can't decon one to know all of the IDs.
qdel(src)
update_nearby_icons()
diff --git a/code/modules/assembly/doorcontrol.dm b/code/modules/assembly/doorcontrol.dm
index 3c2d9fbce3..41b063f43e 100644
--- a/code/modules/assembly/doorcontrol.dm
+++ b/code/modules/assembly/doorcontrol.dm
@@ -11,7 +11,7 @@
var/show_id = TRUE
var/cooldown = FALSE //Door cooldowns
-/obj/item/assembly/Initialize(mapload)
+/obj/item/assembly/control/Initialize(mapload)
if(mapload && id)
if(copytext(id, 1, 2) == "!")
id = SSmapping.get_obfuscated_id(id)
@@ -166,4 +166,4 @@
/obj/item/assembly/control/electrochromatic/activate()
on = !on
- SEND_GLOBAL_SIGNAL(COMSIG_GLOB_ELECTROCHROMATIC_WINDOW_TOGGLE, on, id)
+ do_electrochromatic_toggle(on, id)