anchor.diff:  /obj/item/assembly/infra
   	name = "infrared emitter"
  -	desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted.\n<span class='notice'>Alt-click to rotate it clockwise.</span>"
  +	desc = "Emits a visible or invisible beam and is triggered when the beam is interrupted."
   	icon_state = "infrared"
   	materials = list(MAT_METAL=1000, MAT_GLASS=500)
   
  
positive.code: 	if(usr)
  		attack_self(usr)
  
  /obj/item/assembly/infra/verb/rotate()//This could likely be better
  	set name = "Rotate Infrared Laser"
  	set category = "Object"
  	set src in usr
  
  	if(!usr.canUseTopic(src, BE_CLOSE, NO_DEXTERY))
  		return
  
  	setDir(turn(dir, -90))
  
  /obj/item/assembly/infra/AltClick(mob/user)
  	..()
  	if(!user.canUseTopic(src, BE_CLOSE, NO_DEXTERY))
  		return
  	else
  		rotate()
  
  /obj/item/assembly/infra/setDir()
  	. = ..()
  	refreshBeam()
  
negative.code: 	. = ..()
  	beams = list()
  	START_PROCESSING(SSobj, src)
  
  /obj/item/assembly/infra/ComponentInitialize()
  	. = ..()
  	AddComponent(
  		/datum/component/simple_rotation,
  		ROTATION_ALTCLICK | ROTATION_CLOCKWISE | ROTATION_COUNTERCLOCKWISE | ROTATION_FLIP | ROTATION_VERBS,
  		null,
  		null,
  		CALLBACK(src,.proc/after_rotation)
  		)
  
  /obj/item/assembly/infra/proc/after_rotation()
  	refreshBeam()
  
  /obj/item/assembly/infra/Destroy()
  	QDEL_LIST(beams)
  