Refactors that mess of a code for alternate worn clothing sprites for digitigrade and taurs.

This commit is contained in:
Ghommie
2019-12-08 09:02:41 +01:00
parent 8bc5580a01
commit 8ec4bdaef5
52 changed files with 336 additions and 529 deletions

View File

@@ -135,28 +135,24 @@
#define FEMALE_UNIFORM_FULL 1
#define FEMALE_UNIFORM_TOP 2
//flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
#define NORMAL_STYLE 0
#define ALT_STYLE 1
#define NORMAL_SUIT_STYLE 0
#define DIGITIGRADE_SUIT_STYLE 1
//Tauric Specific suits
#define NOT_TAURIC 0
#define SNEK_TAURIC 1
#define PAW_TAURIC 2
#define HOOF_TAURIC 3
//Helmets/masks for muzzles or beaks
#define NORMAL_FACED 0
#define MUZZLE_FACED 1
#define BEAKED_FACED 2
//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts
#define NO_MUTANTRACE_VARIATION 0
#define MUTANTRACE_VARIATION 1
//flags for alternate styles: These are hard sprited so don't set this if you didn't put the effort in
#define NORMAL_STYLE 0
#define ALT_STYLE 1
//flags for outfits that have mutantrace variants
#define STYLE_DIGITIGRADE (1<<0) //jumpsuits, suits and shoes
#define STYLE_MUZZLE (1<<1) //hats or masks
#define STYLE_SNEK_TAURIC (1<<2) //taur-friendly suits
#define STYLE_PAW_TAURIC (1<<3)
#define STYLE_HOOF_TAURIC (1<<4)
#define STYLE_ALL_TAURIC (STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC|STYLE_HOOF_TAURIC)
//digitigrade legs settings.
#define NOT_DIGITIGRADE 0
#define FULL_DIGITIGRADE 1
#define SQUISHED_DIGITIGRADE 2

View File

