Vox-compatibility for Most Suits, Fixes Reactive Armour Icon Update Bug

Also adds hiding tails by-species. Updates captain space-suit helmet hair-hiding code.
Fixes a bug where Reactive Armour's sprite wouldn't update when you turned it on or off.
Adds species-fitting for clothing accessories.
Adds the ability to open and close the Clown Officer and Soldier coats.

Adds Vox sprites for the following suits and accessories:
Unathi robe, unathi mantle, all ERT armour (not the spacesuits), armour vest, reflective armour vest,
Security armour vest, bulletproof armour vest, Detective armour vest, blueshield armour vest, combat armour vest,
laser tag vests, ian shirt, suspenders, waistcoat, vest, first responder jacket, bomber jacket, security bomber jacket,
black suit jacket, blue suit jacket, purple suit jacket, IAA jacket, NT Rep jacket, forensics jackets, overalls,
captain's carapace, Blueshield coat, trenchcoats, pirate and old pirate coats, HoS coat, HoS trenchcoat, Warden's jackets,
leather jacket, all military jackets, all ponchos, hazard vest, brigphys vest, reactive armour, riot/swat armour,
heavy armour, thunderdome armour, all knight armour, all bombsuits, regular and atmos firesuits, all biosuits, webbing,
clown officer coat, clown soldier coat.
This commit is contained in:
KasparoVy
2016-07-03 19:39:15 -04:00
parent 9ea4ba272b
commit d476516f88
18 changed files with 177 additions and 43 deletions
@@ -313,6 +313,8 @@
flags_inv = HIDEJUMPSUIT
cold_protection = 0
heat_protection = 0
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/armor/changeling/New()
..()
@@ -21,6 +21,8 @@
var/datum/icon_snapshot/disguise
var/stealth_armor = list(melee = 15, bullet = 15, laser = 15, energy = 15, bomb = 15, bio = 15, rad = 15)
var/combat_armor = list(melee = 50, bullet = 50, laser = 50, energy = 50, bomb = 50, bio = 50, rad = 50)
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/armor/abductor/vest/proc/flip_mode()
switch(mode)
+9
View File
@@ -452,6 +452,7 @@ BLIND // can't see anything
var/suit_adjusted = 0
var/ignore_suitadjust = 1
var/adjust_flavour = null
var/list/hide_tail_by_species = null
//Proc that opens and closes jackets.
/obj/item/clothing/suit/proc/adjustsuit(var/mob/user)
@@ -496,6 +497,14 @@ BLIND // can't see anything
else
to_chat(user, "<span class='notice'>You attempt to button up the velcro on \the [src], before promptly realising how retarded you are.</span>")
/obj/item/clothing/suit/equipped(var/mob/living/carbon/human/user) //Handle tail-hiding on a by-species basis.
if(ishuman(user))
if(hide_tail_by_species && (user.species.name in hide_tail_by_species) && !(HIDETAIL in flags_inv)) //Hide the tail if the user's species is in the hide_tail_by_species list and the tail isn't already hidden.
flags_inv |= HIDETAIL
else
if(!(HIDETAIL in initial(flags_inv))) //Otherwise, remove the HIDETAIL flag if it wasn't already in the flags_inv to start with.
flags_inv &= ~HIDETAIL
/obj/item/clothing/suit/verb/openjacket(var/mob/user) //The verb you can use to adjust jackets.
set name = "Open/Close Jacket"
set category = "Object"
@@ -14,10 +14,12 @@
"Drask" = 'icons/mob/species/drask/helmet.dmi'
)
/obj/item/clothing/head/helmet/space/capspace/equipped(var/mob/living/carbon/human/user, var/slot)
if (ishuman(user) && user.species.name == "Vox")
flags &= ~BLOCKHAIR
else
flags |= BLOCKHAIR
if(ishuman(user))
if(user.species.name == "Vox" && !(BLOCKHAIR in flags))
flags &= ~BLOCKHAIR
else
if(!(BLOCKHAIR in initial(flags)))
flags |= BLOCKHAIR
/obj/item/clothing/suit/space/captain
name = "captain's space suit"
+5
View File
@@ -1,4 +1,9 @@
//Unathi clothing.
/obj/item/clothing/suit/unathi/
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/unathi/robe
name = "roughspun robes"
+16 -1
View File
@@ -8,6 +8,10 @@
max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT
strip_delay = 60
put_on_delay = 40
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/armor/vest
name = "armor"
@@ -85,6 +89,8 @@
desc = "A vest drenched in the blood of Greytide. It has seen better days."
icon_state = "bloody_armor"
item_state = "bloody_armor"
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/armor/hos
name = "armored coat"
@@ -115,6 +121,8 @@
icon_state = "jensencoat"
item_state = "jensencoat"
flags_inv = 0
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/armor/vest/warden
name = "Warden's armored jacket"
@@ -152,6 +160,7 @@
flags_inv = HIDEJUMPSUIT
strip_delay = 80
put_on_delay = 60
hide_tail_by_species = list("Vox")
/obj/item/clothing/suit/armor/riot/knight
name = "plate armour"
@@ -233,7 +242,7 @@
/obj/item/clothing/suit/armor/reactive/attack_self(mob/user as mob)
src.active = !( src.active )
if (src.active)
if(src.active)
to_chat(user, "\blue The reactive armor is now active.")
src.icon_state = "reactive"
src.item_state = "reactive"
@@ -242,6 +251,8 @@
src.icon_state = "reactiveoff"
src.item_state = "reactiveoff"
src.add_fingerprint(user)
user.update_inv_wear_suit()
return
/obj/item/clothing/suit/armor/reactive/emp_act(severity)
@@ -266,6 +277,8 @@
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS
min_cold_protection_temperature = SPACE_SUIT_MIN_TEMP_PROTECT
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/armor/heavy
name = "heavy armor"
@@ -279,6 +292,7 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
slowdown = 3
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
hide_tail_by_species = list("Vox")
/obj/item/clothing/suit/armor/tdome
armor = list(melee = 65, bullet = 30, laser = 50, energy = 10, bomb = 25, bio = 0, rad = 0)
@@ -287,6 +301,7 @@
flags = THICKMATERIAL
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
hide_tail_by_species = list("Vox")
/obj/item/clothing/suit/armor/tdome/red
name = "Red Thunderdome Armor"
+8 -1
View File
@@ -24,6 +24,11 @@
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAIL
strip_delay = 70
put_on_delay = 70
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
hide_tail_by_species = list("Vox")
//Standard biosuit, orange stripe
/obj/item/clothing/head/bio_hood/general
@@ -80,4 +85,6 @@
icon_state = "plaguedoctor"
item_state = "bio_suit"
strip_delay = 40
put_on_delay = 20
put_on_delay = 20
species_fit = null
sprite_sheets = null
+34 -4
View File
@@ -25,6 +25,10 @@
/obj/item/device/healthanalyzer, /obj/item/device/flashlight, \
/obj/item/device/radio, /obj/item/weapon/tank/emergency_oxygen,/obj/item/device/rad_laser)
armor = list(melee = 10, bullet = 0, laser = 0, energy = 0, bomb = 0, bio = 10, rad = 0)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//Botonist
/obj/item/clothing/suit/apron
@@ -119,10 +123,6 @@
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list(/obj/item/weapon/kitchen/knife)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//Detective
/obj/item/clothing/suit/storage/det_suit
@@ -150,6 +150,10 @@
body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS
allowed = list(/obj/item/weapon/tank/emergency_oxygen, /obj/item/device/flashlight,/obj/item/weapon/gun/energy,/obj/item/weapon/gun/projectile,/obj/item/ammo_box,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/restraints/handcuffs,/obj/item/device/detective_scanner,/obj/item/device/taperecorder)
armor = list(melee = 10, bullet = 10, laser = 15, energy = 10, bomb = 0, bio = 0, rad = 0)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/forensics/red
name = "red jacket"
@@ -174,6 +178,10 @@
cold_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|ARMS
flags = ONESIZEFITSALL
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//Engineering
/obj/item/clothing/suit/storage/hazardvest
@@ -189,6 +197,12 @@
)
//Lawyer
/obj/item/clothing/suit/storage/lawyer
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/lawyer/blackjacket
name = "black suit jacket"
desc = "A snappy dress jacket."
@@ -233,6 +247,10 @@
suit_adjusted = 1
action_button_name = "Button/Unbutton Jacket"
adjust_flavour = "unbutton"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/ntrep
name = "\improper NanoTrasen Representative jacket"
@@ -244,6 +262,10 @@
ignore_suitadjust = 0
action_button_name = "Button/Unbutton Jacket"
adjust_flavour = "unbutton"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//Medical
/obj/item/clothing/suit/storage/fr_jacket
@@ -258,6 +280,10 @@
suit_adjusted = 1
action_button_name = "Button/Unbutton Jacket"
adjust_flavour = "unbutton"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//Mime
/obj/item/clothing/suit/suspenders
@@ -266,3 +292,7 @@
icon = 'icons/obj/clothing/belts.dmi'
icon_state = "suspenders"
blood_overlay_type = "armor" //it's the less thing that I can put here
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
-28
View File
@@ -21,66 +21,38 @@
desc = "Bluer than the standard model."
icon_state = "labcoat_cmo_open"
item_state = "labcoat_cmo_open"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/labcoat/mad
name = "mad scientist's labcoat"
desc = "It makes you look capable of konking someone on the noggin and shooting them into space."
icon_state = "labcoat_green_open"
item_state = "labcoat_green_open"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/labcoat/genetics
name = "geneticist labcoat"
desc = "A suit that protects against minor chemical spills. Has a blue stripe on the shoulder."
icon_state = "labcoat_gen_open"
item_state = "labcoat_gen_open"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/labcoat/chemist
name = "chemist labcoat"
desc = "A suit that protects against minor chemical spills. Has an orange stripe on the shoulder."
icon_state = "labcoat_chem_open"
item_state = "labcoat_chem_open"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/labcoat/virologist
name = "virologist labcoat"
desc = "A suit that protects against minor chemical spills. Offers slightly more protection against biohazards than the standard model. Has a green stripe on the shoulder."
icon_state = "labcoat_vir_open"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/labcoat/science
name = "scientist labcoat"
desc = "A suit that protects against minor chemical spills. Has a purple stripe on the shoulder."
icon_state = "labcoat_tox_open"
item_state = "labcoat_tox_open"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/storage/labcoat/mortician
name = "coroner labcoat"
desc = "A suit that protects against minor chemical spills. Has a black stripe on the shoulder."
icon_state = "labcoat_mort_open"
item_state = "labcoat_mort_open"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
+54 -2
View File
@@ -16,6 +16,10 @@
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list (/obj/item/weapon/gun/energy/laser/bluetag)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/redtag
name = "red laser tag armour"
@@ -25,6 +29,10 @@
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
allowed = list (/obj/item/weapon/gun/energy/laser/redtag)
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/*
* Costume
@@ -34,13 +42,20 @@
desc = "Yarr."
icon_state = "pirate_old"
item_state = "pirate_old"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/pirate_black
name = "black pirate coat"
desc = "Yarr."
icon_state = "pirate"
item_state = "pirate"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/hgpirate
name = "pirate captain coat"
@@ -99,7 +114,10 @@
item_state = "wcoat"
blood_overlay_type = "armor"
body_parts_covered = UPPER_TORSO|LOWER_TORSO
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/apron/overalls
name = "coveralls"
@@ -233,6 +251,10 @@
desc = "Your classic, non-racist poncho."
icon_state = "classicponcho"
item_state = "classicponcho"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/poncho/green
name = "green poncho"
@@ -280,6 +302,10 @@
desc = "A worn out, curiously comfortable t-shirt with a picture of Ian. You wouldn't go so far as to say it feels like being hugged when you wear it but it's pretty close. Good for sleeping in."
icon_state = "ianshirt"
item_state = "ianshirt"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//pyjamas
//originally intended to be pinstripes >.>
@@ -323,12 +349,20 @@
desc = "It makes you stand out. Just the opposite of why it's typically worn. Nice try trying to blend in while wearing it."
icon_state = "brtrenchcoat"
item_state = "brtrenchcoat"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/blacktrenchcoat
name = "black trench coat"
desc = "That shade of black just makes you look a bit more evil. Good for those mafia types."
icon_state = "bltrenchcoat"
item_state = "bltrenchcoat"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
//actual suits
@@ -473,6 +507,10 @@
cold_protection = UPPER_TORSO|LOWER_TORSO|ARMS
action_button_name = "Zip/Unzip Jacket"
adjust_flavour = "unzip"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/jacket/pilot
name = "security bomber jacket"
@@ -504,12 +542,26 @@
desc = "A classy clown officer's overcoat, also designed by Hugo Boss."
icon_state = "officersuit"
item_state = "officersuit"
ignore_suitadjust = 0
action_button_name = "Button/Unbutton Jacket"
adjust_flavour = "unbutton"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/soldiercoat
name = "Clown Soldier's Coat"
desc = "An overcoat for the clown soldier, to keep him warm during those cold winter nights on the front."
icon_state = "soldiersuit"
item_state = "soldiersuit"
ignore_suitadjust = 0
action_button_name = "Button/Unbutton Jacket"
adjust_flavour = "unbutton"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/toggle/owlwings
name = "owl cloak"
+13 -1
View File
@@ -32,7 +32,10 @@
/obj/item/clothing/suit/fire/firefighter
icon_state = "firesuit"
item_state = "firefighter"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/suit/fire/heavy
name = "firesuit"
@@ -48,6 +51,10 @@
icon_state = "atmos_firesuit"
item_state = "firesuit_atmos"
max_heat_protection_temperature = FIRE_IMMUNITY_SUIT_MAX_TEMP_PROTECT
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/*
* Bomb protection
@@ -85,6 +92,11 @@
min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT
strip_delay = 70
put_on_delay = 70
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
hide_tail_by_species = list("Vox")
/obj/item/clothing/head/bomb_hood/security
icon_state = "bombsuitsec"
@@ -90,6 +90,10 @@
icon_state = "waistcoat"
item_state = "waistcoat"
item_color = "waistcoat"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/accessory/stethoscope
name = "stethoscope"
@@ -74,6 +74,10 @@
desc = "Sturdy mess of synthcotton belts and buckles, ready to share your burden."
icon_state = "webbing"
item_color = "webbing"
species_fit = list("Vox")
sprite_sheets = list(
"Vox" = 'icons/mob/species/vox/suit.dmi'
)
/obj/item/clothing/accessory/storage/black_vest
name = "black webbing vest"
+12
View File
@@ -212,6 +212,8 @@
desc = "A labcoat with a few markings denoting it as the labcoat of roboticist."
icon = 'icons/obj/custom_items.dmi'
icon_state = "aeneasrinil_open"
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/jacket/fluff/kidosvest // Anxipal: Kido Qasteth
name = "Kido's Vest"
@@ -222,6 +224,8 @@
ignore_suitadjust = 1
action_button_name = null
adjust_flavour = null
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/fluff/kluys // Kluys: Cripty Pandaen
name = "Nano Fibre Jacket"
@@ -259,6 +263,8 @@
desc = "A suit that protects against minor chemical spills. Has a red stripe on the shoulders and rolled up sleeves."
icon = 'icons/obj/custom_items.dmi'
icon_state = "labcoat_red_open"
species_fit = null
sprite_sheets = null
/obj/item/clothing/suit/fluff/stobarico_greatcoat // Stobarico: F.U.R.R.Y
name = "\improper F.U.R.R.Y's Nanotrasen Greatcoat"
@@ -333,6 +339,8 @@
ignore_suitadjust = 1
action_button_name = null
adjust_flavour = null
species_fit = null
sprite_sheets = null
/obj/item/clothing/under/fluff/fox
name = "Aeronautics Jumpsuit"
@@ -440,6 +448,8 @@
icon = 'icons/obj/clothing/ties.dmi'
icon_state = "vest_black"
item_state = "vest_black"
species_fit = null
sprite_sheets = null
/obj/item/clothing/under/pants/fluff/combat
name = "combat pants"
@@ -455,6 +465,8 @@
item_state = "elliot_windbreaker_open"
adjust_flavour = "unzip"
suit_adjusted = 1
species_fit = null
sprite_sheets = null
/obj/item/device/fluff/tattoo_gun/elliot_cybernetic_tat
desc = "A cheap plastic tattoo application pen.<br>This one seems heavily used."
@@ -623,7 +623,12 @@ var/global/list/damage_icon_parts = list()
for(var/obj/item/clothing/accessory/A in w_uniform:accessories)
var/tie_color = A.item_color
if(!tie_color) tie_color = A.icon_state
standing.overlays += image("icon" = 'icons/mob/ties.dmi', "icon_state" = "[tie_color]")
if(A.icon_override)
standing.overlays += image("icon" = A.icon_override, "icon_state" = "[A.icon_state]")
else if(A.sprite_sheets && A.sprite_sheets[species.name])
standing.overlays += image("icon" = A.sprite_sheets[species.name], "icon_state" = "[A.icon_state]")
else
standing.overlays += image("icon" = 'icons/mob/ties.dmi', "icon_state" = "[tie_color]")
overlays_standing[UNIFORM_LAYER] = standing
else
@@ -889,7 +894,6 @@ var/global/list/damage_icon_parts = list()
/mob/living/carbon/human/update_inv_wear_suit(var/update_icons=1)
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[slot_wear_suit]
if(inv)
@@ -6,6 +6,8 @@
icon_state = "engspace_suit"
item_state = "engspace_suit"
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 100, rad = 100)
species_fit = null
sprite_sheets = null
/obj/item/clothing/head/bio_hood/anomaly
name = "Anomaly hood"