diff --git a/code/game/objects/mirror.dm b/code/game/objects/mirror.dm new file mode 100644 index 00000000000..27ca650e403 --- /dev/null +++ b/code/game/objects/mirror.dm @@ -0,0 +1,58 @@ +//wip wip wup +/obj/structure/mirror + name = "mirror" + desc = "Mirror mirror on the wall, who's the most robust of them all?" + icon = 'watercloset.dmi' + icon_state = "mirror" + density = 0 + anchored = 1 + +/obj/structure/mirror/attack_hand(mob/user as mob) + if(ishuman(user)) + var/mob/living/carbon/human/H = user + + var/userloc = H.loc + + //see code/modules/mob/new_player/preferences.dm at approx line 545 for comments! + //this is largely copypasted from there. + + //handle facial hair (if necessary) + if(H.gender == MALE) + var/list/all_fhairs = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair //this would probably be better as a global list + var/list/fhairs = list() + for(var/x in all_fhairs) + var/datum/sprite_accessory/facial_hair/F = new x //this goes for the original in preferences too, but it'd + fhairs.Add(F.name) //be nice to avoid all this instantiation and deletion... + del(F) + + var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in fhairs + if(userloc != H.loc) return //no tele-grooming + if(new_style) + for(var/x in all_fhairs) + var/datum/sprite_accessory/facial_hair/F = new x + if(F.name == new_style) + H.facial_hair_style.icon_state = F.icon_state //we only change the icon_state of the hair datum, so it doesn't mess up their UI/UE + break + else + del(F) + + //handle normal hair + var/list/all_hairs = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair //this would probably be better as a global list + var/list/hairs = list() + for(var/x in all_hairs) + var/datum/sprite_accessory/facial_hair/F = new x + hairs.Add(F.name) + del(F) + + var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in hairs + if(userloc != H.loc) return //no tele-grooming + if(new_style) + for(var/x in all_hairs) + var/datum/sprite_accessory/hair/F = new x + if(F.name == new_style) + H.hair_style.icon_state = F.icon_state //we only change the icon_state of the hair datum, so it doesn't mess up their UI/UE + break + else + del(F) + + H.update_hair() \ No newline at end of file diff --git a/code/modules/food/food.dm b/code/modules/food/food.dm index cb8a8774d6e..c46406a32ee 100644 --- a/code/modules/food/food.dm +++ b/code/modules/food/food.dm @@ -1881,8 +1881,8 @@ bitesize = 2 /obj/item/pizzabox - name = "Pizza Box" - desc = "A box suited for pizzas" + name = "pizza box" + desc = "A box suited for pizzas." icon = 'food.dmi' icon_state = "pizzabox1" diff --git a/icons/obj/watercloset.dmi b/icons/obj/watercloset.dmi index 99e28e8c279..73af9f1f6fa 100644 Binary files a/icons/obj/watercloset.dmi and b/icons/obj/watercloset.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 290c4b34fb3..04594f0ed90 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -188,6 +188,7 @@ #define FILE_DIR "icons/vending_icons" #define FILE_DIR "interface" #define FILE_DIR "maps" +#define FILE_DIR "maps/backup" #define FILE_DIR "maps/RandomZLevels" #define FILE_DIR "sound" #define FILE_DIR "sound/AI" @@ -602,6 +603,7 @@ #include "code\game\objects\lamarr.dm" #include "code\game\objects\largecrate.dm" #include "code\game\objects\mineral_doors.dm" +#include "code\game\objects\mirror.dm" #include "code\game\objects\new_year.dm" #include "code\game\objects\noticeboard.dm" #include "code\game\objects\object_procs.dm"