@@ -61,26 +61,6 @@ GLOBAL_LIST_EMPTY(latejoiners) //CIT CHANGE - All latejoining people, for traito
var/mob/M = i
M.update_config_movespeed()
GLOBAL_LIST_INIT(noodle_taurs, list(
"Naga",
"Tentacle"
))
GLOBAL_LIST_INIT(paw_taurs, list(
"Fox",
"Wolf",
"Otie",
"Drake",
"Lab",
"Shepherd",
"Husky",
"Eevee",
"Panther",
"Horse",
"Cow",
"Tiger"
))
//blood types
GLOBAL_LIST_INIT(regular_bloods,list(
"O-",

View File

@@ -52,7 +52,7 @@ GLOBAL_VAR_INIT(rpg_loot_items, FALSE)
var/interaction_flags_item = INTERACT_ITEM_ATTACK_HAND_PICKUP
//Citadel Edit for digitigrade stuff
var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
var/mutantrace_variation = NONE //Are there special sprites for specific situations? Don't use this unless you need to.
var/item_color = null //this needs deprecating, soonish

View File

@@ -7,7 +7,7 @@
w_class = WEIGHT_CLASS_NORMAL
resistance_flags = FIRE_PROOF | ACID_PROOF
flags_inv = HIDEEARS|HIDEHAIR|HIDEFACE|HIDESNOUT
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
armor = list("melee" = 50, "bullet" = 70, "laser" = -25, "energy" = 0, "bomb" = 60, "bio" = 0, "rad" = 0, "fire" = 100, "acid" = 100)
/obj/item/clothing/head/helmet/clockwork/Initialize()

View File

@@ -331,7 +331,7 @@
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDEEARS|HIDEEYES|HIDESNOUT
armor = list("melee" = 30, "bullet" = 30, "laser" = 30,"energy" = 20, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 10)
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/suit/magusred
name = "magus robes"

View File

@@ -2319,9 +2319,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
pref_species.species_traits -= DIGITIGRADE
if(DIGITIGRADE in pref_species.species_traits)
character.Digitigrade_Leg_Swap(FALSE)
character.Digitigrade_Leg_Swap(FALSE, TRUE)
else
character.Digitigrade_Leg_Swap(TRUE)
character.Digitigrade_Leg_Swap(TRUE, TRUE)
//let's be sure the character updates
if(icon_updates)

View File

@@ -8,8 +8,6 @@
var/blockTracking = 0 //For AI tracking
var/can_toggle = null
dynamic_hair_suffix = "+generic"
var/muzzle_var = NORMAL_STYLE
mutantrace_variation = NO_MUTANTRACE_VARIATION //not all hats have muzzles
/obj/item/clothing/head/Initialize()
. = ..()
@@ -17,30 +15,6 @@
var/mob/living/carbon/human/H = loc
H.update_hair()
/obj/item/clothing/head/equipped(mob/user, slot)
..()
if(ishuman(user))
var/mob/living/carbon/human/H = user
var/datum/species/pref_species = H.dna.species
if(mutantrace_variation)
if("mam_snouts" in pref_species.default_features)
if(H.dna.features["mam_snouts"] != "None")
muzzle_var = ALT_STYLE
else
muzzle_var = NORMAL_STYLE
else if("snout" in pref_species.default_features)
if(H.dna.features["snout"] != "None")
muzzle_var = ALT_STYLE
else
muzzle_var = NORMAL_STYLE
else
muzzle_var = NORMAL_STYLE
H.update_inv_head()
///Special throw_impact for hats to frisbee hats at people to place them on their heads.
/obj/item/clothing/head/throw_impact(atom/hit_atom, datum/thrownthing/thrownthing)
. = ..()

View File

@@ -91,7 +91,7 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
cold_protection = HEAD
min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/head/hardhat/weldhat
name = "welding hard hat"

View File

@@ -76,7 +76,7 @@
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
dog_fashion = null
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/head/helmet/attack_self(mob/user)
if(can_toggle && !user.incapacitated())
@@ -217,7 +217,7 @@
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
strip_delay = 80
dog_fashion = null
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/head/helmet/knight/Initialize(mapload)
@@ -246,7 +246,7 @@
icon_state = "skull"
item_state = "skull"
strip_delay = 100
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
//LightToggle

View File

@@ -66,7 +66,7 @@
item_state = "syndicate-helm-black-red"
desc = "A plastic replica of a Syndicate agent's space helmet. You'll look just like a real murderous Syndicate agent in this! This is a toy, it is not made for use in space!"
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|HIDESNOUT
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/head/cueball
name = "cueball helmet"

View File

@@ -28,7 +28,7 @@
visor_flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE
visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
resistance_flags = FIRE_PROOF
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/head/welding/attack_self(mob/user)
weldingvisortoggle(user)

View File

@@ -8,9 +8,6 @@
var/modifies_speech = FALSE
var/mask_adjusted = 0
var/adjusted_flags = null
var/muzzle_var = NORMAL_STYLE
mutantrace_variation = NO_MUTANTRACE_VARIATION //most masks have overrides, but not all probably.
/obj/item/clothing/mask/attack_self(mob/user)
if(CHECK_BITFIELD(clothing_flags, VOICEBOX_TOGGLABLE))
@@ -24,28 +21,6 @@
RegisterSignal(M, COMSIG_MOB_SAY, .proc/handle_speech)
else
UnregisterSignal(M, COMSIG_MOB_SAY)
if(!ishuman(M))
return
var/mob/living/carbon/human/H = M
var/datum/species/pref_species = H.dna.species
if(mutantrace_variation)
if("mam_snouts" in pref_species.default_features)
if(H.dna.features["mam_snouts"] != "None")
muzzle_var = ALT_STYLE
else
muzzle_var = NORMAL_STYLE
else if("snout" in pref_species.default_features)
if(H.dna.features["snout"] != "None")
muzzle_var = ALT_STYLE
else
muzzle_var = NORMAL_STYLE
else
muzzle_var = NORMAL_STYLE
H.update_inv_wear_mask()
/obj/item/clothing/mask/dropped(mob/M)
. = ..()

View File

@@ -7,7 +7,7 @@
visor_flags_inv = HIDEFACE|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_SMALL
actions_types = list(/datum/action/item_action/adjust)
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/balaclava/attack_self(mob/user)
adjustmask(user)
@@ -19,7 +19,7 @@
item_state = "luchag"
flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR
w_class = WEIGHT_CLASS_SMALL
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
modifies_speech = TRUE
/obj/item/clothing/mask/luchador/handle_speech(datum/source, list/speech_args)

View File

@@ -13,7 +13,7 @@
flags_cover = MASKCOVERSMOUTH
visor_flags_cover = MASKCOVERSMOUTH
resistance_flags = NONE
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/breath/suicide_act(mob/living/carbon/user)
user.visible_message("<span class='suicide'>[user] is wrapping \the [src]'s tube around [user.p_their()] neck! It looks like [user.p_theyre()] trying to commit suicide!</span>")

View File

@@ -10,7 +10,7 @@
permeability_coefficient = 0.01
flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH
resistance_flags = NONE
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/gas/glass
name = "glass gas mask"

View File

@@ -7,7 +7,7 @@
w_class = WEIGHT_CLASS_SMALL
gas_transfer_coefficient = 0.9
equip_delay_other = 20
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/muzzle/attack_paw(mob/user)
if(iscarbon(user))
@@ -31,7 +31,7 @@
permeability_coefficient = 0.01
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 25, "rad" = 0, "fire" = 0, "acid" = 0)
actions_types = list(/datum/action/item_action/adjust)
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/surgical/attack_self(mob/user)
adjustmask(user)
@@ -41,7 +41,7 @@
desc = "Warning: moustache is fake."
icon_state = "fake-moustache"
flags_inv = HIDEFACE
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/fakemoustache/italian
name = "italian moustache"
@@ -71,7 +71,7 @@
name = "joy mask"
desc = "Express your happiness or hide your sorrows with this laughing face with crying tears of joy cutout."
icon_state = "joy"
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/pig
name = "pig mask"
@@ -242,7 +242,7 @@
slot_flags = ITEM_SLOT_MASK
adjusted_flags = ITEM_SLOT_HEAD
icon_state = "bandbotany"
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/mask/bandana/attack_self(mob/user)
adjustmask(user)

View File

@@ -15,9 +15,7 @@
var/offset = 0
var/equipped_before_drop = FALSE
//CITADEL EDIT Enables digitigrade shoe styles
var/adjusted = NORMAL_STYLE
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_DIGITIGRADE
var/last_bloodtype = "" //used to track the last bloodtype to have graced these shoes; makes for better performing footprint shenanigans
var/last_blood_DNA = "" //same as last one
@@ -51,7 +49,7 @@
last_bloodtype = blood_dna[blood_dna[blood_dna.len]]//trust me this works
last_blood_DNA = blood_dna[blood_dna.len]
/obj/item/clothing/shoes/worn_overlays(isinhands = FALSE)
/obj/item/clothing/shoes/worn_overlays(isinhands = FALSE, icon_file, style_flags)
. = list()
if(!isinhands)
var/bloody = FALSE
@@ -63,23 +61,12 @@
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe")
if(bloody)
if(adjusted == NORMAL_STYLE)
. += mutable_appearance('icons/effects/blood.dmi', "shoeblood", color = blood_DNA_to_color())
else
. += mutable_appearance('icons/mob/feet_digi.dmi', "shoeblood", color = blood_DNA_to_color())
var/file2use = style_flags & STYLE_DIGITIGRADE ? 'icons/mob/feet_digi.dmi' : 'icons/effects/blood.dmi'
. += mutable_appearance(file2use, "shoeblood", color = blood_DNA_to_color())
/obj/item/clothing/shoes/equipped(mob/user, slot)
. = ..()
if(mutantrace_variation && ishuman(user))
var/mob/living/carbon/human/H = user
if(DIGITIGRADE in H.dna.species.species_traits)
adjusted = ALT_STYLE
H.update_inv_shoes()
else if(adjusted == ALT_STYLE)
adjusted = NORMAL_STYLE
H.update_inv_shoes()
if(offset && slot_flags & slotdefine2slotbit(slot))
user.pixel_y += offset
worn_y_dimension -= (offset * 2)

View File

@@ -5,7 +5,7 @@
icon_state = "leather"
item_color = "leather"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/magboots/deathsquad
desc = "Very expensive and advanced magnetic boots, used only by the elite during extravehicular activity to ensure the user remains safely attached to the vehicle."
@@ -14,7 +14,7 @@
magboot_state = "DS-magboots"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | ACID_PROOF
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/magboots/atmos
desc = "Magnetic boots, often used during extravehicular activity to ensure the user remains safely attached to the vehicle. These are painted in the colors of an atmospheric technician."
@@ -23,102 +23,102 @@
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
magboot_state = "atmosmagboots"
resistance_flags = FIRE_PROOF
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/simonshoes
name = "Simon's Shoes"
desc = "Simon's Shoes."
icon_state = "simonshoes"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/kneesocks
name = "kneesocks"
desc = "A pair of girly knee-high socks."
icon_state = "kneesock"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/jestershoes
name = "Jester Shoes"
desc = "As worn by the clowns of old."
icon_state = "jestershoes"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/aviatorboots
name = "Aviator Boots"
desc = "Boots suitable for just about any occasion."
icon_state = "aviator_boots"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/libertyshoes
name = "Liberty Shoes"
desc = "Freedom isn't free, neither were these shoes."
icon_state = "libertyshoes"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/megaboots
name = "DRN-001 Boots"
desc = "Large armored boots, very weak to large spikes."
icon_state = "megaboots"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/protoboots
name = "Prototype Boots"
desc = "Functionally identical to the DRN-001 model's boots, but in red."
icon_state = "protoboots"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/megaxboots
name = "Maverick Hunter boots"
desc = "Regardless of how much stronger these boots are than the DRN-001 model's, they're still extremely easy to pierce with a large spike."
icon_state = "megaxboots"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/joeboots
name = "Sniper Boots"
desc = "Nearly identical to the Prototype's boots, except in black."
icon_state = "joeboots"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/doomguy
name = "Doomguy's boots"
desc = "If you look closely, you might see skull fragments still buried in these boots."
icon_state = "doom"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/rottenshoes
name = "rotten shoes"
desc = "These shoes seem perfect for sneaking around."
icon_state = "rottenshoes"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/sandal/slippers
name = "magic slippers"
icon_state = "slippers"
desc = "For the wizard that puts comfort first. Who's going to laugh?"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/slippers_worn
name = "worn bunny slippers"
desc = "Fluffy..."
icon_state = "slippers_worn"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/jackboots/neorussian
name = "neo-Russian boots"
desc = "Tovarish, no one will realize you stepped on a pile of shit if your pair already looks like shit."
icon_state = "nr_boots"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE

View File

@@ -21,7 +21,7 @@
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
resistance_flags = NONE
dog_fashion = null
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
/obj/item/clothing/suit/space
@@ -46,4 +46,4 @@
equip_delay_other = 80
resistance_flags = NONE
rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE //rated for cosmic radation :honk:
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC

View File

@@ -26,6 +26,7 @@
actions_types = list(/datum/action/item_action/toggle)
armor = list("melee" = 60, "bullet" = 60, "laser" = 60, "energy" = 60, "bomb" = 30, "bio" = 90, "rad" = 90, "fire" = 100, "acid" = 1000)
resistance_flags = FIRE_PROOF | ACID_PROOF
mutantrace_variation = STYLE_DIGITIGRADE
var/list/chronosafe_items = list(/obj/item/chrono_eraser, /obj/item/gun/energy/chrono_gun)
var/obj/item/clothing/head/helmet/space/chronos/helmet = null
var/obj/effect/chronos_cam/camera = null

View File

@@ -180,7 +180,7 @@
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 100, "acid" = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_ALL_TAURIC
//Atmospherics
/obj/item/clothing/head/helmet/space/hardsuit/engine/atmos
@@ -202,7 +202,6 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/atmos
tauric = TRUE //Citadel Add for tauric hardsuits
//Chief Engineer's hardsuit
@@ -226,7 +225,6 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/engine/elite
jetpack = /obj/item/tank/jetpack/suit
tauric = TRUE //Citadel Add for tauric hardsuits
//Mining hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/mining
@@ -257,7 +255,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/mining
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_ALL_TAURIC
/obj/item/clothing/suit/space/hardsuit/mining/Initialize()
. = ..()
@@ -353,7 +351,7 @@
allowed = list(/obj/item/gun, /obj/item/ammo_box,/obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi
jetpack = /obj/item/tank/jetpack/suit
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_ALL_TAURIC
//Elite Syndie suit
/obj/item/clothing/head/helmet/space/hardsuit/syndi/elite
@@ -370,7 +368,6 @@
on = FALSE
resistance_flags = FIRE_PROOF | ACID_PROOF
/obj/item/clothing/suit/space/hardsuit/syndi/elite
name = "elite syndicate hardsuit"
desc = "An elite version of the syndicate hardsuit, with improved armour and fireproofing. It is in travel mode."
@@ -382,7 +379,8 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | ACID_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
//The Owl Hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/syndi/owl
@@ -404,6 +402,7 @@
item_state = "s_suit"
item_color = "owl"
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/owl
mutantrace_variation = STYLE_DIGITIGRADE
//Wizard hardsuit
@@ -430,6 +429,7 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS //Uncomment to enable firesuit protection
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/wizard
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/suit/space/hardsuit/wizard/Initialize()
. = ..()
@@ -455,7 +455,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/firstaid, /obj/item/healthanalyzer, /obj/item/stack/medical)
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/medical
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_ALL_TAURIC
//Research Director hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/rd
@@ -497,7 +497,6 @@
/obj/item/hand_tele, /obj/item/aicard)
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 100, "bio" = 100, "rad" = 60, "fire" = 60, "acid" = 80)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/rd
tauric = TRUE //Citadel Add for tauric hardsuits
//Security hardsuit
/obj/item/clothing/head/helmet/space/hardsuit/security
@@ -515,7 +514,7 @@
item_state = "sec_hardsuit"
armor = list("melee" = 35, "bullet" = 15, "laser" = 30, "energy" = 10, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_ALL_TAURIC
/obj/item/clothing/suit/space/hardsuit/security/Initialize()
. = ..()
@@ -536,7 +535,6 @@
armor = list("melee" = 45, "bullet" = 25, "laser" = 30, "energy" = 10, "bomb" = 25, "bio" = 100, "rad" = 50, "fire" = 95, "acid" = 95)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/security/hos
jetpack = /obj/item/tank/jetpack/suit
tauric = TRUE //Citadel Add for tauric hardsuits
//Captain
/obj/item/clothing/head/helmet/space/hardsuit/captain
@@ -564,7 +562,6 @@
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT //this needed to be added a long fucking time ago
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/captain
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/captain/Initialize()
. = ..()
@@ -586,6 +583,7 @@
item_state = "clown_hardsuit"
armor = list("melee" = 30, "bullet" = 5, "laser" = 10, "energy" = 5, "bomb" = 10, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 30)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/clown
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/suit/space/hardsuit/clown/mob_can_equip(mob/M, slot)
if(!..() || !ishuman(M))
@@ -615,6 +613,7 @@
slowdown = 3
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ancient
resistance_flags = FIRE_PROOF
mutantrace_variation = STYLE_DIGITIGRADE
var/footstep = 1
var/mob/listeningTo
@@ -710,7 +709,6 @@
var/recharge_rate = 1 //How quickly the shield recharges once it starts charging
var/shield_state = "shield-old"
var/shield_on = "shield-old"
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/shielded/Initialize()
. = ..()
@@ -750,13 +748,11 @@
var/mob/living/carbon/human/C = loc
C.update_inv_wear_suit()
/obj/item/clothing/suit/space/hardsuit/shielded/worn_overlays(isinhands)
. = list()
/obj/item/clothing/suit/space/hardsuit/shielded/worn_overlays(isinhands, icon_file, style_flags)
. = ..()
if(!isinhands)
if(taurmode >= SNEK_TAURIC)
. += mutable_appearance('modular_citadel/icons/mob/64x32_effects.dmi', shield_state, MOB_LAYER + 0.01)
else
. += mutable_appearance('icons/effects/effects.dmi', shield_state, MOB_LAYER + 0.01)
var/file2use = style_flags & STYLE_ALL_TAURIC ? 'modular_citadel/icons/mob/64x32_effects.dmi' : 'icons/effects/effects.dmi'
. += mutable_appearance(file2use, shield_state, MOB_LAYER + 0.01)
/obj/item/clothing/head/helmet/space/hardsuit/shielded
resistance_flags = FIRE_PROOF | ACID_PROOF
@@ -826,7 +822,7 @@
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/syndi
slowdown = 0
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_ALL_TAURIC
/obj/item/clothing/suit/space/hardsuit/shielded/syndi/Initialize()
jetpack = new /obj/item/tank/jetpack/suit(src)
@@ -855,7 +851,6 @@
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/shielded/swat
dog_fashion = /datum/dog_fashion/back/deathsquad
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/helmet/space/hardsuit/shielded/swat
name = "death commando helmet"
@@ -886,7 +881,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator)
var/energy_color = "#35FFF0"
var/obj/item/clothing/suit/space/hardsuit/lavaknight/linkedsuit = null
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/helmet/space/hardsuit/lavaknight/Initialize()
. = ..()
@@ -935,8 +930,6 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/storage/bag/ore, /obj/item/pickaxe)
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/lavaknight
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
tauric = TRUE //Citadel Add for tauric hardsuits
var/energy_color = "#35FFF0"
/obj/item/clothing/suit/space/hardsuit/lavaknight/Initialize()

