mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
Adds a verb for toggling specific pieces of underwear
This commit is contained in:
@@ -9,27 +9,34 @@
|
||||
*************/
|
||||
/datum/category_group/underwear
|
||||
var/sort_order // Lower sort order is applied as icons first
|
||||
var/display_name // For displaying in text
|
||||
var/gender = NEUTER
|
||||
|
||||
datum/category_group/underwear/dd_SortValue()
|
||||
return sort_order
|
||||
|
||||
/datum/category_group/underwear/top
|
||||
name = "Underwear, top"
|
||||
display_name = "top piece"
|
||||
sort_order = 1
|
||||
category_item_type = /datum/category_item/underwear/top
|
||||
|
||||
/datum/category_group/underwear/bottom
|
||||
name = "Underwear, bottom"
|
||||
display_name = "bottom piece"
|
||||
sort_order = 2
|
||||
category_item_type = /datum/category_item/underwear/bottom
|
||||
|
||||
/datum/category_group/underwear/socks
|
||||
name = "Socks"
|
||||
display_name = "socks"
|
||||
gender = PLURAL
|
||||
sort_order = 3
|
||||
category_item_type = /datum/category_item/underwear/socks
|
||||
|
||||
/datum/category_group/underwear/undershirt
|
||||
name = "Undershirt"
|
||||
display_name = "undershirt"
|
||||
sort_order = 4 // Undershirts currently have the highest sort order because they may cover both underwear and socks.
|
||||
category_item_type = /datum/category_item/underwear/undershirt
|
||||
|
||||
|
||||
@@ -69,6 +69,7 @@
|
||||
var/datum/category_item/underwear/selected_underwear = input(H, "Choose underwear:", "Choose underwear", H.all_underwear[UWC.name]) as null|anything in UWC.items
|
||||
if(selected_underwear && CanUseTopic(H, default_state))
|
||||
H.all_underwear[UWC.name] = selected_underwear
|
||||
H.hide_underwear[UWC.name] = FALSE
|
||||
. = TRUE
|
||||
else if(href_list["underwear"] && href_list["tweak"])
|
||||
var/underwear = href_list["underwear"]
|
||||
@@ -80,6 +81,7 @@
|
||||
var/new_metadata = gt.get_metadata(usr, get_metadata(H, underwear, gt), "Wardrobe Underwear Selection")
|
||||
if(new_metadata)
|
||||
set_metadata(H, underwear, gt, new_metadata)
|
||||
H.hide_underwear[underwear] = FALSE
|
||||
. = TRUE
|
||||
|
||||
if(.)
|
||||
|
||||
@@ -41,6 +41,10 @@
|
||||
human_mob_list |= src
|
||||
..()
|
||||
|
||||
hide_underwear.Cut()
|
||||
for(var/category in global_underwear.categories_by_name)
|
||||
hide_underwear[category] = FALSE
|
||||
|
||||
if(dna)
|
||||
dna.ready_dna(src)
|
||||
dna.real_name = real_name
|
||||
@@ -1416,6 +1420,22 @@
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/mob/living/carbon/human/verb/toggle_underwear()
|
||||
set name = "Toggle Underwear"
|
||||
set desc = "Shows/hides selected parts of your underwear."
|
||||
set category = "Object"
|
||||
|
||||
if(stat) return
|
||||
var/datum/category_group/underwear/UWC = input(usr, "Choose underwear:", "Show/hide underwear") as null|anything in global_underwear.categories
|
||||
var/datum/category_item/underwear/UWI = all_underwear[UWC.name]
|
||||
if(!UWI || UWI.name == "None")
|
||||
src << "<span class='notice'>You do not have [UWC.gender==PLURAL ? "[UWC.display_name]" : "\a [UWC.display_name]"].</span>"
|
||||
return
|
||||
hide_underwear[UWC.name] = !hide_underwear[UWC.name]
|
||||
update_underwear(1)
|
||||
src << "<span class='notice'>You [hide_underwear[UWC.name] ? "take off" : "put on"] your [UWC.display_name].</span>"
|
||||
return
|
||||
|
||||
/mob/living/carbon/human/verb/pull_punches()
|
||||
set name = "Pull Punches"
|
||||
set desc = "Try not to hurt them."
|
||||
|
||||
@@ -35,6 +35,7 @@
|
||||
|
||||
var/list/all_underwear = list()
|
||||
var/list/all_underwear_metadata = list()
|
||||
var/list/hide_underwear = list()
|
||||
var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack.
|
||||
var/pdachoice = 1 //Which PDA type the player has chosen. Default, Slim, or Old.
|
||||
|
||||
|
||||
@@ -336,6 +336,8 @@ var/global/list/damage_icon_parts = list()
|
||||
if(species.appearance_flags & HAS_UNDERWEAR)
|
||||
overlays_standing[UNDERWEAR_LAYER] = list()
|
||||
for(var/category in all_underwear)
|
||||
if(hide_underwear[category])
|
||||
continue
|
||||
var/datum/category_item/underwear/UWI = all_underwear[category]
|
||||
overlays_standing[UNDERWEAR_LAYER] += UWI.generate_image(all_underwear_metadata[category])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user