mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-03 14:03:25 +00:00
77 lines
2.1 KiB
Plaintext
77 lines
2.1 KiB
Plaintext
/obj/item/frame
|
|
name = "frame"
|
|
desc = "Used for building machines."
|
|
icon = 'icons/obj/monitors.dmi'
|
|
icon_state = "fire_bitem"
|
|
flags = CONDUCT
|
|
var/build_machine_type
|
|
var/refund_amt = 2
|
|
var/refund_type = /obj/item/stack/material/steel
|
|
var/reverse = 0 //if resulting object faces opposite its dir (like light fixtures)
|
|
|
|
/obj/item/frame/attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
if (istype(W, /obj/item/weapon/wrench))
|
|
new refund_type( get_turf(src.loc), refund_amt)
|
|
qdel(src)
|
|
return
|
|
..()
|
|
|
|
/obj/item/frame/proc/try_build(turf/on_wall)
|
|
if(!build_machine_type)
|
|
return
|
|
|
|
if (get_dist(on_wall,usr)>1)
|
|
return
|
|
|
|
var/ndir
|
|
if(reverse)
|
|
ndir = get_dir(usr,on_wall)
|
|
else
|
|
ndir = get_dir(on_wall,usr)
|
|
|
|
if (!(ndir in cardinal))
|
|
return
|
|
|
|
var/turf/loc = get_turf(usr)
|
|
var/area/A = loc.loc
|
|
if (!istype(loc, /turf/simulated/floor))
|
|
usr << "<span class='danger'>\The [src] Alarm cannot be placed on this spot.</span>"
|
|
return
|
|
if (A.requires_power == 0 || A.name == "Space")
|
|
usr << "<span class='danger'>\The [src] Alarm cannot be placed in this area.</span>"
|
|
return
|
|
|
|
if(gotwallitem(loc, ndir))
|
|
usr << "<span class='danger'>There's already an item on this wall!</span>"
|
|
return
|
|
|
|
var/obj/machinery/M = new build_machine_type(loc, ndir, 1)
|
|
M.fingerprints = src.fingerprints
|
|
M.fingerprintshidden = src.fingerprintshidden
|
|
M.fingerprintslast = src.fingerprintslast
|
|
qdel(src)
|
|
|
|
/obj/item/frame/fire_alarm
|
|
name = "fire alarm frame"
|
|
desc = "Used for building fire alarms."
|
|
build_machine_type = /obj/machinery/firealarm
|
|
|
|
/obj/item/frame/air_alarm
|
|
name = "air alarm frame"
|
|
desc = "Used for building air alarms."
|
|
build_machine_type = /obj/machinery/alarm
|
|
|
|
/obj/item/frame/light
|
|
name = "light fixture frame"
|
|
desc = "Used for building lights."
|
|
icon = 'icons/obj/lighting.dmi'
|
|
icon_state = "tube-construct-item"
|
|
build_machine_type = /obj/machinery/light_construct
|
|
reverse = 1
|
|
|
|
/obj/item/frame/light/small
|
|
name = "small light fixture frame"
|
|
icon_state = "bulb-construct-item"
|
|
refund_amt = 1
|
|
build_machine_type = /obj/machinery/light_construct/small
|