mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-24 16:32:03 +00:00
371 lines
13 KiB
Plaintext
371 lines
13 KiB
Plaintext
/obj/item/clothing/mask/gas
|
|
name = "gas mask"
|
|
desc = "A face-covering mask that can be connected to an air supply."
|
|
icon_state = "gas_alt"
|
|
flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
|
|
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
|
|
w_class = 3.0
|
|
item_state = "gas_alt"
|
|
gas_transfer_coefficient = 0.01
|
|
permeability_coefficient = 0.01
|
|
species_fit = list("Vox", "Unathi", "Tajaran", "Vulpkanin")
|
|
sprite_sheets = list(
|
|
"Vox" = 'icons/mob/species/vox/mask.dmi',
|
|
"Unathi" = 'icons/mob/species/unathi/mask.dmi',
|
|
"Tajaran" = 'icons/mob/species/tajaran/mask.dmi',
|
|
"Vulpkanin" = 'icons/mob/species/vulpkanin/mask.dmi',
|
|
"Drask" = 'icons/mob/species/drask/mask.dmi'
|
|
)
|
|
|
|
// **** Welding gas mask ****
|
|
|
|
/obj/item/clothing/mask/gas/welding
|
|
name = "welding mask"
|
|
desc = "A gas mask with built in welding goggles and face shield. Looks like a skull, clearly designed by a nerd."
|
|
icon_state = "weldingmask"
|
|
item_state = "weldingmask"
|
|
materials = list(MAT_METAL=4000, MAT_GLASS=2000)
|
|
flash_protect = 2
|
|
tint = 2
|
|
armor = list(melee = 10, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0)
|
|
origin_tech = "materials=2;engineering=2"
|
|
action_button_name = "Toggle Welding Helmet"
|
|
|
|
/obj/item/clothing/mask/gas/welding/attack_self()
|
|
toggle()
|
|
|
|
|
|
/obj/item/clothing/mask/gas/welding/verb/toggle()
|
|
set category = "Object"
|
|
set name = "Adjust welding mask"
|
|
set src in usr
|
|
|
|
if(usr.canmove && !usr.stat && !usr.restrained())
|
|
if(src.up)
|
|
src.up = !src.up
|
|
src.flags |= (MASKCOVERSEYES)
|
|
flags_inv |= (HIDEEYES)
|
|
icon_state = initial(icon_state)
|
|
to_chat(usr, "You flip the [src] down to protect your eyes.")
|
|
flash_protect = 2
|
|
tint = 2
|
|
else
|
|
src.up = !src.up
|
|
src.flags &= ~(MASKCOVERSEYES)
|
|
flags_inv &= ~(HIDEEYES)
|
|
icon_state = "[initial(icon_state)]up"
|
|
to_chat(usr, "You push the [src] up out of your face.")
|
|
flash_protect = 0
|
|
tint = 0
|
|
usr.update_inv_wear_mask() //so our mob-overlays update
|
|
|
|
//Bane gas mask
|
|
/obj/item/clothing/mask/banemask
|
|
name = "bane mask"
|
|
desc = "Only when the station is in flames, do you have my permission to robust."
|
|
icon_state = "bane_mask"
|
|
flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT
|
|
flags_inv = HIDEEARS|HIDEEYES|HIDEFACE
|
|
w_class = 3.0
|
|
item_state = "bane_mask"
|
|
gas_transfer_coefficient = 0.01
|
|
permeability_coefficient = 0.01
|
|
|
|
|
|
//Plague Dr suit can be found in clothing/suits/bio.dm
|
|
/obj/item/clothing/mask/gas/plaguedoctor
|
|
name = "plague doctor mask"
|
|
desc = "A modernised version of the classic design, this mask will not only filter out toxins but it can also be connected to an air supply."
|
|
icon_state = "plaguedoctor"
|
|
item_state = "gas_mask"
|
|
armor = list(melee = 0, bullet = 0, laser = 2,energy = 2, bomb = 0, bio = 75, rad = 0)
|
|
|
|
/obj/item/clothing/mask/gas/swat
|
|
name = "\improper SWAT mask"
|
|
desc = "A close-fitting tactical mask that can be connected to an air supply."
|
|
icon_state = "swat"
|
|
|
|
/obj/item/clothing/mask/gas/syndicate
|
|
name = "syndicate mask"
|
|
desc = "A close-fitting tactical mask that can be connected to an air supply."
|
|
icon_state = "swat"
|
|
strip_delay = 60
|
|
|
|
/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"
|
|
flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR
|
|
|
|
/obj/item/clothing/mask/gas/clown_hat/attack_self(mob/user)
|
|
|
|
var/mob/M = usr
|
|
var/list/options = list()
|
|
options["True Form"] = "clown"
|
|
options["The Feminist"] = "sexyclown"
|
|
options["The Madman"] = "joker"
|
|
options["The Rainbow Color"] ="rainbow"
|
|
|
|
var/choice = input(M,"To what form do you wish to Morph this mask?","Morph Mask") in options
|
|
|
|
if(src && choice && !M.stat && in_range(M,src))
|
|
icon_state = options[choice]
|
|
to_chat(M, "Your Clown Mask has now morphed into [choice], all praise the Honk Mother!")
|
|
return 1
|
|
|
|
/obj/item/clothing/mask/gas/clownwiz
|
|
name = "wizard clown wig and mask"
|
|
desc = "Some pranksters are truly magical."
|
|
icon_state = "wizzclown"
|
|
item_state = "wizzclown"
|
|
flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | BLOCKHAIR
|
|
|
|
/obj/item/clothing/mask/gas/virusclown_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"
|
|
|
|
/obj/item/clothing/mask/gas/sexyclown
|
|
name = "sexy-clown wig and mask"
|
|
desc = "A feminine clown mask for the dabbling crossdressers or female entertainers."
|
|
icon_state = "sexyclown"
|
|
item_state = "sexyclown"
|
|
|
|
/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"
|
|
|
|
/obj/item/clothing/mask/gas/monkeymask
|
|
name = "monkey mask"
|
|
desc = "A mask used when acting as a monkey."
|
|
icon_state = "monkeymask"
|
|
item_state = "monkeymask"
|
|
|
|
/obj/item/clothing/mask/gas/sexymime
|
|
name = "sexy mime mask"
|
|
desc = "A traditional female mime's mask."
|
|
icon_state = "sexymime"
|
|
item_state = "sexymime"
|
|
|
|
/obj/item/clothing/mask/gas/death_commando
|
|
name = "Death Commando Mask"
|
|
icon_state = "death_commando_mask"
|
|
item_state = "death_commando_mask"
|
|
|
|
/obj/item/clothing/mask/gas/cyborg
|
|
name = "cyborg visor"
|
|
desc = "Beep boop"
|
|
icon_state = "death"
|
|
|
|
/obj/item/clothing/mask/gas/owl_mask
|
|
name = "owl mask"
|
|
desc = "Twoooo!"
|
|
icon_state = "owl"
|
|
flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | AIRTIGHT | NODROP
|
|
action_button_name = "Hoot"
|
|
|
|
/obj/item/clothing/mask/gas/owl_mask/attack_self()
|
|
hoot()
|
|
|
|
/obj/item/clothing/mask/gas/owl_mask/verb/hoot()
|
|
|
|
set category = "Object"
|
|
set name = "Hoot"
|
|
set src in usr
|
|
if(!istype(usr, /mob/living)) return
|
|
if(usr.stat) return
|
|
|
|
if(cooldown < world.time - 35) // A cooldown, to stop people being jerks
|
|
playsound(src.loc, "sound/misc/hoot.ogg", 50, 1)
|
|
cooldown = world.time
|
|
|
|
// ********************************************************************
|
|
|
|
// **** Security gas mask ****
|
|
|
|
/obj/item/clothing/mask/gas/sechailer
|
|
name = "security gas mask"
|
|
desc = "A standard issue Security gas mask with integrated 'Compli-o-nator 3000' device, plays over a dozen pre-recorded compliance phrases designed to get scumbags to stand still whilst you taze them. Do not tamper with the device."
|
|
action_button_name = "HALT!"
|
|
icon_state = "sechailer"
|
|
var/aggressiveness = 2
|
|
var/safety = 1
|
|
ignore_maskadjust = 0
|
|
action_button_name = "HALT!"
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/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"
|
|
aggressiveness = 3
|
|
ignore_maskadjust = 1
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/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"
|
|
aggressiveness = 3
|
|
ignore_maskadjust = 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"
|
|
aggressiveness = 3
|
|
ignore_maskadjust = 1
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/blue
|
|
name = "\improper blue SWAT mask"
|
|
desc = "A neon blue swat mask, used for demoralizing Greytide in the wild."
|
|
icon_state = "blue_sechailer"
|
|
item_state = "blue_sechailer"
|
|
aggressiveness = 3
|
|
ignore_maskadjust = 1
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/cyborg
|
|
name = "security hailer"
|
|
desc = "A set of recognizable pre-recorded messages for cyborgs to use when apprehending criminals."
|
|
icon = 'icons/obj/device.dmi'
|
|
icon_state = "taperecorder_idle"
|
|
aggressiveness = 1 //Borgs are nicecurity!
|
|
ignore_maskadjust = 1
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/cyborg/New()
|
|
..()
|
|
verbs -= /obj/item/clothing/mask/gas/sechailer/verb/adjust
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/verb/adjust()
|
|
set category = "Object"
|
|
set name = "Adjust Mask"
|
|
adjustmask(usr)
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/attackby(obj/item/weapon/W as obj, mob/user as mob, params)
|
|
if(istype(W, /obj/item/weapon/screwdriver))
|
|
switch(aggressiveness)
|
|
if(1)
|
|
to_chat(user, "\blue You set the restrictor to the middle position.")
|
|
aggressiveness = 2
|
|
if(2)
|
|
to_chat(user, "\blue You set the restrictor to the last position.")
|
|
aggressiveness = 3
|
|
if(3)
|
|
to_chat(user, "\blue You set the restrictor to the first position.")
|
|
aggressiveness = 1
|
|
if(4)
|
|
to_chat(user, "\red You adjust the restrictor but nothing happens, probably because its broken.")
|
|
else if(istype(W, /obj/item/weapon/wirecutters))
|
|
if(aggressiveness != 4)
|
|
to_chat(user, "\red You broke it!")
|
|
aggressiveness = 4
|
|
else
|
|
..()
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/attack_self()
|
|
halt()
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/emag_act(mob/user as mob)
|
|
if(safety)
|
|
safety = 0
|
|
to_chat(user, "<span class='warning'>You silently fry [src]'s vocal circuit with the cryptographic sequencer.")
|
|
else
|
|
return
|
|
|
|
/obj/item/clothing/mask/gas/sechailer/verb/halt()
|
|
set category = "Object"
|
|
set name = "HALT"
|
|
set src in usr
|
|
if(!istype(usr, /mob/living)) return
|
|
if(usr.stat) return
|
|
|
|
var/phrase = 0 //selects which phrase to use
|
|
var/phrase_text = null
|
|
var/phrase_sound = null
|
|
|
|
|
|
if(cooldown < world.time - 35) // A cooldown, to stop people being jerks
|
|
if(!safety)
|
|
phrase_text = "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("[usr]'s Compli-o-Nator: <font color='red' size='4'><b>[phrase_text]</b></font>")
|
|
playsound(src.loc, 'sound/voice/binsult.ogg', 100, 0, 4)
|
|
cooldown = world.time
|
|
return
|
|
switch(aggressiveness) // checks if the user has unlocked the restricted phrases
|
|
if(1)
|
|
phrase = rand(1,5) // set the upper limit as the phrase above the first 'bad cop' phrase, the mask will only play 'nice' phrases
|
|
if(2)
|
|
phrase = rand(1,11) // default setting, set upper limit to last 'bad cop' phrase. Mask will play good cop and bad cop phrases
|
|
if(3)
|
|
phrase = rand(1,18) // user has unlocked all phrases, set upper limit to last phrase. The mask will play all phrases
|
|
if(4)
|
|
phrase = rand(12,18) // user has broke the restrictor, it will now only play shitcurity phrases
|
|
|
|
switch(phrase) //sets the properties of the chosen phrase
|
|
if(1) // good cop
|
|
phrase_text = "HALT! HALT! HALT! HALT!"
|
|
phrase_sound = "halt"
|
|
if(2)
|
|
phrase_text = "Stop in the name of the Law."
|
|
phrase_sound = "bobby"
|
|
if(3)
|
|
phrase_text = "Compliance is in your best interest."
|
|
phrase_sound = "compliance"
|
|
if(4)
|
|
phrase_text = "Prepare for justice!"
|
|
phrase_sound = "justice"
|
|
if(5)
|
|
phrase_text = "Running will only increase your sentence."
|
|
phrase_sound = "running"
|
|
if(6) // bad cop
|
|
phrase_text = "Don't move, Creep!"
|
|
phrase_sound = "dontmove"
|
|
if(7)
|
|
phrase_text = "Down on the floor, Creep!"
|
|
phrase_sound = "floor"
|
|
if(8)
|
|
phrase_text = "Dead or alive you're coming with me."
|
|
phrase_sound = "robocop"
|
|
if(9)
|
|
phrase_text = "God made today for the crooks we could not catch yesterday."
|
|
phrase_sound = "god"
|
|
if(10)
|
|
phrase_text = "Freeze, Scum Bag!"
|
|
phrase_sound = "freeze"
|
|
if(11)
|
|
phrase_text = "Stop right there, criminal scum!"
|
|
phrase_sound = "imperial"
|
|
if(12) // LA-PD
|
|
phrase_text = "Stop or I'll bash you."
|
|
phrase_sound = "bash"
|
|
if(13)
|
|
phrase_text = "Go ahead, make my day."
|
|
phrase_sound = "harry"
|
|
if(14)
|
|
phrase_text = "Stop breaking the law, ass hole."
|
|
phrase_sound = "asshole"
|
|
if(15)
|
|
phrase_text = "You have the right to shut the fuck up."
|
|
phrase_sound = "stfu"
|
|
if(16)
|
|
phrase_text = "Shut up crime!"
|
|
phrase_sound = "shutup"
|
|
if(17)
|
|
phrase_text = "Face the wrath of the golden bolt."
|
|
phrase_sound = "super"
|
|
if(18)
|
|
phrase_text = "I am, the LAW!"
|
|
phrase_sound = "dredd"
|
|
|
|
usr.visible_message("[usr]'s Compli-o-Nator: <font color='red' size='4'><b>[phrase_text]</b></font>")
|
|
playsound(src.loc, "sound/voice/complionator/[phrase_sound].ogg", 100, 0, 4)
|
|
cooldown = world.time
|
|
|
|
|
|
|
|
// ********************************************************************
|
|
|