Files
Paradise/code/modules/clothing/masks/gasmask.dm
HugoLuman 03323686d4 Drask files
Signed-off-by: HugoLuman <qaggeler@uci.edu>
2016-04-12 19:00:29 -07:00

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
// ********************************************************************