Add bandanas, mask toggling, camo armor jacket and bugfixes
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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!"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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))
|
||||
|
||||
@@ -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"
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
flags = NODROP
|
||||
|
||||
@@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 167 KiB After Width: | Height: | Size: 169 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 307 KiB After Width: | Height: | Size: 308 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |
@@ -6,11 +6,11 @@ Used In File(s): \code\game\machinery\computer\crew.dm
|
||||
<table width="100%"><tbody>
|
||||
{{for data.crewmembers}}
|
||||
{{if value.sensor_type == 1}}
|
||||
<tr><td>{{:value.name}}</td><td>{{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}}</td><td><span class="neutral">Not Available</span></td></tr>
|
||||
<tr><td>{{:value.name}} ({{:value.assignment}})</td><td>{{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}}</td><td><span class="neutral">Not Available</span></td></tr>
|
||||
{{else value.sensor_type == 2}}
|
||||
<tr><td>{{:value.name}}</td><td>{{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}} (<span class="oxyloss_light">{{:value.oxy}}</span>/<span class="toxin_light">{{:value.tox}}</span>/<span class="burn">{{:value.fire}}</span>/<span class="brute">{{:value.brute}}</span>)</td><td><span class="neutral">Not Available</td></td></tr>
|
||||
<tr><td>{{:value.name}} ({{:value.assignment}})</td><td>{{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}} (<span class="oxyloss">{{:value.oxy}}</span>/<span class="toxin">{{:value.tox}}</span>/<span class="burn">{{:value.fire}}</span>/<span class="brute">{{:value.brute}}</span>)</td><td><span class="neutral">Not Available</td></td></tr>
|
||||
{{else value.sensor_type == 3}}
|
||||
<tr><td>{{:value.name}}</td><td>{{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}} (<span class="oxyloss_light">{{:value.oxy}}</span>/<span class="toxin_light">{{:value.tox}}</span>/<span class="burn">{{:value.fire}}</span>/<span class="brute">{{:value.brute}}</span>)</td><td>{{:value.area}}({{:value.x}}, {{:value.y}})</td></tr>
|
||||
<tr><td>{{:value.name}} ({{:value.assignment}})</td><td>{{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}} (<span class="oxyloss">{{:value.oxy}}</span>/<span class="toxin">{{:value.tox}}</span>/<span class="burn">{{:value.fire}}</span>/<span class="brute">{{:value.brute}}</span>)</td><td>{{:value.area}}({{:value.x}}, {{:value.y}})</td></tr>
|
||||
{{/if}}
|
||||
{{/for}}
|
||||
</tbody></table>
|
||||
@@ -4,13 +4,13 @@ Used In File(s): \code\game\machinery\computer\crew.dm
|
||||
-->
|
||||
{{for data.crewmembers}}
|
||||
{{if value.sensor_type == 3}}
|
||||
<div class="mapIcon mapIcon16 rank-{{:value.rank.ckey()}} {{:value.dead ? 'dead' : 'alive'}}" style="left: {{:(value.x)}}px; bottom: {{:(value.y)}}px;" unselectable="on">
|
||||
<div class="mapIcon mapIcon16 rank-{{:value.rank.ckey()}} {{:value.dead ? 'dead' : 'alive'}}" style="left: {{:(value.x)}}px; bottom: {{:(value.y - 1)}}px;" unselectable="on">
|
||||
<div class="tooltip hidden">
|
||||
{{:value.name}} ({{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}}) (<span class="oxyloss_light">{{:value.oxy}}</span>/<span class="toxin_light">{{:value.tox}}</span>/<span class="burn">{{:value.fire}}</span>/<span class="brute">{{:value.brute}}</span>) ({{:value.area}}: {{:value.x}}, {{:value.y}})
|
||||
{{:value.name}} ({{:value.assignment}}) ({{:value.dead ? "<span class='bad'>Deceased</span>" : "<span class='good'>Living</span>"}}) (<span class="oxyloss">{{:value.oxy}}</span>/<span class="toxin">{{:value.tox}}</span>/<span class="burn">{{:value.fire}}</span>/<span class="brute">{{:value.brute}}</span>) ({{:value.area}}: {{:value.x}}, {{:value.y}})
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/for}}
|
||||
|
||||
<div class="mapIcon mapIcon16 rank-captain alive" style="left: 10px; bottom: 10px;" unselectable="on"></div>
|
||||
<div style="position: absolute; width: 1px; height: 1px; background: #00ff00; left: 10px; bottom: 10px;" unselectable="on"></div>
|
||||
<div style="position: absolute; width: 1px; height: 1px; background: #00ff00; left: 10px; bottom: 10px;" unselectable="on"></div>
|
||||