mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-09 16:12:17 +00:00
commit f55edb98499b600186be9f58c0d245b454479b74 Author: Verkister <superverkelian@hotmail.com> Date: Sun Apr 8 17:05:19 2018 +0300 we'll see about that whitelist crap later then commit 186ce2aba274c4009c42a730d1ba7c67dddf8ea6 Author: Verkister <superverkelian@hotmail.com> Date: Sun Apr 8 16:32:08 2018 +0300 screw you too travis commit 470789300bda3949de4027dc8e2c25ae8427eaae Author: Verkister <superverkelian@hotmail.com> Date: Sun Apr 8 16:10:29 2018 +0300 Update painter_vr.dm commit e9dee86b0cb84172c95f3a91ba73ce0b2661820c Author: Verkister <superverkelian@hotmail.com> Date: Sun Apr 8 15:51:37 2018 +0300 Update painter_vr.dm
106 lines
2.9 KiB
Plaintext
106 lines
2.9 KiB
Plaintext
/obj/machinery/gear_painter
|
|
name = "Color Mate"
|
|
desc = "A machine to give your apparel a fresh new color! Recommended to use with white items for best results."
|
|
icon = 'icons/obj/vending_vr.dmi'
|
|
icon_state = "colormate"
|
|
density = 1
|
|
anchored = 1
|
|
var/list/processing = list()
|
|
var/activecolor = "#FFFFFF"
|
|
var/list/allowed_types = list(
|
|
/obj/item/clothing,
|
|
/obj/item/weapon/storage/backpack,
|
|
/obj/item/weapon/storage/belt
|
|
)
|
|
|
|
/obj/machinery/gear_painter/update_icon()
|
|
if(panel_open)
|
|
icon_state = "colormate_open"
|
|
else if(inoperable())
|
|
icon_state = "colormate_off"
|
|
else if(processing.len)
|
|
icon_state = "colormate_active"
|
|
else
|
|
icon_state = "colormate"
|
|
|
|
/obj/machinery/gear_painter/Destroy()
|
|
for(var/atom/movable/O in processing)
|
|
O.forceMove(drop_location())
|
|
processing.Cut()
|
|
return ..()
|
|
|
|
/obj/machinery/gear_painter/attackby(obj/item/W as obj, mob/user as mob)
|
|
if(processing.len)
|
|
to_chat(user, "<span class='warning'>The machine is already loaded.</span>")
|
|
return
|
|
if(default_deconstruction_screwdriver(user, W))
|
|
return
|
|
if(default_deconstruction_crowbar(user, W))
|
|
return
|
|
if(default_unfasten_wrench(user, W, 40))
|
|
return
|
|
|
|
if(is_type_in_list(W, allowed_types) && !inoperable())
|
|
user.visible_message("<span class='notice'>[user] inserts \the [W] into the Color Mate receptable.</span>")
|
|
user.drop_from_inventory(W)
|
|
W.forceMove(src)
|
|
processing |= W
|
|
else
|
|
..()
|
|
update_icon()
|
|
|
|
/obj/machinery/gear_painter/attack_hand(mob/user as mob)
|
|
if(..())
|
|
return
|
|
interact(user)
|
|
|
|
/obj/machinery/gear_painter/interact(mob/user as mob)
|
|
if(inoperable())
|
|
return
|
|
user.set_machine(src)
|
|
var/dat = "<TITLE>Color Mate Control Panel</TITLE><BR>"
|
|
if(!processing.len)
|
|
dat += "No item inserted."
|
|
else
|
|
for(var/atom/movable/O in processing)
|
|
dat += "Item inserted: [O]<HR>"
|
|
dat += "<A href='?src=\ref[src];select=1'>Select new color.</A><BR>"
|
|
dat += "Color: <font color='[activecolor]'>⚫</font>"
|
|
dat += "<A href='?src=\ref[src];paint=1'>Apply new color.</A><BR><BR>"
|
|
dat += "<A href='?src=\ref[src];clear=1'>Remove paintjob.</A><BR><BR>"
|
|
dat += "<A href='?src=\ref[src];eject=1'>Eject item.</A><BR><BR>"
|
|
|
|
user << browse(dat, "window=colormate")
|
|
onclose(user, "colormate")
|
|
return
|
|
|
|
/obj/machinery/gear_painter/Topic(href, href_list)
|
|
if(..())
|
|
return
|
|
|
|
usr.set_machine(src)
|
|
add_fingerprint(usr)
|
|
|
|
if(href_list["select"])
|
|
var/newcolor = input(usr, "Choose a color.", "", activecolor) as color|null
|
|
if(newcolor)
|
|
activecolor = newcolor
|
|
|
|
if(href_list["paint"])
|
|
for(var/atom/movable/O in processing)
|
|
O.color = activecolor
|
|
playsound(src.loc, 'sound/effects/spray3.ogg', 50, 1)
|
|
|
|
if(href_list["clear"])
|
|
for(var/atom/movable/O in processing)
|
|
O.color = initial(O.color)
|
|
playsound(src.loc, 'sound/effects/spray3.ogg', 50, 1)
|
|
|
|
if(href_list["eject"])
|
|
for(var/atom/movable/O in processing)
|
|
O.loc = src.loc
|
|
processing.Cut()
|
|
|
|
update_icon()
|
|
updateUsrDialog()
|