[MIRROR] Ports over masquerade masks from Nova Sector (#12094)

Co-authored-by: NickBelmont <89628295+NickBelmont@users.noreply.github.com>
Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-12-10 10:03:44 -05:00
committed by GitHub
co-authored by NickBelmont Cameron Lennox
parent 1f512b97d8
commit d7415d50f7
7 changed files with 46 additions and 164 deletions
@@ -100,3 +100,15 @@
/datum/gear/mask/wrestling/New()
gear_tweaks += gear_tweak_free_color_choice
/datum/gear/mask/masquerade
display_name = "masquerade mask selection"
path = /obj/item/clothing/mask/masquerade
/datum/gear/mask/masquerade/New()
..()
var/list/masks = list()
for(var/mask in typesof(/obj/item/clothing/mask/masquerade))
var/obj/item/clothing/mask/mask_type = mask
masks[initial(mask_type.name)] = mask_type
gear_tweaks += new/datum/gear_tweak/path(sortTim(masks, GLOBAL_PROC_REF(cmp_text_asc)))
@@ -0,0 +1,24 @@
//Sprites and code ported from Nova Sector
//Sprites licensed under CC 3.0 BY-SA
/obj/item/clothing/mask/masquerade
name = "masquerade mask"
desc = "You'll never guess who's under that mask, it's the perfect disguise!"
flags_inv = HIDEFACE
icon_state = "masquerade"
/obj/item/clothing/mask/masquerade/feathered
name = "feathered masquerade mask"
desc = "You'll never guess who's under that mask, it's the perfect disguise! This one even has a feather, to make it fancier!"
icon_state = "masquerade_feather"
/obj/item/clothing/mask/masquerade/two_colors
name = "split masquerade mask"
desc = "You'll never guess who's under that mask, it's the perfect disguise! There's even two colors, to add to the confusion!"
icon_state = "masquerade_twotone"
/obj/item/clothing/mask/masquerade/two_colors/feathered
name = "feathered split masquerade mask"
desc = "You'll never guess who's under that mask, it's the perfect disguise! There's even two colors AND a feather, making it the most fancy masquerade mask yet!"
icon_state = "masquerade_twotonefeather"
@@ -1560,6 +1560,10 @@
/obj/item/clothing/mask/gas/plaguedoctor/fluff = 3,
/obj/item/clothing/under/owl = 3,
/obj/item/clothing/mask/gas/owl_mask = 3,
/obj/item/clothing/mask/masquerade = 3,
/obj/item/clothing/mask/masquerade/feathered = 3,
/obj/item/clothing/mask/masquerade/two_colors = 3,
/obj/item/clothing/mask/masquerade/two_colors/feathered = 3,
/obj/item/clothing/under/waiter = 3,
/obj/item/clothing/suit/storage/apron = 3,
/obj/item/clothing/under/pirate = 3,
@@ -1646,6 +1650,10 @@
/obj/item/clothing/mask/gas/plaguedoctor/fluff = 600,
/obj/item/clothing/under/owl = 400,
/obj/item/clothing/mask/gas/owl_mask = 400,
/obj/item/clothing/mask/masquerade = 100,
/obj/item/clothing/mask/masquerade/feathered = 100,
/obj/item/clothing/mask/masquerade/two_colors = 100,
/obj/item/clothing/mask/masquerade/two_colors/feathered = 100,
/obj/item/clothing/under/waiter = 100,
/obj/item/clothing/suit/storage/apron = 200,
/obj/item/clothing/under/pirate = 300,
Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 42 KiB

@@ -1,167 +1,3 @@
/obj/item/clothing/mask/gas/sechailer
name = "hailer face mask"
desc = "A compact, durable gas mask that can be connected to an air supply. This one possesses a security hailer."
description_info = "This mask has a hailer attached, you can activate it on the button or use the Halt! verb, for switching phrases you can alt+click it or change it using the change phrase verb."
icon_state = "halfgas"
armor = list(melee = 10, bullet = 10, laser = 10, energy = 0, bomb = 0, bio = 55, rad = 0)
actions_types = list(/datum/action/item_action/halt)
body_parts_covered = FACE
var/obj/item/hailer/hailer
var/cooldown = 0
var/phrase = 1
var/aggressiveness = 1
var/safety = 1
var/list/phrase_list = list(
"halt" = "HALT! HALT! HALT! HALT!",
"bobby" = "Stop in the name of the Law.",
"compliance" = "Compliance is in your best interest.",
"justice" = "Prepare for justice!",
"running" = "Running will only increase your sentence.",
"dontmove" = "Don't move, Creep!",
"floor" = "Down on the floor, Creep!",
"robocop" = "Dead or alive you're coming with me.",
"god" = "God made today for the crooks we could not catch yesterday.",
"freeze" = "Freeze, Scum Bag!",
"imperial" = "Stop right there, criminal scum!",
"bash" = "Stop or I'll bash you.",
"harry" = "Go ahead, make my day.",
"asshole" = "Stop breaking the law, asshole.",
"stfu" = "You have the right to shut the fuck up",
"shutup" = "Shut up crime!",
"super" = "Face the wrath of the golden bolt.",
"dredd" = "I am, the LAW!"
)
/obj/item/clothing/mask/gas/sechailer/swat/hos
name = "\improper HOS SWAT mask"
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000. It has a tan stripe."
icon_state = "hosmask"
/obj/item/clothing/mask/gas/sechailer/swat/warden
name = "\improper Warden SWAT mask"
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000. It has a blue stripe."
icon_state = "wardenmask"
/obj/item/clothing/mask/gas/sechailer/swat/officer //Just a little nicer to begin with. Can always up the anger with a screwdriver!
aggressiveness = 1
phrase = 1
/obj/item/clothing/mask/gas/sechailer/swat
name = "\improper SWAT mask"
desc = "A close-fitting tactical mask with an especially aggressive Compli-o-nator 3000."
icon_state = "officermask"
body_parts_covered = HEAD|FACE|EYES
flags_inv = HIDEFACE|BLOCKHAIR
aggressiveness = 3
phrase = 12
/obj/item/clothing/mask/gas/sechailer/ui_action_click()
halt()
/obj/item/clothing/mask/gas/sechailer/click_alt(mob/user)
selectphrase()
/obj/item/clothing/mask/gas/sechailer/verb/selectphrase()
set name = "Select gas mask phrase"
set category = "Object"
set desc = "Alter the message shouted by your complionator gas mask."
var/key = phrase_list[phrase]
var/message = phrase_list[key]
if (!safety)
to_chat(usr, span_notice("You set the restrictor to: FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT."))
return
switch(aggressiveness)
if(1)
phrase = (phrase < 6) ? (phrase + 1) : 1
key = phrase_list[phrase]
message = phrase_list[key]
to_chat(usr,span_notice("You set the restrictor to: [message]"))
if(2)
phrase = (phrase < 11 && phrase >= 7) ? (phrase + 1) : 7
key = phrase_list[phrase]
message = phrase_list[key]
to_chat(usr,span_notice("You set the restrictor to: [message]"))
if(3)
phrase = (phrase < 18 && phrase >= 12 ) ? (phrase + 1) : 12
key = phrase_list[phrase]
message = phrase_list[key]
to_chat(usr,span_notice("You set the restrictor to: [message]"))
if(4)
phrase = (phrase < 18 && phrase >= 1 ) ? (phrase + 1) : 1
key = phrase_list[phrase]
message = phrase_list[key]
to_chat(usr,span_notice("You set the restrictor to: [message]"))
else
to_chat(usr, span_notice("It's broken."))
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user)
if(safety)
safety = 0
to_chat(user, span_warning("You silently fry [src]'s vocal circuit with the cryptographic sequencer."))
else
return
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/I, mob/user)
if(I.is_screwdriver())
switch(aggressiveness)
if(1)
to_chat(user, span_notice("You set the aggressiveness restrictor to the second position."))
aggressiveness = 2
phrase = 7
if(2)
to_chat(user, span_notice("You set the aggressiveness restrictor to the third position."))
aggressiveness = 3
phrase = 13
if(3)
to_chat(user, span_notice("You set the aggressiveness restrictor to the fourth position."))
aggressiveness = 4
phrase = 1
if(4)
to_chat(user, span_notice("You set the aggressiveness restrictor to the first position."))
aggressiveness = 1
phrase = 1
if(5)
to_chat(user, span_warning("You adjust the restrictor but nothing happens, probably because its broken."))
if(I.is_wirecutter())
if(aggressiveness != 5)
to_chat(user, span_warning("You broke it!"))
aggressiveness = 5
if(I.is_crowbar())
if(!hailer)
to_chat(user, span_warning("This mask has an integrated hailer, you can't remove it!"))
else
var/obj/N = new /obj/item/clothing/mask/gas/half(src.loc)
playsound(src, 'sound/items/Screwdriver.ogg', 50, 1)
transfer_fingerprints_to(N)
transfer_fibres_to(N)
if(!isturf(N.loc))
user.put_in_hands(hailer)
user.put_in_hands(N)
else
hailer.loc = N.loc
qdel(src)
return
..()
/obj/item/clothing/mask/gas/sechailer/verb/halt()
set name = "HALT!"
set category = "Objects"
set desc = "Activate your face mask hailer."
var/key = phrase_list[phrase]
var/message = phrase_list[key]
if(cooldown < world.time - 35) // A cooldown, to stop people being jerks
if(!safety)
message = "FUCK YOUR CUNT YOU SHIT EATING COCKSUCKER MAN EAT A DONG FUCKING ASS RAMMING SHIT FUCK EAT PENISES IN YOUR FUCK FACE AND SHIT OUT ABORTIONS OF FUCK AND DO SHIT IN YOUR ASS YOU COCK FUCK SHIT MONKEY FUCK ASS WANKER FROM THE DEPTHS OF SHIT."
usr.visible_message(span_infoplain("[usr]'s Compli-o-Nator: " + span_red(span_huge(span_bold("[message]")))))
playsound(src, 'sound/voice/binsult.ogg', 50, 0, 4) //Future sound channel = something like SFX
cooldown = world.time
return
usr.visible_message(span_infoplain("[usr]'s Compli-o-Nator: " + span_red(span_huge(span_bold("[message]")))))
playsound(src, "sound/voice/complionator/[key].ogg", 50, 0, 4) //future sound channel = something like SFX
cooldown = world.time
+2
View File
@@ -2647,6 +2647,8 @@
#include "code\modules\clothing\masks\breath_vr.dm"
#include "code\modules\clothing\masks\gasmask.dm"
#include "code\modules\clothing\masks\gasmask_vr.dm"
#include "code\modules\clothing\masks\hailer.dm"
#include "code\modules\clothing\masks\masquerade_mask.dm"
#include "code\modules\clothing\masks\miscellaneous.dm"
#include "code\modules\clothing\masks\miscellaneous_vr.dm"
#include "code\modules\clothing\masks\shiny_vr.dm"