Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cosmetics and Costumes (update?) #420

Open
wants to merge 18 commits into
base: master
Choose a base branch
from
Open
4 changes: 4 additions & 0 deletions code/game/objects/items/clown_items.dm
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@
var/moodlet = "honk" //used to define which kind of moodlet is added to the honked target
var/list/honksounds = list('sound/items/bikehorn.ogg' = 1)

/obj/item/bikehorn/Initialize(mapload)
. = ..()
AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50)

/obj/item/bikehorn/attack(mob/living/carbon/M, mob/living/carbon/user)
SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, moodlet, /datum/mood_event/honk)
return ..()
Expand Down
22 changes: 22 additions & 0 deletions code/game/objects/items/storage/backpack.dm
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,28 @@
icon_state = "cultpack"
item_state = "backpack"

/obj/item/storage/backpack/clown
name = "Giggles von Honkerton"
desc = "It's a backpack made by Honk! Co."
icon_state = "clownpack"
item_state = "clownpack"

/obj/item/storage/backpack/mime
name = "Parcel Parceaux"
desc = "A silent backpack made for those silent workers. Made by Silence Co."
icon_state = "mimepack"
item_state = "mimepack"

/obj/item/storage/backpack/duffelbag/clown
name = "clown's duffel bag"
desc = "A large duffel bag for holding lots of funny gags!"
icon_state = "duffel-clown"
item_state = "duffel-clown"

/obj/item/storage/backpack/duffelbag/clown/cream_pie/PopulateContents()
for(var/i in 1 to 10)
new /obj/item/reagent_containers/food/snacks/pie/cream(src)

/obj/item/storage/backpack/explorer
name = "explorer bag"
desc = "A robust backpack for stashing your loot."
Expand Down
8 changes: 8 additions & 0 deletions code/modules/clothing/head/f13head.dm
Original file line number Diff line number Diff line change
Expand Up @@ -413,6 +413,13 @@
icon_state = "t51bhelmet[light_on]"
item_state = "t51bhelmet[light_on]"

/obj/item/clothing/head/helmet/f13/power_armor/clown
name = "Experimental C10wn Pranking Power Helmet"
desc = "The pinnacle of Clown technology, appropriated by the Clownhood of Steel. Commonly worn by Head Pranksters."
icon_state = "hardsuit0-clown"
item_state = "hardsuit0-clown"
armor = list("melee" = 90, "bullet" = 90, "laser" = 90, "energy" = 70, "bomb" = 80, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50, "wound" = 90)

/obj/item/clothing/head/helmet/f13/power_armor/t51b/bos/hardened
name = "hardened T-51b power helmet"
desc = "It's a T-51b power helmet, typically used by the Brotherhood. This one sports the markings of the Head Paladin."
Expand Down Expand Up @@ -484,6 +491,7 @@
item_state = "hellfirehelm"
armor = list("melee" = 90, "bullet" = 90, "laser" = 90, "energy" = 70, "bomb" = 80, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50, "wound" = 90)


//Generic Tribal - For Wayfarer specific, see f13factionhead.dm

/obj/item/clothing/head/helmet/f13/tribal
Expand Down
94 changes: 90 additions & 4 deletions code/modules/clothing/masks/gasmask.dm
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,6 @@
icon_state = "monkeymask"
item_state = "monkeymask"
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE

/obj/item/clothing/mask/gas/death_commando
name = "Death Commando Mask"
Expand All @@ -87,15 +86,13 @@
name = "cyborg visor"
desc = "Beep boop."
icon_state = "death"
resistance_flags = FLAMMABLE

/obj/item/clothing/mask/gas/owl_mask
name = "owl mask"
desc = "Twoooo!"
icon_state = "owl"
clothing_flags = ALLOWINTERNALS
flags_cover = MASKCOVERSEYES
resistance_flags = FLAMMABLE

/obj/item/clothing/mask/gas/carp
name = "carp mask"
Expand All @@ -108,7 +105,6 @@
icon_state = "tiki_eyebrow"
item_state = "tiki_eyebrow"
custom_materials = list(/datum/material/wood = MINERAL_MATERIAL_AMOUNT * 1.25)
resistance_flags = FLAMMABLE
max_integrity = 100
clothing_flags = null
actions_types = list(/datum/action/item_action/adjust)
Expand Down Expand Up @@ -161,3 +157,93 @@
item_state = "rangermask"
flags_inv = HIDEFACIALHAIR|HIDEFACE|HIDEEYES|HIDEEARS|HIDEHAIR
visor_flags_inv = 0

/obj/item/clothing/mask/gas/clown_hat
name = "clown wig and mask"
desc = "A true prankster's facial attire. A clown is incomplete without his wig and mask."

icon_state = "clown"
item_state = "clown_hat"
dye_color = "clown"
flags_cover = MASKCOVERSEYES