View File

@@ -53,6 +53,7 @@ Contains:
armor = list("melee" = 40, "bullet" = 30, "laser" = 30,"energy" = 30, "bomb" = 50, "bio" = 90, "rad" = 20, "fire" = 100, "acid" = 100)
strip_delay = 120
resistance_flags = FIRE_PROOF | ACID_PROOF
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/head/helmet/space/beret
name = "officer's beret"
@@ -65,7 +66,7 @@ Contains:
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | ACID_PROOF
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/space/officer
name = "officer's jacket"
@@ -81,6 +82,7 @@ Contains:
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | ACID_PROOF
mutantrace_variation = STYLE_DIGITIGRADE
//NASA Voidsuit
/obj/item/clothing/head/helmet/space/nasavoid
@@ -95,6 +97,7 @@ Contains:
item_state = "void"
desc = "An old, NASA CentCom branch designed, dark red space suit."
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/multitool)
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/head/helmet/space/nasavoid/old
name = "Engineering Void Helmet"
@@ -116,7 +119,7 @@ Contains:
desc = "Ho ho ho. Merrry X-mas!"
icon_state = "santahat"
flags_cover = HEADCOVERSEYES
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
dog_fashion = /datum/dog_fashion/head/santa
@@ -127,6 +130,7 @@ Contains:
item_state = "santa"
slowdown = 0
allowed = list(/obj/item) //for stuffing exta special presents
mutantrace_variation = STYLE_DIGITIGRADE
//Space pirate outfit
@@ -140,14 +144,14 @@ Contains:
strip_delay = 40
equip_delay_other = 20
flags_cover = HEADCOVERSEYES
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/helmet/space/pirate/bandana
name = "royal bandana"
desc = "A space-proof bandanna crafted with reflective kevlar."
icon_state = "bandana"
item_state = "bandana"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/space/pirate
name = "royal waistcoat "
@@ -161,6 +165,7 @@ Contains:
armor = list("melee" = 30, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 60, "acid" = 75)
strip_delay = 40
equip_delay_other = 20
mutantrace_variation = STYLE_DIGITIGRADE
//Emergency Response Team suits
/obj/item/clothing/head/helmet/space/hardsuit/ert
@@ -189,7 +194,6 @@ Contains:
slowdown = 0
strip_delay = 130
resistance_flags = ACID_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
//ERT Security
/obj/item/clothing/head/helmet/space/hardsuit/ert/sec
@@ -251,6 +255,7 @@ Contains:
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/alert
armor = list("melee" = 70, "bullet" = 55, "laser" = 50, "energy" = 50, "bomb" = 65, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
resistance_flags = FIRE_PROOF | ACID_PROOF
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC
//ERT Security
/obj/item/clothing/head/helmet/space/hardsuit/ert/alert/sec
@@ -298,7 +303,6 @@ Contains:
item_state = "s_suit"
desc = "A lightweight space suit with the basic ability to protect the wearer from the vacuum of space during emergencies."
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 65)
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/head/helmet/space/eva
name = "EVA helmet"
@@ -317,7 +321,7 @@ Contains:
strip_delay = 130
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = ACID_PROOF | FIRE_PROOF
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/space/freedom
name = "eagle suit"
@@ -330,6 +334,7 @@ Contains:
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = ACID_PROOF | FIRE_PROOF
slowdown = 0
mutantrace_variation = STYLE_DIGITIGRADE
//Carpsuit, bestsuit, lovesuit
/obj/item/clothing/head/helmet/space/hardsuit/carp
@@ -340,7 +345,7 @@ Contains:
armor = list("melee" = -20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 75) //As whimpy as a space carp
brightness_on = 0 //luminosity when on
actions_types = list()
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/helmet/space/hardsuit/carp/Initialize()
. = ..()
@@ -356,6 +361,7 @@ Contains:
armor = list("melee" = -20, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 75, "fire" = 60, "acid" = 75) //As whimpy whimpy whoo
allowed = list(/obj/item/tank/internals, /obj/item/gun/ballistic/automatic/speargun) //I'm giving you a hint here
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/carp
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal
name = "paranormal response unit helmet"
@@ -366,7 +372,7 @@ Contains:
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
actions_types = list()
resistance_flags = FIRE_PROOF
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/Initialize()
. = ..()
@@ -380,7 +386,6 @@ Contains:
helmettype = /obj/item/clothing/head/helmet/space/hardsuit/ert/paranormal
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/hardsuit/ert/paranormal/Initialize()
. = ..()
@@ -427,7 +432,6 @@ Contains:
slowdown = 2
armor = list("melee" = 5, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 10, "fire" = 0, "acid" = 0)
strip_delay = 65
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/space/fragile/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK)
if(!torn && prob(50))

View File

@@ -12,7 +12,6 @@
var/next_extinguish = 0
var/extinguish_cooldown = 100
var/extinguishes_left = 10
mutantrace_variation = NO_MUTANTRACE_VARIATION
/obj/item/clothing/suit/space/eva/plasmaman/examine(mob/user)
. = ..()
@@ -47,7 +46,7 @@
var/on = FALSE
var/light_overlay = "envirohelm-light"
actions_types = list(/datum/action/item_action/toggle_helmet_light)
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/helmet/space/plasmaman/attack_self(mob/user)
if(!light_overlay)

View File

@@ -14,7 +14,7 @@
w_class = WEIGHT_CLASS_NORMAL
allowed = list(/obj/item/gun, /obj/item/ammo_box, /obj/item/ammo_casing, /obj/item/melee/baton, /obj/item/melee/transforming/energy/sword/saber, /obj/item/restraints/handcuffs, /obj/item/tank/internals)
armor = list("melee" = 40, "bullet" = 50, "laser" = 30,"energy" = 15, "bomb" = 30, "bio" = 30, "rad" = 30, "fire" = 80, "acid" = 85)
mutantrace_variation = STYLE_DIGITIGRADE
//Green syndicate space suit
/obj/item/clothing/head/helmet/space/syndicate/green
@@ -50,6 +50,7 @@
name = "orange space suit"
icon_state = "syndicate-orange"
item_state = "syndicate-orange"
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
//Blue syndicate space suit
/obj/item/clothing/head/helmet/space/syndicate/blue
@@ -109,7 +110,6 @@
name = "green space suit"
icon_state = "syndicate-black-med"
item_state = "syndicate-black"
tauric = TRUE //Citadel Add for tauric hardsuits
//Black-orange syndicate space suit
@@ -134,6 +134,7 @@
name = "black and red space suit"
icon_state = "syndicate-black-red"
item_state = "syndicate-black-red"
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
//Black with yellow/red engineering syndicate space suit

