From 4cd731ce11cbc358fdbb7b2bcbeaf27063d66019 Mon Sep 17 00:00:00 2001 From: silicons <2003111+silicons@users.noreply.github.com> Date: Sun, 16 Aug 2020 19:06:57 -0700 Subject: [PATCH] Revert "cease your shitcode: cum edition" --- code/__DEFINES/pool.dm | 2 +- code/__HELPERS/global_lists.dm | 8 +- code/__HELPERS/mobs.dm | 14 +- code/_globalvars/lists/flavor_misc.dm | 35 ---- .../diseases/advance/symptoms/species.dm | 1 + code/datums/dna.dm | 4 +- code/modules/arousal/organs/womb.dm | 2 +- code/modules/client/preferences.dm | 12 +- code/modules/jobs/job_types/_job.dm | 1 - .../jobs/job_types/atmospheric_technician.dm | 1 - code/modules/jobs/job_types/bartender.dm | 1 - code/modules/jobs/job_types/botanist.dm | 1 - code/modules/jobs/job_types/captain.dm | 1 - .../jobs/job_types/cargo_technician.dm | 1 - code/modules/jobs/job_types/chaplain.dm | 1 - code/modules/jobs/job_types/chemist.dm | 1 - code/modules/jobs/job_types/chief_engineer.dm | 1 - .../jobs/job_types/chief_medical_officer.dm | 1 - code/modules/jobs/job_types/clown.dm | 1 - code/modules/jobs/job_types/cook.dm | 1 - code/modules/jobs/job_types/curator.dm | 1 - code/modules/jobs/job_types/detective.dm | 1 - code/modules/jobs/job_types/geneticist.dm | 1 - .../jobs/job_types/head_of_personnel.dm | 1 - .../jobs/job_types/head_of_security.dm | 2 - code/modules/jobs/job_types/janitor.dm | 1 - code/modules/jobs/job_types/lawyer.dm | 1 - code/modules/jobs/job_types/medical_doctor.dm | 1 - code/modules/jobs/job_types/mime.dm | 1 - .../jobs/job_types/research_director.dm | 1 - code/modules/jobs/job_types/roboticist.dm | 1 - code/modules/jobs/job_types/scientist.dm | 1 - .../jobs/job_types/security_officer.dm | 1 - code/modules/jobs/job_types/shaft_miner.dm | 1 - .../jobs/job_types/station_engineer.dm | 1 - code/modules/jobs/job_types/virologist.dm | 1 - code/modules/jobs/job_types/warden.dm | 1 - .../sprite_accessories/Citadel_Snowflake.dm | 16 +- .../sprite_accessories/_sprite_accessories.dm | 3 - .../sprite_accessories/alienpeople.dm | 10 - .../sprite_accessories/body_markings.dm | 3 - .../new_player/sprite_accessories/ears.dm | 74 +++---- .../new_player/sprite_accessories/frills.dm | 4 - .../new_player/sprite_accessories/horns.dm | 4 - .../sprite_accessories/legs_and_taurs.dm | 3 - .../new_player/sprite_accessories/snouts.dm | 110 +++++----- .../new_player/sprite_accessories/spines.dm | 5 - .../new_player/sprite_accessories/synthliz.dm | 12 +- .../new_player/sprite_accessories/tails.dm | 188 ++++++++--------- .../new_player/sprite_accessories/wings.dm | 6 - .../mob/living/carbon/human/species.dm | 194 ++++++++++++++++-- .../carbon/human/species_types/jellypeople.dm | 6 +- .../carbon/human/species_types/plasmamen.dm | 85 +++++++- .../human/species_types/shadowpeople.dm | 2 + .../carbon/human/species_types/skeletons.dm | 2 +- .../carbon/human/species_types/synthliz.dm | 2 +- .../carbon/human/species_types/synths.dm | 2 + .../mob/living/simple_animal/bot/cleanbot.dm | 2 +- .../chemistry/reagents/other_reagents.dm | 40 +++- 59 files changed, 512 insertions(+), 369 deletions(-) diff --git a/code/__DEFINES/pool.dm b/code/__DEFINES/pool.dm index 1bf39dcb1d..64bbd20b19 100644 --- a/code/__DEFINES/pool.dm +++ b/code/__DEFINES/pool.dm @@ -8,5 +8,5 @@ GLOBAL_LIST_INIT(blacklisted_pool_reagents, list( /datum/reagent/toxin/plasma, /datum/reagent/oxygen, /datum/reagent/nitrous_oxide, /datum/reagent/nitrogen, //gases /datum/reagent/fermi, //blanket fermichem ban sorry. this also covers mkultra, genital enlargers, etc etc. - /datum/reagent/consumable/semen //NO. + /datum/reagent/consumable/femcum, /datum/reagent/consumable/semen //NO. )) diff --git a/code/__HELPERS/global_lists.dm b/code/__HELPERS/global_lists.dm index 1119ef44ed..d66e83d651 100644 --- a/code/__HELPERS/global_lists.dm +++ b/code/__HELPERS/global_lists.dm @@ -37,10 +37,10 @@ //CIT CHANGES START HERE, ADDS SNOWFLAKE BODYPARTS AND MORE //mammal bodyparts (fucking furries) init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/mam_tails, GLOB.mam_tails_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/ears/mam_ears, GLOB.mam_ears_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts/mam_snouts, GLOB.mam_snouts_list) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails_animated/mam_tails_animated, GLOB.mam_tails_animated_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, GLOB.mam_ears_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_snouts, GLOB.mam_snouts_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails_animated, GLOB.mam_tails_animated_list) init_sprite_accessory_subtypes(/datum/sprite_accessory/taur, GLOB.taur_list) //xeno parts (hiss?) init_sprite_accessory_subtypes(/datum/sprite_accessory/xeno_head, GLOB.xeno_head_list) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 52e26b67e7..c4964022e5 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -93,16 +93,16 @@ if(!GLOB.mam_body_markings_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list) if(!GLOB.mam_tails_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/mam_tails, GLOB.mam_tails_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list) if(!GLOB.mam_ears_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/ears/mam_ears, GLOB.mam_ears_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, GLOB.mam_ears_list) if(!GLOB.mam_snouts_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/snouts/mam_snouts, GLOB.mam_snouts_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_snouts, GLOB.mam_snouts_list) //snowflake check so people's ckey features don't get randomly put on unmonkeys/spawns var/list/snowflake_mam_tails_list = list() for(var/mtpath in GLOB.mam_tails_list) - var/datum/sprite_accessory/tails/mam_tails/instance = GLOB.mam_tails_list[mtpath] + var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[mtpath] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(intendedspecies && S.recommended_species && !S.recommended_species.Find(intendedspecies)) @@ -120,7 +120,7 @@ snowflake_markings_list[S.name] = mmpath var/list/snowflake_ears_list = list() for(var/mepath in GLOB.mam_ears_list) - var/datum/sprite_accessory/ears/mam_ears/instance = GLOB.mam_ears_list[mepath] + var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[mepath] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(intendedspecies && S.recommended_species && !S.recommended_species.Find(intendedspecies)) @@ -129,7 +129,7 @@ snowflake_ears_list[S.name] = mepath var/list/snowflake_mam_snouts_list = list() for(var/mspath in GLOB.mam_snouts_list) - var/datum/sprite_accessory/snouts/mam_snouts/instance = GLOB.mam_snouts_list[mspath] + var/datum/sprite_accessory/mam_snouts/instance = GLOB.mam_snouts_list[mspath] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(intendedspecies && S.recommended_species && !S.recommended_species.Find(intendedspecies)) @@ -138,7 +138,7 @@ snowflake_mam_snouts_list[S.name] = mspath var/list/snowflake_ipc_antenna_list = list() for(var/mspath in GLOB.ipc_antennas_list) - var/datum/sprite_accessory/snouts/mam_snouts/instance = GLOB.ipc_antennas_list[mspath] + var/datum/sprite_accessory/mam_snouts/instance = GLOB.ipc_antennas_list[mspath] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(intendedspecies && S.recommended_species && !S.recommended_species.Find(intendedspecies)) diff --git a/code/_globalvars/lists/flavor_misc.dm b/code/_globalvars/lists/flavor_misc.dm index 1a0afc2c2a..7c2ebc5f0c 100644 --- a/code/_globalvars/lists/flavor_misc.dm +++ b/code/_globalvars/lists/flavor_misc.dm @@ -40,41 +40,6 @@ GLOBAL_LIST_EMPTY(insect_fluffs_list) GLOBAL_LIST_EMPTY(insect_markings_list) GLOBAL_LIST_EMPTY(caps_list) -//a way to index the right bodypart list given the type of bodypart -GLOBAL_LIST_INIT(mutant_reference_list, list( - "tail_lizard" = GLOB.tails_list_lizard, - "waggingtail_lizard" = GLOB.animated_tails_list_lizard, - "tail_human" = GLOB.tails_list_human, - "waggingtail_human" = GLOB.animated_tails_list_human, - "spines" = GLOB.spines_list, - "waggingspines" = GLOB.animated_spines_list, - "snout" = GLOB.snouts_list, - "frills" = GLOB.frills_list, - "horns" = GLOB.horns_list, - "ears" = GLOB.ears_list, - "body_markings" = GLOB.body_markings_list, - "wings" = GLOB.wings_list, - "wingsopen" = GLOB.wings_open_list, - "deco_wings" = GLOB.deco_wings_list, - "legs" = GLOB.legs_list, - "insect_wings" = GLOB.insect_wings_list, - "insect_fluff" = GLOB.insect_fluffs_list, - "insect_markings" = GLOB.insect_markings_list, - "caps" = GLOB.caps_list, - "ipc_screen" = GLOB.ipc_screens_list, - "ipc_antenna" = GLOB.ipc_antennas_list, - "mam_tail" = GLOB.mam_tails_list, - "mam_waggingtail" = GLOB.mam_tails_animated_list, - "mam_body_markings" = GLOB.mam_body_markings_list, - "mam_ears" = GLOB.mam_ears_list, - "mam_snouts" = GLOB.mam_snouts_list, - "taur" = GLOB.taur_list, - "xenodorsal" = GLOB.xeno_dorsal_list, - "xenohead" = GLOB.xeno_head_list, - "xenotail" = GLOB.xeno_tail_list)) - - - GLOBAL_LIST_INIT(ghost_forms_with_directions_list, list("ghost")) //stores the ghost forms that support directional sprites GLOBAL_LIST_INIT(ghost_forms_with_accessories_list, list("ghost")) //stores the ghost forms that support hair and other such things diff --git a/code/datums/diseases/advance/symptoms/species.dm b/code/datums/diseases/advance/symptoms/species.dm index 2d5255842b..49a3cf8d07 100644 --- a/code/datums/diseases/advance/symptoms/species.dm +++ b/code/datums/diseases/advance/symptoms/species.dm @@ -31,3 +31,4 @@ /datum/symptom/inorganic_adaptation/OnRemove(datum/disease/advance/A) A.infectable_biotypes &= ~MOB_MINERAL + diff --git a/code/datums/dna.dm b/code/datums/dna.dm index 9486029fdd..de5c1ece91 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -137,10 +137,10 @@ L[DNA_COLOR_TWO_BLOCK] = sanitize_hexcolor(features["mcolor2"], 6) L[DNA_COLOR_THREE_BLOCK] = sanitize_hexcolor(features["mcolor3"], 6) if(!GLOB.mam_tails_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/mam_tails, GLOB.mam_tails_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_tails, GLOB.mam_tails_list) L[DNA_MUTANTTAIL_BLOCK] = construct_block(GLOB.mam_tails_list.Find(features["mam_tail"]), GLOB.mam_tails_list.len) if(!GLOB.mam_ears_list.len) - init_sprite_accessory_subtypes(/datum/sprite_accessory/ears/mam_ears, GLOB.mam_ears_list) + init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_ears, GLOB.mam_ears_list) L[DNA_MUTANTEAR_BLOCK] = construct_block(GLOB.mam_ears_list.Find(features["mam_ears"]), GLOB.mam_ears_list.len) if(!GLOB.mam_body_markings_list.len) init_sprite_accessory_subtypes(/datum/sprite_accessory/mam_body_markings, GLOB.mam_body_markings_list) diff --git a/code/modules/arousal/organs/womb.dm b/code/modules/arousal/organs/womb.dm index e89d4329aa..386f407a26 100644 --- a/code/modules/arousal/organs/womb.dm +++ b/code/modules/arousal/organs/womb.dm @@ -6,5 +6,5 @@ zone = BODY_ZONE_PRECISE_GROIN slot = ORGAN_SLOT_WOMB genital_flags = GENITAL_INTERNAL|GENITAL_FUID_PRODUCTION - fluid_id = /datum/reagent/consumable/semen/femcum + fluid_id = /datum/reagent/consumable/femcum linked_organ_slot = ORGAN_SLOT_VAGINA diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 480ebda4f8..017a25db34 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -791,9 +791,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" dat += "
" - + dat += "
" - + if(!length(GLOB.loadout_categories[gear_category])) dat += "No subcategories detected. Something is horribly wrong!" else @@ -1636,7 +1636,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("mam_tail") var/list/snowflake_tails_list = list() for(var/path in GLOB.mam_tails_list) - var/datum/sprite_accessory/tails/mam_tails/instance = GLOB.mam_tails_list[path] + var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[path] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(!show_mismatched_markings && S.recommended_species && !S.recommended_species.Find(pref_species.id)) @@ -1661,7 +1661,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("snout") var/list/snowflake_snouts_list = list() for(var/path in GLOB.snouts_list) - var/datum/sprite_accessory/snouts/mam_snouts/instance = GLOB.snouts_list[path] + var/datum/sprite_accessory/mam_snouts/instance = GLOB.snouts_list[path] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(!show_mismatched_markings && S.recommended_species && !S.recommended_species.Find(pref_species.id)) @@ -1678,7 +1678,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("mam_snouts") var/list/snowflake_mam_snouts_list = list() for(var/path in GLOB.mam_snouts_list) - var/datum/sprite_accessory/snouts/mam_snouts/instance = GLOB.mam_snouts_list[path] + var/datum/sprite_accessory/mam_snouts/instance = GLOB.mam_snouts_list[path] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(!show_mismatched_markings && S.recommended_species && !S.recommended_species.Find(pref_species.id)) @@ -1827,7 +1827,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("mam_ears") var/list/snowflake_ears_list = list() for(var/path in GLOB.mam_ears_list) - var/datum/sprite_accessory/ears/mam_ears/instance = GLOB.mam_ears_list[path] + var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[path] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if(!show_mismatched_markings && S.recommended_species && !S.recommended_species.Find(pref_species.id)) diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index 1238b37919..bd36218211 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -46,7 +46,6 @@ var/minimal_player_age = 0 var/outfit = null - var/plasma_outfit = null //the outfit given to plasmamen var/exp_requirements = 0 diff --git a/code/modules/jobs/job_types/atmospheric_technician.dm b/code/modules/jobs/job_types/atmospheric_technician.dm index bff56d1d16..1962b8e8a9 100644 --- a/code/modules/jobs/job_types/atmospheric_technician.dm +++ b/code/modules/jobs/job_types/atmospheric_technician.dm @@ -12,7 +12,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/atmos - plasma_outfit = /datum/outfit/plasmaman/atmospherics access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/bartender.dm b/code/modules/jobs/job_types/bartender.dm index 8290adbbd7..e5cd015460 100644 --- a/code/modules/jobs/job_types/bartender.dm +++ b/code/modules/jobs/job_types/bartender.dm @@ -11,7 +11,6 @@ exp_type_department = EXP_TYPE_SERVICE // This is so the jobs menu can work properly outfit = /datum/outfit/job/bartender - plasma_outfit = /datum/outfit/plasmaman/bar access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_BAR, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/botanist.dm b/code/modules/jobs/job_types/botanist.dm index 4c91f87791..65f3e7ca48 100644 --- a/code/modules/jobs/job_types/botanist.dm +++ b/code/modules/jobs/job_types/botanist.dm @@ -10,7 +10,6 @@ selection_color = "#bbe291" outfit = /datum/outfit/job/botanist - plasma_outfit = /datum/outfit/plasmaman/botany access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_HYDROPONICS, ACCESS_MORGUE, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 047a07062d..3733658c33 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -17,7 +17,6 @@ outfit = /datum/outfit/job/captain - plasma_outfit = /datum/outfit/plasmaman/captain access = list() //See get_access() minimal_access = list() //See get_access() diff --git a/code/modules/jobs/job_types/cargo_technician.dm b/code/modules/jobs/job_types/cargo_technician.dm index 1f87a5265d..840af56a0e 100644 --- a/code/modules/jobs/job_types/cargo_technician.dm +++ b/code/modules/jobs/job_types/cargo_technician.dm @@ -10,7 +10,6 @@ selection_color = "#ca8f55" outfit = /datum/outfit/job/cargo_tech - plasma_outfit = /datum/outfit/plasmaman/cargo access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/chaplain.dm b/code/modules/jobs/job_types/chaplain.dm index a9e891a303..5f66519365 100644 --- a/code/modules/jobs/job_types/chaplain.dm +++ b/code/modules/jobs/job_types/chaplain.dm @@ -10,7 +10,6 @@ selection_color = "#dddddd" outfit = /datum/outfit/job/chaplain - plasma_outfit = /datum/outfit/plasmaman/chaplain access = list(ACCESS_MORGUE, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_THEATRE) minimal_access = list(ACCESS_MORGUE, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_THEATRE) diff --git a/code/modules/jobs/job_types/chemist.dm b/code/modules/jobs/job_types/chemist.dm index 6d4204d041..b2699071e3 100644 --- a/code/modules/jobs/job_types/chemist.dm +++ b/code/modules/jobs/job_types/chemist.dm @@ -12,7 +12,6 @@ exp_requirements = 60 outfit = /datum/outfit/job/chemist - plasma_outfit = /datum/outfit/plasmaman/chemist access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/chief_engineer.dm b/code/modules/jobs/job_types/chief_engineer.dm index 18be8c9835..d8df767a9f 100644 --- a/code/modules/jobs/job_types/chief_engineer.dm +++ b/code/modules/jobs/job_types/chief_engineer.dm @@ -17,7 +17,6 @@ exp_type_department = EXP_TYPE_ENGINEERING outfit = /datum/outfit/job/ce - plasma_outfit = /datum/outfit/plasmaman/ce access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ATMOSPHERICS, ACCESS_EVA, diff --git a/code/modules/jobs/job_types/chief_medical_officer.dm b/code/modules/jobs/job_types/chief_medical_officer.dm index 627a7a2ca1..9cbc15ca28 100644 --- a/code/modules/jobs/job_types/chief_medical_officer.dm +++ b/code/modules/jobs/job_types/chief_medical_officer.dm @@ -17,7 +17,6 @@ exp_type_department = EXP_TYPE_MEDICAL outfit = /datum/outfit/job/cmo - plasma_outfit = /datum/outfit/plasmaman/cmo access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_HEADS, ACCESS_MINERAL_STOREROOM, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_CMO, ACCESS_SURGERY, ACCESS_RC_ANNOUNCE, diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index dc2f60434c..7ad7148614 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -10,7 +10,6 @@ selection_color = "#dddddd" outfit = /datum/outfit/job/clown - plasma_outfit = /datum/outfit/plasmaman/clown access = list(ACCESS_THEATRE) minimal_access = list(ACCESS_THEATRE) diff --git a/code/modules/jobs/job_types/cook.dm b/code/modules/jobs/job_types/cook.dm index 666ee8f036..5a5916cb7e 100644 --- a/code/modules/jobs/job_types/cook.dm +++ b/code/modules/jobs/job_types/cook.dm @@ -11,7 +11,6 @@ var/cooks = 0 //Counts cooks amount outfit = /datum/outfit/job/cook - plasma_outfit = /datum/outfit/plasmaman/chef access = list(ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_KITCHEN, ACCESS_MORGUE, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/curator.dm b/code/modules/jobs/job_types/curator.dm index 254fc15bd4..47bfd4914a 100644 --- a/code/modules/jobs/job_types/curator.dm +++ b/code/modules/jobs/job_types/curator.dm @@ -10,7 +10,6 @@ selection_color = "#dddddd" outfit = /datum/outfit/job/curator - plasma_outfit = /datum/outfit/plasmaman/curator access = list(ACCESS_LIBRARY) minimal_access = list(ACCESS_LIBRARY, ACCESS_CONSTRUCTION, ACCESS_MINING_STATION) diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm index 65724765e1..463113f14c 100644 --- a/code/modules/jobs/job_types/detective.dm +++ b/code/modules/jobs/job_types/detective.dm @@ -14,7 +14,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/detective - plasma_outfit = /datum/outfit/plasmaman/detective access = list(ACCESS_SEC_DOORS, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_COURT, ACCESS_BRIG, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_SEC_DOORS, ACCESS_FORENSICS_LOCKERS, ACCESS_MORGUE, ACCESS_MAINT_TUNNELS, ACCESS_COURT, ACCESS_BRIG, ACCESS_WEAPONS, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/geneticist.dm b/code/modules/jobs/job_types/geneticist.dm index 5ff1bebfbf..a40ca0fca3 100644 --- a/code/modules/jobs/job_types/geneticist.dm +++ b/code/modules/jobs/job_types/geneticist.dm @@ -12,7 +12,6 @@ exp_requirements = 60 outfit = /datum/outfit/job/geneticist - plasma_outfit = /datum/outfit/plasmaman/genetics access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_ROBOTICS, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE) minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/head_of_personnel.dm b/code/modules/jobs/job_types/head_of_personnel.dm index 41fb4b99da..8015c19c36 100644 --- a/code/modules/jobs/job_types/head_of_personnel.dm +++ b/code/modules/jobs/job_types/head_of_personnel.dm @@ -17,7 +17,6 @@ exp_type_department = EXP_TYPE_SERVICE outfit = /datum/outfit/job/hop - plasma_outfit = /datum/outfit/plasmaman/hop access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_MEDICAL, ACCESS_ENGINE, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_EVA, ACCESS_HEADS, diff --git a/code/modules/jobs/job_types/head_of_security.dm b/code/modules/jobs/job_types/head_of_security.dm index cfd8d7f6c0..3d7d07d894 100644 --- a/code/modules/jobs/job_types/head_of_security.dm +++ b/code/modules/jobs/job_types/head_of_security.dm @@ -17,8 +17,6 @@ exp_type_department = EXP_TYPE_SECURITY outfit = /datum/outfit/job/hos - plasma_outfit = /datum/outfit/plasmaman/hos - mind_traits = list(TRAIT_LAW_ENFORCEMENT_METABOLISM) access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, diff --git a/code/modules/jobs/job_types/janitor.dm b/code/modules/jobs/job_types/janitor.dm index c62c2e5b26..2f6d6f0e32 100644 --- a/code/modules/jobs/job_types/janitor.dm +++ b/code/modules/jobs/job_types/janitor.dm @@ -10,7 +10,6 @@ selection_color = "#bbe291" outfit = /datum/outfit/job/janitor - plasma_outfit = /datum/outfit/plasmaman/janitor access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_JANITOR, ACCESS_MAINT_TUNNELS, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/lawyer.dm b/code/modules/jobs/job_types/lawyer.dm index 17c376a5de..1a7499800b 100644 --- a/code/modules/jobs/job_types/lawyer.dm +++ b/code/modules/jobs/job_types/lawyer.dm @@ -11,7 +11,6 @@ var/lawyers = 0 //Counts lawyer amount outfit = /datum/outfit/job/lawyer - plasma_outfit = /datum/outfit/plasmaman/bar //yes, this is correct, there's no 'lawyer' plasmeme outfit access = list(ACCESS_LAWYER, ACCESS_COURT, ACCESS_SEC_DOORS) minimal_access = list(ACCESS_LAWYER, ACCESS_COURT, ACCESS_SEC_DOORS) diff --git a/code/modules/jobs/job_types/medical_doctor.dm b/code/modules/jobs/job_types/medical_doctor.dm index d6a763acfe..5ec4b83b2f 100644 --- a/code/modules/jobs/job_types/medical_doctor.dm +++ b/code/modules/jobs/job_types/medical_doctor.dm @@ -10,7 +10,6 @@ selection_color = "#74b5e0" outfit = /datum/outfit/job/doctor - plasma_outfit = /datum/outfit/plasmaman/medical access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_VIROLOGY, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/mime.dm b/code/modules/jobs/job_types/mime.dm index e00b3a1e29..4ba2489ab2 100644 --- a/code/modules/jobs/job_types/mime.dm +++ b/code/modules/jobs/job_types/mime.dm @@ -10,7 +10,6 @@ selection_color = "#dddddd" outfit = /datum/outfit/job/mime - plasma_outfit = /datum/outfit/plasmaman/mime access = list(ACCESS_THEATRE) minimal_access = list(ACCESS_THEATRE) diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm index 33f7df8260..7128fbe2c7 100644 --- a/code/modules/jobs/job_types/research_director.dm +++ b/code/modules/jobs/job_types/research_director.dm @@ -17,7 +17,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/rd - plasma_outfit = /datum/outfit/plasmaman/rd access = list(ACCESS_RD, ACCESS_HEADS, ACCESS_TOX, ACCESS_GENETICS, ACCESS_MORGUE, ACCESS_TOX_STORAGE, ACCESS_TELEPORTER, ACCESS_SEC_DOORS, diff --git a/code/modules/jobs/job_types/roboticist.dm b/code/modules/jobs/job_types/roboticist.dm index aa52b353df..f5ae93bb6a 100644 --- a/code/modules/jobs/job_types/roboticist.dm +++ b/code/modules/jobs/job_types/roboticist.dm @@ -12,7 +12,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/roboticist - plasma_outfit = /datum/outfit/plasmaman/robotics access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM, ACCESS_XENOBIOLOGY, ACCESS_GENETICS) minimal_access = list(ACCESS_ROBOTICS, ACCESS_TECH_STORAGE, ACCESS_MORGUE, ACCESS_RESEARCH, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/scientist.dm b/code/modules/jobs/job_types/scientist.dm index a851b333fe..476f740b9d 100644 --- a/code/modules/jobs/job_types/scientist.dm +++ b/code/modules/jobs/job_types/scientist.dm @@ -12,7 +12,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/scientist - plasma_outfit = /datum/outfit/plasmaman/science access = list(ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM, ACCESS_TECH_STORAGE, ACCESS_GENETICS) minimal_access = list(ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_RESEARCH, ACCESS_XENOBIOLOGY, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm index bc83eb752d..7e71b2d1f4 100644 --- a/code/modules/jobs/job_types/security_officer.dm +++ b/code/modules/jobs/job_types/security_officer.dm @@ -14,7 +14,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/security - plasma_outfit = /datum/outfit/plasmaman/security access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_FORENSICS_LOCKERS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_MINERAL_STOREROOM) // See /datum/job/officer/get_access() diff --git a/code/modules/jobs/job_types/shaft_miner.dm b/code/modules/jobs/job_types/shaft_miner.dm index 04d3fb53b8..ebf7ba0f1f 100644 --- a/code/modules/jobs/job_types/shaft_miner.dm +++ b/code/modules/jobs/job_types/shaft_miner.dm @@ -12,7 +12,6 @@ outfit = /datum/outfit/job/miner - plasma_outfit = /datum/outfit/plasmaman/mining access = list(ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm index 2396728ad8..d3f5db7dbb 100644 --- a/code/modules/jobs/job_types/station_engineer.dm +++ b/code/modules/jobs/job_types/station_engineer.dm @@ -12,7 +12,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/engineer - plasma_outfit = /datum/outfit/plasmaman/engineering access = list(ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_TECH_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_CONSTRUCTION, ACCESS_ATMOSPHERICS, ACCESS_TCOMSAT, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/virologist.dm b/code/modules/jobs/job_types/virologist.dm index 3e9b3ba06c..790e828931 100644 --- a/code/modules/jobs/job_types/virologist.dm +++ b/code/modules/jobs/job_types/virologist.dm @@ -12,7 +12,6 @@ exp_requirements = 60 outfit = /datum/outfit/job/virologist - plasma_outfit = /datum/outfit/plasmaman/viro access = list(ACCESS_MEDICAL, ACCESS_MORGUE, ACCESS_SURGERY, ACCESS_CHEMISTRY, ACCESS_VIROLOGY, ACCESS_GENETICS, ACCESS_CLONING, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_MEDICAL, ACCESS_VIROLOGY, ACCESS_MINERAL_STOREROOM) diff --git a/code/modules/jobs/job_types/warden.dm b/code/modules/jobs/job_types/warden.dm index c909342d6f..22e3f9b0f1 100644 --- a/code/modules/jobs/job_types/warden.dm +++ b/code/modules/jobs/job_types/warden.dm @@ -14,7 +14,6 @@ exp_type = EXP_TYPE_CREW outfit = /datum/outfit/job/warden - plasma_outfit = /datum/outfit/plasmaman/warden access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_MAINT_TUNNELS, ACCESS_MORGUE, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_FORENSICS_LOCKERS, ACCESS_MINERAL_STOREROOM) minimal_access = list(ACCESS_SECURITY, ACCESS_SEC_DOORS, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_COURT, ACCESS_WEAPONS, ACCESS_ENTER_GENPOP, ACCESS_LEAVE_GENPOP, ACCESS_MINERAL_STOREROOM) // See /datum/job/warden/get_access() diff --git a/code/modules/mob/dead/new_player/sprite_accessories/Citadel_Snowflake.dm b/code/modules/mob/dead/new_player/sprite_accessories/Citadel_Snowflake.dm index 3c2c850e3c..020776a75f 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/Citadel_Snowflake.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/Citadel_Snowflake.dm @@ -1,9 +1,9 @@ -/datum/sprite_accessory/tails/mam_tails/shark/datashark +/datum/sprite_accessory/mam_tails/shark/datashark name = "DataShark" icon_state = "datashark" ckeys_allowed = list("rubyflamewing") -/datum/sprite_accessory/tails_animated/mam_tails_animated/shark/datashark +/datum/sprite_accessory/mam_tails_animated/shark/datashark name = "DataShark" icon_state = "datashark" ckeys_allowed = list("rubyflamewing") @@ -14,19 +14,19 @@ ckeys_allowed = list("rubyflamewing") //Sabresune -/datum/sprite_accessory/ears/mam_ears/sabresune +/datum/sprite_accessory/mam_ears/sabresune name = "Sabresune" icon_state = "sabresune" ckeys_allowed = list("poojawa") extra = TRUE extra_color_src = MUTCOLORS3 -/datum/sprite_accessory/tails/mam_tails/sabresune +/datum/sprite_accessory/mam_tails/sabresune name = "Sabresune" icon_state = "sabresune" ckeys_allowed = list("poojawa") -/datum/sprite_accessory/tails_animated/mam_tails_animated/sabresune +/datum/sprite_accessory/mam_tails_animated/sabresune name = "Sabresune" icon_state = "sabresune" ckeys_allowed = list("poojawa") @@ -37,17 +37,17 @@ ckeys_allowed = list("poojawa") //Lunasune -/datum/sprite_accessory/ears/mam_ears/lunasune +/datum/sprite_accessory/mam_ears/lunasune name = "lunasune" icon_state = "lunasune" ckeys_allowed = list("invader4352") -/datum/sprite_accessory/tails/mam_tails/lunasune +/datum/sprite_accessory/mam_tails/lunasune name = "lunasune" icon_state = "lunasune" ckeys_allowed = list("invader4352") -/datum/sprite_accessory/tails_animated/mam_tails_animated/lunasune +/datum/sprite_accessory/mam_tails_animated/lunasune name = "lunasune" icon_state = "lunasune" ckeys_allowed = list("invader4352") diff --git a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm index 4cb8d080ff..6514cb4f80 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/_sprite_accessories.dm @@ -76,9 +76,6 @@ //For soft-restricting markings to species IDs var/list/recommended_species -/datum/sprite_accessory/proc/is_not_visible(var/mob/living/carbon/human/H, var/tauric) //return if the accessory shouldn't be shown - return FALSE - /datum/sprite_accessory/underwear icon = 'icons/mob/clothing/underwear.dmi' var/has_color = FALSE diff --git a/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm b/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm index 899bf91081..c8e7aca26d 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/alienpeople.dm @@ -7,9 +7,6 @@ mutant_part_string = "xenodorsal" relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/xeno_dorsal/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!H.dna.features["xenodorsal"] || H.dna.features["xenodorsal"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))) - /datum/sprite_accessory/xeno_dorsal/standard name = "Standard" icon_state = "standard" @@ -30,9 +27,6 @@ mutant_part_string = "tail" relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/xeno_tail/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!H.dna.features["xenotail"] || H.dna.features["xenotail"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) - /datum/sprite_accessory/xeno_tail/none name = "None" relevant_layers = null @@ -49,10 +43,6 @@ mutant_part_string = "xhead" relevant_layers = list(BODY_ADJ_LAYER) -/datum/sprite_accessory/xeno_head/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - return (!H.dna.features["xenohead"] || H.dna.features["xenohead"] == "None" || H.head && (H.head.flags_inv & HIDEHAIR) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEHAIR)) || !HD || HD.status == BODYPART_ROBOTIC) - /datum/sprite_accessory/xeno_head/standard name = "Standard" icon_state = "standard" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm index a04838a360..9950f0d76a 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/body_markings.dm @@ -224,9 +224,6 @@ color_src = 0 relevant_layers = list(BODY_FRONT_LAYER) -/datum/sprite_accessory/insect_fluff/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!H.dna.features["insect_fluff"] || H.dna.features["insect_fluff"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) - /datum/sprite_accessory/insect_fluff/none name = "None" icon_state = "none" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm index 1e6c797364..bc269ccf62 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/ears.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/ears.dm @@ -3,10 +3,6 @@ mutant_part_string = "ears" relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/ears/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - return (!H.dna.features["ears"] || H.dna.features["ears"] == "None" || H.head && (H.head.flags_inv & HIDEEARS) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEEARS)) || !HD || HD.status == BODYPART_ROBOTIC) - /datum/sprite_accessory/ears/none name = "None" icon_state = "none" @@ -179,54 +175,50 @@ *************** Furry Ears **************** *******************************************/ -/datum/sprite_accessory/ears/mam_ears +/datum/sprite_accessory/mam_ears icon = 'modular_citadel/icons/mob/mam_ears.dmi' color_src = MATRIXED mutant_part_string = "ears" relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/ears/mam_ears/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - return (!H.dna.features["mam_ears"] || H.dna.features["mam_ears"] == "None" || H.head && (H.head.flags_inv & HIDEEARS) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEEARS)) || !HD || HD.status == BODYPART_ROBOTIC) - -/datum/sprite_accessory/ears/mam_ears/none +/datum/sprite_accessory/mam_ears/none name = "None" icon_state = "none" relevant_layers = null -/datum/sprite_accessory/ears/mam_ears/axolotl +/datum/sprite_accessory/mam_ears/axolotl name = "Axolotl" icon_state = "axolotl" -/datum/sprite_accessory/ears/mam_ears/bat +/datum/sprite_accessory/mam_ears/bat name = "Bat" icon_state = "bat" -/datum/sprite_accessory/ears/mam_ears/bear +/datum/sprite_accessory/mam_ears/bear name = "Bear" icon_state = "bear" -/datum/sprite_accessory/ears/mam_ears/bigwolf +/datum/sprite_accessory/mam_ears/bigwolf name = "Big Wolf" icon_state = "bigwolf" -/datum/sprite_accessory/ears/mam_ears/bigwolfinner +/datum/sprite_accessory/mam_ears/bigwolfinner name = "Big Wolf (ALT)" icon_state = "bigwolfinner" extra = TRUE extra_color_src = NONE -/datum/sprite_accessory/ears/mam_ears/bigwolfdark +/datum/sprite_accessory/mam_ears/bigwolfdark name = "Dark Big Wolf" icon_state = "bigwolfdark" -/datum/sprite_accessory/ears/mam_ears/bigwolfinnerdark +/datum/sprite_accessory/mam_ears/bigwolfinnerdark name = "Dark Big Wolf (ALT)" icon_state = "bigwolfinnerdark" extra = TRUE extra_color_src = NONE -/datum/sprite_accessory/ears/mam_ears/cat +/datum/sprite_accessory/mam_ears/cat name = "Cat" icon_state = "cat" icon = 'icons/mob/mutant_bodyparts.dmi' @@ -234,100 +226,100 @@ extra = TRUE extra_color_src = NONE -/datum/sprite_accessory/ears/mam_ears/catbig +/datum/sprite_accessory/mam_ears/catbig name = "Cat, Big" icon_state = "catbig" -/datum/sprite_accessory/ears/mam_ears/cow +/datum/sprite_accessory/mam_ears/cow name = "Cow" icon_state = "cow" -/datum/sprite_accessory/ears/mam_ears/curled +/datum/sprite_accessory/mam_ears/curled name = "Curled Horn" icon_state = "horn1" color_src = MUTCOLORS3 -/datum/sprite_accessory/ears/mam_ears/deer +/datum/sprite_accessory/mam_ears/deer name = "Deer" icon_state = "deer" color_src = MUTCOLORS3 -/datum/sprite_accessory/ears/mam_ears/eevee +/datum/sprite_accessory/mam_ears/eevee name = "Eevee" icon_state = "eevee" -/datum/sprite_accessory/ears/mam_ears/elf +/datum/sprite_accessory/mam_ears/elf name = "Elf" icon_state = "elf" color_src = MUTCOLORS3 -/datum/sprite_accessory/ears/mam_ears/elephant +/datum/sprite_accessory/mam_ears/elephant name = "Elephant" icon_state = "elephant" -/datum/sprite_accessory/ears/mam_ears/fennec +/datum/sprite_accessory/mam_ears/fennec name = "Fennec" icon_state = "fennec" -/datum/sprite_accessory/ears/mam_ears/fish +/datum/sprite_accessory/mam_ears/fish name = "Fish" icon_state = "fish" -/datum/sprite_accessory/ears/mam_ears/fox +/datum/sprite_accessory/mam_ears/fox name = "Fox" icon_state = "fox" -/datum/sprite_accessory/ears/mam_ears/husky +/datum/sprite_accessory/mam_ears/husky name = "Husky" icon_state = "wolf" -/datum/sprite_accessory/ears/mam_ears/kangaroo +/datum/sprite_accessory/mam_ears/kangaroo name = "kangaroo" icon_state = "kangaroo" -/datum/sprite_accessory/ears/mam_ears/jellyfish +/datum/sprite_accessory/mam_ears/jellyfish name = "Jellyfish" icon_state = "jellyfish" color_src = HAIR -/datum/sprite_accessory/ears/mam_ears/lab +/datum/sprite_accessory/mam_ears/lab name = "Dog, Long" icon_state = "lab" -/datum/sprite_accessory/ears/mam_ears/murid +/datum/sprite_accessory/mam_ears/murid name = "Murid" icon_state = "murid" -/datum/sprite_accessory/ears/mam_ears/otie +/datum/sprite_accessory/mam_ears/otie name = "Otusian" icon_state = "otie" -/datum/sprite_accessory/ears/mam_ears/squirrel +/datum/sprite_accessory/mam_ears/squirrel name = "Squirrel" icon_state = "squirrel" -/datum/sprite_accessory/ears/mam_ears/pede +/datum/sprite_accessory/mam_ears/pede name = "Scolipede" icon_state = "pede" -/datum/sprite_accessory/ears/mam_ears/rabbit +/datum/sprite_accessory/mam_ears/rabbit name = "Rabbit" icon_state = "rabbit" -/datum/sprite_accessory/ears/mam_ears/sergal +/datum/sprite_accessory/mam_ears/sergal name = "Sergal" icon_state = "sergal" -/datum/sprite_accessory/ears/mam_ears/skunk +/datum/sprite_accessory/mam_ears/skunk name = "skunk" icon_state = "skunk" -/datum/sprite_accessory/ears/mam_ears/wolf +/datum/sprite_accessory/mam_ears/wolf name = "Wolf" icon_state = "wolf" -/datum/sprite_accessory/ears/mam_ears/bunny +/datum/sprite_accessory/mam_ears/bunny name = "Bunny" icon_state = "bunny" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/frills.dm b/code/modules/mob/dead/new_player/sprite_accessories/frills.dm index 18a76df116..0aaec309a4 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/frills.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/frills.dm @@ -2,10 +2,6 @@ icon = 'icons/mob/mutant_bodyparts.dmi' relevant_layers = list(BODY_ADJ_LAYER) -/datum/sprite_accessory/frills/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - return (!H.dna.features["frills"] || H.dna.features["frills"] == "None" || H.head && (H.head.flags_inv & HIDEEARS) || !HD || HD.status == BODYPART_ROBOTIC) - /datum/sprite_accessory/frills/none name = "None" icon_state = "none" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/horns.dm b/code/modules/mob/dead/new_player/sprite_accessories/horns.dm index 3a65eaebfa..b39f48f858 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/horns.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/horns.dm @@ -3,10 +3,6 @@ color_src = HORNCOLOR relevant_layers = list(HORNS_LAYER) -/datum/sprite_accessory/horns/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - return (!H.dna.features["horns"] || H.dna.features["horns"] == "None" || H.head && (H.head.flags_inv & HIDEHAIR) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEHAIR)) || !HD || HD.status == BODYPART_ROBOTIC) - /datum/sprite_accessory/horns/none name = "None" icon_state = "none" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm index d41f5ace22..2ec6da2da8 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/legs_and_taurs.dm @@ -30,9 +30,6 @@ var/alt_taur_mode = NONE //Same as above. var/hide_legs = USE_QUADRUPED_CLIP_MASK -/datum/sprite_accessory/taur/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!tauric || (H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR))) - /datum/sprite_accessory/taur/New() switch(hide_legs) if(USE_QUADRUPED_CLIP_MASK) diff --git a/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm b/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm index 2e14a88f29..2c0db56ce4 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/snouts.dm @@ -3,10 +3,6 @@ mutant_part_string = "snout" relevant_layers = list(BODY_ADJ_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/snouts/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - return ((H.wear_mask && (H.wear_mask.flags_inv & HIDESNOUT)) || (H.head && (H.head.flags_inv & HIDESNOUT)) || !HD || HD.status == BODYPART_ROBOTIC) - /datum/sprite_accessory/snouts/sharp name = "Sharp" icon_state = "sharp" @@ -154,39 +150,35 @@ ************** Mammal Snouts ************** *******************************************/ -/datum/sprite_accessory/snouts/mam_snouts +/datum/sprite_accessory/mam_snouts color_src = MATRIXED icon = 'modular_citadel/icons/mob/mam_snouts.dmi' recommended_species = list("mammal", "slimeperson", "insect", "podweak") mutant_part_string = "snout" relevant_layers = list(BODY_ADJ_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/snouts/mam_snouts/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - return ((H.wear_mask && (H.wear_mask.flags_inv & HIDESNOUT)) || (H.head && (H.head.flags_inv & HIDESNOUT)) || !HD || HD.status == BODYPART_ROBOTIC) - -/datum/sprite_accessory/snouts/mam_snouts/none +/datum/sprite_accessory/mam_snouts/none name = "None" icon_state = "none" recommended_species = null relevant_layers = null -/datum/sprite_accessory/snouts/mam_snouts/bird +/datum/sprite_accessory/mam_snouts/bird name = "Beak" icon_state = "bird" -/datum/sprite_accessory/snouts/mam_snouts/bigbeak +/datum/sprite_accessory/mam_snouts/bigbeak name = "Big Beak" icon_state = "bigbeak" -/datum/sprite_accessory/snouts/mam_snouts/bug +/datum/sprite_accessory/mam_snouts/bug name = "Bug" icon_state = "bug" color_src = MUTCOLORS extra2 = TRUE extra2_color_src = MUTCOLORS3 -/datum/sprite_accessory/snouts/mam_snouts/elephant +/datum/sprite_accessory/mam_snouts/elephant name = "Elephant" icon_state = "elephant" extra = TRUE @@ -202,92 +194,92 @@ name = "Mammal, Long" icon_state = "lcanid" -/datum/sprite_accessory/snouts/mam_snouts/lcanidalt +/datum/sprite_accessory/mam_snouts/lcanidalt name = "Mammal, Long ALT" icon_state = "lcanidalt" -/datum/sprite_accessory/snouts/mam_snouts/scanid +/datum/sprite_accessory/mam_snouts/scanid name = "Mammal, Short" icon_state = "scanid" -/datum/sprite_accessory/snouts/mam_snouts/scanidalt +/datum/sprite_accessory/mam_snouts/scanidalt name = "Mammal, Short ALT" icon_state = "scanidalt" -/datum/sprite_accessory/snouts/mam_snouts/scanidalt2 +/datum/sprite_accessory/mam_snouts/scanidalt2 name = "Mammal, Short ALT 2" icon_state = "scanidalt2" -/datum/sprite_accessory/snouts/mam_snouts/wolf +/datum/sprite_accessory/mam_snouts/wolf name = "Mammal, Thick" icon_state = "wolf" -/datum/sprite_accessory/snouts/mam_snouts/wolfalt +/datum/sprite_accessory/mam_snouts/wolfalt name = "Mammal, Thick ALT" icon_state = "wolfalt" -/datum/sprite_accessory/snouts/mam_snouts/redpanda +/datum/sprite_accessory/mam_snouts/redpanda name = "WahCoon" icon_state = "wah" -/datum/sprite_accessory/snouts/mam_snouts/redpandaalt +/datum/sprite_accessory/mam_snouts/redpandaalt name = "WahCoon ALT" icon_state = "wahalt" -/datum/sprite_accessory/snouts/mam_snouts/rhino +/datum/sprite_accessory/mam_snouts/rhino name = "Horn" icon_state = "rhino" extra = TRUE extra = MUTCOLORS3 -/datum/sprite_accessory/snouts/mam_snouts/rodent +/datum/sprite_accessory/mam_snouts/rodent name = "Rodent" icon_state = "rodent" -/datum/sprite_accessory/snouts/mam_snouts/husky +/datum/sprite_accessory/mam_snouts/husky name = "Husky" icon_state = "husky" -/datum/sprite_accessory/snouts/mam_snouts/otie +/datum/sprite_accessory/mam_snouts/otie name = "Otie" icon_state = "otie" -/datum/sprite_accessory/snouts/mam_snouts/pede +/datum/sprite_accessory/mam_snouts/pede name = "Scolipede" icon_state = "pede" -/datum/sprite_accessory/snouts/mam_snouts/sergal +/datum/sprite_accessory/mam_snouts/sergal name = "Sergal" icon_state = "sergal" -/datum/sprite_accessory/snouts/mam_snouts/shark +/datum/sprite_accessory/mam_snouts/shark name = "Shark" icon_state = "shark" -/datum/sprite_accessory/snouts/mam_snouts/hshark +/datum/sprite_accessory/mam_snouts/hshark name = "hShark" icon_state = "hshark" -/datum/sprite_accessory/snouts/mam_snouts/toucan +/datum/sprite_accessory/mam_snouts/toucan name = "Toucan" icon_state = "toucan" -/datum/sprite_accessory/snouts/mam_snouts/sharp +/datum/sprite_accessory/mam_snouts/sharp name = "Sharp" icon_state = "sharp" color_src = MUTCOLORS -/datum/sprite_accessory/snouts/mam_snouts/round +/datum/sprite_accessory/mam_snouts/round name = "Round" icon_state = "round" color_src = MUTCOLORS -/datum/sprite_accessory/snouts/mam_snouts/sharplight +/datum/sprite_accessory/mam_snouts/sharplight name = "Sharp + Light" icon_state = "sharplight" color_src = MUTCOLORS -/datum/sprite_accessory/snouts/mam_snouts/roundlight +/datum/sprite_accessory/mam_snouts/roundlight name = "Round + Light" icon_state = "roundlight" color_src = MUTCOLORS @@ -297,109 +289,109 @@ **************** Snouts ******************* *************but higher up*****************/ -/datum/sprite_accessory/snouts/mam_snouts/fbird +/datum/sprite_accessory/mam_snouts/fbird name = "Beak (Top)" icon_state = "fbird" -/datum/sprite_accessory/snouts/mam_snouts/fbigbeak +/datum/sprite_accessory/mam_snouts/fbigbeak name = "Big Beak (Top)" icon_state = "fbigbeak" -/datum/sprite_accessory/snouts/mam_snouts/fbug +/datum/sprite_accessory/mam_snouts/fbug name = "Bug (Top)" icon_state = "fbug" color_src = MUTCOLORS extra2 = TRUE extra2_color_src = MUTCOLORS3 -/datum/sprite_accessory/snouts/mam_snouts/felephant +/datum/sprite_accessory/mam_snouts/felephant name = "Elephant (Top)" icon_state = "felephant" extra = TRUE extra_color_src = MUTCOLORS3 -/datum/sprite_accessory/snouts/mam_snouts/flcanid +/datum/sprite_accessory/mam_snouts/flcanid name = "Mammal, Long (Top)" icon_state = "flcanid" -/datum/sprite_accessory/snouts/mam_snouts/flcanidalt +/datum/sprite_accessory/mam_snouts/flcanidalt name = "Mammal, Long ALT (Top)" icon_state = "flcanidalt" -/datum/sprite_accessory/snouts/mam_snouts/fscanid +/datum/sprite_accessory/mam_snouts/fscanid name = "Mammal, Short (Top)" icon_state = "fscanid" -/datum/sprite_accessory/snouts/mam_snouts/fscanidalt +/datum/sprite_accessory/mam_snouts/fscanidalt name = "Mammal, Short ALT (Top)" icon_state = "fscanidalt" -/datum/sprite_accessory/snouts/mam_snouts/fscanidalt2 +/datum/sprite_accessory/mam_snouts/fscanidalt2 name = "Mammal, Short ALT 2 (Top)" icon_state = "fscanidalt2" -/datum/sprite_accessory/snouts/mam_snouts/fwolf +/datum/sprite_accessory/mam_snouts/fwolf name = "Mammal, Thick (Top)" icon_state = "fwolf" -/datum/sprite_accessory/snouts/mam_snouts/fwolfalt +/datum/sprite_accessory/mam_snouts/fwolfalt name = "Mammal, Thick ALT (Top)" icon_state = "fwolfalt" -/datum/sprite_accessory/snouts/mam_snouts/fredpanda +/datum/sprite_accessory/mam_snouts/fredpanda name = "WahCoon (Top)" icon_state = "fwah" -/datum/sprite_accessory/snouts/mam_snouts/frhino +/datum/sprite_accessory/mam_snouts/frhino name = "Horn (Top)" icon_state = "frhino" extra = TRUE extra = MUTCOLORS3 -/datum/sprite_accessory/snouts/mam_snouts/frodent +/datum/sprite_accessory/mam_snouts/frodent name = "Rodent (Top)" icon_state = "frodent" -/datum/sprite_accessory/snouts/mam_snouts/fhusky +/datum/sprite_accessory/mam_snouts/fhusky name = "Husky (Top)" icon_state = "fhusky" -/datum/sprite_accessory/snouts/mam_snouts/fotie +/datum/sprite_accessory/mam_snouts/fotie name = "Otie (Top)" icon_state = "fotie" -/datum/sprite_accessory/snouts/mam_snouts/fpede +/datum/sprite_accessory/mam_snouts/fpede name = "Scolipede (Top)" icon_state = "fpede" -/datum/sprite_accessory/snouts/mam_snouts/fsergal +/datum/sprite_accessory/mam_snouts/fsergal name = "Sergal (Top)" icon_state = "fsergal" -/datum/sprite_accessory/snouts/mam_snouts/fshark +/datum/sprite_accessory/mam_snouts/fshark name = "Shark (Top)" icon_state = "fshark" -/datum/sprite_accessory/snouts/mam_snouts/ftoucan +/datum/sprite_accessory/mam_snouts/ftoucan name = "Toucan (Top)" icon_state = "ftoucan" -/datum/sprite_accessory/snouts/mam_snouts/fsharp +/datum/sprite_accessory/mam_snouts/fsharp name = "Sharp (Top)" icon_state = "fsharp" color_src = MUTCOLORS -/datum/sprite_accessory/snouts/mam_snouts/fround +/datum/sprite_accessory/mam_snouts/fround name = "Round (Top)" icon_state = "fround" color_src = MUTCOLORS -/datum/sprite_accessory/snouts/mam_snouts/fsharplight +/datum/sprite_accessory/mam_snouts/fsharplight name = "Sharp + Light (Top)" icon_state = "fsharplight" color_src = MUTCOLORS -/datum/sprite_accessory/snouts/mam_snouts/froundlight +/datum/sprite_accessory/mam_snouts/froundlight name = "Round + Light (Top)" icon_state = "froundlight" color_src = MUTCOLORS diff --git a/code/modules/mob/dead/new_player/sprite_accessories/spines.dm b/code/modules/mob/dead/new_player/sprite_accessories/spines.dm index 53a5650a05..54749d5ea9 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/spines.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/spines.dm @@ -2,15 +2,10 @@ icon = 'icons/mob/mutant_bodyparts.dmi' relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER) -/datum/sprite_accessory/spines/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!H.dna.features["spines"] || H.dna.features["spines"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) - /datum/sprite_accessory/spines_animated icon = 'icons/mob/mutant_bodyparts.dmi' relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER) -/datum/sprite_accessory/spines_animated/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!H.dna.features["spines"] || H.dna.features["spines"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR) || H.dna.species.mutant_bodyparts["tail"]) /datum/sprite_accessory/spines/none name = "None" icon_state = "none" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/synthliz.dm b/code/modules/mob/dead/new_player/sprite_accessories/synthliz.dm index 16531d8f06..a2884ab944 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/synthliz.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/synthliz.dm @@ -1,24 +1,24 @@ //Synth snouts (This is the most important part) -/datum/sprite_accessory/snouts/mam_snouts/synthliz +/datum/sprite_accessory/mam_snouts/synthliz recommended_species = list("synthliz") icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' color_src = MUTCOLORS name = "Synthetic Lizard - Snout" icon_state = "synthliz_basic" -/datum/sprite_accessory/snouts/mam_snouts/synthliz/synthliz_under +/datum/sprite_accessory/mam_snouts/synthliz/synthliz_under icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' color_src = MATRIXED name = "Synthetic Lizard - Snout Under" icon_state = "synthliz_under" -/datum/sprite_accessory/snouts/mam_snouts/synthliz/synthliz_tert +/datum/sprite_accessory/mam_snouts/synthliz/synthliz_tert icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' color_src = MATRIXED name = "Synthetic Lizard - Snout Tertiary" icon_state = "synthliz_tert" -/datum/sprite_accessory/snouts/mam_snouts/synthliz/synthliz_tertunder +/datum/sprite_accessory/mam_snouts/synthliz/synthliz_tertunder icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' color_src = MATRIXED name = "Synthetic Lizard - Snout Tertiary Under" @@ -42,14 +42,14 @@ icon_state = "synthlizpecslight" //Synth tails -/datum/sprite_accessory/tails/mam_tails/synthliz +/datum/sprite_accessory/mam_tails/synthliz recommended_species = list("synthliz") icon = 'modular_citadel/icons/mob/synthliz_tails.dmi' color_src = MUTCOLORS name = "Synthetic Lizard" icon_state = "synthliz" -/datum/sprite_accessory/tails_animated/mam_tails_animated/synthliz +/datum/sprite_accessory/mam_tails_animated/synthliz recommended_species = list("synthliz") icon = 'modular_citadel/icons/mob/synthliz_tails.dmi' color_src = MUTCOLORS diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm index 0afbeaf070..33dbd7059f 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm @@ -3,9 +3,6 @@ mutant_part_string = "tail" relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/tails/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return ((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) - /datum/sprite_accessory/tails_animated icon = 'icons/mob/mutant_bodyparts.dmi' mutant_part_string = "tailwag" @@ -15,9 +12,6 @@ ************* Lizard Tails **************** *******************************************/ -/datum/sprite_accessory/tails_animated/lizard/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return ((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric || H.dna.species.mutant_bodyparts["tail_lizard"]) - /datum/sprite_accessory/tails/lizard/smooth name = "Smooth" icon_state = "smooth" @@ -104,9 +98,6 @@ icon_state = "none" relevant_layers = null -/datum/sprite_accessory/tails_animated/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return ((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric || H.dna.species.mutant_bodyparts["tail_human"]) - /datum/sprite_accessory/tails/human/ailurus name = "Red Panda" icon_state = "wah" @@ -131,22 +122,22 @@ icon = 'modular_citadel/icons/mob/mam_tails.dmi' color_src = MATRIXED -/datum/sprite_accessory/tails/mam_tails/batl +/datum/sprite_accessory/mam_tails/batl name = "Bat (Long)" icon = 'modular_citadel/icons/mob/mam_tails.dmi' icon_state = "batl" -/datum/sprite_accessory/tails_animated/mam_tails_animated/batl +/datum/sprite_accessory/mam_tails_animated/batl name = "Bat (Long)" icon = 'modular_citadel/icons/mob/mam_tails.dmi' icon_state = "batl" -/datum/sprite_accessory/tails/mam_tails/bats +/datum/sprite_accessory/mam_tails/bats name = "Bat (Short)" icon = 'modular_citadel/icons/mob/mam_tails.dmi' icon_state = "bats" -/datum/sprite_accessory/tails_animated/mam_tails_animated/bats +/datum/sprite_accessory/mam_tails_animated/bats name = "Bat (Short)" icon = 'modular_citadel/icons/mob/mam_tails.dmi' icon_state = "bats" @@ -527,371 +518,368 @@ ************** Furry Tails **************** *******************************************/ -/datum/sprite_accessory/tails/mam_tails +/datum/sprite_accessory/mam_tails color_src = MATRIXED icon = 'modular_citadel/icons/mob/mam_tails.dmi' recommended_species = list("mammal", "slimeperson", "podweak", "felinid", "insect") mutant_part_string = "tail" relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/tails/mam_tails/none +/datum/sprite_accessory/mam_tails/none name = "None" icon_state = "none" recommended_species = null relevant_layers = null -/datum/sprite_accessory/tails_animated/mam_tails_animated +/datum/sprite_accessory/mam_tails_animated color_src = MATRIXED icon = 'modular_citadel/icons/mob/mam_tails.dmi' mutant_part_string = "tailwag" relevant_layers = list(BODY_BEHIND_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/tails_animated/mam_tails_animated/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return ((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric || H.dna.species.mutant_bodyparts["mam_tail"]) - -/datum/sprite_accessory/tails_animated/mam_tails_animated/none +/datum/sprite_accessory/mam_tails_animated/none name = "None" icon_state = "none" relevant_layers = null -/datum/sprite_accessory/tails/mam_tails/ailurus +/datum/sprite_accessory/mam_tails/ailurus name = "Red Panda" icon_state = "wah" extra = TRUE -/datum/sprite_accessory/tails_animated/mam_tails_animated/ailurus +/datum/sprite_accessory/mam_tails_animated/ailurus name = "Red Panda" icon_state = "wah" extra = TRUE -/datum/sprite_accessory/tails/mam_tails/axolotl +/datum/sprite_accessory/mam_tails/axolotl name = "Axolotl" icon_state = "axolotl" -/datum/sprite_accessory/tails_animated/mam_tails_animated/axolotl +/datum/sprite_accessory/mam_tails_animated/axolotl name = "Axolotl" icon_state = "axolotl" -/datum/sprite_accessory/tails/mam_tails/batl +/datum/sprite_accessory/mam_tails/batl name = "Bat (Long)" icon_state = "batl" -/datum/sprite_accessory/tails_animated/mam_tails_animated/batl +/datum/sprite_accessory/mam_tails_animated/batl name = "Bat (Long)" icon_state = "batl" -/datum/sprite_accessory/tails/mam_tails/bats +/datum/sprite_accessory/mam_tails/bats name = "Bat (Short)" icon_state = "bats" -/datum/sprite_accessory/tails_animated/mam_tails_animated/bats +/datum/sprite_accessory/mam_tails_animated/bats name = "Bat (Short)" icon_state = "bats" -/datum/sprite_accessory/tails/mam_tails/bee +/datum/sprite_accessory/mam_tails/bee name = "Bee" icon_state = "bee" -/datum/sprite_accessory/tails_animated/mam_tails_animated/bee +/datum/sprite_accessory/mam_tails_animated/bee name = "Bee" icon_state = "bee" -/datum/sprite_accessory/tails/mam_tails/cat +/datum/sprite_accessory/mam_tails/cat name = "Cat" icon_state = "cat" color_src = HAIR -/datum/sprite_accessory/tails_animated/mam_tails_animated/cat +/datum/sprite_accessory/mam_tails_animated/cat name = "Cat" icon_state = "cat" color_src = HAIR -/datum/sprite_accessory/tails/mam_tails/catbig +/datum/sprite_accessory/mam_tails/catbig name = "Cat, Big" icon_state = "catbig" -/datum/sprite_accessory/tails_animated/mam_tails_animated/catbig +/datum/sprite_accessory/mam_tails_animated/catbig name = "Cat, Big" icon_state = "catbig" -/datum/sprite_accessory/tails/mam_tails/twocat +/datum/sprite_accessory/mam_tails/twocat name = "Cat, Double" icon_state = "twocat" -/datum/sprite_accessory/tails_animated/mam_tails_animated/twocat +/datum/sprite_accessory/mam_tails_animated/twocat name = "Cat, Double" icon_state = "twocat" -/datum/sprite_accessory/tails/mam_tails/corvid +/datum/sprite_accessory/mam_tails/corvid name = "Corvid" icon_state = "crow" -/datum/sprite_accessory/tails_animated/mam_tails_animated/corvid +/datum/sprite_accessory/mam_tails_animated/corvid name = "Corvid" icon_state = "crow" -/datum/sprite_accessory/tails/mam_tail/cow +/datum/sprite_accessory/mam_tail/cow name = "Cow" icon_state = "cow" -/datum/sprite_accessory/tails_animated/mam_tails_animated/cow +/datum/sprite_accessory/mam_tails_animated/cow name = "Cow" icon_state = "cow" -/datum/sprite_accessory/tails/mam_tails/eevee +/datum/sprite_accessory/mam_tails/eevee name = "Eevee" icon_state = "eevee" -/datum/sprite_accessory/tails_animated/mam_tails_animated/eevee +/datum/sprite_accessory/mam_tails_animated/eevee name = "Eevee" icon_state = "eevee" -/datum/sprite_accessory/tails/mam_tails/fennec +/datum/sprite_accessory/mam_tails/fennec name = "Fennec" icon_state = "fennec" -/datum/sprite_accessory/tails_animated/mam_tails_animated/fennec +/datum/sprite_accessory/mam_tails_animated/fennec name = "Fennec" icon_state = "fennec" -/datum/sprite_accessory/tails/mam_tails/human/fish +/datum/sprite_accessory/mam_tails/human/fish name = "Fish" icon_state = "fish" -/datum/sprite_accessory/tails_animated/mam_tails_animated/human/fish +/datum/sprite_accessory/mam_tails_animated/human/fish name = "Fish" icon_state = "fish" -/datum/sprite_accessory/tails/mam_tails/fox +/datum/sprite_accessory/mam_tails/fox name = "Fox" icon_state = "fox" -/datum/sprite_accessory/tails_animated/mam_tails_animated/fox +/datum/sprite_accessory/mam_tails_animated/fox name = "Fox" icon_state = "fox" -/datum/sprite_accessory/tails/mam_tails/hawk +/datum/sprite_accessory/mam_tails/hawk name = "Hawk" icon_state = "hawk" -/datum/sprite_accessory/tails_animated/mam_tails_animated/hawk +/datum/sprite_accessory/mam_tails_animated/hawk name = "Hawk" icon_state = "hawk" -/datum/sprite_accessory/tails/mam_tails/horse +/datum/sprite_accessory/mam_tails/horse name = "Horse" icon_state = "horse" color_src = HAIR -/datum/sprite_accessory/tails_animated/mam_tails_animated/horse +/datum/sprite_accessory/mam_tails_animated/horse name = "Horse" icon_state = "horse" color_src = HAIR -/datum/sprite_accessory/tails/mam_tails/husky +/datum/sprite_accessory/mam_tails/husky name = "Husky" icon_state = "husky" -/datum/sprite_accessory/tails_animated/mam_tails_animated/husky +/datum/sprite_accessory/mam_tails_animated/husky name = "Husky" icon_state = "husky" -datum/sprite_accessory/tails/mam_tails/insect +datum/sprite_accessory/mam_tails/insect name = "Insect" icon_state = "insect" -/datum/sprite_accessory/tails_animated/mam_tails_animated/insect +/datum/sprite_accessory/mam_tails_animated/insect name = "Insect" icon_state = "insect" -/datum/sprite_accessory/tails/mam_tails/kangaroo +/datum/sprite_accessory/mam_tails/kangaroo name = "kangaroo" icon_state = "kangaroo" -/datum/sprite_accessory/tails_animated/mam_tails_animated/kangaroo +/datum/sprite_accessory/mam_tails_animated/kangaroo name = "kangaroo" icon_state = "kangaroo" -/datum/sprite_accessory/tails/mam_tails/kitsune +/datum/sprite_accessory/mam_tails/kitsune name = "Kitsune" icon_state = "kitsune" -/datum/sprite_accessory/tails_animated/mam_tails_animated/kitsune +/datum/sprite_accessory/mam_tails_animated/kitsune name = "Kitsune" icon_state = "kitsune" -/datum/sprite_accessory/tails/mam_tails/lab +/datum/sprite_accessory/mam_tails/lab name = "Lab" icon_state = "lab" -/datum/sprite_accessory/tails_animated/mam_tails_animated/lab +/datum/sprite_accessory/mam_tails_animated/lab name = "Lab" icon_state = "lab" -/datum/sprite_accessory/tails/mam_tails/murid +/datum/sprite_accessory/mam_tails/murid name = "Murid" icon_state = "murid" -/datum/sprite_accessory/tails_animated/mam_tails_animated/murid +/datum/sprite_accessory/mam_tails_animated/murid name = "Murid" icon_state = "murid" -/datum/sprite_accessory/tails/mam_tails/otie +/datum/sprite_accessory/mam_tails/otie name = "Otusian" icon_state = "otie" -/datum/sprite_accessory/tails_animated/mam_tails_animated/otie +/datum/sprite_accessory/mam_tails_animated/otie name = "Otusian" icon_state = "otie" -/datum/sprite_accessory/tails/mam_tails/orca +/datum/sprite_accessory/mam_tails/orca name = "Orca" icon_state = "orca" -/datum/sprite_accessory/tails_animated/mam_tails_animated/orca +/datum/sprite_accessory/mam_tails_animated/orca name = "Orca" icon_state = "orca" -/datum/sprite_accessory/tails/mam_tails/pede +/datum/sprite_accessory/mam_tails/pede name = "Scolipede" icon_state = "pede" -/datum/sprite_accessory/tails_animated/mam_tails_animated/pede +/datum/sprite_accessory/mam_tails_animated/pede name = "Scolipede" icon_state = "pede" -/datum/sprite_accessory/tails/mam_tails/rabbit +/datum/sprite_accessory/mam_tails/rabbit name = "Rabbit" icon_state = "rabbit" -/datum/sprite_accessory/tails_animated/mam_tails_animated/rabbit +/datum/sprite_accessory/mam_tails_animated/rabbit name = "Rabbit" icon_state = "rabbit" -/datum/sprite_accessory/tails/mam_tails/sergal +/datum/sprite_accessory/mam_tails/sergal name = "Sergal" icon_state = "sergal" -/datum/sprite_accessory/tails_animated/mam_tails_animated/sergal +/datum/sprite_accessory/mam_tails_animated/sergal name = "Sergal" icon_state = "sergal" -/datum/sprite_accessory/tails/mam_tails/skunk +/datum/sprite_accessory/mam_tails/skunk name = "Skunk" icon_state = "skunk" -/datum/sprite_accessory/tails_animated/mam_tails_animated/skunk +/datum/sprite_accessory/mam_tails_animated/skunk name = "Skunk" icon_state = "skunk" -/datum/sprite_accessory/tails/mam_tails/smooth +/datum/sprite_accessory/mam_tails/smooth name = "Smooth" icon_state = "smooth" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails_animated/mam_tails_animated/smooth +/datum/sprite_accessory/mam_tails_animated/smooth name = "Smooth" icon_state = "smooth" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails_animated/mam_tails_animated/spikes +/datum/sprite_accessory/mam_tails_animated/spikes name = "Spikes" icon_state = "spikes" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails/mam_tails/spikes +/datum/sprite_accessory/mam_tails/spikes name = "Spikes" icon_state = "spikes" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails/mam_tails/shark +/datum/sprite_accessory/mam_tails/shark name = "Shark" icon_state = "shark" -/datum/sprite_accessory/tails_animated/mam_tails_animated/shark +/datum/sprite_accessory/mam_tails_animated/shark name = "Shark" icon_state = "shark" -/datum/sprite_accessory/tails/mam_tails/shepherd +/datum/sprite_accessory/mam_tails/shepherd name = "Shepherd" icon_state = "shepherd" -/datum/sprite_accessory/tails_animated/mam_tails_animated/shepherd +/datum/sprite_accessory/mam_tails_animated/shepherd name = "Shepherd" icon_state = "shepherd" -/datum/sprite_accessory/tails/mam_tails/straighttail +/datum/sprite_accessory/mam_tails/straighttail name = "Straight Tail" icon_state = "straighttail" -/datum/sprite_accessory/tails_animated/mam_tails_animated/straighttail +/datum/sprite_accessory/mam_tails_animated/straighttail name = "Straight Tail" icon_state = "straighttail" -/datum/sprite_accessory/tails/mam_tails/squirrel +/datum/sprite_accessory/mam_tails/squirrel name = "Squirrel" icon_state = "squirrel" -/datum/sprite_accessory/tails_animated/mam_tails_animated/squirrel +/datum/sprite_accessory/mam_tails_animated/squirrel name = "Squirrel" icon_state = "squirrel" -/datum/sprite_accessory/tails/mam_tails/tamamo_kitsune +/datum/sprite_accessory/mam_tails/tamamo_kitsune name = "Tamamo Kitsune Tails" icon_state = "9sune" -/datum/sprite_accessory/tails_animated/mam_tails_animated/tamamo_kitsune +/datum/sprite_accessory/mam_tails_animated/tamamo_kitsune name = "Tamamo Kitsune Tails" icon_state = "9sune" -/datum/sprite_accessory/tails/mam_tails/tentacle +/datum/sprite_accessory/mam_tails/tentacle name = "Tentacle" icon_state = "tentacle" -/datum/sprite_accessory/tails_animated/mam_tails_animated/tentacle +/datum/sprite_accessory/mam_tails_animated/tentacle name = "Tentacle" icon_state = "tentacle" -/datum/sprite_accessory/tails/mam_tails/tiger +/datum/sprite_accessory/mam_tails/tiger name = "Tiger" icon_state = "tiger" -/datum/sprite_accessory/tails_animated/mam_tails_animated/tiger +/datum/sprite_accessory/mam_tails_animated/tiger name = "Tiger" icon_state = "tiger" -/datum/sprite_accessory/tails/mam_tails/dtiger +/datum/sprite_accessory/mam_tails/dtiger name = "Dark Tiger" icon_state = "dtiger" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails_animated/mam_tails_animated/dtiger +/datum/sprite_accessory/mam_tails_animated/dtiger name = "Dark Tiger" icon_state = "dtiger" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails/mam_tails/ltiger +/datum/sprite_accessory/mam_tails/ltiger name = "Light Tiger" icon_state = "ltiger" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails_animated/mam_tails_animated/ltiger +/datum/sprite_accessory/mam_tails_animated/ltiger name = "Light Tiger" icon_state = "ltiger" color_src = MUTCOLORS icon = 'icons/mob/mutant_bodyparts.dmi' -/datum/sprite_accessory/tails/mam_tails/wolf +/datum/sprite_accessory/mam_tails/wolf name = "Wolf" icon_state = "wolf" -/datum/sprite_accessory/tails_animated/mam_tails_animated/wolf +/datum/sprite_accessory/mam_tails_animated/wolf name = "Wolf" icon_state = "wolf" diff --git a/code/modules/mob/dead/new_player/sprite_accessories/wings.dm b/code/modules/mob/dead/new_player/sprite_accessories/wings.dm index fb03df88a1..34767a10f1 100644 --- a/code/modules/mob/dead/new_player/sprite_accessories/wings.dm +++ b/code/modules/mob/dead/new_player/sprite_accessories/wings.dm @@ -5,16 +5,10 @@ icon_state = "none" relevant_layers = null -/datum/sprite_accessory/wings/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (!H.dna.features["wings"] || H.dna.features["wings"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) && (!H.wear_suit.species_exception || !is_type_in_list(src, H.wear_suit.species_exception)))) - /datum/sprite_accessory/wings_open icon = 'icons/mob/wings.dmi' relevant_layers = list(BODY_BEHIND_LAYER, BODY_ADJ_LAYER, BODY_FRONT_LAYER) -/datum/sprite_accessory/wings_open/is_not_visible(var/mob/living/carbon/human/H, var/tauric) - return (H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) && (!H.wear_suit.species_exception || !is_type_in_list(src, H.wear_suit.species_exception)) || H.dna.species.mutant_bodyparts["wings"]) - /datum/sprite_accessory/wings_open/angel name = "Angel" icon_state = "angel" diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index ee1ebe4506..df049f672d 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -642,15 +642,106 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(!mutant_bodyparts) return + var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) var/tauric = mutant_bodyparts["taur"] && H.dna.features["taur"] && H.dna.features["taur"] != "None" - for(var/mutant_part in mutant_bodyparts) - var/reference_list = GLOB.mutant_reference_list[mutant_part] - if(reference_list) - var/datum/sprite_accessory/S - S = reference_list[H.dna.features[mutant_part]] - if(!S || S.is_not_visible(H, tauric)) - bodyparts_to_add -= mutant_part + if(mutant_bodyparts["tail_lizard"]) + if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) + bodyparts_to_add -= "tail_lizard" + + if(mutant_bodyparts["waggingtail_lizard"]) + if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) + bodyparts_to_add -= "waggingtail_lizard" + else if (mutant_bodyparts["tail_lizard"]) + bodyparts_to_add -= "waggingtail_lizard" + + if(mutant_bodyparts["tail_human"]) + if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) + bodyparts_to_add -= "tail_human" + + if(mutant_bodyparts["waggingtail_human"]) + if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) + bodyparts_to_add -= "waggingtail_human" + else if (mutant_bodyparts["tail_human"]) + bodyparts_to_add -= "waggingtail_human" + + if(mutant_bodyparts["spines"]) + if(!H.dna.features["spines"] || H.dna.features["spines"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) + bodyparts_to_add -= "spines" + + if(mutant_bodyparts["waggingspines"]) + if(!H.dna.features["spines"] || H.dna.features["spines"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) + bodyparts_to_add -= "waggingspines" + else if (mutant_bodyparts["tail"]) + bodyparts_to_add -= "waggingspines" + + if(mutant_bodyparts["snout"]) //Take a closer look at that snout! + if((H.wear_mask && (H.wear_mask.flags_inv & HIDESNOUT)) || (H.head && (H.head.flags_inv & HIDESNOUT)) || !HD || HD.status == BODYPART_ROBOTIC) + bodyparts_to_add -= "snout" + + if(mutant_bodyparts["frills"]) + if(!H.dna.features["frills"] || H.dna.features["frills"] == "None" || H.head && (H.head.flags_inv & HIDEEARS) || !HD || HD.status == BODYPART_ROBOTIC) + bodyparts_to_add -= "frills" + + if(mutant_bodyparts["horns"]) + if(!H.dna.features["horns"] || H.dna.features["horns"] == "None" || H.head && (H.head.flags_inv & HIDEHAIR) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEHAIR)) || !HD || HD.status == BODYPART_ROBOTIC) + bodyparts_to_add -= "horns" + + if(mutant_bodyparts["ears"]) + if(!H.dna.features["ears"] || H.dna.features["ears"] == "None" || H.head && (H.head.flags_inv & HIDEEARS) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEEARS)) || !HD || HD.status == BODYPART_ROBOTIC) + bodyparts_to_add -= "ears" + + if(mutant_bodyparts["wings"]) + if(!H.dna.features["wings"] || H.dna.features["wings"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) && (!H.wear_suit.species_exception || !is_type_in_list(src, H.wear_suit.species_exception)))) + bodyparts_to_add -= "wings" + + if(mutant_bodyparts["wings_open"]) + if(H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT) && (!H.wear_suit.species_exception || !is_type_in_list(src, H.wear_suit.species_exception))) + bodyparts_to_add -= "wings_open" + else if (mutant_bodyparts["wings"]) + bodyparts_to_add -= "wings_open" + + if(mutant_bodyparts["insect_fluff"]) + if(!H.dna.features["insect_fluff"] || H.dna.features["insect_fluff"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) + bodyparts_to_add -= "insect_fluff" + +//CITADEL EDIT + //Race specific bodyparts: + //Xenos + if(mutant_bodyparts["xenodorsal"]) + if(!H.dna.features["xenodorsal"] || H.dna.features["xenodorsal"] == "None" || (H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT))) + bodyparts_to_add -= "xenodorsal" + if(mutant_bodyparts["xenohead"])//This is an overlay for different castes using different head crests + if(!H.dna.features["xenohead"] || H.dna.features["xenohead"] == "None" || H.head && (H.head.flags_inv & HIDEHAIR) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEHAIR)) || !HD || HD.status == BODYPART_ROBOTIC) + bodyparts_to_add -= "xenohead" + if(mutant_bodyparts["xenotail"]) + if(!H.dna.features["xenotail"] || H.dna.features["xenotail"] == "None" || H.wear_suit && (H.wear_suit.flags_inv & HIDEJUMPSUIT)) + bodyparts_to_add -= "xenotail" + + //Other Races + if(mutant_bodyparts["mam_tail"]) + if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) + bodyparts_to_add -= "mam_tail" + + if(mutant_bodyparts["mam_waggingtail"]) + if((H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)) || tauric) + bodyparts_to_add -= "mam_waggingtail" + else if (mutant_bodyparts["mam_tail"]) + bodyparts_to_add -= "mam_waggingtail" + + if(mutant_bodyparts["mam_ears"]) + if(!H.dna.features["mam_ears"] || H.dna.features["mam_ears"] == "None" || H.head && (H.head.flags_inv & HIDEEARS) || (H.wear_mask && (H.wear_mask.flags_inv & HIDEEARS)) || !HD || HD.status == BODYPART_ROBOTIC) + bodyparts_to_add -= "mam_ears" + + if(mutant_bodyparts["mam_snouts"]) //Take a closer look at that snout! + if((H.wear_mask && (H.wear_mask.flags_inv & HIDESNOUT)) || (H.head && (H.head.flags_inv & HIDESNOUT)) || !HD || HD.status == BODYPART_ROBOTIC) + bodyparts_to_add -= "mam_snouts" + + if(mutant_bodyparts["taur"]) + if(!tauric || (H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR))) + bodyparts_to_add -= "taur" + +//END EDIT //Digitigrade legs are stuck in the phantom zone between true limbs and mutant bodyparts. Mainly it just needs more agressive updating than most limbs. var/update_needed = FALSE @@ -687,18 +778,76 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) var/list/dna_feature_as_text_string = list() for(var/bodypart in bodyparts_to_add) - var/reference_list = GLOB.mutant_reference_list[bodypart] - if(reference_list) - var/datum/sprite_accessory/S - S = reference_list[H.dna.features[bodypart]] + var/datum/sprite_accessory/S + switch(bodypart) + if("tail_lizard") + S = GLOB.tails_list_lizard[H.dna.features["tail_lizard"]] + if("waggingtail_lizard") + S = GLOB.animated_tails_list_lizard[H.dna.features["tail_lizard"]] + if("tail_human") + S = GLOB.tails_list_human[H.dna.features["tail_human"]] + if("waggingtail_human") + S = GLOB.animated_tails_list_human[H.dna.features["tail_human"]] + if("spines") + S = GLOB.spines_list[H.dna.features["spines"]] + if("waggingspines") + S = GLOB.animated_spines_list[H.dna.features["spines"]] + if("snout") + S = GLOB.snouts_list[H.dna.features["snout"]] + if("frills") + S = GLOB.frills_list[H.dna.features["frills"]] + if("horns") + S = GLOB.horns_list[H.dna.features["horns"]] + if("ears") + S = GLOB.ears_list[H.dna.features["ears"]] + if("body_markings") + S = GLOB.body_markings_list[H.dna.features["body_markings"]] + if("wings") + S = GLOB.wings_list[H.dna.features["wings"]] + if("wingsopen") + S = GLOB.wings_open_list[H.dna.features["wings"]] + if("deco_wings") + S = GLOB.deco_wings_list[H.dna.features["deco_wings"]] + if("legs") + S = GLOB.legs_list[H.dna.features["legs"]] + if("insect_wings") + S = GLOB.insect_wings_list[H.dna.features["insect_wings"]] + if("insect_fluff") + S = GLOB.insect_fluffs_list[H.dna.features["insect_fluff"]] + if("insect_markings") + S = GLOB.insect_markings_list[H.dna.features["insect_markings"]] + if("caps") + S = GLOB.caps_list[H.dna.features["caps"]] + if("ipc_screen") + S = GLOB.ipc_screens_list[H.dna.features["ipc_screen"]] + if("ipc_antenna") + S = GLOB.ipc_antennas_list[H.dna.features["ipc_antenna"]] + if("mam_tail") + S = GLOB.mam_tails_list[H.dna.features["mam_tail"]] + if("mam_waggingtail") + S = GLOB.mam_tails_animated_list[H.dna.features["mam_tail"]] + if("mam_body_markings") + S = GLOB.mam_body_markings_list[H.dna.features["mam_body_markings"]] + if("mam_ears") + S = GLOB.mam_ears_list[H.dna.features["mam_ears"]] + if("mam_snouts") + S = GLOB.mam_snouts_list[H.dna.features["mam_snouts"]] + if("taur") + S = GLOB.taur_list[H.dna.features["taur"]] + if("xenodorsal") + S = GLOB.xeno_dorsal_list[H.dna.features["xenodorsal"]] + if("xenohead") + S = GLOB.xeno_head_list[H.dna.features["xenohead"]] + if("xenotail") + S = GLOB.xeno_tail_list[H.dna.features["xenotail"]] - if(!S || S.icon_state == "none") - continue + if(!S || S.icon_state == "none") + continue - for(var/L in S.relevant_layers) - LAZYADD(relevant_layers["[L]"], S) - if(!S.mutant_part_string) - dna_feature_as_text_string[S] = bodypart + for(var/L in S.relevant_layers) + LAZYADD(relevant_layers["[L]"], S) + if(!S.mutant_part_string) + dna_feature_as_text_string[S] = bodypart var/static/list/layer_text = list( "[BODY_BEHIND_LAYER]" = "BEHIND", @@ -1897,8 +2046,17 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) return /** + + + * The human species version of [/mob/living/carbon/proc/get_biological_state]. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds + + + */ + + + /datum/species/proc/get_biological_state(mob/living/carbon/human/H) . = BIO_INORGANIC if(HAS_FLESH in species_traits) @@ -1914,6 +2072,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) if(HAS_TRAIT(H, TRAIT_NOBREATH)) return TRUE + /datum/species/proc/handle_environment(datum/gas_mixture/environment, mob/living/carbon/human/H) if(!environment) return @@ -2105,6 +2264,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names) /datum/species/proc/spec_stun(mob/living/carbon/human/H,amount) if(H) stop_wagging_tail(H) + . = stunmod * H.physiology.stun_mod * amount ////////////// diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index 49c55f70b3..c762a52ffc 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -504,7 +504,7 @@ else if (select_alteration == "Ears") var/list/snowflake_ears_list = list("Normal" = null) for(var/path in GLOB.mam_ears_list) - var/datum/sprite_accessory/ears/mam_ears/instance = GLOB.mam_ears_list[path] + var/datum/sprite_accessory/mam_ears/instance = GLOB.mam_ears_list[path] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(H.client.ckey))) @@ -518,7 +518,7 @@ else if (select_alteration == "Snout") var/list/snowflake_snouts_list = list("Normal" = null) for(var/path in GLOB.mam_snouts_list) - var/datum/sprite_accessory/snouts/mam_snouts/instance = GLOB.mam_snouts_list[path] + var/datum/sprite_accessory/mam_snouts/instance = GLOB.mam_snouts_list[path] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(H.client.ckey))) @@ -549,7 +549,7 @@ else if (select_alteration == "Tail") var/list/snowflake_tails_list = list("Normal" = null) for(var/path in GLOB.mam_tails_list) - var/datum/sprite_accessory/tails/mam_tails/instance = GLOB.mam_tails_list[path] + var/datum/sprite_accessory/mam_tails/instance = GLOB.mam_tails_list[path] if(istype(instance, /datum/sprite_accessory)) var/datum/sprite_accessory/S = instance if((!S.ckeys_allowed) || (S.ckeys_allowed.Find(H.client.ckey))) diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm index 8c30adb8f9..b61e29b685 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -57,10 +57,89 @@ ..() /datum/species/plasmaman/before_equip_job(datum/job/J, mob/living/carbon/human/H, visualsOnly = FALSE) + var/current_job = J?.title var/datum/outfit/plasmaman/O = new /datum/outfit/plasmaman - if(J) - if(J.plasma_outfit) - O = new J.plasma_outfit + switch(current_job) + if("Chaplain") + O = new /datum/outfit/plasmaman/chaplain + + if("Curator") + O = new /datum/outfit/plasmaman/curator + + if("Janitor") + O = new /datum/outfit/plasmaman/janitor + + if("Botanist") + O = new /datum/outfit/plasmaman/botany + + if("Bartender", "Lawyer") + O = new /datum/outfit/plasmaman/bar + + if("Cook") + O = new /datum/outfit/plasmaman/chef + + if("Security Officer") + O = new /datum/outfit/plasmaman/security + + if("Detective") + O = new /datum/outfit/plasmaman/detective + + if("Warden") + O = new /datum/outfit/plasmaman/warden + + if("Cargo Technician", "Quartermaster") + O = new /datum/outfit/plasmaman/cargo + + if("Shaft Miner") + O = new /datum/outfit/plasmaman/mining + + if("Medical Doctor") + O = new /datum/outfit/plasmaman/medical + + if("Chemist") + O = new /datum/outfit/plasmaman/chemist + + if("Geneticist") + O = new /datum/outfit/plasmaman/genetics + + if("Roboticist") + O = new /datum/outfit/plasmaman/robotics + + if("Virologist") + O = new /datum/outfit/plasmaman/viro + + if("Scientist") + O = new /datum/outfit/plasmaman/science + + if("Station Engineer") + O = new /datum/outfit/plasmaman/engineering + + if("Atmospheric Technician") + O = new /datum/outfit/plasmaman/atmospherics + + if("Captain") + O = new /datum/outfit/plasmaman/captain + + if("Head of Personnel") + O = new /datum/outfit/plasmaman/hop + + if("Head of Security") + O = new /datum/outfit/plasmaman/hos + + if("Chief Engineer") + O = new /datum/outfit/plasmaman/ce + + if("Chief Medical Officer") + O = new /datum/outfit/plasmaman/cmo + + if("Research Director") + O = new /datum/outfit/plasmaman/rd + + if("Mime") + O = new /datum/outfit/plasmaman/mime + + if("Clown") + O = new /datum/outfit/plasmaman/clown H.equipOutfit(O, visualsOnly) H.internal = H.get_item_for_held_index(2) diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index 228a69c30f..b760af9850 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -82,11 +82,13 @@ M.AddSpell(SW) shadowwalk = SW + /obj/item/organ/brain/nightmare/Remove(special = FALSE) if(shadowwalk && owner) owner.RemoveSpell(shadowwalk) return ..() + /obj/item/organ/heart/nightmare name = "heart of darkness" desc = "An alien organ that twists and writhes when exposed to light." diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm index 1b6bef9dc6..c504e5ccd3 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -24,7 +24,7 @@ burnmod = 1 ..() -/datum/species/skeleton/check_roundstart_eligible() +/datum/species/skeleton/greater/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) return TRUE return ..() diff --git a/code/modules/mob/living/carbon/human/species_types/synthliz.dm b/code/modules/mob/living/carbon/human/species_types/synthliz.dm index 173411eaa1..5ed806b302 100644 --- a/code/modules/mob/living/carbon/human/species_types/synthliz.dm +++ b/code/modules/mob/living/carbon/human/species_types/synthliz.dm @@ -22,4 +22,4 @@ tail_type = "mam_tail" wagging_type = "mam_waggingtail" - species_type = "robotic" + species_type = "robotic" \ No newline at end of file diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm index c10521dfd9..a1a2a33c54 100644 --- a/code/modules/mob/living/carbon/human/species_types/synths.dm +++ b/code/modules/mob/living/carbon/human/species_types/synths.dm @@ -100,12 +100,14 @@ else return ..() + /datum/species/synth/handle_body(mob/living/carbon/human/H) if(fake_species) fake_species.handle_body(H) else return ..() + /datum/species/synth/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) if(fake_species) fake_species.handle_body(H,forced_colour) diff --git a/code/modules/mob/living/simple_animal/bot/cleanbot.dm b/code/modules/mob/living/simple_animal/bot/cleanbot.dm index e7c5644e26..5c83482bde 100644 --- a/code/modules/mob/living/simple_animal/bot/cleanbot.dm +++ b/code/modules/mob/living/simple_animal/bot/cleanbot.dm @@ -313,7 +313,7 @@ /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/insectguts, /obj/effect/decal/cleanable/semen, - /obj/effect/decal/cleanable/semen/femcum, + /obj/effect/decal/cleanable/femcum, /obj/effect/decal/cleanable/generic, /obj/effect/decal/cleanable/glass,, /obj/effect/decal/cleanable/cobweb, diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 3433824282..b60ee8d108 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2218,7 +2218,6 @@ color = "#FFFFFF" // rgb: 255, 255, 255 can_synth = FALSE nutriment_factor = 0.5 * REAGENTS_METABOLISM - var/decal_path = /obj/effect/decal/cleanable/semen /datum/reagent/consumable/semen/reaction_turf(turf/T, reac_volume) if(!istype(T)) @@ -2228,7 +2227,7 @@ var/obj/effect/decal/cleanable/semen/S = locate() in T if(!S) - S = new decal_path(T) + S = new(T) if(data["blood_DNA"]) S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"])) @@ -2252,20 +2251,51 @@ blood_DNA |= S.blood_DNA return ..() -/datum/reagent/consumable/semen/femcum +/datum/reagent/consumable/femcum name = "Female Ejaculate" description = "Vaginal lubricant found in most mammals and other animals of similar nature. Where you found this is your own business." taste_description = "something with a tang" // wew coders who haven't eaten out a girl. + taste_mult = 2 + data = list("donor"=null,"viruses"=null,"donor_DNA"=null,"blood_type"=null,"resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null) + reagent_state = LIQUID color = "#AAAAAA77" - decal_path = /obj/effect/decal/cleanable/semen/femcum + can_synth = FALSE + nutriment_factor = 0.5 * REAGENTS_METABOLISM -/obj/effect/decal/cleanable/semen/femcum +/obj/effect/decal/cleanable/femcum name = "female ejaculate" + desc = null + gender = PLURAL + density = 0 + layer = ABOVE_NORMAL_TURF_LAYER + icon = 'icons/obj/genitals/effects.dmi' icon_state = "fem1" random_icon_states = list("fem1", "fem2", "fem3", "fem4") blood_state = null bloodiness = null +/obj/effect/decal/cleanable/femcum/Initialize(mapload) + . = ..() + dir = GLOB.cardinals + add_blood_DNA(list("Non-human DNA" = "A+")) + +/obj/effect/decal/cleanable/femcum/replace_decal(obj/effect/decal/cleanable/femcum/F) + if(F.blood_DNA) + blood_DNA |= F.blood_DNA + return ..() + +/datum/reagent/consumable/femcum/reaction_turf(turf/T, reac_volume) + if(!istype(T)) + return + if(reac_volume < 10) + return + + var/obj/effect/decal/cleanable/femcum/S = locate() in T + if(!S) + S = new(T) + if(data["blood_DNA"]) + S.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"])) + /datum/reagent/determination name = "Determination" description = "For when you need to push on a little more. Do NOT allow near plants."