Files
CHOMPStation2/code/game/objects/structures/coathanger.dm
MagmaRam 3e5117e3eb All coats that can be buttoned are now subtypes of /obj/item/clothing/suit/storage/toggle
This includes labcoats, IA jackets, first responder jackets, and the brown leather jackets.

This way, code for button toggling doesn't have to be duplicated for labcoats and other coats, and it's easier to add other types of coats that can be buttoned up if someone wants.
2014-11-11 11:27:11 -05:00

53 lines
1.6 KiB
Plaintext

/obj/structure/coatrack
name = "coat rack"
desc = "Rack that holds coats."
icon = 'icons/obj/coatrack.dmi'
icon_state = "coatrack0"
var/obj/item/clothing/suit/coat
var/list/allowed = list(/obj/item/clothing/suit/storage/labcoat, /obj/item/clothing/suit/storage/det_suit)
/obj/structure/coatrack/attack_hand(mob/user as mob)
user.visible_message("[user] takes [coat] off \the [src].", "You take [coat] off the \the [src]")
if(!user.put_in_active_hand(coat))
coat.loc = get_turf(user)
coat = null
update_icon()
/obj/structure/coatrack/attackby(obj/item/weapon/W as obj, mob/user as mob)
var/can_hang = 0
for (var/T in allowed)
if(istype(W,T))
can_hang = 1
if (can_hang && !coat)
user.visible_message("[user] hangs [W] on \the [src].", "You hang [W] on the \the [src]")
coat = W
user.drop_item(src)
coat.loc = src
update_icon()
else
user << "<span class='notice'>You cannot hang [W] on [src]</span>"
return ..()
/obj/structure/coatrack/CanPass(atom/movable/mover, turf/target, height=0, air_group=0)
var/can_hang = 0
for (var/T in allowed)
if(istype(mover,T))
can_hang = 1
if (can_hang && !coat)
src.visible_message("[mover] lands on \the [src].")
coat = mover
coat.loc = src
update_icon()
return 0
else
return 1
/obj/structure/coatrack/update_icon()
overlays.Cut()
if (istype(coat, /obj/item/clothing/suit/storage/toggle/labcoat))
overlays += image(icon, icon_state = "coat_lab")
if (istype(coat, /obj/item/clothing/suit/storage/toggle/labcoat/cmo))
overlays += image(icon, icon_state = "coat_cmo")
if (istype(coat, /obj/item/clothing/suit/storage/det_suit))
overlays += image(icon, icon_state = "coat_det")