Merge pull request #6634 from Citadel-Station-13/upstream-merge-37625

[MIRROR] Updates infrared emitters to use the rotate component
This commit is contained in:
LetterJay
2018-05-04 23:22:36 -05:00
committed by GitHub
+14 -18
View File
@@ -1,6 +1,6 @@
/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)
@@ -16,6 +16,19 @@
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)
return ..()
@@ -157,23 +170,6 @@
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()