actions_types = list(/datum/action/item_action/adjust)

var/list/clownmask_designs = list()

/obj/item/clothing/mask/gas/clown_hat/Initialize(mapload)
.=..()
clownmask_designs = list(
"True Form" = image(icon = src.icon, icon_state = "clown"),
"The Feminist" = image(icon = src.icon, icon_state = "sexyclown"),
"The Jester" = image(icon = src.icon, icon_state = "chaos"),
"The Madman" = image(icon = src.icon, icon_state = "joker"),
"The Rainbow Color" = image(icon = src.icon, icon_state = "rainbow")
)

/obj/item/clothing/mask/gas/clown_hat/ui_action_click(mob/user)
if(!istype(user) || user.incapacitated())
return

var/list/options = list()
options["True Form"] = "clown"
options["The Feminist"] = "sexyclown"
options["The Madman"] = "joker"
options["The Rainbow Color"] ="rainbow"
options["The Jester"] ="chaos" //Nepeta33Leijon is holding me captive and forced me to help with this please send help

var/choice = show_radial_menu(user,src, clownmask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
if(!choice)
return FALSE

if(src && choice && !user.incapacitated() && in_range(user,src))
icon_state = options[choice]
user.update_inv_wear_mask()
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
to_chat(user, span_notice("Your Clown Mask has now morphed into [choice], all praise the Honkmother!"))
return TRUE

/obj/item/clothing/mask/gas/mime
name = "mime mask"
desc = "The traditional mime's mask. It has an eerie facial posture."

icon_state = "mime"
item_state = "mime"
flags_cover = MASKCOVERSEYES

actions_types = list(/datum/action/item_action/adjust)
var/list/mimemask_designs = list()

/obj/item/clothing/mask/gas/mime/Initialize(mapload)
.=..()
mimemask_designs = list(
"Blanc" = image(icon = src.icon, icon_state = "mime"),
"Excité" = image(icon = src.icon, icon_state = "sexymime"),
"Triste" = image(icon = src.icon, icon_state = "sadmime"),
"Effrayé" = image(icon = src.icon, icon_state = "scaredmime")
)

/obj/item/clothing/mask/gas/mime/ui_action_click(mob/user)
if(!istype(user) || user.incapacitated())
return

var/list/options = list()
options["Blanc"] = "mime"
options["Triste"] = "sadmime"
options["Effrayé"] = "scaredmime"
options["Excité"] ="sexymime"

var/choice = show_radial_menu(user,src, mimemask_designs, custom_check = FALSE, radius = 36, require_near = TRUE)
if(!choice)
return FALSE

if(src && choice && !user.incapacitated() && in_range(user,src))
icon_state = options[choice]
user.update_inv_wear_mask()
for(var/X in actions)
var/datum/action/A = X
A.UpdateButtonIcon()
to_chat(user, span_notice("Your Mime Mask has now morphed into [choice]!"))
return TRUE
35 changes: 35 additions & 0 deletions code/modules/clothing/masks/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -493,3 +493,38 @@
visor_flags_inv = HIDEFACE
adjusted_flags = null
actions_types = list(/datum/action/item_action/adjust)

/obj/item/clothing/mask/dallas
name = "dallas mask"
desc = "A mask often seen being worn by criminals during bank robberies."
icon_state = "pddallas"
item_state = "pddallas"
flags_cover = MASKCOVERSEYES

/obj/item/clothing/mask/hoxton
name = "hoxton mask"
desc = "A mask often seen being worn by criminals during bank robberies."
icon_state = "pdhoxton"
item_state = "pdhoxton"
flags_cover = MASKCOVERSEYES

/obj/item/clothing/mask/robwolf
name = "wolf mask"
desc = "A mask often seen being worn by criminals during bank robberies."
icon_state = "pdwolf"
item_state = "pdwolf"
flags_cover = MASKCOVERSEYES

/obj/item/clothing/mask/chains
name = "chains mask"
desc = "A mask often seen being worn by criminals during bank robberies."
icon_state = "pdchains"
item_state = "pdchains"
flags_cover = MASKCOVERSEYES

/obj/item/clothing/mask/richard
name = "rooster mask"
desc = "Perfect mask for killing russian mob thugs!"
flags_inv = HIDEEARS|HIDEFACE|HIDEFACIALHAIR|HIDEHAIR
icon_state = "richard"
item_state = "richard"
9 changes: 9 additions & 0 deletions code/modules/clothing/shoes/miscellaneous.dm
Original file line number Diff line number Diff line change
Expand Up @@ -491,3 +491,12 @@
to_chat(user, "<span class='notice'>You insert [I] into [src].</span>")
B.use(10)
icon_state = initial(icon_state)
/obj/item/clothing/shoes/clown_shoes
desc = "The prankster's standard-issue clowning shoes. Damn, they're huge! Ctrl-click to toggle waddle dampeners."
name = "clown shoes"
icon_state = "clown"
item_state = "clown_shoes"
slowdown = SHOES_SLOWDOWN+0.5
/obj/item/clothing/shoes/clown_shoes/Initialize(mapload)
. = ..()
AddComponent(/datum/component/squeak, list('sound/effects/clownstep1.ogg'=1,'sound/effects/clownstep2.ogg'=1), 50)
8 changes: 8 additions & 0 deletions code/modules/clothing/suits/f13armor.dm
Original file line number Diff line number Diff line change
Expand Up @@ -707,6 +707,13 @@
item_state = "hellfire"
armor = list("melee" = 90, "bullet" = 90, "laser" = 90, "energy" = 70, "bomb" = 80, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50, "wound" = 90)

/obj/item/clothing/suit/armor/f13/power_armor/clown
name = "Experimental C10wn Pranking Power Armor" //Pretty much admin power armor
desc = "The pinnacle of Clown technology, appropriated by the Clownhood of Steel. Commonly worn by Head Pranksters."
icon_state = "hardsuit-clown"
item_state = "hardsuit-clown"
armor = list("melee" = 90, "bullet" = 90, "laser" = 90, "energy" = 70, "bomb" = 80, "bio" = 100, "rad" = 100, "fire" = 90, "acid" = 50, "wound" = 90)

/obj/item/clothing/suit/armor/f13/enclave/armorvest
name = "armored vest"
desc = "Efficient prewar design issued to Enclave personell."
Expand Down Expand Up @@ -1353,3 +1360,4 @@
item_state = "Bandit_duster"
slowdown = 0
salvage_loot = list(/obj/item/stack/crafting/armor_plate = 8)

4 changes: 2 additions & 2 deletions code/modules/clothing/suits/wiz_robe.dm
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
/obj/item/clothing/head/wizard/fake
name = "wizard hat"
desc = "It has WIZZARD written across it in sequins. Comes with a cool beard."
icon_state = "wizard-fake"
icon_state = "wizard"
gas_transfer_coefficient = 1
permeability_coefficient = 1
resistance_flags = FLAMMABLE
Expand Down Expand Up @@ -144,7 +144,7 @@

/obj/item/clothing/suit/wizrobe/fake
desc = "A rather dull blue robe meant to mimick real wizard robes."
icon_state = "wizard-fake"
icon_state = "wizard"
gas_transfer_coefficient = 1
permeability_coefficient = 1
resistance_flags = FLAMMABLE
Expand Down
82 changes: 82 additions & 0 deletions code/modules/clothing/under/_under.dm
Original file line number Diff line number Diff line change
Expand Up @@ -287,3 +287,85 @@

/obj/item/clothing/under/rank
dying_key = DYE_REGISTRY_UNDER

/obj/item/clothing/under/rank/clown
name = "clown suit"
desc = "<i>'HONK!'</i>"
icon_state = "clown"
item_state = "clown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE

/obj/item/clothing/under/rank/blueclown
name = "blue clown suit"
desc = "<i>'BLUE HONK!'</i>"
icon_state = "blueclown"
item_state = "blueclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE


/obj/item/clothing/under/rank/greenclown
name = "green clown suit"
desc = "<i>'GREEN HONK!'</i>"
icon_state = "greenclown"
item_state = "greenclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE


/obj/item/clothing/under/rank/yellowclown
name = "yellow clown suit"
desc = "<i>'YELLOW HONK!'</i>"
icon_state = "yellowclown"
item_state = "yellowclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE


/obj/item/clothing/under/rank/purpleclown
name = "purple clown suit"
desc = "<i>'PURPLE HONK!'</i>"
icon_state = "purpleclown"
item_state = "purpleclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE


/obj/item/clothing/under/rank/orangeclown
name = "orange clown suit"
desc = "<i>'ORANGE HONK!'</i>"
icon_state = "orangeclown"
item_state = "orangeclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE


/obj/item/clothing/under/rank/rainbowclown
name = "rainbow clown suit"
desc = "<i>'R A I N B O W HONK!'</i>"
icon_state = "rainbowclown"
item_state = "rainbowclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE


/obj/item/clothing/under/rank/clown/Initialize(mapload)
. = ..()
AddComponent(/datum/component/squeak, list('sound/items/bikehorn.ogg'=1), 50)

/obj/item/clothing/under/rank/mime
name = "mime's outfit"
desc = "It's not very colourful."
icon_state = "mime"
item_state = "mime"

/obj/item/clothing/under/rank/mime/skirt
name = "mime's skirt"
desc = "It's not very colourful."
icon_state = "mime_skirt"
item_state = "mime"
body_parts_covered = CHEST|GROIN|ARMS
dying_key = DYE_REGISTRY_JUMPSKIRT
can_adjust = FALSE
fitted = FEMALE_UNIFORM_TOP
Loading
Loading