View File

@@ -9,56 +9,16 @@
var/blood_overlay_type = "suit"
var/togglename = null
var/suittoggled = FALSE
mutantrace_variation = STYLE_DIGITIGRADE
var/adjusted = NORMAL_STYLE
mutantrace_variation = MUTANTRACE_VARIATION
var/tauric = FALSE //Citadel Add for tauric hardsuits
var/taurmode = NOT_TAURIC
var/dimension_x = 32
var/dimension_y = 32
var/center = FALSE //Should we center the sprite?
/obj/item/clothing/suit/equipped(mob/user, slot)
..()
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(mutantrace_variation)
if(DIGITIGRADE in H.dna.species.species_traits)
adjusted = ALT_STYLE
H.update_inv_wear_suit()
else if(adjusted == ALT_STYLE)
adjusted = NORMAL_STYLE
if(("taur" in H.dna.species.mutant_bodyparts) && (H.dna.features["taur"] != "None"))
if(H.dna.features["taur"] in GLOB.noodle_taurs)
taurmode = SNEK_TAURIC
if(tauric == TRUE)
center = TRUE
dimension_x = 64
else if(H.dna.features["taur"] in GLOB.paw_taurs)
taurmode = PAW_TAURIC
if(tauric == TRUE)
center = TRUE
dimension_x = 64
else
taurmode = NOT_TAURIC
if(tauric == TRUE)
center = FALSE
dimension_x = 32
H.update_inv_wear_suit()
/obj/item/clothing/suit/worn_overlays(isinhands = FALSE)
. = list()
/obj/item/clothing/suit/worn_overlays(isinhands = FALSE, icon_file, style_flags = NONE)
. = ..()
if(!isinhands)
if(damaged_clothes)
. += mutable_appearance('icons/effects/item_damage.dmi', "damaged[blood_overlay_type]")
if(blood_DNA)
if(tauric && taurmode >= SNEK_TAURIC)
. += mutable_appearance('modular_citadel/icons/mob/64x32_effects.dmi', "[blood_overlay_type]blood", color = blood_DNA_to_color())
else
. += mutable_appearance('icons/effects/blood.dmi', "[blood_overlay_type]blood", color = blood_DNA_to_color())
var/file2use = (style_flags & STYLE_ALL_TAURIC) ? 'modular_citadel/icons/mob/64x32_effects.dmi' : 'icons/effects/blood.dmi'
. += mutable_appearance(file2use, "[blood_overlay_type]blood", color = blood_DNA_to_color())
var/mob/living/carbon/human/M = loc
if(ishuman(M) && M.w_uniform)
var/obj/item/clothing/under/U = M.w_uniform

View File

@@ -9,7 +9,7 @@
flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR|HIDEFACE|HIDESNOUT
resistance_flags = ACID_PROOF
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/suit/bio_suit
name = "bio suit"
@@ -28,7 +28,7 @@
strip_delay = 70
equip_delay_other = 70
resistance_flags = ACID_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
//Standard biosuit, orange stripe
/obj/item/clothing/head/bio_hood/general

View File

@@ -207,7 +207,7 @@
item_state = "techpriest"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
hoodtype = /obj/item/clothing/head/hooded/techpriest
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/hooded/techpriest
name = "techpriest's hood"
@@ -216,4 +216,4 @@
item_state = "techpriesthood"
body_parts_covered = HEAD
flags_inv = HIDEHAIR|HIDEEARS
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE

View File

@@ -816,7 +816,7 @@
blood_overlay_type = "armor"
body_parts_covered = CHEST
resistance_flags = NONE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 5, "bio" = 0, "rad" = 0, "fire" = -5, "acid" = -15) //nylon sucks against acid
/obj/item/clothing/suit/assu_suit

View File

@@ -179,8 +179,7 @@
RemoveHelmet()
/obj/item/clothing/suit/space/hardsuit/proc/ToggleHelmet()
var/mob/living/carbon/human/H = src.loc
var/datum/species/pref_species = H.dna.species
var/mob/living/carbon/human/H = loc
if(!helmettype)
return
if(!helmet)
@@ -194,18 +193,6 @@
to_chat(H, "<span class='warning'>You're already wearing something on your head!</span>")
return
else if(H.equip_to_slot_if_possible(helmet,SLOT_HEAD,0,0,1))
if(helmet.mutantrace_variation)
if("mam_snouts" in pref_species.default_features)
if(H.dna.features["mam_snouts"] != "None")
helmet.muzzle_var = ALT_STYLE
else if("snout" in pref_species.default_features)
if(H.dna.features["snout"] != "None")
helmet.muzzle_var = ALT_STYLE
else
helmet.muzzle_var = NORMAL_STYLE
H.update_inv_head()
to_chat(H, "<span class='notice'>You engage the helmet on the hardsuit.</span>")
suittoggled = TRUE
H.update_inv_wear_suit()

View File

