diff --git a/code/modules/lighting/lighting_source.dm b/code/modules/lighting/lighting_source.dm index 23858096319..44ed0ef569a 100644 --- a/code/modules/lighting/lighting_source.dm +++ b/code/modules/lighting/lighting_source.dm @@ -79,7 +79,8 @@ return FALSE LAZYADD(new_atom_host.light_sources, src) - if(ismovable(new_atom_host) && new_atom_host == source_atom) + //yes, we register the signal to the top atom too, this is intentional and ensures contained lighting updates properly + if(ismovable(new_atom_host)) RegisterSignal(new_atom_host, COMSIG_MOVABLE_MOVED, PROC_REF(update_host_lights)) return TRUE @@ -89,7 +90,7 @@ return FALSE LAZYREMOVE(old_atom_host.light_sources, src) - if(ismovable(old_atom_host) && old_atom_host == source_atom) + if(ismovable(old_atom_host)) UnregisterSignal(old_atom_host, COMSIG_MOVABLE_MOVED) return TRUE