Merge pull request #2308 from Hubblenaut/master

Adds a verb for toggling specific pieces of underwear
This commit is contained in:
EmperorJon
2016-08-15 09:50:26 +01:00
committed by GitHub
6 changed files with 68 additions and 0 deletions

View File

@@ -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

View File

@@ -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(.)

View File

@@ -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."

View File

@@ -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.

View File

@@ -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])

View File

@@ -0,0 +1,36 @@
################################
# Example Changelog File
#
# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
#
# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
# When it is, any changes listed below will disappear.
#
# Valid Prefixes:
# bugfix
# wip (For works in progress)
# tweak
# soundadd
# sounddel
# rscadd (general adding of nice things)
# rscdel (general deleting of nice things)
# imageadd
# imagedel
# maptweak
# spellcheck (typo fixes)
# experiment
#################################
# Your name.
author: Hubblenaut
# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
delete-after: True
# Any changes you've made. See valid prefix list above.
# INDENT WITH TWO SPACES. NOT TABS. SPACES.
# SCREW THIS UP AND IT WON'T WORK.
# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
changes:
- rscadd: "Adds a verb for toggling whether to show specific pieces of underwear."