@@ -21,7 +21,7 @@
allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/extinguisher, /obj/item/crowbar)
slowdown = 1
armor = list("melee" = 15, "bullet" = 5, "laser" = 20, "energy" = 10, "bomb" = 20, "bio" = 10, "rad" = 20, "fire" = 100, "acid" = 50)
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT
clothing_flags = STOPSPRESSUREDAMAGE | THICKMATERIAL
heat_protection = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
max_heat_protection_temperature = FIRE_SUIT_MAX_TEMP_PROTECT
@@ -30,11 +30,12 @@
strip_delay = 60
equip_delay_other = 60
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
/obj/item/clothing/suit/fire/firefighter
icon_state = "firesuit"
item_state = "firefighter"
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
/obj/item/clothing/suit/fire/heavy
@@ -50,6 +51,8 @@
icon_state = "atmos_firesuit"
item_state = "firesuit_atmos"
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
flags_inv = HIDEGLOVES|HIDESHOES|HIDEJUMPSUIT|HIDETAUR
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
/*
* Bomb protection
@@ -71,7 +74,7 @@
equip_delay_other = 70
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
resistance_flags = NONE
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/suit/bomb_suit
@@ -94,7 +97,7 @@
strip_delay = 70
equip_delay_other = 70
resistance_flags = NONE
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
/obj/item/clothing/head/bomb_hood/security
@@ -131,7 +134,7 @@
flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH
resistance_flags = NONE
rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
/obj/item/clothing/suit/radiation
name = "radiation suit"
@@ -151,4 +154,4 @@
flags_inv = HIDEJUMPSUIT|HIDETAUR
resistance_flags = NONE
rad_flags = RAD_PROTECT_CONTENTS | RAD_NO_CONTAMINATE
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_ALL_TAURIC

View File

@@ -9,7 +9,7 @@
siemens_coefficient = 0.5
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/armor/xcomsquaddie/dredd
name = "Judge Armor"
@@ -18,7 +18,7 @@
item_state = "dredd-suit"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/armor/xcomarmor
@@ -32,7 +32,7 @@
siemens_coefficient = 0.5
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/armor/vest/neorussian
name = "neo-Russian vest"
@@ -41,7 +41,7 @@
item_state = "nr_vest"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/armor/doomguy
name = "Doomguy's armor"
@@ -53,7 +53,7 @@
armor = list(melee = 50, bullet = 30, laser = 20, energy = 20, bomb = 30, bio = 0, rad = 0)
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/kaminacape
@@ -63,7 +63,7 @@
body_parts_covered = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/officercoat
name = "Officer's Coat"
@@ -71,7 +71,7 @@
icon_state = "officersuit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/soldiercoat
name = "Soldier's Coat"
@@ -79,7 +79,7 @@
icon_state = "soldiersuit"
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/russofurcoat
name = "russian fur coat"
@@ -89,7 +89,7 @@
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/doshjacket
name = "Plasterer's Jacket"
@@ -98,7 +98,7 @@
body_parts_covered = CHEST|GROIN|ARMS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/maidapron
name = "Apron"
@@ -107,7 +107,7 @@
body_parts_covered = CHEST|GROIN
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/clownpiece
name = "small fairy wings"
@@ -116,7 +116,7 @@
body_parts_covered = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/clownpiece/flying
name = "small fairy wings"
@@ -124,7 +124,7 @@
icon_state = "clownpiece-fly"
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/raincoat
name = "Raincoat"
@@ -133,6 +133,6 @@
body_parts_covered =CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE

View File

@@ -11,11 +11,10 @@
var/sensor_mode = NO_SENSORS
var/can_adjust = TRUE
var/adjusted = NORMAL_STYLE
var/suit_style = NORMAL_SUIT_STYLE
var/alt_covers_chest = FALSE // for adjusted/rolled-down jumpsuits, FALSE = exposes chest and arms, TRUE = exposes arms only
var/obj/item/clothing/accessory/attached_accessory
var/mutable_appearance/accessory_overlay
mutantrace_variation = MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to.
mutantrace_variation = STYLE_DIGITIGRADE
/obj/item/clothing/under/worn_overlays(isinhands = FALSE)
. = list()
@@ -49,8 +48,6 @@
if(random_sensor)
//make the sensor mode favor higher levels, except coords.
sensor_mode = pick(SENSOR_OFF, SENSOR_LIVING, SENSOR_LIVING, SENSOR_VITALS, SENSOR_VITALS, SENSOR_VITALS, SENSOR_COORDS, SENSOR_COORDS)
adjusted = NORMAL_STYLE
suit_style = NORMAL_SUIT_STYLE
..()
/obj/item/clothing/under/equipped(mob/user, slot)
@@ -61,14 +58,6 @@
if(!alt_covers_chest)
body_parts_covered |= CHEST
if(mutantrace_variation && ishuman(user))
var/mob/living/carbon/human/H = user
if(DIGITIGRADE in H.dna.species.species_traits)
suit_style = DIGITIGRADE_SUIT_STYLE
else
suit_style = NORMAL_SUIT_STYLE
H.update_inv_w_uniform()
if(attached_accessory && slot != SLOT_HANDS && ishuman(user))
var/mob/living/carbon/human/H = user
attached_accessory.on_uniform_equip(src, user)

View File

@@ -69,7 +69,6 @@
item_state = "lb_suit"
item_color = "cargo"
body_parts_covered = CHEST|GROIN|ARMS
mutantrace_variation = MUTANTRACE_VARIATION
alt_covers_chest = TRUE
/obj/item/clothing/under/rank/cargotech/skirt
@@ -132,7 +131,7 @@
item_color = "blueclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/rank/greenclown
name = "green clown suit"
@@ -142,7 +141,7 @@
item_color = "greenclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/rank/yellowclown
name = "yellow clown suit"
@@ -152,7 +151,7 @@
item_color = "yellowclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/rank/purpleclown
name = "purple clown suit"
@@ -162,7 +161,7 @@
item_color = "purpleclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/rank/orangeclown
name = "orange clown suit"
@@ -172,7 +171,7 @@
item_color = "orangeclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/rank/rainbowclown
name = "rainbow clown suit"
@@ -182,7 +181,7 @@
item_color = "rainbowclown"
fitted = FEMALE_UNIFORM_TOP
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/rank/clown/Initialize()
. = ..()

View File

@@ -667,7 +667,7 @@
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 100, "rad" = 0, "fire" = 95, "acid" = 95)
slowdown = 1
body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS|HANDS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
can_adjust = FALSE
strip_delay = 80
var/next_extinguish = 0

View File

@@ -4,7 +4,6 @@
gender = PLURAL
body_parts_covered = GROIN
fitted = NO_FEMALE_UNIFORM
mutantrace_variation = MUTANTRACE_VARIATION
can_adjust = FALSE
/obj/item/clothing/under/shorts/red

View File

@@ -9,7 +9,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/stripper_green
name = "green stripper outfit"
@@ -19,7 +19,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/wedding/bride_orange
name = "orange wedding dress"
@@ -30,7 +30,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/wedding/bride_purple
name = "purple wedding dress"
@@ -41,7 +41,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/wedding/bride_blue
name = "blue wedding dress"
@@ -52,7 +52,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/wedding/bride_red
name = "red wedding dress"
@@ -63,7 +63,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/wedding/bride_white
name = "white wedding dress"
@@ -74,7 +74,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/mankini
name = "pink mankini"
@@ -84,7 +84,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/*
/obj/item/clothing/under/psysuit
@@ -129,7 +129,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/russobluecamooutfit
name = "russian blue camo"
@@ -140,7 +140,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/stilsuit
name = "stillsuit"
@@ -151,7 +151,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/aviatoruniform
name = "aviator uniform"
@@ -162,7 +162,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/bikersuit
name = "biker's outfit"
@@ -172,7 +172,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/jacketsuit
name = "richard's outfit"
@@ -183,7 +183,7 @@
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
obj/item/clothing/under/mega
name = "\improper DRN-001 suit"
@@ -194,7 +194,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/proto
name = "The Prototype Suit"
@@ -205,7 +205,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/megax
name = "\improper Maverick Hunter regalia"
@@ -216,7 +216,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/joe
name = "The Sniper Suit"
@@ -227,7 +227,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/roll
name = "\improper DRN-002 Dress"
@@ -238,7 +238,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/gokugidown
name = "turtle hermit undershirt"
@@ -249,7 +249,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/gokugi
name = "turtle hermit outfit"
@@ -260,7 +260,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/doomguy
name = "\improper Doomguy's pants"
@@ -271,7 +271,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/vault13
name = "vault 13 Jumpsuit"
@@ -282,7 +282,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/vault
name = "vault jumpsuit"
@@ -293,7 +293,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/clownpiece
name = "Clownpiece's Pierrot suit"
@@ -304,7 +304,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/cia
name = "casual IAA outfit"
@@ -315,7 +315,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/greaser
name = "greaser outfit"
@@ -325,7 +325,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/greaser/New()
var/greaser_colour = "default"
@@ -344,7 +344,7 @@ obj/item/clothing/under/mega
item_color = "greaser_[greaser_colour]"
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/wintercasualwear
@@ -356,7 +356,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/casualwear
name = "spring casualwear"
@@ -367,7 +367,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/keyholesweater
name = "keyhole sweater"
@@ -378,7 +378,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/casualhoodie
name = "casual hoodie"
@@ -389,7 +389,7 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/casualhoodie/skirt
icon_state = "hoodieskirt"
@@ -397,7 +397,7 @@ obj/item/clothing/under/mega
item_color = "hoodieskirt"
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/*
/obj/item/clothing/under/mummy_rags
@@ -432,5 +432,5 @@ obj/item/clothing/under/mega
can_adjust = 0
icon = 'modular_citadel/icons/obj/clothing/vg_clothes.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE

View File

@@ -14,7 +14,7 @@
flags_inv = HIDEJUMPSUIT|HIDETAUR
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)
resistance_flags = FIRE_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
/obj/item/clothing/head/hooded/explorer
@@ -70,7 +70,7 @@
clothing_flags = THICKMATERIAL //not spaceproof
max_heat_protection_temperature = FIRE_IMMUNITY_MAX_TEMP_PROTECT
resistance_flags = FIRE_PROOF | LAVA_PROOF
tauric = TRUE //Citadel Add for tauric hardsuits
mutantrace_variation = STYLE_DIGITIGRADE|STYLE_SNEK_TAURIC|STYLE_PAW_TAURIC
slowdown = 0
armor = list("melee" = 70, "bullet" = 40, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100)
allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe)

View File

@@ -27,28 +27,33 @@
extra2 = TRUE
center = TRUE
dimension_x = 64
var/taur_mode = NOT_TAURIC
var/taur_mode = NONE //Must be a single specific tauric suit variation bitflag. Don't do FLAG_1|FLAG_2
var/alt_taur_mode = NONE //Same as above.
color_src = MATRIXED
/datum/sprite_accessory/taur/none
dimension_x = 32
center = FALSE
name = "None"
icon_state = "None"
/datum/sprite_accessory/taur/cow
name = "Cow"
icon_state = "cow"
taur_mode = HOOF_TAURIC
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/deer
name = "Deer"
icon_state = "deer"
taur_mode = HOOF_TAURIC
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
/datum/sprite_accessory/taur/drake
name = "Drake"
icon_state = "drake"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/drider
name = "Drider"
@@ -58,67 +63,68 @@
/datum/sprite_accessory/taur/eevee
name = "Eevee"
icon_state = "eevee"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
/datum/sprite_accessory/taur/fox
name = "Fox"
icon_state = "fox"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/husky
name = "Husky"
icon_state = "husky"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/horse
name = "Horse"
icon_state = "horse"
taur_mode = HOOF_TAURIC
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/lab
name = "Lab"
icon_state = "lab"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/naga
name = "Naga"
icon_state = "naga"
taur_mode = SNEK_TAURIC
taur_mode = STYLE_SNEK_TAURIC
/datum/sprite_accessory/taur/otie
name = "Otie"
icon_state = "otie"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/pede
name = "Scolipede"
icon_state = "pede"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
/datum/sprite_accessory/taur/panther
name = "Panther"
icon_state = "panther"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/shepherd
name = "Shepherd"
icon_state = "shepherd"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/tentacle
name = "Tentacle"
icon_state = "tentacle"
taur_mode = SNEK_TAURIC
taur_mode = STYLE_SNEK_TAURIC
color_src = MUTCOLORS
/datum/sprite_accessory/taur/tiger
name = "Tiger"
icon_state = "tiger"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/wolf
name = "Wolf"
icon_state = "wolf"
taur_mode = PAW_TAURIC
taur_mode = STYLE_PAW_TAURIC

View File

@@ -21,7 +21,7 @@
flags_cover = MASKCOVERSEYES | MASKCOVERSMOUTH
layer = MOB_LAYER
max_integrity = 100
mutantrace_variation = MUTANTRACE_VARIATION
mutantrace_variation = STYLE_MUZZLE
var/stat = CONSCIOUS //UNCONSCIOUS is the idle state in this case

View File

@@ -610,22 +610,22 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD)
if("tail_lizard" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || !H.dna.features["taur"] || H.dna.features["taur"] == "None")
bodyparts_to_add -= "tail_lizard"
if("waggingtail_lizard" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || !H.dna.features["taur"] || H.dna.features["taur"] == "None")
bodyparts_to_add -= "waggingtail_lizard"
else if ("tail_lizard" in mutant_bodyparts)
bodyparts_to_add -= "waggingtail_lizard"
if("tail_human" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || !H.dna.features["taur"] || H.dna.features["taur"] == "None")
bodyparts_to_add -= "tail_human"
if("waggingtail_human" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || !H.dna.features["taur"] || H.dna.features["taur"] == "None")
bodyparts_to_add -= "waggingtail_human"
else if ("tail_human" in mutant_bodyparts)
bodyparts_to_add -= "waggingtail_human"
@@ -685,11 +685,11 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
//Other Races
if("mam_tail" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || !H.dna.features["taur"] || H.dna.features["taur"] == "None")
bodyparts_to_add -= "mam_tail"
if("mam_waggingtail" in mutant_bodyparts)
if(H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || (!H.dna.features["taur"] == "None"))
if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || !H.dna.features["taur"] || H.dna.features["taur"] == "None")
bodyparts_to_add -= "mam_waggingtail"
else if ("mam_tail" in mutant_bodyparts)
bodyparts_to_add -= "mam_waggingtail"
@@ -720,10 +720,10 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
species_traits += DIGITIGRADE
var/should_be_squished = FALSE
if(H.wear_suit)
if(H.wear_suit.mutantrace_variation == NO_MUTANTRACE_VARIATION) //we got digitigrade suits now fam
if(!(H.wear_suit.mutantrace_variation & STYLE_DIGITIGRADE)) //we got digitigrade suits now fam
should_be_squished = TRUE
if(H.w_uniform && !H.wear_suit)
if(H.w_uniform.mutantrace_variation == NO_MUTANTRACE_VARIATION)
if(!(H.w_uniform.mutantrace_variation & STYLE_DIGITIGRADE))
should_be_squished = TRUE
if(O.use_digitigrade == FULL_DIGITIGRADE && should_be_squished)
O.use_digitigrade = SQUISHED_DIGITIGRADE

View File

@@ -73,16 +73,12 @@
/datum/species/xeno/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
if(("legs" in C.dna.species.mutant_bodyparts) && (C.dna.features["legs"] == "Digitigrade" || C.dna.features["legs"] == "Avian"))
species_traits += DIGITIGRADE
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(FALSE)
. = ..()
return ..()
/datum/species/xeno/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Plantigrade")
species_traits -= DIGITIGRADE
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(TRUE)
. = ..()
return ..()
//Praise the Omnissiah, A challange worthy of my skills - HS

View File

@@ -76,15 +76,12 @@
/datum/species/lizard/on_species_gain(mob/living/carbon/human/C, datum/species/old_species)
if(("legs" in C.dna.species.mutant_bodyparts) && (C.dna.features["legs"] == "Digitigrade" || C.dna.features["legs"] == "Avian"))
species_traits += DIGITIGRADE
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(FALSE)
return ..()
/datum/species/lizard/on_species_loss(mob/living/carbon/human/C, datum/species/new_species)
if(("legs" in C.dna.species.mutant_bodyparts) && C.dna.features["legs"] == "Plantigrade")
species_traits -= DIGITIGRADE
if(DIGITIGRADE in species_traits)
C.Digitigrade_Leg_Swap(TRUE)
return ..()
/*
Lizard subspecies: ASHWALKERS

View File

@@ -104,7 +104,6 @@ There are several things that need to be remembered:
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_W_UNIFORM]
inv.update_icon()
if(istype(w_uniform, /obj/item/clothing/under))
var/obj/item/clothing/under/U = w_uniform
U.screen_loc = ui_iclothing
if(client && hud_used && hud_used.hud_shown)
@@ -119,24 +118,25 @@ There are several things that need to be remembered:
var/t_color = U.item_color
if(!t_color)
t_color = U.icon_state
if(U.suit_style == NORMAL_SUIT_STYLE)
if(U.adjusted == ALT_STYLE)
t_color = "[t_color]_d"
var/alt_worn = U.alternate_worn_icon
var/variant_flag = NONE
if(!U.force_alternate_icon && U.mutantrace_variation && U.suit_style == DIGITIGRADE_SUIT_STYLE)
if((DIGITIGRADE in dna.species.species_traits) && U.mutantrace_variation & STYLE_DIGITIGRADE)
alt_worn = 'icons/mob/uniform_digi.dmi'
variant_flag |= STYLE_DIGITIGRADE
var/mutable_appearance/uniform_overlay
if(dna && dna.species.sexes)
var/G = (gender == FEMALE) ? "f" : "m"
if(G == "f" && U.fitted != NO_FEMALE_UNIFORM)
uniform_overlay = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = (alt_worn ? alt_worn : 'icons/mob/uniform.dmi'), isinhands = FALSE, femaleuniform = U.fitted)
uniform_overlay = U.build_worn_icon("[t_color]", UNIFORM_LAYER, alt_worn ? alt_worn : 'icons/mob/uniform.dmi', FALSE, U.fitted, variant_flag)
if(!uniform_overlay)
uniform_overlay = U.build_worn_icon(state = "[t_color]", default_layer = UNIFORM_LAYER, default_icon_file = (alt_worn ? alt_worn : 'icons/mob/uniform.dmi'), isinhands = FALSE)
uniform_overlay = U.build_worn_icon("[t_color]", UNIFORM_LAYER, alt_worn ? alt_worn : 'icons/mob/uniform.dmi', FALSE, style_flags = variant_flag)
if(OFFSET_UNIFORM in dna.species.offset_features)
@@ -270,32 +270,6 @@ There are several things that need to be remembered:
if(client && hud_used)
var/obj/screen/inventory/inv = hud_used.inv_slots[SLOT_SHOES]
inv.update_icon()
/*
if(!shoes && bloody_feet)
var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyfeet", -SHOES_LAYER, color = blood_DNA_to_color())
if(dna.features["taur"] != "None")
if(dna.features["taur"] in GLOB.noodle_taurs)
bloody_overlay = mutable_appearance('modular_citadel/icons/mob/64x32_effects.dmi', "snekbloodyfeet", -SHOES_LAYER, color = blood_DNA_to_color())
if(get_num_legs() < 2)
if(has_left_leg())
bloody_overlay.icon_state = "snekbloodyfeet_left"
else if(has_right_leg())
bloody_overlay.icon_state = "snekbloodyfeet_right"
else if(dna.features["taur"] in GLOB.paw_taurs)
bloody_overlay = mutable_appearance('modular_citadel/icons/mob/64x32_effects.dmi', "pawbloodyfeet", -SHOES_LAYER, color = blood_DNA_to_color())
if(get_num_legs() < 2)
if(has_left_leg())
bloody_overlay.icon_state = "pawbloodyfeet_left"
else if(has_right_leg())
bloody_overlay.icon_state = "pawbloodyfeet_right"
else
if(get_num_legs() < 2)
if(has_left_leg())
bloody_overlay.icon_state = "bloodyfeet_left"
else if(has_right_leg())
bloody_overlay.icon_state = "bloodyfeet_right"
overlays_standing[GLOVES_LAYER] = bloody_overlay*/
if(shoes)
var/obj/item/clothing/shoes/S = shoes
@@ -304,15 +278,17 @@ There are several things that need to be remembered:
if(hud_used.inventory_shown) //if the inventory is open
client.screen += shoes //add it to client's screen
update_observer_view(shoes,1)
if(S.mutantrace_variation)
if(S.adjusted == ALT_STYLE)
S.alternate_worn_icon = 'icons/mob/feet_digi.dmi'
else
S.alternate_worn_icon = null
var/alt_icon = S.alternate_worn_icon
var/variation_flag = NONE
if((DIGITIGRADE in dna.species.species_traits) && S.mutantrace_variation & STYLE_DIGITIGRADE)
alt_icon = 'icons/mob/feet_digi.dmi'
variation_flag |= STYLE_DIGITIGRADE
var/t_state = shoes.item_state
if (!t_state)
t_state = shoes.icon_state
overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(state = t_state, default_layer = SHOES_LAYER, default_icon_file = ((shoes.alternate_worn_icon) ? shoes.alternate_worn_icon : 'icons/mob/feet.dmi'))
overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(t_state, SHOES_LAYER, alt_icon ? alt_icon : 'icons/mob/feet.dmi', style_flags = variation_flag)
var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER]
if(OFFSET_SHOES in dna.species.offset_features)
shoes_overlay.pixel_x += dna.species.offset_features[OFFSET_SHOES][1]
@@ -350,13 +326,18 @@ There are several things that need to be remembered:
if(head)
remove_overlay(HEAD_LAYER)
var/obj/item/clothing/head/H = head
if(H.mutantrace_variation)
if(H.muzzle_var == ALT_STYLE)
H.alternate_worn_icon = 'icons/mob/head_muzzled.dmi'
else
H.alternate_worn_icon = null
var/alt_icon = H.alternate_worn_icon
var/muzzled = FALSE
var/variation_flag = NONE
if(("mam_snouts" in dna.species.default_features) && dna.features["mam_snouts"] != "None")
muzzled = TRUE
if(!muzzled && ("snout" in dna.species.default_features) && dna.features["snout"] != "None")
muzzled = TRUE
if(muzzled && H.mutantrace_variation & STYLE_MUZZLE)
alt_icon = 'icons/mob/head_muzzled.dmi'
variation_flag |= STYLE_MUZZLE
overlays_standing[HEAD_LAYER] = H.build_worn_icon(state = H.icon_state, default_layer = HEAD_LAYER, default_icon_file = ((head.alternate_worn_icon) ? H.alternate_worn_icon : 'icons/mob/head.dmi'))
overlays_standing[HEAD_LAYER] = H.build_worn_icon(H.icon_state, HEAD_LAYER, alt_icon ? alt_icon : 'icons/mob/head.dmi', style_flags = variation_flag)
var/mutable_appearance/head_overlay = overlays_standing[HEAD_LAYER]
if(OFFSET_HEAD in dna.species.offset_features)
@@ -409,30 +390,40 @@ There are several things that need to be remembered:
client.screen += wear_suit
update_observer_view(wear_suit,1)
if(!item_level_support && !S.force_alternate_icon)
if(S.mutantrace_variation) //Just make sure we've got this checked too
if(S.taurmode == NOT_TAURIC && S.adjusted == ALT_STYLE) //are we not a taur, but we have Digitigrade legs? Run this check first, then.
S.alternate_worn_icon = 'icons/mob/suit_digi.dmi'
else
S.alternate_worn_icon = null
var/worn_icon = wear_suit.alternate_worn_icon || 'icons/mob/suit.dmi'
var/center = FALSE
var/dimension_x = 32
var/dimension_y = 32
var/variation_flag = NONE
var/datum/sprite_accessory/taur/T
if("taur" in dna.species.mutant_bodyparts)
T = GLOB.taur_list[dna.features["taur"]]
if(T)
center = T.center
dimension_x = T.dimension_x
dimension_y = T.dimension_y
if(S.tauric == TRUE) //Are we a suit with tauric mode possible?
if(S.taurmode == SNEK_TAURIC)
S.alternate_worn_icon = 'icons/mob/taur_naga.dmi'
if(S.taurmode == PAW_TAURIC)
S.alternate_worn_icon = 'icons/mob/taur_canine.dmi'
if(S.taurmode == NOT_TAURIC && S.adjusted == ALT_STYLE)
S.alternate_worn_icon = 'icons/mob/suit_digi.dmi'
else if(S.taurmode == NOT_TAURIC && S.adjusted == NORMAL_STYLE)
S.alternate_worn_icon = null
if(!item_level_support && S.mutantrace_variation)
if(T?.taur_mode)
variation_flag |= S.mutantrace_variation & T.taur_mode || S.mutantrace_variation & T.alt_taur_mode
switch(variation_flag)
if(STYLE_HOOF_TAURIC)
worn_icon = 'icons/mob/taur_hooved.dmi'
if(STYLE_SNEK_TAURIC)
worn_icon = 'icons/mob/taur_naga.dmi'
if(STYLE_PAW_TAURIC)
worn_icon = 'icons/mob/taur_canine.dmi'
else if((DIGITIGRADE in dna.species.species_traits) && S.mutantrace_variation & STYLE_DIGITIGRADE) //not a taur, but digitigrade legs.
worn_icon = 'icons/mob/suit_digi.dmi'
variation_flag |= STYLE_DIGITIGRADE
overlays_standing[SUIT_LAYER] = S.build_worn_icon(state = wear_suit.icon_state, default_layer = SUIT_LAYER, default_icon_file = ((wear_suit.alternate_worn_icon) ? S.alternate_worn_icon : 'icons/mob/suit.dmi'))
overlays_standing[SUIT_LAYER] = S.build_worn_icon(wear_suit.icon_state, SUIT_LAYER, worn_icon, style_flags = variation_flag)
var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER]
if(OFFSET_SUIT in dna.species.offset_features)
suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1]
suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2]
if(!item_level_support && S.center)
suit_overlay = center_image(suit_overlay, S.dimension_x, S.dimension_y)
if(center)
suit_overlay = center_image(suit_overlay, dimension_x, dimension_y)
overlays_standing[SUIT_LAYER] = suit_overlay
update_hair()
update_mutant_bodyparts()
@@ -468,13 +459,18 @@ There are several things that need to be remembered:
if(wear_mask)
var/obj/item/clothing/mask/M = wear_mask
remove_overlay(FACEMASK_LAYER)
if(M.mutantrace_variation)
if(M.muzzle_var == ALT_STYLE)
M.alternate_worn_icon = 'icons/mob/mask_muzzled.dmi'
else
M.alternate_worn_icon = null
var/alt_icon = M.alternate_worn_icon
var/muzzled = FALSE
var/variation_flag = NONE
if(("mam_snouts" in dna.species.default_features) && dna.features["mam_snouts"] != "None")
muzzled = TRUE
if(!muzzled && ("snout" in dna.species.default_features) && dna.features["snout"] != "None")
muzzled = TRUE
if(muzzled && M.mutantrace_variation & STYLE_MUZZLE)
alt_icon = 'icons/mob/head_muzzled.dmi'
variation_flag |= STYLE_MUZZLE
overlays_standing[FACEMASK_LAYER] = M.build_worn_icon(state = wear_mask.icon_state, default_layer = FACEMASK_LAYER, default_icon_file = ((wear_mask.alternate_worn_icon) ? M.alternate_worn_icon : 'icons/mob/mask.dmi'))
overlays_standing[FACEMASK_LAYER] = M.build_worn_icon(wear_mask.icon_state, FACEMASK_LAYER, alt_icon ? alt_icon : 'icons/mob/mask.dmi', style_flags = variation_flag)
var/mutable_appearance/mask_overlay = overlays_standing[FACEMASK_LAYER]
if(OFFSET_FACEMASK in dna.species.offset_features)
@@ -572,7 +568,7 @@ generate/load female uniform sprites matching all previously decided variables
*/
/obj/item/proc/build_worn_icon(var/state = "", var/default_layer = 0, var/default_icon_file = null, var/isinhands = FALSE, var/femaleuniform = NO_FEMALE_UNIFORM)
/obj/item/proc/build_worn_icon(state = "", default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, style_flags = NONE)
//Find a valid icon file from variables+arguments
var/file2use
@@ -596,7 +592,7 @@ generate/load female uniform sprites matching all previously decided variables
//Get the overlays for this item when it's being worn
//eg: ammo counters, primed grenade flashes, etc.
var/list/worn_overlays = worn_overlays(isinhands, file2use)
var/list/worn_overlays = worn_overlays(isinhands, file2use, style_flags)
if(worn_overlays && worn_overlays.len)
standing.overlays.Add(worn_overlays)

