diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index ad008362907..58c1e3c30e7 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -1033,8 +1033,8 @@ /obj/item/clothing/under/sexyclown = 1,/obj/item/clothing/mask/gas/sexymime = 1,/obj/item/clothing/under/sexymime = 1,/obj/item/clothing/suit/apron/overalls = 1, /obj/item/clothing/head/rabbitears =1, /obj/item/clothing/head/sombrero = 1, /obj/item/clothing/suit/poncho = 1, /obj/item/clothing/suit/poncho/green = 1, /obj/item/clothing/suit/poncho/red = 1, /obj/item/clothing/accessory/blue = 1, /obj/item/clothing/accessory/red = 1, /obj/item/clothing/accessory/black = 1, /obj/item/clothing/accessory/horrible = 1, - /obj/item/clothing/under/maid = 1, /obj/item/clothing/under/janimaid = 1) - contraband = list(/obj/item/clothing/suit/judgerobe = 1,/obj/item/clothing/head/powdered_wig = 1,/obj/item/weapon/gun/magic/wand = 1) + /obj/item/clothing/under/maid = 1, /obj/item/clothing/under/janimaid = 1, /obj/item/clothing/under/pants/camo = 1, /obj/item/clothing/head/bandana = 1, /obj/item/clothing/head/bandana/skull = 1) + contraband = list(/obj/item/clothing/suit/judgerobe = 1,/obj/item/clothing/head/powdered_wig = 1,/obj/item/weapon/gun/magic/wand = 1, /obj/item/clothing/mask/balaclava=1) premium = list(/obj/item/clothing/suit/hgpirate = 1, /obj/item/clothing/head/hgpiratecap = 1, /obj/item/clothing/head/helmet/roman = 1, /obj/item/clothing/head/helmet/roman/legionaire = 1, /obj/item/clothing/under/roman = 1, /obj/item/clothing/shoes/roman = 1) refill_canister = /obj/item/weapon/vending_refill/autodrobe diff --git a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm index df408e80926..8ac793d8de3 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/hydroponics.dm @@ -22,7 +22,7 @@ new /obj/item/device/analyzer/plant_analyzer(src) new /obj/item/device/radio/headset/headset_service(src) new /obj/item/device/radio/headset/headset_service(src) - new /obj/item/clothing/head/greenbandana(src) + new /obj/item/clothing/mask/bandana/botany(src) new /obj/item/weapon/minihoe(src) new /obj/item/weapon/hatchet(src) new /obj/item/weapon/bee_net(src) diff --git a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm index 5ff118de801..90cee7c97a8 100644 --- a/code/game/objects/structures/crates_lockers/closets/wardrobe.dm +++ b/code/game/objects/structures/crates_lockers/closets/wardrobe.dm @@ -8,6 +8,9 @@ new /obj/item/clothing/under/color/blue(src) new /obj/item/clothing/under/color/blue(src) new /obj/item/clothing/under/color/blue(src) + new /obj/item/clothing/mask/bandana/blue(src) + new /obj/item/clothing/mask/bandana/blue(src) + new /obj/item/clothing/mask/bandana/blue(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/clothing/shoes/brown(src) new /obj/item/clothing/shoes/brown(src) @@ -22,6 +25,9 @@ /obj/structure/closet/wardrobe/red/New() new /obj/item/weapon/storage/backpack/duffel/security(src) new /obj/item/weapon/storage/backpack/duffel/security(src) + new /obj/item/clothing/mask/bandana/red(src) + new /obj/item/clothing/mask/bandana/red(src) + new /obj/item/clothing/mask/bandana/red(src) new /obj/item/clothing/under/rank/security(src) new /obj/item/clothing/under/rank/security(src) new /obj/item/clothing/under/rank/security(src) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 17438defd0c..47b63fee230 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -243,6 +243,31 @@ BLIND // can't see anything icon = 'icons/obj/clothing/masks.dmi' body_parts_covered = HEAD slot_flags = SLOT_MASK + var/mask_adjusted = 0 + var/ignore_maskadjust = 1 + var/adjusted_flags = null + +//Proc that moves gas/breath masks out of the way, disabling them and allowing pill/food consumption +/obj/item/clothing/mask/proc/adjustmask(var/mob/user) + if(!ignore_maskadjust) + if(!user.canmove || user.stat || user.restrained()) + return + if(src.mask_adjusted == 1) + src.icon_state = initial(icon_state) + gas_transfer_coefficient = initial(gas_transfer_coefficient) + permeability_coefficient = initial(permeability_coefficient) + user << "You push \the [src] back into place." + src.mask_adjusted = 0 + slot_flags = initial(slot_flags) + else + src.icon_state += "_up" + user << "You push \the [src] out of the way." + gas_transfer_coefficient = null + permeability_coefficient = null + src.mask_adjusted = 1 + if(adjusted_flags) + slot_flags = adjusted_flags + usr.update_inv_wear_mask() //Shoes /obj/item/clothing/shoes diff --git a/code/modules/clothing/masks/boxing.dm b/code/modules/clothing/masks/boxing.dm index 169722cac1e..a461e0cf845 100644 --- a/code/modules/clothing/masks/boxing.dm +++ b/code/modules/clothing/masks/boxing.dm @@ -6,10 +6,17 @@ flags = BLOCKHAIR flags_inv = HIDEFACE w_class = 2 + icon_action_button = "action_balaclava" + action_button_name = "Adjust Balaclava" + ignore_maskadjust = 0 species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' ) + +/obj/item/clothing/mask/balaclava/attack_self(var/mob/user) + adjustmask(user) + /obj/item/clothing/mask/luchador name = "Luchador Mask" desc = "Worn by robust fighters, flying high to defeat their foes!" diff --git a/code/modules/clothing/masks/breath.dm b/code/modules/clothing/masks/breath.dm index 1dc78de5017..f3064e9f17b 100644 --- a/code/modules/clothing/masks/breath.dm +++ b/code/modules/clothing/masks/breath.dm @@ -8,34 +8,17 @@ gas_transfer_coefficient = 0.10 permeability_coefficient = 0.50 species_fit = list("Vox") - var/hanging = 0 + icon_action_button = "action_breath" + action_button_name = "Adjust Breath Mask" + ignore_maskadjust = 0 species_fit = list("Vox", "Vox Armalis") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi', "Vox Armalis" = 'icons/mob/species/armalis/mask.dmi', ) - - verb/toggle() - set category = "Object" - set name = "Adjust mask" - set src in usr - - if(usr.canmove && !usr.stat && !usr.restrained()) - if(!src.hanging) - src.hanging = !src.hanging - gas_transfer_coefficient = 1 //gas is now escaping to the turf and vice versa - flags &= ~(MASKCOVERSMOUTH | MASKINTERNALS) - icon_state = "[initial(icon_state)]down" - usr << "Your mask is now hanging on your neck." - - else - src.hanging = !src.hanging - gas_transfer_coefficient = 0.10 - flags |= MASKCOVERSMOUTH | MASKINTERNALS - icon_state = "[initial(icon_state)]" - usr << "You pull the mask up to cover your face." - usr.update_inv_wear_mask() +/obj/item/clothing/mask/breath/attack_self(var/mob/user) + adjustmask(user) /obj/item/clothing/mask/breath/medical desc = "A close-fitting sterile mask that can be connected to an air supply." @@ -52,3 +35,6 @@ item_state = "voxmask" permeability_coefficient = 0.01 species_restricted = list("Vox") + icon_action_button = null + action_button_name = null + ignore_maskadjust = 1 diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index 61a99f1b9d3..75fcf1ce458 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -146,18 +146,30 @@ 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 = "officermask" + icon_state = "sechailer" var/cooldown = 0 var/aggressiveness = 2 + ignore_maskadjust = 0 species_fit = list() action_button_name = "HALT!" - icon_action_button = "action_officermask" + icon_action_button = "action_sechailer" /obj/item/clothing/mask/gas/sechailer/warden - icon_state = "wardenmask" /obj/item/clothing/mask/gas/sechailer/hos - icon_state = "hosmask" + +/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." + action_button_name = "HALT!" + icon_state = "swat" + aggressiveness = 3 + ignore_maskadjust = 1 + +/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)) diff --git a/code/modules/clothing/masks/miscellaneous.dm b/code/modules/clothing/masks/miscellaneous.dm index 2639cacaa5d..dfd25c42443 100644 --- a/code/modules/clothing/masks/miscellaneous.dm +++ b/code/modules/clothing/masks/miscellaneous.dm @@ -35,10 +35,16 @@ gas_transfer_coefficient = 0.90 permeability_coefficient = 0.01 armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 25, rad = 0) + action_button_name = "Adjust Sterile Mask" + ignore_maskadjust = 0 species_fit = list("Vox") sprite_sheets = list( "Vox" = 'icons/mob/species/vox/mask.dmi' ) + +/obj/item/clothing/mask/surgical/attack_self(var/mob/user) + adjustmask(user) + /obj/item/clothing/mask/fakemoustache name = "fake moustache" desc = "Warning: moustache is fake." @@ -150,3 +156,51 @@ item_state = "pennywise_mask" species_fit = list("Vox") flags = MASKCOVERSMOUTH | MASKCOVERSEYES | BLOCK_GAS_SMOKE_EFFECT | MASKINTERNALS | BLOCKHAIR + +// Bandanas +/obj/item/clothing/mask/bandana + name = "bandana" + desc = "A colorful bandana." + flags = MASKCOVERSMOUTH + flags_inv = HIDEFACE + w_class = 1 + slot_flags = SLOT_MASK + ignore_maskadjust = 0 + adjusted_flags = SLOT_HEAD + icon_state = "bandbotany" + icon_action_button = "action_bandana" + action_button_name = "Adjust Bandana" + +/obj/item/clothing/mask/bandana/attack_self(var/mob/user) + adjustmask(user) + +obj/item/clothing/mask/bandana/red + name = "red bandana" + icon_state = "bandred" + +obj/item/clothing/mask/bandana/blue + name = "blue bandana" + icon_state = "bandblue" + +obj/item/clothing/mask/bandana/gold + name = "gold bandana" + icon_state = "bandgold" + +obj/item/clothing/mask/bandana/green + name = "green bandana" + icon_state = "bandgreen" + +/obj/item/clothing/mask/bandana/botany + name = "botany bandana" + desc = "It's a green bandana with some fine nanotech lining." + icon_state = "bandbotany" + +/obj/item/clothing/mask/bandana/skull + name = "skull bandana" + desc = "It's a black bandana with a skull pattern." + icon_state = "bandskull" + +/obj/item/clothing/mask/bandana/black + name = "black bandana" + desc = "It's a black bandana." + icon_state = "bandblack" \ No newline at end of file diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 2995df68f1a..627b5e8a0b9 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -17,6 +17,13 @@ blood_overlay_type = "armor" flags = ONESIZEFITSALL armor = list(melee = 50, bullet = 15, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0) + +/obj/item/clothing/suit/armor/vest/jacket + name = "military jacket" + desc = "An old military jacket, it has armoring." + icon_state = "militaryjacket" + item_state = "militaryjacket" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS /obj/item/clothing/suit/armor/vest/combat name = "combat vest" diff --git a/code/modules/clothing/under/miscellaneous.dm b/code/modules/clothing/under/miscellaneous.dm index 89faac80f60..114b0c16db3 100644 --- a/code/modules/clothing/under/miscellaneous.dm +++ b/code/modules/clothing/under/miscellaneous.dm @@ -639,8 +639,6 @@ item_state = "checkered_suit" _color = "checkered_suit" - - /obj/item/clothing/under/owl name = "owl uniform" desc = "A soft brown jumpsuit made of synthetic feathers and strong conviction." @@ -653,4 +651,5 @@ desc = "A soft brown jumpsuit with a white feather collar made of synthetic feathers and a lust for mayhem." icon_state = "griffin" _color = "griffin" - flags = NODROP \ No newline at end of file + flags = NODROP + \ No newline at end of file diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm index 7550031eac2..51cb5012af4 100644 --- a/code/modules/reagents/Chemistry-Holder.dm +++ b/code/modules/reagents/Chemistry-Holder.dm @@ -399,10 +399,11 @@ datum check_gofast(var/mob/M) if(M && istype(M, /mob)) - if(M.reagents.has_reagent("hyperzine")||M.reagents.has_reagent("nuka_cola")) - return 1 - else - M.status_flags &= ~GOTTAGOFAST + if(M.reagents) + if(M.reagents.has_reagent("hyperzine")||M.reagents.has_reagent("nuka_cola")) + return 1 + else + M.status_flags &= ~GOTTAGOFAST update_total() total_volume = 0 diff --git a/icons/mob/head.dmi b/icons/mob/head.dmi index 9eea53339be..a38739a0624 100644 Binary files a/icons/mob/head.dmi and b/icons/mob/head.dmi differ diff --git a/icons/mob/mask.dmi b/icons/mob/mask.dmi index 69ead705524..60e54433a01 100644 Binary files a/icons/mob/mask.dmi and b/icons/mob/mask.dmi differ diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi index ca5e197734d..56e17b1d424 100644 Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 50667f8ff00..7df20eeb250 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi index 4d796bb41b7..cc689573fd2 100644 Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ diff --git a/nano/templates/crew_monitor.tmpl b/nano/templates/crew_monitor.tmpl index babd0a85494..c2e4199c357 100644 --- a/nano/templates/crew_monitor.tmpl +++ b/nano/templates/crew_monitor.tmpl @@ -6,11 +6,11 @@ Used In File(s): \code\game\machinery\computer\crew.dm {{for data.crewmembers}} {{if value.sensor_type == 1}} - + {{else value.sensor_type == 2}} - + {{else value.sensor_type == 3}} - + {{/if}} {{/for}}
{{:value.name}}{{:value.dead ? "Deceased" : "Living"}}Not Available
{{:value.name}} ({{:value.assignment}}){{:value.dead ? "Deceased" : "Living"}}Not Available
{{:value.name}}{{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}})Not Available
{{:value.name}} ({{:value.assignment}}){{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}})Not Available
{{:value.name}}{{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}}){{:value.area}}({{:value.x}}, {{:value.y}})
{{:value.name}} ({{:value.assignment}}){{:value.dead ? "Deceased" : "Living"}} ({{:value.oxy}}/{{:value.tox}}/{{:value.fire}}/{{:value.brute}}){{:value.area}}({{:value.x}}, {{:value.y}})
\ No newline at end of file diff --git a/nano/templates/crew_monitor_map_content.tmpl b/nano/templates/crew_monitor_map_content.tmpl index 40226d828ae..b5af8ada200 100644 --- a/nano/templates/crew_monitor_map_content.tmpl +++ b/nano/templates/crew_monitor_map_content.tmpl @@ -4,13 +4,13 @@ Used In File(s): \code\game\machinery\computer\crew.dm --> {{for data.crewmembers}} {{if value.sensor_type == 3}} -
+
{{/if}} {{/for}}
-
+
\ No newline at end of file