Files
Bubberstation/code/game/objects/structures/dresser.dm
T
ChungusGamer666 316767fc07 SPECIES NUKING 2023: Nukes species_traits, good night sweet prince (#76297)
## About The Pull Request

IT'S OVER.

## Why It's Good For The Game

Species traits are a relic of a time before the trait system was added
to generalize this kind of behavior.
They are clunky and overall less useful than inherent_traits -
Converting these makes it easier to make these behaviors modular and
usable not only by species.

## Changelog

🆑
refactor: A significant species refactor happened, report any issues on
the github.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-06-29 08:28:17 +02:00

63 lines
2.2 KiB
Plaintext

/obj/structure/dresser
name = "dresser"
desc = "A nicely-crafted wooden dresser. It's filled with lots of undies."
icon = 'icons/obj/stationobjs.dmi'
icon_state = "dresser"
resistance_flags = FLAMMABLE
density = TRUE
anchored = TRUE
/obj/structure/dresser/attackby(obj/item/I, mob/user, params)
if(I.tool_behaviour == TOOL_WRENCH)
to_chat(user, span_notice("You begin to [anchored ? "unwrench" : "wrench"] [src]."))
if(I.use_tool(src, user, 20, volume=50))
to_chat(user, span_notice("You successfully [anchored ? "unwrench" : "wrench"] [src]."))
set_anchored(!anchored)
else
return ..()
/obj/structure/dresser/deconstruct(disassembled = TRUE)
if(!(flags_1 & NODECONSTRUCT_1))
new /obj/item/stack/sheet/mineral/wood(drop_location(), 10)
qdel(src)
/obj/structure/dresser/attack_hand(mob/user, list/modifiers)
. = ..()
if(.)
return
if(!Adjacent(user))//no tele-grooming
return
if(!ishuman(user))
return
var/mob/living/carbon/human/dressing_human = user
if(HAS_TRAIT(dressing_human, TRAIT_NO_UNDERWEAR))
to_chat(dressing_human, span_warning("You are not capable of wearing underwear."))
return
var/choice = tgui_input_list(user, "Underwear, Undershirt, or Socks?", "Changing", list("Underwear","Underwear Color","Undershirt","Socks"))
if(isnull(choice))
return
if(!Adjacent(user))
return
switch(choice)
if("Underwear")
var/new_undies = tgui_input_list(user, "Select your underwear", "Changing", GLOB.underwear_list)
if(new_undies)
dressing_human.underwear = new_undies
if("Underwear Color")
var/new_underwear_color = input(dressing_human, "Choose your underwear color", "Underwear Color", dressing_human.underwear_color) as color|null
if(new_underwear_color)
dressing_human.underwear_color = sanitize_hexcolor(new_underwear_color)
if("Undershirt")
var/new_undershirt = tgui_input_list(user, "Select your undershirt", "Changing", GLOB.undershirt_list)
if(new_undershirt)
dressing_human.undershirt = new_undershirt
if("Socks")
var/new_socks = tgui_input_list(user, "Select your socks", "Changing", GLOB.socks_list)
if(new_socks)
dressing_human.socks = new_socks
add_fingerprint(dressing_human)
dressing_human.update_body()