View File

@@ -286,52 +286,23 @@
if("orange")
. = "ffc905"
/mob/living/carbon/proc/Digitigrade_Leg_Swap(swap_back)
/mob/living/carbon/proc/Digitigrade_Leg_Swap(swap_back, update = FALSE)
var/body_plan_changed = FALSE
for(var/X in bodyparts)
var/obj/item/bodypart/O = X
var/obj/item/bodypart/N
if((!O.use_digitigrade && swap_back == FALSE) || (O.use_digitigrade && swap_back == TRUE))
if(O.body_part == LEG_LEFT)
if(swap_back == TRUE)
N = new /obj/item/bodypart/l_leg
else
N = new /obj/item/bodypart/l_leg/digitigrade
else if(O.body_part == LEG_RIGHT)
if(swap_back == TRUE)
N = new /obj/item/bodypart/r_leg
else
N = new /obj/item/bodypart/r_leg/digitigrade
if(!N)
continue
if((O.body_part == LEG_LEFT || O.body_part == LEG_RIGHT) && ((!O.use_digitigrade && !swap_back) || (O.use_digitigrade && swap_back)))
O.use_digitigrade = FULL_DIGITIGRADE
body_plan_changed = TRUE
O.drop_limb(1)
qdel(O)
N.attach_limb(src)
if(update && body_plan_changed) // most times this proc is called on on_species_gain and on_species_loss, so set_species() already handles the update.
update_body()
if(body_plan_changed && ishuman(src))
if(ishuman(src))
var/mob/living/carbon/human/H = src
if(H.w_uniform)
var/obj/item/clothing/under/U = H.w_uniform
if(U.mutantrace_variation)
if(swap_back)
U.suit_style = NORMAL_SUIT_STYLE
else
U.suit_style = DIGITIGRADE_SUIT_STYLE
H.update_inv_w_uniform()
if(H.shoes)
var/obj/item/clothing/shoes/S = H.shoes
if(swap_back)
S.adjusted = NORMAL_STYLE
else
S.adjusted = ALT_STYLE
H.update_inv_shoes()
if(H.wear_suit)
var/obj/item/clothing/suit/S = H.wear_suit
if(swap_back)
S.adjusted = NORMAL_STYLE
else
S.adjusted = ALT_STYLE
H.update_inv_wear_suit()
/mob/living/carbon/proc/get_body_parts_flags()

Binary file not shown.

Before

Width:  |  Height:  |  Size: 126 KiB

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -11,7 +11,7 @@
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/suit.dmi'
icon_state = "hostrench"
item_state = "hostrench"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
body_parts_covered = CHEST|ARMS|LEGS
/obj/item/clothing/suit/hooded/cloak/david
@@ -20,11 +20,11 @@
desc = "Ever wanted to look like a badass without ANY effort? Try this nanotrasen brand red cloak, perfect for kids"
hoodtype = /obj/item/clothing/head/hooded/cloakhood/david
body_parts_covered = CHEST|GROIN|ARMS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/hooded/cloakhood/david
name = "red cloak hood"
icon_state = "golhood"
desc = "conceal your face in shame with this nanotrasen brand hood"
flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE

View File

@@ -27,8 +27,7 @@
secondary_color = "#FFFFFF"
tertiary_color = "#808080"
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION // because I'm too lazy to port these to digi-compatible and to prove a point from /tg/ whining - Pooj
suit_style = NORMAL_SUIT_STYLE
mutantrace_variation = NONE // because I'm too lazy to port these to digi-compatible and to prove a point from /tg/ whining - Pooj
/obj/item/clothing/under/polychromic/worn_overlays(isinhands, icon_file) //this is where the main magic happens. Also mandates that ALL polychromic stuff MUST USE alternate_worn_icon
. = ..()

View File

@@ -14,7 +14,7 @@
desc = "Oooh... right."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
mutantrace_variation = NONE
item_state = ""
can_adjust = FALSE //to prevent you from "wearing it casually"
@@ -95,10 +95,9 @@
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
icon_state = "trek_ds9_coat"
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
item_state = "trek_ds9_coat"
body_parts_covered = CHEST|GROIN|ARMS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
permeability_coefficient = 0.50
allowed = list(
/obj/item/flashlight, /obj/item/analyzer,
@@ -140,11 +139,9 @@
desc = "A uniform jacket from the United Federation. Set phasers to awesome."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
icon_state = "fedcoat"
item_state = "fedcoat"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
blood_overlay_type = "coat"
body_parts_covered = CHEST|GROIN|ARMS
allowed = list(
@@ -207,7 +204,6 @@
desc = "A modern uniform jacket from the United Federation."
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
icon_state = "fedmodern"
item_state = "fedmodern"
body_parts_covered = CHEST|GROIN|ARMS
@@ -240,7 +236,6 @@
icon = 'modular_citadel/icons/obj/clothing/trek_item_icon.dmi'
icon_state = "fedcapofficer"
alternate_worn_icon = 'modular_citadel/icons/mob/clothing/trek_mob_icon.dmi'
force_alternate_icon = TRUE
item_state = "fedcapofficer"
//Variants

View File

@@ -16,7 +16,7 @@
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 10, rad = 0, fire = 0, acid = 0)
can_adjust = TRUE
alt_covers_chest = TRUE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/structure/closet/secure_closet/CMO/PopulateContents() //This is placed here because it's a very specific addition for a very specific niche
..()
@@ -29,7 +29,7 @@
item_state = "bl_suit"
item_color = "tactifool"
has_sensor = TRUE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
armor = list(melee = 0, bullet = 0, laser = 0,energy = 0, bomb = 0, bio = 0, rad = 0, fire = 0, acid = 0)
/obj/item/clothing/under/syndicate/tacticool
@@ -47,7 +47,7 @@
can_adjust = TRUE
icon = 'modular_citadel/icons/obj/clothing/turtlenecks.dmi'
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/bb_sweater/black
name = "black sweater"

View File

@@ -13,7 +13,7 @@
alternate_worn_icon = 'modular_citadel/icons/mob/citadel/uniforms.dmi'
item_state = "r_suit"
can_adjust = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/rank/captain/femformal
name ="captain's female formal outfit"
@@ -26,4 +26,4 @@
can_adjust = FALSE
sensor_mode = SENSOR_COORDS //it's still a captain's suit nerd
random_sensor = FALSE
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE

View File

@@ -1,7 +1,7 @@
//For custom items.
// Unless there's a digitigrade version make sure you add mutantrace_variation = NO_MUTANTRACE_VARIATION to all clothing/under and shoes - Pooj
// Unless there's a digitigrade version make sure you add mutantrace_variation = NONE to all clothing/under and shoes - Pooj
// Digitigrade stuff is uniform_digi.dmi and digishoes.dmi in icons/mob
/obj/item/custom/ceb_soap
@@ -85,7 +85,7 @@
item_state = "darkcarapace"
blood_overlay_type = "armor"
dog_fashion = /datum/dog_fashion/back
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "rad" = 0, "fire" = 0, "acid" = 0)
@@ -118,7 +118,7 @@
icon_state = "labred"
alternate_worn_icon = 'icons/mob/custom_w.dmi'
item_state = "labred"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/toggle/labcoat/labredblack
name = "Black and Red Coat"
@@ -127,7 +127,7 @@
icon_state = "labredblack"
alternate_worn_icon = 'icons/mob/custom_w.dmi'
item_state = "labredblack"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/toy/plush/carrot
name = "carrot plushie"
@@ -233,7 +233,7 @@
alternate_worn_icon = 'icons/mob/custom_w.dmi'
item_state = "hos-g"
body_parts_covered = CHEST|GROIN|ARMS|LEGS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/reagent_containers/food/drinks/flask/russian
name = "russian flask"
@@ -277,14 +277,14 @@
fitted = NO_FEMALE_UNIFORM
alternate_worn_layer = ABOVE_SHOES_LAYER
can_adjust = 0
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/shoes/sneakers/pink
icon = 'icons/obj/custom.dmi'
icon_state = "pink"
alternate_worn_icon = 'icons/mob/custom_w.dmi'
item_state = "pink"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/neck/tie/bloodred
name = "Blood Red Tie"
@@ -301,7 +301,7 @@
icon_state = "puffydress"
item_state = "puffydress"
body_parts_covered = CHEST|GROIN|LEGS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/vermillion
name = "vermillion clothing"
@@ -311,11 +311,11 @@
body_parts_covered = CHEST|GROIN|LEGS|ARMS|HANDS
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/bb_sweater/black/naomi
name = "worn black sweater"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
desc = "A well-loved sweater, showing signs of several cleanings and re-stitchings. And a few stains. Is that cat fur?"
/obj/item/clothing/neck/petcollar/naomi
@@ -345,7 +345,7 @@
icon_state = "rdcoat"
alternate_worn_icon = 'icons/mob/custom_w.dmi'
item_state = "rdcoat"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/custom/leechjar
name = "Jar of Leeches"
@@ -379,7 +379,7 @@
desc = "Comfy Lucky Jackboots with the word Luck on them."
item_state = "luckyjack"
icon_state = "luckyjack"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/lunasune
name = "Divine Robes"
@@ -388,7 +388,7 @@
desc = "Heavenly robes of the kitsune Luna Pumpkin,you can feel radiance coming from them."
item_state = "Divine_robes"
icon_state = "Divine_robes"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/leoskimpy
name = "Leon's Skimpy Outfit"
@@ -397,7 +397,7 @@
desc = "A rather skimpy outfit."
item_state = "shark_cloth"
icon_state = "shark_cloth"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/mimeoveralls
name = "Mime's Overalls"
@@ -406,7 +406,7 @@
desc = "A less-than-traditional mime's attire, completed by a set of dorky-looking overalls."
item_state = "moveralls"
icon_state = "moveralls"
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/hooded/cloak/zuliecloak
name = "Project: Zul-E"
@@ -418,7 +418,7 @@
hoodtype = /obj/item/clothing/head/hooded/cloakhood/zuliecloak
body_parts_covered = CHEST|GROIN|ARMS
slot_flags = SLOT_WEAR_SUIT | ITEM_SLOT_NECK //it's a cloak. it's cosmetic. so why the hell not? what could possibly go wrong?
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/hooded/cloakhood/zuliecloak
name = "NT Special Issue"
@@ -428,7 +428,7 @@
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
flags_inv = HIDEEARS|HIDEHAIR
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/blackredgold
name = "Multicolor Coat"
@@ -438,7 +438,7 @@
icon_state = "redgoldjacket"
item_state = "redgoldjacket"
body_parts_covered = CHEST|GROIN|LEGS|ARMS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/kimono
name = "Blue Kimono"
@@ -448,7 +448,7 @@
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
body_parts_covered = CHEST|GROIN|LEGS|ARMS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/suit/commjacket
name = "Dusty Commisar's Cloak"
@@ -458,7 +458,7 @@
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
body_parts_covered = CHEST|GROIN|LEGS|ARMS
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/under/mw2_russian_para
name = "Russian Paratrooper Jumper"
@@ -467,7 +467,7 @@
item_state = "mw2_russian_para"
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/gloves/longblackgloves
name = "Luna's Gauntlets"
@@ -484,7 +484,7 @@
item_state = "trendy_fit"
icon = 'icons/obj/custom.dmi'
alternate_worn_icon = 'icons/mob/custom_w.dmi'
mutantrace_variation = NO_MUTANTRACE_VARIATION
mutantrace_variation = NONE
/obj/item/clothing/head/blueberet
name = "Atmos Beret"