From 3916ea03deea1a5559a18574bba1ad659f7b3249 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Mon, 11 Apr 2022 03:40:05 +0200 Subject: [PATCH] [MIRROR] Kapulimbs [MDB IGNORE] (#12497) * Kapulimbs * conflicts * part one of fixes * more fex * ugh * more fix * eee * e * more fix * Well it compiles, but we need to get digi legs working * more fixes * https://github.com/tgstation/tgstation/pull/65887 * https://github.com/tgstation/tgstation/pull/65904 * https://github.com/tgstation/tgstation/pull/65923 * more fix * now uses dna specific icon overrides. * species code no longer dictates what icon the limbs use * digitigrade legs implemenation * more fixes, species indexing, species bodyparts * remaining mutant bois * 0 * okay this work! * IPC stuffs * inv file uses * optimisation and limb string rendering digitigrade stuff * wew * partial vox support * bodymarkings are now stored on the bodypart * limb key caching * Update carbon_update_icons.dm * Update carbon_update_icons.dm * Moves our mutant variance to the new system and makes shoes squash. * all legs do it * https://github.com/tgstation/tgstation/pull/65918 * https://github.com/tgstation/tgstation/pull/65899 * https://github.com/tgstation/tgstation/pull/65990 * teshari bodytype * them teshari's aren't humans * bandaid for future proper teshari implementation * Update vox_bodyparts.dm * fixes chests and teshari implementation * fixes * fex * Update mutant_zombie_bodyparts.dm * oops * Update synthetic_lizard_bodyparts.dm * Update code/modules/mob/living/carbon/human/human_update_icons.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/human_update_icons.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/human_update_icons.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update code/modules/mob/living/carbon/human/species.dm Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> * Update scissors.dm * wound stuff * Update carbon_examine.dm * more stuff * Delete human_update_icons.dm * begone thot * https://github.com/tgstation/tgstation/pull/66065 * Update _external_organs.dm Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com> Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com> Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com> --- code/__DEFINES/DNA.dm | 82 +- code/__DEFINES/bodyparts.dm | 2 + code/__DEFINES/inventory.dm | 26 +- code/__DEFINES/mobs.dm | 65 +- code/__DEFINES/species_clothing_paths.dm | 15 + .../~skyrat_defines/_HELPERS/lighting.dm | 7 + code/__DEFINES/~skyrat_defines/inventory.dm | 3 - .../~skyrat_defines/reskin_defines.dm | 2 +- .../~skyrat_defines/species_clothing_paths.dm | 8 + code/__HELPERS/bodyparts.dm | 1 + code/__HELPERS/icons.dm | 23 + code/__HELPERS/lighting.dm | 8 - code/__HELPERS/type2type.dm | 8 +- code/__HELPERS/type_processing.dm | 1 + code/_globalvars/bitfields.dm | 15 + code/_globalvars/phobias.dm | 1 - code/datums/brain_damage/phobia.dm | 4 +- code/datums/components/bloodysoles.dm | 12 +- code/datums/components/caltrop.dm | 2 +- code/datums/components/creamed.dm | 4 +- code/datums/components/surgery_initiator.dm | 6 +- code/datums/components/unbreakable.dm | 2 +- code/datums/diseases/advance/symptoms/fire.dm | 8 +- .../diseases/advance/symptoms/flesh_eating.dm | 4 +- code/datums/diseases/advance/symptoms/heal.dm | 22 +- .../diseases/advance/symptoms/itching.dm | 2 +- code/datums/dna.dm | 12 +- code/datums/elements/soft_landing.dm | 25 + code/datums/mutations/body.dm | 2 +- code/datums/wounds/_wounds.dm | 2 +- code/datums/wounds/bones.dm | 80 +- code/datums/wounds/scars/_scars.dm | 2 +- code/game/atoms.dm | 4 + code/game/machinery/computer/arcade/arcade.dm | 17 +- code/game/machinery/limbgrower.dm | 40 +- code/game/objects/effects/contraband.dm | 30 +- code/game/objects/items.dm | 6 +- code/game/objects/items/cards_ids.dm | 29 +- code/game/objects/items/crayons.dm | 2 +- .../items/devices/scanners/health_analyzer.dm | 2 +- code/game/objects/items/food/misc.dm | 11 +- code/game/objects/items/food/moth.dm | 37 +- code/game/objects/items/hand_items.dm | 2 +- code/game/objects/items/robot/robot_parts.dm | 12 +- code/game/objects/items/stacks/medical.dm | 9 +- code/game/objects/items/storage/book.dm | 9 +- code/game/objects/items/tools/weldingtool.dm | 2 +- .../objects/structures/beds_chairs/bed.dm | 4 + .../objects/structures/beds_chairs/sofa.dm | 3 +- code/game/objects/structures/mirror.dm | 6 +- code/modules/admin/create_mob.dm | 7 +- .../abductor/equipment/glands/heal.dm | 6 +- .../antagonists/changeling/changeling.dm | 6 +- .../changeling/powers/fakedeath.dm | 2 +- .../changeling/powers/regenerate.dm | 2 +- .../antagonists/fugitive/fugitive_outfits.dm | 12 - .../heretic/structures/mawed_crucible.dm | 2 +- .../nightmare/nightmare_species.dm | 2 +- .../revenant/revenant_abilities.dm | 2 +- .../antagonists/revenant/revenant_blight.dm | 4 +- code/modules/antagonists/thief/thief.dm | 2 +- .../awaymissions/mission_code/snowdin.dm | 6 +- code/modules/capture_the_flag/ctf_game.dm | 3 +- code/modules/client/preferences.dm | 6 +- code/modules/client/preferences/body_type.dm | 7 +- code/modules/client/preferences/species.dm | 2 +- .../preferences/species_features/basic.dm | 10 +- .../preferences/species_features/ethereal.dm | 8 +- .../preferences/species_features/lizard.dm | 57 +- .../preferences/species_features/moth.dm | 32 +- .../preferences/species_features/pod.dm | 3 +- code/modules/clothing/clothing.dm | 6 +- code/modules/clothing/head/hat.dm | 2 +- code/modules/clothing/masks/bandana.dm | 4 +- code/modules/clothing/suits/armor.dm | 4 +- code/modules/clothing/suits/costume.dm | 13 +- code/modules/clothing/suits/moth.dm | 1 + code/modules/clothing/under/_under.dm | 7 +- code/modules/clothing/under/color.dm | 3 +- code/modules/clothing/under/costume.dm | 2 + code/modules/clothing/under/jobs/cargo.dm | 6 +- code/modules/clothing/under/jobs/centcom.dm | 2 + .../clothing/under/jobs/civilian/civilian.dm | 13 + .../under/jobs/civilian/clown_mime.dm | 1 + .../clothing/under/jobs/civilian/curator.dm | 1 + code/modules/clothing/under/jobs/command.dm | 1 + .../clothing/under/jobs/engineering.dm | 3 + code/modules/clothing/under/jobs/medical.dm | 6 + code/modules/clothing/under/jobs/rnd.dm | 6 + code/modules/clothing/under/jobs/security.dm | 7 + code/modules/clothing/under/shorts.dm | 2 +- code/modules/clothing/under/skirt_dress.dm | 1 + code/modules/clothing/under/suits.dm | 3 + code/modules/clothing/under/syndicate.dm | 2 + code/modules/games/wizoff.dm | 21 +- code/modules/jobs/job_types/_job.dm | 2 +- .../living/carbon/alien/special/facehugger.dm | 2 +- code/modules/mob/living/carbon/carbon.dm | 60 +- .../mob/living/carbon/carbon_defense.dm | 6 +- .../mob/living/carbon/carbon_defines.dm | 3 +- .../mob/living/carbon/carbon_update_icons.dm | 165 +- .../modules/mob/living/carbon/damage_procs.dm | 8 +- code/modules/mob/living/carbon/examine.dm | 20 +- code/modules/mob/living/carbon/human/dummy.dm | 2 +- .../mob/living/carbon/human/examine.dm | 12 +- code/modules/mob/living/carbon/human/human.dm | 13 +- .../mob/living/carbon/human/human_defense.dm | 6 +- .../mob/living/carbon/human/human_defines.dm | 2 +- .../living/carbon/human/human_update_icons.dm | 799 ++-- .../mob/living/carbon/human/inventory.dm | 6 +- .../mob/living/carbon/human/species.dm | 304 +- .../carbon/human/species_types/abductors.dm | 9 + .../carbon/human/species_types/android.dm | 41 +- .../carbon/human/species_types/dullahan.dm | 3 +- .../carbon/human/species_types/ethereal.dm | 23 +- .../carbon/human/species_types/felinid.dm | 2 +- .../carbon/human/species_types/flypeople.dm | 11 +- .../carbon/human/species_types/golems.dm | 91 +- .../carbon/human/species_types/humans.dm | 2 +- .../carbon/human/species_types/jellypeople.dm | 43 +- .../human/species_types/lizardpeople.dm | 21 +- .../carbon/human/species_types/monkeys.dm | 8 +- .../carbon/human/species_types/mothmen.dm | 11 +- .../carbon/human/species_types/mushpeople.dm | 9 + .../carbon/human/species_types/plasmamen.dm | 13 +- .../carbon/human/species_types/podpeople.dm | 13 +- .../human/species_types/shadowpeople.dm | 13 +- .../carbon/human/species_types/skeletons.dm | 9 + .../carbon/human/species_types/snail.dm | 9 + .../carbon/human/species_types/synths.dm | 142 - .../carbon/human/species_types/vampire.dm | 4 +- .../carbon/human/species_types/zombies.dm | 54 +- code/modules/mob/living/carbon/inventory.dm | 33 + code/modules/mob/living/carbon/life.dm | 12 +- code/modules/mob/living/living.dm | 4 +- .../mob/living/simple_animal/slime/slime.dm | 1 + code/modules/mob/mob_helpers.dm | 4 +- .../mob_spawn/corpses/mining_corpses.dm | 2 +- .../energy_net_nets.dm | 8 +- .../suit/ninja_equipment_actions/ninja_net.dm | 2 +- code/modules/ninja/suit/suit.dm | 2 +- code/modules/power/cable.dm | 2 +- .../chemistry/reagents/drug_reagents.dm | 4 +- .../chemistry/reagents/medicine_reagents.dm | 12 +- .../chemistry/reagents/toxin_reagents.dm | 2 +- .../reagents/reagent_containers/patch.dm | 2 +- code/modules/religion/religion_sects.dm | 19 +- .../research/designs/limbgrower_designs.dm | 50 +- .../modules/spells/spell_types/shadow_walk.dm | 2 +- code/modules/surgery/bodyparts/_bodyparts.dm | 658 ++- .../surgery/bodyparts/dismemberment.dm | 91 +- code/modules/surgery/bodyparts/head.dm | 255 +- code/modules/surgery/bodyparts/helpers.dm | 87 +- code/modules/surgery/bodyparts/parts.dm | 44 +- .../surgery/bodyparts/robot_bodyparts.dm | 58 +- .../species_parts/ethereal_bodyparts.dm | 31 + .../species_parts/lizard_bodyparts.dm | 80 + .../bodyparts/species_parts/misc_bodyparts.dm | 422 ++ .../bodyparts/species_parts/moth_bodyparts.dm | 45 + .../species_parts/plasmaman_bodyparts.dm | 43 + code/modules/surgery/bodyparts/wounds.dm | 209 + code/modules/surgery/healing.dm | 1 - code/modules/surgery/implant_removal.dm | 2 +- code/modules/surgery/limb_augmentation.dm | 9 +- code/modules/surgery/organ_manipulation.dm | 2 +- .../organs/external/_external_organs.dm | 17 +- code/modules/surgery/organs/heart.dm | 2 +- .../modules/surgery/prosthetic_replacement.dm | 7 +- code/modules/surgery/surgery.dm | 2 +- code/modules/unit_tests/create_and_destroy.dm | 2 + code/modules/vending/_vending.dm | 2 +- code/modules/zombie/organs.dm | 35 +- html/changelogs/archive/2021-12.yml | 2 +- icons/mob/augmentation/augments.dmi | Bin 2145 -> 2149 bytes icons/mob/augmentation/augments_engineer.dmi | Bin 1818 -> 1825 bytes icons/mob/augmentation/augments_mining.dmi | Bin 1851 -> 2006 bytes icons/mob/augmentation/augments_security.dmi | Bin 1780 -> 1787 bytes icons/mob/augmentation/surplus_augments.dmi | Bin 1155 -> 1162 bytes icons/mob/clothing/under/cargo.dmi | Bin 4870 -> 4698 bytes icons/mob/clothing/under/shorts_pants.dmi | Bin 5118 -> 4322 bytes icons/mob/human_parts.dmi | Bin 61173 -> 53110 bytes icons/mob/human_parts_greyscale.dmi | Bin 50154 -> 37088 bytes icons/mob/species/ethereal/bodyparts.dmi | Bin 0 -> 6033 bytes icons/mob/species/lizard/bodyparts.dmi | Bin 0 -> 1378 bytes icons/mob/species/misc/digitigrade.dmi | Bin 0 -> 1971 bytes icons/mob/species/moth/bodyparts.dmi | Bin 0 -> 1307 bytes icons/mob/species/plasmaman/bodyparts.dmi | Bin 0 -> 2890 bytes .../code/game/objects/items/hhmirror.dm | 2 +- .../modules/client/preferences/body_type.dm | 14 - .../client/preferences/mutant_parts.dm | 51 +- .../species_features/digitigrade_legs.dm | 17 + .../code/modules/clothing/anthro_clothes.dm | 8 +- .../code/modules/clothing/chameleon.dm | 2 +- .../modules/clothing/non_anthro_clothes.dm | 301 +- .../code/modules/mod/mod_clothes.dm | 8 +- .../code/modules/mod/modules/_module.dm | 16 +- .../code/modules/mod/modules/modules_antag.dm | 2 +- .../species_parts/_mutant_bodyparts.dm | 89 + .../species_parts/akula_bodyparts.dm | 35 + .../species_parts/ghoul_bodyparts.dm | 72 + .../species_parts/insect_bodyparts.dm | 25 + .../robotic/_mutant_robotic_bodyparts.dm | 61 + .../species_parts/robotic/ipc_bodyparts.dm | 32 + .../robotic/synthetic_human_bodyparts.dm | 24 + .../robotic/synthetic_lizard_bodyparts.dm | 38 + .../species_parts/skrell_bodyparts.dm | 24 + .../species_parts/teshari_bodyparts.dm | 42 + .../bodyparts/species_parts/vox_bodyparts.dm | 38 + .../species_parts/xenohybrid_bodyparts.dm | 35 + .../icons/mob/clothing/species/vox/ears.dmi | Bin 1889 -> 1936 bytes .../icons/mob/clothing/uniform_digi.dmi | Bin 809693 -> 798554 bytes .../mob/species/akula_parts_greyscale.dmi | Bin 3494 -> 4309 bytes .../mob/species/insect_parts_greyscale.dmi | Bin 1718 -> 1756 bytes .../mob/species/mammal_parts_greyscale.dmi | Bin 1760 -> 2011 bytes .../mob/species/synthliz_parts_greyscale.dmi | Bin 1809 -> 1993 bytes .../species/synthmammal_parts_greyscale.dmi | Bin 1762 -> 2012 bytes .../mob/species/teshari_parts_greyscale.dmi | Bin 3298 -> 3536 bytes .../icons/mob/species/vox_parts_greyscale.dmi | Bin 1997 -> 2359 bytes .../mob/species/xeno_parts_greyscale.dmi | Bin 1549 -> 1772 bytes .../modules/aesthetics/clothing/clothing.dm | 2 +- .../ashwalkers/code/clothing/ash_armour.dm | 4 +- .../modules/ashwalkers/code/clothing/head.dm | 2 +- .../modules/ashwalkers/code/clothing/misc.dm | 4 +- .../modules/ashwalkers/code/clothing/neck.dm | 2 +- .../modules/ashwalkers/code/clothing/shoes.dm | 10 +- .../modules/ashwalkers/code/clothing/under.dm | 2 +- .../modules/brigoff/code/brigoff_clothes.dm | 4 +- modular_skyrat/modules/brigoff/code/jobs.dm | 2 +- .../modules/client/augment/limbs.dm | 1 - .../modules/client/preferences.dm | 3570 ----------------- .../modules/client/preferences_savefile.dm | 831 ---- .../modules/clothing/clothing.dm | 127 +- .../modules/clothing/head/head.dm | 46 +- .../modules/clothing/neck/cloaks.dm | 4 +- .../modules/clothing/suits/armor.dm | 4 +- .../modules/clothing/suits/coats.dm | 28 +- .../modules/clothing/suits/hoodies.dm | 2 +- .../modules/clothing/suits/misc.dm | 52 +- .../modules/clothing/suits/trek.dm | 2 +- .../modules/clothing/under/costumes.dm | 6 +- .../modules/clothing/under/misc.dm | 22 +- .../modules/clothing/under/security.dm | 20 +- .../modules/clothing/under/suits.dm | 2 +- .../clothing/under/utility_port/other_port.dm | 10 +- .../clothing/under/utility_port/suits_port.dm | 10 +- .../clothing/~donator/donator_clothing.dm | 72 +- .../new_player/sprite_accessories/frills.dm | 2 +- .../mob/living/carbon/carbon_update_icons.dm | 77 +- .../mob/living/carbon/human/human_defense.dm | 2 +- .../living/carbon/human/human_update_icons.dm | 403 -- .../mob/living/carbon/human/species.dm | 58 +- .../mob/living/carbon/human/species/akula.dm | 10 +- .../living/carbon/human/species/aquatic.dm | 12 +- .../mob/living/carbon/human/species/dwarf.dm | 2 +- .../mob/living/carbon/human/species/ghoul.dm | 98 +- .../living/carbon/human/species/hemophage.dm | 4 +- .../living/carbon/human/species/humanoid.dm | 2 +- .../mob/living/carbon/human/species/insect.dm | 11 +- .../mob/living/carbon/human/species/lizard.dm | 3 +- .../mob/living/carbon/human/species/mammal.dm | 10 +- .../mob/living/carbon/human/species/moth.dm | 1 - .../living/carbon/human/species/podweak.dm | 4 +- .../living/carbon/human/species/robotic.dm | 284 -- .../carbon/human/species/robotic/_robotic.dm | 66 + .../carbon/human/species/robotic/ipc.dm | 96 + .../human/species/robotic/synthetic_human.dm | 34 + .../human/species/robotic/synthetic_lizard.dm | 38 + .../human/species/robotic/synthetic_mammal.dm | 91 + .../carbon/human/species/roundstartslime.dm | 15 +- .../mob/living/carbon/human/species/skrell.dm | 11 +- .../living/carbon/human/species/tajaran.dm | 12 +- .../mob/living/carbon/human/species/unathi.dm | 12 +- .../mob/living/carbon/human/species/vox.dm | 10 +- .../living/carbon/human/species/vulpkanin.dm | 12 +- .../mob/living/carbon/human/species/xeno.dm | 11 +- .../chemistry/reagents/medicine_reagents.dm | 2 +- .../modules/surgery/bodyparts/_bodyparts.dm | 168 - .../modules/surgery/robot_brain_surgery.dm | 2 +- .../surgery/robot_chassis_restoration.dm | 2 +- .../modules/surgery/robot_healing.dm | 4 +- .../modules/surgery/robot_restore_looks.dm | 49 - .../modules/digi_bloodsole/code/_shoes.dm | 2 +- .../code/additionalemotes/turf_emote.dm | 4 +- .../modules/emotes/code/dna_screams.dm | 4 - .../modules/emotes/code/synth_emotes.dm | 28 +- .../modules/event_vote/code/event_vote.dm | 2 +- .../modules/exp_corps/code/clothing.dm | 2 +- .../goofsec/code/sec_clothing_overrides.dm | 8 +- .../modules/hev_suit/code/hev_suit.dm | 2 +- .../modules/medical/code/carbon_examine.dm | 11 + .../medical/code/carbon_update_icons.dm | 4 +- .../modules/medical/code/wounds/bones.dm | 70 +- .../modules/medical/code/wounds/burns.dm | 42 +- .../modules/medical/code/wounds/muscle.dm | 14 +- .../modules/medical/code/wounds/pierce.dm | 14 +- .../modules/medical/code/wounds/slash.dm | 20 +- ...a_team_outfit.dm => trauma_team_outfit.dm} | 4 +- .../lewd_items/code/arousal_system.dm | 8 +- .../code/lewd_chemistry/chemistry_for_ERP.dm | 4 +- .../code/lewd_clothing/domina_cap.dm | 2 +- .../code/lewd_clothing/kinky_sleepbag.dm | 2 +- .../code/lewd_clothing/latex_catsuit.dm | 2 +- .../code/lewd_clothing/lewd_shoes.dm | 2 +- .../code/lewd_clothing/shibari_worn_legs.dm | 2 +- .../lewd_clothing/shibari_worn_uniform.dm | 2 +- .../code/lewd_clothing/stripper_outfit.dm | 2 +- .../code/technical_stuff_for_lewd.dm | 18 +- .../modules/mutants/code/mutant_species.dm | 1 - .../mutants/code/mutant_zombie_bodyparts.dm | 28 + .../nanotrasen_naval_command/code/clothing.dm | 4 +- .../modules/nanotrasen_rep/code/clothing.dm | 4 +- .../modules/novaya_ert/code/head.dm | 2 +- .../modules/novaya_ert/code/suit.dm | 4 +- .../reagent_forging/code/forge_clothing.dm | 4 +- .../modules/robohand/code/robohand.dm | 2 +- modular_skyrat/modules/salon/code/scissors.dm | 4 +- .../code/peacekeeper/armadyne_clothing.dm | 4 +- .../code/peacekeeper/peacekeeper_clothing.dm | 18 +- .../code/security_medic/secmed_clothes.dm | 10 +- .../stormtrooper/code/stormtrooper_clothes.dm | 6 +- .../modules/teshari/code/_teshari.dm | 9 +- tgstation.dme | 39 +- .../skyrat/species_features.tsx | 15 +- 323 files changed, 4790 insertions(+), 8221 deletions(-) create mode 100644 code/__DEFINES/bodyparts.dm create mode 100644 code/__DEFINES/species_clothing_paths.dm create mode 100644 code/__DEFINES/~skyrat_defines/_HELPERS/lighting.dm create mode 100644 code/__DEFINES/~skyrat_defines/species_clothing_paths.dm create mode 100644 code/__HELPERS/bodyparts.dm create mode 100644 code/datums/elements/soft_landing.dm delete mode 100644 code/modules/mob/living/carbon/human/species_types/synths.dm create mode 100644 code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm create mode 100644 code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm create mode 100644 code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm create mode 100644 code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm create mode 100644 code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm create mode 100644 code/modules/surgery/bodyparts/wounds.dm create mode 100644 icons/mob/species/ethereal/bodyparts.dmi create mode 100644 icons/mob/species/lizard/bodyparts.dmi create mode 100644 icons/mob/species/misc/digitigrade.dmi create mode 100644 icons/mob/species/moth/bodyparts.dmi create mode 100644 icons/mob/species/plasmaman/bodyparts.dmi delete mode 100644 modular_skyrat/master_files/code/modules/client/preferences/body_type.dm create mode 100644 modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/_mutant_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/akula_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/insect_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/_mutant_robotic_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/ipc_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_human_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_lizard_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/skrell_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/teshari_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm create mode 100644 modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/xenohybrid_bodyparts.dm delete mode 100644 modular_skyrat/modules/customization/modules/client/preferences.dm delete mode 100644 modular_skyrat/modules/customization/modules/client/preferences_savefile.dm delete mode 100644 modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_update_icons.dm delete mode 100644 modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic.dm create mode 100644 modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/_robotic.dm create mode 100644 modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/ipc.dm create mode 100644 modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_human.dm create mode 100644 modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_lizard.dm create mode 100644 modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_mammal.dm delete mode 100644 modular_skyrat/modules/customization/modules/surgery/bodyparts/_bodyparts.dm delete mode 100644 modular_skyrat/modules/customization/modules/surgery/robot_restore_looks.dm rename modular_skyrat/modules/modular_ert/code/trauma_team/{truama_team_outfit.dm => trauma_team_outfit.dm} (96%) create mode 100644 modular_skyrat/modules/mutants/code/mutant_zombie_bodyparts.dm diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index d820becdbc8..2b40301fbf9 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -81,30 +81,28 @@ #define NOBLOOD 6 #define NOTRANSSTING 7 #define NOZOMBIE 8 -/// Uses weird leg sprites. Optional for Lizards, required for ashwalkers. Don't give it to other races unless you make sprites for this (see human_parts_greyscale.dmi) -#define DIGITIGRADE 9 -#define NO_UNDERWEAR 10 -#define NOSTOMACH 11 -#define NO_DNA_COPY 12 -#define DRINKSBLOOD 13 +#define NO_UNDERWEAR 9 +#define NOSTOMACH 10 +#define NO_DNA_COPY 11 +#define DRINKSBLOOD 12 /// Use this if you want to change the race's color without the player being able to pick their own color. AKA special color shifting -#define DYNCOLORS 14 -#define AGENDER 15 +#define DYNCOLORS 13 +#define AGENDER 14 /// Do not draw eyes or eyeless overlay -#define NOEYESPRITES 16 +#define NOEYESPRITES 15 /// Used for determining which wounds are applicable to this species. /// if we have flesh (can suffer slash/piercing/burn wounds, requires they don't have NOBLOOD) -#define HAS_FLESH 17 +#define HAS_FLESH 16 /// if we have bones (can suffer bone wounds) -#define HAS_BONE 18 +#define HAS_BONE 17 ///If we have a limb-specific overlay sprite -#define HAS_MARKINGS 19 +#define HAS_MARKINGS 18 /// Do not draw blood overlay -#define NOBLOODOVERLAY 20 +#define NOBLOODOVERLAY 19 ///No augments, for monkeys in specific because they will turn into fucking freakazoids https://cdn.discordapp.com/attachments/326831214667235328/791313258912153640/102707682-fa7cad80-4294-11eb-8f13-8c689468aeb0.png -#define NOAUGMENTS 21 +#define NOAUGMENTS 20 ///will be assigned a universal vampire themed last name shared by their department. this is preferenced! -#define BLOOD_CLANS 22 +#define BLOOD_CLANS 21 //organ slots #define ORGAN_SLOT_ADAMANTINE_RESONATOR "adamantine_resonator" @@ -163,7 +161,7 @@ #define CHROMOSOME_NONE 1 #define CHROMOSOME_USED 2 -//used for mob's genetic gender (mainly just for pronouns, members of sexed species with plural gender refer to their body_type for the actual sprites, which is not genetic) +//used for mob's genetic gender (mainly just for pronouns, members of sexed species with plural gender refer to their physique for the actual sprites, which is not genetic) #define G_MALE 1 #define G_FEMALE 2 #define G_PLURAL 3 @@ -201,42 +199,10 @@ GLOBAL_LIST_INIT(organ_process_order, list( ORGAN_SLOT_XENO_NEUROTOXINGLAND, ORGAN_SLOT_XENO_EGGSAC,)) -//Defines for Species IDs -#define SPECIES_HUMAN "human" -#define SPECIES_FELINE "felinid" -#define SPECIES_MOTH "moth" -#define SPECIES_ETHEREAL "ethereal" -#define SPECIES_PLASMAMAN "plasmaman" -#define SPECIES_FLY "fly" -#define SPECIES_MONKEY "monkey" -#define SPECIES_JELLYPERSON "jelly" -#define SPECIES_SLIMEPERSON "slime" -#define SPECIES_LUMINESCENT "lum" -#define SPECIES_STARGAZER "stargazer" -#define SPECIES_LIZARD "lizard" -#define SPECIES_LIZARD_ASH "ashlizard" -#define SPECIES_LIZARD_SILVER "silverlizard" -#define SPECIES_DULLAHAN "dullahan" -#define SPECIES_SKELETON "skeleton" -#define SPECIES_VAMPIRE "vampire" -#define SPECIES_ZOMBIE "memezombies" -#define SPECIES_ZOMBIE_HALLOWEEN "zombie" -#define SPECIES_ADDICT "goofzombies" - -#define SPECIES_ABDUCTOR "abductor" -#define SPECIES_ANDROID "android" -#define SPECIES_MUSHROOM "mush" -#define SPECIES_PODPERSON "pod" -#define SPECIES_SHADOW "shadow" -#define SPECIES_NIGHTMARE "nightmare" -#define SPECIES_SNAIL "snail" -#define SPECIES_SYNTH "synth" -#define SPECIES_SYNTH_MILITARY "military_synth" - //Defines for Golem Species IDs -#define SPECIES_GOLEM "iron_golem" -#define SPECIES_GOLEM_ADAMANTINE "adamantine_golem" -#define SPECIES_GOLEM_PLASMA "plasma_golem" +#define SPECIES_GOLEM "golem" +#define SPECIES_GOLEM_ADAMANTINE "a_golem" +#define SPECIES_GOLEM_PLASMA "p_golem" #define SPECIES_GOLEM_DIAMOND "diamond_golem" #define SPECIES_GOLEM_GOLD "gold_golem" #define SPECIES_GOLEM_SILVER "silver_golem" @@ -249,16 +215,16 @@ GLOBAL_LIST_INIT(organ_process_order, list( #define SPECIES_GOLEM_SAND "sand_golem" #define SPECIES_GOLEM_GLASS "glass_golem" #define SPECIES_GOLEM_BLUESPACE "bluespace_golem" -#define SPECIES_GOLEM_BANANIUM "bananium_golem" -#define SPECIES_GOLEM_CULT "runic_golem" -#define SPECIES_GOLEM_CLOTH "cloth_golem" +#define SPECIES_GOLEM_BANANIUM "ba_golem" +#define SPECIES_GOLEM_CULT "cultgolem" +#define SPECIES_GOLEM_CLOTH "clothgolem" #define SPECIES_GOLEM_PLASTIC "plastic_golem" #define SPECIES_GOLEM_BRONZE "bronze_golem" -#define SPECIES_GOLEM_CARDBOARD "cardboard_golem" +#define SPECIES_GOLEM_CARDBOARD "c_golem" #define SPECIES_GOLEM_LEATHER "leather_golem" -#define SPECIES_GOLEM_DURATHREAD "durathread_golem" -#define SPECIES_GOLEM_BONE "bone_golem" -#define SPECIES_GOLEM_SNOW "snow_golem" +#define SPECIES_GOLEM_DURATHREAD "d_golem" +#define SPECIES_GOLEM_BONE "b_golem" +#define SPECIES_GOLEM_SNOW "sn_golem" #define SPECIES_GOLEM_HYDROGEN "metallic_hydrogen_golem" // Defines for used in creating "perks" for the species preference pages. diff --git a/code/__DEFINES/bodyparts.dm b/code/__DEFINES/bodyparts.dm new file mode 100644 index 00000000000..5c575184273 --- /dev/null +++ b/code/__DEFINES/bodyparts.dm @@ -0,0 +1,2 @@ +///The standard amount of bodyparts a carbon has. Currently 6, HEAD/L_ARM/R_ARM/CHEST/L_LEG/R_LEG +#define BODYPARTS_DEFAULT_MAXIMUM 6 diff --git a/code/__DEFINES/inventory.dm b/code/__DEFINES/inventory.dm index 0d81b179fee..7921d0da933 100644 --- a/code/__DEFINES/inventory.dm +++ b/code/__DEFINES/inventory.dm @@ -148,13 +148,25 @@ #define ALT_STYLE 1 #define DIGITIGRADE_STYLE 2 -//flags for outfits that have mutantrace variants (try not to use this): Currently only needed if you're trying to add tight fitting bootyshorts -#define NO_MUTANTRACE_VARIATION 0 -#define MUTANTRACE_VARIATION 1 - -#define NOT_DIGITIGRADE 0 -#define FULL_DIGITIGRADE 1 -#define SQUISHED_DIGITIGRADE 2 +//Flags (actual flags, fucker ^) for /obj/item/var/supports_variations_flags +///No alternative sprites based on bodytype +#define CLOTHING_NO_VARIATION (1<<0) +///Has a sprite for digitigrade legs specifically. +#define CLOTHING_DIGITIGRADE_VARIATION (1<<1) +///The sprite works fine for digitigrade legs as-is. +#define CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON (1<<2) +// SKYRAT EDIT ADDITION +/// The sprite works fine for snouts. +#define CLOTHING_SNOUTED_VARIATION (1<<3) +/// The sprite works fine for snouts as-is. +#define CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON (1<<4) +/// The sprite works fine for vox snouts. +#define CLOTHING_SNOUTED_VOX_VARIATION (1<<5) +/// The sprite works fine for vox snouts as is. +#define CLOTHING_SNOUTED_VOX_VARIATION_NO_NEW_ICON (1<<6) +/// The sprite works fine for vox snouts. +#define CLOTHING_VOX_HAND_VARIATION (1<<7) +// SKYRAT EDIT END //flags for covering body parts #define GLASSESCOVERSEYES (1<<0) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 43ceef46f0a..ab4e0830ca5 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -49,13 +49,11 @@ #define MOB_SPIRIT (1 << 9) #define MOB_PLANT (1 << 10) + //Organ defines for carbon mobs #define ORGAN_ORGANIC 1 #define ORGAN_ROBOTIC 2 -#define BODYPART_ORGANIC 1 -#define BODYPART_ROBOTIC 2 - #define DEFAULT_BODYPART_ICON_ORGANIC 'icons/mob/human_parts_greyscale.dmi' #define DEFAULT_BODYPART_ICON_ROBOTIC 'icons/mob/augmentation/augments.dmi' @@ -63,7 +61,68 @@ #define ALIEN_BODYPART "alien" #define LARVA_BODYPART "larva" +//Bodypart change blocking flags +///Bodypart does not get replaced during set_species() +#define BP_BLOCK_CHANGE_SPECIES (1<<0) +//Bodytype defines for how things can be worn, surgery, and other misc things. +///The limb is organic +#define BODYTYPE_ORGANIC (1<<0) +///The limb is robotic +#define BODYTYPE_ROBOTIC (1<<1) +///The limb fits the human mold +#define BODYTYPE_HUMANOID (1<<2) +///The limb is digitigrade +#define BODYTYPE_DIGITIGRADE (1<<3) //Cancer +///The limb fits the monkey mold +#define BODYTYPE_MONKEY (1<<4) +///The limb is snouted +#define BODYTYPE_SNOUTED (1<<5) +// SKYRAT EDIT ADDITION +///The limb fits the vox shape +#define BODYTYPE_VOX (1<<6) +///The limb fits the teshari shape +#define BODYTYPE_TESHARI (1<<7) +// SKYRAT EDIT END + +//Defines for Species IDs +#define SPECIES_ABDUCTOR "abductor" +#define SPECIES_ANDROID "android" +#define SPECIES_DULLAHAN "dullahan" +#define SPECIES_ETHEREAL "ethereal" +#define SPECIES_FELINE "felinid" +#define SPECIES_FLYPERSON "fly" +#define SPECIES_HUMAN "human" +#define SPECIES_JELLYPERSON "jelly" +#define SPECIES_SLIMEPERSON "slime" +#define SPECIES_LUMINESCENT "luminescent" +#define SPECIES_STARGAZER "stargazer" +#define SPECIES_LIZARD "lizard" +#define SPECIES_LIZARD_ASH "ashwalker" +#define SPECIES_LIZARD_SILVER "silverscale" +#define SPECIES_NIGHTMARE "nightmare" +#define SPECIES_MONKEY "monkey" +#define SPECIES_MOTH "moth" +#define SPECIES_MUSHROOM "mush" +#define SPECIES_PLASMAMAN "plasmaman" +#define SPECIES_PODPERSON "pod" +#define SPECIES_SHADOW "shadow" +#define SPECIES_SKELETON "skeleton" +#define SPECIES_SNAIL "snail" +#define SPECIES_VAMPIRE "vampire" +#define SPECIES_ZOMBIE "zombie" +#define SPECIES_ZOMBIE_INFECTIOUS "memezombie" +#define SPECIES_ZOMBIE_KROKODIL "krokodil_zombie" + +//See: datum/species/var/digitigrade_customization +///The species does not have digitigrade legs in generation. +#define DIGITIGRADE_NEVER 0 +///The species can have digitigrade legs in generation +#define DIGITIGRADE_OPTIONAL 1 +///The species is forced to have digitigrade legs in generation. +#define DIGITIGRADE_FORCED 2 + +//TODO: Remove entirely in favor of the BODYTYPE system ///Body type bitfields for allowed_animal_origin used to check compatible surgery body types (use NONE for no matching body type) #define HUMAN_BODY (1 << 0) #define MONKEY_BODY (1 << 1) diff --git a/code/__DEFINES/species_clothing_paths.dm b/code/__DEFINES/species_clothing_paths.dm new file mode 100644 index 00000000000..a215b37aaab --- /dev/null +++ b/code/__DEFINES/species_clothing_paths.dm @@ -0,0 +1,15 @@ +//HUMAN PATHS +///The dmi for humanoid uniforms +#define DEFAULT_UNIFORM_FILE 'icons/mob/clothing/under/default.dmi' +///The dmi for humanoid shoes +#define DEFAULT_SHOES_FILE 'icons/mob/clothing/feet.dmi' +///The dmi for humanoid oversuits +#define DEFAULT_SUIT_FILE 'icons/mob/clothing/suit.dmi' + +//DIGITIGRADE PATHS +///The dmi containing digitigrade uniforms +#define DIGITIGRADE_UNIFORM_FILE 'modular_skyrat/master_files/icons/mob/clothing/uniform_digi.dmi' // SKYRAT EDIT CHANGE +///The dmi containing digitigrade shoes +#define DIGITIGRADE_SHOES_FILE 'modular_skyrat/master_files/icons/mob/clothing/feet_digi.dmi' // SKYRAT EDIT CHANGE +///The dmi containing digitigrade oversuits +#define DIGITIGRADE_SUIT_FILE 'modular_skyrat/master_files/icons/mob/clothing/suit_digi.dmi' // SKYRAT EDIT CHANGE diff --git a/code/__DEFINES/~skyrat_defines/_HELPERS/lighting.dm b/code/__DEFINES/~skyrat_defines/_HELPERS/lighting.dm new file mode 100644 index 00000000000..7c5b94ff629 --- /dev/null +++ b/code/__DEFINES/~skyrat_defines/_HELPERS/lighting.dm @@ -0,0 +1,7 @@ +/// Creates a mutable appearance glued to the EMISSIVE_PLAN, using the values from a mutable appearance +/proc/emissive_appearance_copy(mutable_appearance/to_use, appearance_flags = (RESET_COLOR|KEEP_APART)) + var/mutable_appearance/appearance = mutable_appearance(to_use.icon, to_use.icon_state, to_use.layer, EMISSIVE_PLANE, to_use.alpha, to_use.appearance_flags | appearance_flags) + appearance.color = GLOB.emissive_color + appearance.pixel_x = to_use.pixel_x + appearance.pixel_y = to_use.pixel_y + return appearance diff --git a/code/__DEFINES/~skyrat_defines/inventory.dm b/code/__DEFINES/~skyrat_defines/inventory.dm index 5fa7a77dbcf..9ae86967643 100644 --- a/code/__DEFINES/~skyrat_defines/inventory.dm +++ b/code/__DEFINES/~skyrat_defines/inventory.dm @@ -1,9 +1,6 @@ //flags for outfits that have mutant variants: Most of these require additional sprites to work. -#define STYLE_DIGITIGRADE (1<<0) //jumpsuits, suits and shoes -#define STYLE_MUZZLE (1<<1) //hats or masks #define STYLE_TAUR_SNAKE (1<<2) //taur-friendly suits #define STYLE_TAUR_PAW (1<<3) #define STYLE_TAUR_HOOF (1<<4) #define STYLE_TAUR_ALL (STYLE_TAUR_SNAKE|STYLE_TAUR_PAW|STYLE_TAUR_HOOF) -#define STYLE_VOX (1<<5) //For glasses, masks and head pieces for the Vox race #define STYLE_TESHARI (1<<6) //teshari clothes and shit diff --git a/code/__DEFINES/~skyrat_defines/reskin_defines.dm b/code/__DEFINES/~skyrat_defines/reskin_defines.dm index c43e44a86d5..6d4eac86f44 100644 --- a/code/__DEFINES/~skyrat_defines/reskin_defines.dm +++ b/code/__DEFINES/~skyrat_defines/reskin_defines.dm @@ -2,4 +2,4 @@ #define RESKIN_ICON_STATE "reskin_icon_state" #define RESKIN_WORN_ICON "reskin_worn_icon" #define RESKIN_WORN_ICON_STATE "reskin_worn_icon_state" -#define RESKIN_MUTANT_VARIANTS "reskin_mutant_variants" +#define RESKIN_supports_variations_flags "reskin_supports_variations_flags" diff --git a/code/__DEFINES/~skyrat_defines/species_clothing_paths.dm b/code/__DEFINES/~skyrat_defines/species_clothing_paths.dm new file mode 100644 index 00000000000..4152d9db82c --- /dev/null +++ b/code/__DEFINES/~skyrat_defines/species_clothing_paths.dm @@ -0,0 +1,8 @@ +///The dmi containing snouted masks +#define SNOUTED_MASK_FILE 'modular_skyrat/master_files/icons/mob/clothing/mask_muzzled.dmi' +///The dmi containing snouted hats +#define SNOUTED_HEAD_FILE 'modular_skyrat/master_files/icons/mob/clothing/head_muzzled.dmi' + +// Vox stuff +///The dmi containing vox glasses +#define VOX_GLASSES_FILE 'modular_skyrat/master_files/icons/mob/clothing/species/vox/eyes.dmi' diff --git a/code/__HELPERS/bodyparts.dm b/code/__HELPERS/bodyparts.dm new file mode 100644 index 00000000000..39df8e37e5f --- /dev/null +++ b/code/__HELPERS/bodyparts.dm @@ -0,0 +1 @@ +#define IS_ORGANIC_LIMB(limb) (limb.bodytype & BODYTYPE_ORGANIC) diff --git a/code/__HELPERS/icons.dm b/code/__HELPERS/icons.dm index ba710bd7d40..8a8146a6484 100644 --- a/code/__HELPERS/icons.dm +++ b/code/__HELPERS/icons.dm @@ -1276,3 +1276,26 @@ GLOBAL_LIST_EMPTY(transformation_animation_objects) animate(src, pixel_x = pixel_x + shiftx, pixel_y = pixel_y + shifty, time = 0.2, loop = duration) pixel_x = initialpixelx pixel_y = initialpixely + +///Checks if the given iconstate exists in the given file, caching the result. Setting scream to TRUE will print a stack trace ONCE. +/proc/icon_exists(file, state, scream) + var/static/list/icon_states_cache = list() + if(icon_states_cache[file]?[state]) + return TRUE + + if(icon_states_cache[file]?[state] == FALSE) + return FALSE + + var/list/states = icon_states(file) + + if(!icon_states_cache[file]) + icon_states_cache[file] = list() + + if(state in states) + icon_states_cache[file][state] = TRUE + return TRUE + else + icon_states_cache[file][state] = FALSE + if(scream) + stack_trace("Icon Lookup for state: [state] in file [file] failed.") + return FALSE diff --git a/code/__HELPERS/lighting.dm b/code/__HELPERS/lighting.dm index d4f8b98b9f6..8c468f5357a 100644 --- a/code/__HELPERS/lighting.dm +++ b/code/__HELPERS/lighting.dm @@ -10,11 +10,3 @@ appearance.color = GLOB.em_block_color return appearance -//SKYRAT EDIT ADDITION -/// Creates a mutable appearance glued to the EMISSIVE_PLAN, using the values from a mutable appearance -/proc/emissive_appearance_copy(mutable_appearance/to_use, appearance_flags = (RESET_COLOR|KEEP_APART)) - var/mutable_appearance/appearance = mutable_appearance(to_use.icon, to_use.icon_state, to_use.layer, EMISSIVE_PLANE, to_use.alpha, to_use.appearance_flags | appearance_flags) - appearance.color = GLOB.emissive_color - appearance.pixel_x = to_use.pixel_x - appearance.pixel_y = to_use.pixel_y - return appearance diff --git a/code/__HELPERS/type2type.dm b/code/__HELPERS/type2type.dm index cb53a39aaab..dba1db8c4bd 100644 --- a/code/__HELPERS/type2type.dm +++ b/code/__HELPERS/type2type.dm @@ -153,7 +153,7 @@ GLOBAL_LIST_INIT(modulo_angle_to_dir, list(NORTH,NORTHEAST,EAST,SOUTHEAST,SOUTH, return . /// For finding out what body parts a body zone covers, the inverse of the below basically -/proc/zone2body_parts_covered(def_zone) +/proc/body_zone2cover_flags(def_zone) switch(def_zone) if(BODY_ZONE_CHEST) return list(CHEST, GROIN) @@ -169,14 +169,14 @@ GLOBAL_LIST_INIT(modulo_angle_to_dir, list(NORTH,NORTHEAST,EAST,SOUTHEAST,SOUTH, return list(LEG_RIGHT, FOOT_RIGHT) //Turns a Body_parts_covered bitfield into a list of organ/limb names. -//(I challenge you to find a use for this) -I found a use for it!! -/proc/body_parts_covered2organ_names(bpc) +//(I challenge you to find a use for this) -I found a use for it!! | So did I!. +/proc/cover_flags2body_zones(bpc) var/list/covered_parts = list() if(!bpc) return 0 - if(bpc & FULL_BODY) + if(bpc == FULL_BODY) covered_parts |= list(BODY_ZONE_L_ARM,BODY_ZONE_R_ARM,BODY_ZONE_HEAD,BODY_ZONE_CHEST,BODY_ZONE_L_LEG,BODY_ZONE_R_LEG) else diff --git a/code/__HELPERS/type_processing.dm b/code/__HELPERS/type_processing.dm index 4df4cece096..98aed39eba1 100644 --- a/code/__HELPERS/type_processing.dm +++ b/code/__HELPERS/type_processing.dm @@ -6,6 +6,7 @@ var/typename = "[type]" var/static/list/TYPES_SHORTCUTS = list( /obj/effect/decal/cleanable = "CLEANABLE", + /obj/item/bodypart = "BODYPART", /obj/item/radio/headset = "HEADSET", /obj/item/clothing/head/helmet/space = "SPESSHELMET", /obj/item/book/manual = "MANUAL", diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index cdd1cc60bcd..0be6e0c82ff 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -355,3 +355,18 @@ DEFINE_BITFIELD(reaction_flags, list( "REACTION_PH_VOL_CONSTANT" = REACTION_PH_VOL_CONSTANT, "REACTION_REAL_TIME_SPLIT" = REACTION_REAL_TIME_SPLIT, )) + +DEFINE_BITFIELD(bodytype, list( + "BODYTYPE_DIGITIGRADE" = BODYTYPE_DIGITIGRADE, + "BODYTYPE_HUMANOID" = BODYTYPE_HUMANOID, + "BODYTYPE_MONKEY" = BODYTYPE_MONKEY, + "BODYTYPE_ORGANIC" = BODYTYPE_ORGANIC, + "BODYTYPE_ROBOTIC" = BODYTYPE_ROBOTIC, + "BODYTYPE_SNOUTED" = BODYTYPE_SNOUTED, +)) + +DEFINE_BITFIELD(supports_variations_flags, list( + "CLOTHING_NO_VARIATION" = CLOTHING_NO_VARIATION, + "CLOTHING_DIGITIGRADE_VARIATION" = CLOTHING_DIGITIGRADE_VARIATION, + "CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON" = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON, +)) diff --git a/code/_globalvars/phobias.dm b/code/_globalvars/phobias.dm index 1394b074d33..64afd556a2a 100644 --- a/code/_globalvars/phobias.dm +++ b/code/_globalvars/phobias.dm @@ -493,7 +493,6 @@ GLOBAL_LIST_INIT(phobia_species, list( "conspiracies" = typecacheof(list( /datum/species/abductor, /datum/species/lizard, - /datum/species/synth, )), "insects" = typecacheof(list( /datum/species/fly, diff --git a/code/datums/brain_damage/phobia.dm b/code/datums/brain_damage/phobia.dm index 9c4b5053841..16c10c5fd3c 100644 --- a/code/datums/brain_damage/phobia.dm +++ b/code/datums/brain_damage/phobia.dm @@ -52,7 +52,7 @@ freak_out(O) return for(var/mob/living/carbon/human/HU in seen_atoms) //check equipment for trigger items - for(var/X in HU.get_all_slots() | HU.held_items) + for(var/X in HU.get_all_worn_items() | HU.held_items) var/obj/I = X if(!QDELETED(I) && (is_type_in_typecache(I, trigger_objs) || (phobia_type == "blood" && HAS_BLOOD_DNA(I)))) freak_out(I) @@ -213,7 +213,7 @@ /datum/brain_trauma/mild/phobia/guns phobia_type = "guns" random_gain = FALSE - + /datum/brain_trauma/mild/phobia/blood phobia_type = "blood" random_gain = FALSE diff --git a/code/datums/components/bloodysoles.dm b/code/datums/components/bloodysoles.dm index e6322e8c2d3..1c8969cfec1 100644 --- a/code/datums/components/bloodysoles.dm +++ b/code/datums/components/bloodysoles.dm @@ -241,7 +241,6 @@ /datum/component/bloodysoles/feet/update_icon() if(ishuman(wielder)) var/mob/living/carbon/human/human = wielder - fix_soles() //SKYRAT ADDITION - DIGI_BLOODSOLE if(NOBLOODOVERLAY in human.dna.species.species_traits) return if(bloody_shoes[BLOOD_STATE_HUMAN] > 0 && !is_obscured()) @@ -261,7 +260,7 @@ var/obj/item/bodypart/affecting = X if(affecting.body_part == LEG_RIGHT || affecting.body_part == LEG_LEFT) if(!affecting.bodypart_disabled) - FP.species_types |= affecting.species_id + FP.species_types |= affecting.limb_id break @@ -282,15 +281,6 @@ ..() -//SKYRAT EDIT ADDITION BEGIN - DIGI_BLOODSOLE -/datum/component/bloodysoles/feet/proc/fix_soles() - var/mob/living/carbon/H = parent - if (DIGITIGRADE in H.dna.species.species_traits) - if (bloody_feet.icon_state != "shoeblood_digi") - bloody_feet = mutable_appearance('modular_skyrat/modules/digi_bloodsole/icons/blood.dmi', "shoeblood_digi", SHOES_LAYER) - else if (bloody_feet.icon_state != "shoeblood") - bloody_feet = mutable_appearance('icons/effects/blood.dmi', "shoeblood", SHOES_LAYER) -//SKYRAT EDIT ADDITION END /datum/component/bloodysoles/feet/proc/unequip_shoecover(datum/source) SIGNAL_HANDLER diff --git a/code/datums/components/caltrop.dm b/code/datums/components/caltrop.dm index 8c2f617d1aa..57cab668741 100644 --- a/code/datums/components/caltrop.dm +++ b/code/datums/components/caltrop.dm @@ -89,7 +89,7 @@ if(!istype(O)) return - if(O.status == BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(O)) return if (!(flags & CALTROP_BYPASS_SHOES)) diff --git a/code/datums/components/creamed.dm b/code/datums/components/creamed.dm index f718e22351a..53c92ba2513 100644 --- a/code/datums/components/creamed.dm +++ b/code/datums/components/creamed.dm @@ -25,9 +25,9 @@ GLOBAL_LIST_INIT(creamable, typecacheof(list( if(ishuman(parent)) var/mob/living/carbon/human/H = parent - if(H.dna.species.limbs_id == SPECIES_LIZARD) + if(H.dna.species.bodytype & BODYTYPE_SNOUTED) creamface.icon_state = "creampie_lizard" - else if(H.dna.species.limbs_id == SPECIES_MONKEY) + else if(H.dna.species.bodytype & BODYTYPE_MONKEY) creamface.icon_state = "creampie_monkey" else creamface.icon_state = "creampie_human" diff --git a/code/datums/components/surgery_initiator.dm b/code/datums/components/surgery_initiator.dm index 4e41d6b2f81..4e66f8ab35c 100644 --- a/code/datums/components/surgery_initiator.dm +++ b/code/datums/components/surgery_initiator.dm @@ -89,7 +89,7 @@ if(affecting) if(!surgery.requires_bodypart) continue - if(surgery.requires_bodypart_type && affecting.status != surgery.requires_bodypart_type) + if(surgery.requires_bodypart_type && !(affecting.bodytype & surgery.requires_bodypart_type)) continue if(surgery.requires_real_bodypart && affecting.is_pseudopart) continue @@ -128,7 +128,7 @@ var/required_tool_type = TOOL_CAUTERY var/obj/item/close_tool = user.get_inactive_held_item() - var/is_robotic = the_surgery.requires_bodypart_type == BODYPART_ROBOTIC + var/is_robotic = the_surgery.requires_bodypart_type == BODYTYPE_ROBOTIC if(is_robotic) required_tool_type = TOOL_SCREWDRIVER @@ -300,7 +300,7 @@ return - if (!isnull(affecting_limb) && surgery.requires_bodypart_type && affecting_limb.status != surgery.requires_bodypart_type) + if (!isnull(affecting_limb) && surgery.requires_bodypart_type && !(affecting_limb.bodytype & surgery.requires_bodypart_type)) target.balloon_alert(user, "not the right type of limb!") return diff --git a/code/datums/components/unbreakable.dm b/code/datums/components/unbreakable.dm index 8261dd6d3cb..0d27f7bc39c 100644 --- a/code/datums/components/unbreakable.dm +++ b/code/datums/components/unbreakable.dm @@ -24,7 +24,7 @@ return COOLDOWN_START(src, surge_cooldown, 1 MINUTES) surged.balloon_alert(surged, "you refuse to give up!")//breaks balloon alert conventions by using a "!" for a fail message but that's okay because it's a pretty awesome moment - surged.heal_overall_damage(15, 15, 0, BODYPART_ORGANIC) + surged.heal_overall_damage(15, 15, 0, BODYTYPE_ORGANIC) if(surged.reagents.get_reagent_amount(/datum/reagent/medicine/ephedrine) < 20) surged.reagents.add_reagent(/datum/reagent/medicine/ephedrine, 10) if(surged.reagents.get_reagent_amount(/datum/reagent/medicine/epinephrine) < 20) diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm index 240abf84603..edb0d6e4aa4 100644 --- a/code/datums/diseases/advance/symptoms/fire.dm +++ b/code/datums/diseases/advance/symptoms/fire.dm @@ -71,14 +71,14 @@ Bonus /datum/symptom/fire/proc/Firestacks_stage_4(mob/living/M, datum/disease/advance/A) M.adjust_fire_stacks(1 * power) - M.take_overall_damage(burn = 3 * power, required_status = BODYPART_ORGANIC) + M.take_overall_damage(burn = 3 * power, required_status = BODYTYPE_ORGANIC) if(infective) A.spread(2) return 1 /datum/symptom/fire/proc/Firestacks_stage_5(mob/living/M, datum/disease/advance/A) M.adjust_fire_stacks(3 * power) - M.take_overall_damage(burn = 5 * power, required_status = BODYPART_ORGANIC) + M.take_overall_damage(burn = 5 * power, required_status = BODYTYPE_ORGANIC) if(infective) A.spread(4) return 1 @@ -164,7 +164,7 @@ Bonus /datum/symptom/alkali/proc/Alkali_fire_stage_4(mob/living/M, datum/disease/advance/A) var/get_stacks = 6 * power M.adjust_fire_stacks(get_stacks) - M.take_overall_damage(burn = get_stacks / 2, required_status = BODYPART_ORGANIC) + M.take_overall_damage(burn = get_stacks / 2, required_status = BODYTYPE_ORGANIC) if(chems) M.reagents.add_reagent(/datum/reagent/clf3, 2 * power) return 1 @@ -172,7 +172,7 @@ Bonus /datum/symptom/alkali/proc/Alkali_fire_stage_5(mob/living/M, datum/disease/advance/A) var/get_stacks = 8 * power M.adjust_fire_stacks(get_stacks) - M.take_overall_damage(burn = get_stacks, required_status = BODYPART_ORGANIC) + M.take_overall_damage(burn = get_stacks, required_status = BODYTYPE_ORGANIC) if(chems) M.reagents.add_reagent_list(list(/datum/reagent/napalm = 4 * power, /datum/reagent/clf3 = 4 * power)) return 1 diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm index 3bc4909a7af..31f602d4f39 100644 --- a/code/datums/diseases/advance/symptoms/flesh_eating.dm +++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm @@ -59,7 +59,7 @@ Bonus /datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A) var/get_damage = rand(15,25) * power - M.take_overall_damage(brute = get_damage, required_status = BODYPART_ORGANIC) + M.take_overall_damage(brute = get_damage, required_status = BODYTYPE_ORGANIC) if(pain) M.adjustStaminaLoss(get_damage * 2) if(bleed) @@ -131,7 +131,7 @@ Bonus /datum/symptom/flesh_death/proc/Flesh_death(mob/living/M, datum/disease/advance/A) var/get_damage = rand(6,10) - M.take_overall_damage(brute = get_damage, required_status = BODYPART_ORGANIC) + M.take_overall_damage(brute = get_damage, required_status = BODYTYPE_ORGANIC) if(chems) M.reagents.add_reagent_list(list(/datum/reagent/toxin/heparin = 2, /datum/reagent/toxin/lipolicide = 2)) if(zombie) diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm index e51b092d057..4b115b5fe9b 100644 --- a/code/datums/diseases/advance/symptoms/heal.dm +++ b/code/datums/diseases/advance/symptoms/heal.dm @@ -160,13 +160,13 @@ M.adjustToxLoss(-(4 * heal_amt)) //most effective on toxins - var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYPART_ORGANIC) + var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYTYPE_ORGANIC) if(!parts.len) return for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYPART_ORGANIC)) + if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYTYPE_ORGANIC)) M.update_damage_overlays() return 1 @@ -278,7 +278,7 @@ /datum/symptom/heal/darkness/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power) var/heal_amt = 2 * actual_power - var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYPART_ORGANIC) + var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYTYPE_ORGANIC) if(!parts.len) return @@ -287,7 +287,7 @@ to_chat(M, span_notice("The darkness soothes and mends your wounds.")) for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len * 0.5, null, BODYPART_ORGANIC)) //more effective on brute + if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len * 0.5, null, BODYTYPE_ORGANIC)) //more effective on brute M.update_damage_overlays() return 1 @@ -381,7 +381,7 @@ return for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYPART_ORGANIC)) + if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYTYPE_ORGANIC)) M.update_damage_overlays() if(active_coma && M.getBruteLoss() + M.getFireLoss() == 0) @@ -434,7 +434,7 @@ /datum/symptom/heal/water/Heal(mob/living/carbon/M, datum/disease/advance/A, actual_power) var/heal_amt = 2 * actual_power - var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYPART_ORGANIC) //more effective on burns + var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYTYPE_ORGANIC) //more effective on burns if(!parts.len) return @@ -443,7 +443,7 @@ to_chat(M, span_notice("You feel yourself absorbing the water around you to soothe your damaged skin.")) for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(heal_amt/parts.len * 0.5, heal_amt/parts.len, null, BODYPART_ORGANIC)) + if(L.heal_damage(heal_amt/parts.len * 0.5, heal_amt/parts.len, null, BODYTYPE_ORGANIC)) M.update_damage_overlays() return 1 @@ -514,13 +514,13 @@ M.adjustToxLoss(-heal_amt) - var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYPART_ORGANIC) + var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYTYPE_ORGANIC) if(!parts.len) return if(prob(5)) to_chat(M, span_notice("The pain from your wounds fades rapidly.")) for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYPART_ORGANIC)) + if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYTYPE_ORGANIC)) M.update_damage_overlays() return 1 @@ -564,7 +564,7 @@ M.adjustToxLoss(-(2 * heal_amt)) - var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYPART_ORGANIC) + var/list/parts = M.get_damaged_bodyparts(1,1, null, BODYTYPE_ORGANIC) if(!parts.len) return @@ -573,6 +573,6 @@ to_chat(M, span_notice("Your skin glows faintly, and you feel your wounds mending themselves.")) for(var/obj/item/bodypart/L in parts) - if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYPART_ORGANIC)) + if(L.heal_damage(heal_amt/parts.len, heal_amt/parts.len, null, BODYTYPE_ORGANIC)) M.update_damage_overlays() return 1 diff --git a/code/datums/diseases/advance/symptoms/itching.dm b/code/datums/diseases/advance/symptoms/itching.dm index 98318060f28..6d6c2b843fb 100644 --- a/code/datums/diseases/advance/symptoms/itching.dm +++ b/code/datums/diseases/advance/symptoms/itching.dm @@ -51,7 +51,7 @@ BONUS var/mob/living/carbon/M = A.affected_mob var/picked_bodypart = pick(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) var/obj/item/bodypart/bodypart = M.get_bodypart(picked_bodypart) - if(bodypart && bodypart.status == BODYPART_ORGANIC && !bodypart.is_pseudopart) //robotic limbs will mean less scratching overall (why are golems able to damage themselves with self-scratching, but not androids? the world may never know) + if(bodypart && IS_ORGANIC_LIMB(bodypart) && !bodypart.is_pseudopart) //robotic limbs will mean less scratching overall (why are golems able to damage themselves with self-scratching, but not androids? the world may never know) var/can_scratch = scratch && !M.incapacitated() M.visible_message("[can_scratch ? span_warning("[M] scratches [M.p_their()] [bodypart.name].") : ""]", span_warning("Your [bodypart.name] itches. [can_scratch ? " You scratch it." : ""]")) if(can_scratch) diff --git a/code/datums/dna.dm b/code/datums/dna.dm index ead2c481cb4..6b0a75a684f 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -539,9 +539,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) /mob/living/carbon/human/set_species(datum/species/mrace, icon_update = TRUE, pref_load = FALSE) ..() if(icon_update) - update_body() - update_hair() - update_body_parts() + update_body(is_creating = TRUE) update_mutations_overlay()// no lizard with human hulk overlay please. */ @@ -583,9 +581,7 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) domutcheck() if(mrace || newfeatures || ui) - update_body() - update_hair() - update_body_parts() + update_body(is_creating = TRUE) update_mutations_overlay() if(LAZYLEN(mutations)) @@ -665,9 +661,9 @@ GLOBAL_LIST_INIT(total_uf_len_by_block, populate_total_uf_len_by_block()) if(icon_update) dna.species.handle_body(src) // We want 'update_body_parts()' to be called only if mutcolor_update is TRUE, so no 'update_body()' here. - update_hair() + update_hair(is_creating = TRUE) if(mutcolor_update) - update_body_parts() + update_body_parts(update_limb_data = TRUE) if(mutations_overlay_update) update_mutations_overlay() */ diff --git a/code/datums/elements/soft_landing.dm b/code/datums/elements/soft_landing.dm new file mode 100644 index 00000000000..b57337fd643 --- /dev/null +++ b/code/datums/elements/soft_landing.dm @@ -0,0 +1,25 @@ +/** + * ## soft landing element! + * + * Non bespoke element (1 in existence) that makes objs provide a soft landing when you fall on them! + */ +/datum/element/soft_landing + element_flags = ELEMENT_DETACH + +/datum/element/soft_landing/Attach(datum/target) + . = ..() + if(!isatom(target)) + return ELEMENT_INCOMPATIBLE + RegisterSignal(target, COMSIG_ATOM_INTERCEPT_Z_FALL, .proc/intercept_z_fall) + +/datum/element/soft_landing/Detach(datum/target) + . = ..() + UnregisterSignal(target, COMSIG_ATOM_INTERCEPT_Z_FALL) + +///signal called by the stat of the target changing +/datum/element/soft_landing/proc/intercept_z_fall(obj/soft_object, falling_movables, levels) + SIGNAL_HANDLER + + for (var/mob/living/falling_victim in falling_movables) + to_chat(falling_victim, span_notice("[soft_object] provides a soft landing for you!")) + return FALL_INTERCEPTED | FALL_NO_MESSAGE diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 92feffdbfe8..ca2ab4461c5 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -518,7 +518,7 @@ if(brain) //so this doesn't instantly kill you. we could delete the brain, but it lets people cure brain issues they /really/ shouldn't be brain.zone = BODY_ZONE_HEAD UnregisterSignal(owner, COMSIG_CARBON_ATTACH_LIMB) - var/successful = owner.regenerate_limb(BODY_ZONE_HEAD, noheal = TRUE) //noheal needs to be TRUE to prevent weird adding and removing mutation healing + var/successful = owner.regenerate_limb(BODY_ZONE_HEAD) if(!successful) stack_trace("HARS mutation head regeneration failed! (usually caused by headless syndrome having a head)") return TRUE diff --git a/code/datums/wounds/_wounds.dm b/code/datums/wounds/_wounds.dm index f2a1b1844e5..371d3f217d1 100644 --- a/code/datums/wounds/_wounds.dm +++ b/code/datums/wounds/_wounds.dm @@ -110,7 +110,7 @@ * * attack_direction: For bloodsplatters, if relevant */ /datum/wound/proc/apply_wound(obj/item/bodypart/L, silent = FALSE, datum/wound/old_wound = null, smited = FALSE, attack_direction = null) - if(!istype(L) || !L.owner || !(L.body_zone in viable_zones) || !L.is_organic_limb() || HAS_TRAIT(L.owner, TRAIT_NEVER_WOUNDED)) + if(!istype(L) || !L.owner || !(L.body_zone in viable_zones) || !IS_ORGANIC_LIMB(L) || HAS_TRAIT(L.owner, TRAIT_NEVER_WOUNDED)) qdel(src) return diff --git a/code/datums/wounds/bones.dm b/code/datums/wounds/bones.dm index daadd135558..fb09af16656 100644 --- a/code/datums/wounds/bones.dm +++ b/code/datums/wounds/bones.dm @@ -50,7 +50,7 @@ I = victim.get_inactive_held_item() if(I && victim.dropItemToGround(I)) - victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [limb.name] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [parse_zone(limb.body_zone)] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) update_inefficiencies() @@ -93,7 +93,7 @@ if(!victim || !limb) qdel(src) return - to_chat(victim, span_green("Your [limb.name] has recovered from its [name]!")) + to_chat(victim, span_green("Your [parse_zone(limb.body_zone)] has recovered from its [name]!")) remove_wound() /// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so @@ -107,11 +107,11 @@ if(prob((severity - 1) * 15)) // And you have a 70% or 50% chance to actually land the blow, respectively if(prob(70 - 20 * (severity - 1))) - to_chat(victim, span_userdanger("The fracture in your [limb.name] shoots with pain as you strike [target]!")) + to_chat(victim, span_userdanger("The fracture in your [parse_zone(limb.body_zone)] shoots with pain as you strike [target]!")) limb.receive_damage(brute=rand(1,5)) else - victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [limb.name], recoiling from pain!"), \ - span_userdanger("You fail to strike [target] as the fracture in your [limb.name] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [parse_zone(limb.body_zone)], recoiling from pain!"), \ + span_userdanger("You fail to strike [target] as the fracture in your [parse_zone(limb.body_zone)] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) INVOKE_ASYNC(victim, /mob.proc/emote, "scream") victim.Stun(0.5 SECONDS) limb.receive_damage(brute=rand(3,7)) @@ -151,7 +151,7 @@ var/list/msg = list() if(!limb.current_gauze) - msg += "[victim.p_their(TRUE)] [limb.name] [examine_desc]" + msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] [examine_desc]" else var/sling_condition = "" // how much life we have left in these bandages @@ -165,7 +165,7 @@ if(4 to INFINITY) sling_condition = "tightly" - msg += "[victim.p_their(TRUE)] [limb.name] is [sling_condition] fastened in a sling of [limb.current_gauze.name]" + msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] is [sling_condition] fastened in a sling of [limb.current_gauze.name]" if(taped) msg += ", [span_notice("and appears to be reforming itself under some surgical tape!")]" @@ -233,7 +233,7 @@ /datum/wound/blunt/moderate/proc/door_crush() SIGNAL_HANDLER if(prob(40)) - victim.visible_message(span_danger("[victim]'s dislocated [limb.name] pops back into place!"), span_userdanger("Your dislocated [limb.name] pops back into place! Ow!")) + victim.visible_message(span_danger("[victim]'s dislocated [parse_zone(limb.body_zone)] pops back into place!"), span_userdanger("Your dislocated [parse_zone(limb.body_zone)] pops back into place! Ow!")) remove_wound() /datum/wound/blunt/moderate/try_handling(mob/living/carbon/human/user) @@ -245,8 +245,8 @@ return TRUE if(user.grab_state >= GRAB_AGGRESSIVE) - user.visible_message(span_danger("[user] begins twisting and straining [victim]'s dislocated [limb.name]!"), span_notice("You begin twisting and straining [victim]'s dislocated [limb.name]..."), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] begins twisting and straining your dislocated [limb.name]!")) + user.visible_message(span_danger("[user] begins twisting and straining [victim]'s dislocated [parse_zone(limb.body_zone)]!"), span_notice("You begin twisting and straining [victim]'s dislocated [parse_zone(limb.body_zone)]..."), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] begins twisting and straining your dislocated [parse_zone(limb.body_zone)]!")) if(!user.combat_mode) chiropractice(user) else @@ -261,14 +261,14 @@ return if(prob(65)) - user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.name] back into place!"), span_notice("You snap [victim]'s dislocated [limb.name] back into place!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.name] back into place!")) + user.visible_message(span_danger("[user] snaps [victim]'s dislocated [parse_zone(limb.body_zone)] back into place!"), span_notice("You snap [victim]'s dislocated [parse_zone(limb.body_zone)] back into place!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] snaps your dislocated [parse_zone(limb.body_zone)] back into place!")) victim.emote("scream") limb.receive_damage(brute=20, wound_bonus=CANT_WOUND) qdel(src) else - user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.name] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.name] around painfully!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.name] around painfully!")) + user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), span_danger("You wrench [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] wrenches your dislocated [parse_zone(limb.body_zone)] around painfully!")) limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) chiropractice(user) @@ -280,33 +280,33 @@ return if(prob(65)) - user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.name] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [limb.name] with a sickening crack!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.name] with a sickening crack!")) + user.visible_message(span_danger("[user] snaps [victim]'s dislocated [parse_zone(limb.body_zone)] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [parse_zone(limb.body_zone)] with a sickening crack!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] snaps your dislocated [parse_zone(limb.body_zone)] with a sickening crack!")) victim.emote("scream") limb.receive_damage(brute=25, wound_bonus=30) else - user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.name] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.name] around painfully!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.name] around painfully!")) + user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), span_danger("You wrench [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] wrenches your dislocated [parse_zone(limb.body_zone)] around painfully!")) limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) malpractice(user) /datum/wound/blunt/moderate/treat(obj/item/I, mob/user) if(victim == user) - victim.visible_message(span_danger("[user] begins resetting [victim.p_their()] [limb.name] with [I]."), span_warning("You begin resetting your [limb.name] with [I]...")) + victim.visible_message(span_danger("[user] begins resetting [victim.p_their()] [parse_zone(limb.body_zone)] with [I]."), span_warning("You begin resetting your [parse_zone(limb.body_zone)] with [I]...")) else - user.visible_message(span_danger("[user] begins resetting [victim]'s [limb.name] with [I]."), span_notice("You begin resetting [victim]'s [limb.name] with [I]...")) + user.visible_message(span_danger("[user] begins resetting [victim]'s [parse_zone(limb.body_zone)] with [I]."), span_notice("You begin resetting [victim]'s [parse_zone(limb.body_zone)] with [I]...")) if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return if(victim == user) limb.receive_damage(brute=15, wound_bonus=CANT_WOUND) - victim.visible_message(span_danger("[user] finishes resetting [victim.p_their()] [limb.name]!"), span_userdanger("You reset your [limb.name]!")) + victim.visible_message(span_danger("[user] finishes resetting [victim.p_their()] [parse_zone(limb.body_zone)]!"), span_userdanger("You reset your [parse_zone(limb.body_zone)]!")) else limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) - user.visible_message(span_danger("[user] finishes resetting [victim]'s [limb.name]!"), span_nicegreen("You finish resetting [victim]'s [limb.name]!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] resets your [limb.name]!")) + user.visible_message(span_danger("[user] finishes resetting [victim]'s [parse_zone(limb.body_zone)]!"), span_nicegreen("You finish resetting [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] resets your [parse_zone(limb.body_zone)]!")) victim.emote("scream") qdel(src) @@ -377,10 +377,10 @@ return if(gelled) - to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] is already coated with bone gel!")) + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already coated with bone gel!")) return - user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name], disregarding the warning label...")) + user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)], disregarding the warning label...")) if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return @@ -388,8 +388,8 @@ I.use(1) victim.emote("scream") if(user != victim) - user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.name]!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] finishes applying [I] to your [limb.name], and you can feel the bones exploding with pain as they begin melting and reforming!")) + user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], and you can feel the bones exploding with pain as they begin melting and reforming!")) else var/painkiller_bonus = 0 if(victim.drunkenness > 10) @@ -404,10 +404,10 @@ painkiller_bonus += 20 if(prob(25 + (20 * (severity - 2)) - painkiller_bonus)) // 25%/45% chance to fail self-applying with severe and critical wounds, modded by painkillers - victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [limb.name], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [limb.name] before you can finish!")) + victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [parse_zone(limb.body_zone)] before you can finish!")) victim.AdjustUnconscious(5 SECONDS) return - victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.name], grimacing from the pain!"), span_notice("You finish applying [I] to your [limb.name], and your bones explode in pain!")) + victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], grimacing from the pain!"), span_notice("You finish applying [I] to your [parse_zone(limb.body_zone)], and your bones explode in pain!")) limb.receive_damage(25, stamina=100, wound_bonus=CANT_WOUND) gelled = TRUE @@ -418,20 +418,20 @@ return // poser if(gelled) - to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] is already coated with bone gel!")) + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already coated with bone gel!")) return - user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...")) + user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)]...")) if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return I.use(1) if(user != victim) - user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.name]!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] finishes applying [I] to your [limb.name], and you feel a funny fizzy tickling as they begin to reform!")) + user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], and you feel a funny fizzy tickling as they begin to reform!")) else - victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.name], emitting a funny fizzing sound!"), span_notice("You finish applying [I] to your [limb.name], and feel a funny fizzy tickling as the bone begins to reform!")) + victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], emitting a funny fizzing sound!"), span_notice("You finish applying [I] to your [parse_zone(limb.body_zone)], and feel a funny fizzy tickling as the bone begins to reform!")) gelled = TRUE processes = TRUE @@ -439,13 +439,13 @@ /// if someone is using surgical tape on our wound /datum/wound/blunt/proc/tape(obj/item/stack/sticky_tape/surgical/I, mob/user) if(!gelled) - to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] must be coated with bone gel to perform this emergency operation!")) + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] must be coated with bone gel to perform this emergency operation!")) return if(taped) - to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] is already wrapped in [I.name] and reforming!")) + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already wrapped in [I.name] and reforming!")) return - user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...")) + user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)]...")) if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return @@ -455,10 +455,10 @@ I.use(1) if(user != victim) - user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.name]!"), ignored_mobs=victim) - to_chat(victim, span_green("[user] finishes applying [I] to your [limb.name], you immediately begin to feel your bones start to reform!")) + user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim) + to_chat(victim, span_green("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], you immediately begin to feel your bones start to reform!")) else - victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.name], !"), span_green("You finish applying [I] to your [limb.name], and you immediately begin to feel your bones start to reform!")) + victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], !"), span_green("You finish applying [I] to your [parse_zone(limb.body_zone)], and you immediately begin to feel your bones start to reform!")) taped = TRUE processes = TRUE diff --git a/code/datums/wounds/scars/_scars.dm b/code/datums/wounds/scars/_scars.dm index 514f99cc687..442923dc322 100644 --- a/code/datums/wounds/scars/_scars.dm +++ b/code/datums/wounds/scars/_scars.dm @@ -87,7 +87,7 @@ /// Used to "load" a persistent scar /datum/scar/proc/load(obj/item/bodypart/BP, version, description, specific_location, severity=WOUND_SEVERITY_SEVERE, biology=BIO_FLESH_BONE, char_slot) - if(!BP.is_organic_limb()) + if(!IS_ORGANIC_LIMB(BP)) qdel(src) return diff --git a/code/game/atoms.dm b/code/game/atoms.dm index 26d6ba0840d..5acf2b9bd5a 100644 --- a/code/game/atoms.dm +++ b/code/game/atoms.dm @@ -674,6 +674,9 @@ * Produces a signal [COMSIG_PARENT_EXAMINE_MORE] */ /atom/proc/examine_more(mob/user) + SHOULD_CALL_PARENT(TRUE) + RETURN_TYPE(/list) + . = list() SEND_SIGNAL(src, COMSIG_PARENT_EXAMINE_MORE, user, .) @@ -1787,6 +1790,7 @@ filters = null /atom/proc/intercept_zImpact(list/falling_movables, levels = 1) + SHOULD_CALL_PARENT(TRUE) . |= SEND_SIGNAL(src, COMSIG_ATOM_INTERCEPT_Z_FALL, falling_movables, levels) /// Sets the custom materials for an item. diff --git a/code/game/machinery/computer/arcade/arcade.dm b/code/game/machinery/computer/arcade/arcade.dm index 69a9b80a75b..1f6e3ecb07d 100644 --- a/code/game/machinery/computer/arcade/arcade.dm +++ b/code/game/machinery/computer/arcade/arcade.dm @@ -602,14 +602,15 @@ GLOBAL_LIST_INIT(arcade_prize_pool, list( return ..() //well boys we did it, lists are no more /obj/machinery/computer/arcade/battle/examine_more(mob/user) - var/list/msg = list(span_notice("You notice some writing scribbled on the side of [src]...")) - msg += "\t[span_info("smart -> defend, defend, light attack")]" - msg += "\t[span_info("shotgun -> defend, defend, power attack")]" - msg += "\t[span_info("short temper -> counter, counter, counter")]" - msg += "\t[span_info("poisonous -> light attack, light attack, light attack")]" - msg += "\t[span_info("chonker -> power attack, power attack, power attack")]" - msg += "\t[span_info("magical -> defend until outmagiced")]" - return msg + . = ..() + . += span_notice("You notice some writing scribbled on the side of [src]...") + . += "\t[span_info("smart -> defend, defend, light attack")]" + . += "\t[span_info("shotgun -> defend, defend, power attack")]" + . += "\t[span_info("short temper -> counter, counter, counter")]" + . += "\t[span_info("poisonous -> light attack, light attack, light attack")]" + . += "\t[span_info("chonker -> power attack, power attack, power attack")]" + . += "\t[span_info("magical -> defend until outmagiced")]" + return . /obj/machinery/computer/arcade/battle/emag_act(mob/user) if(obj_flags & EMAGGED) diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index 06863d274b7..067c64e6340 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -194,10 +194,10 @@ reagents.remove_reagent(reagent_id, modified_consumed_reagents_list[reagent_id]) var/built_typepath = being_built.build_path - // If we have a bodypart, we need to initialize the limb on its own. Otherwise we can build it here. if(ispath(built_typepath, /obj/item/bodypart)) - build_limb(built_typepath) + build_limb(create_buildpath()) else + //Just build whatever it is new built_typepath(loc) busy = FALSE @@ -214,26 +214,24 @@ */ /obj/machinery/limbgrower/proc/build_limb(buildpath) /// The limb we're making with our buildpath, so we can edit it. - var/obj/item/bodypart/limb = new buildpath(loc) - /// Species with greyscale limbs. - var/list/greyscale_species = list(SPECIES_HUMAN, SPECIES_LIZARD, SPECIES_ETHEREAL) - if(selected_category in greyscale_species) //Species with greyscale parts should be included here - if(selected_category == SPECIES_HUMAN) //humans don't use the full colour spectrum, they use random_skin_tone - limb.skin_tone = random_skin_tone() - else - limb.species_color = "#[random_color()]" - limb.icon = 'icons/mob/human_parts_greyscale.dmi' - limb.should_draw_greyscale = TRUE - else - limb.icon = 'icons/mob/human_parts.dmi' - - // Set this limb up using the species name and body zone - limb.icon_state = "[selected_category]_[limb.body_zone]" - limb.name = "\improper biosynthetic [selected_category] [parse_zone(limb.body_zone)]" - limb.desc = "A synthetically produced [selected_category] limb, grown in a tube. This one is for the [parse_zone(limb.body_zone)]." - limb.species_id = selected_category + //i need to create a body part manually using a set icon (otherwise it doesnt appear) + var/obj/item/bodypart/limb + limb = new buildpath(loc) + limb.name = "\improper synthetic [selected_category] [parse_zone(limb.body_zone)]" + limb.limb_id = selected_category + limb.mutation_color = "#62A262" limb.update_icon_dropped() - limb.original_owner = WEAKREF(src) //prevents updating the icon, so a lizard arm on a human stays a lizard arm etc. + +///Returns a valid limb typepath based on the selected option +/obj/machinery/limbgrower/proc/create_buildpath() + var/part_type = being_built.id //their ids match bodypart typepaths + var/species = selected_category + var/path + if(species == SPECIES_HUMAN) //Humans use the parent type. + path = "/obj/item/bodypart/[part_type]" + else + path = "/obj/item/bodypart/[part_type]/[species]" + return text2path(path) /obj/machinery/limbgrower/RefreshParts() reagents.maximum_volume = 0 diff --git a/code/game/objects/effects/contraband.dm b/code/game/objects/effects/contraband.dm index 35d5decd4ad..04f93d79011 100644 --- a/code/game/objects/effects/contraband.dm +++ b/code/game/objects/effects/contraband.dm @@ -468,11 +468,12 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/contraband/random, 32) icon_state = "gas_power" /obj/structure/sign/poster/contraband/donk_co/examine_more(mob/user) - var/list/msg = list(span_notice("You browse some of the poster's information...")) - msg += "\t[span_info("DONK CO. BRAND DONK POCKETS: IRRESISTABLY DONK!")]" - msg += "\t[span_info("AVAILABLE IN OVER 200 DONKTASTIC FLAVOURS: TRY CLASSIC MEAT, HOT AND SPICY, NEW YORK PEPPERONI PIZZA, BREAKFAST SAUSAGE AND EGG, PHILADELPHIA CHEESESTEAK, HAMBURGER DONK-A-RONI, CHEESE-O-RAMA, AND MANY MORE!")]" - msg += "\t[span_info("AVAILABLE FROM ALL GOOD RETAILERS, AND MANY BAD ONES TOO!")]" - return msg + . = ..() + . += span_notice("You browse some of the poster's information...") + . += "\t[span_info("DONK CO. BRAND DONK POCKETS: IRRESISTABLY DONK!")]" + . += "\t[span_info("AVAILABLE IN OVER 200 DONKTASTIC FLAVOURS: TRY CLASSIC MEAT, HOT AND SPICY, NEW YORK PEPPERONI PIZZA, BREAKFAST SAUSAGE AND EGG, PHILADELPHIA CHEESESTEAK, HAMBURGER DONK-A-RONI, CHEESE-O-RAMA, AND MANY MORE!")]" + . += "\t[span_info("AVAILABLE FROM ALL GOOD RETAILERS, AND MANY BAD ONES TOO!")]" + return . /obj/structure/sign/poster/contraband/cybersun_six_hundred name = "Saibāsan: 600 Years Commemorative Poster" @@ -734,15 +735,16 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/official/random, 32) icon_state = "plasma_effects" /obj/structure/sign/poster/official/plasma_effects/examine_more(mob/user) - var/list/msg = list(span_notice("You browse some of the poster's information...")) - msg += "\t[span_info("Plasma (scientific name Amenthium) is classified by TerraGov as a Grade 1 Health Hazard, and has significant risks to health associated with chronic exposure.")]" - msg += "\t[span_info("Plasma is known to cross the blood/brain barrier and bioaccumulate in brain tissue, where it begins to result in degradation of brain function. The mechanism for attack is not yet fully known, and as such no concrete preventative advice is available barring proper use of PPE (gloves + protective jumpsuit + respirator).")]" - msg += "\t[span_info("In small doses, plasma induces confusion, short-term amnesia, and heightened aggression. These effects persist with continual exposure.")]" - msg += "\t[span_info("In individuals with chronic exposure, severe effects have been noted. Further heightened aggression, long-term amnesia, Alzheimer's symptoms, schizophrenia, macular degeneration, aneurysms, heightened risk of stroke, and Parkinsons symptoms have all been noted.")]" - msg += "\t[span_info("It is recommended that all individuals in unprotected contact with raw plasma regularly check with company health officials.")]" - msg += "\t[span_info("For more information, please check with TerraGov's extranet site on Amenthium: www.terra.gov/health_and_safety/amenthium/, or our internal risk-assessment documents (document numbers #47582-b (Plasma safety data sheets) and #64210 through #64225 (PPE regulations for working with Plasma), available via NanoDoc to all employees).")]" - msg += "\t[span_info("Nanotrasen: Always looking after your health.")]" - return msg + . = ..() + . += span_notice("You browse some of the poster's information...") + . += "\t[span_info("Plasma (scientific name Amenthium) is classified by TerraGov as a Grade 1 Health Hazard, and has significant risks to health associated with chronic exposure.")]" + . += "\t[span_info("Plasma is known to cross the blood/brain barrier and bioaccumulate in brain tissue, where it begins to result in degradation of brain function. The mechanism for attack is not yet fully known, and as such no concrete preventative advice is available barring proper use of PPE (gloves + protective jumpsuit + respirator).")]" + . += "\t[span_info("In small doses, plasma induces confusion, short-term amnesia, and heightened aggression. These effects persist with continual exposure.")]" + . += "\t[span_info("In individuals with chronic exposure, severe effects have been noted. Further heightened aggression, long-term amnesia, Alzheimer's symptoms, schizophrenia, macular degeneration, aneurysms, heightened risk of stroke, and Parkinsons symptoms have all been noted.")]" + . += "\t[span_info("It is recommended that all individuals in unprotected contact with raw plasma regularly check with company health officials.")]" + . += "\t[span_info("For more information, please check with TerraGov's extranet site on Amenthium: www.terra.gov/health_and_safety/amenthium/, or our internal risk-assessment documents (document numbers #47582-b (Plasma safety data sheets) and #64210 through #64225 (PPE regulations for working with Plasma), available via NanoDoc to all employees).")]" + . += "\t[span_info("Nanotrasen: Always looking after your health.")]" + return . /obj/structure/sign/poster/official/terragov name = "TerraGov: United for Humanity" diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index bf3ebb02082..7c8ff8f0035 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -149,6 +149,8 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e var/list/attack_verb_simple ///list() of species types, if a species cannot put items in a certain slot, but species type is in list, it will be able to wear that item var/list/species_exception = null + ///This is a bitfield that defines what variations exist for bodyparts like Digi legs. See: code\_DEFINES\inventory.dm + var/supports_variations_flags = NONE ///A weakref to the mob who threw the item var/datum/weakref/thrownby = null //I cannot verbally describe how much I hate this var @@ -1353,8 +1355,8 @@ GLOBAL_DATUM_INIT(fire_overlay, /mutable_appearance, mutable_appearance('icons/e worn_icon = unique_reskin[pick][RESKIN_WORN_ICON] if(unique_reskin[pick][RESKIN_WORN_ICON_STATE]) worn_icon_state = unique_reskin[pick][RESKIN_WORN_ICON_STATE] - if(unique_reskin[pick][RESKIN_MUTANT_VARIANTS]) - mutant_variants = unique_reskin[pick][RESKIN_MUTANT_VARIANTS] + if(unique_reskin[pick][RESKIN_supports_variations_flags]) + supports_variations_flags = unique_reskin[pick][RESKIN_supports_variations_flags] if(ishuman(M)) var/mob/living/carbon/human/wearer = M wearer.regenerate_icons() // update that mf diff --git a/code/game/objects/items/cards_ids.dm b/code/game/objects/items/cards_ids.dm index f7a0a9dbb67..611da8c1bca 100644 --- a/code/game/objects/items/cards_ids.dm +++ b/code/game/objects/items/cards_ids.dm @@ -691,31 +691,32 @@ . += span_notice("There's more information below, you can look again to take a closer look...") /obj/item/card/id/examine_more(mob/user) - var/list/msg = list(span_notice("You examine [src] closer, and note the following...")) + . = ..() + . += span_notice("You examine [src] closer, and note the following...") if(registered_age) - msg += "The card indicates that the holder is [registered_age] years old. [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads [span_danger("'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO'")] along the bottom of the card." : ""]" + . += "The card indicates that the holder is [registered_age] years old. [(registered_age < AGE_MINOR) ? "There's a holographic stripe that reads [span_danger("'MINOR: DO NOT SERVE ALCOHOL OR TOBACCO'")] along the bottom of the card." : ""]" if(mining_points) - msg += "There's [mining_points] mining equipment redemption point\s loaded onto this card." + . += "There's [mining_points] mining equipment redemption point\s loaded onto this card." if(registered_account) - msg += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr." + . += "The account linked to the ID belongs to '[registered_account.account_holder]' and reports a balance of [registered_account.account_balance] cr." if(registered_account.account_job) var/datum/bank_account/D = SSeconomy.get_dep_account(registered_account.account_job.paycheck_department) if(D) - msg += "The [D.account_holder] reports a balance of [D.account_balance] cr." - msg += span_info("Alt-Click the ID to pull money from the linked account in the form of holochips.") - msg += span_info("You can insert credits into the linked account by pressing holochips, cash, or coins against the ID.") + . += "The [D.account_holder] reports a balance of [D.account_balance] cr." + . += span_info("Alt-Click the ID to pull money from the linked account in the form of holochips.") + . += span_info("You can insert credits into the linked account by pressing holochips, cash, or coins against the ID.") if(registered_account.civilian_bounty) - msg += "There is an active civilian bounty." - msg += span_info("[registered_account.bounty_text()]") - msg += span_info("Quantity: [registered_account.bounty_num()]") - msg += span_info("Reward: [registered_account.bounty_value()]") + . += "There is an active civilian bounty." + . += span_info("[registered_account.bounty_text()]") + . += span_info("Quantity: [registered_account.bounty_num()]") + . += span_info("Reward: [registered_account.bounty_value()]") if(registered_account.account_holder == user.real_name) - msg += span_boldnotice("If you lose this ID card, you can reclaim your account by Alt-Clicking a blank ID card while holding it and entering your account ID number.") + . += span_boldnotice("If you lose this ID card, you can reclaim your account by Alt-Clicking a blank ID card while holding it and entering your account ID number.") else - msg += span_info("There is no registered account linked to this card. Alt-Click to add one.") + . += span_info("There is no registered account linked to this card. Alt-Click to add one.") - return msg + return . /obj/item/card/id/GetAccess() return access.Copy() diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index a000c331b0f..1fbcda5fcc4 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -786,7 +786,7 @@ if(istype(target, /obj/item/bodypart) && actually_paints) var/obj/item/bodypart/limb = target - if(limb.status == BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(limb)) var/list/skins = list() var/static/list/style_list_icons = list("standard" = 'icons/mob/augmentation/augments.dmi', "engineer" = 'icons/mob/augmentation/augments_engineer.dmi', "security" = 'icons/mob/augmentation/augments_security.dmi', "mining" = 'icons/mob/augmentation/augments_mining.dmi') for(var/skin_option in style_list_icons) diff --git a/code/game/objects/items/devices/scanners/health_analyzer.dm b/code/game/objects/items/devices/scanners/health_analyzer.dm index bb788292e4e..264fc639b8c 100644 --- a/code/game/objects/items/devices/scanners/health_analyzer.dm +++ b/code/game/objects/items/devices/scanners/health_analyzer.dm @@ -252,7 +252,7 @@ if(mode == SCANNER_VERBOSE) for(var/obj/item/bodypart/limb as anything in damaged) - dmgreport += "[capitalize(limb.name)]:" + dmgreport += "[capitalize(parse_zone(limb.body_zone))]:" dmgreport += "[(limb.brute_dam > 0) ? "[CEILING(limb.brute_dam,1)]" : "0"]" dmgreport += "[(limb.burn_dam > 0) ? "[CEILING(limb.burn_dam,1)]" : "0"]" dmgreport += "" diff --git a/code/game/objects/items/food/misc.dm b/code/game/objects/items/food/misc.dm index 190c30f3bcd..0b6a0f73457 100644 --- a/code/game/objects/items/food/misc.dm +++ b/code/game/objects/items/food/misc.dm @@ -922,11 +922,12 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/ready_donk/examine_more(mob/user) - var/list/msg = list(span_notice("You browse the back of the box...")) - msg += "\t[span_info("Ready-Donk: a product of Donk Co.")]" - msg += "\t[span_info("Heating instructions: open box and pierce film, heat in microwave on high for 2 minutes. Allow to stand for 60 seconds prior to eating. Product will be hot.")]" - msg += "\t[span_info("Per 200g serving contains: 8g Sodium; 25g Fat, of which 22g are saturated; 2g Sugar.")]" - return msg + . = ..() + . += span_notice("You browse the back of the box...") + . += "\t[span_info("Ready-Donk: a product of Donk Co.")]" + . += "\t[span_info("Heating instructions: open box and pierce film, heat in microwave on high for 2 minutes. Allow to stand for 60 seconds prior to eating. Product will be hot.")]" + . += "\t[span_info("Per 200g serving contains: 8g Sodium; 25g Fat, of which 22g are saturated; 2g Sugar.")]" + return . /obj/item/food/ready_donk/warm name = "warm Ready-Donk: Bachelor Chow" diff --git a/code/game/objects/items/food/moth.dm b/code/game/objects/items/food/moth.dm index 92981cb7d4f..c5d8b48dbae 100644 --- a/code/game/objects/items/food/moth.dm +++ b/code/game/objects/items/food/moth.dm @@ -369,7 +369,7 @@ foodtypes = VEGETABLES w_class = WEIGHT_CLASS_SMALL -/obj/item/food/soup/moth_bean_stew +/obj/item/food/soup/moth_bean_stew name = "prickeldröndolhaskl" //prickeld = spicy, röndol = bean, haskl = stew desc = "A spicy bean stew with lots of veggies, commonly served aboard the fleet as a filling and satisfying meal with rice or bread." icon = 'icons/obj/food/moth.dmi' @@ -389,7 +389,7 @@ foodtypes = VEGETABLES | GRAIN w_class = WEIGHT_CLASS_SMALL -/obj/item/food/soup/moth_fire_soup +/obj/item/food/soup/moth_fire_soup name = "tömpröttkrakklmæsch" //tömprött = heart (tömp = thump, rött = muscle), krakkl = fire, mæsch = soup desc = "Tömpröttkrakklmæsch, or heartburn soup, is a cold soup dish that originated amongst the jungle moths, and is named for two things- its rosy pink colour, and its scorchingly hot chilli heat." icon = 'icons/obj/food/moth.dmi' @@ -400,7 +400,7 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/soup/rice_porridge - name = "rice porridge" + name = "rice porridge" desc = "A plate of rice porridge. It's mostly flavourless, but it does fill a spot. To the Chinese it's congee, and moths call it höllflöfmisklsløsk." //höllflöfmiskl = rice (höllflöf = cloud, miskl = seed), sløsk = porridge icon = 'icons/obj/food/moth.dmi' icon_state = "rice_porridge" @@ -410,7 +410,7 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/soup/hua_mulan_congee - name = "\improper Hua Mulan congee" + name = "\improper Hua Mulan congee" desc = "Nobody is quite sure why this smiley bowl of rice porridge with eggs and bacon is named after a mythological Chinese figure- it's just sorta what it's always been called." icon = 'icons/obj/food/moth.dmi' icon_state = "hua_mulan_congee" @@ -420,7 +420,7 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/soup/toechtauese_rice_porridge - name = "töchtaüse rice porridge" + name = "töchtaüse rice porridge" desc = "Commonly served aboard the mothic fleet, rice porridge with töchtaüse syrup is more palatable than the regular stuff, if even just because it's spicier than normal." icon = 'icons/obj/food/moth.dmi' icon_state = "toechtauese_rice_porridge" @@ -430,7 +430,7 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/soup/cornmeal_porridge - name = "cornmeal porridge" + name = "cornmeal porridge" desc = "A plate of cornmeal porridge. It's more flavourful than most porridges, and makes a good base for other flavours, too." icon = 'icons/obj/food/moth.dmi' icon_state = "cornmeal_porridge" @@ -440,7 +440,7 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/soup/cheesy_porridge //milk, polenta, firm cheese, curd cheese, butter - name = "cheesy porridge" + name = "cheesy porridge" desc = "A rich and creamy bowl of cheesy cornmeal porridge." icon = 'icons/obj/food/moth.dmi' icon_state = "cheesy_porridge" @@ -450,7 +450,7 @@ w_class = WEIGHT_CLASS_SMALL /obj/item/food/soup/fried_eggplant_polenta - name = "fried eggplant and polenta" + name = "fried eggplant and polenta" desc = "Polenta loaded with cheese, served with a few discs of fried eggplant and some tomato sauce. Lække!" icon = 'icons/obj/food/moth.dmi' icon_state = "fried_eggplant_polenta" @@ -765,16 +765,17 @@ custom_premium_price = PAYCHECK_EASY * 1.5 /obj/item/storage/box/gum/wake_up/examine_more(mob/user) - var/list/msg = list(span_notice("You read some of the health and safety information...")) - msg += "\t[span_info("For the relief of tiredness and drowsiness while working.")]" - msg += "\t[span_info("Do not chew more than one strip every 12 hours. Do not use as a complete substitute for sleep.")]" - msg += "\t[span_info("Do not give to children under 16. Do not exceed the maximum dosage. Do not ingest. Do not take for more than 3 days consecutively. Do not take in conjunction with other medication. May cause adverse reactions in patients with pre-existing heart conditions.")]" - msg += "\t[span_info("Side effects of Activin use may include twitchy antennae, overactive wings, loss of keratin sheen, loss of setae coverage, arrythmia, blurred vision, and euphoria. Cease taking the medication if side effects occur.")]" - msg += "\t[span_info("Repeated use may cause addiction.")]" - msg += "\t[span_info("If the maximum dosage is exceeded, inform a member of your assigned vessel's medical staff immediately. Do not induce vomiting.")]" - msg += "\t[span_info("Ingredients: each strip contains 500mg of Activin (dextro-methamphetamine). Other ingredients include Green Dye 450 (Verdant Meadow) and artificial herb flavouring.")]" - msg += "\t[span_info("Storage: keep in a cool dry place. Do not use after the use-by date: 32/4/350.")]" - return msg + . = ..() + . += span_notice("You read some of the health and safety information...") + . += "\t[span_info("For the relief of tiredness and drowsiness while working.")]" + . += "\t[span_info("Do not chew more than one strip every 12 hours. Do not use as a complete substitute for sleep.")]" + . += "\t[span_info("Do not give to children under 16. Do not exceed the maximum dosage. Do not ingest. Do not take for more than 3 days consecutively. Do not take in conjunction with other medication. May cause adverse reactions in patients with pre-existing heart conditions.")]" + . += "\t[span_info("Side effects of Activin use may include twitchy antennae, overactive wings, loss of keratin sheen, loss of setae coverage, arrythmia, blurred vision, and euphoria. Cease taking the medication if side effects occur.")]" + . += "\t[span_info("Repeated use may cause addiction.")]" + . += "\t[span_info("If the maximum dosage is exceeded, inform a member of your assigned vessel's medical staff immediately. Do not induce vomiting.")]" + . += "\t[span_info("Ingredients: each strip contains 500mg of Activin (dextro-methamphetamine). Other ingredients include Green Dye 450 (Verdant Meadow) and artificial herb flavouring.")]" + . += "\t[span_info("Storage: keep in a cool dry place. Do not use after the use-by date: 32/4/350.")]" + return . /obj/item/storage/box/gum/wake_up/PopulateContents() for(var/i in 1 to 4) diff --git a/code/game/objects/items/hand_items.dm b/code/game/objects/items/hand_items.dm index e2351b42da5..d23bce7e6f2 100644 --- a/code/game/objects/items/hand_items.dm +++ b/code/game/objects/items/hand_items.dm @@ -127,7 +127,7 @@ return FALSE var/obj/item/bodypart/head/the_head = target.get_bodypart(BODY_ZONE_HEAD) - if((target.get_biological_state() != BIO_FLESH_BONE && target.get_biological_state() != BIO_JUST_FLESH) || !the_head.is_organic_limb()) + if((target.get_biological_state() != BIO_FLESH_BONE && target.get_biological_state() != BIO_JUST_FLESH) || !IS_ORGANIC_LIMB(the_head)) to_chat(user, span_warning("You can't noogie [target], [target.p_they()] [target.p_have()] no skin on [target.p_their()] head!")) return diff --git a/code/game/objects/items/robot/robot_parts.dm b/code/game/objects/items/robot/robot_parts.dm index dcbee9ab9eb..1d0e70fec06 100644 --- a/code/game/objects/items/robot/robot_parts.dm +++ b/code/game/objects/items/robot/robot_parts.dm @@ -53,17 +53,17 @@ /obj/item/robot_suit/update_overlays() . = ..() if(l_arm) - . += "[l_arm.icon_state]+o" + . += "[initial(l_arm.icon_state)]+o" if(r_arm) - . += "[r_arm.icon_state]+o" + . += "[initial(r_arm.icon_state)]+o" if(chest) - . += "[chest.icon_state]+o" + . += "[initial(chest.icon_state)]+o" if(l_leg) - . += "[l_leg.icon_state]+o" + . += "[initial(l_leg.icon_state)]+o" if(r_leg) - . += "[r_leg.icon_state]+o" + . += "[initial(r_leg.icon_state)]+o" if(head) - . += "[head.icon_state]+o" + . += "[initial(head.icon_state)]+o" /obj/item/robot_suit/proc/check_completion() if(l_arm && r_arm && l_leg && r_leg && head && head.flash1 && head.flash2 && chest && chest.wired && chest.cell) diff --git a/code/game/objects/items/stacks/medical.dm b/code/game/objects/items/stacks/medical.dm index e3ec9267639..9a24751b733 100644 --- a/code/game/objects/items/stacks/medical.dm +++ b/code/game/objects/items/stacks/medical.dm @@ -83,17 +83,20 @@ if(!affecting) //Missing limb? to_chat(user, span_warning("[C] doesn't have \a [parse_zone(user.zone_selected)]!")) return FALSE - if(affecting.status != BODYPART_ORGANIC) //Limb must be organic to be healed - RR + if(!IS_ORGANIC_LIMB(affecting)) //Limb must be organic to be healed - RR to_chat(user, span_warning("[src] won't work on a robotic limb!")) return FALSE if(affecting.brute_dam && brute || affecting.burn_dam && burn) - user.visible_message("[user] applies [src] on [C]'s [affecting.name].", "You apply [src] on [C]'s [affecting.name].") + user.visible_message( + span_infoplain(span_green("[user] applies [src] on [C]'s [parse_zone(affecting.body_zone)].")), + span_infoplain(span_green("You apply [src] on [C]'s [parse_zone(affecting.body_zone)].")) + ) var/previous_damage = affecting.get_damage() if(affecting.heal_damage(brute, burn)) C.update_damage_overlays() post_heal_effects(max(previous_damage - affecting.get_damage(), 0), C, user) return TRUE - to_chat(user, span_warning("[C]'s [affecting.name] can not be healed with [src]!")) + to_chat(user, span_warning("[C]'s [parse_zone(affecting.body_zone)] can not be healed with [src]!")) return FALSE ///Override this proc for special post heal effects. diff --git a/code/game/objects/items/storage/book.dm b/code/game/objects/items/storage/book.dm index 83e9dd277f4..c900bf3d3f1 100644 --- a/code/game/objects/items/storage/book.dm +++ b/code/game/objects/items/storage/book.dm @@ -132,19 +132,18 @@ GLOBAL_LIST_INIT(bibleitemstates, list("bible", "koran", "scrapbook", "burning", if(!ishuman(L)) return var/mob/living/carbon/human/H = L - for(var/X in H.bodyparts) - var/obj/item/bodypart/BP = X - if(BP.status == BODYPART_ROBOTIC) + for(var/obj/item/bodypart/bodypart as anything in H.bodyparts) + if(!IS_ORGANIC_LIMB(bodypart)) to_chat(user, span_warning("[src.deity_name] refuses to heal this metallic taint!")) return 0 var/heal_amt = 10 - var/list/hurt_limbs = H.get_damaged_bodyparts(1, 1, null, BODYPART_ORGANIC) + var/list/hurt_limbs = H.get_damaged_bodyparts(1, 1, null, BODYTYPE_ORGANIC) if(hurt_limbs.len) for(var/X in hurt_limbs) var/obj/item/bodypart/affecting = X - if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC)) + if(affecting.heal_damage(heal_amt, heal_amt, null, BODYTYPE_ORGANIC)) H.update_damage_overlays() H.visible_message(span_notice("[user] heals [H] with the power of [deity_name]!")) to_chat(H, span_boldnotice("May the power of [deity_name] compel you to be healed!")) diff --git a/code/game/objects/items/tools/weldingtool.dm b/code/game/objects/items/tools/weldingtool.dm index 2c5a167fd39..606fd65e158 100644 --- a/code/game/objects/items/tools/weldingtool.dm +++ b/code/game/objects/items/tools/weldingtool.dm @@ -122,7 +122,7 @@ var/obj/item/bodypart/affecting = attacked_humanoid.get_bodypart(check_zone(user.zone_selected)) - if(affecting && affecting.status == BODYPART_ROBOTIC && !user.combat_mode) + if(affecting && !IS_ORGANIC_LIMB(affecting) && !user.combat_mode) if(src.use_tool(attacked_humanoid, user, 0, volume=50, amount=1)) if(user == attacked_humanoid) user.visible_message(span_notice("[user] starts to fix some of the dents on [attacked_humanoid]'s [affecting.name]."), diff --git a/code/game/objects/structures/beds_chairs/bed.dm b/code/game/objects/structures/beds_chairs/bed.dm index f0442f6c23b..f0cf48508e9 100644 --- a/code/game/objects/structures/beds_chairs/bed.dm +++ b/code/game/objects/structures/beds_chairs/bed.dm @@ -22,6 +22,10 @@ var/buildstackamount = 2 var/bolts = TRUE +/obj/structure/bed/Initialize(mapload) + . = ..() + AddElement(/datum/element/soft_landing) + /obj/structure/bed/examine(mob/user) . = ..() if(bolts) diff --git a/code/game/objects/structures/beds_chairs/sofa.dm b/code/game/objects/structures/beds_chairs/sofa.dm index 5d294e77538..b4fcb1ee666 100644 --- a/code/game/objects/structures/beds_chairs/sofa.dm +++ b/code/game/objects/structures/beds_chairs/sofa.dm @@ -7,9 +7,10 @@ var/mutable_appearance/armrest /obj/structure/chair/sofa/Initialize(mapload) + . = ..() armrest = mutable_appearance(icon, "[icon_state]_armrest", ABOVE_MOB_LAYER) armrest.plane = GAME_PLANE_UPPER - return ..() + AddElement(/datum/element/soft_landing) /obj/structure/chair/sofa/electrify_self(obj/item/assembly/shock_kit/input_shock_kit, mob/user, list/overlays_from_child_procs) if(!overlays_from_child_procs) diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm index c406877eb1d..f57109597c1 100644 --- a/code/game/objects/structures/mirror.dm +++ b/code/game/objects/structures/mirror.dm @@ -50,7 +50,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) hairdresser.hairstyle = new_style - hairdresser.update_hair() + hairdresser.update_hair(is_creating = TRUE) */ /obj/structure/mirror/examine_status(mob/user) @@ -225,7 +225,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return TRUE amazed_human.gender = FEMALE - amazed_human.body_type = FEMALE + amazed_human.physique = FEMALE to_chat(amazed_human, span_notice("Man, you feel like a woman!")) else return TRUE @@ -235,7 +235,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/mirror, 28) if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK)) return TRUE amazed_human.gender = MALE - amazed_human.body_type = MALE + amazed_human.physique = MALE to_chat(amazed_human, span_notice("Whoa man, you feel like a man!")) else return TRUE diff --git a/code/modules/admin/create_mob.dm b/code/modules/admin/create_mob.dm index 3b968e5b7c5..aaadc6c7c24 100644 --- a/code/modules/admin/create_mob.dm +++ b/code/modules/admin/create_mob.dm @@ -12,7 +12,7 @@ /proc/randomize_human(mob/living/carbon/human/H) H.gender = pick(MALE, FEMALE) - H.body_type = H.gender + H.physique = H.gender H.real_name = random_unique_name(H.gender) H.name = H.real_name H.underwear = random_underwear(H.gender) @@ -49,6 +49,5 @@ //SKYRAT EDIT ADDITION END H.dna.features["pod_hair"] = pick(GLOB.pod_hair_list) - H.update_body() - H.update_hair() - H.update_body_parts() + H.update_body(is_creating = TRUE) + H.update_hair(is_creating = TRUE) diff --git a/code/modules/antagonists/abductor/equipment/glands/heal.dm b/code/modules/antagonists/abductor/equipment/glands/heal.dm index 7335c4fdb35..ba71d1f174c 100644 --- a/code/modules/antagonists/abductor/equipment/glands/heal.dm +++ b/code/modules/antagonists/abductor/equipment/glands/heal.dm @@ -53,7 +53,7 @@ if(!limb) replace_limb(zone) return - if((limb.get_damage() >= (limb.max_damage / 2)) || (limb.status == BODYPART_ROBOTIC)) + if((limb.get_damage() >= (limb.max_damage / 2)) || (!IS_ORGANIC_LIMB(limb))) replace_limb(zone, limb) return @@ -72,7 +72,7 @@ return var/obj/item/bodypart/chest/chest = owner.get_bodypart(BODY_ZONE_CHEST) - if((chest.get_damage() >= (chest.max_damage / 4)) || (chest.status == BODYPART_ROBOTIC)) + if((chest.get_damage() >= (chest.max_damage / 4)) || (!IS_ORGANIC_LIMB(chest))) replace_chest(chest) return @@ -208,7 +208,7 @@ addtimer(CALLBACK(src, .proc/keep_replacing_blood), 30) /obj/item/organ/heart/gland/heal/proc/replace_chest(obj/item/bodypart/chest/chest) - if(chest.status == BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(chest)) owner.visible_message(span_warning("[owner]'s [chest.name] rapidly expels its mechanical components, replacing them with flesh!"), span_userdanger("Your [chest.name] rapidly expels its mechanical components, replacing them with flesh!")) playsound(owner, 'sound/magic/clockwork/anima_fragment_attack.ogg', 50, TRUE) var/list/dirs = GLOB.alldirs.Copy() diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index e2a23f69978..1ecf327495a 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -654,9 +654,11 @@ chosen_dna.transfer_identity(user, TRUE) - user.Digitigrade_Leg_Swap(!(DIGITIGRADE in chosen_dna.species?.species_traits)) + for(var/obj/item/bodypart/limb as anything in user.bodyparts) + if(IS_ORGANIC_LIMB(limb)) + limb.update_limb(is_creating = TRUE) + user.updateappearance(mutcolor_update = TRUE) - user.update_body() user.domutcheck() // Get rid of any scars from previous Changeling-ing diff --git a/code/modules/antagonists/changeling/powers/fakedeath.dm b/code/modules/antagonists/changeling/powers/fakedeath.dm index 835e13cfb36..05a58894cd9 100644 --- a/code/modules/antagonists/changeling/powers/fakedeath.dm +++ b/code/modules/antagonists/changeling/powers/fakedeath.dm @@ -43,7 +43,7 @@ "You hear organic matter ripping \ and tearing!") user.emote("scream") - user.regenerate_limbs(0, list(BODY_ZONE_HEAD)) + user.regenerate_limbs(list(BODY_ZONE_HEAD)) user.regenerate_organs() /datum/action/changeling/fakedeath/proc/ready_to_regenerate(mob/user) diff --git a/code/modules/antagonists/changeling/powers/regenerate.dm b/code/modules/antagonists/changeling/powers/regenerate.dm index fffcb731bed..01109161dca 100644 --- a/code/modules/antagonists/changeling/powers/regenerate.dm +++ b/code/modules/antagonists/changeling/powers/regenerate.dm @@ -23,7 +23,7 @@ "You hear organic matter ripping \ and tearing!") C.emote("scream") - C.regenerate_limbs(1) + C.regenerate_limbs() if(!user.getorganslot(ORGAN_SLOT_BRAIN)) var/obj/item/organ/brain/B if(C.has_dna() && C.dna.species.mutantbrain) diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index 6400324c720..e32e1f2ce25 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -219,18 +219,6 @@ /obj/item/bountytrap = 4 ) -/datum/outfit/bountysynth/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) - if(visualsOnly) - return - var/datum/species/synth/synthetic_appearance = new() - H.set_species(synthetic_appearance) - synthetic_appearance.assume_disguise(synthetic_appearance, H) - H.update_hair() - var/obj/item/card/id/W = H.wear_id - W.registered_name = H.real_name - W.update_label() - W.update_icon() - //ids and ert code /obj/item/card/id/advanced/bountyhunter diff --git a/code/modules/antagonists/heretic/structures/mawed_crucible.dm b/code/modules/antagonists/heretic/structures/mawed_crucible.dm index 32311eefada..adb7a64a5a5 100644 --- a/code/modules/antagonists/heretic/structures/mawed_crucible.dm +++ b/code/modules/antagonists/heretic/structures/mawed_crucible.dm @@ -75,7 +75,7 @@ if(istype(weapon, /obj/item/bodypart)) var/obj/item/bodypart/consumed = weapon - if(consumed.status != BODYPART_ORGANIC) + if(!IS_ORGANIC_LIMB(consumed)) balloon_alert(user, "not organic!") return diff --git a/code/modules/antagonists/nightmare/nightmare_species.dm b/code/modules/antagonists/nightmare/nightmare_species.dm index 5bd607809a3..5383982a6dd 100644 --- a/code/modules/antagonists/nightmare/nightmare_species.dm +++ b/code/modules/antagonists/nightmare/nightmare_species.dm @@ -4,7 +4,7 @@ /datum/species/shadow/nightmare name = "Nightmare" id = SPECIES_NIGHTMARE - limbs_id = SPECIES_SHADOW + examine_limb_id = SPECIES_SHADOW burnmod = 1.5 no_equip = list(ITEM_SLOT_MASK, ITEM_SLOT_OCLOTHING, ITEM_SLOT_GLOVES, ITEM_SLOT_FEET, ITEM_SLOT_ICLOTHING, ITEM_SLOT_SUITSTORE) species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYESPRITES) diff --git a/code/modules/antagonists/revenant/revenant_abilities.dm b/code/modules/antagonists/revenant/revenant_abilities.dm index 90219267ea9..8bc04f6fc52 100644 --- a/code/modules/antagonists/revenant/revenant_abilities.dm +++ b/code/modules/antagonists/revenant/revenant_abilities.dm @@ -358,7 +358,7 @@ if(ishuman(mob)) var/mob/living/carbon/human/H = mob if(H.dna && H.dna.species && !HAS_TRAIT(H, TRAIT_VIRUSIMMUNE)) // SKYRAT EDIT - No more funny purple hair - H.dna.species.handle_hair(H,"#1d2953") //will be reset when blight is cured + H.set_haircolor("#1d2953", override = TRUE) //will be reset when blight is cured var/blightfound = FALSE for(var/datum/disease/revblight/blight in H.diseases) blightfound = TRUE diff --git a/code/modules/antagonists/revenant/revenant_blight.dm b/code/modules/antagonists/revenant/revenant_blight.dm index defe4a6c851..cd05d88dd9e 100644 --- a/code/modules/antagonists/revenant/revenant_blight.dm +++ b/code/modules/antagonists/revenant/revenant_blight.dm @@ -20,7 +20,7 @@ affected_mob.remove_atom_colour(TEMPORARY_COLOUR_PRIORITY, "#1d2953") if(affected_mob.dna && affected_mob.dna.species) affected_mob.dna.species.handle_mutant_bodyparts(affected_mob) - affected_mob.dna.species.handle_hair(affected_mob) + affected_mob.set_haircolor(null, override = TRUE) to_chat(affected_mob, span_notice("You feel better.")) ..() @@ -64,7 +64,7 @@ new /obj/effect/temp_visual/revenant(affected_mob.loc) if(affected_mob.dna && affected_mob.dna.species) affected_mob.dna.species.handle_mutant_bodyparts(affected_mob,"#1d2953") - affected_mob.dna.species.handle_hair(affected_mob,"#1d2953") + affected_mob.set_haircolor("#1d2953", override = TRUE) affected_mob.visible_message(span_warning("[affected_mob] looks terrifyingly gaunt..."), span_revennotice("You suddenly feel like your skin is wrong...")) affected_mob.add_atom_colour("#1d2953", TEMPORARY_COLOUR_PRIORITY) addtimer(CALLBACK(src, .proc/cure), 10 SECONDS) diff --git a/code/modules/antagonists/thief/thief.dm b/code/modules/antagonists/thief/thief.dm index 978a6c0ce52..d387d866281 100644 --- a/code/modules/antagonists/thief/thief.dm +++ b/code/modules/antagonists/thief/thief.dm @@ -100,7 +100,7 @@ if(SSatoms.initialized == INITIALIZATION_INSSATOMS) thief.w_uniform?.update_greyscale() thief.update_inv_w_uniform() - thief.body_type = FEMALE //update_body() and gender block or something + thief.physique = FEMALE //update_body() and gender block or something thief.hair_color = "#2A71DC" //hair color dna block thief.skin_tone = "caucasian2" //skin tone dna block thief.hairstyle = "Bun Head 2" //update_hair() diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm index 8c2deb4cbae..a7d07884a71 100644 --- a/code/modules/awaymissions/mission_code/snowdin.dm +++ b/code/modules/awaymissions/mission_code/snowdin.dm @@ -197,15 +197,15 @@ return var/mob/living/carbon/human/burn_human = burn_living var/datum/species/burn_species = burn_human.dna.species - if(istype(burn_species, /datum/species/plasmaman) || istype(burn_species, /datum/species/android) || istype(burn_species, /datum/species/synth)) //ignore plasmamen/robotic species + if(istype(burn_species, /datum/species/plasmaman) || istype(burn_species, /datum/species/android)) //ignore plasmamen/robotic species return var/list/plasma_parts = list()//a list of the organic parts to be turned into plasma limbs var/list/robo_parts = list()//keep a reference of robotic parts so we know if we can turn them into a plasmaman for(var/obj/item/bodypart/burn_limb as anything in burn_human.bodyparts) - if(burn_limb.status == BODYPART_ORGANIC && burn_limb.species_id != SPECIES_PLASMAMAN) //getting every organic, non-plasmaman limb (augments/androids are immune to this) + if(IS_ORGANIC_LIMB(burn_limb) && burn_limb.limb_id != SPECIES_PLASMAMAN) //getting every organic, non-plasmaman limb (augments/androids are immune to this) plasma_parts += burn_limb - if(burn_limb.status == BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(burn_limb)) robo_parts += burn_limb burn_human.adjustToxLoss(15) diff --git a/code/modules/capture_the_flag/ctf_game.dm b/code/modules/capture_the_flag/ctf_game.dm index 1c3272c11b4..140cc4d5fec 100644 --- a/code/modules/capture_the_flag/ctf_game.dm +++ b/code/modules/capture_the_flag/ctf_game.dm @@ -389,7 +389,8 @@ var/mob/living/carbon/human/M = new /mob/living/carbon/human(get_turf(src)) new_team_member.prefs.safe_transfer_prefs_to(M, is_antag = TRUE) - M.set_species(/datum/species/synth) + if(M.dna.species.outfit_important_for_life) + M.set_species(/datum/species/human) M.key = new_team_member.key M.faction += team M.equipOutfit(chosen_class) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 687b5b7c8ea..594ef01b5fe 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -566,10 +566,8 @@ INITIALIZE_IMMEDIATE(/atom/movable/screen/character_preview_view) character.dna.real_name = character.real_name if(icon_updates) - character.icon_render_key = null //turns out if you don't set this to null update_body_parts does nothing, since it assumes the operation was cached - character.update_body() - character.update_hair() - character.update_body_parts() + character.icon_render_keys = list() + character.update_body(is_creating = TRUE) /// Returns whether the parent mob should have the random hardcore settings enabled. Assumes it has a mind. diff --git a/code/modules/client/preferences/body_type.dm b/code/modules/client/preferences/body_type.dm index 6f5fc7f8301..4e695f7ab9b 100644 --- a/code/modules/client/preferences/body_type.dm +++ b/code/modules/client/preferences/body_type.dm @@ -1,4 +1,3 @@ -/* SKYRAT EDIT REMOVAL #define USE_GENDER "Use gender" /datum/preference/choiced/body_type @@ -15,9 +14,9 @@ /datum/preference/choiced/body_type/apply_to_human(mob/living/carbon/human/target, value) if (value == USE_GENDER) - target.body_type = target.gender + target.physique = target.gender else - target.body_type = value + target.physique = value /datum/preference/choiced/body_type/is_accessible(datum/preferences/preferences) if (!..(preferences)) @@ -27,4 +26,4 @@ return initial(species.sexes) #undef USE_GENDER -*/ + diff --git a/code/modules/client/preferences/species.dm b/code/modules/client/preferences/species.dm index 1a68f563ed9..c7a18841aea 100644 --- a/code/modules/client/preferences/species.dm +++ b/code/modules/client/preferences/species.dm @@ -6,7 +6,7 @@ randomize_by_default = FALSE /datum/preference/choiced/species/deserialize(input, datum/preferences/preferences) - return GLOB.species_list[sanitize_inlist(input, get_choices_serialized(), "human")] + return GLOB.species_list[sanitize_inlist(input, get_choices_serialized(), SPECIES_HUMAN)] /datum/preference/choiced/species/serialize(input) var/datum/species/species = input diff --git a/code/modules/client/preferences/species_features/basic.dm b/code/modules/client/preferences/species_features/basic.dm index bf208f36942..f75e12dd0d1 100644 --- a/code/modules/client/preferences/species_features/basic.dm +++ b/code/modules/client/preferences/species_features/basic.dm @@ -53,6 +53,7 @@ /datum/preference/choiced/facial_hairstyle/apply_to_human(mob/living/carbon/human/target, value) target.facial_hairstyle = value + target.update_hair(is_creating = TRUE) /datum/preference/choiced/facial_hairstyle/compile_constant_data() var/list/data = ..() @@ -69,6 +70,7 @@ /datum/preference/color/facial_hair_color/apply_to_human(mob/living/carbon/human/target, value) target.facial_hair_color = value + target.update_hair(is_creating = TRUE) /datum/preference/choiced/facial_hair_gradient category = PREFERENCE_CATEGORY_SECONDARY_FEATURES @@ -82,7 +84,7 @@ /datum/preference/choiced/facial_hair_gradient/apply_to_human(mob/living/carbon/human/target, value) LAZYSETLEN(target.grad_style, GRADIENTS_LEN) target.grad_style[GRADIENT_FACIAL_HAIR_KEY] = value - target.update_hair() + target.update_hair(is_creating = TRUE) /datum/preference/choiced/facial_hair_gradient/create_default_value() return "None" @@ -96,7 +98,7 @@ /datum/preference/color/facial_hair_gradient/apply_to_human(mob/living/carbon/human/target, value) LAZYSETLEN(target.grad_color, GRADIENTS_LEN) target.grad_color[GRADIENT_FACIAL_HAIR_KEY] = value - target.update_hair() + target.update_hair(is_creating = TRUE) /datum/preference/color/facial_hair_gradient/is_accessible(datum/preferences/preferences) if (!..(preferences)) @@ -145,7 +147,7 @@ /datum/preference/choiced/hair_gradient/apply_to_human(mob/living/carbon/human/target, value) LAZYSETLEN(target.grad_style, GRADIENTS_LEN) target.grad_style[GRADIENT_HAIR_KEY] = value - target.update_hair() + target.update_hair(is_creating = TRUE) /datum/preference/choiced/hair_gradient/create_default_value() return "None" @@ -159,7 +161,7 @@ /datum/preference/color/hair_gradient/apply_to_human(mob/living/carbon/human/target, value) LAZYSETLEN(target.grad_color, GRADIENTS_LEN) target.grad_color[GRADIENT_HAIR_KEY] = value - target.update_hair() + target.update_hair(is_creating = TRUE) /datum/preference/color/hair_gradient/is_accessible(datum/preferences/preferences) if (!..(preferences)) diff --git a/code/modules/client/preferences/species_features/ethereal.dm b/code/modules/client/preferences/species_features/ethereal.dm index dfd7afb06a9..61818aee2d0 100644 --- a/code/modules/client/preferences/species_features/ethereal.dm +++ b/code/modules/client/preferences/species_features/ethereal.dm @@ -8,10 +8,10 @@ /datum/preference/choiced/ethereal_color/init_possible_values() var/list/values = list() - var/icon/ethereal_base = icon('icons/mob/human_parts_greyscale.dmi', "ethereal_head_m") - ethereal_base.Blend(icon('icons/mob/human_parts_greyscale.dmi', "ethereal_chest_m"), ICON_OVERLAY) - ethereal_base.Blend(icon('icons/mob/human_parts_greyscale.dmi', "ethereal_l_arm"), ICON_OVERLAY) - ethereal_base.Blend(icon('icons/mob/human_parts_greyscale.dmi', "ethereal_r_arm"), ICON_OVERLAY) + var/icon/ethereal_base = icon('icons/mob/species/ethereal/bodyparts.dmi', "ethereal_head") + ethereal_base.Blend(icon('icons/mob/species/ethereal/bodyparts.dmi', "ethereal_chest"), ICON_OVERLAY) + ethereal_base.Blend(icon('icons/mob/species/ethereal/bodyparts.dmi', "ethereal_l_arm"), ICON_OVERLAY) + ethereal_base.Blend(icon('icons/mob/species/ethereal/bodyparts.dmi', "ethereal_r_arm"), ICON_OVERLAY) var/icon/eyes = icon('icons/mob/human_face.dmi', "eyes") eyes.Blend(COLOR_BLACK, ICON_MULTIPLY) diff --git a/code/modules/client/preferences/species_features/lizard.dm b/code/modules/client/preferences/species_features/lizard.dm index 43860174b89..96717b4d80e 100644 --- a/code/modules/client/preferences/species_features/lizard.dm +++ b/code/modules/client/preferences/species_features/lizard.dm @@ -1,9 +1,8 @@ -/* +/* SKYRAT EDIT REMOVAL /proc/generate_lizard_side_shots(list/sprite_accessories, key, include_snout = TRUE) var/list/values = list() - var/icon/lizard = icon('icons/mob/human_parts_greyscale.dmi', "lizard_head_m", EAST) - + var/icon/lizard = icon('icons/mob/species/lizard/bodyparts.dmi', "lizard_head", EAST) var/icon/eyes = icon('icons/mob/human_face.dmi', "eyes", EAST) eyes.Blend(COLOR_GRAY, ICON_MULTIPLY) lizard.Blend(eyes, ICON_OVERLAY) @@ -39,10 +38,10 @@ /datum/preference/choiced/lizard_body_markings/init_possible_values() var/list/values = list() - var/icon/lizard = icon('icons/mob/human_parts_greyscale.dmi', "lizard_chest_m") + var/icon/lizard = icon('icons/mob/species/lizard/bodyparts.dmi', "lizard_chest_m") - for (var/name in GLOB.sprite_accessories["body_markings"]) //SKYRAT EDIT - var/datum/sprite_accessory/sprite_accessory = GLOB.sprite_accessories["body_markings"][name] //SKYRAT EDIT + for (var/name in GLOB.body_markings_list) + var/datum/sprite_accessory/sprite_accessory = GLOB.body_markings_list[name] var/icon/final_icon = icon(lizard) @@ -64,10 +63,7 @@ return values /datum/preference/choiced/lizard_body_markings/apply_to_human(mob/living/carbon/human/target, value) - if(!target.dna.mutant_bodyparts["body_markings"]) - target.dna.mutant_bodyparts["body_markings"] = list() - target.dna.mutant_bodyparts["body_markings"][MUTANT_INDEX_NAME] = value - target.dna.mutant_bodyparts["body_markings"][MUTANT_INDEX_COLOR_LIST] = list("333", "222", "444") + target.dna.features["body_markings"] = value /datum/preference/choiced/lizard_frills savefile_key = "feature_lizard_frills" @@ -77,13 +73,10 @@ should_generate_icons = TRUE /datum/preference/choiced/lizard_frills/init_possible_values() - return generate_lizard_side_shots(GLOB.sprite_accessories["frills"], "frills") //SKYRAT EDIT + return generate_lizard_side_shots(GLOB.frills_list, "frills") /datum/preference/choiced/lizard_frills/apply_to_human(mob/living/carbon/human/target, value) - if(!target.dna.species.mutant_bodyparts["frills"]) - target.dna.species.mutant_bodyparts["frills"] = list() - target.dna.species.mutant_bodyparts["frills"][MUTANT_INDEX_NAME] = value - target.dna.species.mutant_bodyparts["frills"][MUTANT_INDEX_COLOR_LIST] = list("333", "222", "444") + target.dna.features["frills"] = value /datum/preference/choiced/lizard_horns savefile_key = "feature_lizard_horns" @@ -93,15 +86,11 @@ should_generate_icons = TRUE /datum/preference/choiced/lizard_horns/init_possible_values() - return generate_lizard_side_shots(GLOB.sprite_accessories["horns"], "horns") //SKYRAT EDIT + return generate_lizard_side_shots(GLOB.horns_list, "horns") /datum/preference/choiced/lizard_horns/apply_to_human(mob/living/carbon/human/target, value) - if(!target.dna.species.mutant_bodyparts["horns"]) - target.dna.species.mutant_bodyparts["horns"] = list() - target.dna.species.mutant_bodyparts["horns"][MUTANT_INDEX_NAME] = value - target.dna.species.mutant_bodyparts["horns"][MUTANT_INDEX_COLOR_LIST] = list("333", "222", "444") + target.dna.features["horns"] = value -/* SKYRAT EDIT REMOVAL /datum/preference/choiced/lizard_legs savefile_key = "feature_lizard_legs" savefile_identifier = PREFERENCE_CHARACTER @@ -109,27 +98,23 @@ relevant_mutant_bodypart = "legs" /datum/preference/choiced/lizard_legs/init_possible_values() - return GLOB.sprite_accessories["legs"] //SKYRAT EDIT CHANGE + return assoc_to_keys(GLOB.legs_list) /datum/preference/choiced/lizard_legs/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["legs"] = value -*/ /datum/preference/choiced/lizard_snout - savefile_key = "feature_lizrd_snout" + savefile_key = "feature_lizard_snout" savefile_identifier = PREFERENCE_CHARACTER category = PREFERENCE_CATEGORY_FEATURES main_feature_name = "Snout" should_generate_icons = TRUE /datum/preference/choiced/lizard_snout/init_possible_values() - return generate_lizard_side_shots(GLOB.sprite_accessories["snout"], "snout", include_snout = FALSE) //SKYRAT EDIT + return generate_lizard_side_shots(GLOB.snouts_list, "snout", include_snout = FALSE) /datum/preference/choiced/lizard_snout/apply_to_human(mob/living/carbon/human/target, value) - if(!target.dna.species.mutant_bodyparts["snout"]) - target.dna.species.mutant_bodyparts["snout"] = list() - target.dna.species.mutant_bodyparts["snout"][MUTANT_INDEX_NAME] = value - target.dna.species.mutant_bodyparts["snout"][MUTANT_INDEX_COLOR_LIST] = list("333", "222", "444") + target.dna.features["snout"] = value /datum/preference/choiced/lizard_spines savefile_key = "feature_lizard_spines" @@ -138,13 +123,10 @@ relevant_mutant_bodypart = "spines" /datum/preference/choiced/lizard_spines/init_possible_values() - return GLOB.sprite_accessories["spines"] //SKYRAT EDIT + return assoc_to_keys(GLOB.spines_list) /datum/preference/choiced/lizard_spines/apply_to_human(mob/living/carbon/human/target, value) - if(!target.dna.species.mutant_bodyparts["spines"]) - target.dna.species.mutant_bodyparts["spines"] = list() - target.dna.species.mutant_bodyparts["spines"][MUTANT_INDEX_NAME] = value - target.dna.species.mutant_bodyparts["spines"][MUTANT_INDEX_COLOR_LIST] = list("333", "222", "444") + target.dna.features["spines"] = value /datum/preference/choiced/lizard_tail savefile_key = "feature_lizard_tail" @@ -153,11 +135,8 @@ relevant_mutant_bodypart = "tail_lizard" /datum/preference/choiced/lizard_tail/init_possible_values() - return GLOB.sprite_accessories["tail"] //SKYRAT EDIT + return assoc_to_keys(GLOB.tails_list_lizard) /datum/preference/choiced/lizard_tail/apply_to_human(mob/living/carbon/human/target, value) - if(!target.dna.species.mutant_bodyparts["tail"]) - target.dna.species.mutant_bodyparts["tail"] = list() - target.dna.species.mutant_bodyparts["tail"][MUTANT_INDEX_NAME] = value - target.dna.species.mutant_bodyparts["tail"][MUTANT_INDEX_COLOR_LIST] = list("333", "222", "444") + target.dna.features["tail_lizard"] = value */ diff --git a/code/modules/client/preferences/species_features/moth.dm b/code/modules/client/preferences/species_features/moth.dm index 83f08b681c8..de67f09a215 100644 --- a/code/modules/client/preferences/species_features/moth.dm +++ b/code/modules/client/preferences/species_features/moth.dm @@ -9,11 +9,11 @@ /datum/preference/choiced/moth_antennae/init_possible_values() var/list/values = list() - var/icon/moth_head = icon('icons/mob/human_parts.dmi', "moth_head_m") + var/icon/moth_head = icon('icons/mob/species/moth/bodyparts.dmi', "moth_head") moth_head.Blend(icon('icons/mob/human_face.dmi', "motheyes"), ICON_OVERLAY) - for (var/antennae_name in GLOB.sprite_accessories["moth_antennae"]) //SKYRAT EDIT - var/datum/sprite_accessory/antennae = GLOB.sprite_accessories["moth_antennae"][antennae_name] //SKYRAT EDIT + for (var/antennae_name in GLOB.moth_antennae_list) + var/datum/sprite_accessory/antennae = GLOB.moth_antennae_list[antennae_name] var/icon/icon_with_antennae = new(moth_head) icon_with_antennae.Blend(icon(antennae.icon, "m_moth_antennae_[antennae.icon_state]_FRONT"), ICON_OVERLAY) @@ -43,20 +43,20 @@ moth_body.Blend(icon('icons/mob/moth_wings.dmi', "m_moth_wings_plain_BEHIND"), ICON_OVERLAY) var/list/body_parts = list( - BODY_ZONE_HEAD, - BODY_ZONE_CHEST, - BODY_ZONE_L_ARM, - BODY_ZONE_R_ARM, + /obj/item/bodypart/head/moth, + /obj/item/bodypart/chest/moth, + /obj/item/bodypart/l_arm/moth, + /obj/item/bodypart/r_arm/moth, ) - for (var/body_part in body_parts) - var/gender = (body_part == "chest" || body_part == "head") ? "_m" : "" - moth_body.Blend(icon('icons/mob/human_parts.dmi', "moth_[body_part][gender]"), ICON_OVERLAY) + for (var/obj/item/bodypart/body_part in body_parts) + var/gender = (initial(body_part.is_dimorphic)) ? "_m" : "" + moth_body.Blend(icon('icons/mob/species/moth/bodyparts.dmi', "moth_[body_part][gender]"), ICON_OVERLAY) moth_body.Blend(icon('icons/mob/human_face.dmi', "motheyes"), ICON_OVERLAY) - for (var/markings_name in GLOB.sprite_accessories["moth_markings"]) //SKYRAT EDIT - var/datum/sprite_accessory/markings = GLOB.sprite_accessories["moth_markings"][markings_name] //SKYRAT EDIT + for (var/markings_name in GLOB.moth_markings_list) + var/datum/sprite_accessory/markings = GLOB.moth_markings_list[markings_name] var/icon/icon_with_markings = new(moth_body) if (markings_name != "None") @@ -79,7 +79,6 @@ /datum/preference/choiced/moth_markings/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["moth_markings"] = value - /datum/preference/choiced/moth_wings savefile_key = "feature_moth_wings" savefile_identifier = PREFERENCE_CHARACTER @@ -88,7 +87,11 @@ should_generate_icons = TRUE /datum/preference/choiced/moth_wings/init_possible_values() - var/list/icon/values = possible_values_for_sprite_accessory_list_for_body_part(GLOB.sprite_accessories["moth_wings"]) //SKYRAT EDIT + var/list/icon/values = possible_values_for_sprite_accessory_list_for_body_part( + GLOB.moth_wings_list, + "moth_wings", + list("BEHIND", "FRONT"), + ) // Moth wings are in a stupid dimension for (var/name in values) @@ -98,4 +101,5 @@ /datum/preference/choiced/moth_wings/apply_to_human(mob/living/carbon/human/target, value) target.dna.features["moth_wings"] = value + */ diff --git a/code/modules/client/preferences/species_features/pod.dm b/code/modules/client/preferences/species_features/pod.dm index d3993fae62a..118572dc444 100644 --- a/code/modules/client/preferences/species_features/pod.dm +++ b/code/modules/client/preferences/species_features/pod.dm @@ -8,7 +8,7 @@ /datum/preference/choiced/pod_hair/init_possible_values() var/list/values = list() - var/icon/pod_head = icon('icons/mob/human_parts.dmi', "pod_head_m") + var/icon/pod_head = icon('icons/mob/human_parts_greyscale.dmi', "pod_head_m") for (var/pod_name in GLOB.pod_hair_list) var/datum/sprite_accessory/pod_hair = GLOB.pod_hair_list[pod_name] @@ -20,6 +20,7 @@ icon_with_hair.Blend(icon_adj, ICON_OVERLAY) icon_with_hair.Scale(64, 64) icon_with_hair.Crop(15, 64, 15 + 31, 64 - 31) + icon_with_hair.Blend(COLOR_GREEN, ICON_MULTIPLY) values[pod_hair.name] = icon_with_hair diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index d424b08dcd3..bf803101e9e 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -176,7 +176,7 @@ /obj/item/clothing/proc/take_damage_zone(def_zone, damage_amount, damage_type, armour_penetration) if(!def_zone || !limb_integrity || (initial(body_parts_covered) in GLOB.bitflags)) // the second check sees if we only cover one bodypart anyway and don't need to bother with this return - var/list/covered_limbs = body_parts_covered2organ_names(body_parts_covered) // what do we actually cover? + var/list/covered_limbs = cover_flags2body_zones(body_parts_covered) // what do we actually cover? if(!(def_zone in covered_limbs)) return @@ -198,7 +198,7 @@ * * damage_type: Only really relevant for the verb for describing the breaking, and maybe atom_destruction() */ /obj/item/clothing/proc/disable_zone(def_zone, damage_type) - var/list/covered_limbs = body_parts_covered2organ_names(body_parts_covered) + var/list/covered_limbs = cover_flags2body_zones(body_parts_covered) if(!(def_zone in covered_limbs)) return @@ -211,7 +211,7 @@ RegisterSignal(C, COMSIG_MOVABLE_MOVED, .proc/bristle, override = TRUE) zones_disabled++ - for(var/i in zone2body_parts_covered(def_zone)) + for(var/i in body_zone2cover_flags(def_zone)) body_parts_covered &= ~i if(body_parts_covered == NONE) // if there are no more parts to break then the whole thing is kaput diff --git a/code/modules/clothing/head/hat.dm b/code/modules/clothing/head/hat.dm index a9616869cf5..ff229efe4da 100644 --- a/code/modules/clothing/head/hat.dm +++ b/code/modules/clothing/head/hat.dm @@ -186,7 +186,7 @@ flags_inv = 0 armor = list(MELEE = 30, BULLET = 15, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50) strip_delay = (8 SECONDS) - mutant_variants = NONE //SKYRAT EDIT lets anthros wear the hat + supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON //SKYRAT EDIT lets anthros wear the hat /obj/item/clothing/head/human_leather name = "human skin hat" diff --git a/code/modules/clothing/masks/bandana.dm b/code/modules/clothing/masks/bandana.dm index e73c62b1a99..e2d87aa9386 100644 --- a/code/modules/clothing/masks/bandana.dm +++ b/code/modules/clothing/masks/bandana.dm @@ -12,9 +12,9 @@ adjustmask(user) //SKYRAT EDIT START: BANDANA HATS FOR MUTANTS if(slot_flags & ITEM_SLOT_HEAD) - mutant_variants = NONE + supports_variations_flags = NONE if(slot_flags & ITEM_SLOT_MASK) - mutant_variants = initial(mutant_variants) + supports_variations_flags = initial(supports_variations_flags) //SKYRAT EDIT END /obj/item/clothing/mask/bandana/AltClick(mob/user) diff --git a/code/modules/clothing/suits/armor.dm b/code/modules/clothing/suits/armor.dm index 8e0f0eeb504..5e45f4f40b5 100644 --- a/code/modules/clothing/suits/armor.dm +++ b/code/modules/clothing/suits/armor.dm @@ -116,7 +116,7 @@ RESKIN_ICON_STATE = "peacekeeper_trench_hos", RESKIN_WORN_ICON = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi', RESKIN_WORN_ICON_STATE = "peacekeeper_trench_hos", - RESKIN_MUTANT_VARIANTS = NONE + RESKIN_supports_variations_flags = NONE ) ) /// SKYRAT EDIT ADDITION END @@ -172,7 +172,7 @@ RESKIN_ICON_STATE = "peacekeeper_trench_warden", RESKIN_WORN_ICON = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi', RESKIN_WORN_ICON_STATE = "peacekeeper_trench_warden", - RESKIN_MUTANT_VARIANTS = NONE + RESKIN_supports_variations_flags = NONE ) ) /// SKYRAT EDIT ADDITION END diff --git a/code/modules/clothing/suits/costume.dm b/code/modules/clothing/suits/costume.dm index 0b29d9833d8..1bf35bac5de 100644 --- a/code/modules/clothing/suits/costume.dm +++ b/code/modules/clothing/suits/costume.dm @@ -470,6 +470,7 @@ icon_state = "MajimaJacket" inhand_icon_state = "MajimaJacket" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/dutch name = "dutch's jacket" @@ -478,6 +479,7 @@ inhand_icon_state = "DutchJacket" body_parts_covered = ARMS body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/driscoll name = "driscoll poncho" @@ -485,6 +487,7 @@ icon_state = "driscoll_suit" inhand_icon_state = "driscoll_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/irs name = "internal revenue service jacket" @@ -492,6 +495,7 @@ icon_state = "irs_suit" inhand_icon_state = "irs_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/osi name = "\improper O.S.I. body armor" @@ -499,6 +503,7 @@ icon_state = "osi_suit" inhand_icon_state = "osi_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/tmc name = "\improper Lost M.C. cut" @@ -506,6 +511,7 @@ icon_state = "tmc_suit" inhand_icon_state = "tmc_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/pg name = "powder ganger jacket" @@ -513,6 +519,7 @@ icon_state = "pg_suit" inhand_icon_state = "pg_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/deckers name = "decker hoodie" @@ -520,6 +527,7 @@ icon_state = "decker_suit" inhand_icon_state = "decker_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/morningstar name = "morningstar coat" @@ -527,6 +535,7 @@ icon_state = "morningstar_suit" inhand_icon_state = "morningstar_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/saints name = "Third Street Saints fur coat" @@ -536,6 +545,7 @@ body_parts_covered = CHEST|GROIN|LEGS|ARMS cold_protection = CHEST|GROIN|LEGS|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/phantom name = "phantom thief coat" @@ -543,6 +553,7 @@ icon_state = "phantom_suit" inhand_icon_state = "phantom_suit" body_parts_covered = CHEST|GROIN|LEGS|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/allies name = "allies body armor" @@ -550,6 +561,7 @@ icon_state = "allies_armor" inhand_icon_state = "allies_armor" body_parts_covered = CHEST|GROIN + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/suit/soviet name = "soviet armored coat" @@ -578,4 +590,3 @@ icon_state = "football_armor_red" inhand_icon_state = "football_armor_red" body_parts_covered = CHEST|GROIN|LEGS|ARMS - diff --git a/code/modules/clothing/suits/moth.dm b/code/modules/clothing/suits/moth.dm index e366d5e2cca..d0997c09457 100644 --- a/code/modules/clothing/suits/moth.dm +++ b/code/modules/clothing/suits/moth.dm @@ -25,3 +25,4 @@ body_parts_covered = CHEST|GROIN|ARMS|LEGS cold_protection = CHEST|GROIN|ARMS|LEGS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON diff --git a/code/modules/clothing/under/_under.dm b/code/modules/clothing/under/_under.dm index ea05b76da70..0a607c2f0bf 100644 --- a/code/modules/clothing/under/_under.dm +++ b/code/modules/clothing/under/_under.dm @@ -20,7 +20,6 @@ var/alt_covers_chest = FALSE // for adjusted/rolled-down jumpsuits, FALSE = exposes chest and arms, TRUE = exposes arms only var/obj/item/clothing/accessory/attached_accessory var/mutable_appearance/accessory_overlay - var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to. var/freshly_laundered = FALSE /obj/item/clothing/under/Initialize(mapload) @@ -102,9 +101,9 @@ if(!alt_covers_chest) body_parts_covered |= CHEST - if(mutantrace_variation && ishuman(user)) + if((supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION) && ishuman(user)) var/mob/living/carbon/human/H = user - if(DIGITIGRADE in H.dna.species.species_traits) + if(H.dna.species.bodytype & BODYTYPE_DIGITIGRADE) adjusted = DIGITIGRADE_STYLE H.update_inv_w_uniform() @@ -327,7 +326,7 @@ return adjusted for(var/zone in list(BODY_ZONE_CHEST, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) // ugly check to make sure we don't reenable protection on a disabled part if(damage_by_parts[zone] > limb_integrity) - for(var/part in zone2body_parts_covered(zone)) + for(var/part in body_zone2cover_flags(zone)) body_parts_covered &= part return adjusted diff --git a/code/modules/clothing/under/color.dm b/code/modules/clothing/under/color.dm index 5115a2154a7..9390422e4d1 100644 --- a/code/modules/clothing/under/color.dm +++ b/code/modules/clothing/under/color.dm @@ -19,7 +19,8 @@ dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY icon_state = "jumpskirt" - greyscale_config_worn_digi = null + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON + greyscale_config_worn_digi = null // SKYRAT EDIT ADDITION /// Returns a random, acceptable jumpsuit typepath /proc/get_random_jumpsuit() diff --git a/code/modules/clothing/under/costume.dm b/code/modules/clothing/under/costume.dm index 1b6d8beb0dc..6dbffe2be03 100644 --- a/code/modules/clothing/under/costume.dm +++ b/code/modules/clothing/under/costume.dm @@ -98,6 +98,7 @@ inhand_icon_state = "gladiator" body_parts_covered = CHEST|GROIN|ARMS female_sprite_flags = NO_FEMALE_UNIFORM + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON can_adjust = FALSE resistance_flags = NONE @@ -112,6 +113,7 @@ inhand_icon_state = "maid" body_parts_covered = CHEST|GROIN female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON can_adjust = FALSE /obj/item/clothing/under/costume/maid/Initialize(mapload) diff --git a/code/modules/clothing/under/jobs/cargo.dm b/code/modules/clothing/under/jobs/cargo.dm index d68f4b9e141..4c8d6b06f8e 100644 --- a/code/modules/clothing/under/jobs/cargo.dm +++ b/code/modules/clothing/under/jobs/cargo.dm @@ -16,6 +16,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/cargo/tech name = "cargo technician's jumpsuit" @@ -23,16 +24,17 @@ icon_state = "cargotech" inhand_icon_state = "lb_suit" body_parts_covered = CHEST|GROIN|ARMS - mutantrace_variation = MUTANTRACE_VARIATION + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION alt_covers_chest = TRUE + /obj/item/clothing/under/rank/cargo/tech/skirt name = "cargo technician's jumpskirt" desc = "Skiiiiirts! They're comfy and easy to wear!" icon_state = "cargo_skirt" inhand_icon_state = "lb_suit" body_parts_covered = CHEST|GROIN|ARMS - mutantrace_variation = NO_MUTANTRACE_VARIATION + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY diff --git a/code/modules/clothing/under/jobs/centcom.dm b/code/modules/clothing/under/jobs/centcom.dm index 6501cda85b0..3148e185f19 100644 --- a/code/modules/clothing/under/jobs/centcom.dm +++ b/code/modules/clothing/under/jobs/centcom.dm @@ -34,6 +34,7 @@ alt_covers_chest = TRUE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY body_parts_covered = CHEST|GROIN|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/centcom/officer_skirt/replica name = "\improper CentCom turtleneck skirt replica" @@ -46,6 +47,7 @@ inhand_icon_state = "dg_suit" female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY body_parts_covered = CHEST|GROIN|ARMS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/centcom/military name = "tactical combat uniform" diff --git a/code/modules/clothing/under/jobs/civilian/civilian.dm b/code/modules/clothing/under/jobs/civilian/civilian.dm index 66d3a772eb9..044e9587f9b 100644 --- a/code/modules/clothing/under/jobs/civilian/civilian.dm +++ b/code/modules/clothing/under/jobs/civilian/civilian.dm @@ -25,6 +25,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/chaplain desc = "It's a black jumpsuit, often worn by religious folk." @@ -41,6 +42,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/chef name = "cook's suit" @@ -55,6 +57,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/head_of_personnel desc = "It's a jumpsuit worn by someone who works in the position of \"Head of Personnel\"." @@ -70,6 +73,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/head_of_personnel/suit name = "head of personnel's suit" @@ -86,6 +90,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/hydroponics desc = "It's a jumpsuit designed to protect against minor plant-related hazards." @@ -102,6 +107,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/janitor desc = "It's the official uniform of the station's janitor. It has minor protection from biohazards." @@ -116,6 +122,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/janitor/maid name = "maid uniform" @@ -148,6 +155,7 @@ inhand_icon_state = "lawyer_black" dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/lawyer/beige name = "good lawyer's suit" @@ -164,6 +172,7 @@ worn_icon = 'icons/mob/clothing/under/suits.dmi' dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/lawyer/red name = "lawyer red suit" @@ -176,6 +185,7 @@ inhand_icon_state = "lawyer_red" dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/lawyer/blue name = "lawyer blue suit" @@ -188,6 +198,7 @@ inhand_icon_state = "lawyer_blue" dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/lawyer/bluesuit name = "blue suit" @@ -205,6 +216,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/lawyer/purpsuit name = "purple suit" @@ -221,6 +233,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/lawyer/galaxy worn_icon = 'icons/mob/clothing/under/lawyer_galaxy.dmi' diff --git a/code/modules/clothing/under/jobs/civilian/clown_mime.dm b/code/modules/clothing/under/jobs/civilian/clown_mime.dm index c9a1d67dd86..bbc66075c1e 100644 --- a/code/modules/clothing/under/jobs/civilian/clown_mime.dm +++ b/code/modules/clothing/under/jobs/civilian/clown_mime.dm @@ -13,6 +13,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/mime/sexy name = "sexy mime outfit" diff --git a/code/modules/clothing/under/jobs/civilian/curator.dm b/code/modules/clothing/under/jobs/civilian/curator.dm index 86a8683d56f..f9d822d6130 100644 --- a/code/modules/clothing/under/jobs/civilian/curator.dm +++ b/code/modules/clothing/under/jobs/civilian/curator.dm @@ -18,6 +18,7 @@ can_adjust = FALSE dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/civilian/curator/treasure_hunter name = "treasure hunter uniform" diff --git a/code/modules/clothing/under/jobs/command.dm b/code/modules/clothing/under/jobs/command.dm index 4a399c2f14b..3969c980da3 100644 --- a/code/modules/clothing/under/jobs/command.dm +++ b/code/modules/clothing/under/jobs/command.dm @@ -33,6 +33,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/captain/parade name = "captain's formal uniform" diff --git a/code/modules/clothing/under/jobs/engineering.dm b/code/modules/clothing/under/jobs/engineering.dm index 3ae5668db3c..bd95efc8830 100644 --- a/code/modules/clothing/under/jobs/engineering.dm +++ b/code/modules/clothing/under/jobs/engineering.dm @@ -21,6 +21,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/engineering/atmospheric_technician desc = "It's a jumpsuit worn by atmospheric technicians. Made from fire resistant materials." @@ -36,6 +37,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/engineering/engineer desc = "It's an orange high visibility jumpsuit worn by engineers. Made from fire resistant materials." @@ -59,3 +61,4 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON diff --git a/code/modules/clothing/under/jobs/medical.dm b/code/modules/clothing/under/jobs/medical.dm index cbd86a4fb51..3b2a6bf682d 100644 --- a/code/modules/clothing/under/jobs/medical.dm +++ b/code/modules/clothing/under/jobs/medical.dm @@ -18,6 +18,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/medical/chief_medical_officer desc = "It's a jumpsuit worn by those with the experience to be \"Chief Medical Officer\". It provides minor biological protection." @@ -33,6 +34,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/medical/chief_medical_officer/turtleneck name = "chief medical officer's turtleneck" @@ -51,6 +53,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/medical/virologist desc = "It's made of a special fiber that gives special protection against biohazards. It has a virologist rank stripe on it." @@ -66,6 +69,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/medical/scrubs name = "medical scrubs" @@ -98,6 +102,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/medical/paramedic desc = "It's made of a special fiber that provides minor protection against biohazards. It has a dark blue cross on the chest denoting that the wearer is a trained paramedic." @@ -116,6 +121,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/medical/doctor/nurse desc = "It's a jumpsuit commonly worn by nursing staff in the medical department." diff --git a/code/modules/clothing/under/jobs/rnd.dm b/code/modules/clothing/under/jobs/rnd.dm index ed1a2d3ae78..1d657056b76 100644 --- a/code/modules/clothing/under/jobs/rnd.dm +++ b/code/modules/clothing/under/jobs/rnd.dm @@ -23,6 +23,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/rnd/research_director/alt desc = "Maybe you'll engineer your own half-man, half-pig creature some day. Its fabric provides minor protection from biological contaminants." @@ -40,6 +41,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/rnd/research_director/turtleneck desc = "A dark purple turtleneck and tan khakis, for a director with a superior sense of style." @@ -57,6 +59,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/rnd/scientist desc = "It's made of a special fiber that provides minor protection against explosives. It has markings that denote the wearer as a scientist." @@ -73,6 +76,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/rnd/roboticist desc = "It's a slimming black with reinforced seams; great for industrial work." @@ -89,6 +93,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/rnd/geneticist desc = "It's made of a special fiber that gives special protection against biohazards. It has a genetics rank stripe on it." @@ -106,3 +111,4 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON diff --git a/code/modules/clothing/under/jobs/security.dm b/code/modules/clothing/under/jobs/security.dm index e500fd2f91c..12b4e40f18d 100644 --- a/code/modules/clothing/under/jobs/security.dm +++ b/code/modules/clothing/under/jobs/security.dm @@ -37,6 +37,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/security/officer/blueshirt name = "blue shirt and tie" @@ -81,6 +82,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/security/warden/formal desc = "The insignia on this uniform tells you that this uniform belongs to the Warden." @@ -108,6 +110,7 @@ dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY alt_covers_chest = TRUE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/security/detective/noir name = "noir suit" @@ -125,6 +128,7 @@ dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY alt_covers_chest = TRUE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /* * Head of Security @@ -145,6 +149,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/security/head_of_security/grey name = "head of security's grey jumpsuit" @@ -168,6 +173,7 @@ dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY alt_covers_chest = TRUE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/security/head_of_security/parade name = "head of security's parade uniform" @@ -230,6 +236,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/rank/security/officer/beatcop name = "space police uniform" diff --git a/code/modules/clothing/under/shorts.dm b/code/modules/clothing/under/shorts.dm index d523b63b014..6c409b98ca1 100644 --- a/code/modules/clothing/under/shorts.dm +++ b/code/modules/clothing/under/shorts.dm @@ -4,7 +4,7 @@ gender = PLURAL body_parts_covered = GROIN female_sprite_flags = NO_FEMALE_UNIFORM - mutantrace_variation = MUTANTRACE_VARIATION + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION can_adjust = FALSE icon = 'icons/obj/clothing/under/shorts_pants.dmi' worn_icon = 'icons/mob/clothing/under/shorts_pants.dmi' diff --git a/code/modules/clothing/under/skirt_dress.dm b/code/modules/clothing/under/skirt_dress.dm index f3a7521b804..e5b964ca2f7 100644 --- a/code/modules/clothing/under/skirt_dress.dm +++ b/code/modules/clothing/under/skirt_dress.dm @@ -2,6 +2,7 @@ female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY can_adjust = FALSE body_parts_covered = CHEST|GROIN + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON icon = 'icons/obj/clothing/under/dress.dmi' worn_icon = 'icons/mob/clothing/under/dress.dmi' diff --git a/code/modules/clothing/under/suits.dm b/code/modules/clothing/under/suits.dm index a9cbc662580..f148cc16683 100644 --- a/code/modules/clothing/under/suits.dm +++ b/code/modules/clothing/under/suits.dm @@ -18,6 +18,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY|FEMALE_UNIFORM_NO_BREASTS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/suit/sl desc = "It's a very amish looking suit." @@ -53,6 +54,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY|FEMALE_UNIFORM_NO_BREASTS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/suit/black_really name = "executive suit" @@ -68,6 +70,7 @@ body_parts_covered = CHEST|GROIN|ARMS dying_key = DYE_REGISTRY_JUMPSKIRT female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY|FEMALE_UNIFORM_NO_BREASTS + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/suit/green name = "green suit" diff --git a/code/modules/clothing/under/syndicate.dm b/code/modules/clothing/under/syndicate.dm index 7b1a73a6ae6..6203b5f834c 100644 --- a/code/modules/clothing/under/syndicate.dm +++ b/code/modules/clothing/under/syndicate.dm @@ -19,6 +19,7 @@ alt_covers_chest = TRUE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY dying_key = DYE_REGISTRY_JUMPSKIRT + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/syndicate/bloodred name = "blood-red sneaksuit" @@ -51,6 +52,7 @@ armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 40) female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY dying_key = DYE_REGISTRY_JUMPSKIRT + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON /obj/item/clothing/under/syndicate/sniper name = "tactical turtleneck suit" diff --git a/code/modules/games/wizoff.dm b/code/modules/games/wizoff.dm index 05044ea392d..73be649593a 100644 --- a/code/modules/games/wizoff.dm +++ b/code/modules/games/wizoff.dm @@ -13,13 +13,14 @@ cards += generate_card("[card]") /obj/item/toy/cards/deck/wizoff/examine_more(mob/user) - var/list/msg = list(span_notice("Remember the rules of Wiz-Off!")) - msg += "\t[span_info("Each player draws 5 cards.")]" - msg += "\t[span_info("There are five rounds. Each round, a player selects a card to play, and the winner is selected based on the following rules:")]" - msg += "\t[span_info("Defensive beats Offensive!")]" - msg += "\t[span_info("Offensive beats Utility!")]" - msg += "\t[span_info("Utility beats Defensive!")]" - msg += "\t[span_info("If both players play the same type of spell, the higher number wins!")]" - msg += "\t[span_info("The player who wins the most of the 5 rounds wins the game!")]" - msg += "\t[span_notice("Now get ready to battle for the fate of the universe: Wiz-Off!")]" - return msg + . = ..() + . += span_notice("Remember the rules of Wiz-Off!") + . += "\t[span_info("Each player draws 5 cards.")]" + . += "\t[span_info("There are five rounds. Each round, a player selects a card to play, and the winner is selected based on the following rules:")]" + . += "\t[span_info("Defensive beats Offensive!")]" + . += "\t[span_info("Offensive beats Utility!")]" + . += "\t[span_info("Utility beats Defensive!")]" + . += "\t[span_info("If both players play the same type of spell, the higher number wins!")]" + . += "\t[span_info("The player who wins the most of the 5 rounds wins the game!")]" + . += "\t[span_notice("Now get ready to battle for the fate of the universe: Wiz-Off!")]" + return . diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm index f51eb02977f..957e39b6140 100644 --- a/code/modules/jobs/job_types/_job.dm +++ b/code/modules/jobs/job_types/_job.dm @@ -455,7 +455,7 @@ if(require_human) player_client.prefs.randomise["species"] = FALSE player_client.prefs.safe_transfer_prefs_to(src, TRUE, is_antag) - if (require_human && !ishumanbasic(src)) + if(require_human && !ishumanbasic(src)) set_species(/datum/species/human) dna.species.roundstart_changed = TRUE apply_pref_name(/datum/preference/name/backup_human, player_client) diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index e7a553a830c..4b0aa909926 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -205,7 +205,7 @@ worn_icon_state = "[base_icon_state]_impregnated" var/obj/item/bodypart/chest/LC = target.get_bodypart(BODY_ZONE_CHEST) - if((!LC || LC.status != BODYPART_ROBOTIC) && !target.getorgan(/obj/item/organ/body_egg/alien_embryo)) + if((!LC || IS_ORGANIC_LIMB(LC)) && !target.getorgan(/obj/item/organ/body_egg/alien_embryo)) new /obj/item/organ/body_egg/alien_embryo(target) var/turf/T = get_turf(target) log_game("[key_name(target)] was impregnated by a facehugger at [loc_name(T)]") diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index a5b50415158..9aff312e48c 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -1,7 +1,6 @@ /mob/living/carbon/Initialize(mapload) . = ..() create_reagents(1000, REAGENT_HOLDER_ALIVE) - assign_bodypart_ownership() update_body_parts() //to update the carbon's new bodyparts appearance register_context() @@ -356,7 +355,7 @@ return FALSE visible_message(span_danger("[src] manages to [cuff_break ? "break" : "remove"] [I]!")) to_chat(src, span_notice("You successfully [cuff_break ? "break" : "remove"] [I].")) - + if(cuff_break) . = !((I == handcuffed) || (I == legcuffed)) qdel(I) @@ -1013,6 +1012,7 @@ ///Proc to hook behavior on bodypart additions. /mob/living/carbon/proc/add_bodypart(obj/item/bodypart/new_bodypart) bodyparts += new_bodypart + new_bodypart.owner = src switch(new_bodypart.body_part) if(LEG_LEFT, LEG_RIGHT) @@ -1028,7 +1028,6 @@ ///Proc to hook behavior on bodypart removals. /mob/living/carbon/proc/remove_bodypart(obj/item/bodypart/old_bodypart) bodyparts -= old_bodypart - switch(old_bodypart.body_part) if(LEG_LEFT, LEG_RIGHT) set_num_legs(num_legs - 1) @@ -1062,43 +1061,52 @@ if(href_list[VV_HK_MODIFY_BODYPART]) if(!check_rights(R_SPAWN)) return - var/edit_action = input(usr, "What would you like to do?","Modify Body Part") as null|anything in list("add","remove", "augment") + var/edit_action = input(usr, "What would you like to do?","Modify Body Part") as null|anything in list("replace","remove") if(!edit_action) return var/list/limb_list = list() - if(edit_action == "remove" || edit_action == "augment") - for(var/obj/item/bodypart/B in bodyparts) + if(edit_action == "remove") + for(var/obj/item/bodypart/B as anything in bodyparts) limb_list += B.body_zone - if(edit_action == "remove") limb_list -= BODY_ZONE_CHEST else - limb_list = list(BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG) - for(var/obj/item/bodypart/B in bodyparts) - limb_list -= B.body_zone - var/result = input(usr, "Please choose which body part to [edit_action]","[capitalize(edit_action)] Body Part") as null|anything in sort_list(limb_list) + limb_list = list(BODY_ZONE_HEAD, BODY_ZONE_L_ARM, BODY_ZONE_R_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_LEG, BODY_ZONE_CHEST) + var/result = input(usr, "Please choose which bodypart to [edit_action]","[capitalize(edit_action)] Bodypart") as null|anything in sort_list(limb_list) if(result) var/obj/item/bodypart/BP = get_bodypart(result) + var/list/limbtypes = list() + switch(result) + if(BODY_ZONE_CHEST) + limbtypes = typesof(/obj/item/bodypart/chest) + if(BODY_ZONE_R_ARM) + limbtypes = typesof(/obj/item/bodypart/r_arm) + if(BODY_ZONE_L_ARM) + limbtypes = typesof(/obj/item/bodypart/l_arm) + if(BODY_ZONE_HEAD) + limbtypes = typesof(/obj/item/bodypart/head) + if(BODY_ZONE_L_LEG) + limbtypes = typesof(/obj/item/bodypart/l_leg) + if(BODY_ZONE_R_LEG) + limbtypes = typesof(/obj/item/bodypart/r_leg) switch(edit_action) if("remove") if(BP) - BP.drop_limb() + BP.drop_limb(special = TRUE) + admin_ticket_log("[key_name_admin(usr)] has removed [src]'s [parse_zone(BP.body_zone)]") else to_chat(usr, span_boldwarning("[src] doesn't have such bodypart.")) - if("add") - if(BP) - to_chat(usr, span_boldwarning("[src] already has such bodypart.")) + admin_ticket_log("[key_name_admin(usr)] has attempted to modify the bodyparts of [src]") + if("replace") + var/limb2add = input(usr, "Select a bodypart type to add", "Add/Replace Bodypart") as null|anything in sort_list(limbtypes) + var/obj/item/bodypart/new_bp = new limb2add() + + if(new_bp.replace_limb(src, special = TRUE)) + admin_ticket_log("key_name_admin(usr)] has replaced [src]'s [BP.type] with [new_bp.type]") + qdel(BP) else - if(!regenerate_limb(result)) - to_chat(usr, span_boldwarning("[src] cannot have such bodypart.")) - if("augment") - if(ishuman(src)) - if(BP) - BP.change_bodypart_status(BODYPART_ROBOTIC, TRUE, TRUE) - else - to_chat(usr, span_boldwarning("[src] doesn't have such bodypart.")) - else - to_chat(usr, span_boldwarning("Only humans can be augmented.")) - admin_ticket_log("[key_name_admin(usr)] has modified the bodyparts of [src]") + to_chat(usr, "Failed to replace bodypart! They might be incompatible.") + admin_ticket_log("[key_name_admin(usr)] has attempted to modify the bodyparts of [src]") + if(href_list[VV_HK_MAKE_AI]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index dbb2a4415fd..743c83c340c 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -84,11 +84,11 @@ if(!affecting) //missing limb? we select the first bodypart (you can never have zero, because of chest) affecting = bodyparts[1] SEND_SIGNAL(I, COMSIG_ITEM_ATTACK_ZONE, src, user, affecting) - send_item_attack_message(I, user, affecting.name, affecting) + send_item_attack_message(I, user, parse_zone(affecting.body_zone), affecting) if(I.force) var/attack_direction = get_dir(user, src) apply_damage(I.force, I.damtype, affecting, wound_bonus = I.wound_bonus, bare_wound_bonus = I.bare_wound_bonus, sharpness = I.get_sharpness(), attack_direction = attack_direction) - if(I.damtype == BRUTE && affecting.status == BODYPART_ORGANIC) + if(I.damtype == BRUTE && IS_ORGANIC_LIMB(affecting)) if(prob(33)) I.add_mob_blood(src) var/turf/location = get_turf(src) @@ -721,7 +721,7 @@ . = health for (var/_limb in bodyparts) var/obj/item/bodypart/limb = _limb - if (limb.status != BODYPART_ORGANIC) + if (!IS_ORGANIC_LIMB(limb)) . += (limb.brute_dam * limb.body_damage_coeff) + (limb.burn_dam * limb.body_damage_coeff) /mob/living/carbon/grabbedby(mob/living/carbon/user, supress_message = FALSE) diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index e644bdd7171..d9348f670bd 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -74,7 +74,8 @@ /// A collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems) var/list/hand_bodyparts = list() - var/icon_render_key = "" + ///A cache of bodypart = icon to prevent excessive icon creation. + var/list/icon_render_keys = list() var/static/list/limb_icon_cache = list() //halucination vars diff --git a/code/modules/mob/living/carbon/carbon_update_icons.dm b/code/modules/mob/living/carbon/carbon_update_icons.dm index b0a60b82147..eb6d8405298 100644 --- a/code/modules/mob/living/carbon/carbon_update_icons.dm +++ b/code/modules/mob/living/carbon/carbon_update_icons.dm @@ -40,10 +40,12 @@ /mob/living/carbon/regenerate_icons() if(notransform) return 1 + icon_render_keys = list() //Clear this bad larry out update_inv_hands() update_inv_handcuffed() update_inv_legcuffed() update_fire() + update_body_parts() /mob/living/carbon/update_inv_hands() @@ -240,92 +242,115 @@ . += emissive_blocker(standing.icon, standing.icon_state, alpha = standing.alpha) -/mob/living/carbon/update_body() - update_body_parts() +/mob/living/carbon/update_body(is_creating) + update_body_parts(is_creating) -/mob/living/carbon/proc/assign_bodypart_ownership() - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - BP.original_owner = WEAKREF(src) +///Checks to see if any bodyparts need to be redrawn, then does so. update_limb_data = TRUE redraws the limbs to conform to the owner. +/mob/living/carbon/proc/update_body_parts(update_limb_data) + update_damage_overlays() + update_wound_overlays() + var/list/needs_update = list() + var/limb_count_update = FALSE + for(var/obj/item/bodypart/limb as anything in bodyparts) + limb.update_limb(is_creating = update_limb_data) //Update limb actually doesn't do much, get_limb_icon is the cpu eater. + var/old_key = icon_render_keys?[limb.body_zone] //Checks the mob's icon render key list for the bodypart + icon_render_keys[limb.body_zone] = (limb.is_husked) ? limb.generate_husk_key().Join() : limb.generate_icon_key().Join() //Generates a key for the current bodypart + if(!(icon_render_keys[limb.body_zone] == old_key)) //If the keys match, that means the limb doesn't need to be redrawn + needs_update += limb -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* -/mob/living/carbon/proc/update_body_parts() - //CHECK FOR UPDATE - var/oldkey = icon_render_key - icon_render_key = generate_icon_render_key() - if(oldkey == icon_render_key) + + var/list/missing_bodyparts = get_missing_limbs() + if(((dna ? dna.species.max_bodypart_count : BODYPARTS_DEFAULT_MAXIMUM) - icon_render_keys.len) != missing_bodyparts.len) //Checks to see if the target gained or lost any limbs. + limb_count_update = TRUE + for(var/missing_limb in missing_bodyparts) + icon_render_keys -= missing_limb //Removes dismembered limbs from the key list + + if(!needs_update.len && !limb_count_update) return remove_overlay(BODYPARTS_LAYER) - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - BP.update_limb() - - //LOAD ICONS - if(limb_icon_cache[icon_render_key]) - load_limb_from_cache() - return - //GENERATE NEW LIMBS var/list/new_limbs = list() - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - new_limbs += BP.get_limb_icon() + for(var/obj/item/bodypart/limb as anything in bodyparts) + if(limb in needs_update) //Checks to see if the limb needs to be redrawn + var/bodypart_icon = limb.get_limb_icon() + new_limbs += bodypart_icon + limb_icon_cache[icon_render_keys[limb.body_zone]] = bodypart_icon //Caches the icon with the bodypart key, as it is new + else + new_limbs += limb_icon_cache[icon_render_keys[limb.body_zone]] //Pulls existing sprites from the cache + if(new_limbs.len) overlays_standing[BODYPARTS_LAYER] = new_limbs - limb_icon_cache[icon_render_key] = new_limbs apply_overlay(BODYPARTS_LAYER) - update_damage_overlays() - update_wound_overlays() -*/ -//SKYRAT EDIT REMOVAL END +///////////////////////// +// Limb Icon Cache 2.0 // +///////////////////////// +/** + * Called from update_body_parts() these procs handle the limb icon cache. + * the limb icon cache adds an icon_render_key to a human mob, it represents: + * - Gender, if applicable + * - The ID of the limb + * - Draw color, if applicable + * These procs only store limbs as to increase the number of matching icon_render_keys + * This cache exists because drawing 6/7 icons for humans constantly is quite a waste + * See RemieRichards on irc.rizon.net #coderbus (RIP remie :sob:) +**/ +/obj/item/bodypart/proc/generate_icon_key() + RETURN_TYPE(/list) + . = list() + if(is_dimorphic) + . += "[limb_gender]-" + . += "[limb_id]" + . += "-[body_zone]" + if(should_draw_greyscale && draw_color) + . += "-[draw_color]" + for(var/obj/item/organ/external/external_organ as anything in external_organs) + if(!external_organ.can_draw_on_bodypart(owner)) + continue + . += "-[external_organ.generate_icon_cache()]" + // SKYRAT EDIT ADDITION - CACHING MARKINGS + for(var/key in markings) + . += limb_id == "digitigrade" ? ("digitigrade_1_" + body_zone) : body_zone + . += "-[key]" + . += "-[markings[key][1]]" + // SKYRAT EDIT END -///////////////////// -// Limb Icon Cache // -///////////////////// -/* - Called from update_body_parts() these procs handle the limb icon cache. - the limb icon cache adds an icon_render_key to a human mob, it represents: - - skin_tone (if applicable) - - gender - - limbs (stores as the limb name and whether it is removed/fine, organic/robotic) - These procs only store limbs as to increase the number of matching icon_render_keys - This cache exists because drawing 6/7 icons for humans constantly is quite a waste - See RemieRichards on irc.rizon.net #coderbus (RIP remie :sob:) -*/ + return . -//produces a key based on the mob's limbs +///Generates a cache key specifically for husks +/obj/item/bodypart/proc/generate_husk_key() + RETURN_TYPE(/list) + . = list() + . += "[husk_type]" + . += "-husk" + . += "-[body_zone]" + return . -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* -/mob/living/carbon/proc/generate_icon_render_key() - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - . += "-[BP.body_zone]" - if(BP.use_digitigrade) - . += "-digitigrade[BP.use_digitigrade]" - if(BP.animal_origin) - . += "-[BP.animal_origin]" - if(BP.status == BODYPART_ORGANIC) - . += "-organic" - else - . += "-robotic" +/obj/item/bodypart/head/generate_icon_key() + . = ..() + . += "-[facial_hairstyle]" + . += "-[facial_hair_color]" + if(facial_hair_gradient_style) + . += "-[facial_hair_gradient_style]" + if(hair_gradient_color) + . += "-[facial_hair_gradient_color]" + if(facial_hair_hidden) + . += "-FACIAL_HAIR_HIDDEN" + if(show_debrained) + . += "-SHOW_DEBRAINED" + return . - if(HAS_TRAIT(src, TRAIT_HUSK)) - . += "-husk" -*/ -//SKYRAT EDIT REMOVAL END + . += "-[hair_style]" + . += "-[fixed_hair_color || override_hair_color || hair_color]" + if(hair_gradient_style) + . += "-[hair_gradient_style]" + if(hair_gradient_color) + . += "-[hair_gradient_color]" + if(hair_hidden) + . += "-HAIR_HIDDEN" - -//change the mob's icon to the one matching its key -/mob/living/carbon/proc/load_limb_from_cache() - if(limb_icon_cache[icon_render_key]) - remove_overlay(BODYPARTS_LAYER) - overlays_standing[BODYPARTS_LAYER] = limb_icon_cache[icon_render_key] - apply_overlay(BODYPARTS_LAYER) - update_damage_overlays() + return . diff --git a/code/modules/mob/living/carbon/damage_procs.dm b/code/modules/mob/living/carbon/damage_procs.dm index 65d410c314c..bac5a8dcc38 100644 --- a/code/modules/mob/living/carbon/damage_procs.dm +++ b/code/modules/mob/living/carbon/damage_procs.dm @@ -68,7 +68,7 @@ if(amount > 0) take_overall_damage(amount, 0, 0, updating_health, required_status) else - heal_overall_damage(abs(amount), 0, 0, required_status ? required_status : BODYPART_ORGANIC, updating_health) + heal_overall_damage(abs(amount), 0, 0, required_status ? required_status : BODYTYPE_ORGANIC, updating_health) return amount /mob/living/carbon/adjustFireLoss(amount, updating_health = TRUE, forced = FALSE, required_status) @@ -77,7 +77,7 @@ if(amount > 0) take_overall_damage(0, amount, 0, updating_health, required_status) else - heal_overall_damage(0, abs(amount), 0, required_status ? required_status : BODYPART_ORGANIC, updating_health) + heal_overall_damage(0, abs(amount), 0, required_status ? required_status : BODYTYPE_ORGANIC, updating_health) return amount /mob/living/carbon/adjustToxLoss(amount, updating_health = TRUE, forced = FALSE) @@ -159,7 +159,7 @@ var/list/obj/item/bodypart/parts = list() for(var/X in bodyparts) var/obj/item/bodypart/BP = X - if(status && (BP.status != status)) + if(status && !(BP.bodytype & status)) continue if((brute && BP.brute_dam) || (burn && BP.burn_dam) || (stamina && BP.stamina_dam)) parts += BP @@ -170,7 +170,7 @@ var/list/obj/item/bodypart/parts = list() for(var/X in bodyparts) var/obj/item/bodypart/BP = X - if(status && (BP.status != status)) + if(status && !(BP.bodytype & status)) continue if(BP.brute_dam + BP.burn_dam < BP.max_damage) parts += BP diff --git a/code/modules/mob/living/carbon/examine.dm b/code/modules/mob/living/carbon/examine.dm index 4a82310b5d0..f25b08cd523 100644 --- a/code/modules/mob/living/carbon/examine.dm +++ b/code/modules/mob/living/carbon/examine.dm @@ -157,8 +157,16 @@ //SKYRAT EDIT REMOVAL - MOVED - MEDICAL /* /mob/living/carbon/examine_more(mob/user) - if(!all_scars) - return ..() + . = ..() + . += span_notice("You examine [src] closer, and note the following...") + + //On closer inspection, this man isnt a man at all! + var/list/covered_zones = get_covered_body_zones() + for(var/obj/item/bodypart/part as anything in bodyparts) + if(part.body_zone in covered_zones) + continue + if(part.limb_id != (dna.species.examine_limb_id ? dna.species.examine_limb_id : dna.species.id)) + . += "[span_info("[p_they(TRUE)] [p_have()] \an [part.name].")]" var/list/visible_scars for(var/i in all_scars) @@ -166,15 +174,11 @@ if(S.is_visible(user)) LAZYADD(visible_scars, S) - if(!visible_scars) - return ..() - - var/msg = list(span_notice("You examine [src] closer, and note the following...")) for(var/i in visible_scars) var/datum/scar/S = i var/scar_text = S.get_examine_description(user) if(scar_text) - msg += "[scar_text]" + . += "[scar_text]" - return msg + return . */ diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index c76db5b88c5..d7d780537e2 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -46,7 +46,7 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) //Instead of just deleting our equipment, we save what we can and reinsert it into SSwardrobe's store //Hopefully this makes preference reloading not the worst thing ever /mob/living/carbon/human/dummy/delete_equipment() - var/list/items_to_check = get_all_slots() + held_items + var/list/items_to_check = get_all_worn_items() + held_items var/list/to_nuke = list() //List of items queued for deletion, can't qdel them before iterating their contents in case they hold something ///Travel to the bottom of the contents chain, expanding it out for(var/i = 1; i <= length(items_to_check); i++) //Needs to be a c style loop since it can expand diff --git a/code/modules/mob/living/carbon/human/examine.dm b/code/modules/mob/living/carbon/human/examine.dm index f775ca22f26..8c959acabea 100644 --- a/code/modules/mob/living/carbon/human/examine.dm +++ b/code/modules/mob/living/carbon/human/examine.dm @@ -9,14 +9,15 @@ var/t_es = p_es() var/obscure_name + var/obscured = check_obscured_slots() + var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) + if(isliving(user)) var/mob/living/L = user if(HAS_TRAIT(L, TRAIT_PROSOPAGNOSIA) || HAS_TRAIT(L, TRAIT_INVISIBLE_MAN)) obscure_name = TRUE //SKYRAT EDIT CHANGE BEGIN - CUSTOMIZATION - var/obscured = check_obscured_slots() - var/skipface = (wear_mask && (wear_mask.flags_inv & HIDEFACE)) || (head && (head.flags_inv & HIDEFACE)) var/species_visible var/species_name_string if(skipface || get_visible_name() == "Unknown") @@ -38,6 +39,13 @@ else . += "You can't make out what species they are." //SKYRAT EDIT CHANGE END + + /* SKYRAT EDIT REMOVAL + var/apparent_species + if(dna?.species && !skipface) + apparent_species = ", \an [dna.species.name]" + . = list("*---------*\nThis is [!obscure_name ? name : "Unknown"][apparent_species]!") + */ //uniform if(w_uniform && !(obscured & ITEM_SLOT_ICLOTHING) && !(w_uniform.item_flags & EXAMINE_SKIP)) //accessory diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index 7a422477de0..ad4c8ea2f70 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -8,6 +8,7 @@ create_bodyparts() setup_human_dna() + prepare_huds() //Prevents a nasty runtime on human init if(dna.species) INVOKE_ASYNC(src, .proc/set_species, dna.species.type) @@ -509,8 +510,7 @@ facial_hairstyle = "Shaved" hairstyle = pick("Bedhead", "Bedhead 2", "Bedhead 3") underwear = "Nude" - update_body() - update_hair() + update_body(is_creating = TRUE) /mob/living/carbon/human/singularity_pull(S, current_size) ..() @@ -1193,12 +1193,6 @@ /mob/living/carbon/human/species/snail race = /datum/species/snail -/mob/living/carbon/human/species/synth - race = /datum/species/synth - -/mob/living/carbon/human/species/synth/military - race = /datum/species/synth/military - /mob/living/carbon/human/species/vampire race = /datum/species/vampire @@ -1207,6 +1201,3 @@ /mob/living/carbon/human/species/zombie/infectious race = /datum/species/zombie/infectious - -/mob/living/carbon/human/species/zombie/krokodil_addict - race = /datum/species/krokodil_addict diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm index 8a3f30723f5..4c5f8c7f946 100644 --- a/code/modules/mob/living/carbon/human/human_defense.dm +++ b/code/modules/mob/living/carbon/human/human_defense.dm @@ -478,7 +478,7 @@ for(var/X in bodyparts) var/obj/item/bodypart/BP = X if(prob(probability) && !prob(getarmor(BP, BOMB)) && BP.body_zone != BODY_ZONE_HEAD && BP.body_zone != BODY_ZONE_CHEST) - BP.brute_dam = BP.max_damage + BP.receive_damage(INFINITY, wound_bonus = CANT_WOUND) //Capped by proc BP.dismember() max_limb_loss-- if(!max_limb_loss) @@ -539,8 +539,8 @@ if(. & EMP_PROTECT_CONTENTS) return var/informed = FALSE - for(var/obj/item/bodypart/L in src.bodyparts) - if(L.status == BODYPART_ROBOTIC) + for(var/obj/item/bodypart/L as anything in src.bodyparts) + if(!IS_ORGANIC_LIMB(L)) if(!informed) to_chat(src, span_userdanger("You feel a sharp pain as your robotic limbs overload.")) informed = TRUE diff --git a/code/modules/mob/living/carbon/human/human_defines.dm b/code/modules/mob/living/carbon/human/human_defines.dm index 6e0b006aa89..0ecd0665627 100644 --- a/code/modules/mob/living/carbon/human/human_defines.dm +++ b/code/modules/mob/living/carbon/human/human_defines.dm @@ -75,7 +75,7 @@ var/hardcore_survival_score = 0 /// Which body type to use - var/body_type = MALE + var/physique = MALE /// How many "units of blood" we have on our hands var/blood_in_hands = 0 diff --git a/code/modules/mob/living/carbon/human/human_update_icons.dm b/code/modules/mob/living/carbon/human/human_update_icons.dm index d399ef9d097..3d26510d85c 100644 --- a/code/modules/mob/living/carbon/human/human_update_icons.dm +++ b/code/modules/mob/living/carbon/human/human_update_icons.dm @@ -1,3 +1,5 @@ +#define RESOLVE_ICON_STATE(worn_item) (worn_item.worn_icon_state || worn_item.icon_state) + /////////////////////// //UPDATE_ICONS SYSTEM// /////////////////////// @@ -6,7 +8,7 @@ This system allows you to update individual mob-overlays, without regenerating t When we generate overlays we generate the standing version and then rotate the mob as necessary.. As of the time of writing there are 20 layers within this list. Please try to keep this from increasing. //22 and counting, good job guys - var/overlays_standing[20] //For the standing stance + var/overlays_standing[20] //For the standing stance Most of the time we only wish to update one overlay: e.g. - we dropped the fireaxe out of our left hand and need to remove its icon from our mob @@ -28,7 +30,7 @@ Note: The defines for layer numbers is now kept exclusvely in __DEFINES/misc.dm All of this means that this code is more maintainable, faster and still fairly easy to use. There are several things that need to be remembered: -> Whenever we do something that should cause an overlay to update (which doesn't use standard procs +> Whenever we do something that should cause an overlay to update (which doesn't use standard procs ( i.e. you do something like l_hand = /obj/item/something new(src), rather than using the helper procs) You will need to call the relevant update_inv_* proc @@ -37,36 +39,37 @@ There are several things that need to be remembered: slime etc. Instead, it'll just return without doing any work. So no harm in calling it for slimes and such. -> There are also these special cases: - update_damage_overlays() //handles damage overlays for brute/burn damage - update_body() //Handles updating your mob's body layer and mutant bodyparts +> There are also these special cases: + update_damage_overlays() //handles damage overlays for brute/burn damage + update_body() //Handles updating your mob's body layer and mutant bodyparts as well as sprite-accessories that didn't really fit elsewhere (underwear, undershirts, socks, lips, eyes) //NOTE: update_mutantrace() is now merged into this! - update_hair() //Handles updating your hair overlay (used to be update_face, but mouth and + update_hair() //Handles updating your hair overlay (used to be update_face, but mouth and eyes were merged into update_body()) */ //HAIR OVERLAY -/mob/living/carbon/human/update_hair() - dna.species.handle_hair(src) +/mob/living/carbon/human/update_hair(is_creating) + var/obj/item/bodypart/head/my_head = get_bodypart(BODY_ZONE_HEAD) + if(!my_head) + return + my_head.update_limb(FALSE, is_creating) + update_body_parts() + -// SKYRAT EDIT REMOVAL - FIXING CUSTOMIZATION(?) (moved to modular) -/* //used when putting/removing clothes that hide certain mutant body parts to just update those and not update the whole body. -/mob/living/carbon/human/proc/update_mutant_bodyparts() - dna.species.handle_mutant_bodyparts(src) -*/ -//SKYRAT EDIT REMOVAL END +/mob/living/carbon/human/proc/update_mutant_bodyparts(force_update = FALSE) // SKYRAT EDIT CHANGE + dna.species.handle_mutant_bodyparts(src, force_update = force_update) // SKYRAT EDIT CHANGE + update_body_parts() - -/mob/living/carbon/human/update_body() +/mob/living/carbon/human/update_body(is_creating = FALSE) dna.species.handle_body(src) ..() /mob/living/carbon/human/update_fire() - ..((fire_stacks > HUMAN_FIRE_STACK_ICON_NUM) ? dna.species.fire_overlay : "Generic_mob_burning") + ..((fire_stacks > HUMAN_FIRE_STACK_ICON_NUM) ? "Standing" : "Generic_mob_burning") /* --------------------------------------- */ @@ -74,7 +77,6 @@ There are several things that need to be remembered: /mob/living/carbon/human/regenerate_icons() if(!..()) - icon_render_key = null //invalidate bodyparts cache update_body() update_hair() update_inv_w_uniform() @@ -100,22 +102,16 @@ There are several things that need to be remembered: /* --------------------------------------- */ //vvvvvv UPDATE_INV PROCS vvvvvv -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* /mob/living/carbon/human/update_inv_w_uniform() remove_overlay(UNIFORM_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_ICLOTHING) + 1] - inv.update_appearance() + inv.update_icon() if(istype(w_uniform, /obj/item/clothing/under)) var/obj/item/clothing/under/U = w_uniform - U.screen_loc = ui_iclothing - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) - client.screen += w_uniform - update_observer_view(w_uniform,1) + update_hud_uniform(U) if(wear_suit && (wear_suit.flags_inv & HIDEJUMPSUIT)) return @@ -124,106 +120,126 @@ There are several things that need to be remembered: var/target_overlay = U.icon_state if(U.adjusted == ALT_STYLE) target_overlay = "[target_overlay]_d" - else if(U.adjusted == DIGITIGRADE_STYLE) - target_overlay = "[target_overlay]_l" - var/mutable_appearance/uniform_overlay - if(dna?.species.sexes) - if(body_type == FEMALE && U.female_sprite_flags != NO_FEMALE_UNIFORM) - uniform_overlay = U.build_worn_icon(default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, femaleuniform = U.female_sprite_flags, override_state = target_overlay) - + //Change check_adjustable_clothing.dm if you change this + var/handled_by_bodytype = TRUE + var/icon_file + var/woman if(!uniform_overlay) - uniform_overlay = U.build_worn_icon(default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_state = target_overlay) + //BEGIN SPECIES HANDLING + if((dna?.species.bodytype & BODYTYPE_DIGITIGRADE) && (U.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) + icon_file = U.worn_icon_digi || DIGITIGRADE_UNIFORM_FILE // SKYRAT EDIT CHANGE - if(OFFSET_UNIFORM in dna.species.offset_features) - uniform_overlay.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] - uniform_overlay.pixel_y += dna.species.offset_features[OFFSET_UNIFORM][2] + // SKYRAT EDIT ADDITION + else if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_UNIFORM_ICON + // SKYRAT EDIT END + + //Female sprites have lower priority than digitigrade sprites + else if(dna.species.sexes && (dna.species.bodytype & BODYTYPE_HUMANOID) && physique == FEMALE && U.adjusted != NO_FEMALE_UNIFORM) //Agggggggghhhhh + woman = TRUE + + if(!icon_exists(icon_file, RESOLVE_ICON_STATE(U))) + icon_file = DEFAULT_UNIFORM_FILE + handled_by_bodytype = FALSE + //END SPECIES HANDLING + uniform_overlay = U.build_worn_icon( + default_layer = UNIFORM_LAYER, + default_icon_file = icon_file, + isinhands = FALSE, + femaleuniform = woman ? U.adjusted : null, + override_state = target_overlay, + override_file = handled_by_bodytype ? icon_file : null + ) + + if(OFFSET_UNIFORM in dna.species.offset_features && !handled_by_bodytype) + uniform_overlay?.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] + uniform_overlay?.pixel_y += dna.species.offset_features[OFFSET_UNIFORM][2] overlays_standing[UNIFORM_LAYER] = uniform_overlay + apply_overlay(UNIFORM_LAYER) - apply_overlay(UNIFORM_LAYER) update_mutant_bodyparts() -*/ -//SKYRAT EDIT REMOVAL END - /mob/living/carbon/human/update_inv_wear_id() remove_overlay(ID_LAYER) - //remove_overlay(ID_CARD_LAYER) //SKYRAT EDIT REMOVAL - Ugly ID if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_ID) + 1] - inv.update_appearance() + inv.update_icon() - //var/mutable_appearance/id_overlay = overlays_standing[ID_LAYER] //SKYRAT EDIT REMOVAL - Ugly ID + var/mutable_appearance/id_overlay = overlays_standing[ID_LAYER] if(wear_id) - wear_id.screen_loc = ui_id - if(client && hud_used?.hud_shown) - client.screen += wear_id - update_observer_view(wear_id) + var/obj/item/worn_item = wear_id + update_hud_id(worn_item) + var/handled_by_bodytype + var/icon_file - //SKYRAT EDIT REMOVAL BEGIN - Ugly ID - /* - //TODO: add an icon file for ID slot stuff, so it's less snowflakey - id_overlay = wear_id.build_worn_icon(default_layer = ID_LAYER, default_icon_file = 'icons/mob/clothing/id.dmi') - if(OFFSET_ID in dna.species.offset_features) + if(!icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = 'icons/mob/mob.dmi' + handled_by_bodytype = FALSE + + id_overlay = wear_id.build_worn_icon(default_layer = ID_LAYER, default_icon_file = icon_file) + + if(!id_overlay) + return + if(OFFSET_ID in dna.species.offset_features && !handled_by_bodytype) id_overlay.pixel_x += dna.species.offset_features[OFFSET_ID][1] id_overlay.pixel_y += dna.species.offset_features[OFFSET_ID][2] overlays_standing[ID_LAYER] = id_overlay - var/obj/item/card/id/shown_id = wear_id.GetID() - if(shown_id) - var/mutable_appearance/id_card_overlay = overlays_standing[ID_CARD_LAYER] - id_card_overlay = shown_id.build_worn_icon(default_layer = ID_CARD_LAYER, default_icon_file = 'icons/mob/clothing/id_card.dmi') - if(OFFSET_ID in dna.species.offset_features) - id_card_overlay.pixel_x += dna.species.offset_features[OFFSET_ID][1] - id_card_overlay.pixel_y += dna.species.offset_features[OFFSET_ID][2] - - overlays_standing[ID_CARD_LAYER] = id_card_overlay - */ - //SKYRAT EDIT REMOVAL END - Ugly ID - apply_overlay(ID_LAYER) - //apply_overlay(ID_CARD_LAYER) //SKYRAT EDIT REMOVAL - Ugly ID -/* /mob/living/carbon/human/update_inv_gloves() remove_overlay(GLOVES_LAYER) - if(client && hud_used?.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1]) + if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1]) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1] - inv.update_appearance() + inv.update_icon() - if(!gloves && blood_in_hands && (num_hands > 0) && !(NOBLOODOVERLAY in dna.species.species_traits)) - var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands", -GLOVES_LAYER) + //Bloody hands begin + var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands", -GLOVES_LAYER) + cut_overlay(bloody_overlay) + if(!gloves && blood_in_hands && (num_hands > 0)) + bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands", -GLOVES_LAYER) if(num_hands < 2) if(has_left_hand(FALSE)) bloody_overlay.icon_state = "bloodyhands_left" else if(has_right_hand(FALSE)) bloody_overlay.icon_state = "bloodyhands_right" - overlays_standing[GLOVES_LAYER] = bloody_overlay + add_overlay(bloody_overlay) + //Bloody hands end - var/mutable_appearance/gloves_overlay = overlays_standing[GLOVES_LAYER] + var/mutable_appearance/gloves_overlay if(gloves) - gloves.screen_loc = ui_gloves - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) - client.screen += gloves - update_observer_view(gloves,1) - overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/clothing/hands.dmi') - gloves_overlay = overlays_standing[GLOVES_LAYER] - if(OFFSET_GLOVES in dna.species.offset_features) + var/obj/item/worn_item = gloves + update_hud_gloves(worn_item) + var/icon_file + var/handled_by_bodytype + + // SKYRAT EDIT ADDITION + if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_HANDS_ICON + // SKYRAT EDIT END + + if(!icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = 'icons/mob/clothing/hands.dmi' + handled_by_bodytype = FALSE + + gloves_overlay = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!gloves_overlay) + return + if(OFFSET_GLOVES in dna.species.offset_features && !handled_by_bodytype) gloves_overlay.pixel_x += dna.species.offset_features[OFFSET_GLOVES][1] gloves_overlay.pixel_y += dna.species.offset_features[OFFSET_GLOVES][2] - overlays_standing[GLOVES_LAYER] = gloves_overlay + overlays_standing[GLOVES_LAYER] = gloves_overlay apply_overlay(GLOVES_LAYER) -*/ -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* + /mob/living/carbon/human/update_inv_glasses() remove_overlay(GLASSES_LAYER) @@ -232,26 +248,38 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EYES) + 1] - inv.update_appearance() + inv.update_icon() if(glasses) - glasses.screen_loc = ui_glasses //...draw the item in the inventory screen - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) //if the inventory is open ... - client.screen += glasses //Either way, add the item to the HUD - update_observer_view(glasses,1) - //This is in case the glasses would be going above the hair, like welding goggles that were lifted up - if(!(head && (head.flags_inv & HIDEEYES)) && !(wear_mask && (wear_mask.flags_inv & HIDEEYES))) - overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/clothing/eyes.dmi') + var/obj/item/worn_item = glasses + var/mutable_appearance/glasses_overlay + update_hud_glasses(worn_item) - var/mutable_appearance/glasses_overlay = overlays_standing[GLASSES_LAYER] - if(glasses_overlay) - if(OFFSET_GLASSES in dna.species.offset_features) - glasses_overlay.pixel_x += dna.species.offset_features[OFFSET_GLASSES][1] - glasses_overlay.pixel_y += dna.species.offset_features[OFFSET_GLASSES][2] - overlays_standing[GLASSES_LAYER] = glasses_overlay + var/handled_by_bodytype + var/icon_file + // SKYRAT EDIT ADDITION + if((dna.species.bodytype & BODYTYPE_VOX) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VOX_VARIATION)) + icon_file = worn_item.worn_icon_vox || VOX_GLASSES_FILE + else if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_EYES_ICON + // SKYRAT EDIT END + if(!(head?.flags_inv & HIDEEYES) && !(wear_mask?.flags_inv & HIDEEYES)) + + if(!icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = 'icons/mob/clothing/eyes.dmi' + handled_by_bodytype = FALSE + + glasses_overlay = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!glasses_overlay) + return + if(OFFSET_GLASSES in dna.species.offset_features && !handled_by_bodytype) + glasses_overlay.pixel_x += dna.species.offset_features[OFFSET_GLASSES][1] + glasses_overlay.pixel_y += dna.species.offset_features[OFFSET_GLASSES][2] + overlays_standing[GLASSES_LAYER] = glasses_overlay apply_overlay(GLASSES_LAYER) + /mob/living/carbon/human/update_inv_ears() remove_overlay(EARS_LAYER) @@ -260,26 +288,67 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EARS) + 1] - inv.update_appearance() + inv.update_icon() if(ears) - ears.screen_loc = ui_ears //move the item to the appropriate screen loc - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) //if the inventory is open - client.screen += ears //add it to the client's screen - update_observer_view(ears,1) - overlays_standing[EARS_LAYER] = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = 'icons/mob/clothing/ears.dmi') - var/mutable_appearance/ears_overlay = overlays_standing[EARS_LAYER] - if(OFFSET_EARS in dna.species.offset_features) + var/obj/item/worn_item = ears + var/mutable_appearance/ears_overlay + update_hud_ears(worn_item) + + var/handled_by_bodytype = TRUE + var/icon_file + + if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item)))) + handled_by_bodytype = FALSE + icon_file = 'icons/mob/clothing/ears.dmi' + + ears_overlay = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = icon_file) + + if(!ears_overlay) + return + if(OFFSET_EARS in dna.species.offset_features && !handled_by_bodytype) ears_overlay.pixel_x += dna.species.offset_features[OFFSET_EARS][1] ears_overlay.pixel_y += dna.species.offset_features[OFFSET_EARS][2] overlays_standing[EARS_LAYER] = ears_overlay apply_overlay(EARS_LAYER) -*/ -//SKYRAT EDIT REMOVAL END -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* + +/mob/living/carbon/human/update_inv_neck() + remove_overlay(NECK_LAYER) + + if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1]) + var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_NECK) + 1] + inv.update_icon() + + if(wear_neck) + var/obj/item/worn_item = wear_neck + + if(!(ITEM_SLOT_NECK in check_obscured_slots())) + var/mutable_appearance/neck_overlay + var/icon_file + var/handled_by_bodytype = TRUE + + // SKYRAT EDIT ADDITION + if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_NECK_ICON + // SKYRAT EDIT END + + if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item)))) + handled_by_bodytype = FALSE + icon_file = 'icons/mob/clothing/neck.dmi' + + neck_overlay = worn_item.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!neck_overlay) + return + if(OFFSET_NECK in dna.species.offset_features && !handled_by_bodytype) + neck_overlay.pixel_x += dna.species.offset_features[OFFSET_NECK][1] + neck_overlay.pixel_y += dna.species.offset_features[OFFSET_NECK][2] + overlays_standing[NECK_LAYER] = neck_overlay + update_hud_neck(wear_neck) + + apply_overlay(NECK_LAYER) + /mob/living/carbon/human/update_inv_shoes() remove_overlay(SHOES_LAYER) @@ -288,24 +357,38 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_FEET) + 1] - inv.update_appearance() + inv.update_icon() if(shoes) - shoes.screen_loc = ui_shoes //move the item to the appropriate screen loc - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) //if the inventory is open - client.screen += shoes //add it to client's screen - update_observer_view(shoes,1) - overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = 'icons/mob/clothing/feet.dmi') - var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER] - if(OFFSET_SHOES in dna.species.offset_features) + var/obj/item/worn_item = shoes + var/mutable_appearance/shoes_overlay + var/icon_file + update_hud_shoes(worn_item) + var/handled_by_bodytype = TRUE + + if((dna.species.bodytype & BODYTYPE_DIGITIGRADE) && (worn_item.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) + var/obj/item/bodypart/leg = src.get_bodypart(BODY_ZONE_L_LEG) + if(leg.limb_id == "digitigrade")//Snowflakey and bad. But it makes it look consistent. + icon_file = worn_item.worn_icon_digi || DIGITIGRADE_SHOES_FILE // SKYRAT EDIT CHANGE + // SKYRAT EDIT ADDITION + else if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_FEET_ICON + // SKYRAT EDIT END + + if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item)))) + handled_by_bodytype = FALSE + icon_file = DEFAULT_SHOES_FILE + + shoes_overlay = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!shoes_overlay) + return + if(!(handled_by_bodytype) && (OFFSET_SHOES in dna.species.offset_features)) shoes_overlay.pixel_x += dna.species.offset_features[OFFSET_SHOES][1] shoes_overlay.pixel_y += dna.species.offset_features[OFFSET_SHOES][2] overlays_standing[SHOES_LAYER] = shoes_overlay apply_overlay(SHOES_LAYER) -*/ -//SKYRAT EDIT REMOVAL END /mob/living/carbon/human/update_inv_s_store() @@ -313,29 +396,52 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_SUITSTORE) + 1] - inv.update_appearance() + inv.update_icon() if(s_store) - s_store.screen_loc = ui_sstore1 - if(client && hud_used?.hud_shown) - client.screen += s_store - update_observer_view(s_store) - overlays_standing[SUIT_STORE_LAYER] = s_store.build_worn_icon(default_layer = SUIT_STORE_LAYER, default_icon_file = 'icons/mob/clothing/belt_mirror.dmi') - var/mutable_appearance/s_store_overlay = overlays_standing[SUIT_STORE_LAYER] + var/obj/item/worn_item = s_store + var/mutable_appearance/s_store_overlay + update_hud_s_store(worn_item) + + s_store_overlay = worn_item.build_worn_icon(default_layer = SUIT_STORE_LAYER, default_icon_file = 'icons/mob/clothing/belt_mirror.dmi') + + if(!s_store_overlay) + return if(OFFSET_S_STORE in dna.species.offset_features) s_store_overlay.pixel_x += dna.species.offset_features[OFFSET_S_STORE][1] s_store_overlay.pixel_y += dna.species.offset_features[OFFSET_S_STORE][2] overlays_standing[SUIT_STORE_LAYER] = s_store_overlay apply_overlay(SUIT_STORE_LAYER) - /mob/living/carbon/human/update_inv_head() - ..() - update_mutant_bodyparts() - var/mutable_appearance/head_overlay = overlays_standing[HEAD_LAYER] - if(head_overlay) - remove_overlay(HEAD_LAYER) - if(OFFSET_HEAD in dna.species.offset_features) + remove_overlay(HEAD_LAYER) + if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) + var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_HEAD) + 1] + inv.update_icon() + + if(head) + var/obj/item/worn_item = head + var/mutable_appearance/head_overlay + update_hud_head(worn_item) + var/handled_by_bodytype = FALSE + var/icon_file + + // SKYRAT EDIT ADDITION - This needs to be refactored. + if((dna.species.bodytype & BODYTYPE_SNOUTED) && (worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) + icon_file = worn_item.worn_icon_muzzled || SNOUTED_HEAD_FILE + else if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_HEAD_ICON + // SKYRAT EDIT END + + if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item)))) + handled_by_bodytype = FALSE + icon_file = 'icons/mob/clothing/head.dmi' + + head_overlay = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!head_overlay) + return + if(!(handled_by_bodytype) && (OFFSET_HEAD in dna.species.offset_features)) head_overlay.pixel_x += dna.species.offset_features[OFFSET_HEAD][1] head_overlay.pixel_y += dna.species.offset_features[OFFSET_HEAD][2] //SKYRAT EDIT ADDITION BEGIN - TESHARI CLOTHES @@ -343,7 +449,9 @@ There are several things that need to be remembered: head_overlay.pixel_x = 0 head_overlay.pixel_y = 0 //SKYRAT EDIT ADDITION END - TESHARI CLOTHES - overlays_standing[HEAD_LAYER] = head_overlay + overlays_standing[HEAD_LAYER] = head_overlay + + update_mutant_bodyparts() apply_overlay(HEAD_LAYER) /mob/living/carbon/human/update_inv_belt() @@ -351,57 +459,69 @@ There are several things that need to be remembered: if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BELT) + 1] - inv.update_appearance() + inv.update_icon() if(belt) - //SKYRAT EDIT ADDITION BEGIN - TESHARI CLOTHES - var/icon_file = belt.worn_icon - var/applied_styles = NONE - if(isteshari(src)) - var/static/list/tesh_icon_states = icon_states(TESHARI_BELT_ICON) - if((belt.worn_icon_state || belt.icon_state) in tesh_icon_states) - icon_file = TESHARI_BELT_ICON - applied_styles = STYLE_TESHARI - //SKYRAT EDIT ADDITION END - TESHARI CLOTHES - belt.screen_loc = ui_belt - if(client && hud_used?.hud_shown) - client.screen += belt - update_observer_view(belt) - //SKYRAT EDIT - TESHARI CLOTHES - added override_icon and mutant_styles arguments to below function - overlays_standing[BELT_LAYER] = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = 'icons/mob/clothing/belt.dmi', override_icon = icon_file, mutant_styles = applied_styles) - var/mutable_appearance/belt_overlay = overlays_standing[BELT_LAYER] - if(OFFSET_BELT in dna.species.offset_features) + var/obj/item/worn_item = belt + var/mutable_appearance/belt_overlay + update_hud_belt(worn_item) + var/handled_by_bodytype = TRUE + var/icon_file + + // SKYRAT EDIT ADDITION + if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_BELT_ICON + // SKYRAT EDIT END + + if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item)))) + handled_by_bodytype = FALSE + icon_file = 'icons/mob/clothing/belt.dmi' + + belt_overlay = belt.build_worn_icon(default_layer = BELT_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!belt_overlay) + return + if(OFFSET_BELT in dna.species.offset_features && !handled_by_bodytype) belt_overlay.pixel_x += dna.species.offset_features[OFFSET_BELT][1] belt_overlay.pixel_y += dna.species.offset_features[OFFSET_BELT][2] - //SKYRAT EDIT ADDITION BEGIN - TESHARI CLOTHES - if(belt_overlay.icon == TESHARI_BELT_ICON) - belt_overlay.pixel_x = 0 - belt_overlay.pixel_y = 0 - //SKYRAT EDIT ADDITION END - TESHARI CLOTHES overlays_standing[BELT_LAYER] = belt_overlay apply_overlay(BELT_LAYER) - - -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* /mob/living/carbon/human/update_inv_wear_suit() remove_overlay(SUIT_LAYER) if(client && hud_used) var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_OCLOTHING) + 1] - inv.update_appearance() + inv.update_icon() - if(istype(wear_suit, /obj/item/clothing/suit)) - wear_suit.screen_loc = ui_oclothing - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) - client.screen += wear_suit - update_observer_view(wear_suit,1) - overlays_standing[SUIT_LAYER] = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = 'icons/mob/clothing/suit.dmi') - var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER] - if(OFFSET_SUIT in dna.species.offset_features) + if(wear_suit) + var/obj/item/worn_item = wear_suit + var/mutable_appearance/suit_overlay + update_hud_wear_suit(worn_item) + var/icon_file + + var/handled_by_bodytype = TRUE + + //More currently unused digitigrade handling + if(dna.species.bodytype & BODYTYPE_DIGITIGRADE) + if(worn_item.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION) + icon_file = worn_item.worn_icon_digi || DIGITIGRADE_SUIT_FILE // SKYRAT EDIT CHANGE + + // SKYRAT EDIT ADDITION + else if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_SUIT_ICON + // SKYRAT EDIT END + + if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item)))) + handled_by_bodytype = FALSE + icon_file = DEFAULT_SUIT_FILE + + suit_overlay = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!suit_overlay) + return + if((!handled_by_bodytype) && (OFFSET_SUIT in dna.species.offset_features)) suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1] suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2] overlays_standing[SUIT_LAYER] = suit_overlay @@ -409,19 +529,15 @@ There are several things that need to be remembered: update_mutant_bodyparts() apply_overlay(SUIT_LAYER) -*/ -//SKYRAT EDIT REMOVAL END - /mob/living/carbon/human/update_inv_pockets() if(client && hud_used) var/atom/movable/screen/inventory/inv inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_LPOCKET) + 1] - inv.update_appearance() - inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_RPOCKET) + 1] - inv.update_appearance() + + inv.update_icon() if(l_store) l_store.screen_loc = ui_storage1 @@ -435,13 +551,41 @@ There are several things that need to be remembered: client.screen += r_store update_observer_view(r_store) - /mob/living/carbon/human/update_inv_wear_mask() - ..() - var/mutable_appearance/mask_overlay = overlays_standing[FACEMASK_LAYER] - if(mask_overlay) - remove_overlay(FACEMASK_LAYER) - if(OFFSET_FACEMASK in dna.species.offset_features) + remove_overlay(FACEMASK_LAYER) + + if(!get_bodypart(BODY_ZONE_HEAD)) //Decapitated + return + + if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1]) + var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_MASK) + 1] + inv.update_icon() + + if(wear_mask) + var/obj/item/worn_item = wear_mask + update_hud_wear_mask(worn_item) + var/mutable_appearance/mask_overlay + var/icon_file = 'icons/mob/clothing/mask.dmi' + var/handled_by_bodytype = TRUE + + // SKYRAT EDIT ADDITION + if((dna.species.bodytype & BODYTYPE_SNOUTED) && !(worn_item.supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) + icon_file = worn_item.worn_icon_muzzled || SNOUTED_MASK_FILE + else if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_MASK_ICON + // SKYRAT EDIT END + + if(!(ITEM_SLOT_MASK in check_obscured_slots())) + + if(!(icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item)))) + icon_file = 'icons/mob/clothing/mask.dmi' + handled_by_bodytype = FALSE + + mask_overlay = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!mask_overlay) + return + if((!handled_by_bodytype) && (OFFSET_FACEMASK in dna.species.offset_features)) mask_overlay.pixel_x += dna.species.offset_features[OFFSET_FACEMASK][1] mask_overlay.pixel_y += dna.species.offset_features[OFFSET_FACEMASK][2] //SKYRAT EDIT ADDITION BEGIN - TESHARI CLOTHES @@ -449,16 +593,39 @@ There are several things that need to be remembered: mask_overlay.pixel_x = 0 mask_overlay.pixel_y = 0 //SKYRAT EDIT ADDITION END - TESHARI CLOTHES - overlays_standing[FACEMASK_LAYER] = mask_overlay - apply_overlay(FACEMASK_LAYER) + overlays_standing[FACEMASK_LAYER] = mask_overlay + + apply_overlay(FACEMASK_LAYER) update_mutant_bodyparts() //e.g. upgate needed because mask now hides lizard snout /mob/living/carbon/human/update_inv_back() - ..() - var/mutable_appearance/back_overlay = overlays_standing[BACK_LAYER] - if(back_overlay) - remove_overlay(BACK_LAYER) - if(OFFSET_BACK in dna.species.offset_features) + remove_overlay(BACK_LAYER) + + if(client && hud_used && hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1]) + var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_BACK) + 1] + inv.update_icon() + + if(back) + var/obj/item/worn_item = back + var/mutable_appearance/back_overlay + update_hud_back(worn_item) + var/icon_file = 'icons/mob/clothing/back.dmi' + var/handled_by_bodytype = TRUE + + // SKYRAT EDIT ADDITION + if(dna.species.bodytype & BODYTYPE_TESHARI) + icon_file = TESHARI_BACK_ICON + // SKYRAT EDIT END + + if(!icon_exists(icon_file, RESOLVE_ICON_STATE(worn_item))) + icon_file = 'icons/mob/clothing/back.dmi' + handled_by_bodytype = FALSE + + back_overlay = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = icon_file, override_file = handled_by_bodytype ? icon_file : null) // SKYRAT EDIT CHANGE + + if(!back_overlay) + return + if((!handled_by_bodytype) && (OFFSET_BACK in dna.species.offset_features)) back_overlay.pixel_x += dna.species.offset_features[OFFSET_BACK][1] back_overlay.pixel_y += dna.species.offset_features[OFFSET_BACK][2] //SKYRAT EDIT ADDITION BEGIN - TESHARI CLOTHES @@ -466,25 +633,59 @@ There are several things that need to be remembered: back_overlay.pixel_x = 0 back_overlay.pixel_y = 0 //SKYRAT EDIT ADDITION END - TESHARI CLOTHES - overlays_standing[BACK_LAYER] = back_overlay - apply_overlay(BACK_LAYER) + overlays_standing[BACK_LAYER] = back_overlay + apply_overlay(BACK_LAYER) /mob/living/carbon/human/update_inv_legcuffed() remove_overlay(LEGCUFF_LAYER) - clear_alert(ALERT_LEGCUFFED) + clear_alert("legcuffed") if(legcuffed) - var/mutable_appearance/legcuff_overlay = mutable_appearance('icons/mob/mob.dmi', "legcuff1", -LEGCUFF_LAYER) - if(legcuffed.blocks_emissive) - legcuff_overlay.overlays += emissive_blocker(legcuff_overlay.icon, legcuff_overlay.icon_state, alpha = legcuff_overlay.alpha) - - overlays_standing[LEGCUFF_LAYER] = legcuff_overlay + overlays_standing[LEGCUFF_LAYER] = mutable_appearance('icons/mob/mob.dmi', "legcuff1", -LEGCUFF_LAYER) apply_overlay(LEGCUFF_LAYER) - throw_alert(ALERT_LEGCUFFED, /atom/movable/screen/alert/restrained/legcuffed, new_master = src.legcuffed) + throw_alert("legcuffed", /atom/movable/screen/alert/restrained/legcuffed, new_master = src.legcuffed) + +/mob/living/carbon/human/update_inv_hands() + remove_overlay(HANDS_LAYER) + if (handcuffed) + drop_all_held_items() + return + + var/list/hands = list() + for(var/obj/item/worn_item in held_items) + if(client && hud_used && hud_used.hud_version != HUD_STYLE_NOHUD) + worn_item.screen_loc = ui_hand_position(get_held_index_of_item(worn_item)) + client.screen += worn_item + if(observers?.len) + for(var/M in observers) + var/mob/dead/observe = M + if(observe.client && observe.client.eye == src) + observe.client.screen += worn_item + else + observers -= observe + if(!observers.len) + observers = null + break + + var/t_state = worn_item.inhand_icon_state + if(!t_state) + t_state = worn_item.icon_state + + var/icon_file = worn_item.lefthand_file + var/mutable_appearance/hand_overlay + if(get_held_index_of_item(worn_item) % 2 == 0) + icon_file = worn_item.righthand_file + hand_overlay = worn_item.build_worn_icon(default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE) + else + hand_overlay = worn_item.build_worn_icon(default_layer = HANDS_LAYER, default_icon_file = icon_file, isinhands = TRUE) + + hands += hand_overlay + overlays_standing[HANDS_LAYER] = hands + apply_overlay(HANDS_LAYER) /proc/wear_female_version(t_color, icon, layer, type, greyscale_colors) var/index = "[t_color]-[greyscale_colors]" var/icon/female_clothing_icon = GLOB.female_clothing_icons[index] - if(!female_clothing_icon) //Create standing/laying icons if they don't exist + if(!female_clothing_icon) //Create standing/laying icons if they don't exist generate_female_clothing(index, t_color, icon, type) return mutable_appearance(GLOB.female_clothing_icons[index], layer = -layer) @@ -500,36 +701,86 @@ There are several things that need to be remembered: //human HUD updates for items in our inventory -//update whether our head item appears on our hud. -/mob/living/carbon/human/update_hud_head(obj/item/I) - I.screen_loc = ui_head +/mob/living/carbon/human/proc/update_hud_uniform(obj/item/worn_item) + worn_item.screen_loc = ui_iclothing + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/proc/update_hud_id(obj/item/worn_item) + worn_item.screen_loc = ui_id + if((client && hud_used?.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item) + +/mob/living/carbon/human/proc/update_hud_gloves(obj/item/worn_item) + worn_item.screen_loc = ui_gloves + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/proc/update_hud_glasses(obj/item/worn_item) + worn_item.screen_loc = ui_glasses + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/proc/update_hud_ears(obj/item/worn_item) + worn_item.screen_loc = ui_ears + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/proc/update_hud_shoes(obj/item/worn_item) + worn_item.screen_loc = ui_shoes + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/proc/update_hud_s_store(obj/item/worn_item) + worn_item.screen_loc = ui_sstore1 + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/proc/update_hud_wear_suit(obj/item/worn_item) + worn_item.screen_loc = ui_oclothing + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/proc/update_hud_belt(obj/item/worn_item) + belt.screen_loc = ui_belt if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) - client.screen += I - update_observer_view(I,1) + client.screen += worn_item + update_observer_view(worn_item,TRUE) + +/mob/living/carbon/human/update_hud_head(obj/item/worn_item) + worn_item.screen_loc = ui_head + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) //update whether our mask item appears on our hud. -/mob/living/carbon/human/update_hud_wear_mask(obj/item/I) - I.screen_loc = ui_mask - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) - client.screen += I - update_observer_view(I,1) +/mob/living/carbon/human/update_hud_wear_mask(obj/item/worn_item) + worn_item.screen_loc = ui_mask + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) //update whether our neck item appears on our hud. -/mob/living/carbon/human/update_hud_neck(obj/item/I) - I.screen_loc = ui_neck - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) - client.screen += I - update_observer_view(I,1) +/mob/living/carbon/human/update_hud_neck(obj/item/worn_item) + worn_item.screen_loc = ui_neck + if((client && hud_used) && (hud_used.inventory_shown && hud_used.hud_shown)) + client.screen += worn_item + update_observer_view(worn_item,TRUE) //update whether our back item appears on our hud. -/mob/living/carbon/human/update_hud_back(obj/item/I) - I.screen_loc = ui_back +/mob/living/carbon/human/update_hud_back(obj/item/worn_item) + worn_item.screen_loc = ui_back if(client && hud_used?.hud_shown) - client.screen += I - update_observer_view(I) + client.screen += worn_item + update_observer_view(worn_item, inventory = TRUE) /* Does everything in relation to building the /mutable_appearance used in the mob's overlays list @@ -556,9 +807,8 @@ generate/load female uniform sprites matching all previously decided variables */ -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* -/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state = null) + +/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state = null, override_file = null) //Find a valid icon_state from variables+arguments var/t_state @@ -568,8 +818,11 @@ generate/load female uniform sprites matching all previously decided variables t_state = !isinhands ? (worn_icon_state ? worn_icon_state : icon_state) : (inhand_icon_state ? inhand_icon_state : icon_state) //Find a valid icon file from variables+arguments - var/file2use = !isinhands ? (worn_icon ? worn_icon : default_icon_file) : default_icon_file - + var/file2use + if(override_file) + file2use = override_file + else + file2use = !isinhands ? (worn_icon ? worn_icon : default_icon_file) : default_icon_file //Find a valid layer from variables+arguments var/layer2use = alternate_worn_layer ? alternate_worn_layer : default_layer @@ -596,8 +849,7 @@ generate/load female uniform sprites matching all previously decided variables standing.color = color return standing -*/ -//SKYRAT EDIT REMOVAL END + /// Returns offsets used for equipped item overlays in list(px_offset,py_offset) form. /obj/item/proc/get_worn_offsets(isinhands) @@ -623,74 +875,15 @@ generate/load female uniform sprites matching all previously decided variables else //No offsets or Unwritten number of hands return list("x" = 0, "y" = 0)//Handle held offsets -//produces a key based on the human's limbs -/mob/living/carbon/human/generate_icon_render_key() - . = "[dna.species.limbs_id]" - - if(dna.check_mutation(/datum/mutation/human/hulk)) - . += "-coloured-hulk" - else if(dna.species.use_skintones) - . += "-coloured-[skin_tone]" - else if(dna.species.fixed_mut_color) - . += "-coloured-[dna.species.fixed_mut_color]" - //else if(dna.features["mcolor"]) - ORIGINAL - // . += "-coloured-[dna.features["mcolor"]]" - ORIGINAL - else if(MUTCOLORS in dna.species.species_traits) //SKYRAT EDIT CHANGE - CUSTOMIZATION - . += "-coloured-[dna.features["mcolor"]]" //SKYRAT EDIT CHANGE - CUSTOMIZATION - else - . += "-not_coloured" - - . += "-[body_type]" - - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - . += "-[BP.body_zone]" - if(!HAS_TRAIT(src, TRAIT_INVISIBLE_MAN)) - for(var/obj/item/organ/external/organ as anything in BP.external_organs) - if(organ.can_draw_on_bodypart(src)) //make sure we're drawn before generating a key - . += "([organ.cache_key])" - //SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION - /* - if(BP.status == BODYPART_ORGANIC) - . += "-organic" - else - . += "-robotic" - */ - //SKYRAT EDIT REMOVAL END - if(BP.use_digitigrade) - . += "-digitigrade[BP.use_digitigrade]" - if(BP.dmg_overlay_type) - . += "-[BP.dmg_overlay_type]" - - //SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION - if(BP.organic_render) - . += "-OR" - //SKYRAT EDIT ADDITION END - - if(HAS_TRAIT(BP, TRAIT_PLASMABURNT)) - . += "-plasmaburnt" - - if(HAS_TRAIT(src, TRAIT_HUSK)) - . += "-husk" - - if(HAS_TRAIT(src, TRAIT_INVISIBLE_MAN)) - . += "-invisible" - -/mob/living/carbon/human/load_limb_from_cache() - ..() - update_hair() - - - -/mob/living/carbon/human/proc/update_observer_view(obj/item/I, inventory) - if(observers && observers.len) +/mob/living/carbon/human/proc/update_observer_view(obj/item/worn_item, inventory) + if(observers?.len) for(var/M in observers) var/mob/dead/observe = M if(observe.client && observe.client.eye == src) if(observe.hud_used) if(inventory && !observe.hud_used.inventory_shown) continue - observe.client.screen += I + observe.client.screen += worn_item else observers -= observe if(!observers.len) @@ -698,11 +891,8 @@ generate/load female uniform sprites matching all previously decided variables break // Only renders the head of the human -/mob/living/carbon/human/proc/update_body_parts_head_only() - if (!dna) - return - - if (!dna.species) +/mob/living/carbon/human/proc/update_body_parts_head_only(update_limb_data) + if(!dna?.species) return var/obj/item/bodypart/HD = get_bodypart("head") @@ -710,7 +900,7 @@ generate/load female uniform sprites matching all previously decided variables if (!istype(HD)) return - HD.update_limb() + HD.update_limb(is_creating = update_limb_data) add_overlay(HD.get_limb_icon()) update_damage_overlays() @@ -734,7 +924,7 @@ generate/load female uniform sprites matching all previously decided variables else eye_overlay = mutable_appearance('icons/mob/human_face.dmi', E.eye_icon_state, -BODY_LAYER) if((EYECOLOR in dna.species.species_traits) && E) - eye_overlay.color = eye_color + eye_overlay.color = "#" + eye_color if(OFFSET_FACE in dna.species.offset_features) eye_overlay.pixel_x += dna.species.offset_features[OFFSET_FACE][1] eye_overlay.pixel_y += dna.species.offset_features[OFFSET_FACE][2] @@ -749,7 +939,8 @@ generate/load female uniform sprites matching all previously decided variables add_overlay(emissive_appearance) //SKYRAT EDIT END - dna.species.handle_hair(src) update_inv_head() update_inv_wear_mask() + +#undef RESOLVE_ICON_STATE diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index 214f204a1da..0e971bc9cec 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -52,7 +52,7 @@ return null -/mob/living/carbon/human/proc/get_all_slots() +/mob/living/carbon/human/get_all_worn_items() . = get_head_slots() | get_body_slots() /mob/living/carbon/human/proc/get_body_slots() @@ -235,7 +235,7 @@ /mob/living/carbon/human/equipped_speed_mods() . = ..() - for(var/sloties in get_all_slots() - list(l_store, r_store, s_store)) + for(var/sloties in get_all_worn_items() - list(l_store, r_store, s_store)) var/obj/item/thing = sloties . += thing?.slowdown @@ -394,7 +394,7 @@ //delete all equipment without dropping anything /mob/living/carbon/human/proc/delete_equipment() - for(var/slot in get_all_slots())//order matters, dependant slots go first + for(var/slot in get_all_worn_items())//order matters, dependant slots go first qdel(slot) for(var/obj/item/I in held_items) qdel(I) diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index fdffbde1b92..eaeca562828 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -15,8 +15,6 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species ///If the game needs to manually check your race to do something not included in a proc here, it will use this. var/id - //This is used if you want to use a different species' limb sprites. - var/limbs_id ///This is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize. var/name /// The formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. @@ -27,15 +25,22 @@ GLOBAL_LIST_EMPTY(features_by_species) ///Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows var/sexes = TRUE - + ///A bitfield of "bodytypes", updated by /datum/obj/item/bodypart/proc/synchronize_bodytypes() + var/bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC ///Clothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird. var/list/offset_features = list(OFFSET_UNIFORM = list(0,0), OFFSET_ID = list(0,0), OFFSET_GLOVES = list(0,0), OFFSET_GLASSES = list(0,0), OFFSET_EARS = list(0,0), OFFSET_SHOES = list(0,0), OFFSET_S_STORE = list(0,0), OFFSET_FACEMASK = list(0,0), OFFSET_HEAD = list(0,0), OFFSET_FACE = list(0,0), OFFSET_BELT = list(0,0), OFFSET_BACK = list(0,0), OFFSET_SUIT = list(0,0), OFFSET_NECK = list(0,0), OFFSET_ACCESSORY = list(0, 0)) // SKYRAT EDIT - OFFSET_ACCESSORY + ///The maximum number of bodyparts this species can have. + var/max_bodypart_count = 6 ///This allows races to have specific hair colors. If null, it uses the H's hair/facial hair colors. If "mutcolor", it uses the H's mutant_color. If "fixedmutcolor", it uses fixedmutcolor var/hair_color ///The alpha used by the hair. 255 is completely solid, 0 is invisible. var/hair_alpha = 255 + ///This is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine]. + var/examine_limb_id + ///Never, Optional, or Forced digi legs? + var/digitigrade_customization = DIGITIGRADE_NEVER ///Does the species use skintones or not? As of now only used by humans. var/use_skintones = FALSE ///If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity. @@ -74,13 +79,14 @@ GLOBAL_LIST_EMPTY(features_by_species) ///Internal organs that are unique to this race, like a tail. var/list/mutant_organs = list() ///The bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive. - var/list/bodypart_overides = list( - BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm,\ - BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm,\ - BODY_ZONE_HEAD = /obj/item/bodypart/head,\ - BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg,\ - BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg,\ - BODY_ZONE_CHEST = /obj/item/bodypart/chest) + var/list/bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm, + BODY_ZONE_HEAD = /obj/item/bodypart/head, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg, + BODY_ZONE_CHEST = /obj/item/bodypart/chest, + ) ///List of external organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP var/list/external_organs = list() @@ -230,8 +236,6 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/New() - if(!limbs_id) //if we havent set a limbs id to use, just use our own id - limbs_id = id wings_icons = string_list(wings_icons) if(!plural_form) @@ -401,8 +405,6 @@ GLOBAL_LIST_EMPTY(features_by_species) * * old_species - The species that the carbon used to be before becoming this race, used for regenerating organs. * * pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc. */ -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* /datum/species/proc/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) SHOULD_CALL_PARENT(TRUE) // Drop the items the new species can't wear @@ -415,16 +417,10 @@ GLOBAL_LIST_EMPTY(features_by_species) if(C.hud_used) C.hud_used.update_locked_slots() - fix_non_native_limbs(C) - - // this needs to be FIRST because qdel calls update_body which checks if we have DIGITIGRADE legs or not and if not then removes DIGITIGRADE from species_traits - if(C.dna.species.mutant_bodyparts["legs"] && C.dna.features["legs"] == "Digitigrade Legs") - species_traits += DIGITIGRADE - if(DIGITIGRADE in species_traits) - C.Digitigrade_Leg_Swap(FALSE) C.mob_biotypes = inherent_biotypes + replace_body(C, src) regenerate_organs(C, old_species, visual_only = C.visual_only_organs) if(exotic_bloodtype && C.dna.blood_type != exotic_bloodtype) @@ -465,6 +461,14 @@ GLOBAL_LIST_EMPTY(features_by_species) if(TRAIT_TOXIMMUNE in inherent_traits) C.setToxLoss(0, TRUE, TRUE) + // SKYRAT EDIT ADDITION + if(TRAIT_OXYIMMUNE in inherent_traits) + C.setOxyLoss(0, TRUE, TRUE) + + for(var/obj/item/bodypart/limb in C.bodyparts) + limb.alpha = specific_alpha + // SKYRAT EDIT END + if(TRAIT_NOMETABOLISM in inherent_traits) C.reagents.end_metabolization(C, keep_liverless = TRUE) @@ -482,8 +486,6 @@ GLOBAL_LIST_EMPTY(features_by_species) C.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/species, multiplicative_slowdown=speedmod) SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) -*/ -//SKYRAT EDIT REMOVAL END /** * Proc called when a carbon is no longer this species. @@ -499,8 +501,6 @@ GLOBAL_LIST_EMPTY(features_by_species) SHOULD_CALL_PARENT(TRUE) if(C.dna.species.exotic_bloodtype) C.dna.blood_type = random_blood_type() - if(DIGITIGRADE in species_traits) - C.Digitigrade_Leg_Swap(TRUE) for(var/X in inherent_traits) REMOVE_TRAIT(C, X, SPECIES_TRAIT) for(var/obj/item/organ/external/organ in C.internal_organs) @@ -528,151 +528,6 @@ GLOBAL_LIST_EMPTY(features_by_species) SEND_SIGNAL(C, COMSIG_SPECIES_LOSS, src) -/** - * Handles hair icons and dynamic hair. - * - * Handles hiding hair with clothing, hair layers, losing hair due to husking or augmented heads, facial hair, head hair, and hair styles. - * Arguments: - * * H - Human, whoever we're handling the hair for - * * forced_colour - The colour of hair we're forcing on this human. Leave null to not change. Mind the british spelling! - */ -/datum/species/proc/handle_hair(mob/living/carbon/human/H, forced_colour) - H.remove_overlay(HAIR_LAYER) - var/obj/item/bodypart/head/noggin = H.get_bodypart(BODY_ZONE_HEAD) - if(!noggin) //Decapitated - return - - if(HAS_TRAIT(H, TRAIT_HUSK) || HAS_TRAIT(H, TRAIT_INVISIBLE_MAN)) - return - var/datum/sprite_accessory/S - var/list/standing = list() - - var/hair_hidden = FALSE //ignored if the matching dynamic_X_suffix is non-empty - var/facialhair_hidden = FALSE // ^ - - //for augmented heads - if(noggin.status == BODYPART_ROBOTIC && !(ROBOTIC_LIMBS in species_traits)) //SKYRAT EDIT CHANGE - CUSTOMIZATION - return - - //we check if our hat or helmet hides our facial hair. - if(H.head) - var/obj/item/I = H.head - if(I.flags_inv & HIDEFACIALHAIR) - facialhair_hidden = TRUE - - if(H.wear_mask) - var/obj/item/I = H.wear_mask - if(I.flags_inv & HIDEFACIALHAIR) - facialhair_hidden = TRUE - - if(H.facial_hairstyle && (FACEHAIR in species_traits) && !facialhair_hidden) - S = GLOB.facial_hairstyles_list[H.facial_hairstyle] - if(S) - - var/mutable_appearance/facial_overlay = mutable_appearance(S.icon, S.icon_state, -HAIR_LAYER) - var/mutable_appearance/gradient_overlay - - if(!forced_colour) - if(hair_color) - if(hair_color == "mutcolor") - facial_overlay.color = H.dna.features["mcolor"] - else if(hair_color == "fixedmutcolor") - facial_overlay.color = fixed_mut_color - else - facial_overlay.color = hair_color - else - facial_overlay.color = H.facial_hair_color - //Gradients - var/grad_style = LAZYACCESS(H.grad_style, GRADIENT_FACIAL_HAIR_KEY) - if(grad_style) - var/grad_color = LAZYACCESS(H.grad_color, GRADIENT_FACIAL_HAIR_KEY) - gradient_overlay = make_gradient_overlay(S.icon, S.icon_state, HAIR_LAYER, GLOB.facial_hair_gradients_list[grad_style], grad_color) - else - facial_overlay.color = forced_colour - - facial_overlay.alpha = hair_alpha - facial_overlay.overlays += emissive_blocker(S.icon, S.icon_state, alpha = hair_alpha) - - standing += facial_overlay - if(gradient_overlay) - standing += gradient_overlay - - if(H.head) - var/obj/item/I = H.head - if(I.flags_inv & HIDEHAIR) - hair_hidden = TRUE - - if(H.w_uniform) - var/obj/item/item_uniform = H.w_uniform - if(item_uniform.flags_inv & HIDEHAIR) - hair_hidden = TRUE - - if(H.wear_mask) - var/obj/item/I = H.wear_mask - if(I.flags_inv & HIDEHAIR) - hair_hidden = TRUE - - if(!hair_hidden) - var/mutable_appearance/hair_overlay = mutable_appearance(layer = -HAIR_LAYER) - var/mutable_appearance/gradient_overlay - if(!hair_hidden && !H.getorgan(/obj/item/organ/brain)) //Applies the debrained overlay if there is no brain - if(!(NOBLOOD in species_traits)) - hair_overlay.icon = 'icons/mob/human_face.dmi' - hair_overlay.icon_state = "debrained" - - else if(H.hairstyle && (HAIR in species_traits)) - S = GLOB.hairstyles_list[H.hairstyle] - if(S) - var/hair_state = S.icon_state - var/hair_file = S.icon - - hair_overlay.icon = hair_file - hair_overlay.icon_state = hair_state - - if(!forced_colour) - if(hair_color) - if(hair_color == "mutcolor") - hair_overlay.color = H.dna.features["mcolor"] - else if(hair_color == "fixedmutcolor") - hair_overlay.color = fixed_mut_color - else - hair_overlay.color = hair_color - else - hair_overlay.color = H.hair_color - - //Gradients - var/grad_style = LAZYACCESS(H.grad_style, GRADIENT_HAIR_KEY) - if(grad_style) - var/grad_color = LAZYACCESS(H.grad_color, GRADIENT_HAIR_KEY) - gradient_overlay = make_gradient_overlay(hair_file, hair_state, HAIR_LAYER, GLOB.hair_gradients_list[grad_style], grad_color) - else - hair_overlay.color = forced_colour - - hair_overlay.alpha = hair_alpha - if(OFFSET_FACE in H.dna.species.offset_features) - hair_overlay.pixel_x += H.dna.species.offset_features[OFFSET_FACE][1] - hair_overlay.pixel_y += H.dna.species.offset_features[OFFSET_FACE][2] - - if(hair_overlay.icon) - hair_overlay.overlays += emissive_blocker(hair_overlay.icon, hair_overlay.icon_state, alpha = hair_alpha) - standing += hair_overlay - if(gradient_overlay) - standing += gradient_overlay - - if(standing.len) - H.overlays_standing[HAIR_LAYER] = standing - - H.apply_overlay(HAIR_LAYER) - -/datum/species/proc/make_gradient_overlay(file, icon, layer, datum/sprite_accessory/gradient, grad_color) - var/mutable_appearance/gradient_overlay = mutable_appearance(layer = -layer) - var/icon/temp = icon(gradient.icon, gradient.icon_state) - var/icon/temp_hair = icon(file, icon) - temp.Blend(temp_hair, ICON_ADD) - gradient_overlay.icon = temp - gradient_overlay.color = grad_color - return gradient_overlay - /** * Handles the body of a human * @@ -753,27 +608,27 @@ GLOBAL_LIST_EMPTY(features_by_species) var/datum/sprite_accessory/markings = GLOB.moth_markings_list[species_human.dna.features["moth_markings"]] if(!HAS_TRAIT(species_human, TRAIT_HUSK)) - if(noggin && (noggin.status != BODYPART_ROBOTIC)) + if(noggin && (IS_ORGANIC_LIMB(noggin))) var/mutable_appearance/markings_head_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_head", -BODY_LAYER) standing += markings_head_overlay - if(chest && (chest.status != BODYPART_ROBOTIC)) + if(chest && (IS_ORGANIC_LIMB(chest))) var/mutable_appearance/markings_chest_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_chest", -BODY_LAYER) standing += markings_chest_overlay - if(right_arm && (right_arm.status != BODYPART_ROBOTIC)) + if(right_arm && (IS_ORGANIC_LIMB(right_arm))) var/mutable_appearance/markings_r_arm_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_r_arm", -BODY_LAYER) standing += markings_r_arm_overlay - if(left_arm && (left_arm.status != BODYPART_ROBOTIC)) + if(left_arm && (IS_ORGANIC_LIMB(left_arm))) var/mutable_appearance/markings_l_arm_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_l_arm", -BODY_LAYER) standing += markings_l_arm_overlay - if(right_leg && (right_leg.status != BODYPART_ROBOTIC)) + if(right_leg && (IS_ORGANIC_LIMB(right_leg))) var/mutable_appearance/markings_r_leg_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_r_leg", -BODY_LAYER) standing += markings_r_leg_overlay - if(left_leg && (left_leg.status != BODYPART_ROBOTIC)) + if(left_leg && (IS_ORGANIC_LIMB(left_leg))) var/mutable_appearance/markings_l_leg_overlay = mutable_appearance(markings.icon, "[markings.icon_state]_l_leg", -BODY_LAYER) standing += markings_l_leg_overlay @@ -783,7 +638,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[species_human.underwear] var/mutable_appearance/underwear_overlay if(underwear) - if(species_human.dna.species.sexes && species_human.body_type == FEMALE && (underwear.gender == MALE)) + if(species_human.dna.species.sexes && species_human.physique == FEMALE && (underwear.gender == MALE)) underwear_overlay = wear_female_version(underwear.icon_state, underwear.icon, BODY_LAYER, FEMALE_UNIFORM_FULL) else underwear_overlay = mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER) @@ -794,12 +649,12 @@ GLOBAL_LIST_EMPTY(features_by_species) if(species_human.undershirt) var/datum/sprite_accessory/undershirt/undershirt = GLOB.undershirt_list[species_human.undershirt] if(undershirt) - if(species_human.dna.species.sexes && species_human.body_type == FEMALE) + if(species_human.dna.species.sexes && species_human.physique == FEMALE) standing += wear_female_version(undershirt.icon_state, undershirt.icon, BODY_LAYER) else standing += mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER) - if(species_human.socks && species_human.num_legs >= 2 && !(DIGITIGRADE in species_traits)) + if(species_human.socks && species_human.num_legs >= 2 && !(src.bodytype & BODYTYPE_DIGITIGRADE)) var/datum/sprite_accessory/socks/socks = GLOB.socks_list[species_human.socks] if(socks) standing += mutable_appearance(socks.icon, socks.icon_state, -BODY_LAYER) @@ -873,36 +728,13 @@ GLOBAL_LIST_EMPTY(features_by_species) bodyparts_to_add -= "waggingspines" if(mutant_bodyparts["ears"]) - if(!source.dna.features["ears"] || source.dna.features["ears"] == "None" || source.head && (source.head.flags_inv & HIDEHAIR) || (source.wear_mask && (source.wear_mask.flags_inv & HIDEHAIR)) || !noggin || noggin.status == BODYPART_ROBOTIC) + if(!source.dna.features["ears"] || source.dna.features["ears"] == "None" || source.head && (source.head.flags_inv & HIDEHAIR) || (source.wear_mask && (source.wear_mask.flags_inv & HIDEHAIR)) || !noggin || !IS_ORGANIC_LIMB(noggin)) bodyparts_to_add -= "ears" - //Digitigrade legs are stuck in the phantom zone between true limbs and mutant bodyparts. Mainly it just needs more aggressive updating than most limbs. - var/update_needed = FALSE - var/not_digitigrade = TRUE - for(var/obj/item/bodypart/bodypart as anything in source.bodyparts) - if(!bodypart.use_digitigrade) - continue - not_digitigrade = FALSE - if(!(DIGITIGRADE in species_traits)) //Someone cut off a digitigrade leg and tacked it on - species_traits += DIGITIGRADE - var/should_be_squished = FALSE - if(source.wear_suit && ((source.wear_suit.flags_inv & HIDEJUMPSUIT) || (source.wear_suit.body_parts_covered & LEGS)) || (source.w_uniform && (source.w_uniform.body_parts_covered & LEGS))) - should_be_squished = TRUE - if(bodypart.use_digitigrade == FULL_DIGITIGRADE && should_be_squished) - bodypart.use_digitigrade = SQUISHED_DIGITIGRADE - update_needed = TRUE - else if(bodypart.use_digitigrade == SQUISHED_DIGITIGRADE && !should_be_squished) - bodypart.use_digitigrade = FULL_DIGITIGRADE - update_needed = TRUE - if(update_needed) - source.update_body_parts() - if(not_digitigrade && (DIGITIGRADE in species_traits)) //Curse is lifted - species_traits -= DIGITIGRADE - if(!bodyparts_to_add) return - var/g = (source.body_type == FEMALE) ? "f" : "m" + var/g = (source.physique == FEMALE) ? "f" : "m" for(var/layer in relevent_layers) var/layertext = mutant_bodyparts_layertext(layer) @@ -1106,17 +938,18 @@ GLOBAL_LIST_EMPTY(features_by_species) if(ITEM_SLOT_FEET) if(H.num_legs < 2) return FALSE - /* SKYRAT EDIT REMOVAL - Digitigrade legs are functional too ;) - if((DIGITIGRADE in species_traits) && !(I.item_flags & IGNORE_DIGITIGRADE)) - if(!disable_warning) - to_chat(H, span_warning("The footwear around here isn't compatible with your feet!")) - return FALSE - */ // SKYRAT EDIT END + /* SKYRAT EDIT REMOVAL + if((bodytype & BODYTYPE_DIGITIGRADE) && !(I.item_flags & IGNORE_DIGITIGRADE)) + if(!(I.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) + if(!disable_warning) + to_chat(H, span_warning("The footwear around here isn't compatible with your feet!")) + return FALSE + */ return equip_delay_self_check(I, H, bypass_equip_delay_self) if(ITEM_SLOT_BELT) var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_CHEST) - if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) + if(!H.w_uniform && !nojumpsuit && (!O || IS_ORGANIC_LIMB(O))) if(!disable_warning) to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE @@ -1140,7 +973,7 @@ GLOBAL_LIST_EMPTY(features_by_species) return equip_delay_self_check(I, H, bypass_equip_delay_self) if(ITEM_SLOT_ID) var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_CHEST) - if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) + if(!H.w_uniform && !nojumpsuit && (!O || IS_ORGANIC_LIMB(O))) if(!disable_warning) to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE @@ -1153,7 +986,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_L_LEG) - if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) + if(!H.w_uniform && !nojumpsuit && (!O || IS_ORGANIC_LIMB(O))) if(!disable_warning) to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE @@ -1166,7 +999,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/obj/item/bodypart/O = H.get_bodypart(BODY_ZONE_R_LEG) - if(!H.w_uniform && !nojumpsuit && (!O || O.status != BODYPART_ROBOTIC)) + if(!H.w_uniform && !nojumpsuit && (!O || IS_ORGANIC_LIMB(O))) if(!disable_warning) to_chat(H, span_warning("You need a jumpsuit before you can attach this [I.name]!")) return FALSE @@ -1522,7 +1355,7 @@ GLOBAL_LIST_EMPTY(features_by_species) var/bloody = FALSE if(((I.damtype == BRUTE) && I.force && prob(25 + (I.force * 2)))) - if(affecting.status == BODYPART_ORGANIC) + if(IS_ORGANIC_LIMB(affecting)) I.add_mob_blood(H) //Make the weapon bloody, not the person. if(prob(I.force * 2)) //blood spatter! bloody = TRUE @@ -2178,7 +2011,8 @@ GLOBAL_LIST_EMPTY(features_by_species) wings_icon = pick(wings_icons) else wings_icon = wings_icons[1] - var/obj/item/organ/external/wings/functional/wings = new(null, wings_icon, H.body_type) + + var/obj/item/organ/external/wings/functional/wings = new(null, wings_icon, H.physique) // SKYRAT EDIT START - Fixes the loss of wings to just run the insert twice if(H.getorganslot(ORGAN_SLOT_EXTERNAL_WINGS)) wings.Insert(H) @@ -2199,18 +2033,6 @@ GLOBAL_LIST_EMPTY(features_by_species) /datum/species/proc/spec_unarmedattack(mob/living/carbon/human/user, atom/target, modifiers) return FALSE - -///Removes any non-native limbs from the mob -/datum/species/proc/fix_non_native_limbs(mob/living/carbon/human/H) - for(var/X in H.bodyparts) - var/obj/item/bodypart/current_part = X - var/obj/item/bodypart/species_part = bodypart_overides[current_part.body_zone] - - if(current_part.type == species_part) - continue - - current_part.change_bodypart(species_part) - /* SKYRAT EDIT REMOVAL - MOVED TO MODULAR /// Returns a list of strings representing features this species has. /// Used by the preferences UI to know what buttons to show. @@ -2239,6 +2061,7 @@ GLOBAL_LIST_EMPTY(features_by_species) return features */ + /// Given a human, will adjust it before taking a picture for the preferences UI. /// This should create a CONSISTENT result, so the icons don't randomly change. /datum/species/proc/prepare_human_for_preview(mob/living/carbon/human/human) @@ -2646,3 +2469,28 @@ GLOBAL_LIST_EMPTY(features_by_species) qdel(temp_holder) return to_add + +///Handles replacing all of the bodyparts with their species version during set_species() +/datum/species/proc/replace_body(mob/living/carbon/target, datum/species/new_species) + new_species ||= target.dna.species //If no new species is provided, assume its src. + //Note for future: Potentionally add a new C.dna.species() to build a template species for more accurate limb replacement + + if((new_species.digitigrade_customization == DIGITIGRADE_OPTIONAL && target.dna.features["legs"] == "Digitigrade Legs") || new_species.digitigrade_customization == DIGITIGRADE_FORCED) + var/obj/item/bodypart/r_leg/r_leg = new_species.bodypart_overrides[BODY_ZONE_R_LEG] + if(r_leg) + new_species.bodypart_overrides[BODY_ZONE_R_LEG] = initial(r_leg.digitigrade_type) + var/obj/item/bodypart/l_leg/l_leg = new_species.bodypart_overrides[BODY_ZONE_L_LEG] + if(l_leg) + new_species.bodypart_overrides[BODY_ZONE_L_LEG] = initial(l_leg.digitigrade_type) + + for(var/obj/item/bodypart/old_part as anything in target.bodyparts) + if(old_part.change_exempt_flags & BP_BLOCK_CHANGE_SPECIES) + continue + + var/path = new_species.bodypart_overrides?[old_part.body_zone] + var/obj/item/bodypart/new_part + if(path) + new_part = new path() + new_part.replace_limb(target, TRUE) + new_part.update_limb(is_creating = TRUE) + qdel(old_part) diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm index aa148fc3e07..a248ce1e338 100644 --- a/code/modules/mob/living/carbon/human/species_types/abductors.dm +++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm @@ -16,6 +16,15 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT ass_image = 'icons/ass/assgrey.png' + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/abductor, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/abductor, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/abductor, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/abductor, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/abductor, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/abductor, + ) + /datum/species/abductor/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() var/datum/atom_hud/abductor_hud = GLOB.huds[DATA_HUD_ABDUCTOR] diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm index 34bd408dffa..3735838029d 100644 --- a/code/modules/mob/living/carbon/human/species_types/android.dm +++ b/code/modules/mob/living/carbon/human/species_types/android.dm @@ -24,28 +24,41 @@ ) inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID meat = null - damage_overlay_type = SPECIES_SYNTH + damage_overlay_type = "synth" mutanttongue = /obj/item/organ/tongue/robot species_language_holder = /datum/language_holder/synthetic - limbs_id = SPECIES_SYNTH wings_icons = list("Robotic") changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/robot, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/robot, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/robot, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/robot, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/robot, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/robot, + ) + examine_limb_id = SPECIES_HUMAN + /datum/species/android/on_species_gain(mob/living/carbon/C) . = ..() - for(var/X in C.bodyparts) - var/obj/item/bodypart/O = X - O.change_bodypart_status(BODYPART_ROBOTIC, FALSE, TRUE) - O.brute_reduction = 5 - O.burn_reduction = 4 - // Androids don't eat, hunger or metabolise foods. Let's do some cleanup. C.set_safe_hunger_level() -/datum/species/android/on_species_loss(mob/living/carbon/C) +/datum/species/android/replace_body(mob/living/carbon/target, datum/species/new_species) . = ..() - for(var/X in C.bodyparts) - var/obj/item/bodypart/O = X - O.change_bodypart_status(BODYPART_ORGANIC,FALSE, TRUE) - O.brute_reduction = initial(O.brute_reduction) - O.burn_reduction = initial(O.burn_reduction) + var/skintone + if(ishuman(target)) + var/mob/living/carbon/human/human_target = target + skintone = human_target.skin_tone + + for(var/obj/item/bodypart/limb as anything in target.bodyparts) + if(limb.body_zone == BODY_ZONE_HEAD || limb.body_zone == BODY_ZONE_CHEST) + limb.is_dimorphic = TRUE + limb.skin_tone ||= skintone + limb.limb_id = SPECIES_HUMAN + limb.should_draw_greyscale = TRUE + limb.name = "human [parse_zone(limb.body_zone)]" + limb.update_limb() + limb.brute_reduction = 5 + limb.burn_reduction = 4 diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index 4e270434143..306a3c02a2d 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -16,7 +16,7 @@ mutanteyes = /obj/item/organ/eyes/dullahan mutanttongue = /obj/item/organ/tongue/dullahan mutantears = /obj/item/organ/ears/dullahan - limbs_id = SPECIES_HUMAN + examine_limb_id = SPECIES_HUMAN skinned_type = /obj/item/stack/sheet/animalhide/human changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | ERT_SPAWN @@ -38,7 +38,6 @@ var/obj/item/bodypart/head/head = human.get_bodypart(BODY_ZONE_HEAD) if(head) - head.no_update = TRUE head.drop_limb() if(!QDELETED(head)) //drop_limb() deletes the limb if no drop location exists and character setup dummies are located in nullspace. diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm index add9c4ed0ce..e4a97328772 100644 --- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm +++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm @@ -1,5 +1,5 @@ /datum/species/ethereal - name = "Ethereal" + name = "\improper Ethereal" id = SPECIES_ETHEREAL attack_verb = "burn" attack_sound = 'sound/weapons/etherealhit.ogg' @@ -28,6 +28,15 @@ hair_color = "fixedmutcolor" hair_alpha = 140 + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/ethereal, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/ethereal, + BODY_ZONE_HEAD = /obj/item/bodypart/head/ethereal, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/ethereal, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/ethereal, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/ethereal, + ) + var/current_color var/EMPeffect = FALSE var/emageffect = FALSE @@ -66,6 +75,12 @@ var/obj/item/organ/heart/ethereal/ethereal_heart = C.getorganslot(ORGAN_SLOT_HEART) ethereal_heart.ethereal_color = default_color + //The following code is literally only to make admin-spawned ethereals not be black. + C.dna.features["mcolor"] = C.dna.features["ethcolor"] //Ethcolor and Mut color are both dogshit and i hate them + for(var/obj/item/bodypart/limb as anything in C.bodyparts) + if(limb.limb_id == SPECIES_ETHEREAL) + limb.update_limb(is_creating = TRUE) + /datum/species/ethereal/on_species_loss(mob/living/carbon/human/C, datum/species/new_species, pref_load) UnregisterSignal(C, COMSIG_ATOM_EMAG_ACT) UnregisterSignal(C, COMSIG_ATOM_EMP_ACT) @@ -85,6 +100,9 @@ /datum/species/ethereal/spec_updatehealth(mob/living/carbon/human/H) . = ..() + if(!ethereal_light) + return + if(H.stat != DEAD && !EMPeffect) var/healthpercent = max(H.health, 0) / 100 if(!emageffect) @@ -95,8 +113,7 @@ else ethereal_light.set_light_on(FALSE) fixed_mut_color = rgb(128,128,128) - H.update_body() - H.update_hair() // This should fix the ethereal hair not changing with body, no clue as to why hair is not in update_body but okay + H.update_body(is_creating = TRUE) /datum/species/ethereal/proc/on_emp_act(mob/living/carbon/human/H, severity) SIGNAL_HANDLER diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm index 336d5f0897c..9bb15355512 100644 --- a/code/modules/mob/living/carbon/human/species_types/felinid.dm +++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm @@ -3,7 +3,6 @@ name = "Felinid" id = SPECIES_FELINE say_mod = "meows" - limbs_id = SPECIES_HUMAN mutant_bodyparts = list("tail_human" = "Cat", "ears" = "Cat", "wings" = "None") @@ -17,6 +16,7 @@ payday_modifier = 0.75 ass_image = 'icons/ass/asscat.png' family_heirlooms = list(/obj/item/toy/cattoy) + examine_limb_id = SPECIES_HUMAN // Prevents felinids from taking toxin damage from carpotoxin /datum/species/human/felinid/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm index 2cee066e36e..7b130210bbd 100644 --- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm @@ -1,7 +1,7 @@ /datum/species/fly name = "Flyperson" plural_form = "Flypeople" - id = SPECIES_FLY + id = SPECIES_FLYPERSON say_mod = "buzzes" species_traits = list(HAS_FLESH, HAS_BONE, TRAIT_ANTENNAE, HAIR, FACEHAIR) //SKYRAT EDIT - gives flypeople hair inherent_traits = list( @@ -27,6 +27,15 @@ mutantappendix = /obj/item/organ/appendix/fly mutant_organs = list(/obj/item/organ/fly, /obj/item/organ/fly/groin) + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/fly, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/fly, + BODY_ZONE_HEAD = /obj/item/bodypart/head/fly, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/fly, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/fly, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/fly, + ) + /datum/species/fly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) if(chem.type == /datum/reagent/toxin/pestkiller) H.adjustToxLoss(3 * REAGENTS_EFFECT_MULTIPLIER * delta_time) diff --git a/code/modules/mob/living/carbon/human/species_types/golems.dm b/code/modules/mob/living/carbon/human/species_types/golems.dm index 0f4d4629cb5..05518cee211 100644 --- a/code/modules/mob/living/carbon/human/species_types/golems.dm +++ b/code/modules/mob/living/carbon/human/species_types/golems.dm @@ -36,8 +36,17 @@ species_language_holder = /datum/language_holder/golem // To prevent golem subtypes from overwhelming the odds when random species // changes, only the Random Golem type can be chosen - limbs_id = "golem" fixed_mut_color = "#aaaaaa" + + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/golem, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/golem, + BODY_ZONE_HEAD = /obj/item/bodypart/head/golem, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/golem, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/golem, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/golem, + ) + var/info_text = "As an Iron Golem, you don't have any special traits." var/random_eligible = TRUE //If false, the golem subtype can't be made through golem mutation toxin @@ -101,6 +110,7 @@ info_text = "As an Adamantine Golem, you possess special vocal cords allowing you to \"resonate\" messages to all golems. Your unique mineral makeup makes you immune to most types of magic." prefix = "Adamantine" special_names = null + examine_limb_id = SPECIES_GOLEM /datum/species/golem/adamantine/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() @@ -135,6 +145,7 @@ heatmod = 0 //fine until they blow up prefix = "Plasma" special_names = list("Flood","Fire","Bar","Man") + examine_limb_id = SPECIES_GOLEM var/boom_warning = FALSE var/datum/action/innate/ignite/ignite @@ -192,6 +203,7 @@ info_text = "As a Diamond Golem, you are more resistant than the average golem." prefix = "Diamond" special_names = list("Back","Grill") + examine_limb_id = SPECIES_GOLEM //Faster but softer and less armoured /datum/species/golem/gold @@ -204,6 +216,7 @@ info_text = "As a Gold Golem, you are faster but less resistant than the average golem." prefix = "Golden" special_names = list("Boy") + examine_limb_id = SPECIES_GOLEM //Heavier, thus higher chance of stunning when punching /datum/species/golem/silver @@ -215,6 +228,7 @@ info_text = "As a Silver Golem, your attacks have a higher chance of stunning. Being made of silver, your body is immune to most types of magic." prefix = "Silver" special_names = list("Surfer", "Chariot", "Lining") + examine_limb_id = SPECIES_GOLEM /datum/species/golem/silver/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() @@ -241,6 +255,7 @@ attack_sound = 'sound/effects/meteorimpact.ogg' //hits pretty hard prefix = "Plasteel" special_names = null + examine_limb_id = SPECIES_GOLEM /datum/species/golem/plasteel/negates_gravity(mob/living/carbon/human/H) return TRUE @@ -263,6 +278,7 @@ burnmod = 0.9 prefix = "Titanium" special_names = list("Dioxide") + examine_limb_id = SPECIES_GOLEM /datum/species/golem/titanium/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() @@ -282,6 +298,7 @@ burnmod = 0.8 prefix = "Plastitanium" special_names = null + examine_limb_id = SPECIES_GOLEM /datum/species/golem/plastitanium/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() @@ -304,12 +321,13 @@ info_text = "As an Alloy Golem, you are made of advanced alien materials: you are faster and regenerate over time. You are, however, only able to be heard by other alloy golems." prefix = "Alien" special_names = list("Outsider", "Technology", "Watcher", "Stranger") //ominous and unknown + examine_limb_id = SPECIES_GOLEM //Regenerates because self-repairing super-advanced alien tech /datum/species/golem/alloy/spec_life(mob/living/carbon/human/H, delta_time, times_fired) if(H.stat == DEAD) return - H.heal_overall_damage(1 * delta_time, 1 * delta_time, 0, BODYPART_ORGANIC) + H.heal_overall_damage(1 * delta_time, 1 * delta_time, 0, BODYTYPE_ORGANIC) H.adjustToxLoss(-1 * delta_time) H.adjustOxyLoss(-1 * delta_time) @@ -343,6 +361,7 @@ human_surname_chance = 0 special_name_chance = 100 inherent_factions = list("plants", "vines") + examine_limb_id = SPECIES_GOLEM /datum/species/golem/wood/spec_life(mob/living/carbon/human/H, delta_time, times_fired) if(H.stat == DEAD) @@ -355,7 +374,7 @@ if(H.nutrition > NUTRITION_LEVEL_ALMOST_FULL) H.set_nutrition(NUTRITION_LEVEL_ALMOST_FULL) if(light_amount > 0.2) //if there's enough light, heal - H.heal_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYPART_ORGANIC) + H.heal_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYTYPE_ORGANIC) H.adjustToxLoss(-0.5 * delta_time) H.adjustOxyLoss(-0.5 * delta_time) @@ -388,6 +407,7 @@ prefix = "Uranium" special_names = list("Oxide", "Rod", "Meltdown", "235") COOLDOWN_DECLARE(radiation_emission_cooldown) + examine_limb_id = SPECIES_GOLEM /datum/species/golem/uranium/proc/radiation_emission(mob/living/carbon/human/H) if(!COOLDOWN_FINISHED(src, radiation_emission_cooldown)) @@ -424,6 +444,7 @@ attack_sound = 'sound/effects/shovel_dig.ogg' prefix = "Sand" special_names = list("Castle", "Bag", "Dune", "Worm", "Storm") + examine_limb_id = SPECIES_GOLEM /datum/species/golem/sand/spec_death(gibbed, mob/living/carbon/human/H) H.visible_message(span_danger("[H] turns into a pile of sand!")) @@ -455,6 +476,7 @@ attack_sound = 'sound/effects/glassbr2.ogg' prefix = "Glass" special_names = list("Lens", "Prism", "Fiber", "Bead") + examine_limb_id = SPECIES_GOLEM /datum/species/golem/glass/spec_death(gibbed, mob/living/carbon/human/H) playsound(H, SFX_SHATTER, 70, TRUE) @@ -490,6 +512,7 @@ attack_sound = 'sound/effects/phasein.ogg' prefix = "Bluespace" special_names = list("Crystal", "Polycrystal") + examine_limb_id = SPECIES_GOLEM var/datum/action/innate/unstable_teleport/unstable_teleport var/teleport_cooldown = 100 @@ -605,6 +628,7 @@ attack_sound = 'sound/items/airhorn2.ogg' prefix = "Bananium" special_names = null + examine_limb_id = SPECIES_GOLEM /// Cooldown for producing honks COOLDOWN_DECLARE(honkooldown) @@ -684,7 +708,6 @@ /datum/species/golem/runic name = "Runic Golem" id = SPECIES_GOLEM_CULT - limbs_id = "cultgolem" sexes = FALSE info_text = "As a Runic Golem, you possess eldritch powers granted by the Elder Goddess Nar'Sie." species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES) //no mutcolors @@ -709,6 +732,15 @@ special_names = null inherent_factions = list("cult") species_language_holder = /datum/language_holder/golem/runic + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/golem/cult, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/golem/cult, + BODY_ZONE_HEAD = /obj/item/bodypart/head/golem/cult, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/golem/cult, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/golem/cult, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/golem/cult, + ) + var/obj/effect/proc_holder/spell/targeted/ethereal_jaunt/shift/golem/phase_shift var/obj/effect/proc_holder/spell/pointed/abyssal_gaze/abyssal_gaze var/obj/effect/proc_holder/spell/pointed/dominate/dominate @@ -753,7 +785,6 @@ /datum/species/golem/cloth name = "Cloth Golem" id = SPECIES_GOLEM_CLOTH - limbs_id = "clothgolem" sexes = FALSE info_text = "As a Cloth Golem, you are able to reform yourself after death, provided your remains aren't burned or destroyed. You are, of course, very flammable. \ Being made of cloth, your body is magic resistant and faster than that of other golems, but weaker and less resilient." @@ -780,6 +811,14 @@ punchdamagehigh = 8 // not as heavy as stone prefix = "Cloth" special_names = null + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/golem/cloth, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/golem/cloth, + BODY_ZONE_HEAD = /obj/item/bodypart/head/golem/cloth, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/golem/cloth, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/golem/cloth, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/golem/cloth, + ) /datum/species/golem/cloth/on_species_gain(mob/living/carbon/C, datum/species/old_species) ..() @@ -942,6 +981,7 @@ special_names = list("Sheet", "Bag", "Bottle") fixed_mut_color = "fffa" info_text = "As a Plastic Golem, you are capable of ventcrawling and passing through plastic flaps as long as you are naked." + examine_limb_id = SPECIES_GOLEM /datum/species/golem/bronze name = "Bronze Golem" @@ -952,6 +992,7 @@ info_text = "As a Bronze Golem, you are very resistant to loud noises, and make loud noises if something hard hits you, however this ability does hurt your hearing." special_step_sounds = list('sound/machines/clockcult/integration_cog_install.ogg', 'sound/magic/clockwork/fellowship_armory.ogg' ) mutantears = /obj/item/organ/ears/bronze + examine_limb_id = SPECIES_GOLEM var/last_gong_time = 0 var/gong_cooldown = 150 @@ -1033,7 +1074,6 @@ TRAIT_NODISMEMBER, TRAIT_NOFLASH, ) - limbs_id = "c_golem" //special sprites attack_verb = "whips" attack_sound = 'sound/weapons/whip.ogg' miss_sound = 'sound/weapons/etherealmiss.ogg' @@ -1045,6 +1085,14 @@ punchdamagelow = 4 punchstunthreshold = 7 punchdamagehigh = 8 + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/golem/cardboard, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/golem/cardboard, + BODY_ZONE_HEAD = /obj/item/bodypart/head/golem/cardboard, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/golem/cardboard, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/golem/cardboard, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/golem/cardboard, + ) var/last_creation = 0 var/brother_creation_cooldown = 300 @@ -1096,12 +1144,11 @@ info_text = "As a Leather Golem, you are flammable, but you can grab things with incredible ease, allowing all your grabs to start at a strong level." grab_sound = 'sound/weapons/whipgrab.ogg' attack_sound = 'sound/weapons/whip.ogg' - + examine_limb_id = SPECIES_GOLEM /datum/species/golem/durathread name = "Durathread Golem" id = SPECIES_GOLEM_DURATHREAD prefix = "Durathread" - limbs_id = "d_golem" special_names = list("Boll","Weave") species_traits = list(NOBLOOD,NO_UNDERWEAR,NOEYESPRITES) fixed_mut_color = null @@ -1120,6 +1167,14 @@ TRAIT_NOFLASH, ) info_text = "As a Durathread Golem, your strikes will cause those your targets to start choking, but your woven body won't withstand fire as well." + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/golem/durathread, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/golem/durathread, + BODY_ZONE_HEAD = /obj/item/bodypart/head/golem/durathread, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/golem/durathread, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/golem/durathread, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/golem/durathread, + ) /datum/species/golem/durathread/spec_unarmedattacked(mob/living/carbon/human/user, mob/living/carbon/human/target) . = ..() @@ -1130,7 +1185,6 @@ id = SPECIES_GOLEM_BONE say_mod = "rattles" prefix = "Bone" - limbs_id = "b_golem" special_names = list("Head", "Broth", "Fracture", "Rattler", "Appetit") liked_food = GROSS | MEAT | RAW toxic_food = null @@ -1159,6 +1213,14 @@ ) species_language_holder = /datum/language_holder/golem/bone info_text = "As a Bone Golem, You have a powerful spell that lets you chill your enemies with fear, and milk heals you! Just make sure to watch our for bone-hurting juice." + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/golem/bone, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/golem/bone, + BODY_ZONE_HEAD = /obj/item/bodypart/head/golem/bone, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/golem/bone, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/golem/bone, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/golem/bone, + ) var/datum/action/innate/bonechill/bonechill /datum/species/golem/bone/on_species_gain(mob/living/carbon/C, datum/species/old_species) @@ -1238,7 +1300,6 @@ /datum/species/golem/snow name = "Snow Golem" id = SPECIES_GOLEM_SNOW - limbs_id = "sn_golem" fixed_mut_color = null //custom sprites armor = 45 //down from 55 burnmod = 3 //melts easily @@ -1259,7 +1320,14 @@ TRAIT_PIERCEIMMUNE, TRAIT_NODISMEMBER, ) - + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/golem/snow, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/golem/snow, + BODY_ZONE_HEAD = /obj/item/bodypart/head/golem/snow, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/golem/snow, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/golem/snow, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/golem/snow, + ) var/obj/effect/proc_holder/spell/targeted/conjure_item/snowball/ball var/obj/effect/proc_holder/spell/aimed/cryo/cryo @@ -1318,6 +1386,7 @@ TRAIT_NODISMEMBER, TRAIT_CHUNKYFINGERS, ) + examine_limb_id = SPECIES_GOLEM /datum/species/golem/mhydrogen/on_species_gain(mob/living/carbon/C, datum/species/old_species) . = ..() diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm index 271bd95c5c6..85f66b89c6f 100644 --- a/code/modules/mob/living/carbon/human/species_types/humans.dm +++ b/code/modules/mob/living/carbon/human/species_types/humans.dm @@ -1,5 +1,5 @@ /datum/species/human - name = "Human" + name = "\improper Human" id = SPECIES_HUMAN default_color = "FFFFFF" species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,HAS_FLESH,HAS_BONE) 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 50fafad6429..8a1ca020a5a 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -1,6 +1,6 @@ /datum/species/jelly // Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them. - name = "Jellyperson" + name = "\improper Jellyperson" plural_form = "Jellypeople" id = SPECIES_JELLYPERSON default_color = "00FF90" @@ -28,24 +28,35 @@ species_language_holder = /datum/language_holder/jelly ass_image = 'icons/ass/assslime.png' -/datum/species/jelly/on_species_loss(mob/living/carbon/C) + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/jelly, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/jelly, + BODY_ZONE_HEAD = /obj/item/bodypart/head/jelly, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/jelly, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/jelly, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/jelly, + ) + +/datum/species/jelly/on_species_loss(mob/living/carbon/old_jellyperson) if(regenerate_limbs) - regenerate_limbs.Remove(C) + regenerate_limbs.Remove(old_jellyperson) //SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION if(slime_change) - slime_change.Remove(C) + slime_change.Remove(old_jellyperson) //SKYRAT EDIT ADDITION END + old_jellyperson.RemoveElement(/datum/element/soft_landing) ..() -/datum/species/jelly/on_species_gain(mob/living/carbon/C, datum/species/old_species) +/datum/species/jelly/on_species_gain(mob/living/carbon/new_jellyperson, datum/species/old_species) ..() - if(ishuman(C)) + if(ishuman(new_jellyperson)) regenerate_limbs = new - regenerate_limbs.Grant(C) + regenerate_limbs.Grant(new_jellyperson) //SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION slime_change = new - slime_change.Grant(C) + slime_change.Grant(new_jellyperson) //SKYRAT EDIT ADDITION END + new_jellyperson.AddElement(/datum/element/soft_landing) /datum/species/jelly/spec_life(mob/living/carbon/human/H, delta_time, times_fired) if(H.stat == DEAD) //can't farm slime jelly from a dead slime/jelly person indefinitely @@ -145,7 +156,7 @@ //Slime people are able to split like slimes, retaining a single mind that can swap between bodies at will, even after death. /datum/species/jelly/slime - name = "Slimeperson" + name = "\improper Slimeperson" plural_form = "Slimepeople" id = SPECIES_SLIMEPERSON default_color = "00FFFF" @@ -157,6 +168,15 @@ var/list/mob/living/carbon/bodies var/datum/action/innate/swap_body/swap_body + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/slime, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/slime, + BODY_ZONE_HEAD = /obj/item/bodypart/head/slime, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/slime, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/slime, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/slime, + ) + /datum/species/jelly/slime/on_species_loss(mob/living/carbon/C) if(slime_split) slime_split.Remove(C) @@ -434,6 +454,7 @@ name = "Luminescent" plural_form = null id = SPECIES_LUMINESCENT + examine_limb_id = SPECIES_JELLYPERSON var/glow_intensity = LUMINESCENT_DEFAULT_GLOW var/obj/effect/dummy/luminescent_glow/glow var/obj/item/slime_extract/current_extract @@ -442,6 +463,7 @@ var/datum/action/innate/use_extract/major/extract_major var/extract_cooldown = 0 + //Species datums don't normally implement destroy, but JELLIES SUCK ASS OUT OF A STEEL STRAW /datum/species/jelly/luminescent/Destroy(force, ...) current_extract = null @@ -614,9 +636,10 @@ //Stargazers are the telepathic branch of jellypeople, able to project psychic messages and to link minds with willing participants. /datum/species/jelly/stargazer - name = "Stargazer" + name = "\improper Stargazer" plural_form = null id = SPECIES_STARGAZER + examine_limb_id = SPECIES_JELLYPERSON /// Special "project thought" telepathy action for stargazers. var/datum/action/innate/project_thought/project_action diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 3efa5400fe8..1ae0b8d792b 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -1,6 +1,6 @@ /datum/species/lizard // Reptilian humanoids with scaled skin and tails. - name = "Lizardperson" + name = "\improper Lizardperson" plural_form = "Lizardfolk" id = SPECIES_LIZARD say_mod = "hisses" @@ -35,12 +35,23 @@ deathsound = 'sound/voice/lizard/deathsound.ogg' wings_icons = list("Dragon") species_language_holder = /datum/language_holder/lizard + digitigrade_customization = DIGITIGRADE_OPTIONAL + // Lizards are coldblooded and can stand a greater temperature range than humans bodytemp_heat_damage_limit = (BODYTEMP_HEAT_DAMAGE_LIMIT + 20) // This puts lizards 10 above lavaland max heat for ash lizards. bodytemp_cold_damage_limit = (BODYTEMP_COLD_DAMAGE_LIMIT - 10) ass_image = 'icons/ass/asslizard.png' + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/lizard, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/lizard, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/lizard, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/lizard, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/lizard, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/lizard, + ) + /// Lizards are cold blooded and do not stabilize body temperature naturally /datum/species/lizard/body_temperature_core(mob/living/carbon/human/humi, delta_time, times_fired) return @@ -177,8 +188,7 @@ Lizard subspecies: ASHWALKERS /datum/species/lizard/ashwalker name = "Ash Walker" id = SPECIES_LIZARD_ASH - limbs_id = SPECIES_LIZARD - species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE,HAS_FLESH,HAS_BONE) + species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAS_FLESH,HAS_BONE) mutantlungs = /obj/item/organ/lungs/ashwalker inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, @@ -187,14 +197,14 @@ Lizard subspecies: ASHWALKERS TRAIT_VIRUSIMMUNE, ) species_language_holder = /datum/language_holder/lizard/ash - + digitigrade_customization = DIGITIGRADE_FORCED + examine_limb_id = SPECIES_LIZARD /* Lizard subspecies: SILVER SCALED */ /datum/species/lizard/silverscale name = "Silver Scale" id = SPECIES_LIZARD_SILVER - limbs_id = SPECIES_LIZARD inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_REPTILE inherent_traits = list( TRAIT_ADVANCEDTOOLUSER, @@ -211,6 +221,7 @@ Lizard subspecies: SILVER SCALED mutanttongue = /obj/item/organ/tongue/lizard //SKYRAT EDIT CHANGE armor = 10 //very light silvery scales soften blows changesource_flags = MIRROR_BADMIN | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN + examine_limb_id = SPECIES_LIZARD ///stored mutcolor for when we turn back off of a silverscale. var/old_mutcolor ///stored eye color for when we turn back off of a silverscale. diff --git a/code/modules/mob/living/carbon/human/species_types/monkeys.dm b/code/modules/mob/living/carbon/human/species_types/monkeys.dm index c882dd56395..40063c834ce 100644 --- a/code/modules/mob/living/carbon/human/species_types/monkeys.dm +++ b/code/modules/mob/living/carbon/human/species_types/monkeys.dm @@ -2,6 +2,7 @@ name = "Monkey" id = SPECIES_MONKEY say_mod = "chimpers" + bodytype = BODYTYPE_ORGANIC | BODYTYPE_MONKEY attack_verb = "bite" attack_effect = ATTACK_EFFECT_BITE attack_sound = 'sound/weapons/bite.ogg' @@ -10,7 +11,6 @@ mutant_bodyparts = list("tail_monkey" = "Monkey") skinned_type = /obj/item/stack/sheet/animalhide/monkey meat = /obj/item/food/meat/slab/monkey - allowed_animal_origin = MONKEY_BODY knife_butcher_results = list(/obj/item/food/meat/slab/monkey = 5, /obj/item/stack/sheet/animalhide/monkey = 1) species_traits = list( HAS_FLESH, @@ -39,14 +39,14 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | ERT_SPAWN | SLIME_EXTRACT liked_food = MEAT | FRUIT disliked_food = CLOTH - limbs_id = SPECIES_MONKEY - damage_overlay_type = SPECIES_MONKEY + damage_overlay_type = "monkey" sexes = FALSE punchdamagelow = 1 punchdamagehigh = 3 punchstunthreshold = 4 // no stun punches species_language_holder = /datum/language_holder/monkey - bodypart_overides = list( + + bodypart_overrides = list( BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/monkey, BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/monkey, BODY_ZONE_HEAD = /obj/item/bodypart/head/monkey, diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm index 8e533aa2c71..abb1fb4e85c 100644 --- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm +++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm @@ -1,5 +1,5 @@ /datum/species/moth - name = "Mothman" + name = "\improper Mothman" plural_form = "Mothmen" id = SPECIES_MOTH say_mod = "flutters" @@ -29,6 +29,15 @@ payday_modifier = 0.75 family_heirlooms = list(/obj/item/flashlight/lantern/heirloom_moth) + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/moth, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/moth, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/moth, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/moth, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/moth, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/moth, + ) + /datum/species/moth/regenerate_organs(mob/living/carbon/C, datum/species/old_species, replace_current= TRUE, list/excluded_zones, visual_only) . = ..() if(ishuman(C)) diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm index ebcca4c6389..a6daaf13c0f 100644 --- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm @@ -34,6 +34,15 @@ var/datum/martial_art/mushpunch/mush species_language_holder = /datum/language_holder/mushroom + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mushroom, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mushroom, + BODY_ZONE_HEAD = /obj/item/bodypart/head/mushroom, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mushroom, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mushroom, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mushroom, + ) + /datum/species/mush/check_roundstart_eligible() return FALSE //hard locked out of roundstart on the order of design lead kor, this can be removed in the future when planetstation is here OR SOMETHING but right now we have a problem with races. 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 f7d2c974b7a..5d34c91b2b3 100644 --- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm +++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm @@ -1,5 +1,5 @@ /datum/species/plasmaman - name = "Plasmaman" + name = "\improper Plasmaman" plural_form = "Plasmamen" id = SPECIES_PLASMAMAN say_mod = "rattles" @@ -34,6 +34,15 @@ outfit_important_for_life = /datum/outfit/plasmaman species_language_holder = /datum/language_holder/skeleton + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/plasmaman, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/plasmaman, + BODY_ZONE_HEAD = /obj/item/bodypart/head/plasmaman, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/plasmaman, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/plasmaman, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/plasmaman, + ) + // Body temperature for Plasmen is much lower human as they can handle colder environments bodytemp_normal = (BODYTEMP_NORMAL - 40) // The minimum amount they stabilize per tick is reduced making hot areas harder to deal with @@ -56,7 +65,7 @@ var/atmos_sealed = CanIgniteMob(H) && (isclothing(H.wear_suit) && H.wear_suit.clothing_flags & STOPSPRESSUREDAMAGE) && (isclothing(H.head) && H.head.clothing_flags & STOPSPRESSUREDAMAGE) var/flammable_limb = FALSE for(var/obj/item/bodypart/found_bodypart as anything in H.bodyparts)//If any plasma based limb is found the plasmaman will attempt to autoignite - if(found_bodypart.status == BODYPART_ORGANIC && (found_bodypart.species_id == SPECIES_PLASMAMAN || HAS_TRAIT(found_bodypart, TRAIT_PLASMABURNT))) //Allows for "donated" limbs and augmented limbs to prevent autoignition + if(IS_ORGANIC_LIMB(found_bodypart) && (found_bodypart.limb_id == SPECIES_PLASMAMAN || HAS_TRAIT(found_bodypart, TRAIT_PLASMABURNT))) //Allows for "donated" limbs and augmented limbs to prevent autoignition flammable_limb = TRUE break if(!flammable_limb && !H.on_fire) //Allows their suit to attempt to autoextinguish if augged and on fire diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm index 90197c03099..3e7bf1a6e32 100644 --- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm @@ -1,6 +1,6 @@ /datum/species/pod // A mutation caused by a human being ressurected in a revival pod. These regain health in light, and begin to wither in darkness. - name = "Podperson" + name = "\improper Podperson" plural_form = "Podpeople" id = SPECIES_PODPERSON default_color = "59CE00" @@ -29,6 +29,15 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT species_language_holder = /datum/language_holder/plant + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/pod, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/pod, + BODY_ZONE_HEAD = /obj/item/bodypart/head/pod, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/pod, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/pod, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/pod, + ) + /datum/species/pod/spec_life(mob/living/carbon/human/H, delta_time, times_fired) if(H.stat == DEAD) return @@ -41,7 +50,7 @@ if(H.nutrition > NUTRITION_LEVEL_ALMOST_FULL) H.set_nutrition(NUTRITION_LEVEL_ALMOST_FULL) if(light_amount > 0.2) //if there's enough light, heal - H.heal_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYPART_ORGANIC) + H.heal_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYTYPE_ORGANIC) H.adjustToxLoss(-0.5 * delta_time) H.adjustOxyLoss(-0.5 * delta_time) 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 e1013f5c658..4b905f35aa0 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -18,6 +18,15 @@ mutanteyes = /obj/item/organ/eyes/night_vision species_language_holder = /datum/language_holder/shadowpeople + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/shadow, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/shadow, + BODY_ZONE_HEAD = /obj/item/bodypart/head/shadow, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/shadow, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/shadow, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/shadow, + ) + /datum/species/shadow/spec_life(mob/living/carbon/human/H, delta_time, times_fired) var/turf/T = H.loc @@ -25,9 +34,9 @@ var/light_amount = T.get_lumcount() if(light_amount > SHADOW_SPECIES_LIGHT_THRESHOLD) //if there's enough light, start dying - H.take_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYPART_ORGANIC) + H.take_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYTYPE_ORGANIC) else if (light_amount < SHADOW_SPECIES_LIGHT_THRESHOLD) //heal in the dark - H.heal_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYPART_ORGANIC) + H.heal_overall_damage(0.5 * delta_time, 0.5 * delta_time, 0, BODYTYPE_ORGANIC) /datum/species/shadow/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) 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 4e3726d80c3..302f06f052b 100644 --- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm +++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm @@ -38,6 +38,15 @@ changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN species_language_holder = /datum/language_holder/skeleton + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/skeleton, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/skeleton, + BODY_ZONE_HEAD = /obj/item/bodypart/head/skeleton, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/skeleton, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/skeleton, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/skeleton, + ) + /datum/species/skeleton/on_species_gain(mob/living/carbon/C, datum/species/old_species, pref_load) . = ..() C.set_safe_hunger_level() diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index d8c073a5da2..46ff16c832f 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -24,6 +24,15 @@ mutanttongue = /obj/item/organ/tongue/snail exotic_blood = /datum/reagent/lube + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/snail, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/snail, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/snail, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/snail, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/snail, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/snail + ) + /datum/species/snail/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) if(istype(chem,/datum/reagent/consumable/salt)) H.adjustFireLoss(2 * REAGENTS_EFFECT_MULTIPLIER * delta_time) diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm deleted file mode 100644 index e295ec520d0..00000000000 --- a/code/modules/mob/living/carbon/human/species_types/synths.dm +++ /dev/null @@ -1,142 +0,0 @@ -/datum/species/synth - name = "Synth" //inherited from the real species, for health scanners and things - id = SPECIES_SYNTH - say_mod = "beep boops" //inherited from a user's real species - sexes = 0 - species_traits = list(NOTRANSSTING, NO_DNA_COPY) //all of these + whatever we inherit from the real species - inherent_traits = list( - TRAIT_ADVANCEDTOOLUSER, - TRAIT_CAN_STRIP, - TRAIT_VIRUSIMMUNE, - TRAIT_NODISMEMBER, - TRAIT_NOLIMBDISABLE, - TRAIT_NOHUNGER, - TRAIT_NOBREATH, - ) - inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID - meat = null - damage_overlay_type = SPECIES_SYNTH - limbs_id = SPECIES_SYNTH - ///If your health becomes equal to or less than this value, your disguise is supposed to break. Unfortunately, that feature currently isn't implemented, so currently, all this threshold is used for is (I kid you not) determining whether or not your speech uses SPAN_CLOWN while you're disguised as a bananium golem. See the handle_speech() proc further down in this file for more information on that check. - var/disguise_fail_health = 75 - var/datum/species/fake_species //a species to do most of our work for us, unless we're damaged - var/list/initial_species_traits //for getting these values back for assume_disguise() - var/list/initial_inherent_traits - wings_icons = list("Robotic") - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC - species_language_holder = /datum/language_holder/synthetic - -/datum/species/synth/New() - initial_species_traits = species_traits.Copy() - initial_inherent_traits = inherent_traits.Copy() - ..() - -/datum/species/synth/military - name = "Military Synth" - id = SPECIES_SYNTH_MILITARY - armor = 25 - punchdamagelow = 10 - punchdamagehigh = 19 - punchstunthreshold = 14 //about 50% chance to stun - disguise_fail_health = 50 - changesource_flags = MIRROR_BADMIN | WABBAJACK - -/datum/species/synth/on_species_gain(mob/living/carbon/human/H, datum/species/old_species) - ..() - assume_disguise(old_species, H) - RegisterSignal(H, COMSIG_MOB_SAY, .proc/handle_speech) - H.set_safe_hunger_level() - -/datum/species/synth/on_species_loss(mob/living/carbon/human/H) - . = ..() - UnregisterSignal(H, COMSIG_MOB_SAY) - -/datum/species/synth/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H, delta_time, times_fired) - if(chem.type == /datum/reagent/medicine/c2/synthflesh) - chem.expose_mob(H, TOUCH, 2 * REAGENTS_EFFECT_MULTIPLIER * delta_time,0) //heal a little - H.reagents.remove_reagent(chem.type, REAGENTS_METABOLISM * delta_time) - return TRUE - return ..() - - -/datum/species/synth/proc/assume_disguise(datum/species/S, mob/living/carbon/human/H) - if(S && !istype(S, type)) - name = S.name - say_mod = S.say_mod - sexes = S.sexes - species_traits = initial_species_traits.Copy() - inherent_traits = initial_inherent_traits.Copy() - species_traits |= S.species_traits - inherent_traits |= S.inherent_traits - attack_verb = S.attack_verb - attack_effect = S.attack_effect - attack_sound = S.attack_sound - miss_sound = S.miss_sound - meat = S.meat - mutant_bodyparts = S.mutant_bodyparts.Copy() - mutant_organs = S.mutant_organs.Copy() - nojumpsuit = S.nojumpsuit - no_equip = S.no_equip.Copy() - limbs_id = S.limbs_id - use_skintones = S.use_skintones - fixed_mut_color = S.fixed_mut_color - hair_color = S.hair_color - fake_species = new S.type - else - name = initial(name) - say_mod = initial(say_mod) - species_traits = initial_species_traits.Copy() - inherent_traits = initial_inherent_traits.Copy() - attack_verb = initial(attack_verb) - attack_effect = initial(attack_verb) - attack_sound = initial(attack_sound) - miss_sound = initial(miss_sound) - mutant_bodyparts = list() - nojumpsuit = initial(nojumpsuit) - no_equip = list() - qdel(fake_species) - fake_species = null - meat = initial(meat) - limbs_id = SPECIES_SYNTH - use_skintones = 0 - sexes = 0 - fixed_mut_color = "" - hair_color = "" - - for(var/X in H.bodyparts) //propagates the damage_overlay changes - var/obj/item/bodypart/BP = X - BP.update_limb() - H.update_body_parts() //to update limb icon cache with the new damage overlays - -//Proc redirects: -//Passing procs onto the fake_species, to ensure we look as much like them as possible - -/datum/species/synth/handle_hair(mob/living/carbon/human/H, forced_colour) - if(fake_species) - fake_species.handle_hair(H, forced_colour) - 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, force_update = FALSE) //SKYRAT EDIT - ORIGINAL: /datum/species/synth/handle_mutant_bodyparts(mob/living/carbon/human/H, forced_colour) (one parameter added) - if(fake_species) - fake_species.handle_mutant_bodyparts(H,forced_colour, force_update) - else - return ..() - - -/datum/species/synth/proc/handle_speech(datum/source, list/speech_args) - SIGNAL_HANDLER - if (isliving(source)) // yeah it's gonna be living but just to be clean - var/mob/living/L = source - if(fake_species && L.health > disguise_fail_health) - switch(fake_species.type) - if (/datum/species/golem/bananium) - speech_args[SPEECH_SPANS] |= SPAN_CLOWN diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm index 6a412460867..3dace5221ff 100644 --- a/code/modules/mob/living/carbon/human/species_types/vampire.dm +++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm @@ -31,7 +31,7 @@ use_skintones = TRUE mutantheart = /obj/item/organ/heart/vampire mutanttongue = /obj/item/organ/tongue/vampire - limbs_id = SPECIES_HUMAN + examine_limb_id = SPECIES_HUMAN skinned_type = /obj/item/stack/sheet/animalhide/human ///some starter text sent to the vampire initially, because vampires have shit to do to stay alive var/info_text = "You are a Vampire. You will slowly but constantly lose blood if outside of a coffin. If inside a coffin, you will slowly heal. You may gain more blood by grabbing a live victim and using your drain ability." @@ -51,7 +51,7 @@ /datum/species/vampire/spec_life(mob/living/carbon/human/vampire, delta_time, times_fired) . = ..() if(istype(vampire.loc, /obj/structure/closet/crate/coffin)) - vampire.heal_overall_damage(2 * delta_time, 2 * delta_time, 0, BODYPART_ORGANIC) + vampire.heal_overall_damage(2 * delta_time, 2 * delta_time, 0, BODYTYPE_ORGANIC) vampire.adjustToxLoss(-2 * delta_time) vampire.adjustOxyLoss(-2 * delta_time) vampire.adjustCloneLoss(-2 * delta_time) diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm index 86b674b5163..fd624b40ddc 100644 --- a/code/modules/mob/living/carbon/human/species_types/zombies.dm +++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm @@ -3,7 +3,7 @@ /datum/species/zombie // 1spooky name = "High-Functioning Zombie" - id = SPECIES_ZOMBIE_HALLOWEEN + id = SPECIES_ZOMBIE say_mod = "moans" sexes = 0 meat = /obj/item/food/meat/slab/human/mutant/zombie @@ -36,6 +36,15 @@ bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_EXIST // Take damage at fire temp bodytemp_cold_damage_limit = MINIMUM_TEMPERATURE_TO_MOVE // take damage below minimum movement temp + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/zombie, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/zombie, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/zombie, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/zombie, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/zombie, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/zombie + ) + /// Zombies do not stabilize body temperature they are the walking dead and are cold blooded /datum/species/zombie/body_temperature_core(mob/living/carbon/human/humi, delta_time, times_fired) return @@ -69,8 +78,8 @@ /datum/species/zombie/infectious name = "Infectious Zombie" - id = SPECIES_ZOMBIE - limbs_id = SPECIES_ZOMBIE_HALLOWEEN + id = SPECIES_ZOMBIE_INFECTIOUS + examine_limb_id = SPECIES_ZOMBIE mutanthands = /obj/item/zombie_hand armor = 20 // 120 damage to KO a zombie, which kills it speedmod = 1.6 @@ -132,19 +141,38 @@ infection.Insert(C) // Your skin falls off -/datum/species/krokodil_addict - name = "Human" - id = SPECIES_ADDICT - limbs_id = SPECIES_ZOMBIE_HALLOWEEN //They look like zombies +/datum/species/human/krokodil_addict + name = "\improper Human" + id = SPECIES_ZOMBIE_KROKODIL + examine_limb_id = SPECIES_HUMAN sexes = 0 - meat = /obj/item/food/meat/slab/human/mutant/zombie mutanttongue = /obj/item/organ/tongue/zombie changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN - species_traits = list(HAS_FLESH, HAS_BONE) - inherent_traits = list( - TRAIT_ADVANCEDTOOLUSER, - TRAIT_CAN_STRIP, - TRAIT_EASILY_WOUNDED, + + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/zombie, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/zombie, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/zombie, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/zombie, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/zombie, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/zombie ) +/datum/species/human/krokodil_addict/replace_body(mob/living/carbon/target, datum/species/new_species) + ..() + var/skintone + if(ishuman(target)) + var/mob/living/carbon/human/human_target = target + skintone = human_target.skin_tone + + for(var/obj/item/bodypart/limb as anything in target.bodyparts) + if(IS_ORGANIC_LIMB(limb)) + if(limb.body_zone == BODY_ZONE_HEAD || limb.body_zone == BODY_ZONE_CHEST) + limb.is_dimorphic = TRUE + limb.skin_tone ||= skintone + limb.limb_id = SPECIES_HUMAN + limb.should_draw_greyscale = TRUE + limb.name = "human [parse_zone(limb.body_zone)]" + limb.update_limb() + #undef REGENERATION_DELAY diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index 5273d0dd930..9fe7e1ddcc3 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -14,6 +14,16 @@ return legcuffed return null +/mob/living/carbon/proc/get_all_worn_items() + return list( + back, + wear_mask, + wear_neck, + head, + handcuffed, + legcuffed, + ) + /mob/living/carbon/proc/equip_in_one_of_slots(obj/item/I, list/slots, qdel_on_fail = 1) for(var/slot in slots) if(equip_to_slot_if_possible(I, slots[slot], qdel_on_fail = 0, disable_warning = TRUE)) @@ -242,3 +252,26 @@ visible_message(span_notice("[src] takes [I] from [offerer]."), \ span_notice("You take [I] from [offerer].")) put_in_hands(I) + +///Returns a list of all body_zones covered by clothing +/mob/living/carbon/proc/get_covered_body_zones() + RETURN_TYPE(/list) + SHOULD_NOT_OVERRIDE(TRUE) + + var/covered_flags = NONE + var/list/all_worn_items = get_all_worn_items() + for(var/obj/item/worn_item in all_worn_items) + covered_flags |= worn_item.body_parts_covered + + return cover_flags2body_zones(covered_flags) + +///Returns a bitfield of all zones covered by clothing +/mob/living/carbon/proc/get_all_covered_flags() + SHOULD_NOT_OVERRIDE(TRUE) + + var/covered_flags = NONE + var/list/all_worn_items = get_all_worn_items() + for(var/obj/item/worn_item in all_worn_items) + covered_flags |= worn_item.body_parts_covered + + return covered_flags diff --git a/code/modules/mob/living/carbon/life.dm b/code/modules/mob/living/carbon/life.dm index 85b34ffdde5..9c323859c71 100644 --- a/code/modules/mob/living/carbon/life.dm +++ b/code/modules/mob/living/carbon/life.dm @@ -360,15 +360,11 @@ return /mob/living/carbon/proc/handle_bodyparts(delta_time, times_fired) - var/stam_regen = FALSE if(stam_regen_start_time <= world.time) - stam_regen = TRUE if(HAS_TRAIT_FROM(src, TRAIT_INCAPACITATED, STAMINA)) . |= BODYPART_LIFE_UPDATE_HEALTH //make sure we remove the stamcrit - for(var/I in bodyparts) - var/obj/item/bodypart/BP = I - if(BP.needs_processing) - . |= BP.on_life(delta_time, times_fired, stam_regen) + for(var/obj/item/bodypart/limb as anything in bodyparts) + . |= limb.on_life(delta_time, times_fired) /mob/living/carbon/proc/handle_organs(delta_time, times_fired) if(stat != DEAD) @@ -799,7 +795,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(limb.get_damage() >= limb.max_damage) limb.cremation_progress += rand(1 * delta_time, 2.5 * delta_time) if(limb.cremation_progress >= 100) - if(limb.status == BODYPART_ORGANIC) //Non-organic limbs don't burn + if(IS_ORGANIC_LIMB(limb)) //Non-organic limbs don't burn limb.drop_limb() limb.visible_message(span_warning("[src]'s [limb.name] crumbles into ash!")) qdel(limb) @@ -815,7 +811,7 @@ All effects don't start immediately, but rather get worse over time; the rate is if(head.get_damage() >= head.max_damage) head.cremation_progress += rand(1 * delta_time, 2.5 * delta_time) if(head.cremation_progress >= 100) - if(head.status == BODYPART_ORGANIC) //Non-organic limbs don't burn + if(IS_ORGANIC_LIMB(head)) //Non-organic limbs don't burn head.drop_limb() head.visible_message(span_warning("[src]'s head crumbles into ash!")) qdel(head) diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 3edba64ba94..72f3a7d2594 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1400,9 +1400,7 @@ // Randomize everything but the species, which was already handled above. new_human.randomize_human_appearance(~RANDOMIZE_SPECIES) - new_human.update_body() - new_human.update_hair() - new_human.update_body_parts() + new_human.update_body(is_creating = TRUE) new_human.dna.update_dna_identity() new_mob = new_human diff --git a/code/modules/mob/living/simple_animal/slime/slime.dm b/code/modules/mob/living/simple_animal/slime/slime.dm index 18b54e1c33d..246668d2d61 100644 --- a/code/modules/mob/living/simple_animal/slime/slime.dm +++ b/code/modules/mob/living/simple_animal/slime/slime.dm @@ -107,6 +107,7 @@ add_cell_sample() ADD_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS, INNATE_TRAIT) + AddElement(/datum/element/soft_landing) /mob/living/simple_animal/slime/Destroy() for (var/A in actions) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 42ad6d90ae8..435288f5f94 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -374,14 +374,14 @@ */ /proc/item_heal_robotic(mob/living/carbon/human/H, mob/user, brute_heal, burn_heal) var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) - if(affecting && affecting.status == BODYPART_ROBOTIC) + if(affecting && !IS_ORGANIC_LIMB(affecting)) var/dam //changes repair text based on how much brute/burn was supplied if(brute_heal > burn_heal) dam = 1 else dam = 0 if((brute_heal > 0 && affecting.brute_dam > 0) || (burn_heal > 0 && affecting.burn_dam > 0)) - if(affecting.heal_damage(brute_heal, burn_heal, 0, BODYPART_ROBOTIC)) + if(affecting.heal_damage(brute_heal, burn_heal, 0, BODYTYPE_ROBOTIC)) H.update_damage_overlays() user.visible_message(span_notice("[user] fixes some of the [dam ? "dents on" : "burnt wires in"] [H]'s [affecting.name]."), \ span_notice("You fix some of the [dam ? "dents on" : "burnt wires in"] [H == user ? "your" : "[H]'s"] [affecting.name].")) diff --git a/code/modules/mob_spawn/corpses/mining_corpses.dm b/code/modules/mob_spawn/corpses/mining_corpses.dm index d5bc82b0b99..3d36a9e1916 100644 --- a/code/modules/mob_spawn/corpses/mining_corpses.dm +++ b/code/modules/mob_spawn/corpses/mining_corpses.dm @@ -187,7 +187,7 @@ /datum/outfit/consumed_dame/pre_equip(mob/living/carbon/human/dame, visualsOnly = FALSE) if(!visualsOnly) dame.gender = FEMALE - dame.body_type = FEMALE + dame.physique = FEMALE dame.update_body() if(prob(30)) back = /obj/item/nullrod/scythe/talking diff --git a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm index 2d390a1b560..ab05eb6230b 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/energy_net_nets.dm @@ -24,16 +24,16 @@ buckle_lying = 0 buckle_prevents_pull = TRUE ///The creature currently caught in the net - var/mob/living/affecting + var/mob/living/affected_mob /obj/structure/energy_net/play_attack_sound(damage, damage_type = BRUTE, damage_flag = 0) if(damage_type == BRUTE || damage_type == BURN) playsound(src, 'sound/weapons/slash.ogg', 80, TRUE) /obj/structure/energy_net/Destroy() - if(!QDELETED(affecting)) - affecting.visible_message(span_notice("[affecting.name] is recovered from the energy net!"), span_notice("You are recovered from the energy net!"), span_hear("You hear a grunt.")) - affecting = null + if(!QDELETED(affected_mob)) + affected_mob.visible_message(span_notice("[affected_mob.name] is recovered from the energy net!"), span_notice("You are recovered from the energy net!"), span_hear("You hear a grunt.")) + affected_mob = null return ..() /obj/structure/energy_net/attack_paw(mob/user, list/modifiers) diff --git a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm index 29ffe4a5af0..66eb50438fe 100644 --- a/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm +++ b/code/modules/ninja/suit/ninja_equipment_actions/ninja_net.dm @@ -34,7 +34,7 @@ ninja.Beam(net_target, "n_beam", time = 15) ninja.say("Get over here!", forced = "ninja net") var/obj/structure/energy_net/net = new /obj/structure/energy_net(net_target.drop_location()) - net.affecting = net_target + net.affected_mob = net_target ninja.visible_message(span_danger("[ninja] caught [net_target] with an energy net!"),span_notice("You caught [net_target] with an energy net!")) if(net_target.buckled) diff --git a/code/modules/ninja/suit/suit.dm b/code/modules/ninja/suit/suit.dm index 347621bd7e4..04fbd041f26 100644 --- a/code/modules/ninja/suit/suit.dm +++ b/code/modules/ninja/suit/suit.dm @@ -168,7 +168,7 @@ var/design_choice = tgui_alert(ninja, "Please choose your desired suit design.",,list("Original","New Age")) switch(design_choice) if("Original") - icon_state = ninja.body_type == "female" ? "s-ninjanf" : "s-ninjan" + icon_state = ninja.physique == "female" ? "s-ninjanf" : "s-ninjan" ninja.gloves.icon_state = "s-ninjan" ninja.gloves.inhand_icon_state = "s-ninjan" if("New Age") diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index d219e2fb086..44b6dca9f12 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -546,7 +546,7 @@ GLOBAL_LIST_INIT(wire_node_generating_types, typecacheof(list(/obj/structure/gri return ..() var/obj/item/bodypart/affecting = H.get_bodypart(check_zone(user.zone_selected)) - if(affecting && affecting.status == BODYPART_ROBOTIC) + if(affecting && !IS_ORGANIC_LIMB(affecting)) if(user == H) user.visible_message(span_notice("[user] starts to fix some of the wires in [H]'s [affecting.name]."), span_notice("You start fixing some of the wires in [H == user ? "your" : "[H]'s"] [affecting.name].")) /* SKYRAT EDIT START - ORIGINAL: diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index 71686778ae6..3e593b513ec 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -116,10 +116,10 @@ to_chat(M, span_notice("[high_message]")) SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "smacked out", /datum/mood_event/narcotic_heavy, name) if(current_cycle == 35 && creation_purity <= 0.6) - if(!istype(M.dna.species, /datum/species/krokodil_addict)) + if(!istype(M.dna.species, /datum/species/human/krokodil_addict)) to_chat(M, span_userdanger("Your skin falls off easily!")) M.adjustBruteLoss(50*REM, 0) // holy shit your skin just FELL THE FUCK OFF - M.set_species(/datum/species/krokodil_addict) + M.set_species(/datum/species/human/krokodil_addict) ..() /datum/reagent/drug/krokodil/overdose_process(mob/living/M, delta_time, times_fired) diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index dfa5ac4b08c..238f0413736 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -296,7 +296,7 @@ /datum/reagent/medicine/oxandrolone/overdose_process(mob/living/M, delta_time, times_fired) if(M.getFireLoss()) //It only makes existing burns worse - M.adjustFireLoss(4.5 * REM * delta_time, FALSE, FALSE, BODYPART_ORGANIC) // it's going to be healing either 4 or 0.5 + M.adjustFireLoss(4.5 * REM * delta_time, FALSE, FALSE, BODYTYPE_ORGANIC) // it's going to be healing either 4 or 0.5 . = TRUE ..() @@ -339,8 +339,8 @@ holder.add_reagent(/datum/reagent/consumable/sugar, 1) holder.remove_reagent(/datum/reagent/medicine/salglu_solution, 0.5) if(DT_PROB(18, delta_time)) - M.adjustBruteLoss(0.5, FALSE, FALSE, BODYPART_ORGANIC) - M.adjustFireLoss(0.5, FALSE, FALSE, BODYPART_ORGANIC) + M.adjustBruteLoss(0.5, FALSE, FALSE, BODYTYPE_ORGANIC) + M.adjustFireLoss(0.5, FALSE, FALSE, BODYTYPE_ORGANIC) . = TRUE ..() @@ -409,8 +409,8 @@ /datum/reagent/medicine/omnizine/overdose_process(mob/living/M, delta_time, times_fired) M.adjustToxLoss(1.5 * REM * delta_time, FALSE) M.adjustOxyLoss(1.5 * REM * delta_time, FALSE) - M.adjustBruteLoss(1.5 * REM * delta_time, FALSE, FALSE, BODYPART_ORGANIC) - M.adjustFireLoss(1.5 * REM * delta_time, FALSE, FALSE, BODYPART_ORGANIC) + M.adjustBruteLoss(1.5 * REM * delta_time, FALSE, FALSE, BODYTYPE_ORGANIC) + M.adjustFireLoss(1.5 * REM * delta_time, FALSE, FALSE, BODYTYPE_ORGANIC) ..() . = TRUE @@ -507,7 +507,7 @@ /datum/reagent/medicine/sal_acid/overdose_process(mob/living/M, delta_time, times_fired) if(M.getBruteLoss()) //It only makes existing bruises worse - M.adjustBruteLoss(4.5 * REM * delta_time, FALSE, FALSE, BODYPART_ORGANIC) // it's going to be healing either 4 or 0.5 + M.adjustBruteLoss(4.5 * REM * delta_time, FALSE, FALSE, BODYTYPE_ORGANIC) // it's going to be healing either 4 or 0.5 . = TRUE ..() diff --git a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm index 7941933c3d9..5cbd3f2d9d1 100644 --- a/code/modules/reagents/chemistry/reagents/toxin_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/toxin_reagents.dm @@ -583,7 +583,7 @@ /datum/reagent/toxin/histamine/overdose_process(mob/living/M, delta_time, times_fired) M.adjustOxyLoss(2 * REM * delta_time, FALSE) - M.adjustBruteLoss(2 * REM * delta_time, FALSE, FALSE, BODYPART_ORGANIC) + M.adjustBruteLoss(2 * REM * delta_time, FALSE, FALSE, BODYTYPE_ORGANIC) M.adjustToxLoss(2 * REM * delta_time, FALSE) ..() . = TRUE diff --git a/code/modules/reagents/reagent_containers/patch.dm b/code/modules/reagents/reagent_containers/patch.dm index 4bb98269ae9..722da9e3b1a 100644 --- a/code/modules/reagents/reagent_containers/patch.dm +++ b/code/modules/reagents/reagent_containers/patch.dm @@ -17,7 +17,7 @@ if(!affecting) to_chat(user, span_warning("The limb is missing!")) return - if(affecting.status != BODYPART_ORGANIC) + if(!IS_ORGANIC_LIMB(affecting)) to_chat(user, span_notice("Medicine won't work on a robotic limb!")) return ..() diff --git a/code/modules/religion/religion_sects.dm b/code/modules/religion/religion_sects.dm index e4f93d21c04..037408f04cd 100644 --- a/code/modules/religion/religion_sects.dm +++ b/code/modules/religion/religion_sects.dm @@ -99,19 +99,18 @@ if(!ishuman(target)) return FALSE var/mob/living/carbon/human/blessed = target - for(var/X in blessed.bodyparts) - var/obj/item/bodypart/bodypart = X - if(bodypart.status == BODYPART_ROBOTIC) + for(var/obj/item/bodypart/bodypart as anything in blessed.bodyparts) + if(!IS_ORGANIC_LIMB(bodypart)) to_chat(chap, span_warning("[GLOB.deity] refuses to heal this metallic taint!")) return TRUE var/heal_amt = 10 - var/list/hurt_limbs = blessed.get_damaged_bodyparts(1, 1, null, BODYPART_ORGANIC) + var/list/hurt_limbs = blessed.get_damaged_bodyparts(1, 1, null, BODYTYPE_ORGANIC) if(hurt_limbs.len) for(var/X in hurt_limbs) var/obj/item/bodypart/affecting = X - if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC)) + if(affecting.heal_damage(heal_amt, heal_amt, null, BODYTYPE_ORGANIC)) blessed.update_damage_overlays() blessed.visible_message(span_notice("[chap] heals [blessed] with the power of [GLOB.deity]!")) to_chat(blessed, span_boldnotice("May the power of [GLOB.deity] compel you to be healed!")) @@ -166,7 +165,7 @@ //if we're not targetting a robot part we stop early var/obj/item/bodypart/bodypart = blessed.get_bodypart(chap.zone_selected) - if(bodypart.status != BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(bodypart)) if(!did_we_charge) to_chat(chap, span_warning("[GLOB.deity] scoffs at the idea of healing such fleshy matter!")) else @@ -177,7 +176,7 @@ return TRUE //charge(?) and go - if(bodypart.heal_damage(5,5,null,BODYPART_ROBOTIC)) + if(bodypart.heal_damage(5,5,null,BODYTYPE_ROBOTIC)) blessed.update_damage_overlays() blessed.visible_message(span_notice("[chap] [did_we_charge ? "repairs" : "repairs and charges"] [blessed] with the power of [GLOB.deity]!")) @@ -253,16 +252,16 @@ return FALSE var/mob/living/carbon/human/blessed = blessed_living for(var/obj/item/bodypart/robolimb as anything in blessed.bodyparts) - if(robolimb.status == BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(robolimb)) to_chat(chap, span_warning("[GLOB.deity] refuses to heal this metallic taint!")) return TRUE account.adjust_money(-GREEDY_HEAL_COST) var/heal_amt = 30 - var/list/hurt_limbs = blessed.get_damaged_bodyparts(1, 1, null, BODYPART_ORGANIC) + var/list/hurt_limbs = blessed.get_damaged_bodyparts(1, 1, null, BODYTYPE_ORGANIC) if(hurt_limbs.len) for(var/obj/item/bodypart/affecting as anything in hurt_limbs) - if(affecting.heal_damage(heal_amt, heal_amt, null, BODYPART_ORGANIC)) + if(affecting.heal_damage(heal_amt, heal_amt, null, BODYTYPE_ORGANIC)) blessed.update_damage_overlays() blessed.visible_message(span_notice("[chap] barters a heal for [blessed] from [GLOB.deity]!")) to_chat(blessed, span_boldnotice("May the power of [GLOB.deity] compel you to be healed! Thank you for choosing [GLOB.deity]!")) diff --git a/code/modules/research/designs/limbgrower_designs.dm b/code/modules/research/designs/limbgrower_designs.dm index f648d829134..2738fc89d5c 100644 --- a/code/modules/research/designs/limbgrower_designs.dm +++ b/code/modules/research/designs/limbgrower_designs.dm @@ -4,7 +4,7 @@ /datum/design/leftarm name = "Left Arm" - id = "leftarm" + id = "l_arm" build_type = LIMBGROWER reagents_list = list(/datum/reagent/medicine/c2/synthflesh = 25) build_path = /obj/item/bodypart/l_arm @@ -12,7 +12,7 @@ /datum/design/rightarm name = "Right Arm" - id = "rightarm" + id = "r_arm" build_type = LIMBGROWER reagents_list = list(/datum/reagent/medicine/c2/synthflesh = 25) build_path = /obj/item/bodypart/r_arm @@ -20,35 +20,19 @@ /datum/design/leftleg name = "Left Leg" - id = "leftleg" + id = "l_leg" build_type = LIMBGROWER reagents_list = list(/datum/reagent/medicine/c2/synthflesh = 25) build_path = /obj/item/bodypart/l_leg - category = list("initial",SPECIES_HUMAN,SPECIES_LIZARD,SPECIES_MOTH,SPECIES_PLASMAMAN,SPECIES_ETHEREAL) + category = list("initial",SPECIES_HUMAN,SPECIES_LIZARD,SPECIES_MOTH,SPECIES_PLASMAMAN,SPECIES_ETHEREAL, "digitigrade") /datum/design/rightleg name = "Right Leg" - id = "rightleg" + id = "r_leg" build_type = LIMBGROWER reagents_list = list(/datum/reagent/medicine/c2/synthflesh = 25) build_path = /obj/item/bodypart/r_leg - category = list("initial",SPECIES_HUMAN,SPECIES_LIZARD,SPECIES_MOTH,SPECIES_PLASMAMAN,SPECIES_ETHEREAL) - -/datum/design/digi_leftleg - name = "Digitigrade Left Leg" - id = "digi_leftleg" - build_type = LIMBGROWER - reagents_list = list(/datum/reagent/medicine/c2/synthflesh = 30) - build_path = /obj/item/bodypart/l_leg/digitigrade - category = list(SPECIES_LIZARD) - -/datum/design/digi_rightleg - name = "Digitigrade Right Leg" - id = "digi_rightleg" - build_type = LIMBGROWER - reagents_list = list(/datum/reagent/medicine/c2/synthflesh = 30) - build_path = /obj/item/bodypart/r_leg/digitigrade - category = list(SPECIES_LIZARD) + category = list("initial",SPECIES_HUMAN,SPECIES_LIZARD,SPECIES_MOTH,SPECIES_PLASMAMAN,SPECIES_ETHEREAL, "digitigrade") //Non-limb limb designs @@ -256,41 +240,41 @@ departmental_flags = DEPARTMENTAL_FLAG_MEDICAL /obj/item/disk/design_disk/limbs/felinid - name = "Felinid Limb Design Disk" + name = "Felinid Organ Design Disk" limb_designs = list(/datum/design/cat_tail, /datum/design/cat_ears) /datum/design/limb_disk/felinid - name = "Felinid Limb Design Disk" - desc = "Contains designs for felinid bodyparts for the limbgrower - Felinid ears and tail." + name = "Felinid Organ Design Disk" + desc = "Contains designs for felinid organs for the limbgrower - Felinid ears and tail." id = "limbdesign_felinid" build_path = /obj/item/disk/design_disk/limbs/felinid /obj/item/disk/design_disk/limbs/lizard - name = "Lizard Limb Design Disk" - limb_designs = list(/datum/design/lizard_tail, /datum/design/lizard_tongue, /datum/design/digi_leftleg, /datum/design/digi_rightleg) + name = "Lizard Organ Design Disk" + limb_designs = list(/datum/design/lizard_tail, /datum/design/lizard_tongue) /datum/design/limb_disk/lizard - name = "Lizard Limb Design Disk" - desc = "Contains designs for lizard bodyparts for the limbgrower - Lizard tongue, tail, and digitigrade legs." + name = "Lizard Organ Design Disk" + desc = "Contains designs for lizard organs for the limbgrower - Lizard tongue, and tail" id = "limbdesign_lizard" build_path = /obj/item/disk/design_disk/limbs/lizard /obj/item/disk/design_disk/limbs/plasmaman - name = "Plasmaman Limb Design Disk" + name = "Plasmaman Organ Design Disk" limb_designs = list(/datum/design/plasmaman_stomach, /datum/design/plasmaman_liver, /datum/design/plasmaman_lungs, /datum/design/plasmaman_tongue) /datum/design/limb_disk/plasmaman - name = "Plasmaman Limb Design Disk" + name = "Plasmaman Organ Design Disk" desc = "Contains designs for plasmaman organs for the limbgrower - Plasmaman tongue, liver, stomach, and lungs." id = "limbdesign_plasmaman" build_path = /obj/item/disk/design_disk/limbs/plasmaman /obj/item/disk/design_disk/limbs/ethereal - name = "Ethereal Limb Design Disk" + name = "Ethereal Organ Design Disk" limb_designs = list(/datum/design/ethereal_stomach, /datum/design/ethereal_tongue, /datum/design/ethereal_lungs) /datum/design/limb_disk/ethereal - name = "Ethereal Limb Design Disk" + name = "Ethereal Organ Design Disk" desc = "Contains designs for ethereal organs for the limbgrower - Ethereal tongue and stomach." id = "limbdesign_ethereal" build_path = /obj/item/disk/design_disk/limbs/ethereal diff --git a/code/modules/spells/spell_types/shadow_walk.dm b/code/modules/spells/spell_types/shadow_walk.dm index b32eba72d1e..8bf7bdbc961 100644 --- a/code/modules/spells/spell_types/shadow_walk.dm +++ b/code/modules/spells/spell_types/shadow_walk.dm @@ -63,7 +63,7 @@ if(!jaunter || jaunter.loc != src) qdel(src) if (light_amount < 0.2 && (!QDELETED(jaunter))) //heal in the dark - jaunter.heal_overall_damage((SHADOW_REGEN_RATE * delta_time), (SHADOW_REGEN_RATE * delta_time), 0, BODYPART_ORGANIC) + jaunter.heal_overall_damage((SHADOW_REGEN_RATE * delta_time), (SHADOW_REGEN_RATE * delta_time), 0, BODYTYPE_ORGANIC) check_light_level() diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm index 52235d344d3..7dd9ca81dbd 100644 --- a/code/modules/surgery/bodyparts/_bodyparts.dm +++ b/code/modules/surgery/bodyparts/_bodyparts.dm @@ -5,17 +5,35 @@ throwforce = 3 w_class = WEIGHT_CLASS_SMALL icon = 'icons/mob/human_parts.dmi' - icon_state = "" + icon_state = "" //Leave this blank! Bodyparts are built using overlays /// The icon for Organic limbs using greyscale - var/icon_greyscale = DEFAULT_BODYPART_ICON_ORGANIC - /// The icon for Robotic limbs - var/icon_robotic = DEFAULT_BODYPART_ICON_ROBOTIC + VAR_PROTECTED/icon_greyscale = DEFAULT_BODYPART_ICON_ORGANIC + ///The icon for non-greyscale limbs + VAR_PROTECTED/icon_static = 'icons/mob/human_parts.dmi' + ///The icon for husked limbs + VAR_PROTECTED/icon_husk = 'icons/mob/human_parts.dmi' + ///The type of husk for building an iconstate + var/husk_type = "humanoid" layer = BELOW_MOB_LAYER //so it isn't hidden behind objects when on the floor grind_results = list(/datum/reagent/bone_dust = 10, /datum/reagent/liquidgibs = 5) // robotic bodyparts and chests/heads cannot be ground var/mob/living/carbon/owner - var/datum/weakref/original_owner - var/status = BODYPART_ORGANIC - var/needs_processing = FALSE + + ///A bitfield of bodytypes for clothing, surgery, and misc information + var/bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC + ///Defines when a bodypart should not be changed. Example: BP_BLOCK_CHANGE_SPECIES prevents the limb from being overwritten on species gain + var/change_exempt_flags + + var/is_husked = FALSE + ///The ID of a species used to generate the icon. Needs to match the icon_state portion in the limbs file! + var/limb_id = SPECIES_HUMAN + //Defines what sprite the limb should use if it is also sexually dimorphic. + VAR_PROTECTED/limb_gender = "m" + ///Does this limb have a greyscale version? + var/uses_mutcolor = TRUE + ///Is there a sprite difference between male and female? + var/is_dimorphic = FALSE + ///The actual color a limb is drawn as, set by /proc/update_limb() + VAR_PROTECTED/draw_color /// BODY_ZONE_CHEST, BODY_ZONE_L_ARM, etc , used for def_zone var/body_zone @@ -23,8 +41,6 @@ var/aux_layer /// bitflag used to check which clothes cover this bodypart var/body_part - /// Used for alternate legs, useless elsewhere - var/use_digitigrade = NOT_DIGITIGRADE var/list/embedded_objects = list() /// are we a hand? if so, which one! var/held_index = 0 @@ -40,13 +56,19 @@ var/can_be_disabled = FALSE ///Multiplier of the limb's damage that gets applied to the mob var/body_damage_coeff = 1 + ///Multiplier of the limb's stamina damage that gets applied to the mob. Why is this 0.75 by default? Good question! var/stam_damage_coeff = 0.75 var/brutestate = 0 var/burnstate = 0 + ///The current amount of brute damage the limb has var/brute_dam = 0 + ///The current amount of burn damage the limb has var/burn_dam = 0 + ///The current amount of stamina damage the limb has var/stamina_dam = 0 + ///The maximum stamina damage a bodypart can take var/max_stamina_damage = 0 + ///The maximum "physical" damage a bodypart can take. Set by children var/max_damage = 0 ///Gradually increases while burning when at full damage, destroys the limb when at 100 var/cremation_progress = 0 @@ -54,20 +76,17 @@ var/brute_reduction = 0 ///Subtracted to burn damage taken var/burn_reduction = 0 + //Coloring and proper item icon update var/skin_tone = "" - var/body_gender = "" - var/species_id = "" - var/should_draw_gender = FALSE - var/should_draw_greyscale = FALSE var/species_color = "" + ///Limbs need this information as a back-up incase they are generated outside of a carbon (limbgrower) + var/should_draw_greyscale = TRUE + ///An "override" color that can be applied to ANY limb, greyscale or not. var/mutation_color = "" - var/no_update = 0 ///for nonhuman bodypart (e.g. monkey) var/animal_origin - //for all bodyparts - var/part_origin = HUMAN_BODY ///whether it can be dismembered with a weapon. var/dismemberable = 1 @@ -117,24 +136,28 @@ var/datum/bodypart_aid/gauze/current_gauze /// If we have a splint currently applied var/datum/bodypart_aid/splint/current_splint + /// What icon do we use to render this limb? Ususally used by robotic limb augments. + var/rendered_bp_icon + /// Do we use an organic render for this robotic limb? + var/organic_render = TRUE //SKYRAT EDIT CHANGE END - var/rendered_bp_icon //SKYRAT EDIT ADDITION - CUSTOMIZATION - var/organic_render = TRUE //SKYRAT EDIT ADDITION - CUSTOMIZATION /// If something is currently grasping this bodypart and trying to staunch bleeding (see [/obj/item/hand_item/self_grasp]) var/obj/item/hand_item/self_grasp/grasped_by ///A list of all the external organs we've got stored to draw horns, wings and stuff with (special because we are actually in the limbs unlike normal organs :/ ) var/list/obj/item/organ/external/external_organs = list() - /obj/item/bodypart/Initialize(mapload) . = ..() if(can_be_disabled) RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_PARALYSIS), .proc/on_paralysis_trait_gain) RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_PARALYSIS), .proc/on_paralysis_trait_loss) - if(status != BODYPART_ORGANIC) + if(!IS_ORGANIC_LIMB(src)) grind_results = null + name = "[limb_id] [parse_zone(body_zone)]" + update_icon_dropped() + /obj/item/bodypart/Destroy() if(owner) owner.remove_bodypart(src) @@ -152,8 +175,16 @@ //SKYRAT EDIT ADDITION END return ..() +/obj/item/bodypart/forceMove(atom/destination) //Please. Never forcemove a limb if its's actually in use. This is only for borgs. + SHOULD_CALL_PARENT(TRUE) + + . = ..() + if(isturf(destination)) + update_icon_dropped() /obj/item/bodypart/examine(mob/user) + SHOULD_CALL_PARENT(TRUE) + . = ..() if(brute_dam > DAMAGE_PRECISION) . += span_warning("This limb has [brute_dam > 30 ? "severe" : "minor"] bruising.") @@ -170,10 +201,11 @@ . += span_warning("The flesh on this limb appears badly cooked.") /obj/item/bodypart/blob_act() - take_damage(max_damage) - + receive_damage(max_damage, wound_bonus = CANT_WOUND) /obj/item/bodypart/attack(mob/living/carbon/victim, mob/user) + SHOULD_CALL_PARENT(TRUE) + if(ishuman(victim)) var/mob/living/carbon/human/human_victim = victim if(HAS_TRAIT(victim, TRAIT_LIMBATTACHMENT)) @@ -192,6 +224,8 @@ ..() /obj/item/bodypart/attackby(obj/item/weapon, mob/user, params) + SHOULD_CALL_PARENT(TRUE) + if(weapon.get_sharpness()) add_fingerprint(user) if(!contents.len) @@ -206,16 +240,20 @@ return ..() /obj/item/bodypart/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + SHOULD_CALL_PARENT(TRUE) + ..() - if(status != BODYPART_ROBOTIC) + if(IS_ORGANIC_LIMB(src)) playsound(get_turf(src), 'sound/misc/splort.ogg', 50, TRUE, -1) pixel_x = rand(-3, 3) pixel_y = rand(-3, 3) //empties the bodypart from its organs and other things inside it /obj/item/bodypart/proc/drop_organs(mob/user, violent_removal) + SHOULD_CALL_PARENT(TRUE) + var/turf/bodypart_turf = get_turf(src) - if(status != BODYPART_ROBOTIC) + if(IS_ORGANIC_LIMB(src)) playsound(bodypart_turf, 'sound/misc/splort.ogg', 50, TRUE, -1) //seep_gauze(9999) // destroy any existing gauze if any exists if(current_gauze) @@ -229,6 +267,9 @@ ///since organs aren't actually stored in the bodypart themselves while attached to a person, we have to query the owner for what we should have /obj/item/bodypart/proc/get_organs() + SHOULD_CALL_PARENT(TRUE) + RETURN_TYPE(/list) + if(!owner) return FALSE @@ -239,10 +280,11 @@ return bodypart_organs - //Return TRUE to get whatever mob this is in to update health. -/obj/item/bodypart/proc/on_life(delta_time, times_fired, stam_regen) - if(stamina_dam > DAMAGE_PRECISION && stam_regen) //DO NOT update health here, it'll be done in the carbon's life. +/obj/item/bodypart/proc/on_life(delta_time, times_fired) + SHOULD_CALL_PARENT(TRUE) + //DO NOT update health here, it'll be done in the carbon's life. + if(stamina_dam > DAMAGE_PRECISION && owner.stam_regen_start_time <= world.time) heal_damage(0, 0, INFINITY, null, FALSE) . |= BODYPART_LIFE_UPDATE_HEALTH @@ -250,13 +292,14 @@ //Damage will not exceed max_damage using this proc //Cannot apply negative damage /obj/item/bodypart/proc/receive_damage(brute = 0, burn = 0, stamina = 0, blocked = 0, updating_health = TRUE, required_status = null, wound_bonus = 0, bare_wound_bonus = 0, sharpness = NONE, attack_direction = null) + SHOULD_CALL_PARENT(TRUE) + var/hit_percent = (100-blocked)/100 if((!brute && !burn && !stamina) || hit_percent <= 0) return FALSE if(owner && (owner.status_flags & GODMODE)) - return FALSE //godmode - - if(required_status && (status != required_status)) + return FALSE //godmode + if(required_status && !(bodytype & required_status)) return FALSE var/dmg_multi = CONFIG_GET(number/damage_multiplier) * hit_percent @@ -381,178 +424,13 @@ . = TRUE return update_bodypart_damage_state() || . -/// Allows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds -/obj/item/bodypart/proc/painless_wound_roll(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus, sharpness=NONE) - if(!owner || phantom_wounding_dmg <= WOUND_MINIMUM_DAMAGE || wound_bonus == CANT_WOUND) - return - - var/mangled_state = get_mangled_state() - var/bio_state = owner.get_biological_state() - var/easy_dismember = HAS_TRAIT(owner, TRAIT_EASYDISMEMBER) // if we have easydismember, we don't reduce damage when redirecting damage to different types (slashing weapons on mangled/skinless limbs attack at 100% instead of 50%) - - if(wounding_type == WOUND_BLUNT && sharpness) - if(sharpness & SHARP_EDGED) - wounding_type = WOUND_SLASH - else if (sharpness & SHARP_POINTY) - wounding_type = WOUND_PIERCE - - //Handling for bone only/flesh only(none right now)/flesh and bone targets - switch(bio_state) - // if we're bone only, all cutting attacks go straight to the bone - if(BIO_JUST_BONE) - if(wounding_type == WOUND_SLASH) - wounding_type = WOUND_BLUNT - phantom_wounding_dmg *= (easy_dismember ? 1 : 0.6) - else if(wounding_type == WOUND_PIERCE) - wounding_type = WOUND_BLUNT - phantom_wounding_dmg *= (easy_dismember ? 1 : 0.75) - if((mangled_state & BODYPART_MANGLED_BONE) && try_dismember(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus)) - return - // note that there's no handling for BIO_JUST_FLESH since we don't have any that are that right now (slimepeople maybe someday) - // standard humanoids - if(BIO_FLESH_BONE) - // if we've already mangled the skin (critical slash or piercing wound), then the bone is exposed, and we can damage it with sharp weapons at a reduced rate - // So a big sharp weapon is still all you need to destroy a limb - if(mangled_state == BODYPART_MANGLED_FLESH && sharpness) - playsound(src, "sound/effects/wounds/crackandbleed.ogg", 100) - if(wounding_type == WOUND_SLASH && !easy_dismember) - phantom_wounding_dmg *= 0.6 // edged weapons pass along 60% of their wounding damage to the bone since the power is spread out over a larger area - if(wounding_type == WOUND_PIERCE && !easy_dismember) - phantom_wounding_dmg *= 0.75 // piercing weapons pass along 75% of their wounding damage to the bone since it's more concentrated - wounding_type = WOUND_BLUNT - else if(mangled_state == BODYPART_MANGLED_BOTH && try_dismember(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus)) - return - - check_wounding(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus) - -/** - * check_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria - * - * We generate a "score" for how woundable the attack was based on the damage and other factors discussed in [/obj/item/bodypart/proc/check_woundings_mods], then go down the list from most severe to least severe wounds in that category. - * We can promote a wound from a lesser to a higher severity this way, but we give up if we have a wound of the given type and fail to roll a higher severity, so no sidegrades/downgrades - * - * Arguments: - * * woundtype- Either WOUND_BLUNT, WOUND_SLASH, WOUND_PIERCE, or WOUND_BURN based on the attack type. - * * damage- How much damage is tied to this attack, since wounding potential scales with damage in an attack (see: WOUND_DAMAGE_EXPONENT) - * * wound_bonus- The wound_bonus of an attack - * * bare_wound_bonus- The bare_wound_bonus of an attack - */ -/obj/item/bodypart/proc/check_wounding(woundtype, damage, wound_bonus, bare_wound_bonus, attack_direction) - if(HAS_TRAIT(owner, TRAIT_NEVER_WOUNDED)) - return - - // note that these are fed into an exponent, so these are magnified - if(HAS_TRAIT(owner, TRAIT_EASILY_WOUNDED)) - damage *= 1.5 - else - damage = min(damage, WOUND_MAX_CONSIDERED_DAMAGE) - - if(HAS_TRAIT(owner,TRAIT_HARDLY_WOUNDED)) - damage *= 0.85 - - if(HAS_TRAIT(owner, TRAIT_EASYDISMEMBER)) - damage *= 1.1 - - var/base_roll = rand(1, round(damage ** WOUND_DAMAGE_EXPONENT)) - var/injury_roll = base_roll - injury_roll += check_woundings_mods(woundtype, damage, wound_bonus, bare_wound_bonus) - var/list/wounds_checking = GLOB.global_wound_types[woundtype] - - if(injury_roll > WOUND_DISMEMBER_OUTRIGHT_THRESH && prob(get_damage() / max_damage * 100)) - var/datum/wound/loss/dismembering = new - dismembering.apply_dismember(src, woundtype, outright = TRUE, attack_direction = attack_direction) - return - - // quick re-check to see if bare_wound_bonus applies, for the benefit of log_wound(), see about getting the check from check_woundings_mods() somehow - if(ishuman(owner)) - var/mob/living/carbon/human/human_wearer = owner - var/list/clothing = human_wearer.clothingonpart(src) - for(var/obj/item/clothing/clothes_check as anything in clothing) - // unlike normal armor checks, we tabluate these piece-by-piece manually so we can also pass on appropriate damage the clothing's limbs if necessary - if(clothes_check.armor.getRating(WOUND)) - bare_wound_bonus = 0 - break - - //cycle through the wounds of the relevant category from the most severe down - for(var/datum/wound/possible_wound as anything in wounds_checking) - var/datum/wound/replaced_wound - for(var/datum/wound/existing_wound as anything in wounds) - if(existing_wound.type in wounds_checking) - if(existing_wound.severity >= initial(possible_wound.severity)) - return - else - replaced_wound = existing_wound - - if(initial(possible_wound.threshold_minimum) < injury_roll) - var/datum/wound/new_wound - if(replaced_wound) - new_wound = replaced_wound.replace_wound(possible_wound, attack_direction = attack_direction) - else - new_wound = new possible_wound - new_wound.apply_wound(src, attack_direction = attack_direction) - log_wound(owner, new_wound, damage, wound_bonus, bare_wound_bonus, base_roll) // dismembering wounds are logged in the apply_wound() for loss wounds since they delete themselves immediately, these will be immediately returned - return new_wound - -// try forcing a specific wound, but only if there isn't already a wound of that severity or greater for that type on this bodypart -/obj/item/bodypart/proc/force_wound_upwards(specific_woundtype, smited = FALSE) - var/datum/wound/potential_wound = specific_woundtype - for(var/datum/wound/existing_wound as anything in wounds) - if(existing_wound.wound_type == initial(potential_wound.wound_type)) - if(existing_wound.severity < initial(potential_wound.severity)) // we only try if the existing one is inferior to the one we're trying to force - existing_wound.replace_wound(potential_wound, smited) - return - - var/datum/wound/new_wound = new potential_wound - new_wound.apply_wound(src, smited = smited) - -/** - * check_wounding_mods() is where we handle the various modifiers of a wound roll - * - * A short list of things we consider: any armor a human target may be wearing, and if they have no wound armor on the limb, if we have a bare_wound_bonus to apply, plus the plain wound_bonus - * We also flick through all of the wounds we currently have on this limb and add their threshold penalties, so that having lots of bad wounds makes you more liable to get hurt worse - * Lastly, we add the inherent wound_resistance variable the bodypart has (heads and chests are slightly harder to wound), and a small bonus if the limb is already disabled - * - * Arguments: - * * It's the same ones on [/obj/item/bodypart/proc/receive_damage] - */ -/obj/item/bodypart/proc/check_woundings_mods(wounding_type, damage, wound_bonus, bare_wound_bonus) - var/armor_ablation = 0 - var/injury_mod = 0 - - if(owner && ishuman(owner)) - var/mob/living/carbon/human/human_owner = owner - var/list/clothing = human_owner.clothingonpart(src) - for(var/obj/item/clothing/clothes as anything in clothing) - // unlike normal armor checks, we tabluate these piece-by-piece manually so we can also pass on appropriate damage the clothing's limbs if necessary - armor_ablation += clothes.armor.getRating(WOUND) - if(wounding_type == WOUND_SLASH) - clothes.take_damage_zone(body_zone, damage, BRUTE) - else if(wounding_type == WOUND_BURN && damage >= 10) // lazy way to block freezing from shredding clothes without adding another var onto apply_damage() - clothes.take_damage_zone(body_zone, damage, BURN) - - if(!armor_ablation) - injury_mod += bare_wound_bonus - - injury_mod -= armor_ablation - injury_mod += wound_bonus - - for(var/datum/wound/wound as anything in wounds) - injury_mod += wound.threshold_penalty - - var/part_mod = -wound_resistance - if(get_damage(TRUE) >= max_damage) - part_mod += disabled_wound_penalty - - injury_mod += part_mod - - return injury_mod - //Heals brute and burn damage for the organ. Returns 1 if the damage-icon states changed at all. //Damage cannot go below zero. //Cannot remove negative damage (i.e. apply damage) /obj/item/bodypart/proc/heal_damage(brute, burn, stamina, required_status, updating_health = TRUE) + SHOULD_CALL_PARENT(TRUE) - if(required_status && status != required_status) //So we can only heal certain kinds of limbs, ie robotic vs organic. + if(required_status && !(bodytype & required_status)) //So we can only heal certain kinds of limbs, ie robotic vs organic. return if(brute) @@ -579,6 +457,8 @@ ///Proc to hook behavior associated to the change of the brute_dam variable's value. /obj/item/bodypart/proc/set_brute_dam(new_value) + PROTECTED_PROC(TRUE) + if(brute_dam == new_value) return . = brute_dam @@ -587,6 +467,8 @@ ///Proc to hook behavior associated to the change of the burn_dam variable's value. /obj/item/bodypart/proc/set_burn_dam(new_value) + PROTECTED_PROC(TRUE) + if(burn_dam == new_value) return . = burn_dam @@ -595,15 +477,12 @@ ///Proc to hook behavior associated to the change of the stamina_dam variable's value. /obj/item/bodypart/proc/set_stamina_dam(new_value) + PROTECTED_PROC(TRUE) + if(stamina_dam == new_value) return . = stamina_dam stamina_dam = new_value - if(stamina_dam > DAMAGE_PRECISION) - needs_processing = TRUE - else - needs_processing = FALSE - //Returns total damage. /obj/item/bodypart/proc/get_damage(include_stamina = FALSE) @@ -612,9 +491,10 @@ total = max(total, stamina_dam) return total - //Checks disabled status thresholds /obj/item/bodypart/proc/update_disabled() + SHOULD_CALL_PARENT(TRUE) + if(!owner) return @@ -655,6 +535,9 @@ ///Proc to change the value of the `disabled` variable and react to the event of its change. /obj/item/bodypart/proc/set_disabled(new_disabled) + SHOULD_CALL_PARENT(TRUE) + PROTECTED_PROC(TRUE) + if(bodypart_disabled == new_disabled) return . = bodypart_disabled @@ -668,6 +551,8 @@ ///Proc to change the value of the `owner` variable and react to the event of its change. /obj/item/bodypart/proc/set_owner(new_owner) + SHOULD_CALL_PARENT(TRUE) + if(owner == new_owner) return FALSE //`null` is a valid option, so we need to use a num var to make it clear no change was made. . = owner @@ -697,6 +582,9 @@ ///Proc to change the value of the `can_be_disabled` variable and react to the event of its change. /obj/item/bodypart/proc/set_can_be_disabled(new_can_be_disabled) + PROTECTED_PROC(TRUE) + SHOULD_CALL_PARENT(TRUE) + if(can_be_disabled == new_can_be_disabled) return . = can_be_disabled @@ -719,32 +607,42 @@ ///Called when TRAIT_PARALYSIS is added to the limb. /obj/item/bodypart/proc/on_paralysis_trait_gain(obj/item/bodypart/source) + PROTECTED_PROC(TRUE) SIGNAL_HANDLER + if(can_be_disabled) set_disabled(TRUE) ///Called when TRAIT_PARALYSIS is removed from the limb. /obj/item/bodypart/proc/on_paralysis_trait_loss(obj/item/bodypart/source) + PROTECTED_PROC(TRUE) SIGNAL_HANDLER + if(can_be_disabled) update_disabled() ///Called when TRAIT_NOLIMBDISABLE is added to the owner. /obj/item/bodypart/proc/on_owner_nolimbdisable_trait_gain(mob/living/carbon/source) + PROTECTED_PROC(TRUE) SIGNAL_HANDLER + set_can_be_disabled(FALSE) ///Called when TRAIT_NOLIMBDISABLE is removed from the owner. /obj/item/bodypart/proc/on_owner_nolimbdisable_trait_loss(mob/living/carbon/source) + PROTECTED_PROC(TRUE) SIGNAL_HANDLER + set_can_be_disabled(initial(can_be_disabled)) //Updates an organ's brute/burn states for use by update_damage_overlays() //Returns 1 if we need to update overlays. 0 otherwise. /obj/item/bodypart/proc/update_bodypart_damage_state() + SHOULD_CALL_PARENT(TRUE) + var/tbrute = round( (brute_dam/max_damage)*3, 1 ) var/tburn = round( (burn_dam/max_damage)*3, 1 ) if((tbrute != brutestate) || (tburn != burnstate)) @@ -753,132 +651,93 @@ return TRUE return FALSE -//Change organ status -/obj/item/bodypart/proc/change_bodypart_status(new_limb_status, heal_limb, change_icon_to_default) - status = new_limb_status - if(heal_limb) - burn_dam = 0 - brute_dam = 0 - brutestate = 0 - burnstate = 0 - - if(change_icon_to_default) - if(status == BODYPART_ORGANIC) - icon = icon_greyscale - organic_render = TRUE //SKYRAT EDIT ADDITION - CUSTOMIZATION - else if(status == BODYPART_ROBOTIC) - icon = icon_robotic - organic_render = FALSE //SKYRAT EDIT ADDITION - CUSTOMIZATION - - if(owner) - owner.updatehealth() - owner.update_body() //if our head becomes robotic, we remove the lizard horns and human hair. - owner.update_hair() - owner.update_damage_overlays() - -/obj/item/bodypart/proc/is_organic_limb() - return (status == BODYPART_ORGANIC) - //we inform the bodypart of the changes that happened to the owner, or give it the informations from a source mob. -/obj/item/bodypart/proc/update_limb(dropping_limb, mob/living/carbon/source) - var/mob/living/carbon/limb_owner - if(source) - limb_owner = source - if(!original_owner) - original_owner = WEAKREF(source) - else - limb_owner = owner - if(original_owner && !IS_WEAKREF_OF(owner, original_owner)) //Foreign limb - no_update = TRUE - else - no_update = FALSE +//set is_creating to true if you want to change the appearance of the limb outside of mutation changes or forced changes. +/obj/item/bodypart/proc/update_limb(dropping_limb = FALSE, is_creating = FALSE) + SHOULD_CALL_PARENT(TRUE) - if(HAS_TRAIT(limb_owner, TRAIT_HUSK) && is_organic_limb()) - species_id = "husk" //overrides species_id + if(HAS_TRAIT(owner, TRAIT_HUSK) && IS_ORGANIC_LIMB(src)) dmg_overlay_type = "" //no damage overlay shown when husked - should_draw_gender = FALSE - should_draw_greyscale = FALSE - no_update = TRUE + is_husked = TRUE + else + dmg_overlay_type = initial(dmg_overlay_type) + is_husked = FALSE - if(HAS_TRAIT(src, TRAIT_PLASMABURNT) && is_organic_limb()) - species_id = SPECIES_PLASMAMAN - dmg_overlay_type = "" - should_draw_gender = FALSE - should_draw_greyscale = FALSE - no_update = TRUE + if(!dropping_limb && owner.dna?.check_mutation(/datum/mutation/human/hulk)) //Please remove hulk from the game. I beg you. + mutation_color = "#00aa00" + else + mutation_color = null - if(HAS_TRAIT(limb_owner, TRAIT_INVISIBLE_MAN) && is_organic_limb()) - species_id = "invisible" //overrides species_id - dmg_overlay_type = "" //no damage overlay shown when invisible since the wounds themselves are invisible. - should_draw_gender = FALSE - should_draw_greyscale = FALSE - no_update = TRUE + if(mutation_color) + draw_color = mutation_color + else if(should_draw_greyscale) + draw_color = (species_color) || (skin_tone && skintone2hex(skin_tone)) + else + draw_color = null - if(no_update) + if(!is_creating) return - if(!animal_origin) - var/mob/living/carbon/human/human_owner = limb_owner - should_draw_greyscale = FALSE + if(!animal_origin && ishuman(owner)) + var/mob/living/carbon/human/human_owner = owner var/datum/species/owner_species = human_owner.dna.species - if(organic_render) //SKYRAT EDIT ADDITION - CUSTOMIZATION - species_id = owner_species.limbs_id - alpha = owner_species.specific_alpha - rendered_bp_icon = owner_species.limbs_icon //SKYRAT EDIT ADDITION - CUSTOMIZATION - species_id = owner_species.limbs_id species_flags_list = human_owner.dna.species.species_traits + limb_gender = (human_owner.physique == MALE) ? "m" : "f" if(owner_species.use_skintones) skin_tone = human_owner.skin_tone - should_draw_greyscale = TRUE else skin_tone = "" - body_gender = human_owner.body_type - should_draw_gender = owner_species.sexes - - if((MUTCOLORS in owner_species.species_traits) || (DYNCOLORS in owner_species.species_traits)) + if(((MUTCOLORS in owner_species.species_traits) || (DYNCOLORS in owner_species.species_traits)) && uses_mutcolor) //Ethereal code. Motherfuckers. if(owner_species.fixed_mut_color) species_color = owner_species.fixed_mut_color else species_color = human_owner.dna.features["mcolor"] - should_draw_greyscale = TRUE else - species_color = "" + species_color = null - if(!dropping_limb && human_owner.dna.check_mutation(/datum/mutation/human/hulk)) - mutation_color = "#00aa00" - else - mutation_color = "" + draw_color = mutation_color + if(should_draw_greyscale) //Should the limb be colored? + draw_color ||= (species_color) || (skin_tone && skintone2hex(skin_tone)) dmg_overlay_type = owner_species.damage_overlay_type + // SKYRAT EDIT ADDITION + markings = LAZYCOPY(owner_species.body_markings[body_zone]) + if(aux_zone) + aux_zone_markings = LAZYCOPY(owner_species.body_markings[aux_zone]) + markings_alpha = owner_species.markings_alpha + // SKYRAT EDIT END + else if(animal_origin == MONKEY_BODYPART) //currently monkeys are the only non human mob to have damage overlays. dmg_overlay_type = animal_origin - if(status == BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(src)) dmg_overlay_type = "robotic" - if(dropping_limb) - no_update = TRUE //when attached, the limb won't be affected by the appearance changes of its mob owner. + return TRUE //to update the bodypart's icon when not attached to a mob /obj/item/bodypart/proc/update_icon_dropped() + SHOULD_CALL_PARENT(TRUE) + cut_overlays() var/list/standing = get_limb_icon(TRUE) if(!standing.len) icon_state = initial(icon_state)//no overlays found, we default back to initial icon. return - for(var/image/img in standing) + for(var/image/img as anything in standing) img.pixel_x = px_x img.pixel_y = px_y add_overlay(standing) -//Gives you a proper icon appearance for the dismembered limb -//SKYRAT EDIT REMOVAL BEGIN - CUSTOMIZATION (moved to modular) -/* -/obj/item/bodypart/proc/get_limb_icon(dropped, draw_external_organs) +///Generates an /image for the limb to be used as an overlay +/obj/item/bodypart/proc/get_limb_icon(dropped) + SHOULD_CALL_PARENT(TRUE) + RETURN_TYPE(/list) + icon_state = "" //to erase the default sprite, we're building the visual aspects of the bodypart through overlays alone. . = list() @@ -897,9 +756,9 @@ . += limb if(animal_origin) - if(is_organic_limb()) + if(IS_ORGANIC_LIMB(src)) limb.icon = 'icons/mob/animal_parts.dmi' - if(species_id == "husk") + if(limb_id == "husk") limb.icon_state = "[animal_origin]_husk_[body_zone]" else limb.icon_state = "[animal_origin]_[body_zone]" @@ -913,121 +772,132 @@ limb.overlays += limb_em_block return - var/icon_gender = (body_gender == FEMALE) ? "f" : "m" //gender of the icon, if applicable - - if((body_zone != BODY_ZONE_HEAD && body_zone != BODY_ZONE_CHEST)) - should_draw_gender = FALSE - - var/draw_color - - if(!is_organic_limb()) - limb.icon = icon - limb.icon_state = "[body_zone]" //Inorganic limbs are agender - - if(blocks_emissive) - var/mutable_appearance/limb_em_block = emissive_blocker(limb.icon, limb.icon_state, alpha = limb.alpha) - limb_em_block.dir = image_dir - limb.overlays += limb_em_block - - if(aux_zone) - aux = image(limb.icon, "[aux_zone]", -aux_layer, image_dir) + //HUSK SHIIIIT + if(is_husked) + limb.icon = icon_husk + limb.icon_state = "[husk_type]_husk_[body_zone]" + icon_exists(limb.icon, limb.icon_state, scream = TRUE) //Prints a stack trace on the first failure of a given iconstate. + if(aux_zone) //Hand shit + aux = image(limb.icon, "[husk_type]_husk_[aux_zone]", -aux_layer, image_dir) . += aux + return . + //END HUSK SHIIIIT - if(blocks_emissive) - var/mutable_appearance/aux_em_block = emissive_blocker(aux.icon, aux.icon_state, alpha = aux.alpha) - aux_em_block.dir = image_dir - aux.overlays += aux_em_block + ////This is the MEAT of limb icon code + limb.icon = icon_greyscale + if(!should_draw_greyscale || !icon_greyscale) + limb.icon = icon_static + if(is_dimorphic) //Does this type of limb have sexual dimorphism? + limb.icon_state = "[limb_id]_[body_zone]_[limb_gender]" else - if(should_draw_greyscale) - limb.icon = icon_greyscale - if(should_draw_gender) - limb.icon_state = "[species_id]_[body_zone]_[icon_gender]" - else if(use_digitigrade) - limb.icon_state = "digitigrade_[use_digitigrade]_[body_zone]" - else - limb.icon_state = "[species_id]_[body_zone]" - else - limb.icon = 'icons/mob/human_parts.dmi' - if(should_draw_gender) - limb.icon_state = "[species_id]_[body_zone]_[icon_gender]" - else - limb.icon_state = "[species_id]_[body_zone]" + limb.icon_state = "[limb_id]_[body_zone]" + + icon_exists(limb.icon, limb.icon_state, TRUE) //Prints a stack trace on the first failure of a given iconstate. + + if(aux_zone) //Hand shit + aux = image(limb.icon, "[limb_id]_[aux_zone]", -aux_layer, image_dir) + . += aux + + draw_color = mutation_color + if(should_draw_greyscale) //Should the limb be colored outside of a forced color? + draw_color ||= (species_color) || (skin_tone && skintone2hex(skin_tone)) + + if(draw_color) + limb.color = "[draw_color]" + if(aux_zone) + aux.color = "[draw_color]" + + //EMISSIVE CODE START + if(blocks_emissive) + var/mutable_appearance/limb_em_block = emissive_blocker(limb.icon, limb.icon_state, alpha = limb.alpha) + limb_em_block.dir = image_dir + limb.overlays += limb_em_block if(aux_zone) - aux = image(limb.icon, "[species_id]_[aux_zone]", -aux_layer, image_dir) - . += aux - - if(should_draw_greyscale) - draw_color = mutation_color || species_color || (skin_tone && skintone2hex(skin_tone)) - if(draw_color) - limb.color = draw_color - if(aux_zone) - aux.color = draw_color - - if(blocks_emissive) - var/mutable_appearance/limb_em_block = emissive_blocker(limb.icon, limb.icon_state, alpha = limb.alpha) - limb_em_block.dir = image_dir - limb.overlays += limb_em_block - - if(aux_zone) - var/mutable_appearance/aux_em_block = emissive_blocker(aux.icon, aux.icon_state, alpha = aux.alpha) - aux_em_block.dir = image_dir - aux.overlays += aux_em_block - - if(!draw_external_organs) - return + var/mutable_appearance/aux_em_block = emissive_blocker(aux.icon, aux.icon_state, alpha = aux.alpha) + aux_em_block.dir = image_dir + aux.overlays += aux_em_block + //EMISSIVE CODE END //Draw external organs like horns and frills for(var/obj/item/organ/external/external_organ in external_organs) if(!dropped && !external_organ.can_draw_on_bodypart(owner)) continue //Some externals have multiple layers for background, foreground and between for(var/external_layer in external_organ.all_layers) - if(istype(external_organ, /obj/item/organ/external/pod_hair)) - var/rgb_list = rgb2num(draw_color, COLORSPACE_RGB) - // Invert the colour of the pod hair's flower - draw_color = rgb(255 - rgb_list[1], 255 - rgb_list[2], 255 - rgb_list[3]) if(external_organ.layers & external_layer) - external_organ.get_overlays(., image_dir, external_organ.bitflag_to_layer(external_layer), icon_gender, draw_color) -*/ -//SKYRAT EDIT REMOVAL END + external_organ.get_overlays( + ., + image_dir, + external_organ.bitflag_to_layer(external_layer), + limb_gender, + external_organ.overrides_color ? external_organ.override_color(draw_color) : draw_color + ) + + // SKYRAT EDIT ADDITION BEGIN - MARKINGS CODE + var/override_color + // First, check to see if this bodypart is husked. If so, we don't want to apply our sparkledog colors to the limb. + if(is_husked) + override_color = "#888888" + // We need to check that the owner exists(could be a placed bodypart) and that it's not a chainsawhand and that they're a human with usable DNA. + if(!is_pseudopart) + for(var/key in markings) // Cycle through all of our currently selected markings. + var/datum/body_marking/body_marking = GLOB.body_markings[key] + if (!body_marking) // Edge case prevention. + continue + + var/render_limb_string = limb_id == "digitigrade" ? ("digitigrade_1_" + body_zone) : body_zone // I am not sure why there are _1 and _2 versions of digi, so, it's staying like this. + + var/gender_modifier = "" + if(body_zone == BODY_ZONE_CHEST) // Chest markings have male and female versions. + if(is_dimorphic) + gender_modifier = "_[limb_gender]" + else + gender_modifier = "_m" // Again, why we don't define if a marking can have male/female is byond me. + + var/mutable_appearance/accessory_overlay + var/mutable_appearance/emissive + accessory_overlay = mutable_appearance(body_marking.icon, "[body_marking.icon_state]_[render_limb_string][gender_modifier]", -BODYPARTS_LAYER) + accessory_overlay.alpha = markings_alpha + if(markings[key][2]) + emissive = emissive_appearance_copy(accessory_overlay) + if(override_color) + accessory_overlay.color = override_color + else + accessory_overlay.color = markings[key][1] + . += accessory_overlay + if (emissive) + . += emissive + + if(aux_zone) + for(var/key in aux_zone_markings) + var/datum/body_marking/body_marking = GLOB.body_markings[key] + if (!body_marking) // Edge case prevention. + continue + + var/render_limb_string = aux_zone + + var/mutable_appearance/emissive + var/mutable_appearance/accessory_overlay + accessory_overlay = mutable_appearance(body_marking.icon, "[body_marking.icon_state]_[render_limb_string]", -aux_layer) + accessory_overlay.alpha = markings_alpha + if (aux_zone_markings[key][2]) + emissive = emissive_appearance_copy(accessory_overlay) + if(override_color) + accessory_overlay.color = override_color + else + accessory_overlay.color = aux_zone_markings[key][1] + . += accessory_overlay + if (emissive) + . += emissive + // SKYRAT EDIT END - MARKINGS CODE END /obj/item/bodypart/deconstruct(disassembled = TRUE) + SHOULD_CALL_PARENT(TRUE) + drop_organs() - qdel(src) - -/// Get whatever wound of the given type is currently attached to this limb, if any -/obj/item/bodypart/proc/get_wound_type(checking_type) - if(isnull(wounds)) - return - - for(var/wound in wounds) - if(istype(wound, checking_type)) - return wound - -/** - * update_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status - * - * Covers tabulating the damage multipliers we have from wounds (burn specifically), as well as deleting our gauze wrapping if we don't have any wounds that can use bandaging - * - * Arguments: - * * replaced- If true, this is being called from the remove_wound() of a wound that's being replaced, so the bandage that already existed is still relevant, but the new wound hasn't been added yet - */ -/obj/item/bodypart/proc/update_wounds(replaced = FALSE) - var/dam_mul = 1 //initial(wound_damage_multiplier) - - // we can (normally) only have one wound per type, but remember there's multiple types (smites like :B:loodless can generate multiple cuts on a limb) - for(var/datum/wound/iter_wound as anything in wounds) - dam_mul *= iter_wound.damage_mulitplier_penalty - - /* - if(!LAZYLEN(wounds) && current_gauze && !replaced) // no more wounds = no need for the gauze anymore - owner.visible_message(span_notice("\The [current_gauze.name] on [owner]'s [name] falls away."), span_notice("The [current_gauze.name] on your [name] falls away.")) - QDEL_NULL(current_gauze) - */ - - wound_damage_multiplier = dam_mul + return ..() /** * Calculates how much blood this limb is losing per life tick @@ -1036,9 +906,11 @@ * * ignore_modifiers - If TRUE, ignore the bleed reduction for laying down and grabbing your limb */ /obj/item/bodypart/proc/get_part_bleed_rate(ignore_modifiers = FALSE) + SHOULD_NOT_OVERRIDE(TRUE) + if(HAS_TRAIT(owner, TRAIT_NOBLEED)) return - if(status != BODYPART_ORGANIC) // maybe in the future we can bleed oil from aug parts, but not now + if(!IS_ORGANIC_LIMB(src))// maybe in the future we can bleed oil from aug parts, but not now return var/bleed_rate = 0 @@ -1073,7 +945,7 @@ /obj/item/bodypart/proc/update_part_wound_overlay() if(!owner) return FALSE - if(HAS_TRAIT(owner, TRAIT_NOBLEED) || status != BODYPART_ORGANIC) + if(HAS_TRAIT(owner, TRAIT_NOBLEED) || !IS_ORGANIC_LIMB(src) || (NOBLOOD in species_flags_list)) if(bleed_overlay_icon) bleed_overlay_icon = null owner.update_wound_overlays() @@ -1117,7 +989,7 @@ * Arguments: * * gauze- Just the gauze stack we're taking a sheet from to apply here */ -/* +/* SKYRAT EDIT REMOVAL /obj/item/bodypart/proc/apply_gauze(obj/item/stack/gauze) if(!istype(gauze) || !gauze.absorption_capacity) return @@ -1139,7 +1011,7 @@ * Arguments: * * seep_amt - How much absorption capacity we're removing from our current bandages (think, how much blood or pus are we soaking up this tick?) */ -/* +/* SKYRAT EDIT REMOVAL /obj/item/bodypart/proc/seep_gauze(seep_amt = 0) if(!current_gauze) return @@ -1153,8 +1025,8 @@ ///Proc to turn bodypart into another. /obj/item/bodypart/proc/change_bodypart(obj/item/bodypart/new_type) + RETURN_TYPE(/obj/item/bodypart) + var/mob/living/carbon/our_owner = owner //dropping nulls the limb - drop_limb(TRUE) var/obj/item/bodypart/new_part = new new_type() - new_part.attach_limb(our_owner, TRUE) - qdel(src) + new_part.replace_limb(our_owner, TRUE) diff --git a/code/modules/surgery/bodyparts/dismemberment.dm b/code/modules/surgery/bodyparts/dismemberment.dm index c50064ee942..4671c9b8d22 100644 --- a/code/modules/surgery/bodyparts/dismemberment.dm +++ b/code/modules/surgery/bodyparts/dismemberment.dm @@ -129,6 +129,7 @@ organ.transfer_to_limb(src, phantom_owner) update_icon_dropped() + synchronize_bodytypes(phantom_owner) phantom_owner.update_health_hud() //update the healthdoll phantom_owner.update_body() phantom_owner.update_hair() @@ -292,10 +293,6 @@ if(pill) pill.forceMove(src) - //Make sure de-zombification happens before organ removal instead of during it - var/obj/item/organ/zombie_infection/ooze = owner.getorganslot(ORGAN_SLOT_ZOMBIE) - if(istype(ooze)) - ooze.transfer_to_limb(src, owner) name = "[owner.real_name]'s head" ..() @@ -303,11 +300,13 @@ /obj/item/bodypart/proc/replace_limb(mob/living/carbon/limb_owner, special) if(!istype(limb_owner)) return - var/obj/item/bodypart/limb = limb_owner.get_bodypart(body_zone) //needs to happen before attach because multiple limbs in same zone breaks helpers - if(!attach_limb(limb_owner, special))//we can attach this limb and drop the old after because of our robust bodyparts system. you know, just for a sec. - return - if(limb) - limb.drop_limb(1) + var/obj/item/bodypart/old_limb = limb_owner.get_bodypart(body_zone) + if(old_limb) + old_limb.drop_limb(TRUE) + + . = attach_limb(limb_owner, special) + if(!.) //If it failed to replace, re-attach their old limb as if nothing happened. + old_limb.attach_limb(limb_owner, TRUE) /obj/item/bodypart/head/replace_limb(mob/living/carbon/head_owner, special) if(!istype(head_owner)) @@ -321,7 +320,11 @@ /obj/item/bodypart/proc/attach_limb(mob/living/carbon/new_limb_owner, special) if(SEND_SIGNAL(new_limb_owner, COMSIG_CARBON_ATTACH_LIMB, src, special) & COMPONENT_NO_ATTACH) return FALSE - . = TRUE + + var/obj/item/bodypart/chest/mob_chest = new_limb_owner.get_bodypart(BODY_ZONE_CHEST) + if(mob_chest && !(mob_chest.acceptable_bodytype & bodytype) && !special) + return FALSE + moveToNullspace() set_owner(new_limb_owner) new_limb_owner.add_bodypart(src) @@ -364,20 +367,14 @@ if(can_be_disabled) update_disabled() + synchronize_bodytypes(new_limb_owner) new_limb_owner.updatehealth() new_limb_owner.update_body() - new_limb_owner.update_hair() new_limb_owner.update_damage_overlays() - + return TRUE /obj/item/bodypart/head/attach_limb(mob/living/carbon/new_head_owner, special = FALSE, abort = FALSE) // These are stored before calling super. This is so that if the head is from a different body, it persists its appearance. - var/hair_color = src.hair_color - var/hairstyle = src.hairstyle - var/facial_hair_color = src.facial_hair_color - var/facial_hairstyle = src.facial_hairstyle - var/lip_style = src.lip_style - var/lip_color = src.lip_color var/real_name = src.real_name . = ..() @@ -400,17 +397,9 @@ if(eyes) eyes = null - if(ishuman(new_head_owner)) - var/mob/living/carbon/human/human_head_owner = new_head_owner - human_head_owner.hair_color = hair_color - human_head_owner.hairstyle = hairstyle - human_head_owner.facial_hair_color = facial_hair_color - human_head_owner.facial_hairstyle = facial_hairstyle - human_head_owner.update_lips(lip_style, lip_color, stored_lipstick_trait) if(real_name) new_head_owner.real_name = real_name real_name = "" - name = initial(name) //Handle dental implants for(var/obj/item/reagent_containers/pill/pill in src) @@ -421,47 +410,57 @@ new_head_owner.updatehealth() new_head_owner.update_body() - new_head_owner.update_hair() new_head_owner.update_damage_overlays() +///Makes sure that the owner's bodytype flags match the flags of all of it's parts. +/obj/item/bodypart/proc/synchronize_bodytypes(mob/living/carbon/carbon_owner) + if(!carbon_owner.dna.species) + return + var/all_limb_flags + for(var/obj/item/bodypart/limb as anything in carbon_owner.bodyparts) + all_limb_flags = all_limb_flags | limb.bodytype + + carbon_owner.dna.species.bodytype = all_limb_flags //Regenerates all limbs. Returns amount of limbs regenerated -/mob/living/proc/regenerate_limbs(noheal = FALSE, list/excluded_zones = list()) - SEND_SIGNAL(src, COMSIG_LIVING_REGENERATE_LIMBS, noheal, excluded_zones) +/mob/living/proc/regenerate_limbs(list/excluded_zones = list()) + SEND_SIGNAL(src, COMSIG_LIVING_REGENERATE_LIMBS, excluded_zones) -/mob/living/carbon/regenerate_limbs(noheal = FALSE, list/excluded_zones = list()) - . = ..() +/mob/living/carbon/regenerate_limbs(list/excluded_zones = list()) + SEND_SIGNAL(src, COMSIG_LIVING_REGENERATE_LIMBS, excluded_zones) var/list/zone_list = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST, BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) if(length(excluded_zones)) zone_list -= excluded_zones for(var/limb_zone in zone_list) - . += regenerate_limb(limb_zone, noheal) + regenerate_limb(limb_zone) -/mob/living/proc/regenerate_limb(limb_zone, noheal) +/mob/living/proc/regenerate_limb(limb_zone) return -/mob/living/carbon/regenerate_limb(limb_zone, noheal) +/mob/living/carbon/regenerate_limb(limb_zone) var/obj/item/bodypart/limb if(get_bodypart(limb_zone)) return FALSE limb = newBodyPart(limb_zone, 0, 0) if(limb) - if(!noheal) - limb.set_brute_dam(0) - limb.set_burn_dam(0) - limb.brutestate = 0 - limb.burnstate = 0 - - //SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION - if(dna?.species && (ROBOTIC_LIMBS in dna.species.species_traits)) - limb.change_bodypart_status(BODYPART_ROBOTIC) - if(dna?.mutant_bodyparts["legs"] && dna.mutant_bodyparts["legs"][MUTANT_INDEX_NAME] == "Digitigrade Legs") - limb.use_digitigrade = FULL_DIGITIGRADE - //SKYRAT EDIT ADDITION END if(!limb.attach_limb(src, 1)) qdel(limb) return FALSE + limb.update_limb(is_creating = TRUE) var/datum/scar/scaries = new var/datum/wound/loss/phantom_loss = new // stolen valor, really scaries.generate(limb, phantom_loss) + + //Copied from /datum/species/proc/on_species_gain() + for(var/obj/item/organ/external/organ_path as anything in dna.species.external_organs) + //Load a persons preferences from DNA + var/zone = initial(organ_path.zone) + if(zone != limb_zone) + continue + var/feature_key_name = dna.features[initial(organ_path.feature_key)] + var/obj/item/organ/external/new_organ = SSwardrobe.provide_type(organ_path) + new_organ.set_sprite(feature_key_name) + new_organ.Insert(src) + + update_body_parts() return TRUE diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index f05659a9835..d70169c314d 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -17,6 +17,7 @@ disabled_wound_penalty = 25 scars_covered_by_clothes = FALSE grind_results = null + is_dimorphic = TRUE var/mob/living/brain/brainmob //The current occupant. var/obj/item/organ/brain/brain //The brain organ @@ -29,19 +30,47 @@ //Limb appearance info: var/real_name = "" //Replacement name - //Hair colour and style + ///Hair color source + var/hair_color_source = null + ///Hair colour and style var/hair_color = "#000000" - var/hairstyle = "Bald" + ///An override color that can be cleared later. + var/override_hair_color = null + ///An override that cannot be cleared under any circumstances + var/fixed_hair_color = null + + var/hair_style = "Bald" var/hair_alpha = 255 + var/hair_gradient_style = null + var/hair_gradient_color = null //Facial hair colour and style var/facial_hair_color = "#000000" var/facial_hairstyle = "Shaved" - //Eye Colouring + var/facial_hair_gradient_style = null + var/facial_hair_gradient_color = null + ///Is the hair currently hidden by something? + var/hair_hidden + ///Is the facial hair currently hidden by something? + var/facial_hair_hidden + ///Draw this head as "debrained" + VAR_PROTECTED/show_debrained = FALSE + + var/lip_style var/lip_color = "white" var/stored_lipstick_trait + ///The image for hair + var/mutable_appearance/hair_overlay + ///The image for hair gradient + var/mutable_appearance/hair_gradient_overlay + ///The image for face hair + var/mutable_appearance/facial_overlay + ///The image for facial hair gradient + var/mutable_appearance/facial_gradient_overlay + + /obj/item/bodypart/head/Destroy() @@ -72,7 +101,7 @@ /obj/item/bodypart/head/examine(mob/user) . = ..() - if(status == BODYPART_ORGANIC && show_organs_on_examine) + if(IS_ORGANIC_LIMB(src) && show_organs_on_examine) if(!brain) . += span_info("The brain has been removed from [src].") else if(brain.suicided || brainmob?.suiciding) @@ -106,8 +135,6 @@ /obj/item/bodypart/head/drop_organs(mob/user, violent_removal) var/turf/head_turf = get_turf(src) - if(status != BODYPART_ROBOTIC) - playsound(head_turf, 'sound/misc/splort.ogg', 50, TRUE, -1) for(var/obj/item/head_item in src) if(head_item == brain) if(user) @@ -136,86 +163,139 @@ ears = null tongue = null -/obj/item/bodypart/head/update_limb(dropping_limb, mob/living/carbon/source) - var/mob/living/carbon/head_owner - if(source) - head_owner = source - else - head_owner = owner + return ..() - real_name = head_owner.real_name - if(HAS_TRAIT(head_owner, TRAIT_HUSK)) +#define SET_OVERLAY_VALUE(X,Y,Z) if(X) X.Y = Z +/obj/item/bodypart/head/update_limb(dropping_limb, is_creating) + . = ..() + + real_name = owner.real_name + if(HAS_TRAIT(owner, TRAIT_HUSK)) real_name = "Unknown" - hairstyle = "Bald" + hair_style = "Bald" facial_hairstyle = "Shaved" lip_style = null stored_lipstick_trait = null - else if(!animal_origin) - var/mob/living/carbon/human/human_head_owner = head_owner + else if(!animal_origin && ishuman(owner)) + + var/mob/living/carbon/human/human_head_owner = owner var/datum/species/owner_species = human_head_owner.dna.species - //Facial hair - if(human_head_owner.facial_hairstyle && (FACEHAIR in owner_species.species_traits)) - facial_hairstyle = human_head_owner.facial_hairstyle - if(owner_species.hair_color) - if(owner_species.hair_color == "mutcolor") - facial_hair_color = human_head_owner.dna.features["mcolor"] - else if(hair_color == "fixedmutcolor") - facial_hair_color = owner_species.fixed_mut_color - else - facial_hair_color = owner_species.hair_color - else - facial_hair_color = human_head_owner.facial_hair_color - hair_alpha = owner_species.hair_alpha - else - facial_hairstyle = "Shaved" - facial_hair_color = "#000000" - hair_alpha = 255 - //Hair - if(human_head_owner.hairstyle && (HAIR in owner_species.species_traits)) - hairstyle = human_head_owner.hairstyle - if(owner_species.hair_color) - if(owner_species.hair_color == "mutcolor") - hair_color = human_head_owner.dna.features["mcolor"] - else if(hair_color == "fixedmutcolor") - hair_color = owner_species.fixed_mut_color - else - hair_color = owner_species.hair_color - else - hair_color = human_head_owner.hair_color - hair_alpha = owner_species.hair_alpha - else - hairstyle = "Bald" - hair_color = "#000000" - hair_alpha = initial(hair_alpha) - // lipstick if(human_head_owner.lip_style && (LIPS in owner_species.species_traits)) lip_style = human_head_owner.lip_style lip_color = human_head_owner.lip_color else lip_style = null lip_color = "white" - ..() -/obj/item/bodypart/head/update_icon_dropped() - var/list/standing = get_limb_icon(TRUE) - if(!standing.len) - icon_state = initial(icon_state)//no overlays found, we default back to initial icon. - return - for(var/image/img in standing) - img.pixel_x = px_x - img.pixel_y = px_y - add_overlay(standing) + ///FACIAL HAIR CHECKS START + //we check if our hat or helmet hides our facial hair. + facial_hair_hidden = FALSE + if(human_head_owner.head) + var/obj/item/hat = human_head_owner.head + if(hat.flags_inv & HIDEFACIALHAIR) + facial_hair_hidden = TRUE + + if(human_head_owner.wear_mask) + var/obj/item/mask = human_head_owner.wear_mask + if(mask.flags_inv & HIDEFACIALHAIR) + facial_hair_hidden = TRUE + ///FACIAL HAIR CHECKS END + ///HAIR CHECKS START + hair_hidden = FALSE + if(human_head_owner.head) + var/obj/item/hat = human_head_owner.head + if(hat.flags_inv & HIDEHAIR) + hair_hidden = TRUE + + if(human_head_owner.w_uniform) + var/obj/item/item_uniform = human_head_owner.w_uniform + if(item_uniform.flags_inv & HIDEHAIR) + hair_hidden = TRUE + + if(human_head_owner.wear_mask) + var/obj/item/mask = human_head_owner.wear_mask + if(mask.flags_inv & HIDEHAIR) + hair_hidden = TRUE + ///HAIR CHECKS END + + if(!hair_hidden && !owner.getorgan(/obj/item/organ/brain) && !(NOBLOOD in species_flags_list)) + show_debrained = TRUE + else + show_debrained = FALSE + + //CREATION-ONLY START + if(is_creating) + var/datum/sprite_accessory/sprite_accessory + + facial_overlay = null + facial_gradient_overlay = null + hair_overlay = null + hair_gradient_overlay = null + + hair_alpha = owner_species.hair_alpha + hair_color = human_head_owner.hair_color + facial_hair_color = human_head_owner.hair_color + fixed_hair_color = owner_species.fixed_mut_color //Can be null + hair_style = human_head_owner.hairstyle + facial_hairstyle = human_head_owner.facial_hairstyle + + + if(facial_hairstyle && !facial_hair_hidden && (FACEHAIR in species_flags_list)) + sprite_accessory = GLOB.facial_hairstyles_list[facial_hairstyle] + if(sprite_accessory) + //Create the overlay + facial_overlay = mutable_appearance(sprite_accessory.icon, sprite_accessory.icon_state, -HAIR_LAYER) + //Gradients + facial_hair_gradient_style = LAZYACCESS(human_head_owner.grad_style, GRADIENT_FACIAL_HAIR_KEY) + if(facial_hair_gradient_style) + facial_hair_gradient_color = LAZYACCESS(human_head_owner.grad_color, GRADIENT_FACIAL_HAIR_KEY) + facial_gradient_overlay = make_gradient_overlay(sprite_accessory.icon, sprite_accessory.icon_state, HAIR_LAYER, GLOB.facial_hair_gradients_list[facial_hair_gradient_style], facial_hair_gradient_color) + + facial_overlay.overlays += emissive_blocker(sprite_accessory.icon, sprite_accessory.icon_state, alpha = hair_alpha) + + if(!hair_hidden && !show_debrained && (HAIR in species_flags_list)) + sprite_accessory = GLOB.hairstyles_list[hair_style] + if(sprite_accessory) + hair_overlay = mutable_appearance(sprite_accessory.icon, sprite_accessory.icon_state, -HAIR_LAYER) + hair_gradient_style = LAZYACCESS(human_head_owner.grad_style, GRADIENT_HAIR_KEY) + if(hair_gradient_style) + hair_gradient_color = LAZYACCESS(human_head_owner.grad_color, GRADIENT_HAIR_KEY) + hair_gradient_overlay = make_gradient_overlay(sprite_accessory.icon, sprite_accessory.icon_state, HAIR_LAYER, GLOB.hair_gradients_list[hair_gradient_style], hair_gradient_color) + + //CREATION-ONLY END + //HAIR COLOR START + if(!override_hair_color) + if(hair_color_source) + if(hair_color_source == "fixedmutcolor") + SET_OVERLAY_VALUE(facial_overlay, color, fixed_hair_color) + SET_OVERLAY_VALUE(hair_overlay, color, fixed_hair_color) + else if(hair_color_source == "mutcolor") + SET_OVERLAY_VALUE(facial_overlay, color, facial_hair_color) + SET_OVERLAY_VALUE(hair_overlay, color, hair_color) + else + SET_OVERLAY_VALUE(facial_overlay, color, hair_color_source) + SET_OVERLAY_VALUE(hair_overlay, color, hair_color_source) + else + SET_OVERLAY_VALUE(facial_overlay, color, hair_color) + SET_OVERLAY_VALUE(hair_overlay, color, hair_color) + else + SET_OVERLAY_VALUE(facial_overlay, color, override_hair_color) + SET_OVERLAY_VALUE(hair_overlay, color, override_hair_color) + //HAIR COLOR END + +#undef SET_OVERLAY_VALUE +///////////////////////////////////////////////////////////////////////////////////////////////////////////////// /obj/item/bodypart/head/get_limb_icon(dropped, draw_external_organs) cut_overlays() . = ..() if(dropped) //certain overlays only appear when the limb is being detached from its owner. - if(status != BODYPART_ROBOTIC) //having a robotic head hides certain features. + if(IS_ORGANIC_LIMB(src)) //having a robotic head hides certain features. //facial hair - if(facial_hairstyle) + if(facial_hairstyle && (FACEHAIR in species_flags_list)) var/datum/sprite_accessory/sprite = GLOB.facial_hairstyles_list[facial_hairstyle] if(sprite) var/image/facial_overlay = image(sprite.icon, "[sprite.icon_state]", -HAIR_LAYER, SOUTH) @@ -237,8 +317,8 @@ debrain_overlay.icon_state = "debrained" . += debrain_overlay else - var/datum/sprite_accessory/sprite2 = GLOB.hairstyles_list[hairstyle] - if(sprite2) + var/datum/sprite_accessory/sprite2 = GLOB.hairstyles_list[hair_style] + if(sprite2 && (HAIR in species_flags_list)) var/image/hair_overlay = image(sprite2.icon, "[sprite2.icon_state]", -HAIR_LAYER, SOUTH) hair_overlay.color = hair_color hair_overlay.alpha = hair_alpha @@ -260,6 +340,47 @@ if(eyes.eye_color) eyes_overlay.color = eyes.eye_color + else + if(!facial_hair_hidden && facial_overlay && (FACEHAIR in species_flags_list)) + facial_overlay.alpha = hair_alpha + . += facial_overlay + if(facial_gradient_overlay) + . += facial_gradient_overlay + + if(show_debrained) + . += mutable_appearance('icons/mob/human_face.dmi', "debrained", HAIR_LAYER) + + else if(!hair_hidden && hair_overlay && (HAIR in species_flags_list)) + hair_overlay.alpha = hair_alpha + . += hair_overlay + if(hair_gradient_overlay) + . += hair_gradient_overlay +///Set the haircolor of a human. Override instead sets the override value, it will not be changed away from the override value until override is set to null. +/mob/proc/set_haircolor(hex_string, override) + return + +/mob/living/carbon/human/set_haircolor(hex_string, override) + var/obj/item/bodypart/head/my_head = get_bodypart(BODY_ZONE_HEAD) + if(!my_head) + return + + if(override) + my_head.override_hair_color = hex_string + else + my_head.hair_color = hex_string + update_hair(is_creating = TRUE) + +/obj/item/bodypart/head/proc/make_gradient_overlay(file, icon, layer, datum/sprite_accessory/gradient, grad_color) + RETURN_TYPE(/mutable_appearance) + + var/mutable_appearance/gradient_overlay = mutable_appearance(layer = -layer) + var/icon/temp = icon(gradient.icon, gradient.icon_state) + var/icon/temp_hair = icon(file, icon) + temp.Blend(temp_hair, ICON_ADD) + gradient_overlay.icon = temp + gradient_overlay.color = grad_color + return gradient_overlay + /obj/item/bodypart/head/talk_into(mob/holder, message, channel, spans, datum/language/language, list/message_mods) var/mob/headholder = holder if(istype(headholder)) @@ -274,7 +395,9 @@ /obj/item/bodypart/head/monkey icon = 'icons/mob/animal_parts.dmi' icon_state = "default_monkey_head" + limb_id = SPECIES_MONKEY animal_origin = MONKEY_BODYPART + bodytype = BODYTYPE_MONKEY | BODYTYPE_ORGANIC /obj/item/bodypart/head/alien icon = 'icons/mob/animal_parts.dmi' diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index 56aa42af955..60be92d76d0 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -121,52 +121,23 @@ return TRUE //Helper for quickly creating a new limb - used by augment code in species.dm spec_attacked_by -/mob/living/carbon/proc/newBodyPart(zone, robotic, fixed_icon) - var/obj/item/bodypart/new_bodypart - switch(zone) - if(BODY_ZONE_L_ARM) - new_bodypart = new /obj/item/bodypart/l_arm() - if(BODY_ZONE_R_ARM) - new_bodypart = new /obj/item/bodypart/r_arm() - if(BODY_ZONE_HEAD) - new_bodypart = new /obj/item/bodypart/head() - if(BODY_ZONE_L_LEG) - new_bodypart = new /obj/item/bodypart/l_leg() - if(BODY_ZONE_R_LEG) - new_bodypart = new /obj/item/bodypart/r_leg() - if(BODY_ZONE_CHEST) - new_bodypart = new /obj/item/bodypart/chest() - if(new_bodypart) - new_bodypart.update_limb(fixed_icon, src) - if(robotic) - new_bodypart.change_bodypart_status(BODYPART_ROBOTIC) - . = new_bodypart +// +// FUCK YOU AUGMENT CODE - With love, Kapu +/mob/living/carbon/proc/newBodyPart(zone) + var/path = dna.species.bodypart_overrides[zone] + var/obj/item/bodypart/new_bodypart = new path() + return new_bodypart -/mob/living/carbon/human/newBodyPart(zone, robotic, fixed_icon) - var/obj/item/bodypart/bodypart - var/datum/species/species = dna.species - var/obj/item/bodypart/selected_type = species.bodypart_overides[zone] - bodypart = new selected_type() - if(bodypart) - bodypart.update_limb(fixed_icon, src) - if(robotic) - bodypart.change_bodypart_status(BODYPART_ROBOTIC) - . = bodypart - -/mob/living/carbon/alien/larva/newBodyPart(zone, robotic, fixed_icon) +/mob/living/carbon/alien/larva/newBodyPart(zone) var/obj/item/bodypart/new_bodypart switch(zone) if(BODY_ZONE_HEAD) new_bodypart = new /obj/item/bodypart/head/larva() if(BODY_ZONE_CHEST) new_bodypart = new /obj/item/bodypart/chest/larva() - if(new_bodypart) - new_bodypart.update_limb(fixed_icon, src) - if(robotic) - new_bodypart.change_bodypart_status(BODYPART_ROBOTIC) . = new_bodypart -/mob/living/carbon/alien/humanoid/newBodyPart(zone, robotic, fixed_icon) +/mob/living/carbon/alien/humanoid/newBodyPart(zone) var/obj/item/bodypart/new_bodypart switch(zone) if(BODY_ZONE_L_ARM) @@ -182,10 +153,8 @@ if(BODY_ZONE_CHEST) new_bodypart = new /obj/item/bodypart/chest/alien() if(new_bodypart) - new_bodypart.update_limb(fixed_icon, src) - if(robotic) - new_bodypart.change_bodypart_status(BODYPART_ROBOTIC) - . = new_bodypart + new_bodypart.update_limb(src) + /proc/skintone2hex(skin_tone) @@ -217,39 +186,3 @@ . = "#fff4e6" if("orange") . = "#ffc905" - -/mob/living/carbon/proc/Digitigrade_Leg_Swap(swap_back) - var/body_plan_changed = FALSE - for(var/obj/item/bodypart/existing_bodypart as anything in bodyparts) - var/obj/item/bodypart/new_bodypart - if((!existing_bodypart.use_digitigrade && swap_back == FALSE) || (existing_bodypart.use_digitigrade && swap_back == TRUE)) - if(existing_bodypart.body_part == LEG_LEFT) - if(swap_back == TRUE) - new_bodypart = new /obj/item/bodypart/l_leg - else - new_bodypart = new /obj/item/bodypart/l_leg/digitigrade - else if(existing_bodypart.body_part == LEG_RIGHT) - if(swap_back == TRUE) - new_bodypart = new /obj/item/bodypart/r_leg - else - new_bodypart = new /obj/item/bodypart/r_leg/digitigrade - if(!new_bodypart) - continue - body_plan_changed = TRUE - existing_bodypart.drop_limb(1) - qdel(existing_bodypart) - new_bodypart.attach_limb(src) //no sanity for if this fails here because we just dropped out a limb of the same zone, SHOULD be okay - if(body_plan_changed && ishuman(src)) - var/mob/living/carbon/human/leg_owner = src - if(leg_owner.w_uniform) - var/obj/item/clothing/under/uniform = leg_owner.w_uniform - if(uniform.mutantrace_variation) - if(swap_back) - uniform.adjusted = NORMAL_STYLE - else - uniform.adjusted = DIGITIGRADE_STYLE - leg_owner.update_inv_w_uniform() - /* SKYRAT EDIT REMOVAL - Digitigrade legs - if(leg_owner.shoes && !(leg_owner.shoes.item_flags & IGNORE_DIGITIGRADE) && !swap_back) - leg_owner.dropItemToGround(leg_owner.shoes) - */ // SKYRAT EDIT END diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 9e4cce0fb67..ff8e49a103d 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -6,12 +6,16 @@ max_damage = 250 //SKYRAT EDIT CHANGE: max_damage = 200 body_zone = BODY_ZONE_CHEST body_part = CHEST + is_dimorphic = TRUE px_x = 0 px_y = 0 stam_damage_coeff = 1 max_stamina_damage = 162 // SKYRAT EDIT CHANGE: originally 120, update for stamina crit grind_results = null wound_resistance = 10 + ///The bodytype required to attach to this chest + var/acceptable_bodytype = BODYTYPE_HUMANOID + var/obj/item/cavity_item /obj/item/bodypart/chest/can_dismember(obj/item/item) @@ -31,10 +35,14 @@ /obj/item/bodypart/chest/monkey icon = 'icons/mob/animal_parts.dmi' + icon_static = 'icons/mob/animal_parts.dmi' icon_state = "default_monkey_chest" + limb_id = SPECIES_MONKEY + should_draw_greyscale = FALSE animal_origin = MONKEY_BODYPART - part_origin = MONKEY_BODY wound_resistance = -10 + bodytype = BODYTYPE_MONKEY | BODYTYPE_ORGANIC + acceptable_bodytype = BODYTYPE_MONKEY /obj/item/bodypart/chest/alien icon = 'icons/mob/animal_parts.dmi' @@ -42,7 +50,6 @@ dismemberable = 0 max_damage = 500 animal_origin = ALIEN_BODYPART - part_origin = ALIEN_BODY /obj/item/bodypart/chest/larva icon = 'icons/mob/animal_parts.dmi' @@ -50,7 +57,6 @@ dismemberable = 0 max_damage = 50 animal_origin = LARVA_BODYPART - part_origin = LARVA_BODY /obj/item/bodypart/l_arm name = "left arm" @@ -135,9 +141,12 @@ /obj/item/bodypart/l_arm/monkey icon = 'icons/mob/animal_parts.dmi' + icon_static = 'icons/mob/animal_parts.dmi' icon_state = "default_monkey_l_arm" + limb_id = SPECIES_MONKEY + should_draw_greyscale = FALSE animal_origin = MONKEY_BODYPART - part_origin = MONKEY_BODY + bodytype = BODYTYPE_MONKEY | BODYTYPE_ORGANIC wound_resistance = -10 px_x = -5 px_y = -3 @@ -151,7 +160,6 @@ can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART - part_origin = ALIEN_BODY /obj/item/bodypart/r_arm name = "right arm" @@ -234,9 +242,11 @@ /obj/item/bodypart/r_arm/monkey icon = 'icons/mob/animal_parts.dmi' + icon_static = 'icons/mob/animal_parts.dmi' icon_state = "default_monkey_r_arm" + limb_id = SPECIES_MONKEY + bodytype = BODYTYPE_MONKEY | BODYTYPE_ORGANIC animal_origin = MONKEY_BODYPART - part_origin = MONKEY_BODY wound_resistance = -10 px_x = 5 px_y = -3 @@ -250,7 +260,6 @@ can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART - part_origin = ALIEN_BODY /obj/item/bodypart/l_leg @@ -322,16 +331,14 @@ else if(!bodypart_disabled) owner.set_usable_legs(owner.usable_legs + 1) - -/obj/item/bodypart/l_leg/digitigrade - name = "left digitigrade leg" - use_digitigrade = FULL_DIGITIGRADE - /obj/item/bodypart/l_leg/monkey icon = 'icons/mob/animal_parts.dmi' + icon_static = 'icons/mob/animal_parts.dmi' icon_state = "default_monkey_l_leg" + limb_id = SPECIES_MONKEY + should_draw_greyscale = FALSE animal_origin = MONKEY_BODYPART - part_origin = MONKEY_BODY + bodytype = BODYTYPE_MONKEY | BODYTYPE_ORGANIC wound_resistance = -10 px_y = 4 @@ -344,7 +351,6 @@ can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART - part_origin = ALIEN_BODY /obj/item/bodypart/r_leg name = "right leg" @@ -417,16 +423,13 @@ else if(!bodypart_disabled) owner.set_usable_legs(owner.usable_legs + 1) - -/obj/item/bodypart/r_leg/digitigrade - name = "right digitigrade leg" - use_digitigrade = FULL_DIGITIGRADE - /obj/item/bodypart/r_leg/monkey icon = 'icons/mob/animal_parts.dmi' icon_state = "default_monkey_r_leg" + limb_id = SPECIES_MONKEY + should_draw_greyscale = FALSE animal_origin = MONKEY_BODYPART - part_origin = MONKEY_BODY + bodytype = BODYTYPE_MONKEY | BODYTYPE_ORGANIC wound_resistance = -10 px_y = 4 @@ -439,4 +442,3 @@ can_be_disabled = FALSE max_damage = 100 animal_origin = ALIEN_BODYPART - part_origin = ALIEN_BODY diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index 21384097bd0..d70d1cb1b93 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -13,14 +13,17 @@ /obj/item/bodypart/l_arm/robot name = "cyborg left arm" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb_continuous = list("slaps", "punches") - attack_verb_simple = list("slap", "punch") + limb_id = "robotic" + attack_verb_simple = list("slapped", "punched") inhand_icon_state = "buildpipe" icon = 'icons/mob/augmentation/augments.dmi' + icon_static = 'icons/mob/augmentation/augments.dmi' flags_1 = CONDUCT_1 icon_state = "borg_l_arm" - status = BODYPART_ROBOTIC - disable_threshold = 1 + is_dimorphic = FALSE + should_draw_greyscale = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + change_exempt_flags = BP_BLOCK_CHANGE_SPECIES brute_reduction = 5 burn_reduction = 4 @@ -36,14 +39,17 @@ /obj/item/bodypart/r_arm/robot name = "cyborg right arm" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb_continuous = list("slaps", "punches") - attack_verb_simple = list("slap", "punch") + attack_verb_simple = list("slapped", "punched") inhand_icon_state = "buildpipe" + icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' + limb_id = "robotic" flags_1 = CONDUCT_1 icon_state = "borg_r_arm" - status = BODYPART_ROBOTIC - disable_threshold = 1 + is_dimorphic = FALSE + should_draw_greyscale = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + change_exempt_flags = BP_BLOCK_CHANGE_SPECIES brute_reduction = 5 burn_reduction = 4 @@ -59,14 +65,17 @@ /obj/item/bodypart/l_leg/robot name = "cyborg left leg" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb_continuous = list("kicks", "stomps") - attack_verb_simple = list("kick", "stomp") + attack_verb_simple = list("kicked", "stomped") inhand_icon_state = "buildpipe" + icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' + limb_id = "robotic" flags_1 = CONDUCT_1 icon_state = "borg_l_leg" - status = BODYPART_ROBOTIC - disable_threshold = 1 + is_dimorphic = FALSE + should_draw_greyscale = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + change_exempt_flags = BP_BLOCK_CHANGE_SPECIES brute_reduction = 5 burn_reduction = 4 @@ -82,14 +91,17 @@ /obj/item/bodypart/r_leg/robot name = "cyborg right leg" desc = "A skeletal limb wrapped in pseudomuscles, with a low-conductivity case." - attack_verb_continuous = list("kicks", "stomps") - attack_verb_simple = list("kick", "stomp") + attack_verb_simple = list("kicked", "stomped") inhand_icon_state = "buildpipe" + icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' + limb_id = "robotic" flags_1 = CONDUCT_1 icon_state = "borg_r_leg" - status = BODYPART_ROBOTIC - disable_threshold = 1 + is_dimorphic = FALSE + should_draw_greyscale = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + change_exempt_flags = BP_BLOCK_CHANGE_SPECIES brute_reduction = 5 burn_reduction = 4 @@ -106,10 +118,15 @@ name = "cyborg torso" desc = "A heavily reinforced case containing cyborg logic boards, with space for a standard power cell." inhand_icon_state = "buildpipe" + icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' + limb_id = "robotic" flags_1 = CONDUCT_1 icon_state = "borg_chest" - status = BODYPART_ROBOTIC + is_dimorphic = FALSE + should_draw_greyscale = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + change_exempt_flags = BP_BLOCK_CHANGE_SPECIES brute_reduction = 5 burn_reduction = 4 @@ -209,10 +226,15 @@ name = "cyborg head" desc = "A standard reinforced braincase, with spine-plugged neural socket and sensor gimbals." inhand_icon_state = "buildpipe" + icon_static = 'icons/mob/augmentation/augments.dmi' icon = 'icons/mob/augmentation/augments.dmi' + limb_id = "robotic" flags_1 = CONDUCT_1 icon_state = "borg_head" - status = BODYPART_ROBOTIC + is_dimorphic = FALSE + should_draw_greyscale = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC + change_exempt_flags = BP_BLOCK_CHANGE_SPECIES brute_reduction = 5 burn_reduction = 4 diff --git a/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm new file mode 100644 index 00000000000..a581790b31f --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/ethereal_bodyparts.dm @@ -0,0 +1,31 @@ +/obj/item/bodypart/head/ethereal + icon_greyscale = 'icons/mob/species/ethereal/bodyparts.dmi' + limb_id = SPECIES_ETHEREAL + is_dimorphic = FALSE + uses_mutcolor = TRUE + +/obj/item/bodypart/chest/ethereal + icon_greyscale = 'icons/mob/species/ethereal/bodyparts.dmi' + limb_id = SPECIES_ETHEREAL + is_dimorphic = FALSE + uses_mutcolor = TRUE + +/obj/item/bodypart/l_arm/ethereal + icon_greyscale = 'icons/mob/species/ethereal/bodyparts.dmi' + limb_id = SPECIES_ETHEREAL + uses_mutcolor = TRUE + +/obj/item/bodypart/r_arm/ethereal + icon_greyscale = 'icons/mob/species/ethereal/bodyparts.dmi' + limb_id = SPECIES_ETHEREAL + uses_mutcolor = TRUE + +/obj/item/bodypart/l_leg/ethereal + icon_greyscale = 'icons/mob/species/ethereal/bodyparts.dmi' + limb_id = SPECIES_ETHEREAL + uses_mutcolor = TRUE + +/obj/item/bodypart/r_leg/ethereal + icon_greyscale = 'icons/mob/species/ethereal/bodyparts.dmi' + limb_id = SPECIES_ETHEREAL + uses_mutcolor = TRUE diff --git a/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm new file mode 100644 index 00000000000..01ac9e3bb61 --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/lizard_bodyparts.dm @@ -0,0 +1,80 @@ +/obj/item/bodypart/head/lizard + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + limb_id = SPECIES_LIZARD + uses_mutcolor = TRUE + is_dimorphic = FALSE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUTED //This is temporary. Ideally the "snout" external organ adds to this. + +/obj/item/bodypart/chest/lizard + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_LIZARD + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/lizard + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_LIZARD + +/obj/item/bodypart/r_arm/lizard + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_LIZARD + +/obj/item/bodypart/l_leg/lizard + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_LIZARD + +/obj/item/bodypart/r_leg/lizard + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_LIZARD + +/* SKYRAT EDIT REMOVAL - MOVED TO MODULAR MUTANT_BODYPARTS.DM +/obj/item/bodypart/l_leg/digitigrade + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + uses_mutcolor = TRUE + limb_id = "digitigrade" + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + +/obj/item/bodypart/l_leg/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + if(ishuman(owner)) + var/mob/living/carbon/human/human_owner = owner + var/uniform_compatible = FALSE + var/suit_compatible = FALSE + if(!(human_owner.w_uniform) || (human_owner.w_uniform.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) //Checks uniform compatibility + uniform_compatible = TRUE + if((!human_owner.wear_suit) || (human_owner.wear_suit.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON)) || !(human_owner.wear_suit.body_parts_covered & LEGS)) //Checks suit compatability + suit_compatible = TRUE + + if((uniform_compatible && suit_compatible) || (suit_compatible && human_owner.wear_suit?.flags_inv & HIDEJUMPSUIT)) //If the uniform is hidden, it doesnt matter if its compatible + limb_id = "digitigrade" + + else + limb_id = "lizard" + +/obj/item/bodypart/r_leg/digitigrade + icon_greyscale = 'icons/mob/species/lizard/bodyparts.dmi' + uses_mutcolor = TRUE + limb_id = "digitigrade" + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + +/obj/item/bodypart/r_leg/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + if(ishuman(owner)) + var/mob/living/carbon/human/human_owner = owner + var/uniform_compatible = FALSE + var/suit_compatible = FALSE + if(!(human_owner.w_uniform) || (human_owner.w_uniform.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) //Checks uniform compatibility + uniform_compatible = TRUE + if((!human_owner.wear_suit) || (human_owner.wear_suit.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON)) || !(human_owner.wear_suit.body_parts_covered & LEGS)) //Checks suit compatability + suit_compatible = TRUE + + if((uniform_compatible && suit_compatible) || (suit_compatible && human_owner.wear_suit?.flags_inv & HIDEJUMPSUIT)) //If the uniform is hidden, it doesnt matter if its compatible + limb_id = "digitigrade" + + else + limb_id = "lizard" +*/ diff --git a/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm new file mode 100644 index 00000000000..247706becd1 --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/misc_bodyparts.dm @@ -0,0 +1,422 @@ +///SNAIL +/obj/item/bodypart/head/snail + limb_id = SPECIES_SNAIL + is_dimorphic = FALSE + +/obj/item/bodypart/chest/snail + limb_id = SPECIES_SNAIL + is_dimorphic = FALSE + +/obj/item/bodypart/l_arm/snail + limb_id = SPECIES_SNAIL + +/obj/item/bodypart/r_arm/snail + limb_id = SPECIES_SNAIL + +/obj/item/bodypart/l_leg/snail + limb_id = SPECIES_SNAIL + +/obj/item/bodypart/r_leg/snail + limb_id = SPECIES_SNAIL + +///ABDUCTOR +/obj/item/bodypart/head/abductor + limb_id = SPECIES_ABDUCTOR + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/abductor + limb_id = SPECIES_ABDUCTOR + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/abductor + limb_id = SPECIES_ABDUCTOR + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/abductor + limb_id = SPECIES_ABDUCTOR + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/abductor + limb_id = SPECIES_ABDUCTOR + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/abductor + limb_id = SPECIES_ABDUCTOR + should_draw_greyscale = FALSE + +///JELLY +/obj/item/bodypart/head/jelly + limb_id = SPECIES_JELLYPERSON + is_dimorphic = TRUE + +/obj/item/bodypart/chest/jelly + limb_id = SPECIES_JELLYPERSON + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/jelly + limb_id = SPECIES_JELLYPERSON + +/obj/item/bodypart/r_arm/jelly + limb_id = SPECIES_JELLYPERSON + +/obj/item/bodypart/l_leg/jelly + limb_id = SPECIES_JELLYPERSON + +/obj/item/bodypart/r_leg/jelly + limb_id = SPECIES_JELLYPERSON + +///SLIME +/obj/item/bodypart/head/slime + limb_id = SPECIES_SLIMEPERSON + is_dimorphic = FALSE + +/obj/item/bodypart/chest/slime + limb_id = SPECIES_SLIMEPERSON + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/slime + limb_id = SPECIES_SLIMEPERSON + +/obj/item/bodypart/r_arm/slime + limb_id = SPECIES_SLIMEPERSON + +/obj/item/bodypart/l_leg/slime + limb_id = SPECIES_SLIMEPERSON + +/obj/item/bodypart/r_leg/slime + limb_id = SPECIES_SLIMEPERSON + +///ZOMBIE +/obj/item/bodypart/head/zombie + limb_id = SPECIES_ZOMBIE + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/zombie + limb_id = SPECIES_ZOMBIE + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/zombie + limb_id = SPECIES_ZOMBIE + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/zombie + limb_id = SPECIES_ZOMBIE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/zombie + limb_id = SPECIES_ZOMBIE + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/zombie + limb_id = SPECIES_ZOMBIE + should_draw_greyscale = FALSE + +///PODPEOPLE +/obj/item/bodypart/head/pod + limb_id = SPECIES_PODPERSON + is_dimorphic = TRUE + +/obj/item/bodypart/chest/pod + limb_id = SPECIES_PODPERSON + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/pod + limb_id = SPECIES_PODPERSON + +/obj/item/bodypart/r_arm/pod + limb_id = SPECIES_PODPERSON + +/obj/item/bodypart/l_leg/pod + limb_id = SPECIES_PODPERSON + +/obj/item/bodypart/r_leg/pod + limb_id = SPECIES_PODPERSON + +///FLY +/obj/item/bodypart/head/fly + limb_id = SPECIES_FLYPERSON + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/fly + limb_id = SPECIES_FLYPERSON + is_dimorphic = TRUE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/fly + limb_id = SPECIES_FLYPERSON + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/fly + limb_id = SPECIES_FLYPERSON + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/fly + limb_id = SPECIES_FLYPERSON + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/fly + limb_id = SPECIES_FLYPERSON + should_draw_greyscale = FALSE + +///SHADOW +/obj/item/bodypart/head/shadow + limb_id = SPECIES_SHADOW + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/shadow + limb_id = SPECIES_SHADOW + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/shadow + limb_id = SPECIES_SHADOW + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/shadow + limb_id = SPECIES_SHADOW + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/shadow + limb_id = SPECIES_SHADOW + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/shadow + limb_id = SPECIES_SHADOW + should_draw_greyscale = FALSE + +///SKELETON +/obj/item/bodypart/head/skeleton + limb_id = SPECIES_SKELETON + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/skeleton + limb_id = SPECIES_SKELETON + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/skeleton + limb_id = SPECIES_SKELETON + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/skeleton + limb_id = SPECIES_SKELETON + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/skeleton + limb_id = SPECIES_SKELETON + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/skeleton + limb_id = SPECIES_SKELETON + should_draw_greyscale = FALSE + +///MUSHROOM +/obj/item/bodypart/head/mushroom + limb_id = SPECIES_MUSHROOM + is_dimorphic = TRUE + +/obj/item/bodypart/chest/mushroom + limb_id = SPECIES_MUSHROOM + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/mushroom + limb_id = SPECIES_MUSHROOM + +/obj/item/bodypart/r_arm/mushroom + limb_id = SPECIES_MUSHROOM + +/obj/item/bodypart/l_leg/mushroom + limb_id = SPECIES_MUSHROOM + +/obj/item/bodypart/r_leg/mushroom + limb_id = SPECIES_MUSHROOM + +///GOLEMS (i hate xenobio SO FUCKING MUCH) +/obj/item/bodypart/head/golem + limb_id = SPECIES_GOLEM + is_dimorphic = FALSE + +/obj/item/bodypart/chest/golem + limb_id = SPECIES_GOLEM + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/golem + limb_id = SPECIES_GOLEM + +/obj/item/bodypart/r_arm/golem + limb_id = SPECIES_GOLEM + +/obj/item/bodypart/l_leg/golem + limb_id = SPECIES_GOLEM + +/obj/item/bodypart/r_leg/golem + limb_id = SPECIES_GOLEM + +/// +/obj/item/bodypart/head/golem/cult + limb_id = SPECIES_GOLEM_CULT + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/golem/cult + limb_id = SPECIES_GOLEM_CULT + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/golem/cult + limb_id = SPECIES_GOLEM_CULT + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/golem/cult + limb_id = SPECIES_GOLEM_CULT + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/golem/cult + limb_id = SPECIES_GOLEM_CULT + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/golem/cult + limb_id = SPECIES_GOLEM_CULT + should_draw_greyscale = FALSE + +/// +/obj/item/bodypart/head/golem/cloth + limb_id = SPECIES_GOLEM_CLOTH + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/golem/cloth + limb_id = SPECIES_GOLEM_CLOTH + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/golem/cloth + limb_id = SPECIES_GOLEM_CLOTH + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/golem/cloth + limb_id = SPECIES_GOLEM_CLOTH + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/golem/cloth + limb_id = SPECIES_GOLEM_CLOTH + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/golem/cloth + limb_id = SPECIES_GOLEM_CLOTH + should_draw_greyscale = FALSE + +/// +/obj/item/bodypart/head/golem/cardboard + limb_id = SPECIES_GOLEM_CARDBOARD + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/golem/cardboard + limb_id = SPECIES_GOLEM_CARDBOARD + is_dimorphic = TRUE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/golem/cardboard + limb_id = SPECIES_GOLEM_CARDBOARD + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/golem/cardboard + limb_id = SPECIES_GOLEM_CARDBOARD + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/golem/cardboard + limb_id = SPECIES_GOLEM_CARDBOARD + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/golem/cardboard + limb_id = SPECIES_GOLEM_CARDBOARD + should_draw_greyscale = FALSE + +/// +/obj/item/bodypart/head/golem/durathread + limb_id = SPECIES_GOLEM_DURATHREAD + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/golem/durathread + limb_id = SPECIES_GOLEM_DURATHREAD + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/golem/durathread + limb_id = SPECIES_GOLEM_DURATHREAD + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/golem/durathread + limb_id = SPECIES_GOLEM_DURATHREAD + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/golem/durathread + limb_id = SPECIES_GOLEM_DURATHREAD + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/golem/durathread + limb_id = SPECIES_GOLEM_DURATHREAD + should_draw_greyscale = FALSE + +/// +/obj/item/bodypart/head/golem/bone + limb_id = SPECIES_GOLEM_BONE + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/golem/bone + limb_id = SPECIES_GOLEM_BONE + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/golem/bone + limb_id = SPECIES_GOLEM_BONE + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/golem/bone + limb_id = SPECIES_GOLEM_BONE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/golem/bone + limb_id = SPECIES_GOLEM_BONE + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/golem/bone + limb_id = SPECIES_GOLEM_BONE + should_draw_greyscale = FALSE + +/// +/obj/item/bodypart/head/golem/snow + limb_id = SPECIES_GOLEM_SNOW + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/golem/snow + limb_id = SPECIES_GOLEM_SNOW + is_dimorphic = TRUE //WHO MADE SNOW BREASTS? + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/golem/snow + limb_id = SPECIES_GOLEM_SNOW + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/golem/snow + limb_id = SPECIES_GOLEM_SNOW + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/golem/snow + limb_id = SPECIES_GOLEM_SNOW + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/golem/snow + limb_id = SPECIES_GOLEM_SNOW + should_draw_greyscale = FALSE diff --git a/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm new file mode 100644 index 00000000000..6093405da1b --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/moth_bodyparts.dm @@ -0,0 +1,45 @@ +/obj/item/bodypart/head/moth + icon = 'icons/mob/species/moth/bodyparts.dmi' + icon_state = "moth_head" + icon_static = 'icons/mob/species/moth/bodyparts.dmi' + limb_id = SPECIES_MOTH + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/moth + icon = 'icons/mob/species/moth/bodyparts.dmi' + icon_state = "moth_chest_m" + icon_static = 'icons/mob/species/moth/bodyparts.dmi' + limb_id = SPECIES_MOTH + is_dimorphic = TRUE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/moth + icon = 'icons/mob/species/moth/bodyparts.dmi' + icon_state = "moth_l_arm" + icon_static = 'icons/mob/species/moth/bodyparts.dmi' + limb_id = SPECIES_MOTH + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/moth + icon = 'icons/mob/species/moth/bodyparts.dmi' + icon_state = "moth_l_leg" + icon = 'icons/mob/species/moth/bodyparts.dmi' + icon_state = "moth_r_arm" + icon_static = 'icons/mob/species/moth/bodyparts.dmi' + limb_id = SPECIES_MOTH + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/moth + icon = 'icons/mob/species/moth/bodyparts.dmi' + icon_state = "moth_l_leg" + icon_static = 'icons/mob/species/moth/bodyparts.dmi' + limb_id = SPECIES_MOTH + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/moth + icon = 'icons/mob/species/moth/bodyparts.dmi' + icon_state = "moth_r_leg" + icon_static = 'icons/mob/species/moth/bodyparts.dmi' + limb_id = SPECIES_MOTH + should_draw_greyscale = FALSE diff --git a/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm new file mode 100644 index 00000000000..1b7179b6c0a --- /dev/null +++ b/code/modules/surgery/bodyparts/species_parts/plasmaman_bodyparts.dm @@ -0,0 +1,43 @@ +/obj/item/bodypart/head/plasmaman + icon = 'icons/mob/species/plasmaman/bodyparts.dmi' + icon_state = "plasmaman_head" + icon_static = 'icons/mob/species/plasmaman/bodyparts.dmi' + limb_id = SPECIES_PLASMAMAN + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/chest/plasmaman + icon = 'icons/mob/species/plasmaman/bodyparts.dmi' + icon_state = "plasmaman_chest" + icon_static = 'icons/mob/species/plasmaman/bodyparts.dmi' + limb_id = SPECIES_PLASMAMAN + is_dimorphic = FALSE + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_arm/plasmaman + icon = 'icons/mob/species/plasmaman/bodyparts.dmi' + icon_state = "plasmaman_l_arm" + icon_static = 'icons/mob/species/plasmaman/bodyparts.dmi' + limb_id = SPECIES_PLASMAMAN + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_arm/plasmaman + icon = 'icons/mob/species/plasmaman/bodyparts.dmi' + icon_state = "plasmaman_r_arm" + icon_static = 'icons/mob/species/plasmaman/bodyparts.dmi' + limb_id = SPECIES_PLASMAMAN + should_draw_greyscale = FALSE + +/obj/item/bodypart/l_leg/plasmaman + icon = 'icons/mob/species/plasmaman/bodyparts.dmi' + icon_state = "plasmaman_l_leg" + icon_static = 'icons/mob/species/plasmaman/bodyparts.dmi' + limb_id = SPECIES_PLASMAMAN + should_draw_greyscale = FALSE + +/obj/item/bodypart/r_leg/plasmaman + icon = 'icons/mob/species/plasmaman/bodyparts.dmi' + icon_state = "plasmaman_r_leg" + icon_static = 'icons/mob/species/plasmaman/bodyparts.dmi' + limb_id = SPECIES_PLASMAMAN + should_draw_greyscale = FALSE diff --git a/code/modules/surgery/bodyparts/wounds.dm b/code/modules/surgery/bodyparts/wounds.dm new file mode 100644 index 00000000000..be4d5072316 --- /dev/null +++ b/code/modules/surgery/bodyparts/wounds.dm @@ -0,0 +1,209 @@ +/// Allows us to roll for and apply a wound without actually dealing damage. Used for aggregate wounding power with pellet clouds +/obj/item/bodypart/proc/painless_wound_roll(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus, sharpness=NONE) + SHOULD_CALL_PARENT(TRUE) + + if(!owner || phantom_wounding_dmg <= WOUND_MINIMUM_DAMAGE || wound_bonus == CANT_WOUND) + return + + var/mangled_state = get_mangled_state() + var/bio_state = owner.get_biological_state() + var/easy_dismember = HAS_TRAIT(owner, TRAIT_EASYDISMEMBER) // if we have easydismember, we don't reduce damage when redirecting damage to different types (slashing weapons on mangled/skinless limbs attack at 100% instead of 50%) + + if(wounding_type == WOUND_BLUNT && sharpness) + if(sharpness & SHARP_EDGED) + wounding_type = WOUND_SLASH + else if (sharpness & SHARP_POINTY) + wounding_type = WOUND_PIERCE + + //Handling for bone only/flesh only(none right now)/flesh and bone targets + switch(bio_state) + // if we're bone only, all cutting attacks go straight to the bone + if(BIO_JUST_BONE) + if(wounding_type == WOUND_SLASH) + wounding_type = WOUND_BLUNT + phantom_wounding_dmg *= (easy_dismember ? 1 : 0.6) + else if(wounding_type == WOUND_PIERCE) + wounding_type = WOUND_BLUNT + phantom_wounding_dmg *= (easy_dismember ? 1 : 0.75) + if((mangled_state & BODYPART_MANGLED_BONE) && try_dismember(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus)) + return + // note that there's no handling for BIO_JUST_FLESH since we don't have any that are that right now (slimepeople maybe someday) + // standard humanoids + if(BIO_FLESH_BONE) + // if we've already mangled the skin (critical slash or piercing wound), then the bone is exposed, and we can damage it with sharp weapons at a reduced rate + // So a big sharp weapon is still all you need to destroy a limb + if(mangled_state == BODYPART_MANGLED_FLESH && sharpness) + playsound(src, "sound/effects/wounds/crackandbleed.ogg", 100) + if(wounding_type == WOUND_SLASH && !easy_dismember) + phantom_wounding_dmg *= 0.6 // edged weapons pass along 60% of their wounding damage to the bone since the power is spread out over a larger area + if(wounding_type == WOUND_PIERCE && !easy_dismember) + phantom_wounding_dmg *= 0.75 // piercing weapons pass along 75% of their wounding damage to the bone since it's more concentrated + wounding_type = WOUND_BLUNT + else if(mangled_state == BODYPART_MANGLED_BOTH && try_dismember(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus)) + return + + check_wounding(wounding_type, phantom_wounding_dmg, wound_bonus, bare_wound_bonus) + +/** + * check_wounding() is where we handle rolling for, selecting, and applying a wound if we meet the criteria + * + * We generate a "score" for how woundable the attack was based on the damage and other factors discussed in [/obj/item/bodypart/proc/check_woundings_mods], then go down the list from most severe to least severe wounds in that category. + * We can promote a wound from a lesser to a higher severity this way, but we give up if we have a wound of the given type and fail to roll a higher severity, so no sidegrades/downgrades + * + * Arguments: + * * woundtype- Either WOUND_BLUNT, WOUND_SLASH, WOUND_PIERCE, or WOUND_BURN based on the attack type. + * * damage- How much damage is tied to this attack, since wounding potential scales with damage in an attack (see: WOUND_DAMAGE_EXPONENT) + * * wound_bonus- The wound_bonus of an attack + * * bare_wound_bonus- The bare_wound_bonus of an attack + */ +/obj/item/bodypart/proc/check_wounding(woundtype, damage, wound_bonus, bare_wound_bonus, attack_direction) + SHOULD_CALL_PARENT(TRUE) + RETURN_TYPE(/datum/wound) + + if(HAS_TRAIT(owner, TRAIT_NEVER_WOUNDED)) + return + + // note that these are fed into an exponent, so these are magnified + if(HAS_TRAIT(owner, TRAIT_EASILY_WOUNDED)) + damage *= 1.5 + else + damage = min(damage, WOUND_MAX_CONSIDERED_DAMAGE) + + if(HAS_TRAIT(owner,TRAIT_HARDLY_WOUNDED)) + damage *= 0.85 + + if(HAS_TRAIT(owner, TRAIT_EASYDISMEMBER)) + damage *= 1.1 + + var/base_roll = rand(1, round(damage ** WOUND_DAMAGE_EXPONENT)) + var/injury_roll = base_roll + injury_roll += check_woundings_mods(woundtype, damage, wound_bonus, bare_wound_bonus) + var/list/wounds_checking = GLOB.global_wound_types[woundtype] + + if(injury_roll > WOUND_DISMEMBER_OUTRIGHT_THRESH && prob(get_damage() / max_damage * 100)) + var/datum/wound/loss/dismembering = new + dismembering.apply_dismember(src, woundtype, outright = TRUE, attack_direction = attack_direction) + return + + // quick re-check to see if bare_wound_bonus applies, for the benefit of log_wound(), see about getting the check from check_woundings_mods() somehow + if(ishuman(owner)) + var/mob/living/carbon/human/human_wearer = owner + var/list/clothing = human_wearer.clothingonpart(src) + for(var/obj/item/clothing/clothes_check as anything in clothing) + // unlike normal armor checks, we tabluate these piece-by-piece manually so we can also pass on appropriate damage the clothing's limbs if necessary + if(clothes_check.armor.getRating(WOUND)) + bare_wound_bonus = 0 + break + + //cycle through the wounds of the relevant category from the most severe down + for(var/datum/wound/possible_wound as anything in wounds_checking) + var/datum/wound/replaced_wound + for(var/datum/wound/existing_wound as anything in wounds) + if(existing_wound.type in wounds_checking) + if(existing_wound.severity >= initial(possible_wound.severity)) + return + else + replaced_wound = existing_wound + + if(initial(possible_wound.threshold_minimum) < injury_roll) + var/datum/wound/new_wound + if(replaced_wound) + new_wound = replaced_wound.replace_wound(possible_wound, attack_direction = attack_direction) + else + new_wound = new possible_wound + new_wound.apply_wound(src, attack_direction = attack_direction) + log_wound(owner, new_wound, damage, wound_bonus, bare_wound_bonus, base_roll) // dismembering wounds are logged in the apply_wound() for loss wounds since they delete themselves immediately, these will be immediately returned + return new_wound + +// try forcing a specific wound, but only if there isn't already a wound of that severity or greater for that type on this bodypart +/obj/item/bodypart/proc/force_wound_upwards(specific_woundtype, smited = FALSE) + SHOULD_NOT_OVERRIDE(TRUE) + + var/datum/wound/potential_wound = specific_woundtype + for(var/datum/wound/existing_wound as anything in wounds) + if(existing_wound.wound_type == initial(potential_wound.wound_type)) + if(existing_wound.severity < initial(potential_wound.severity)) // we only try if the existing one is inferior to the one we're trying to force + existing_wound.replace_wound(potential_wound, smited) + return + + var/datum/wound/new_wound = new potential_wound + new_wound.apply_wound(src, smited = smited) + +/** + * check_wounding_mods() is where we handle the various modifiers of a wound roll + * + * A short list of things we consider: any armor a human target may be wearing, and if they have no wound armor on the limb, if we have a bare_wound_bonus to apply, plus the plain wound_bonus + * We also flick through all of the wounds we currently have on this limb and add their threshold penalties, so that having lots of bad wounds makes you more liable to get hurt worse + * Lastly, we add the inherent wound_resistance variable the bodypart has (heads and chests are slightly harder to wound), and a small bonus if the limb is already disabled + * + * Arguments: + * * It's the same ones on [/obj/item/bodypart/proc/receive_damage] + */ +/obj/item/bodypart/proc/check_woundings_mods(wounding_type, damage, wound_bonus, bare_wound_bonus) + SHOULD_CALL_PARENT(TRUE) + + var/armor_ablation = 0 + var/injury_mod = 0 + + if(owner && ishuman(owner)) + var/mob/living/carbon/human/human_owner = owner + var/list/clothing = human_owner.clothingonpart(src) + for(var/obj/item/clothing/clothes as anything in clothing) + // unlike normal armor checks, we tabluate these piece-by-piece manually so we can also pass on appropriate damage the clothing's limbs if necessary + armor_ablation += clothes.armor.getRating(WOUND) + if(wounding_type == WOUND_SLASH) + clothes.take_damage_zone(body_zone, damage, BRUTE) + else if(wounding_type == WOUND_BURN && damage >= 10) // lazy way to block freezing from shredding clothes without adding another var onto apply_damage() + clothes.take_damage_zone(body_zone, damage, BURN) + + if(!armor_ablation) + injury_mod += bare_wound_bonus + + injury_mod -= armor_ablation + injury_mod += wound_bonus + + for(var/datum/wound/wound as anything in wounds) + injury_mod += wound.threshold_penalty + + var/part_mod = -wound_resistance + if(get_damage(TRUE) >= max_damage) + part_mod += disabled_wound_penalty + + injury_mod += part_mod + + return injury_mod + + /// Get whatever wound of the given type is currently attached to this limb, if any +/obj/item/bodypart/proc/get_wound_type(checking_type) + RETURN_TYPE(checking_type) + SHOULD_NOT_OVERRIDE(TRUE) + + if(isnull(wounds)) + return + + for(var/wound in wounds) + if(istype(wound, checking_type)) + return wound + +/** + * update_wounds() is called whenever a wound is gained or lost on this bodypart, as well as if there's a change of some kind on a bone wound possibly changing disabled status + * + * Covers tabulating the damage multipliers we have from wounds (burn specifically), as well as deleting our gauze wrapping if we don't have any wounds that can use bandaging + * + * Arguments: + * * replaced- If true, this is being called from the remove_wound() of a wound that's being replaced, so the bandage that already existed is still relevant, but the new wound hasn't been added yet + */ +/obj/item/bodypart/proc/update_wounds(replaced = FALSE) + SHOULD_CALL_PARENT(TRUE) + + var/dam_mul = 1 //initial(wound_damage_multiplier) + + // we can (normally) only have one wound per type, but remember there's multiple types (smites like :B:loodless can generate multiple cuts on a limb) + for(var/datum/wound/iter_wound as anything in wounds) + dam_mul *= iter_wound.damage_mulitplier_penalty + + if(!LAZYLEN(wounds) && current_gauze && !replaced) // no more wounds = no need for the gauze anymore + owner.visible_message(span_notice("\The [current_gauze.name] on [owner]'s [name] falls away."), span_notice("The [current_gauze.name] on your [parse_zone(body_zone)] falls away.")) + QDEL_NULL(current_gauze) + + wound_damage_multiplier = dam_mul diff --git a/code/modules/surgery/healing.dm b/code/modules/surgery/healing.dm index 48c1d8e7f1c..8877b186e34 100644 --- a/code/modules/surgery/healing.dm +++ b/code/modules/surgery/healing.dm @@ -9,7 +9,6 @@ target_mobtypes = list(/mob/living) possible_locs = list(BODY_ZONE_CHEST) - requires_bodypart_type = BODYPART_ORGANIC //SKYRAT EDIT CHANGE - ORIGINAL VALUE: requires_bodypart_type = FALSE replaced_by = /datum/surgery ignore_clothes = TRUE var/healing_step_type diff --git a/code/modules/surgery/implant_removal.dm b/code/modules/surgery/implant_removal.dm index e202820df2e..f0860fac8f6 100644 --- a/code/modules/surgery/implant_removal.dm +++ b/code/modules/surgery/implant_removal.dm @@ -65,7 +65,7 @@ /datum/surgery/implant_removal/mechanic name = "implant removal" - requires_bodypart_type = BODYPART_ROBOTIC + requires_bodypart_type = BODYTYPE_ROBOTIC steps = list( /datum/surgery_step/mechanic_open, /datum/surgery_step/open_hatch, diff --git a/code/modules/surgery/limb_augmentation.dm b/code/modules/surgery/limb_augmentation.dm index 2348e8f920d..cfd3e471c47 100644 --- a/code/modules/surgery/limb_augmentation.dm +++ b/code/modules/surgery/limb_augmentation.dm @@ -20,7 +20,7 @@ if(istype(tool, /obj/item/borg/apparatus/organ_storage) && istype(tool.contents[1], /obj/item/bodypart)) tool = tool.contents[1] var/obj/item/bodypart/aug = tool - if(aug.status != BODYPART_ROBOTIC) + if(IS_ORGANIC_LIMB(aug)) to_chat(user, span_warning("That's not an augment, silly!")) return -1 if(aug.body_zone != target_zone) @@ -59,7 +59,12 @@ tool.cut_overlays() tool = tool.contents[1] if(istype(tool) && user.temporarilyRemoveItemFromInventory(tool)) - tool.replace_limb(target, TRUE) + if(!tool.replace_limb(target)) + display_results(user, target, span_warning("You fail in replacing [target]'s [parse_zone(target_zone)]! Their body has rejected [tool]!"), + span_warning("[user] fails to replace [target]'s [parse_zone(target_zone)]!"), + span_warning("[user] fails to replaces [target]'s [parse_zone(target_zone)]!")) + tool.forceMove(target.loc) + return display_results(user, target, span_notice("You successfully augment [target]'s [parse_zone(target_zone)]."), span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)] with [tool]!"), span_notice("[user] successfully augments [target]'s [parse_zone(target_zone)]!")) diff --git a/code/modules/surgery/organ_manipulation.dm b/code/modules/surgery/organ_manipulation.dm index 1921bf6dff3..676c8c74012 100644 --- a/code/modules/surgery/organ_manipulation.dm +++ b/code/modules/surgery/organ_manipulation.dm @@ -37,7 +37,7 @@ /datum/surgery/organ_manipulation/mechanic name = "Prosthesis organ manipulation" possible_locs = list(BODY_ZONE_CHEST, BODY_ZONE_HEAD) - requires_bodypart_type = BODYPART_ROBOTIC + requires_bodypart_type = BODYTYPE_ROBOTIC lying_required = FALSE self_operable = TRUE steps = list( diff --git a/code/modules/surgery/organs/external/_external_organs.dm b/code/modules/surgery/organs/external/_external_organs.dm index d285157d2ee..b3306a4aa8f 100644 --- a/code/modules/surgery/organs/external/_external_organs.dm +++ b/code/modules/surgery/organs/external/_external_organs.dm @@ -33,6 +33,9 @@ ///Reference to the limb we're inside of var/obj/item/bodypart/ownerlimb + ///Does this organ use it's own color instead of bodypart/var/draw_color? + var/overrides_color = FALSE + /**mob_sprite is optional if you havent set sprite_datums for the object, and is used mostly to generate sprite_datums from a persons DNA * For _mob_sprite we make a distinction between "Round Snout" and "round". Round Snout is the name of the sprite datum, while "round" would be part of the sprite * I'm sorry @@ -80,11 +83,11 @@ bodypart.contents.Add(src) ///Add the overlays we need to draw on a person. Called from _bodyparts.dm -/obj/item/organ/external/proc/get_overlays(list/overlay_list, image_dir, image_layer, body_type, image_color) +/obj/item/organ/external/proc/get_overlays(list/overlay_list, image_dir, image_layer, physique, image_color) if(!sprite_datum) return - var/gender = (body_type == FEMALE) ? "f" : "m" + var/gender = (physique == FEMALE) ? "f" : "m" var/finished_icon_state = (sprite_datum.gender_specific ? gender : "m") + "_" + feature_key + "_" + sprite_datum.icon_state + mutant_bodyparts_layertext(image_layer) var/mutable_appearance/appearance = mutable_appearance(sprite_datum.icon, finished_icon_state, layer = -image_layer) appearance.dir = image_dir @@ -157,6 +160,10 @@ set_sprite(feature_list[deconstruct_block(get_uni_feature_block(features, dna_block), feature_list.len)]) +///Colorizes the limb it's inserted to, if required. +/obj/item/organ/external/proc/override_color(rgb_value) + return + ///The horns of a lizard! /obj/item/organ/external/horns name = "horns" @@ -278,6 +285,8 @@ dna_block = DNA_POD_HAIR_BLOCK + overrides_color = TRUE + /obj/item/organ/external/pod_hair/can_draw_on_bodypart(mob/living/carbon/human/human) if(!(human.head?.flags_inv & HIDEHAIR) || (human.wear_mask?.flags_inv & HIDEHAIR)) return TRUE @@ -285,3 +294,7 @@ /obj/item/organ/external/pod_hair/get_global_feature_list() return GLOB.pod_hair_list + +/obj/item/organ/external/pod_hair/override_color(rgb_value) + var/list/rgb_list = rgb2num(rgb_value) + return rgb(255 - rgb_list[1], 255 - rgb_list[2], 255 - rgb_list[3]) diff --git a/code/modules/surgery/organs/heart.dm b/code/modules/surgery/organs/heart.dm index ef98d9c876a..3b71ac866b2 100644 --- a/code/modules/surgery/organs/heart.dm +++ b/code/modules/surgery/organs/heart.dm @@ -250,7 +250,7 @@ if(owner.health < 5 && COOLDOWN_FINISHED(src, adrenaline_cooldown)) COOLDOWN_START(src, adrenaline_cooldown, rand(25 SECONDS, 1 MINUTES)) to_chat(owner, span_userdanger("You feel yourself dying, but you refuse to give up!")) - owner.heal_overall_damage(15, 15, 0, BODYPART_ORGANIC) + owner.heal_overall_damage(15, 15, 0, BODYTYPE_ORGANIC) if(owner.reagents.get_reagent_amount(/datum/reagent/medicine/ephedrine) < 20) owner.reagents.add_reagent(/datum/reagent/medicine/ephedrine, 10) diff --git a/code/modules/surgery/prosthetic_replacement.dm b/code/modules/surgery/prosthetic_replacement.dm index a26c586541e..fb0f462d010 100644 --- a/code/modules/surgery/prosthetic_replacement.dm +++ b/code/modules/surgery/prosthetic_replacement.dm @@ -42,14 +42,15 @@ tool = organ_storage_contents if(istype(tool, /obj/item/bodypart)) var/obj/item/bodypart/bodypart_to_attach = tool - if(bodypart_to_attach.status != BODYPART_ROBOTIC) + if(IS_ORGANIC_LIMB(bodypart_to_attach)) organ_rejection_dam = 10 if(ishuman(target)) var/mob/living/carbon/human/human_target = target - if(!(bodypart_to_attach.part_origin & human_target.dna.species.allowed_animal_origin)) + var/obj/item/bodypart/chest/target_chest = human_target.get_bodypart(BODY_ZONE_CHEST) + if(!(bodypart_to_attach.bodytype & target_chest.acceptable_bodytype)) to_chat(user, span_warning("[bodypart_to_attach] doesn't match the patient's morphology.")) return -1 - if(human_target.dna.species.id != bodypart_to_attach.species_id) + if(human_target.dna.species.id != bodypart_to_attach.limb_id) organ_rejection_dam = 30 if(target_zone == bodypart_to_attach.body_zone) //so we can't replace a leg with an arm, or a human arm with a monkey arm. diff --git a/code/modules/surgery/surgery.dm b/code/modules/surgery/surgery.dm index eaec3c8b652..ca778dab316 100644 --- a/code/modules/surgery/surgery.dm +++ b/code/modules/surgery/surgery.dm @@ -7,7 +7,7 @@ var/can_cancel = TRUE //Can cancel this surgery after step 1 with cautery var/list/target_mobtypes = list(/mob/living/carbon/human) //Acceptable Species var/location = BODY_ZONE_CHEST //Surgery location - var/requires_bodypart_type = BODYPART_ORGANIC //Prevents you from performing an operation on incorrect limbs. 0 for any limb type + var/requires_bodypart_type = BODYTYPE_ORGANIC //Prevents you from performing an operation on incorrect limbs. 0 for any limb type var/list/possible_locs = list() //Multiple locations var/ignore_clothes = FALSE //This surgery ignores clothes var/mob/living/carbon/target //Operation target mob diff --git a/code/modules/unit_tests/create_and_destroy.dm b/code/modules/unit_tests/create_and_destroy.dm index f037406dbfe..e8f61fbcd83 100644 --- a/code/modules/unit_tests/create_and_destroy.dm +++ b/code/modules/unit_tests/create_and_destroy.dm @@ -25,6 +25,8 @@ /mob/dview, //Requires a circuit url /obj/effect/mapping_helpers/circuit_spawner, + //Template type + /obj/item/bodypart, ) //Say it with me now, type template ignore += typesof(/obj/effect/mapping_helpers/atom_injector) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index f46a2844ac0..5375454e026 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -601,7 +601,7 @@ GLOBAL_LIST_EMPTY(vending_products) if(5) // limb squish! for(var/i in C.bodyparts) var/obj/item/bodypart/squish_part = i - if(squish_part.is_organic_limb()) + if(IS_ORGANIC_LIMB(squish_part)) var/type_wound = pick(list(/datum/wound/blunt/critical, /datum/wound/blunt/severe, /datum/wound/blunt/moderate)) squish_part.force_wound_upwards(type_wound) else diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm index 42cec530da3..ac629053477 100644 --- a/code/modules/zombie/organs.dm +++ b/code/modules/zombie/organs.dm @@ -4,7 +4,6 @@ zone = BODY_ZONE_HEAD slot = ORGAN_SLOT_ZOMBIE icon_state = "blacktumor" - visual = FALSE var/causes_damage = TRUE var/datum/species/old_species = /datum/species/human var/living_transformation_time = 30 @@ -31,7 +30,7 @@ /obj/item/organ/zombie_infection/Remove(mob/living/carbon/M, special = 0) . = ..() STOP_PROCESSING(SSobj, src) - if(iszombie(M) && old_species && !QDELETED(M)) + if(iszombie(M) && old_species && !special && !QDELETED(src)) M.set_species(old_species) if(timer_id) deltimer(timer_id) @@ -41,7 +40,7 @@ web of pus and viscera, bound tightly around the brain like some \ biological harness.") -/obj/item/organ/zombie_infection/process(delta_time) +/obj/item/organ/zombie_infection/process(delta_time, times_fired) if(!owner) return if(!(src in owner.internal_organs)) @@ -50,7 +49,7 @@ return if (causes_damage && !iszombie(owner) && owner.stat != DEAD) owner.adjustToxLoss(0.5 * delta_time) - if(DT_PROB(5, delta_time)) + if (DT_PROB(5, delta_time)) to_chat(owner, span_danger("You feel sick...")) if(timer_id) return @@ -66,9 +65,9 @@ not even death can stop, you will rise again!") var/revive_time = rand(revive_time_min, revive_time_max) var/flags = TIMER_STOPPABLE - timer_id = addtimer(CALLBACK(src, .proc/zombify), revive_time, flags) + timer_id = addtimer(CALLBACK(src, .proc/zombify, owner), revive_time, flags) -/obj/item/organ/zombie_infection/proc/zombify() +/obj/item/organ/zombie_infection/proc/zombify(mob/living/carbon/target) timer_id = null if(!converts_living && owner.stat != DEAD) @@ -76,24 +75,24 @@ if(!iszombie(owner)) old_species = owner.dna.species.type - owner.set_species(/datum/species/zombie/infectious) + target.set_species(/datum/species/zombie/infectious) - var/stand_up = (owner.stat == DEAD) || (owner.stat == UNCONSCIOUS) + var/stand_up = (target.stat == DEAD) || (target.stat == UNCONSCIOUS) //Fully heal the zombie's damage the first time they rise - owner.setToxLoss(0, 0) - owner.setOxyLoss(0, 0) - owner.heal_overall_damage(INFINITY, INFINITY, INFINITY, null, TRUE) + target.setToxLoss(0, 0) + target.setOxyLoss(0, 0) + target.heal_overall_damage(INFINITY, INFINITY, INFINITY, null, TRUE) - if(!owner.revive(full_heal = FALSE, admin_revive = FALSE)) + if(!target.revive()) return - owner.grab_ghost() - owner.visible_message(span_danger("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!"), span_alien("You HUNGER!")) - playsound(owner.loc, 'sound/hallucinations/far_noise.ogg', 50, TRUE) - owner.do_jitter_animation(living_transformation_time) - owner.Stun(living_transformation_time) - to_chat(owner, span_alertalien("You are now a zombie! Do not seek to be cured, do not help any non-zombies in any way, do not harm your zombie brethren and spread the disease by killing others. You are a creature of hunger and violence.")) + target.grab_ghost() + target.visible_message(span_danger("[owner] suddenly convulses, as [owner.p_they()][stand_up ? " stagger to [owner.p_their()] feet and" : ""] gain a ravenous hunger in [owner.p_their()] eyes!"), span_alien("You HUNGER!")) + playsound(target.loc, 'sound/hallucinations/far_noise.ogg', 50, 1) + target.do_jitter_animation(living_transformation_time) + target.Stun(living_transformation_time) + to_chat(target, span_alertalien("You are now a zombie! Do not seek to be cured, do not help any non-zombies in any way, do not harm your zombie brethren and spread the disease by killing others. You are a creature of hunger and violence.")) /obj/item/organ/zombie_infection/nodamage causes_damage = FALSE diff --git a/html/changelogs/archive/2021-12.yml b/html/changelogs/archive/2021-12.yml index 80519e52b3a..3bf2ee67696 100644 --- a/html/changelogs/archive/2021-12.yml +++ b/html/changelogs/archive/2021-12.yml @@ -233,7 +233,7 @@ - rscdel: The psychologist no longer has a spare skillchip on Blueshift. 2021-12-09: AtoriBirb: - - code_imp: Added mutant_variants = NONE to robes/cloak/mask for heretic + - code_imp: Added supports_variations_flags = NONE to robes/cloak/mask for heretic - code_imp: Adds two if statements to swap between mutant_variant = none and default. I would do an else but I dunno what other variables might hit it on accident. If it works, it works. diff --git a/icons/mob/augmentation/augments.dmi b/icons/mob/augmentation/augments.dmi index 4449da22d5863f31ef28f649ec71fbf999bb7c7f..21e55386d3a0d4a008e26c3254924b38d7c89bf8 100644 GIT binary patch delta 227 zcmV<90383}5ake%i+{~}R9JLGWpiV4X>fFDZ*Bkpc$}5f!4AS83;@tGdN-SFg$2)8zQG^K@{ovTaTu<}~d2cT7EVkdUo?kIVx-pM&R z>?x6;2I=03b;7|MW@uXDRL3QVKBJ^pXqU5;+)#|L#Kkw(Tvy;2tuaY!F2xkz3Z`+* zH4F*GQ*3}&5cQDH5U6F#9~ar deh=}LgE(hZQ~IC%0__MVH3F#+wzFLU1P9E9ZIJ)~ delta 223 zcmV<503iS65aAGzi+{;_R9JLGWpiV4X>fFDZ*Bkpc$}5f!3x4K3;@t``xRw73gXnO z7uk><+%J^Q#kJ6_kXHSDw|Ni;cG)d~*EAt*D$d2FtVDh-`4i9^*Nc-lZg-r$OcV5w z9QK@PFs%-s#0M2%2onveNjPf^`tb~BcT^pWarQ-4D(n^&l2eqGTJ_6UB8^#Tp(PZf zsG9~K7FF%Am9tT^2(@%NYcpPzOlM=o=fFDZ*Bkpc$}5e!3x753;@uxeucF6v2MHW zGFnOx>o16{nF_W-lYuc`7^}VA{KyTd4uIzF+Qt~n~=p{Ly zDA8b)4&THF5nu@mbb||K-g@3GiR9JLGWpiV4X>fFDZ*Bkpc$|&Wy$ZrG5CGsgd5X~PV%60} zTBL)0g%Hh|1kx5RL0{ii2Wf`nwmbOl53UxM?%EHcz4iPB7~DLGvpDVcoV}fnc1ey0 z&MY`%<1YzOMOebhg3=Xd+F@90ID4WRVU3$V@>1bgR7g@@S~fM6MA?`1QPjgi wh(&du(a7Y~CPO`)CTr%ql4){Qj&7e}D{IjW?f1n#=en@dCr}&gvq1si1+%zaCjbBd diff --git a/icons/mob/augmentation/augments_mining.dmi b/icons/mob/augmentation/augments_mining.dmi index 3942dc0c851277d46c74c388528d4e06b69d676f..39df4823fd1c02e254c3081ac7c6752b30245285 100644 GIT binary patch delta 1953 zcmV;S2VVHQ4%QEl7Yg7A0{{R3E%Tbwks&yL0RNCHD>YI8d4T}HnVFe~aTrrmQ>CS) zfPjF&z`!jnEpl>l-k9z+00001bW%=J06^y0W&i*HvwBombVOxyV{&P5bZKvH004NL zjncsigD?yR;B)&FMek#7yY4a+@i1SZbZcx2RUs|g>(A<~FwHH2FFz!t6pyCudQm@r zJN^L-Zl1(l+)iiCzD`HGG}jAf7M!thYeG~Jma?#*v>Xb~w8N05I2%xnkm@R9<011> z;ju!J^3tkF6T(Q$OAm$+Mp17IArh{!x#Q!$W;8N8UA04zPP4W5Q^|B)j7HPr{F9|< z`g;A^A9*#%;H>v4C;$KkaY;l$RCt_!?VXE~qB;!fvfBZ$9n_s~+wUz>5ndQy?GJ~;UI=j5@An5O!$X$6eEfY? zRbl{5T1v1A3G6GjLDHTZ{~-IPBb`pC@Gobt_H?Fw#o2dCYh!{B&K{f_qcxX*K=Jr= z4AHd_186A#S)-#5&K{j>V_E;DCN3G<<>4N>th;u zDNI)wUarq`Qb;)eah|?`Zf4&8ToC;U`(1U)l<1y1ZittSiovs3IQ=DRI61&(p_)>G^N000000000000000 z0I+e$OfC_%@-`3~+TeOZ;ETk)eVag$sE}N<C9$zet&WS8#2UK*rffcCHM!Prleb&Q=eqd=*PqVrc5 z2mk;80Pv=0Ypw8q!=&@Z7-@Z+v&OD@g`oFZYtL@s+0=Dy!ymgvWL!R1w{4l^79dqX zQ+sc{XYH+r~$(1XHB%*N`_WXL*)w6d^uYy~S-RXT%Cd{q-f)@YVQ=J7Es*ahkCUv5&PZ26878gjx; zUw>S9Ub_2FBk3u%a`~=TGop(M$;#!sevb4cYFsN30?tX73^aA8N0001g0Dxk+QDEckrS-d1{A}8`mUgHt zuHPl%XX8Wox@lS_LUH{r5&s@UuqExj_HC4)xB^S-cZvA-7;=TOJ!)$)39i7>`duP^ zOd&L2jbnpWs?dc1o*yE`^}9s;T|6H$A&$ung7L1gO`D7BcZv8hg&}crB6Wk%zzp4} zUocI7itBfY_|Zl8Ay$~MM`_1uwu_4EcZvABv49V;zz?y&D9%}JI!2!=uHPl%M@UvD z66X6Iv|NVe^*cHK0(=Q<+z>6T-zDNNKtf2{^WRnos3hQ?>8UO$Q00000003Zd zn(;^Z#ESrD5BWLEpEL}{5LaOQ;rnzFfBP;>e@s0Af}Pz|YZvu@ zNkLuP(TPrh@ZYyH%%nex;#-71qyj(V>L7N6Qs`ic%MxB!V6whgp;Vv=J;)X~R`|;L zLh^G86x!%821(juH6c)zW>#=XKBLdm>GOS00=#xZ?4d!DptlVD?7Fx~ZrA;M(>@$0 n(dZYy%}Vpu#Q^}o-^V}QzE`e45B$Ik00000NkvXXu0mjfIo-k1 delta 1796 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 diff --git a/icons/mob/augmentation/surplus_augments.dmi b/icons/mob/augmentation/surplus_augments.dmi index bc3e4bd73ca96dee18c1fa071a74e60062b19c2d..0fafab0533694e6849267db5fdc2b144e18bf0e1 100644 GIT binary patch delta 111 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 delta 4849 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 diff --git a/icons/mob/human_parts.dmi b/icons/mob/human_parts.dmi index c9ec0084b1912a80fcf8bfa6b04559cfd01f9248..187dd2738f52cb49f5b7182412c2dd646fcd471e 100644 GIT binary patch literal 53110 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 Ag#Z8m literal 50154 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

t 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 J3(q)&{s-tud7%IR diff --git a/icons/mob/species/ethereal/bodyparts.dmi b/icons/mob/species/ethereal/bodyparts.dmi new file mode 100644 index 0000000000000000000000000000000000000000..d063c92b746728526443602088136fd4cda29a36 GIT binary patch literal 6033 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 literal 0 HcmV?d00001 diff --git a/icons/mob/species/moth/bodyparts.dmi b/icons/mob/species/moth/bodyparts.dmi new file mode 100644 index 0000000000000000000000000000000000000000..6324ad386e4c488e549639aa3ce56d48b086c8f3 GIT binary patch literal 1307 zcmV+$1?2jPP)<$0`00DGTPE!Ct z=GbNc005hMR9JLGWpiV4X>fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM z;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3K9+H@_q!J|i_TMTv_uC9|j)q>+m=ttc@! z6~s0~Q<>yy4q`l*b+lyl#BHqQZJ|J@Idx1N9~`Z%VWtneNQlh)g0?*R|Kryn^xjIIC~rn-t#1x_i<)6_J%hEa9Z!A*)(ZjvSix>=gR zP3h`P_nH(CLsP)3pt{I(e{S|F0)s>$fkCX!=4P(~{Vb#L+Kf$pu_#^_S(L>Ij6apd zmnH?oFiFrJd@jn5jSA!@N1w)T^iiXmEQUHmXV5Lmn%}7&+HL$LPGg2)7>0QqtndFL z)x!gW6uN}5F3m#!AH}pj#@@7}6>?%S)u3^fD$Y{12jUz5zX$R=dKb4?9gP}qkt^D0 zr@-HftZHjPA1ksO|9=4M;}lKUQ8DTdM4l*|kmfL9vN5fN?(5ePtg2(?? z^#<2xxV~zEaARFH-f+!*{@+_)wTX0z&>DOFzo-5-0dF!+@cMsGeKk@2Rf_?0a(9?*{_MJNSKHJ;N{z!!S$Xyop-(&gzBp-j;V%zQb=de`oyRt_X%<7=~dO<}q+*$LHB~ggB^g zN9zfk`*R30zwhh^#5D@P))&}vyn+JXQTSuihFxxW{s*R2SUpp_Y*IjE){aaXeV8T> zml;||!2Vy7IC12y&ct4#W-sHZHJv@O7MIpl6gDgH%^GPrAA+yS_AhJb+0P~g7=~dO zhG8BGVTgT=sGW_V-*5G)lcV_&`Ioyi#0*cVIYxfp?gu8MC!CNBX-I-4fc(B~{;9x} z2#66mBuNF3-?#e#>el6mERi)IZG-U)mixD!)R7EH=d&6V?DsAAKcNC7L(oOF&H(#; zs~@n=fM&cU?{CvXY+b{M{6Vi;g5P9-b`1aUje_9MUy^|QzTFSdc3|r+<3GebwP92+ RGxGod002ovPDHLkV1jbgX?6er literal 0 HcmV?d00001 diff --git a/icons/mob/species/plasmaman/bodyparts.dmi b/icons/mob/species/plasmaman/bodyparts.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c8ee27636155b1364a9173b5598acca921c0628d GIT binary patch literal 2890 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 V!(H%MkHF>_u(3d+>dm~9{sJjNNqztT literal 0 HcmV?d00001 diff --git a/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm b/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm index accf7f7a1c3..e30af3d5015 100644 --- a/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm +++ b/modular_skyrat/master_files/code/game/objects/items/hhmirror.dm @@ -15,7 +15,7 @@ desc = "A handheld mirror that allows you to change your... self?" //Later, maybe add a charge to the description. icon = 'modular_skyrat/master_files/icons/obj/hhmirror.dmi' icon_state = "hhmirrormagic" - var/list/races_blacklist = list(SPECIES_SKELETON, "agent", "angel", SPECIES_SYNTH_MILITARY, SPECIES_ZOMBIE, "clockwork golem servant", SPECIES_ANDROID, SPECIES_SYNTH, SPECIES_MUSHROOM, SPECIES_ZOMBIE_HALLOWEEN, "memezombie") + var/list/races_blacklist = list(SPECIES_SKELETON, "agent", "angel", SPECIES_ZOMBIE, "clockwork golem servant", SPECIES_MUSHROOM, "memezombie") var/list/choosable_races = list() /obj/item/hhmirror/fullmagic/New() diff --git a/modular_skyrat/master_files/code/modules/client/preferences/body_type.dm b/modular_skyrat/master_files/code/modules/client/preferences/body_type.dm deleted file mode 100644 index ce354b20558..00000000000 --- a/modular_skyrat/master_files/code/modules/client/preferences/body_type.dm +++ /dev/null @@ -1,14 +0,0 @@ -/datum/preference/choiced/body_type - category = PREFERENCE_CATEGORY_NON_CONTEXTUAL - priority = PREFERENCE_PRIORITY_BODY_TYPE - savefile_key = "body_type" - savefile_identifier = PREFERENCE_CHARACTER - -/datum/preference/choiced/body_type/init_possible_values() - return list(MALE, FEMALE) - -/datum/preference/choiced/body_type/apply_to_human(mob/living/carbon/human/target, value) - target.body_type = value - -/datum/preference/choiced/body_type/create_default_value() - return MALE diff --git a/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm b/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm index f088f95c2a7..50de6b20471 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/mutant_parts.dm @@ -194,6 +194,9 @@ if(!target.dna.mutant_bodyparts[relevant_mutant_bodypart]) target.dna.mutant_bodyparts[relevant_mutant_bodypart] = list(MUTANT_INDEX_NAME = "None", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"), MUTANT_INDEX_EMISSIVE_LIST = list(FALSE, FALSE, FALSE)) target.dna.mutant_bodyparts[relevant_mutant_bodypart][MUTANT_INDEX_NAME] = value + var/obj/item/bodypart/head/our_head = target.get_bodypart(BODY_ZONE_HEAD) + our_head.bodytype |= BODYTYPE_SNOUTED + target.dna.species.bodytype |= BODYTYPE_SNOUTED // Snowflake code alert /datum/preference/choiced/snout/create_default_value() var/datum/sprite_accessory/snouts/none/default = /datum/sprite_accessory/snouts/none @@ -488,54 +491,6 @@ relevant_mutant_bodypart = "spines" type_to_check = /datum/preference/toggle/spines -/// Legs - -/datum/preference/toggle/legs - category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - savefile_identifier = PREFERENCE_CHARACTER - savefile_key = "legs_toggle" - relevant_mutant_bodypart = "legs" - default_value = FALSE - -/datum/preference/toggle/legs/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences) - return TRUE // we dont actually want this to do anything - -/datum/preference/toggle/legs/is_accessible(datum/preferences/preferences) - var/passed_initial_check = ..(preferences) - var/allowed = preferences.read_preference(/datum/preference/toggle/allow_mismatched_parts) - return passed_initial_check || allowed - -/datum/preference/choiced/legs - savefile_key = "feature_legs" - savefile_identifier = PREFERENCE_CHARACTER - category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - relevant_mutant_bodypart = "legs" - -/datum/preference/choiced/legs/is_accessible(datum/preferences/preferences) - var/passed_initial_check = ..(preferences) - var/allowed = preferences.read_preference(/datum/preference/toggle/allow_mismatched_parts) - var/part_enabled = preferences.read_preference(/datum/preference/toggle/legs) - return ((passed_initial_check || allowed) && part_enabled) - -/datum/preference/choiced/legs/init_possible_values() - return assoc_to_keys(GLOB.sprite_accessories["legs"]) - -/datum/preference/choiced/legs/apply_to_human(mob/living/carbon/human/target, value) - if(!target.dna.mutant_bodyparts[relevant_mutant_bodypart]) - target.dna.mutant_bodyparts[relevant_mutant_bodypart] = list(MUTANT_INDEX_NAME = "None", MUTANT_INDEX_COLOR_LIST = list("#FFFFFF", "#FFFFFF", "#FFFFFF"), MUTANT_INDEX_EMISSIVE_LIST = list(FALSE, FALSE, FALSE)) - target.dna.mutant_bodyparts[relevant_mutant_bodypart][MUTANT_INDEX_NAME] = value - -/datum/preference/choiced/legs/create_default_value() - var/datum/sprite_accessory/legs/none/default = /datum/sprite_accessory/legs/none - return initial(default.name) - -/datum/preference/tri_color/legs - category = PREFERENCE_CATEGORY_SECONDARY_FEATURES - savefile_identifier = PREFERENCE_CHARACTER - savefile_key = "legs_color" - relevant_mutant_bodypart = "legs" - type_to_check = /datum/preference/toggle/legs - /// Caps /datum/preference/toggle/caps diff --git a/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm b/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm new file mode 100644 index 00000000000..da0dbb5ad3e --- /dev/null +++ b/modular_skyrat/master_files/code/modules/client/preferences/species_features/digitigrade_legs.dm @@ -0,0 +1,17 @@ +/// Legs +/datum/preference/choiced/digitigrade_legs + savefile_key = "digitigrade_legs" + savefile_identifier = PREFERENCE_CHARACTER + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + relevant_mutant_bodypart = "legs" + +/datum/preference/choiced/digitigrade_legs/init_possible_values() + return assoc_to_keys(GLOB.sprite_accessories["legs"]) + +/datum/preference/choiced/digitigrade_legs/apply_to_human(mob/living/carbon/human/target, value) + target.dna.features["legs"] = value + +/datum/preference/choiced/digitigrade_legs/is_accessible(datum/preferences/preferences) + var/passed_initial_check = ..(preferences) + var/allowed = preferences.read_preference(/datum/preference/toggle/allow_mismatched_parts) + return passed_initial_check || allowed diff --git a/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm b/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm index fc4432c88d0..c2ef5d965cc 100644 --- a/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm +++ b/modular_skyrat/master_files/code/modules/clothing/anthro_clothes.dm @@ -2,7 +2,7 @@ //HEAD>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/head/hardhat/atmos - mutant_variants = STYLE_MUZZLE | STYLE_VOX + supports_variations_flags = CLOTHING_SNOUTED_VARIATION | CLOTHING_SNOUTED_VOX_VARIATION /obj/item/clothing/head/sombrero flags_inv = HIDEHAIR | SHOWSPRITEEARS @@ -15,10 +15,10 @@ //MASK>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/mask/gas/atmos - mutant_variants = STYLE_MUZZLE | STYLE_VOX + supports_variations_flags = CLOTHING_SNOUTED_VARIATION | CLOTHING_SNOUTED_VOX_VARIATION /obj/item/clothing/mask/gas/atmos/captain - mutant_variants = STYLE_MUZZLE | STYLE_VOX + supports_variations_flags = CLOTHING_SNOUTED_VARIATION | CLOTHING_SNOUTED_VOX_VARIATION /obj/item/clothing/mask/luchador //No longer has HIDESNOUT, has SHOWSPRITEEARS flags_inv = HIDEFACE|HIDEHAIR|HIDEFACIALHAIR|SHOWSPRITEEARS @@ -33,6 +33,6 @@ //SUIT>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/suit/fire - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION //FEET>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> diff --git a/modular_skyrat/master_files/code/modules/clothing/chameleon.dm b/modular_skyrat/master_files/code/modules/clothing/chameleon.dm index 57431357e04..b0f616d1008 100644 --- a/modular_skyrat/master_files/code/modules/clothing/chameleon.dm +++ b/modular_skyrat/master_files/code/modules/clothing/chameleon.dm @@ -27,7 +27,7 @@ if(istype(target, /obj/item/clothing/)) var/obj/item/clothing/target_clothing = target var/obj/item/clothing/picked_clothing = picked_item - target_clothing.mutant_variants = initial(picked_clothing.mutant_variants) + target_clothing.supports_variations_flags = initial(picked_clothing.supports_variations_flags) target_clothing.worn_icon_digi = initial(picked_clothing.worn_icon_digi) target_clothing.worn_icon_taur_snake = initial(picked_clothing.worn_icon_taur_snake) target_clothing.worn_icon_taur_paw = initial(picked_clothing.worn_icon_taur_paw) diff --git a/modular_skyrat/master_files/code/modules/clothing/non_anthro_clothes.dm b/modular_skyrat/master_files/code/modules/clothing/non_anthro_clothes.dm index ada11f9554e..8272cbe801b 100644 --- a/modular_skyrat/master_files/code/modules/clothing/non_anthro_clothes.dm +++ b/modular_skyrat/master_files/code/modules/clothing/non_anthro_clothes.dm @@ -3,465 +3,466 @@ //HEAD>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/head/festive - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/gladiator - mutant_variants = NONE + supports_variations_flags = NONE + /obj/item/clothing/head/chefhat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hos/beret - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/soft/paramedic - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/explorer - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/sec - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/warden - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/wizard/red - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/wizard - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hos - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/beret/blueshield - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/caphat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/crown/fancy - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hopcap - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hardhat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/beanie - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/abductor - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/winterhood - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/beret - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/soft - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/flatcap - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/pirate - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/rice_hat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/ushanka - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/collectable - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/fedora - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/that - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/rabbitears - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/mailman - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/centhat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/nursehat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/cueball - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/bandana - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hunter - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/scarecrow_hat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/intern - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/blueshirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/space/space_ninja - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/space/beret - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/police - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/swat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/spacepolice - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/sombrero - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/santa - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/durathread - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/cloakhood/drake - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/cloakhood/goliath - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/nun_hood - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/knight/greyscale - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/mob_holder - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/cult_hoodie/void - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/cult_hoodie/eldritch - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/space/hardsuit/berserker - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/cloakhood/godslayer - mutant_variants = NONE + supports_variations_flags = NONE //EARS>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //EYES>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/glasses/changeling - mutant_variants = NONE + supports_variations_flags = NONE //MASK>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/mask/gas/hunter - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/mask/fakemoustache flags_inv = NONE /obj/item/clothing/mask/gas/tiki_mask/yalp_elor - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/mask/gas/carp - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/mask/gas/sechailer/swat/spacepol - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/mask/void_mask - mutant_variants = NONE + supports_variations_flags = NONE //UNDER>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/under/costume/gladiator/ash_walker - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/costume/maid - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/costume/schoolgirl - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/centcom/intern - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/bouncer - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/officer/spacepol - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/medical/doctor/nurse - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/syndicate/skirt - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS /obj/item/clothing/under/syndicate/tacticool/skirt - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS /obj/item/clothing/under/rank/captain/suit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/black/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/female/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/red/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/color/jumpskirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/suit/black/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/captain/pilot/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/labcoat/roboticist - mutant_variants = NONE + supports_variations_flags = NONE //SUIT>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/suit/toggle/chef - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/det_suit - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/lawyer - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/suspenders - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/labcoat/paramedic - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/jacket/miljacket - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/jacket - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/ianshirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/poncho - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/wizrobe - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/bee_costume - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/space/hunter - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/chaplainsuit/holidaypriest - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hazardvest - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/pirate/captain - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/space/officer - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/chaplain_hoodie - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/curator - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/chaplainsuit - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/chaplainsuit - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/riot/knight/greyscale - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/armor/vest/centcom_formal - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/cultrobes/void - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/cultrobes/eldritch - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/vest/marine - mutant_variants = NONE + supports_variations_flags = NONE //FEET>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> /obj/item/clothing/under/changeling - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/changeling - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/changeling - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/shoes/changeling - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/gloves/changeling - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/mask/changeling - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/changeling - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/storage/backpack/henchmen - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/irs - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/pg - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/tmc - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/deckers - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/morningstar - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/saints - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/allies - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/yuri - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/sybil_slickers - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/basil_boys - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/alt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/xenos - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/cone - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/mask/gas/driscoll - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/space/chronos - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/yakuza - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/dutch - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/driscoll - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/irs - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/osi - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/tmc - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/pg - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/deckers - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/morningstar - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/saints - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/phantom - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/allies - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/soviet - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/yuri - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/security - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/costume/swagoutfit - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/suit/henchmen - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/cargo/tech - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/prisoner/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/techpriest - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/techpriest - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/space/hardsuit/berserker - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/cloak/godslayer - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/master_files/code/modules/mod/mod_clothes.dm b/modular_skyrat/master_files/code/modules/mod/mod_clothes.dm index ada65644fb0..70ea67fba8e 100644 --- a/modular_skyrat/master_files/code/modules/mod/mod_clothes.dm +++ b/modular_skyrat/master_files/code/modules/mod/mod_clothes.dm @@ -1,19 +1,19 @@ // MODsuit-related overrides for our digitigrade sprites and such /obj/item/clothing/head/mod - mutant_variants = STYLE_MUZZLE + supports_variations_flags = CLOTHING_SNOUTED_VARIATION worn_icon_muzzled = 'modular_skyrat/master_files/icons/mob/mod.dmi' /obj/item/clothing/suit/mod - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION flags_inv = HIDESPINE worn_icon_digi = 'modular_skyrat/master_files/icons/mob/mod.dmi' /obj/item/clothing/gloves/mod - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/shoes/mod - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION worn_icon_digi = 'modular_skyrat/master_files/icons/mob/mod.dmi' diff --git a/modular_skyrat/master_files/code/modules/mod/modules/_module.dm b/modular_skyrat/master_files/code/modules/mod/modules/_module.dm index b577361c41b..1e6f84d75ab 100644 --- a/modular_skyrat/master_files/code/modules/mod/modules/_module.dm +++ b/modular_skyrat/master_files/code/modules/mod/modules/_module.dm @@ -1,6 +1,6 @@ /obj/item/mod/module - /// The suit's mutant_variants, currently only for the chestplate and the helmet parts of the MODsuit. - var/suit_mutant_variants = NONE + /// The suit's supports_variations_flags, currently only for the chestplate and the helmet parts of the MODsuit. + var/suit_supports_variations_flags = NONE /// Does this module have a separate head sprite? Useful for muzzled sprites var/has_head_sprite = FALSE /// Is the module's visuals head-only when active? Useful for visors and such, to avoid multiplying the amount of overlay with empty images @@ -19,18 +19,18 @@ /obj/item/mod/module/proc/handle_module_icon(mutable_appearance/standing, module_icon_state) . = list() if(mod.wearer) - if(mod.chestplate && (mod.chestplate.mutant_variants & STYLE_DIGITIGRADE) && (DIGITIGRADE in mod.wearer.dna.species.species_traits)) - suit_mutant_variants |= STYLE_DIGITIGRADE + if(mod.chestplate && (mod.chestplate.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION) && (mod.wearer.dna.species.bodytype & BODYTYPE_DIGITIGRADE)) + suit_supports_variations_flags |= CLOTHING_DIGITIGRADE_VARIATION - if(mod.helmet && (mod.helmet.mutant_variants & STYLE_MUZZLE) && mod.wearer.dna.species.mutant_bodyparts["snout"]) + if(mod.helmet && (mod.helmet.supports_variations_flags & CLOTHING_SNOUTED_VARIATION) && mod.wearer.dna.species.mutant_bodyparts["snout"]) var/datum/sprite_accessory/snouts/snout = GLOB.sprite_accessories["snout"][mod.wearer.dna.species.mutant_bodyparts["snout"][MUTANT_INDEX_NAME]] if(snout.use_muzzled_sprites) - suit_mutant_variants |= STYLE_MUZZLE + suit_supports_variations_flags |= CLOTHING_SNOUTED_VARIATION var/icon_to_use = 'icons/mob/clothing/mod.dmi' var/icon_state_to_use = module_icon_state var/add_overlay = TRUE - if(suit_mutant_variants && (mutant_variants & STYLE_DIGITIGRADE)) + if(suit_supports_variations_flags && (supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) icon_to_use = 'modular_skyrat/master_files/icons/mob/mod.dmi' icon_state_to_use = "[module_icon_state]_digi" @@ -46,7 +46,7 @@ icon_to_use = 'modular_skyrat/master_files/icons/mob/mod.dmi' icon_state_to_use = "[module_icon_state]_head" - if(suit_mutant_variants && (mutant_variants & STYLE_MUZZLE)) + if(suit_supports_variations_flags && (supports_variations_flags & CLOTHING_SNOUTED_VARIATION)) icon_state_to_use = "[icon_state_to_use]_muzzled" var/mutable_appearance/additional_module_icon = mutable_appearance(icon_to_use, icon_state_to_use, layer = standing.layer + 0.1) diff --git a/modular_skyrat/master_files/code/modules/mod/modules/modules_antag.dm b/modular_skyrat/master_files/code/modules/mod/modules/modules_antag.dm index cf4104d4f8c..fd22f651494 100644 --- a/modular_skyrat/master_files/code/modules/mod/modules/modules_antag.dm +++ b/modular_skyrat/master_files/code/modules/mod/modules/modules_antag.dm @@ -1,4 +1,4 @@ /obj/item/mod/module/armor_booster - mutant_variants = STYLE_DIGITIGRADE | STYLE_MUZZLE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION | CLOTHING_SNOUTED_VARIATION has_head_sprite = TRUE head_only_when_active = TRUE diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/_mutant_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/_mutant_bodyparts.dm new file mode 100644 index 00000000000..6ea59d0a43e --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/_mutant_bodyparts.dm @@ -0,0 +1,89 @@ +/obj/item/bodypart + /// A list of all of our bodypart markings. + var/list/markings + /// A list of all our aux zone markings(hands) + var/list/aux_zone_markings + /// The alpha override of our markings. + var/markings_alpha + /// What is our normal limb ID? used for squashing legs. + var/base_limb_id = SPECIES_MAMMAL + +/obj/item/bodypart/proc/check_mutant_compatability() + if(ishuman(owner)) + var/mob/living/carbon/human/human_owner = owner + var/uniform_compatible = FALSE + var/suit_compatible = FALSE + var/shoes_compatible = FALSE + if(!(human_owner.w_uniform) || (human_owner.w_uniform.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) + uniform_compatible = TRUE + if((!human_owner.wear_suit) || (human_owner.wear_suit.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON)) || !(human_owner.wear_suit.body_parts_covered & LEGS)) + suit_compatible = TRUE + if((!human_owner.shoes) || (human_owner.shoes.supports_variations_flags & (CLOTHING_DIGITIGRADE_VARIATION|CLOTHING_DIGITIGRADE_VARIATION_NO_NEW_ICON))) + shoes_compatible = TRUE + + if((uniform_compatible && suit_compatible && shoes_compatible) || (suit_compatible && human_owner.wear_suit?.flags_inv & HIDEJUMPSUIT)) //If the uniform is hidden, it doesnt matter if its compatible + limb_id = "digitigrade" + else + limb_id = base_limb_id + +/obj/item/bodypart/r_leg + /// This is used in digitigrade legs, when this leg is swapped out with the digitigrade version. + var/digitigrade_type = /obj/item/bodypart/r_leg/digitigrade + +/obj/item/bodypart/l_leg + /// This is used in digitigrade legs, when this leg is swapped out with the digitigrade version. + var/digitigrade_type = /obj/item/bodypart/l_leg/digitigrade + + +/// General mutant bodyparts. Used in most mutant species. +/obj/item/bodypart/head/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + limb_id = SPECIES_MAMMAL + uses_mutcolor = TRUE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUTED //This is temporary. Ideally the "snout" external organ adds to this. + +/obj/item/bodypart/chest/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_MAMMAL + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_MAMMAL + +/obj/item/bodypart/r_arm/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_MAMMAL + +/obj/item/bodypart/l_leg/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_MAMMAL + +/obj/item/bodypart/r_leg/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_MAMMAL + +/obj/item/bodypart/l_leg/digitigrade + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = "digitigrade" + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + +/obj/item/bodypart/l_leg/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + check_mutant_compatability() + +/obj/item/bodypart/r_leg/digitigrade + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = "digitigrade" + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE + +/obj/item/bodypart/r_leg/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + check_mutant_compatability() diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/akula_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/akula_bodyparts.dm new file mode 100644 index 00000000000..b07b87d8659 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/akula_bodyparts.dm @@ -0,0 +1,35 @@ +// Akulas! +/obj/item/bodypart/head/mutant/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + limb_id = SPECIES_AKULA + +/obj/item/bodypart/chest/mutant/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + limb_id = SPECIES_AKULA + +/obj/item/bodypart/l_arm/mutant/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + limb_id = SPECIES_AKULA + +/obj/item/bodypart/r_arm/mutant/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + limb_id = SPECIES_AKULA + +/obj/item/bodypart/l_leg/mutant/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + limb_id = SPECIES_AKULA + digitigrade_type = /obj/item/bodypart/l_leg/digitigrade/akula + +/obj/item/bodypart/r_leg/mutant/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_AKULA + digitigrade_type = /obj/item/bodypart/r_leg/digitigrade/akula + +/obj/item/bodypart/l_leg/digitigrade/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + base_limb_id = SPECIES_AKULA + +/obj/item/bodypart/r_leg/digitigrade/akula + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + base_limb_id = SPECIES_AKULA diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm new file mode 100644 index 00000000000..7a0ee606f5f --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/ghoul_bodyparts.dm @@ -0,0 +1,72 @@ +// Ghouls! +/obj/item/bodypart/head/mutant/ghoul + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' + is_dimorphic = FALSE + limb_id = SPECIES_GHOUL + +/obj/item/bodypart/chest/mutant/ghoul + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' + limb_id = SPECIES_GHOUL + is_dimorphic = FALSE + +/obj/item/bodypart/l_arm/mutant/ghoul + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' + limb_id = SPECIES_GHOUL + +/obj/item/bodypart/r_arm/mutant/ghoul + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' + limb_id = SPECIES_GHOUL + +/obj/item/bodypart/l_leg/mutant/ghoul + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' + limb_id = SPECIES_GHOUL + +/obj/item/bodypart/r_leg/mutant/ghoul + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' + limb_id = SPECIES_GHOUL + +//LIMBS + +/obj/item/bodypart/r_arm/mutant/ghoul/drop_limb(special) + ..() // Create Meat, Remove Limb + var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage + if (percentHealth > 0) + // Create Meat + var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) + + . = newMeat // Return MEAT + + qdel(src) + +/obj/item/bodypart/l_arm/mutant/ghoul/drop_limb(special) + ..() // Create Meat, Remove Limb + var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage + if (percentHealth > 0) + // Create Meat + var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) + + . = newMeat // Return MEAT + + qdel(src) + +/obj/item/bodypart/r_leg/mutant/ghoul/drop_limb(special) + ..() // Create Meat, Remove Limb + var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage + if (percentHealth > 0) + // Create Meat + var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) + + . = newMeat // Return MEAT + + qdel(src) + +/obj/item/bodypart/l_leg/mutant/ghoul/drop_limb(special) + ..() // Create Meat, Remove Limb + var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage + if (percentHealth > 0) + // Create Meat + var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) + + . = newMeat // Return MEAT + + qdel(src) diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/insect_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/insect_bodyparts.dm new file mode 100644 index 00000000000..22a447b9097 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/insect_bodyparts.dm @@ -0,0 +1,25 @@ +// Insectados! +/obj/item/bodypart/head/mutant/insect + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/insect_parts_greyscale.dmi' + limb_id = SPECIES_INSECT + +/obj/item/bodypart/chest/mutant/insect + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/insect_parts_greyscale.dmi' + limb_id = SPECIES_INSECT + +/obj/item/bodypart/l_arm/mutant/insect + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/insect_parts_greyscale.dmi' + limb_id = SPECIES_INSECT + +/obj/item/bodypart/r_arm/mutant/insect + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/insect_parts_greyscale.dmi' + limb_id = SPECIES_INSECT + +/obj/item/bodypart/l_leg/mutant/insect + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/insect_parts_greyscale.dmi' + limb_id = SPECIES_INSECT + +/obj/item/bodypart/r_leg/mutant/insect + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/insect_parts_greyscale.dmi' + limb_id = SPECIES_INSECT + diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/_mutant_robotic_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/_mutant_robotic_bodyparts.dm new file mode 100644 index 00000000000..01aedb02de0 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/_mutant_robotic_bodyparts.dm @@ -0,0 +1,61 @@ +// Synth bois! +/obj/item/bodypart/head/robot/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHMAMMAL + is_dimorphic = TRUE + should_draw_greyscale = TRUE + uses_mutcolor = TRUE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUTED //This is temporary. Ideally the "snout" external organ adds to this. + +/obj/item/bodypart/chest/robot/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + should_draw_greyscale = TRUE + limb_id = SPECIES_SYNTHMAMMAL + is_dimorphic = TRUE + +/obj/item/bodypart/l_arm/robot/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHMAMMAL + should_draw_greyscale = TRUE + +/obj/item/bodypart/r_arm/robot/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHMAMMAL + should_draw_greyscale = TRUE + +/obj/item/bodypart/l_leg/robot/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHMAMMAL + should_draw_greyscale = TRUE + digitigrade_type = /obj/item/bodypart/l_leg/robot/digitigrade + +/obj/item/bodypart/r_leg/robot/mutant + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + should_draw_greyscale = TRUE + limb_id = SPECIES_SYNTHMAMMAL + digitigrade_type = /obj/item/bodypart/r_leg/robot/digitigrade + +/obj/item/bodypart/l_leg/robot/digitigrade + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' + uses_mutcolor = TRUE + should_draw_greyscale = TRUE + limb_id = "digitigrade" + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC | BODYTYPE_DIGITIGRADE + base_limb_id = SPECIES_SYNTHMAMMAL + +/obj/item/bodypart/l_leg/robot/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + check_mutant_compatability() + +/obj/item/bodypart/r_leg/robot/digitigrade + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = "digitigrade" + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ROBOTIC | BODYTYPE_DIGITIGRADE + base_limb_id = SPECIES_SYNTHMAMMAL + +/obj/item/bodypart/r_leg/robot/digitigrade/update_limb(dropping_limb = FALSE, is_creating = FALSE) + . = ..() + check_mutant_compatability() diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/ipc_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/ipc_bodyparts.dm new file mode 100644 index 00000000000..a161dde525b --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/ipc_bodyparts.dm @@ -0,0 +1,32 @@ +// IPC bois! +/obj/item/bodypart/head/robot/mutant/ipc + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ipc_parts.dmi' + uses_mutcolor = FALSE + is_dimorphic = FALSE + limb_id = SPECIES_IPC + +/obj/item/bodypart/chest/robot/mutant/ipc + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ipc_parts.dmi' + uses_mutcolor = FALSE + is_dimorphic = FALSE + limb_id = SPECIES_IPC + +/obj/item/bodypart/l_arm/robot/mutant/ipc + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ipc_parts.dmi' + uses_mutcolor = FALSE + limb_id = SPECIES_IPC + +/obj/item/bodypart/r_arm/robot/mutant/ipc + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ipc_parts.dmi' + uses_mutcolor = FALSE + limb_id = SPECIES_IPC + +/obj/item/bodypart/l_leg/robot/mutant/ipc + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ipc_parts.dmi' + uses_mutcolor = FALSE + limb_id = SPECIES_IPC + +/obj/item/bodypart/r_leg/robot/mutant/ipc + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/ipc_parts.dmi' + uses_mutcolor = FALSE + limb_id = SPECIES_IPC diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_human_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_human_bodyparts.dm new file mode 100644 index 00000000000..9896ae54af2 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_human_bodyparts.dm @@ -0,0 +1,24 @@ +// Synth bois! +/obj/item/bodypart/head/robot/mutant/human + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthhuman_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHHUMAN + +/obj/item/bodypart/chest/robot/mutant/human + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthhuman_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHHUMAN + +/obj/item/bodypart/l_arm/robot/mutant/human + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthhuman_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHHUMAN + +/obj/item/bodypart/r_arm/robot/mutant/human + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthhuman_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHHUMAN + +/obj/item/bodypart/l_leg/robot/mutant/human + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthhuman_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHHUMAN + +/obj/item/bodypart/r_leg/robot/mutant/human + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthhuman_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHHUMAN diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_lizard_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_lizard_bodyparts.dm new file mode 100644 index 00000000000..b752ae7ba06 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/robotic/synthetic_lizard_bodyparts.dm @@ -0,0 +1,38 @@ +// Synth bois! +/obj/item/bodypart/head/robot/mutant/lizard + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHLIZ + +/obj/item/bodypart/chest/robot/mutant/lizard + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHLIZ + +/obj/item/bodypart/l_arm/robot/mutant/lizard + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHLIZ + +/obj/item/bodypart/r_arm/robot/mutant/lizard + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHLIZ + +/obj/item/bodypart/l_leg/robot/mutant/lizard + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHLIZ + digitigrade_type = /obj/item/bodypart/l_leg/robot/digitigrade/lizard + +/obj/item/bodypart/r_leg/robot/mutant/lizard + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + limb_id = SPECIES_SYNTHLIZ + digitigrade_type = /obj/item/bodypart/r_leg/robot/digitigrade/lizard + +/obj/item/bodypart/l_leg/robot/digitigrade/lizard + icon = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + icon_static = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + base_limb_id = SPECIES_SYNTHLIZ + +/obj/item/bodypart/r_leg/robot/digitigrade/lizard + icon = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + icon_static = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' + base_limb_id = SPECIES_SYNTHLIZ diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/skrell_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/skrell_bodyparts.dm new file mode 100644 index 00000000000..01f0773fc07 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/skrell_bodyparts.dm @@ -0,0 +1,24 @@ +// Skrell! +/obj/item/bodypart/head/mutant/skrell + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/skrell_parts_greyscale.dmi' + limb_id = SPECIES_SKRELL + +/obj/item/bodypart/chest/mutant/skrell + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/skrell_parts_greyscale.dmi' + limb_id = SPECIES_SKRELL + +/obj/item/bodypart/l_arm/mutant/skrell + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/skrell_parts_greyscale.dmi' + limb_id = SPECIES_SKRELL + +/obj/item/bodypart/r_arm/mutant/skrell + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/skrell_parts_greyscale.dmi' + limb_id = SPECIES_SKRELL + +/obj/item/bodypart/l_leg/mutant/skrell + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/skrell_parts_greyscale.dmi' + limb_id = SPECIES_SKRELL + +/obj/item/bodypart/r_leg/mutant/skrell + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/skrell_parts_greyscale.dmi' + limb_id = SPECIES_SKRELL diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/teshari_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/teshari_bodyparts.dm new file mode 100644 index 00000000000..364406dffc7 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/teshari_bodyparts.dm @@ -0,0 +1,42 @@ +// teshari! +/obj/item/bodypart/head/mutant/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_SNOUTED | BODYTYPE_TESHARI + limb_id = SPECIES_TESHARI + +/obj/item/bodypart/chest/mutant/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_TESHARI + limb_id = SPECIES_TESHARI + +/obj/item/bodypart/l_arm/mutant/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_TESHARI + limb_id = SPECIES_TESHARI + +/obj/item/bodypart/r_arm/mutant/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_TESHARI + limb_id = SPECIES_TESHARI + +/obj/item/bodypart/l_leg/mutant/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_TESHARI + limb_id = SPECIES_TESHARI + digitigrade_type = /obj/item/bodypart/l_leg/digitigrade/teshari + +/obj/item/bodypart/r_leg/mutant/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_TESHARI + limb_id = SPECIES_TESHARI + digitigrade_type = /obj/item/bodypart/r_leg/digitigrade/teshari + +/obj/item/bodypart/l_leg/digitigrade/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE | BODYTYPE_TESHARI + base_limb_id = SPECIES_TESHARI + +/obj/item/bodypart/r_leg/digitigrade/teshari + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' + bodytype = BODYTYPE_ORGANIC | BODYTYPE_DIGITIGRADE | BODYTYPE_TESHARI + base_limb_id = SPECIES_TESHARI diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm new file mode 100644 index 00000000000..d75438b1093 --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/vox_bodyparts.dm @@ -0,0 +1,38 @@ +// voxs! +/obj/item/bodypart/head/mutant/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC | BODYTYPE_SNOUTED | BODYTYPE_VOX + limb_id = SPECIES_VOX + +/obj/item/bodypart/chest/mutant/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + limb_id = SPECIES_VOX + +/obj/item/bodypart/l_arm/mutant/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + limb_id = SPECIES_VOX + +/obj/item/bodypart/r_arm/mutant/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + limb_id = SPECIES_VOX + +/obj/item/bodypart/l_leg/mutant/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC + limb_id = SPECIES_VOX + digitigrade_type = /obj/item/bodypart/l_leg/digitigrade/vox + +/obj/item/bodypart/r_leg/mutant/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + uses_mutcolor = TRUE + bodytype = BODYTYPE_HUMANOID | BODYTYPE_ORGANIC + limb_id = SPECIES_VOX + digitigrade_type = /obj/item/bodypart/r_leg/digitigrade/vox + +/obj/item/bodypart/l_leg/digitigrade/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + base_limb_id = SPECIES_VOX + +/obj/item/bodypart/r_leg/digitigrade/vox + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' + base_limb_id = SPECIES_VOX diff --git a/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/xenohybrid_bodyparts.dm b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/xenohybrid_bodyparts.dm new file mode 100644 index 00000000000..b81d16002cc --- /dev/null +++ b/modular_skyrat/master_files/code/modules/surgery/bodyparts/species_parts/xenohybrid_bodyparts.dm @@ -0,0 +1,35 @@ +// xenohybrid! +/obj/item/bodypart/head/mutant/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + limb_id = SPECIES_XENO + +/obj/item/bodypart/chest/mutant/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + limb_id = SPECIES_XENO + +/obj/item/bodypart/l_arm/mutant/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + limb_id = SPECIES_XENO + +/obj/item/bodypart/r_arm/mutant/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + limb_id = SPECIES_XENO + +/obj/item/bodypart/l_leg/mutant/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + limb_id = SPECIES_XENO + digitigrade_type = /obj/item/bodypart/l_leg/digitigrade/xenohybrid + +/obj/item/bodypart/r_leg/mutant/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_XENO + digitigrade_type = /obj/item/bodypart/r_leg/digitigrade/xenohybrid + +/obj/item/bodypart/l_leg/digitigrade/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + base_limb_id = SPECIES_XENO + +/obj/item/bodypart/r_leg/digitigrade/xenohybrid + icon_greyscale = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' + base_limb_id = SPECIES_XENO diff --git a/modular_skyrat/master_files/icons/mob/clothing/species/vox/ears.dmi b/modular_skyrat/master_files/icons/mob/clothing/species/vox/ears.dmi index b09c349cae92c1b7e548bcda5d986026bcd3a496..b05977c27a6a8d0764a642e37d032520f05ea9b9 100644 GIT binary patch delta 1807 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 diff --git a/modular_skyrat/master_files/icons/mob/clothing/uniform_digi.dmi b/modular_skyrat/master_files/icons/mob/clothing/uniform_digi.dmi index 1e352305e15b1254142bfd0dfe1e1a36dc1b30c6..f126002574d3e76d39c07af3e19b1a4dd5492444 100644 GIT binary patch literal 798554 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

gIZ9^-z%hv4H7 zwRi$_f2P?zIh$60eIwb2(fYbU1Nt939t!CmYNU3x+g6w-edoB#c7Oi`NO&vkf5tal zV->~l!TT|tD=*V2v;;N!0yWypH=kDRAm%t71Vciq`kcA%-IE1T^Gv%9vv{_jheu6f z6AT7LObZCbo}XgQ4iQcr%-7i0WBmqQeCg7{i?(P;q zWy0%qU@0a%cb)bR++Hb?=@B4#+Hp%B^6qGTiK|dw0xC2qdz<^^`|amBsDc7gpVVm`$fVPNTKquE(`r}$SqeK6C3`KRYl z#8@HGk`KlLybE8V`)!^o>6?gOv+-*eX@_2z7I7rb8u4Zrk8Gh*B9psA}W!JIag`NVB|4up7ib2y+`htvAZ|x z-#WKUUNA6;zQiRwXWv;u&d&sE*BDNGEn26V4=Hmgd`;oU{PF0tP@edTCx9);+laP!fYQ4ut}rdveSYx zlx;G$Zg5kKO47B`m=4s*6z+TJ^Vwc-Y5QOc2OS2LG!hUlklW3X%)!9t+xs&W%moE{ z-}T!=!a`#Mpr~nf0JG#tgQ;!NaHTFco%rK5v~n0Nln+fIC0$2-aUe*Td%f2Evj#3! z$^9b=UE_pGuga4FLieP~+;L+<|KfD5uu&%S`9AGNZBqa$0FF~sx7h^oe=l7#TyWhN#OMV&N96Hzas9tL1xl_Y4=pM1%?0dR^GeID{mi`;F07uHmOw!q&*g5ujxFr@P#i4W?x zimtJTZQCoS?#osBw9U#19K)rLK0a56pduGqV`@09o!<5}HlX7zj$?1L1s}x!jlpgKF0bzyM`l#Nx4E5=5GGp4 zdUvD3YVlmJSAgqibSw!BT~hKbScL$vLTZs})1N%0g^ZK>(BMHV53lq;faGfw+aDkE zME$*M?xRbYFqG8IxOeceW0@#A{UmhgiQ)Kh@6-_Y9qd@Us$Fv2^b=KM7JQaw^8$Jh zU4dOKQpnd)TFHC}wgd^xhT>XZ>R?9Dmn&(&u>is;co1&g8h;=fWNK>aSc{&jbIk|P z)Q^DL0Go4w_}fia8C{(0LHt|aQ)J1%CkH+G9iUgTCgP_E+=s0$N%~w~UY?4Q(tp`> zCd;zup7-7Ri(OAYJ1Vx5=#A0>1sLSA^G}Fb5-_#R z@|dF^lv|Qt0z#JpaUeD#U;^E5#DVCznJ&aJdYi}_gW28Q;edI~B-zY3dpYZr@g`}j zGaQ=sXZ{!keRJ_AFN*AZ_@jNnB->;E6tm=p>F6K7!lqcEe_ViZmD)-0Q$mP!Ho;$L zzH8vJeMS`59z z3fQB6f8f+%!U;$jun@G{s8^MeI01($4B=W7VTGP)X~Wo zX95pU5Djx3JT!Ofzlj|KTO-|%f&UF-%k^XeD^ZyJIJ+^(bhd#Eg=?(KpBZV4zof@&6FU{H241jx0o z!(lRj46)Rrp9On~p%_1>gZ07AuC7PAx=iehS2*!v2aV zCb7UrK?L-f7?3U`My>Wz$7*?S(Ewhgok{NH?bR8F8V(bWrZ%l-Hg@bkpqCJ1#OcqH*&meeYH|6dq=M}Q z&O{|ljQ$FpbczD54OkQG-}dy<#^zG1+?*KLo2EP%#)3W?zoo2*`UV_hEuT~^J^ZZT zl>UXiJ2)ln#cD*@DDBT7)ro~T_ezV@6F8B!iQK)~8z})?8{qG(isO6*`5g0cC_O!W ziOAh7AZXNe?x_!@0afMWomuC~QXo#)3TSLWK76KF2B#V1P|#>JHUa`f+t^}d2e!K! z+}hYT5JLjZ^&rrhPD;;@58&?L3V!N%M=SNpCOkg9Si}ZFHQz3DbvD;T;OzbBe0AaX z7jRQTB67|8`;2|$4?ooWqKm;o+U3ZIK>9|m;S@WYLZzQqfrC*#eQ#-U(LAB$qWa3MM!DrJ@78v> z>3_oJCQY(lBw?!NL8AlsKFe@bgt=hToINA-=~+Jq~eJeN~C~9XhYnbeUS1i?|QZPPIj2 zj{)1schvZT7bPKepMFgyjiUq$%nJ}7PL&cizUF@|`_$p89BAH~JXZW!HlvjzF}>=$ zSNv`0)n-(0MUmjwgLE1Y3H($QnKdongKgv_gCk}Gp=w3qDH=OnwiIie)2Yt~xPw3}K!C$Vb(# z9y17_F0r@2DVuI-Kap><&#{P~ubkn39x6aJT7nz; zb}9A=cLfQ%_RE-nP?j@Tw|3j~IQ5Y*Jw8Mg!z2Lfyk0|Nso5^CP`K6qjP zLrnb0*_oe#k&$fJRBOjZ#LQ%Q#Qj}ma+%ZolTh0yjE{U{mTURTlcj`{@RXE!k5(bc z5txZ&yqfq~jn*D_$jRDO%r(eOq^w`VE$9+bmzI#=L!`-EQyBFm~< zc{wC%C8Zn^PVHVzx`s^ohztc=nC-?+qO15Zqf-DdMYM6l_|5Hfj-CtQye)BgyCz1f zmU8}+Zd<5MBF5Sdx%-#L9uDDuk8%22!|XrT*#^&@K-58+v!~Y_FKYTn8G;n_pnU_S zhM?le4w@g8Y?3?ie?!}__&6S~*Q@oPK)E=mxaX)k_Oy76d}ArHg{abF1|;n){)+j*Hs5VmNLQ1tvD#Bog)9zvI3Qa;jlm=Tdj? zUV%7XoH!*%$P7ONG#8GJAl_WR75{zhC%7uhn4Sv&=|1nL)=$kL~MkZ!SWBSt^MMb7NpTK`_h1%@r&2a!fT=Fal0UyY$uR|N?c)jd znn(58Jm97S8(z1C8j_mT^PKRJHuWr>>Ko@qK_PMnKlWH} zjig0I^Puv|oe2JhLO#&t4C1MmT3&Pa%4fd!LZ9hYZ!tfrWfwrurSh~-;4r#^08JV*ZhH z+<1*_*!Zl933@*yYmxc5W#9pR)a9ky9*9>czX=US44U2@#}+47=3;YdK26Ts7J6rq zI@pxZ<;*y2J)NnsQu*~4f`+(TXwb7&xk$qyU!m@Q9u11MpZc?^*+#_jdsaV6WIa+E zbi4XddLIeqkn{i@7hbn5&E>T-0@cV2KAt*RReWN2mfnB(0}8@F{urw(FTOd&Y_%#hX#PF-c}jafUaMP zl)y$;g*w$Aso9@WPE75B+YMV+G#WPm;!Z7J?yKYfeM)A4Ug4j%}DT za`W?+;?J=GH)q*9^QoLwDN|VZYL(xG{4k^#b#;lSpNh-fa7MGd8F{ zDXHq>TGGo`b(qD5?prb?aO-w=&=WuTWz}g0%SwMRstAiab$BcU5hm{rcP|v4m04#E zqot9q|7qQRjO~Tb5sc?a`U8mjTgpC@0m4XV)?SZAP<1<_wD0{MLW%AiVG(oxuF$-x zRUQlia+|n6&?tLwhrBzqiPY{rd6uhvD|tvV^4u7xVD{bJA~+dna}Pb9ytvnt-Pv%3vF{tOUGvJhtPWE+wh?(SEfqh_w$mC z-@%pzg~AJz$4galW)33^2ioF_R@35mA{}bnwCooAA!DL*zBW9!H%AS1gr1KwpwdhL;0MP{ikoQh$O@jnM zP5ih1{(jguw?-#-cL$B>!)t{9_VJFhZ`Y!iRHIm=20(%#tZGk=b9iQb%SET14?NBf z$oXNIaf#01lF9+~$oQ;_hEr#rl{LgC=Z2Jex5-+9t9FILZ1-dgqRL#zXzhj%FQLM$ zB1*IPA`}KFm;{Bv43jH$UrOVFH!p6om4 z|15U*)#=!6Lmg{bmRvi~1~8xV!y*R+T~05wPcA6->$vs!`NZEV&4-I{32G916}mM> zU3!gIyOLr};#IO*{Ko%65QPBC_diyWx!4VQN5J{$$7s=U>9jT!Fsm${qSkt+*nvx8 zJ6YBy2VMLXs@o1vimPh`jm;sZOaH3cJJ~rm8er^ZYF@mGpGXIq!-j>a9drfSmEBvK zQc_ZUX5H8Sg)xmOm!LZF|Dd2+8H;(!1`O}6S5AScHf`7Z?{NQ~`+qvVjF=@hasTPx zxcM&<9?FyBOiw7 zNlaZv42I|y>PozGEU@+$dra+`*!$K6M^Ps7|MhmyKh7QJzn5M}gtDIE;`ookeeUQM zM%<8J%Ate|Sdo>yiB(a7Xr}Y3JujzNKC`y^eg0^U(E3oOAJdx({d-suR!|DR1t|e) zx(n8J)@@&_s!T{DGG+mLs-F|-Oc6l^ zaL;0Hu$}-nhSKHKOj6wR+OUW8lyqS5++yUX3>Cz>PmEZkX)^E%X z>y$wwX|)-;br`Q6@l`QTD_2QA{LNiOIJAQtnF?=@-q+=n{$S86m}WuKK?U*1JD#?j zt*iXzioWpNUx^gKffzh}LaB+6*c=(}dl6?A^qvy3E{13nKZT#~=R^EU8AW&zn7i_< zG5a%m8q-bv47g9n^%X=3|&WPMMf}B=hV`YaZ!n zu2}=AO|3MjV#CG$Z+r+qN$GH4e#eD&n3MyVCQSsM?C-eBQ?+MBy)r77$>?(#%yq3< zw1A|OxyNzgwaeg^TTPGA^_^nI?M)HUP3 zatfYLq_wPA` zZP8SBPptwO&UB#X^47@lW0oHoJaGNfBMjqnHum%h+OFNWHi$pqb5+(>lRmvOXkDr4 zI)6NClV%Uf>GPp%}6K1p<9 zbh*rLfIJrMv!NdwI5jI z7+>ZXP`y5tR;NaP&&GS==zsMk=eeAN<;TyTul;IkBZgk`MqeNodh>j6e!P*B!v%b` zfwdR>w`cw2-SmZ6m^xN(USw^vJ((!4w#E76Xdpzw7azU7WyybN3!3+13^}ANg`E>ezr)Jma=|e|GUWGGD(45O$;#0h@Y^R`K8{Dp4 zD+P?4*xl^L8~7#SU%B!ZhYml#HHwvnCM55{p8G8h4yDR42xz}xTfwZv8?aj^VqS%< zLV=dfkoX(EUwtwP19!<05B2!iJSm@Xd+2D78x19&)U2?Rx=Il-DH|FG{yvo1(+i4$ zZRL%^Fx-*`qJg>6?*L?`MA9om&)|pIFF+AW?Fow#+x=D%8B2^gSsH#~CH7o3Z&OHC z5C5ScuhC)B-EJgCDV&45C}W`3D|6&+_OmM$-%E)L;$8yRWAAW$>j5qFRGp2s68NGIN@;;Lu&BcHG4RCFY^ zjnC_g46fc3DPNt@6w{$jOF~|^_CfmkP`>yb{ayR8twnD5w@hG#{e6aK)vjB?pu5v5 z6&QxdbWswBXu8k4P~y3XvwhL^%e|~$OFNV0GS}N>q!YPLy_z1Je%BuU4toMI?CKT* zr)+wM`uw(*xEKRq9;Q1$7t_s^(ScgY^)#RTzsiIs8I$#EDM0%dod^a(ZK7QSgnsW- ziPiQir_1%aV^rRMVjZQ2JpXc%Q37((&TFaed7q(qE7Y8;>Fq5;!59hQxC1=LYt0qx zs?l*r%>I24a<5@E$%cxmY`W?4%Alq6w`V@}8_EzTXhb-ejeVLJ!} zw9;IG07WF#*o%%|zbGM=(^U^4^NlWRCCsuaA=A=+U4nAGtNT6HbaHz0Nk0PajBy6a!Um^Tta&DUX)i%isF zQ?a+M$~W`tPiPf(vtB=ww~GE_dG=4Z42On;_D0mz_u96^P7F5{O;>R<0-9A^2$sOq z-CK!wDKXqp^tt3uNZ1|mVHJ5K=slO>O?wcMb8|9mZ@vcknr|VuT}_3M@|Fi~&r1B> z(ePqdXLcATSfAC7^^tbuZY)bYvry2R`r$l}sApbQzWYgX3aTEpP4xI)M7%*?mkWsX z?IMOy2b2lx>OU5k#kihZtLVk&=Mf_`#L&O%}7@L4sYco#&inUNLKX(`ND&)Fhb-el)j)e@T*QQCm6*t%dk= zv?e`5Gu>7FV|iY-)z3euw9wGFrTL=>b>aI)ICd8<$?tzsQ_d})A@KzPlp z344-VUP|)qb(=)XDE&n(?YClar{2K5UO1vF{6pZiZ>OF=%}1sSug=v)g%ZP|v$&ai zLXheT2xI~+d5eXX)b|?PM}P`3BOXxs=WG6g{d=(mBDZd^hQ8+&$Tz?K-d+Vy&)P-4=cwtEQDdfr zauU7Os7GI+kYSl&~MTaZCRA>V09sYzB>un5>OxhyC7cVevK8fuykvxkQCkQ6$v z#lpP=y1OS6O5{US*;&$V4b(CiRVIAP4htiAlTZIf<^EWak&Qn&D__LAu2jbG#tS{W zd}J$+q4}PLA~0mzGEz?Mhu&erB)9LXR3+wfydNw@A7RvoLC% zs(gx)F+Fiybafy~IV2QW5E~EsU71#5HO#*M*k+PqU~c#aO#=kNGPk%^puO9Y*7!Yp zO>$7%hdGA&t3d)~g9t6*H3e#Hxe-9negcCP{q6T?j|A6-bLHDxvLL?#fe>EH$F9c% zHF~LAjG+x!u6D85o{|*bpz;cnNJ&IOcBgC0*D(q=jj|m=PR1T1ePpt}HKnw!$TYu- z4tb4aRh<0vG9@uSpwlRT7epXKn;tK}7#pQwGOvftzJpk-ntk1Ra{o;ulrASwkck`f z=!KLLN@AIu;w|eqsbUmmc%vFcmJ(52lnp`SPs3xT(~@1~O}xy>9gi5WAGQ&nV%|_V z6c%Uiag^Ud$(kOVo)gd8k5L;|!G5rSd6D`F#bN|$7?MAC_PRsXH+Ld|?YiZ6LKR%? zOSjh=HQ!ZY&P%tIF8@9s_F}8Yoly768XU7De!j378=Qnx5H9VXuCpw$o@YBb93OYu zE4tBxf`V7!8bD!4;ePoaaeti_mpPJPdn8v|50mRy3u3NVb& zs=G#%>EKL=rc+un>z%}A<{er!pQN+|e_(uM<3;ye!w(Qa@35yFx%o-=J5Pn*o7L0t zGcCk{M8v!HoI4{vy}y44k6MQ)E)fLXBC_|Asm}&~=8uwQx!)m8%b=4sPP%<59*cV&-|weEHB|2wtiGbOc>rFo-?;PB zyj(U*=m)w(D@&-^y!`8ro1wYnf1>if-rm3(O@6y}dNb(b90@Y;0rB0kX`9tlJtXi?cFKot01uq>%+24B_&pt%gjPP7nm0^lB zagfUYkrofd7xP=Z=Z2}hT928zn>ce&I&+Z|6_qY(t#Ka>wCVby11K^yqUs0oJM`%I zcW;r>pG1F~yjv$RS#qkhdI|@xZ$o#U{osy}XNmv(93=rHC1ICG$sSKx7{jt-vi6$s zC=552EkWfT7gFT_j|A)^Pt&ED)pMTSDmcJt2GkVxUCQuJH8rAuS$J_blX#-WiOty9 z_<8BtRjkbl4#r~9L&RkT;nlbvt21ILQYt)w;sq@{Wj~ybwq~)5 zYzsrP*O^#4nV;10H#nOAkbzlIBsYDPTq(=+3)-v~aRb@|Ve zJA;2kd6%cPXFoGg>F1QNZl5}o$y6`ld1mpQZ_s^XSs#hg+)x*1WNBY$c{;PhY3Q=} z;NT+@DTK%}n^1e>)}7gINlanVA+FV7^}z(?kJi;+uWM#CnoH#Z`}8T~FL>`=bReJ5 z`{>k7CeHr$6I$xEUySXVv%B&t?o|eF?X}1dF-~74%}t4y(YnMG4$LzV+9#FQ-v_YH z^o2_xP4nxwGz5gxnyCFA&d%G9w6xYUTLVPpJ^DfE6wRVPpNiK}F^q&u2R7 z3gqn%f{%8>DdpO?M7Cm$({B*D4rWfi78YpBQ80JCu_>?>yKGxYCe2;6J4j@C)rs!p z;OkF_BHySg7{J_(A)<<#;l#3HH-Nw*|KWO$Q8IK(oaC(~&WYz=sxlX!BKb_(@S5^; zvit+D%`ab>pg$s^YH(#OtFNpcE-f0-?yh{hXZWE5g{&a7 z*IWQ}mpclzUZj5=-iS^~(N%&|y*cXxy%hmJ4gK|tflMQ%VmMuZ4#_?}^t??P-JY#9{xegndf%pPgF{K zUo*t%TG_r{`8=r2IvV%1##2zKcGQ1p|0Vlnh6vq)(eC5YE?jrtZDQJp_8T{Zk7(zo zY-wtKpZ(NBzAqc%qH7eC#7JV8A~O$CYl)JGsY^Wej5|4tkOj3}88;?Cy+jt?)}0c* zpHxbu$Z-alk4quVD!|n*LRM;?#u!z@4(T(kAM8O58t7W5Djto@x|=-iy=Vp05BUnrldW{CIU8o>38e9PvZxZZ5+}~4S>4!cQf8q$EvL(z>mcD2 z91=YA-~e-c<_xk?gGECP25@gjosMT;M^Cu~5eSMr4Un`dgk3IZ;uQZd2gnp~alVdz zT%)^2O`YBC0z9iurPA!!U9Q98L)cR?>GLfCkPK}G41-v@h2>1*5}#ch7rn5yz}7JK zn}DF<BdGegg7&Uv0oCY4T2!+rIb!7L>T&3q|d-zmDch%vGy zRw$Kx2uol+!CVzq>^Dyp;&C98-*NYXCN*9ZMpZ@KT(Tf*+przn)vKRFlk|hO zgJ}>It65+o_R2#RLCWjH&{-RY^7GFx%#RyBhx1=gzxP5HPLGFl2qKT!k+o=Tb+oz7 z(8%KM(XvFYc2nVbPl=YL>L#-HD|4Yx4UxT2Qdy8;Xn@WUQ~)L7!0Ov85T=hM093H#s)RTQy! z1!b?htl&7#e9^P@@<;FABZ-yL$?CLQQ;UlE5Dpb2X>VYJ4zq+1qB$tZy?X)erd8f) z?WP1I$^%=)CX1-59g{a#cwQ&}rZD!Ayj2m_(s~>$(2oJH<4H)e58H}gQANWUV;fx& zAaU0ao%RmvlD#|N>bl5A77g1DX~Lk?J{7rR)RG)7-+nxih(4*$?NbFvexCY)!yU}5 z;|(w0v){>4tv^$tp)er{%r#Xmc$mi0*Peznw4) z?p?j0>oL!N{H_)P7Q9M8868A6EIe2jKNAj1ZBjM&n6iy^bRv8G3f9-9mdu#NBXSdcs|X2+p_SRUIid<38LMF&CUd*XvW!uFL6d&v*03xu}}ZXD$n2Vgm2T5UW=) zaTgAnA_kggqxmiScO8g)PCO$&S6B|pc?dpfb|_Z;HFN7Ib|cV1}ykoAxJwbKvM*@|!V{L~PX;H3DmvjFg&a@RW!v&^6HrXfj=4u$^mQzC4=?ijvX$rg@`I;1boP zu~o4V!LX>jDY2+&h23g*Od{PFB-1p@oXO_A*3?%|-AB$(h821q%mX%6xeyB0$dnW& zt0_L&0{`!r%8wsEej_RGqY-pNW$*hH<0K_A4rY%hg=SzMuPj?JXn4| z@K7R%A_@cObxDF<_=8*i$&(KQf61^~ zK+UOlbHiQ_?V=#NhnZ1M2hkpmvc*r$h(|@eEG3%s4@yV;ZkCdK=Y9Y^wClPhu(RXA zQzaS0IneP1h#=Rm;WWotI0I(gIh$k2yNCJCK$O*A6dpcy&(BAgr6w?M#+v;sa`|rJ z3%74$>p!?18c@v6+huIoohtkS!8l&JG;&E3XeXYKAYC+Y20}Vry4u^{LH>G zbx;*q&sa%UcQ4qp?>#rkrylnX(FZP*ssWGI-ttt1wr;t)x+_g*sR49?ord#{JEX>v zx;nORLtjpJ{&m*Z;>3?FDwNYJ{aMB8NnDm&;XCERd<3i!G|c3x#%UPx_w0YI)=Ng- z*11vETtuRrG~D>rJn3D%xRJ-pd~H-?j$T(SdUdl68FI1&~rat@7_29 z(UZ&KUHqbMa+`y_nzsAUt4mNr8?*k%DOoK_&wr)2W8q-pN^~`6A(D$lDJ%I%{^Gg8 z>S+|~CZYmf?{$Z>saH7pN>!fotAwj1MzcOY2Y26^f3OFJ;0G^l^PAW97SRtf42-yI zHc>16>T)pY?n1O%JEuxv{^8YkmBbgl&V!EjmS~ukw7OvieBgq!5Zdb_=!_O)ihHX3 z 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கMFa#wj0+QJoE$0kg3%vJR4dAfGbXGB z0?2I-GHL*v$7r>ojR_10co6++M5SQg_2`$gOj>Foo>Q+y<3qoY{r-JNJ(LQlvR@sA(*xo(a1t)-yW8uo%Cd+zzCqy zCTS;VG=jk8;NWn)Kde``?lE1|=FV1AK zzQj~snqJK`lYU{j zQgsA`c`XOiM3p&^8Td|4FnMm}R7@WnkW~AstF^TjvpUw@DQHKTB?XoixZGN(;V7}+ z6RY$PQ6_k|S5lGLHeJ+yxY%%|lsM{oWohn>@0H`T<-1$Bn3Dsn^952;5PC^L?hZf~ z!|x9t2$qZ-U$}JJ@`YI7L69hLWt$rQ$}I10{~70Kl}PR zeto=Ahk#U2Tc$lUaoQbuQl@hG*a*!r`3pKV@YetAR~N&~bp50cPsqE<$Bjr=)=0kv zmuBV_=FDPNPyW4s-UkeQrp*YrG6G5G7-U`@`0h=BZcJ7c_MPVr4n7;rVm1!0vaA}j zQwdS#SCnIC75%ngpb^c4H;N{Ut43s*spQQOt7KSY8w|Hb=j|Ccd3os{y) z$>)1{9XRDn;sJNBUTDkO0V}V{*jCkuSR%a3DAlN`e$s7rEK`X3Zu)_U$ErHO;&pRx zG3jyr5orTXI~0w7}dPp0B-KL-#y+`q8b!1Ru z{a_XqC^aBdq<3>v9G8A~%Du)KWMO)sM6G*`2sQ*9D^Q-HZK?*Yp1?{wl?cj?y=*&E9w=srZEHAHR^ck)hE6h1 ziCKjPBm^`$e={ae5Vgccy;a{sGqqhPZW+Z?Ufe%Q=&d12E&d#9S~e^xGW_`LNnuZ= zSt`@hxm%blVUVI+lA%KuwE&qB7eyrS~`NE5^p%l+kZTmHs}SbAt$ zk|Ya|Fn!fJTNR%8r`$_aDyhw~f;Br|AZe;j^fMtBX!5CJs%$F5&Ro!E@x$JAXY~IU zb6*)2RoDJIfQpoeAgLgtfCADXHDG{}qBIgpN{UD`3}66KB1lS0NJ@jm(4EpbboT%Q z%rJA-_`LDF*ZIHaI-kyUzQCTn_v}4;ue#U0esKrv9xZzOIb;>KF!*qCsNaLADfkb4 zzUCY=Y8^Qg%qpWF32)QZ)=tgMr38{pVwg~XP<{!9{!d}`fX?^eaJEw@Nu6o5OI>?+RgBY_Y21?%?_LO@I@di(NKu>L`eE z>bDGz6Enb$d>)3Z#cfMFZ<-P%hmzrs%bZ3l+{B_~rH`9L1i85%3ArsY@#p4&`V3YJ zbwM(rP8n$>(g0N8Eu1!&lhl?uN*U5nvB!}b!bX78oL8g zN&lc*W;@2m0tb~|*ARXMBKI^;i@1n)qdqOVq5U=85iN@H_}CRjb`VQa~i$7M)*Q zOb4nv^5}`Yr23kZCZ*P|BK10VV)@G)2Cn$N7{0{y@%cJts<5E;ezYQ6iQ0v>(3?rB zB-FIHo%(lktEN&!kX$HY8yOU_+|4bt)bL!t`4n#QyQ%eILKrDAw(+&6@>P$6z^^?_ z5XrYp?}2*&_q0D40)l*f%f_@pChR;}q2cG30*nc;q++qeIDOP1{H?_bt)0l6&A z(PV7t4M$?8*nnku>~2qs&vIoiSbm_qaG^}lEhs2xc3H>3_i@fpYI3qqC+h|P;an`$ z&+ASF;t6l!zpQI%X#slnOc|*(gn(%P0PuGJuL2g1FETUVX2OFC(@OmFj)DmcfPCx0 z>ZO1UebRO^l0Si840J)TQ%eS=j}jbw9AV(vDoL^3UHd@I%Zd7EJGzHKZ@98%xA)md zEwv9&{O@Vj>xBxp*5y$<@^>-ZL?zTK)hQdF$>Wp;!Yk`5!l=6?dUk9QYZLn%C9!#B z1| z&v{}(zuMEN7BAKf;{VoGN%R>=5JQeIzVT$H?fvo)X&k;_(_b2gM=s+XvWyaqG6A_i zz^t|q)5SR7K7MmMus@u=Z@r|gtwS*x!9NNsHTfvqS*Fc{nNVE*(D(B-=usYx9Rh6* zIV1ZE_Zk~!)1F!4*%PLXf19?zt#m8Qf>CDEUsPXO=}NryfD_I(O&!Q7M>7i}^~y>o zgO|xL#=UJFt>MpxW#FOTegy!XfYpPnb0Mb(+e$#uG`%KDkF%mWgbQfJf}sT{HgNM4 zTcm(tBn4=rN+$Gh3LA!a|D-l{F~-eyp&FwTc&b*OtWT!JmwypL_NFJcw$pOGzH{J} zU|Q|Abj+~Zh2l?rRWf9|o5xFRBHEDTj(e!}vRA1Oy(%szgv1=M`8*C&ivrpOyvJ6d z607~~DzCY1@+Pr8Y1xF0^mvu>Lz%8z=`ut-j^O+aJN`7nsT!A6gwKQU zmFV*UMBh!63^(_AK|w)+ItF1SucfK!8rTE+xxV#-^A|3B)XrHn@GVLf{dc zs#@OH$NddNUrkc$(;nfY70Tv7a=30%99%#rjRQ zj2842sX9rzHMOir__G|A(lF`0^xPr;Rh-i2`Sg*X+g5$t6>{rQ~? zpqc^3_UsK$9{;ZimU_#!M4#efCEfr#u!{gi4ovRb8JF7^+9MuBE4cO@cYaK!W zk17A!DZ)PIERU42x!Aqj{Ci)=tV}y{=v@J;ah2s|#Mhov=B6nUun_TOx3_AeS|)vH zh&wO;qk@Y8pYGW4?=@>pqsr@3E+E0fzp&(4p>2>!Cq06Oi;KSptB|`6PgY@aI3t49 z)zXp$s~OGtqZ{N2K2%|__(Q; z1UxU9LBPe!tlUia>;wQzwP@k5;)C|E94Df3sjUaL?5|~%imv0f-w{v*A&xzdmM}=t zym7(2JeUU2@f?>nS!666ERi_hesennXpo$dmjhlKfS~ZAQ1^3EQW#iIJMRYp0hE?d zp(t}m$Z>wZ6%YV(FzrFT1RgS}zzt7?nJQR;1F)UGog;I%ngbstYdcoh@$<-a%>tXAVFL)p3r)d6B%Mc*b_UtwP(VjXFcys9s9seh}>aiS+D{O4lhe_+w_F#i`3 zk#_Os+y_l;#VguSR+&#AaZgA1&n9ly&`j|oI}8uT?=-9h1du{ttV5G43h@D?VKDG$eqC1|cLceP`$bQZMJ;Su1!we0UaY6U_Cz zj^CtYXOjaz$Ab?LTO!Ez8gpFbSU!H?e}m!6tj zi>zM`tlm4{`IeuX`|~v1jowTC=sdO# z6&ckz_>I2AJ0ZE9>Jis9Q_$`fT~woYu3Dc0!l>w?+ldfgPsSaIubT`lJwHSy0_;%x zTg%uj>nQp1T2kF^qo_?Dak#Sb(5`&U@z&b0u|-49DO3)HFK@x(oegX9f!<78hnjHc zCa&I`q{~j+(|N7~!cXv@Jd=R>tPk*V<03=Lix>fzUntYeG2ud=+_RS!O1e2y@8o zoE^x_&|QkN#}1`Ojsu+jC%Fk++ua@-geh&L;{{!1Bskdx3>HahW7Po-a&*ACsT zx}%C4G&7u7FLp^BjeennqDbOc7zYqbfRO^yBH~R)%L@w?H*gB3g`IQ!BibCep&_jz zWNHM`>v(hLCf4QXOQdh2mzb*ce0PVIG5N${LUS3+QUk0DcXf4EJk67LuXNV<%xrKm z_xVA(iJ^~K!&hr6Az}Ws5 zj@Qr@l^b5-EAE@cD>6ve}o&PDWcX%^LZyuO3_iD_K=5vR34~p##uiUy8*K^*^N4GcLxr)LQASkE^Xmw9!50l@ zG;jt~1esGXH_FqtNdvCbzr_mQGCW_I@iIvuEQ=z!zCVMLM~`~8|3#Y`Q*e> z0i&4wU&k8(>7Dcx)|U0)i2=wahm|lJ(G->{I7zHnQ-yFq6`_B77)S$Aa9#iFtAG4d?%lvA{}*_ ze>g{?`13Zz+N{2_xGT1wN8HQZGDRn9p>aU`41ur#bIqfchTVUnmpXj_?W}Wk#_C;$ zh<>(=6;9K!KiccL*ZU(&u0k8Q;h3fYXyV2Eq3epxw;8|cq@j@HC-@(SYDz^GkwwmzQ{~%9rEqY)ZGfUyyn; zp~sxkBY5}N`tD$(%Gu5dNN<;5oxZnBodWc>Gz0*Nw7Q#?Yeu|a?lbMNe%5+BMQ>1D zD_<#%-EVnJ!(L|;2nC{&Xg=@xpTwelw1gL_ZP=dI4X8u;I^a3--rlnJfTY;`JO@*V zt;5mh&lk0p;UNlX)}FP-2PpXNOW#ePlrDmY+jQYaCVYTWh7hV-gJql6;$yt@{E!B) ze&2h8x_}HbH(&j?a>GBw9g>)~_JUm%?UdF#I=iLr8ATwpEb<2;x#Oq%c291mnioMZbv_rA|R)aFu8oUvBw zOhOa#aDvA$qm!-`OH8dgm~PKxg}7q%uEdpE-Q;`l8YoKK5%w6X-FB{JV4!~^n!ea; zrW{-#+iI=fS#ch+JMw=kN9Y+f{%P#h>@H zePKDt%zXB*_Y++!{ZH|Wf4?74WIgnHTAG^4U@kb}-q~$`=+1%X6aVhMLYOj|apJ+m zYKOp$&&{i@z5--qV?=}SXaoV&0zPo_^DCN}-5>;ywRjw+0i68(EV(ox3qF07ou8t2 zzWUDtERJn=fd>GO-t{`#vRcX-=zSP1F6rrcTmUrS0c#iIkVt67s`A*jP(lU6QqWHJ zkB=^9{=UTMR>ET6ie{jv`_EExbGu$ux`XLnQIU{6({6qu{;MTI z7zHFa(7kx(M#IEE3M__z>?gX6FW@1WHp|b_iPx`4g`W8Ql=KYwBezjAJv2%(Z7VdK zqssTZKk27j(tjLDG{WaMH#Xis`JpaF{cZDL?vsoOGl#3osvnTh9WQa-9KQ@cq<*R` zu9-G0B=s^)tFER5gO~H+x4qq6`6o{iv{%sgSIlZz1KSds3vW~Y~2>ZAkA1W#UcdSrp7GMi0%ACbMqnRQd;r|R~qMF zH$}Vh)LM>&H?;Yc0zRa-;JT$+tfV0dBq39lHECi-eb|Ea#nOg+d}#h6G*-(z6K8Rl~wwP zLIln*B<-oN&2TOa!7p>$N{hkZ!%`MdFK~5ci}Dg_RY=Qf3(#5SrJIgFNM*b@QqxU;#fNDXKx4B&*@`3MZHqxXg>NYU#|h#4%-4k(wPt#bAr^+ z{@z~x0RQxfN~@k!*ilsxbi*^zN zF_DvUZOSX=TE)Dt6@dhYr|AgzW&elI_xnIufK)D+vpyyBuq0gfFd6ifCULpcq2pf% zT_Ux*i|T;V2y83F5RtO)YxPaywkRH?D9C%pzYe<|U~|%P-$b3=&PwQ9Mo?e~vDy+A zUPJX?)HSYsn^(9m_dh9o$X^tvX4?55q(6WjND9R4zX*f8C;m*N{y$%iT<)Co|EMJ* z&kgzi<3=Oh!`+YPhPF_gnaNK}@F`h;JxJdHoBZzI6-{1?{-qe>g*|fAC>SAu=$BgG z{CPMys7V6>G(-a2ZD(x*aHZ1&qrm*;hYS~&;;-&!Nrg_!YK2)@=l=kC&cFPdP{t;8 z{EGF&FS6l+@%Jf>o)iY+T!E%sp>?rN(Rq$!hjec1Y*Mco!Jg0KBjA)fGF6TvmbO#h zZn&(Dsb0=I3GFN-@fUpS=3swXxm>2$guvZtYK|BhHFYCtd}&i!wxN0nL)!DOcw)-2 z)lPnN7d_IDm%-oawP!>Fd0USEeQmBl8(y}Nmta-S23OoHkE^XoWY(wp0sSKd44x!N zbcBVV-B|*lCx6rmK+Zj{&VUV4T~m{O2s*|;+7K5E@n9YV{nP#YO93W;C2jf~mhd(n z4+GS37kckYX!oUu&sCI3OcK5=zVPcjD7Tw97twy>>cIK|fl;jkYXOko=5HIeRyI9Q zu*eM-)-NBnGzS(224<`H2;_m!fq;Sx@%gm(=Dp&B*TS<-wnlY2cn{}mHxtNcg?QvqG-F7c zAf2O>>nHepD8fHU?TYwII$nB;OP4NP9KS)V@q(tUt6O1u(H2l2?gNX(sf>^;;N>K} z&m|+F_KW|Iy?e*@Fqi|kF%UuIo<6zoqdKLRnYYtgrE-ZMPm-w#U*veE@dAFbu z#l@AA0!L%K2A0JY`!^k(3dc1qKitvo{2T>;ZGc60e3~9=X=l({P`RY%ei3qG6zsN& z_>q6+@I+lL){nu+iw0C%H^9E!U5LE({D6s!jO?YFi&)eh<4|=5{+7%j1`cs?1_A@# z_|C2R=?aOh^owXvX8h5SKC#=mY|7F6ir{?klyuwgy!LXmf~-pHrXF;-y@-$t21Rvm z^~>kIc4%Fk??Aex_^SVErcv8WYVT+D+QLE!ml*+2tigq}idj!TJ(E3l*{FLFU%RtL zB8>2R=Xdc6-5H3R?e7N!Ga^~BSJxqrT0PJkuOh;;BXNKl-=D8)Q(`l~4EU#vvTwP; zp+LaexXvr`;7^G*A26XO4+Gpl%aDk|Q~i2dLjekP>vS1<^L}u2{;942YI7Qnqa~Cy zIM%v{sJ~i%b~bT>b@mb-TnKm$O1B_Vnv!A*UeJV7-NAvs=cy@Y-fRI{2eQht*P}Vf z-`g~dP}Up23nShd+t(_7czCVk@%y*A%B^ZUI|G5z2ShomJ>CmDeU`yMkQ!@`;{0wT z!G8*nBnE&H$`=o)o5Dz8r@W=AYJQ~Mw5Fvm#1P+qzy^d@|JL8WU$4jjN&_1~uU;Kl z&EA8^nLj*xo9Fi0Bo2JKMQe16_IZA9;sn!P>yE%I2{CcsZrQ|6f5V5P^&>}V89U|- zl~_L@cZB3@h9b0S;RuCRwx0<8K(@PvJ22h3o9!&nst z2~M!l(O3$A;Q9#2I{*gkeSB;Q8P3%#o$D%c` zzYe<>)W2|Y5J&)jSN~q3kzSMfUf+z@K(f1~cXNEQ8H*nS`SL;;Yt`khN!zBw6{-*g zry&4+OF|=u{DBejBgAIwyG$~EapYJ`C#Heq7tUsK1WxE&;eV61vS(F=vC^@zg#k?( zz&ok}E%LXZdY-m5Y3|LL#V{S>L$BG{S+ViM4J3l??%lhe);nVbUJy3`BII~i><$Xm zcr`%^Xw)bx{oF3@)g&7y;ZR7nEHDCyjz6@(3#g@DLK~DlUZ8D07+n|!gGT!Au!5Rn z5y<-Y-fCCbMUUDyuw<9t>aw#pKu%SAD|}O`z3AoOZ#J=tOx0l;p0gb`#Q8wr=4dtA z7@{j|eBUoGHXj(^B!hkD$;#rkx*|H4+q*lXJD&37@n<@tELMIW+#!^7 zg5+B{%!R8ENNXso#?8ZAtaEg}D-i@3eYJojq=2L>D>zVJSrYWgh7(XQk65R60JXA! z2@i_x12FG|oNYDEhvyvu)%oBY_pR?FqyqWQ%5U|{Q{Qu!7p zPIL_VgLQN&#|r5CZiVXo&QzNgJYb~1lbB@V@AY75j2woRtim`ro*Wi1!Y9+`6Uq~p3-f&hw{bo{MSKXiwj0YpYn3o zgiHGX;sT;*;N6G$5*r@^N}XVZ`<)W&3p;r+f+QMaOTGVD{fBr1=8iH|rHy zV$hi1?|go8i~jAYBB&C;O-3Edhv_ zD9+ezrS*woi*Dvsv55#)$QB^HV>HRfWkfMk#j-bU+;}uZ7Rf0+`b@%UtEi1L`ikm) z_2JUM@9%V;-=1Ow#@9(c7pX2_1cV}o5%h;QC59e^j3Bgf?jF8Q%?sqx#5y|?h@Wv)HLGl4CD))SfYRPA-z%JLD|vol!phO@XG%5dfg6Z zTi`$qrQZmz&;7%p7trSP@CZn*H-=p^|FlfL30Z5rf-n@!%YIo*@EE4a5=G`E)$oM_ zuIwmlspse7`Bt@rC$?-ZmEIZ}G=A2%b4TYlH$xg4?lm85I+|^Gy16B1XDjJP)|v7j z#Vymtwr|bOzHpM}f>Pf-cK>9(M5pv zzt!sk;xmnaeQa00x}Ga*OLxYE)$Tl3+>2w&JbgiV+`8To|+=wMlq z_v_HG|}Z>qx2Bo~-czsvt4w zHxizzM!(Y1)}90UZch)sC8!>Ww%AgZp*berX{c^=zR7+luNw6NHsN3n#4I2_fa#fS zBdj`1N{CVcq*o{6GLLrO<&t22K(31F`-y0&3}1()=PTRqySo`ObbBs8%QY_jQE!OP zGcFDEyyf-_S8!8S*2s!`7a;K&siL@5rFr$!^qxh28D9= z&`D+l-h)%S1v7%{AlLbh)$do}o>f8Lo+2d*@Cf|TEy6=JbysiYyLhcH-4Fybq+Io{ z7yRbb0TfSm35rSSpSwTFf(#OO`gVj@T}qK4e1Q%=hu_8E{TvAIXK?YO@C<)OI{WS0 zO3tV$6M<{O!o@vd%7`n28#3_24ZSUWm3Obi6m*B%qc%y`Hi%X`fV)>tZ)J5gHXB`u zAf>zfI3s@Sxqvkc8nth-A(we{etZdu177f8@OVA9|0>!X@f6f(!0pnz>;4I0 zGf%CH_B1Yh`JuaZ$9fj@1(jEqi6Kia-*~keFZq&EYSw$DqEC3|29mi6+OX=%!D*F=W;4nwM9akZA z1@Dp6So*Hzx$Y~INboOJ5F>C;2fI_9%iO!u%VJp`!e_Q6k%P)hx6IEA1Rw1 zPTzrHgyA91m>L|c$c9TfTq9C&lA-qgzrguQwO2ajMdTBLf^#KU+(#;wiq+ybs5iLX zF!*S&;y{LK<+&5=F^aJdfe=~x1CvxL+-(&dJ;mIC)FCnueue5aA496j=22(aAQ1As zqKd7`TO+RTc@D;!V=SD3B>~HBVHALC~}noVwLJZ z42h|9m*A%#2_+ZBIrWQ)HZccfc-ww?-2ilml*-MG$YRDQ@F3}+i-y zRGm}`+?Pq4)Nt+ao0yiDx&!Iowgpc1q z#jsA+_BXRZrpJDrn`%{S@z}@K~Yb>F%HRSyxuq9vpa_Ae5IIvPjZtU3oB|xMY-KlQSX8UO z8(dAZ$IjDx@o=iKaY&qWpURXeD0>?Zp^rfBHIS{FZUb`$QVc&Ob|oIY>s>8jwK?t) zhIeM#S&<|<2RR36=bR}|>Ls!wUx_2;GdZ0NNNE;;unYLST9m5j4Ra^U6mZCStb(2K zCW6cv9cwh%^)@7<9=^e8U=LAuZyc_-mQp(u3x-v)oxdeN$palfZ2cBWkS6V~?NokW z5bqp3Q0q_Lm_(m-uT7{Hv-TB;TN|#W{CwL^JaAPX?hFAf~c$l6PB; zkshp_PUHfvQilb4M1be1(;KuZ%nbDG2=DIak z(xPeIS8JM=-Nd~PPz94ThV#5vZ6EE_oJ($-6mgBZGKGpow5Fm7XQ;RYN;eA3~i+4-`Q50k4op!9XWNc> zLqGtrR0dfBy)eY5EHD01T%P`*(K~R&XM*MD(2(aNvl zp_x(aou(2V`zyYHUj&xp0k8<@b1t0VNOc(?litzufwckGsPoTNdtG77<Vza8|9hxHWvREqjBB~oFMZXw);%Yl7DZgOeu>235ywXws z3i0bV?aH|8YvI)Gr0~H>l{m-a@*^_FWi9X=!^p)e&`Y7XOI$8B zBi65{2Sn8#jKnc|S&Fu}JJm8=WFl^o;Xc**Bo(TUaoUfT5WM~#&i0%J@6Sgz`uh$p zdzV30^=Aw5S}Pn)T_--aJK2h3QI$^R@FC(bWWW=aP=0SmxtbV1|0cmwx1omKxqP@+ zC_2RvKf&6oG!Ne@dI)jMxe%C3U5pnzOK9m+sJ;C4F3`=*ab^Nj#r(x zIoJZ(r1OtRDf|)5^+ifXi5c@P**dj5%U;TIKd^CNgO3+p%yj zdzkLtq)4G*&Uj!_7nc0N2di{saOB`66~hwUnUwAI?N@2$1qrdnzL!jIGQe6`=34@< zjw=k`T~^jc8Gb!N2-<%e6_I8<+?9ZF1{wSl)w}SKR`~zY6YIoB0OIpcTyNL;`R>1a zV!={WA68EGB!F-t^GJO92rqC-S{PUxXeMb4e4u{F>YsFv1FuZe1;21&{?pEk&M(Ja z0vMleJD|xaJ0Erz{>T_I>R$Zt{2wG_mgwx_IqX#N*3xf(0>rJ%en|V5u@(1&Cnlfw z;~noDP)6N(hC5kr=gJ6_muDB#KOFz?@g5!h5&?$`92XgB2U2_Pj>HrI6+LW)|HGPT zhQr-Q>IeXe{FCS1hI%WN#BC>XQ>^na2~b+pU6FSCtn6}#W`o`=v(Y05c+dwQB&Odi zY*Q$FQ{|g|DOW7pwv7h;L!D35FnXa$8GMt%$Jj-((;MA0#l`*Ws<$vLEtL)bF)Z*^;>F?qrOF09r zIlNOp(~Z+*M0QIOQ?J1Q>FlgOTZ=eSmm#j*p}6-9>o%M)ic(S!Uc26w7D~h~o)VTB z<*Re9qFC0dB<09sk;%-RQYW2Q$!y3%TIdHK?`3x})6a&wAFjOn(0NQ4PZ@`DFAJ$} zHNv+iLw~5R7cM-bO+0n_`4(~9IuP#uhK+$lVk>0(Asg&Qs?_wyg+UR`+FjqbT~1p( zqO>$ueHN0g^?uPQq3(roHi%#P%69XS-J5wR5K>T}a&C1<=c!ylqhfE^PwM9kr58)- zD-5%uz1Uf~+vkLEdmA>87)_$w+yvs*@8l+Ujde#>rV68=+!mXCDLIwk`PL2i`y^SD zZb>wbY~`8h-PybA1^aJjy4bJrBqfzeUkGQHo7gIH)YWvtDf$*+)-0NN(lM_OxsEvJ znAS1g!ZgU|xnJEYV$WZ}(jgy6H=0w%(l2gwZ?2P(QM=-Hi^$5{ zaE9Xo?f0W3D7l$g4lRD=e6sn-_z{JHb#2sl?=VBv`E|2q9uWA{UY=bfiHuenn}#=7 z|LT=3BylBXygPSx25bDY_mYk#8-)1&RcPC1(#Yt0i8p)GsSi&?f3>O9Y&junDcvl} zlrtQ>?S8vIQVC(|7NnJ5rii(Jqj6&Vtc%q5C5b_K=Abka3R(~aJY67&yzZrQGi{4e zT>PCv-?cLB$Vs8v_%57ml<{}939}0RsTz?|aJ@;3mu3L{trn$xm=!ZC@03N0r+-;^ zMW&WhHRu@HCf>tMCna_hr@O;J4|4VKtIsUEd$qgonbZJ)Z-u1cb9B6^X~S-V;_^)< zBd`miO{>OsG2>J1zL=(Ibzz|idT}hPnlR3{1&fPq$x8AA)L*(_3W)d#v2ZgKvk~m# zuHf+uCK9)nR%uZ$OqD@B$h_SZtj$4TTzk=XReVTs-hUMuP_24IFtsV_f|o($WjU*P zAdpf8OOKPYw^(%SAMN?Q5`abgIP>Adu}O>V6O)T*6)X2cL181)m-@-hIc1E{try|t zWK!OfjdKYJ+xJpZF2Y%%#FaFjrCnBFhG<5U#A)JNuK zxy}qSYohab6{{Q5qvZ@vm=>{sBfM~Op7k$0rB#sowpX?X7Bo^KRykli1zAt!QB;to z)^$GsBQc~bLrOStY<}=loqMW z0p6q%_#nxGcl)G1!pNcN-VV}FRC08dQ!fvroZ75UNaQ9+ePXtUFdIoCm+LOobK;QC z>2?HUXETmNI9aI;F6A@hgV3#}VM@CQw|Ji^=-_m3+c}&x(F4ajZ741tA&)_Dk-Fx5 z;<(d1HBlE&)K%B1cVn*wKT40RbO>(=KXX{QB{Fi#AgZ_JBRX%;(bD5@Css{9x>Dtb zO*`7(opw9v6uuK)Zp}3mw{!cNIAS^9fQwM`N9opLcPJ~pN%4;^u7UkaH7DP9#yyqO zN0OL1Vc5AO$%vbee z%Hf#?YbwU=N!V!Zlm{;-=SLedqoh!d@HcCuZxI6?$mzGxc>U`#YJA?0s&7nLXc4(J zQpRk1k8%Ae?(V3~;ZOX86;n!$meD{ClLZm>7NwuUtoDm{Vv`SB-7bPz9B{SLGmDe6 zd;C_LN{(u@LU<60Y`Ioad@b4Gms=yGE_0-S!c46&# zANm!zLmmxM`jZ2h%e=)5_O%bJQ9XK*B~gip*S$1s-rSFzkM=_mX0GW0BufwhS2;6o zbS@*0RMz0T+7Xv5B`+(*w^ziIY?h*Py&^@qV{tHJ zjE56F-oF?+dw5b1`k2mzUG2d`U?%s2_$3~9M#sqg99&I@A7{_zgbYt(RU#TJ2@sx*+LTHQO_2<^ceeHBnw%Cs;J3nfPZ=i`6ZTZA0ykaT@8uw(MP z8R&BHS%&Nt`=(a?(BX3L&{c)Nw2Ej}}+m*~N{COg4WxoQVp| zJ$IO1HjiZc0RZw8Rmy()odKPXUCGP7m!% zJeRlbtEf-{OGAHBHm{4*m6!@^wv%EA^oCKx*x;pjHqb}}u|L8ptv$<_LL*VK57P17-i4$L^spkRW&hCUf(~r@v1sBi+bIaeE3K00~pZ)bkJxW>;TUmp=vD)LBat zzy%$U5l^i#vv*+$5`H;2fRDHii5E1nDDmRApBCWDm;$j}`*{o4!d18qmih@6%m{qL za_Ob@Pg%f}={L2oC(tP*ki}LVt9vHWh7fk%x=G+@eATf%^uk7FtwF`!H2?$ZaoZWj zZYNCajvQtFJgkScRmXhFn!pgdsuMw~BeB^-+{=&lQXVAFT#+^oi1xmLsyT%{FGWg< z6VJo1h8(grDKB~YSUnigeql9!>V0O#dD4_Mc_if(8q;5@#Yp^M{rZDmhPi&+JGWrG zv&gihxSuDR?y7r~oh^46t_&FwPwMGi7+34*{o}M<`D~9R8KYQx$Tohu!13kYh+IS; zx7#m86W2?9`FfkXyq7OIE;4V%5miM%)Y0cf$U^SzjSS1~ZISTEAQ|VOJH6^NoC?>Z z1<0Xxq_xP+Uw0APt|VZ)fg}waFquh8dL4$}pq1Kb)G3(tr<_uw?wcM#9rVAJi6j9YWI%bPHMIxmiCDg z@8CG<*t%NG`F*lB=bb+(bcgEQ=xxy+0(6rH+Cvhx$tNBcduy5_HM4}Fiup>HZ1M?! zpAwv-pP;JW`Q1w%!T6cW7N2Gfb=t2XOAsngGq)q9qAw*jF4K?WzIj6-oaY>sker& zoYYZH0_^h_vZe@&(?mIRe?en$_iMu8hL#W(f_V$ji3Tjuq^erL<^V)&f(?u<;H6Vb z<6~#WEF^w~d0*{5k*QZ5sVxx~Hro^qTO6yGwwm}AILH9#(7p%Vmp{HHr2Tr}orfgZ zk=msZ>3Y&Cpzn`K;Wtp*ud+Sv%jFI z(S)K8(X)DCR6Abv)`!Hyxo(7R{H24LhwFQ0nA~d{NY>Q4Ohsv_%rV#2o~qO&Uo3L3 zX6fB0^&hTOcLtQcVSKLf5wFy_VhWcuhS}~5zCNig4LLpMQv=nn)W}XKi;=O$6;(yO7PVSj9+dkVn*4pP6nCY$$RNreR)a zF&^zCEmo}d2~XInZ&O3-P5`BYYUTP))x$2$b)#(+sKh1iCxztg;a5LxI2&(g>2)u8 zN%V@8v(A5|G5!NBWjggSs|9$;tFG;@N$cpZO91qy>so3vac7CknNISgUsi(Ag0D+~ zJSk@IVbEFkiO}yNT3tJp>%(MHUw#AAyhT$WYvWDu5Cj2ACWf-uv|8vTz=clkn~xQA zc{%-s3yrX>mb6a$M--mU2tpJSV5xA$B{=%le}%XbaDloRd5w=#;&NxwJCB~j1y6J8 zpCM&2?yE)3e$|`3^NN~+_X*wk5$cF0KG@RT*3Df083A_#P%%6NM`@nU-5aD*EuH59 ztRkRv&hX`RAt74^4|6lKN3j7woUPa$Wg!TX>VTMlI6Y+fNX>Sq4cJXge4K6ccM8Mr z%r<_on<$en7$IcdooqH4X%w6w!o2q$92B#wemmy9ez>b% z^SR$@zPAf53Q&&Mvo6CM?$UCqTpScY8m5yD#!R(C?}}I2gtn``YCgE^HF*H&1IB@T z2IcZkc5i)yy3!+SFu-`1cQO4DA~JA$8W!oPQtOGR zlOz?CJooG=KoVwoy708j9E zM8dHaVaKw4B;0s9Sa%$=?a=KOT`pr-&qX2Yc*01uj3@5FFCGzzwqD8%o2A8j#7!y1 z%!LNT9|s0xMFD3vQE=n3b=dSek|dF-M~vW~rzX)^w44Cz?K?}ngtaOE@teA_bb@XH zOf&B+(hXJ_@|_M?7QH^9#Iy4YYQJoa&9y1}Q4eZw{2toY)-Afp@*ie))!d@d#yVAB zVpLls7c;Mx{`fFvmaD_^r=QI{;vxE{fu9T2%#F@O*F%{XQ?3|L_132HqrAa<@O!55 zOun&hjIm;?Mm#gt9UGu}>?9^8t(^L&CJqb?q{Dg!%;N`4w?K6^)XlhXQ zU@Ptg%tjV|sHZwMusr`@*aa(sN2#5xo{WFxJY*XiEklpnS?|vm@E1&FSYVggY7XX+ zxGj~L3BsEVGaRvh_ASa)7d{fRNnrCX+D-Pa@5i!#LzzQz$@a_1(4mBGaa%|2orI93kw{4ifoYCXi^`4COj3vNC;+DGOn*lvAz6^jFDSF1;n@oV!wAk_*5ab386zo|=L;-+6 zg`QfTn;fOxW{Af9DIy3}Nb0q|e-`P#b%wPI&b=|huE=>*9eh(_cqgFlHfB0&? z#h&5P2z6P%!yBcA)FiCUH!DOdrY>X55L#T6a!*=C*SULyn3iaxUQ+mPQU30URFu5NTZg za1yBaZ=M;#xHb=9(;h7U1r;nW(Hip6=idm4e<47@hCS>5*Dikl&wL60VHfxptePqW zc=QH=&K}a2t;OS8nwgRD2?A77`YN3)eKTdNuClV;DFwu|N9FEo!Y;r8jQ;Xvb^`R^ zyyN3Xk1hiIo`6-~HD8?azj2+ZcK|f`dI<5qFhu<(1hb+)kX@_k>bnF1S(O+8Kvd1G zkG%Elb5zth2vDD&dHH`t;nq|`AYDh(l}?#iQA9l@qxT??EN*^9w+Clp|5g`f|L)Wn zaIO)w65!S0Rj7sme|-VuVDObO@bgIJtPnmeDG?EInEqBJ%K?0qa=H0iixxZ6%U%s+ zuwT0d5w`4U0;|@QEHhHBTXeD70Lla8J$SErzT7jjs;OpHv5@`O^T~_QSyBHR+@305 z*HH`nj9$z(d;sv^Pvn}Knls^wtl{>+mmuD}p|cZYI{!jIa;Niiftx+UpE^M5)`oHf z?Z!m_+>!;5vw&X4IbAVHbs(1^VA?|I=HZbF4B}$M?3lF+jHn-Yvu=-Z?Qc^8Iv;r}Cyx=^4NqmZs;`^#KrPo@_Q&)-8eg z1OjSkVPSzg+d&<$mB39xzJI>~gqLPh{8@=1H|!@q0%vN+Fhx`hI zKzLgRYeQ}A?Lc%fG0FRc?2jTUC7bMX>o69fGY^}aC+9UZpYsAO7+HWjBL$=w+W)-c z-+eflDFIH{FHL3$sP?T(mjRP3zu!xL;8E3BS!x)j7Q7iHW)Qfz=sk}qgC+f|m%xS9 z2vdipj*cHqj77IA9R9rV0!cIWKFCLaI6rAdOJ4i(2Oc+?%ltF<=+4s7XvkF%`}th6 z-no5y#wXx>QIMSO{Y%7S?CWOgYnZf5NtpY@1XsSfY{ajd+|O)JU^O#i-5<0&UHQHFlcxwY}_kf*^XpP^v#WU zPmDlJ26TKTBR(i31kfQb9JJdS?|rw$s_Dt7ok*<=DqivyDO&MV`QlMk+vKt`@xs=^ z-z!Ex=KW!i;B?zk!k&B>X}L%R4nI>8E`!X^hOI}8$y#QHpL*{})F#En3%K6Mz$9EHeTMH=g6%D%yqpo{a6c3%f44sMA-p0uKMhJS>4 zAtu|l;x!MdGG${orRkl$;N}S@Z2_wBqZu?D|9MsA*5?)xBckE|@qHD2PpE-x{+g#c zMI%C+X{Smd)J#TLn5Os?A#i83E0{t|hoVlxF0l`;WbYy6LI3#e+Y+q|3`kdAIJmzr z@;*nWz~XTH-AIkoYwG4}4E0~QMv8jsWwKYNxfN7Rf0|VizJv7EiroTLTo38}h6x^7 zj@3ou_@$4}^GF{DJjVswex|58y5wNy))JZ@dfKb%pxAqTm;7hXTL+=DPoUMrO>4bl zdNrZaQAl-GMND5$g@fbIpDy69fDPL?6Cz3ag5ntN@a5n>vCqxMw*KNre*Mqe-x3Pk zum8$gYtv=r6ve5bnBa$9W|6AlaFg$S@x-7t6~ax-M5kDqvu?75MdA?^G}6GUFvl(& zbm#i!zc42!_fB{A_vx}73PRU%Jz0|;!Hg8ajZ!hb@zbG+59?*GUZ^;uXZedk=1h*i z@@K59hBJJ!X`|F1v`Nn`CEkx{M;*#HG~W{K%o;Hj^OZb>uOl}d_!aUVgQ}CM_U&1h zNiA%x>F$d-3i^Dxu62HJR|MkPIV=t8BxsJmDELa}M@ps!1@J#HZYOt$1StMk^X+H& zEJR)(PI+bn@yWx12LIKc`xLla@#_ABfPTCV<$Tt zPW`D^#JH(z`ShV29BKMvsSks805j|*@Y4CE(#}Rh<2zPtIS**D&ESYN-8^y;OYN%q zOlT@(d&8{4hIugT9UiNXMj`Yvt4DL68L3=N`nkCfYM!ET{8Q+imT3~7z|6af5}Bxs-x&U zEc3se_o~18gI0!TL1Im^cZtLf4RhgiL6h|8E*sWrV=?e$*DUPN1 zQ^OpG;KbP2BNDl;&z3$r+{cPzC-1sMer2A498$W|G_|w{l_%XVJXl8Rwwbbzo=iG) zQKjtl%)TrIMYFVX4`Ww8^%0=^Q%+dK?aeq8Ln9&AZrut5#YPGFdDdWOdHBA7M34b# z-^@l3RG6B5&YSJ^6d2`!Jm#(4(Ff?$YOdO|UC1JbEut;Vu7TJ#naOq-vIwIOQ7=E2 zF@tOgde;(}`EWjc_CEXUbM5QG^~nb=aj%&C35NdU z@TJ~# zxiqPWM=V4{=sv)aO*qJRa35j+*vXPYyeIJ5OE)o9BpGcrR8?hHACQ-p*iGL*ph#(K zccQ0zr0DH8=D>0}Q*FNRwDM<;?=~O>H?#3JrH(Ch`S1Rk_O{l^g*ZVO34d=s3Tp*JBeYVT{ZGy2V4G)rX#gY`X6o7k@4P~pC0<-$!YUy6)3k>@-XUCS78P>$o z7qGLVxt{rMPZcAZBRNR*(*SnhC%}!z5nOi4bnskSL8Z01?6u{z8+C(Sbh0NE1mf!L z*RF4UW9(9+gSz3)R6;y?Xp!BZ-Ulr`PVnwVCWTAxi#yFT03#3oiq!Wnj-=S#-J{%F zdeY-|ER#}eO9y<0QO2)QqZyqXGyKNl(*q4=dK0hrUbvPBm>qB=Wc2T_3>H1{x=+eQ zbrz0-jhu~Ee&-7A7TqHqxC+#ClZC8eH$W94;8l>jFYa+r@Vh3^-#;C&PQE(<7}4&7 zU@CV1N*q|>9S2HycOfFSvk;G!Z-Lhs8N($#4p@YR)vLU%t+@eNGq3$01yDRN+vtm5 z0EDKlM=F<{Pj0-N-S9I|@VIURFO8WiqH;Y=l_hh%4zW#Gfjl5|)J?_pi7mD*Ie$Um z!idDR%Ux8qNJThA2#f4~Pra5pXTHpjiACT(r0yEt!Rq)|`b{{}Sc$2l{h;KJbu;># zp~o_8q$kL0BFsuMCs7Ux(yZr42*D?{<#MtJvpUc8==#Z?=dTY#&4#mT&4$L~mnC)A z%5Wo^N4iWkkxn~~O${M07#_qiXUyG_oKE@OF;3#TBISIRyv61O50bO02^C7US{*4> zPd$Kx&H+?y3)B&MfKKJfS(|ICei%&=LQqS<#uum}04}n?`hy9J=oA!LPR+`aSoNy8{LXAx51<&Ok=E$>^XCQ1$wJ$Qhcp@WARxA!p+XsM zF{SI?YE1jmbEsA1`|>N%9Nlb>x>uNDLb`;A^w~bI_tC1+^f~H^ic~XjS8vwb8t=kx z1gG6<=6FQWAO{ z0lZj?{HyDu2n+e2)aaM9!j`QzW5j8}SbF23Rc?uI#yO#RxarU=(Fbsk0f9d>@78v4 z&c9dMxasn_8`4_vfG6X#Q(YO}zN5_eT}kKJqa^J_Y(iM-_~Xok-*&=4dorG3T5bGY zaua0x%`u&0l{;a_y9Vx!moPuk^*uIEC_vhyQU9PY&J&#ik!%vqj#qs(noRicUoou$R$ zJYkuHe2X6-#c5BHXNQ9wM7-x|^}aIseHEtR{IDPYu+~xZz`J@;{H(@?!h5=sNLS2B zHsPhN-Da~1@MM}*2lakiPe8~s-!Fx=HHCSHoTqx7+~1-U6|6fcwZd$z4^i+I!-G7C zLVwB}Zcg_AW-UKZD!qu;XkH6?%~-7q57iG;t{VH@dv{rYvZJprP>}9@qsM;l?u9>V z-p6yRcPbqZ+nB5@z4*yePUZyazP5LC?&=sJ(j)brH$GP@?a3~j?E0@4|)J~Jk zF3axv(a%Y1|JvS4`kZzs%_4yBnQh7(xF{}py5f8;jE<#IOWu;K=Sg42Qq0bdZu!3? zw>d$utb&if_s)ra51l?4aoKC?cP^bPf0pV+F4HBXPT%aFyyNuPta8*9crcG+nIF^c zAt|?J22A%{pY=o1`x^+;jg#}q-`DpY)ud-9$5_@$JHr0o+Q{xvf8{s5n#^w+@gJHE z(9L3efxj_cs2?$`#oPeTH50M46O@7{^KVz>d-}9*TdkPy0Q~%iW*PjAXnbAI_S57?sbTE1s9eUG+uPyi+!b)+LE<)6H^obB|Tp zF#ALf95Qbd9$>IU+nb-_x=;7#$H(8&=+z3(_>wJ?Gz;>lutR9n=eOgUG*0t%D%Qg# zYetT<8F$~H?N*`l5eDhgIVMU`I1X4j50$L6r-s5S`9R{8^b}|lB6$n@zsvAiF}S-t$VCJZ-~hRZ3bEeE}%>e^Oc+r@8)AcbmKF`>pA8u(z=*FIeQ$AaX!8c z@oP1YXTGH4u3@qFz_ZD5Wq88y3B7?3&1@i}G*|oSDXHOh^FHnSi6Q-zAOcc#j>%IDGCtAFKBe_9P<&)&0QyU%A!_TTjtWxf1y>L(eFI!Cz3p zfN4$3v*c}}s|*I%6UJI67jd-QAm$uhx{P!t-wMSk(Tph)+ zdk^ald3(XtPGnT3n9VZ}3IS`3pXs02@ya)J&f{oXe0d(o zouLaU#rN2I#BsL^sD`sD-^MtiKMPq+%wCWzXGwY<+1?itif6lbZ@x3?&aQ9C_sdoj zWlh)~@%e0+_w{pxJ_sjF<0D%Er>z~R`Kqd|)h-XtAtQzy&1;a|xODgSUN7qCHo)aX~z23(k{Ik9UqKhLWIh&6c7)wQUYQTke&55t4zU7@oFQwV2B2 zKLSM#c+Q$(b`MmURwjnjRszOeQWVC$lu7&eDH(MekDH@rJ%k2+N((%R!=?Rs7iJ^< z0(Oby*xPq%8LHK4n$>P*a!gBv&h_kIFl~7fmZJiS)mMtQQ1mULz*bPUr?E-5Nk!nK7xK}_$?Z+R*#wpw6PepIw zOFZC%6vv_hmbu?v68Vn6OP{~(IowNPQ+pOx_T5sHT2YCWe;ZFDaaJXg9uLyl#ovPL zkgp=4=%hQUxVM)}wY+`)iFU4UMxa?u3`~#I&>eN>tcEi>L040?&>uP-9u^f^Q$^7o z`B*kM#MIlM8luG(bR-$;6u|81_VefrSOSc~E4C1%HYh;7243mQ4lnJC!VNH^N!N#a z*Q{7^tof?C>Le0+wJ^erh7s{zE}jvp+HD=Lkju~`IVl|dM~8Eo!>xxkskk<*N9f2g z>_iR{wG6HJTq=1-Pas0zD0W?w*@h;o-n~yU+Um2kFkIFme{N`I@8DHsa3`6kcFTAg zCC@GSTb?ftC_-8j4PC5I+~XgP9QL%!Dn^`$d&&;$B!{h7`S4MrwiTwWq3uzGuxM=K zW4oS4E39?Caq=9Z&t_o4{OJGQFn|V5mF0!H8)Ga!E%o>0ZYaJDNgE2MX^W~1B^imQpyj@*e zME34{Q-kQ-f6>gmN@V+kg9PY!aMW`#o=0{?#~{OGx9gdj%Ye_e1Ii@e-^HTBJcVBq zizoImWUSnRCNw1ENwHr2Z#Wcsbb5M6K;VXxteF|d85TPLHtnyCkOIj{&@kcmxpdrG z_)UG+g*SP^_Io|sUT1#4C@E%h>7-eHzS1FV>=|NjBnhy6avMN=*mnY{uGq0@dg3l9 z5HBXML5WzK*4}erP+XVQGe{J{!O8gqM9;CVKwmWg@XhNT-C)^a?m`5N@0P7^z9xpG zx8w*lXUP!x%+_k%k!HJgeBal#A@%uuf_P;^=v*8Oeem7|32F^tRGMztZy_uIY|## z;dc*j3pYB+73N3CuZV5O-(QKURQ7h3;#6_lG*3KMNaAw5;+Xvjh;`|IdgDm~lH}K+ z3T+9EyOE?e4hu)A>zVB>z9E5s9~&e39OzOG;2XRwlXwNETc~ z)m1#F9BdkE=QsSLp_}D{o~$hX?mZd`R*>#5i6ay4k}UTJ3*)Xbh@>ltgZdTEy5P{z z{Ms#O=mA)1j9XoyU=U%c!%v3WrO|Z)*k|b#{io{{0W-E%Opz;W5IxJgJkT5=&yjJYC!Av#4M&xG)wVKM z@RHEu;y)h24jokubI}i6XSfj_HN^Ut8l5NHoak7*y__-2Ho%rIng)MTX+hXgZb5M{=_>WE5i!E3$nr6%nZM*EynN~jB|7;^x51B<5 z=PTPfjn9si^&>*p1v|W5Pv1OQ4feLym43;G6s=X)km=~7)6vt ziM@oRWE2cmYzbbk>FA#l(eOF)dN{8}4E4LwZ zxqo?4GaLdLhYGzuNRAAyr<>bL)XzB1k?}9HYfDMp)s=Q|mTG@8QFXD+Q)*99ccN*_ zk~X@bvlZ=!R9NGye`QfGzO6Q!4P`-3rtBi$y~SrAvQfyCsr<3%pA_gSOS?_^NSostW~ z7=YP2?IQz-R;6`e0j9xaOK-Hs$%2gb5v0~-Ym_Yl;A8$QEol`V>**B0DDy|b8goKy za&mt1`Dbyd4zBn4J7FEr)w5#XR2&{>i==wLz;jgj^GbJ9ue$oAfdZj6Ot;MP&!AqR z;vJ_T!9xZ2(Pa8f_}e!S2=&dl)hz5|RX4#*O{)-eoNvDoWuldy+QmZJVEzmsLmbHx zM-KT&*>21HA5AK}E8h;5&P>_DqgmLemC~jagg0pP&Wis1g!d1X`JTIvcwl(~Z?x2# z6`x^YdxOI7P6N(ok`A2yk3$Lpt6bHzv94mi|D_K#l8f&&bbb&T6EfZ#{=qur!se#= ze!ErFc3SQw@ww?ztxod1WZl*CDw5{>d`eQihN_Fr)7D+?7Z1_ox2e>!NGn#p$k>(l zdlOkV`>2y0`WUceh=%b?8y<9*6`cX--;cgz;RT>`EGsAXd88pMjO^?LT|8FjR$6lZ zHxUKX1H4}(uVM~A_8p?22*9mPNk)n&Rf^NE7jq#GVk)|8`~dG{g8r4$QA{MHLO zwk}pWB1veog`1l3{3zat`&fADDIOE+UPGIky`jIdaQaNy_Z&N{^t|VABwpAh%+%v* zUD!p4jDm`VAc=~j*5iUVaTg!FajP6@u8yP!46bw+%14nLo zL;P0$!;4WdL)UY5{JT3; z(bG!#uNU*`b0iCB}u+ik5v>r)yrKyH4n8rdwHPx zN1|?Hm;d$rXiM3LFUG}6j=1DevS{#q!72f^1O80gv1NSFEdZY_u}_RmfZ3Qh=4Xp9 zpFX2&*1@?44KsuBaPL5<5!pcmDKQ%mzs|Ejw~{R6eXkBDY;~qI?>;j_7)C1^|4?f` z;%u_BL;n7dRwamn2Z8DvW50kinA?0KbXDfxkTvtHwPXTLcOa2AAceVdm!z&+m2Vf%mnHy~wOD%3by_Ny2T?@;>>Mx~W5s zV(HnzGdx)OC_juabH}q`QG%! zVb$q3&n}Lsh300ie48Y`l>_=dm?0Z%)@9Dpt+MWydop*BKyQyB&WXi-Q$Hq}_=H`L z1YkeK3KP~YTt9($7L)8CAO9}gLA5(NKJll~n(7aw%Op6ir)$eIBBxHbub-M^rTSIqNxZx0=skxJ6RbL93ms+c~P^DBg(P6#KHsT^TSg zEgG^weki4qvt5x-lyd*TB4`W-1nLt##2G)OA_>?)ol@7Xtq(XTWw zy$0Sf1IlBO=#@!Dez!kWNu~4Rt%W~KuQPwajTk;S`0nOBKSrsd4(@@+)g0+dE$QS1 zEZ_Sax_TXWoBTpde-F2A&0WtICm@fb6=xCNWbpUGu8QF-X8$nBg7oMM>a)6KEd@wk zw|(Rl3g2Qcy&-$aeav7HTEsg)M@B`MosD$nw3e9-@`4T#LPMf|T9>uxzJmUt%RFxe zR*Itu;I2D{T@^|Ko*R2f@#t^G3C_A5c5JsVgER_<=5~i<#dAn3U)oKcvYGgDgoRd7 zV1wR-6QlgVOr|YZ8V381W=39?xxb*f!)h06!XtKi?k?v35$VJre`S-I%U73&Ql-eWeYh zO)Ze2y5+m_i(2nIyJ9Tzr{D6LU_`o9t4GQ8mroF$YP!pCisupCvS)iECS*2njFw=y zx?buXQBGvdrcJ$Ic2Ym!FuEtoiK|^jI+5XYbb2A_PscQVtcQ09DVD-r-wa5_9ne8$ z^K+S!kT7&53B4{x`glxzkW2qeZ9qD?LhtK&vUq!Gvl5zK8^Cc`L^){&aQs3VrWLLP zwey%Ji;Ighx6wP(D98Pj&-T9k_tZ{>H~>WIJ-D=&sRsYT5Er@vova}|t(`5hqyM|Z zWKZ6b=IlXtdC@7AiiE22GQbeTF~nIE>LW45Xxf(upgJw{FKaR86laYX{D@^&$e?tH)C$xVe?H;`cC|viqv9`K=z*>C3;( zWml2iKL3lH>VJ{=5jRV{9KQTN_^|&$Dqg#6hyIW3xVQczJFeM(X2-?*k2Ji5{~tKf z>=Wg`%)(IeG{N)0@%V@Q^>riZ zH4sdN5Qw<9*k@5*R8!wgj)(Yqp>7brt<5VC5!aQvYg9^w2%}kBtEj)1^7C{HO$Zq~ z!BRqg?UcJ5vSuaR?kKO?$%>GFLuM4NrfISNoYwhj)DH8lxzbW>Hev`jjKelM?2*9T$N2d?YsZN77_ zg^C7?mKyO|op?2uzB=60Yo&g8#8h0*%Yc94Qf400+b)t2h0D|-AGT$UE^CmLSn8CwzAXqP>F5&{ zc7^!7WpJzd8R{(a#9DR@(fW?m5rUfL4Zf*_Y!8P#o>PVpdm+kW&CuYz>uu=+tdRZaMM z+xU=_4)5;^S1w)Cc*vFTf4{e)zhLrtvDmn`ESrve;I?jLW|x)qt|e}Til>JC`eol& zcD&3aWsj$+>Gn=e&4jJgUH{!XrmM`=1~;=ubNVWCfNbg1m-QTNXb!)AChJrGWZMsa zGH=LMeG>W6OP*%y7Z^tuA0!FTG-|r%`*{+z$HQ;3QFBF;L&$? zb3!1It2l1&I>M|SQV}LT~wOhZ1d(~!jFWY-r3-I29O7N(`i@}D< z0)6@`S3>3rS}KD}sq#$lLk$b;I76S9>O5t=zGGUBwRTp5vEG=!b)7PxzcMAjTm^ok z?L`(>_6=DM*`G@%!Wp!29J0LEZSev)1|Q;AT$5F3B1b*Oylv-#!rqO4J=hnW@=?nyKgSs6MPk1Tu6`-CsQ&iW$Fg>7 zVe!oCY^!XPh(YD?!zZYCLmk;qeWtZd_^VYJ+WOfGA-@O(*zssyS!zaVSy-db3*IE} z6qg@wtnf32L!*{zq1)1I!dpal>&egQ%OjHy@uR_(fY!2R0hPSIBmMVD?7@S@T}MbQ z{XWkj%ByLOykxtE`rAlX*+A1n`^c; z9}D+4yo$tz;ydu)m|PC^x3E=qdZ2|Ir_%d%?{yp>3AZyUpL=<08CqN}h46V>jD7F~ z#k5-Gf0qFt^5_i~b$sUr_tgnGMV;A8P=C%ziO+W#o{Dh`1{u9pZilCJw4XdW$7I}F z&@Vd=Z-?s*1K0X*{R%@#WBw_r^bjUDddL;ySbBjMMrIhAtr+(T{`#UBF?k?&Y7zxNUM+kXDxg(B__xLDRJflMlz|2_O?%%mscNq^kH zl0o7lCpm}Dh7_}<3@w`Tl@Cv@(X-5)A^-KgW~tXwG`_+nXoIHSu}B^mTpcLw=`1y` z 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 R42gDeXN;7#38)k{UQ8O&L#HY>O&jzXpmgfY8;i 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

b;4a@_9kziI)djnOti$-yo*yq%p8}Im@PB}e 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 *}P=^&liD?0}USRj}eq*udJ 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∓`$e{Q`nJ2$Tlm* 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 z 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 FQ6;YufMCEK0`Wx3W^Ws4l!-|d(O@| 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

hv>s02u#8PlDpv%8*lYoi&(^S>vE}LvNr9;tE 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 Z65S7b;n|a;t_J~+#}8B$i{y>p{2!^*?tK6N literal 809693 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

{6~V0Sr1&Tn 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

&B%WxII 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ℑ4OZ#`pwxv7htAybqU0Mm*|W1X)< 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 -cL9|f2 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

OI8N35IJ_AHsks206UjU{MG5U0^lPPU~Jr6;S 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%0AIhVoVh5dXJFH(TmU}ppm%S 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%0A+uo}rZ`OK{A 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

    +K;Kdff`Gpr6~T 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

    7DfbQhArA6*Y_j!TeJ~mz5ZM#y*e0FC0 zmAkuztobfjPFJDv!{RS`*Ps@;0+8%HuAliGniL<~Q4^yD#yqv4n89WiRHOB&mD+u5 zDJ(5oVZ`eTw!pjj18MDhQRi?2@+c2a=&Mx9a_KNBLR@V~F<&OV>+gZ9G#R5zOI!Lkx4!BD*IyYD~yLKr?8`$Z4MoH1)MP<7leJF`(VFEy5+shF`t$Y#H~j_JgAJHvc+Q^)2r#E*_M%lUXE zV*nB}E}iwUz5EI6fA4P>DUC0}`|t~ULTz27)V7Z4^9g-iaJ`RP1k@15GG#-=mqD5Y zO>w9p*~j0>M)A<85aCvg%+mf1H#3A4ZF_|H;tK@@1-6+jhl7?rvm@q=;Ks4dj_aDc zaAbb|{rp56ziv?hN@Iaa6{5w#`1Jb`<$W}tVK{+W(pb?G>F*P+s0GbpCG`M#x-`3He%0D-k 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

    M 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 UlfoO>I0hi_boFyt=akR{0LBMGF#rGn diff --git a/modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi b/modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi index 529818da611efb2d86ecc0428152f25921bec1f1..68cc71e5cc00b240b2eb35e200de80d3a647d676 100644 GIT binary patch literal 4309 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 BZ{Pp` delta 3256 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 delta 1657 zcmY+EdsNcd7RP@-8Q*$crPYX~X=#!v>dm>1FR;w=krenA#iqQ*WSU84g8qIz)H{=A zlNIWyI68x=j3%U&CXkL?>*k}(Qj@`CG>QoE5d;cj-8E}9`=8I*-+lI8XRou@o;2?; zcl_=^#9ng~qzM23<{|rn@Bjd=9znnev5I4?*vM5x{@{p*@OZraS`)HXYWFct!AB4P z?CjXTSDmih$XH5HO4i|%)cVI?+4)f9L8wKrqfhZ&CxPa&rjET5I&3md#AEw zYsj=}i&+TOJ-W2OYCWnY1r_XR$;w*#vF6U=ls%JJm1j!c{Z?pi=p-9RTR57BC|$<) z<1e_HJOMX~_-9>x!X^E&!|Moh!UxKyHhxPGu5p5U1~Xs^2sNXPSLU+-KtCiTC@?ao zN>+U~`$r$MLJwQSE>u|OnkU^lYSK7#MC#vt-K=2ph*T-t@nU;|+O^ml;fOLR&lK>k zkBwjwtlrvB|IZ>UM!@T5gy^g_yx{VqBl1m{K_%GBBQw_JWb9FDGsT7+m$2{V4|Nq^ z1`GXDxmnB8VUCC<^ekTpa+2s#wr=`6DbWfT!I}mO*)Az`qp@7Ou5J~m$>zKF% z_hjR_I_xI?&uTgJbbolqnlNR1p z`+BD?dP8X!bwrEZmiePYAyi?&z^!-#8Y+5!{?BwU-eQE4QJH}gRSFu!)YIh$yNFx0 z?tXEK^NBL{cF{iErHiGl@w7lC#^tHzULoIu>m*y47B}0HoLrtsc0I~v#JPdL?%-CF zDB#PDcqLXITL1WX&K5F#1-%VRdo1>KK^%fsB5<&-Te}D}0x?$!n|Ge^o3 z|Ba>S*W*0T+Nk>_ii_oX4X&68u{ugK`B3`Qd~*W7Ldd;xuD)YgN=a3THtHzQz|D>x zf-`{2HK+qP72~!Zt)wCB1`~cD>E$!kA=5sqCgVyps9rB&t;H|5cuwf4#ckwD@j;h5 zAitn6T9fTW^%MZkS|Q zD+k7_gV&7NgR@agZ)ns5Y_Ei4FUTAsktr8T!g#pPrig+;a0YZQF+3rwS5VHch^A+w$%YT=bf&Lddh_{K2zr+DC8z z5lCV=IA{5~?4lnlx;?o0ubF{|1oPAsbskx{k{t@Yze`sN$+ri(^cg*rJ$Kt|)4O!4 z|J>N4jgfFvKlyvlg~nh_gastU*(B+5>*Lgy_nPuQ{P&{s;qK0^=qvNQV3Od>{NUYx zF(miu!&;x_Fxi(b=%Uo&R@bVvk0=U>FdN&W^T}I3@sHSRQxS@`1U;=7stz!91QWl0 z!*~fT)qERnSDNmJvm3pp;Ds{!D7IyL8W38=YZ) zW9WRo!9zxKHP$sR#@#?RduiM6kGM&3YSJ%5-=ItWYV#B4ir7sU>_Qt3;{ST{5C2Gr zU*bOV2{-=_DCfkPzh^*YG%Zi0QJz-Rb9R^Y`2Wu1*-&?)CTCVO)V44fqh8TaKJL=L z8C*E8zf*1yC;DaKji=j@4(iGc-92uJ;`TN^{R~(kcbK>emngau=8gwfFXhEMOf5Bd zX6-l0+S1c;#t(sJqL0I0NtRcCluQdY+ z+!De9FI@Cq_1UZEP_-C1Obe(H5{sJ%t3|_MJ1hjOeBRsKhEK}JP_m)3#9}o;3-ef* ZDZ4dZ2W&WsE0T}(LiR)iwd_hh_a}Z94Lbk; diff --git a/modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi b/modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi index 18310a0d1284c2aadd0522d9cb4fc511c7a00b11..51038358339f780a00cb529ecb0022126369dd58 100644 GIT binary patch delta 1923 zcmYjRc{J3E7aybHHOf{fdd-YRVM6sNPuVhtX+e`EWb{l~Qntyye9dE|M<{DeHJ-_y zeT!(QWJFJdK~tl}+DxJhX8ZoU)A_yk?m73I`}y2I?&p5)Id^jN8zs~=CkMODa7{P_ z0@;kW#}XhA8RU9Gev(~h(2JhQH&6%U1Oh>GbMp;%EwvRBtBm!A%oT#eX^7SInD091 zym3t*!2WVs?j}6DkloURu|7ZaHZBTej^xa9h;2j@wu1#l+hTV(q312}4~>aW(;;QW zA&HFRfvLUdf&uLU<#e`U`pBPIPqe#>_jX(D?hJEd&QXqYe}481;T#)|5wLE49p(*}bbpIi2 zhvv=%v$Qq{L@o@EwRVoW!@tXqm@ree-R_Cg2{pnWzx^1@CgS6aD;N7y&$*e7({jBv zGja0nS;a~18tUo!Nt z4Z0p0qu8Bk+&O8%gMk7M7ix2PsI%IOYs}L8JTBi`sGT*1#6VBRvhKgG5h--T=7ppn zHCFF}fDY3%r{HXnbJfcJ9w;_~%&;ORw1C-GZAaY^UWJ&TI|BEtjO4RkaG=Uo^|K(;i)*H{xz&^y5ZC{ z0T0mv|1=f(=9_`UQ1(zLC2+9HQ?(_ zVK9&W3d2&z8#=Ih@gX9}hgEnc^#>1?SOFQJZ?B2JI-2=t@N3U^e9@q~|A{4kgwHsz zD+PScXU3&R(|!8pJ}M&JR`+QN(bVViAA7VjI?yZ3P~k$A(a;*ri8+~hK@9bLeFph| z_aTXLy3@(P*={lK+eTM1`Znib#}hhf`b%3aUFY>OFIKdz=VHmw*^j_Loqe=01^SY# zb%HO!+@ocpgLSi_H+Y$Ek>0Kp{~EDWE8T9qpIY5OA8S=%^}an(XhOc*{Ut!iza5;y zK@7o0I;9zYQxAvGPVqN$QS&M-r@IbF0vf@7Es>if(OTghK#c!K){mmok83`1OMbUO zLN35=Yh4(lFEjFIDmpFN8_Mn7qN`}44A{igV@hf5z+_!AoxI&?!L2YRa{xPeN&e0Y z$^73h=D%UWI^82+b~k*t^k9duQ;iSLgy?YijMVoHq$4rBlUZxx{hwuka4%=I!JjsS z71$yrsQX_=mTirT=7IN7KKOG7U184HMp?=ZWfl&5af9k|z;yH#A4MY%4Q~QxPUF|| zGU--dbAt(j?#iU$P_bf5x}5#{=6!qY9?TZiZ~Bjv#G15cFRYe-D^WdaOurJtk_k$< z@a8xNgNg9M@N_O(?Y!r9^uv^7%`^Bwf$)=Hax*}F6?VT;UNkfXs~FG9*04bia0vS; zMTV~?+bJ&4Rw<1JBiwsc;Hc3MT)VdrNGiWzzq;JlIvnYSj=z+9eTS-dU~^tljQTxO z;U@_2^9@s7XgT?_^9gpbJQJ=l@L#8#-IB&HJOWe-ISV=#vVB7#3FZ=toxZU#cGM7 zF5-yZ-dm}PU3;B))8w3kN<*SUW!ayv6fW;(RzOHC%adxUP_+)=A>330R0WfYe0@V8zi@L)L7$_qoqzw zpk3hYK9FJDDy4^Y97>B%qL@)#7r=4nbf$JM3Tq1#=8Av}+b9xCMWDU)!#=%N6B5f( z-C!|(rc1N5dSD&Rn8u2=2B_rKc&DJ+fe&C^<-e;yAZK8Cpr2$0aofMA{Sl(TmI4DJs#D0$-f_4ay sE->PQr+OBe02MH^bRd5P6q`#y85+Ujux!Y<>fclGwhq|pqvwAAADPp-K>z>% delta 1670 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 delta 1672 zcmY*ZeK?Z~8-JeJrU^p_HH3=TIZ-Mf^EJiTIZ-F%W26YDQz}_6HQV#xbi&bVN(cFv ze5^WIl#ih{UM1x#vsa_ZoKd}$GefM=c66Q2b)EP3&+qJ`?{~|zDKcA9m}i( z0lqp~I4uAGbjW_*2LS+F4MAXy#wwkt2@T4#bU-&XH7zbK=7pIUMr8%0e$G=51_T1c zH^XtOf}fX#hg@a^j>mVjIN~IS^PXKib29l6B%xLlxCM7Z`Wmn9ubMQkB;1}jW#8FT z{GQ)) zv!;VYH>5zcO8Zy!^>-v*_5MRI~vCj7wDXQpFs1|>*V zHvXZpe$=r1*qR~%0HA1OZ?B+~l9^KRSusJ|2Nl_i|DJkfqOAvo%}wzb}`;5e$^0_Nx8h2MCFU# zaa}2dl~Ik2-Gc}<+!O|INLySz)se?)jmjMv z21n+Qg;a3T9d46M6$_?sBMzW4H>YNE+pjwE z-?;PRWOE8L&^j3Kgkx$;K>zv(fU|sG8+WmS47@5cZAKt{fu6%(6BAZa*RDszqApX) zZPMK1SM`FUb5Y>2Uc~6m6ZKyxN+EABN)Ev(*V7NBH_j&guN^{e@wuEWyg* z`H$EB>#qJL=@jcStFMW7p?57-TruF(0(a}_ury7x$UOjzyD*JaC>T9Qti z?P;8X@f>;T^9hMF>HoSamcraSI)*8dNt$ea?PLo_ci;o7sik`N;tQvbV-(nUiZ43UA}ePE=*ONi@QjQ~zq|vheNvZjY4hU99&!ryQ?&eH!-gS=;m$+F5O$74cbFT8TFJux~0I zqelhNYDA}AM$scd2?+ThZ1#te=b!VzD@4_r??4MYcnm|81J3{P2Ol=y^& zYer-uW04j8mp$i`9Q8Q12O6A)S$1YngvTfA7yXqIu{jiRY{7OmylVCi9$wBbW&BIH zlU=8MN@kGvZ+fUPG200IWRxitYh@}XoW{tHhYQpL_(CW*uzSM%5Xz4mN`^(Es|LRh z7n>-eizVU5&*{mP+KbAj1{3rjiQI=3gic01t4ui|>6a?zZ*kK8 zv94;HyVwD3(Qnvc+|pk3?hl}UA|1x5zWo4Z$I6s2yV-+?g-Vq`=lx_l@iyT4 diff --git a/modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi b/modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi index d476cbc323387fdbe1de0cfe2feee32204500498..de9ac104ef603fe1435bf398c0c6c781fa20ad4f 100644 GIT binary patch delta 3295 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 XTdVFXN+Z7(88%atg;Dt>*QkF09vO@( delta 3020 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 xEd7#gfOg diff --git a/modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi b/modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi index 2a9fa57f99b7a973d90d719329b6de6d3de236c0..52a3dc8f18a95151a2b308a693e608cb803b0cf0 100644 GIT binary patch delta 2320 zcmX|B4LH+l8}~5{Ye*O^Hlj!|ntUZ6O{n=el!Ho%ltjJ`8TQ}E*g>P@ql}4K^|EuQ z5Dus8SRzv?L_R|}J~ozN+yCXg-gAD}bzj%-zVGLGuKRai_x-$6u2u+|1KOJ5^Rz5(tF+{CpaXwtxTry1KfMkPrX>7z{>C zOiWf*R&{lCLqmhJv$MUueYI#LbMvlroVSOMl*3ei=%({FFU-Y-r({!xBE+h$+^-@ zGh_yIX#2XC48KtM6!c$MW0dwK(6??l$5S^-=IOB5`!*`+Inpkw6dU3S2=*F}b?IBaKe{_4ynMP7OQ&L* zb}J0PnN3aFn_@S?uzA<=)v{IRFsfC|w@Z?kjy!F4K#dgn&45g%82wHmR19c*nMfEE3g>+yShavsZ5ramrJoD9pIScM=X zw*kmNMkDVM+uci(R@k$eoXR7Olz{_0XCI`J`J=s0^D&i^xwx zjIH*+@Y??^s)k5=;C1qa33j(De%9_MRw!SLkgkfp#C#+AS1*5PDzb(5w)eWD-iIKK0Mh zn$#P~QRVSUk9c26>g+MQl^|-p-@Mwj30bvq1x{2IeQO@KKthyDEMRLeEqjdcjUv7YSL+K7CR>#rxWS719N@*Vr*(^o}KQ`jG z5?k+#px!MPd*w&XedVW1!>E}){)E-J_DM71w3#;Eg-F?U>H zfNoXhMEUhDMWYXo$=z#hRnK~iOy+5txQ+Prn7De)>eRWky{~78XH=ca z%EmsrRd}k6T48<^TU|L-7Hl=UAXf2U?wgj`Y#gv@7!C!+DhPsYqlgUD)&akpg5c93 zreif3+^!Cez`mi&oxkS?LZj86tSH|5IYR);fA%(~@jRzPh+zdXN?MskYer9731o9* z%#(v(p1ZkThreyfQtzC2A|w6+K0niH@i-Ht9&(WXj9$)PvY*#qi`RK*`;l0c(sln2A23f(B-UIahpcNyP$;S$}A*wZ5b3O34cvC84_S{Z-v@=MU@ zE3tWXAKsUaEXx%Dio!DX?73ly4!eQ0dGOn8=Sd?}b7IkyWg%zD^xbsA@P%oM?oRP3|2O)@ zM3(-H52e?7A<3{ls~bw^_Thxa%B5SlN3Q(C*uhHkBcFk!$+T(<9Gql6}h?*nT{Gwb#mm~$WpQZNT zV7X@k0LZ>jC!xW8$ECN%;a_+mmhDsv^QVj)<>Rzpc&mR7J#{J6yq6_@h0R+D?qHHj z917-?zdk}*e4{_e92=LMq2B$BYE1NQ^3+%z35XV#Pk8WvNyPuS?r9_PLvelGPe5i+ zG*}(ci+bQc1cW068Ja-B>c|%-u`cER`Oq-1I;R()+dCRn8|+*ca`&3l zhKY^8KS}D@3yERpeEUVFri}dv{<@g-oUG1e> zXw(Ue%)5y!{y#s{R^g=E!gUR$K{}>Qv!IDY6lUqfXw=B;`24VM41nD@yA`P7wi#m0 zPTvm1DbPAsp;k}VkCZjPKjuRgM35FGdZ$xLJ&T+Iku`=Xma2AF4qS{ho5Cw5$j`xx zxJ$J*Q6q8$d0#X?Tpkp`?^R9deQ6s4|UmT_UwBVTi>+Qsl zNwtBr!v}IbKkot73^_xY#7^HtAlCA(L$L5<(vaSLVaeT~AKGDu!`dm>!K}LdDqAZ4 z0m-zv67-wjdzl&_=A4Q?h}C@h3Bd1DLE%23v;M?`X5%vm53Wd)GZoGO?(@KDrmp zSx0GklHk&N!Azc~f+JgPKs}@aELzM&+D)d|LT zL!H*-Yb&UVOBeJ2zDqZ`V9hFeG9h~fl{FY55wZGibp54r_O=U4bgNhrY=)){xq0lP dL%~ delta 1955 zcmYjSc{tPy7yivKjXN?zuC84ZN@bMn!wffBvJ{@^$}*p^h4dj?@f%wS852TTCfAJW zB7|xfBpOn2QOO zka4g-=>`ChZ3+RTB(_ahjh6>mOVcJXF|nnkg+L$_6cmt1q^hba5Crw~^e7ZcR8&-U zc6M!T?XzdkY;A3^SZs$|rSVRR7&jMp05>-pwC!}0)3m{(LutYc?Yj|;c`bSAi}Qc! zWx^Y7KJ_X7Wda$lpUZg|YJ24pH~rnPX=d7JWJ~F|Jtr-gB)0=M^!+5TEv;2&eT7iLZj{mxrHxH&aWWek>h%KV?>u0D!ayUxyxniVpCa<1!9!u#^c%Cj<0a4 zId#_~TMgt{Cet6&zkr&WbhfDHa3@kU&)8WQbnnq#@l1jDSTD%Gg8;e(5vT&P` z#kMJ1g}_tck94uGJWOq(n3K0&4)Q8eV*CXw&}0LxefqA(r$d~DxVVF~C#8LQUFD5ot+Ul8Y8IyY^QAg2#b?egAF6y}Fc z9hU)(nd;xPR==_v2%_ZF8)lr%$hNavg1@H{@2c#gUi+)`PaZSUC08)IZvB<^bgv>z zfO*BN?j<+)L!G2|mG>0=sgXlXg=pNPkw87Zxelo%KOW-76Ti>WXrs@-?2p8U9Zk9S zvs^(D@&FcgZk-(p$r_q{m@-L?Au52xesQoP+_?G#{>6u%W*SZF~R)`!H&kffjh`> zQaN8964ZFWtdxB%f@oA}_%bH2)5ximFsGsTVB?G3Aq!ZsUJ6UVfZle03D(t&vBpxe z*x`#i72g?s;>9M_&;-~NsUD<~>aj$;h;?YC*-4c&f3=?%|E5k; zMFBakuc|wg{I2G9!=H_%3hO@*rA4+I0>--MV~493B-f+8hANT5WQaluM`gSi_@=SV>Oo*rmU3$p3-Cd>|4vZT(k@ph0dSi&u_OUz zZM}B@^*5}@>=`EP^(AMF76N)+S& zTPdloJiidJd=0fi!Hp+L?nWI{U-(>oY~y2l;v@RKK{^3Ea(-Gi?|HFw;85LnEpvBs z*kGpwK}!Gb2#scmYPgKFnBxo9Hk-$L?@ug`SRhF;8@_@~-p(KR2UBtPGpaNFa?4(C zS|xeMw3@9IhM3stOLSZx^bQNoE{$^DI2nhQjEWOJ=KmGFoGby+35w>-qdH$JfjC3C zJO;yi{<}C(uP42;7Q)j#LP+cGB@v72AkI=#nYfRE(0WfTT8dGp4@>*=@1n4qYu#T@ z;gw|RZeM2J&cFuY;`|c}0(B*wPN_Xht~~fZg%NQRQw~OPKjuBhO9l`)))qRumA`&? zc{zBm!5e)<>N6n-ZCewGWXA|&4k~Zxx_f6PbPq0anon14~6h#V1za zH?5*_^t*l*;tcFC@aequ;;pwnb%#6qDa}WEt>#h03W_8o1hFVPx|NZNXb2Z}(e~Cs zavYz}HgToA@G>D@fSRMiTCHkytW||E20h6G9zJ088A(QTA;M{x2Kyr1yTCCc>N6=UQkaucv}Agi=i&$L_$X;_2Ajg_J9y+qx`g^J zz5d}LM9qBa3b#DigR$J=g=O}V?!a;H!GA$5I*jPZSkMKt{yUTIDK~h^4W4w%Uq`Mk zO|^W$4~;nyT2A%R0RR96p-DtRRCt{2ow0Mqg9(wFb610;rw+Afb!zV% zO6ugrQrM|Oo4aluI(F=sZXMIDTi1>q<0S6nCD(tbbO#IX0V1dfqU_%9n*s;~o_`)8 zU-0Rfjv@d60N^7y>fG6Fl65bY&?m0mljT1LmG;lF9Pgfwqw~*Jzo?uO=;iwyR41+x ztH!(M6Kl2x+L1L|-SmgC*?ai}FA%AFG=%d8Bh9hSHszhXYI=(Hsu_x&)sJ7ws8 z{EGR+=(Y?!w19R^r(4`7R9x&j1b+_AA6SN>c-H{{0000000000U>g_;FFNnyoVqh` z86d9$oS6aTK?8c?GC=q1t@12x+U+BB|aXFH3gL6tfi83!5F1Z1|OB=5JFU|2So0cB-rR0Bmc(toT;L8F}AqTVw^O@hwa+GAb!`>A{R zRrRgeR=H-Msv*0hPSj+*C8=sFQ2PF~U;!l)UPPAa+80o@Wd5MqWBi{awwJCmRRbK!A004Mw{Pg3lBM`j)mA7C0ypu4N{P8<)?>wO2 zM27zQleeF~;%!gBlul|7A-#FdXZmY=84P;`+@QYMq(> zM(7ij=}h_@c1#-Z>o+GY%dwdenW52(x%4?aL;U*98P4^>^fyh0On;L$8EW-8;`+@I z8KQErU`O31L#&+%pVM4F3Y(#tzr(mZ8~?U{|VE`*bucA4X&*(Y4JRAI)p??3udeU?pQhzmWY4 zcKc=}sWqA9cc#+k@Deqb4>AWF3)`W-k!NW(-kNXkYdOC>>ZWWx@ z6+_ntb?{M9aw3d~sR={Z2l;(eyV40=AJoA|MQg1}Cv<&K2Ok9h00000007&i@A@E* zkBWM)5Ayh^sQ3CHkB^FauMhJ0sHpe)AdipwZ^2&cgFHU!j(+QdJU+^raohDlk;g|x keb)zdn44Ve@cDJ)4TIx+(+bMb}te3Y~|qfKG;4LouqeS*GE z*WW#asF_dQ;Eo4-FqSJ`S*DkC4~}~e4u5LVVMIs9f-ac)&rEtx`A1LryC+w5Tdkkt z4IVP`MNB`FMgRZ=#z{m$RCt{2ow0KpMHI$&rP!0gg|)itoEf}#=ZXUREGn2uP7;+H zpK??bkQq7(N=nMmQHG9=mXb0Fh{{cde~5!&to`0wX?5cOneq3lvZwdne*13i@qa$O zyBI?VA>^Ilc<+n*1sUpU--}&6-TZUh_;i$weLNoG%MUgK7j^KPb&Q+Sn8h~xcs#^` zfN08GC}5AIZtUan5E}@vWz-?tta`lIBjm09mUu$IA`lSIZ*Y094BXmpi6^YfcSrys zgb+dqA%qY@NV-I0F88T9?9Uiyw13s(nAI{AP`*_G4{%1?#;au4fq*A(Rlr!xIEh-> zz-TT@#&*^$&jA~L@(jWee zAEUntFukaJD9EnrI`|sXn7poMp}ow&#nV>$V+PP)1<3mhRAGQVrI>-%uR{BN0TuZB zVu*i#ZkmVR6!$4BA?2wI*nfJp0{cD#FfOz|?6E#0_4%&x%y+ng4p%U#&mqOr0&ekN z8NfXt{LQmZn$N?rD?J9(_YefRYdp|4rGFfnr}lvP@~i>@*&HA0$bE+aIu9vz1qxmi zWhkKcZ+H5eXQc-LA_KM+0Vb8N;KwMD0qJjrznz`IF145Q1&q78gMS_h*I$5LUI_o9 z6#g^xUx9yrkE$X}iJg}P{-*MmxPrO(Dd|=Tf82BZu7o{g%NcZu*zz2^MshD&C^EQ* z+W*5r{{1~Yp5Q$`{sI-_$Lhje{Rtt25Msu-Mg@ooX`>TiA! zEBNJS96x-%dxE?ACx3bP9gbfN3~*O}LI@#*5JCtcgb+dqA^$c9k!z!Hkav~n0a@&d zF_Iseh3G+PJLn%6Raz6g9M-njZ(wpM0PJI32sslSO_8b($oxfK){>|X*yg3U0xL|_2QslD>(q-=6ZHX;or)0Qwo29q z>=l*=Udug^tPkuCk**Jj@<7Z!Q6JbN1R;bFLI@%E8ukyce}Mf1>>s$#{R4jj<)`b; UfZ!w+01E&B07*qoM6N<$f;{TDKL7v# diff --git a/modular_skyrat/modules/aesthetics/clothing/clothing.dm b/modular_skyrat/modules/aesthetics/clothing/clothing.dm index 584541597b9..e18ca5f428c 100644 --- a/modular_skyrat/modules/aesthetics/clothing/clothing.dm +++ b/modular_skyrat/modules/aesthetics/clothing/clothing.dm @@ -90,7 +90,7 @@ icon_state = "labcoat_rd" body_parts_covered = CHEST|ARMS|LEGS armor = list(MELEE = 5, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 80, FIRE = 80, ACID = 70) - mutant_variants = NONE + supports_variations_flags = NONE ///////////////////////////////////////////////////////////////////////HEAD diff --git a/modular_skyrat/modules/ashwalkers/code/clothing/ash_armour.dm b/modular_skyrat/modules/ashwalkers/code/clothing/ash_armour.dm index a9e3835b1cb..38a4c447ece 100644 --- a/modular_skyrat/modules/ashwalkers/code/clothing/ash_armour.dm +++ b/modular_skyrat/modules/ashwalkers/code/clothing/ash_armour.dm @@ -5,7 +5,7 @@ icon = 'modular_skyrat/modules/ashwalkers/icons/ashwalker_clothing.dmi' worn_icon = 'modular_skyrat/modules/ashwalkers/icons/ashwalker_clothing_mob.dmi' icon_state = "headdress" - mutant_variants = NONE + supports_variations_flags = NONE greyscale_colors = null greyscale_config = null @@ -56,7 +56,7 @@ icon = 'modular_skyrat/modules/ashwalkers/icons/ashwalker_clothing.dmi' worn_icon = 'modular_skyrat/modules/ashwalkers/icons/ashwalker_clothing_mob.dmi' icon_state = "combat_plates" - mutant_variants = NONE + supports_variations_flags = NONE greyscale_colors = null greyscale_config = null diff --git a/modular_skyrat/modules/ashwalkers/code/clothing/head.dm b/modular_skyrat/modules/ashwalkers/code/clothing/head.dm index b91ae2bb609..246a55c3fee 100644 --- a/modular_skyrat/modules/ashwalkers/code/clothing/head.dm +++ b/modular_skyrat/modules/ashwalkers/code/clothing/head.dm @@ -4,5 +4,5 @@ icon = 'modular_skyrat/modules/ashwalkers/icons/hats.dmi' worn_icon = 'modular_skyrat/modules/ashwalkers/icons/head.dmi' icon_state = "shamskull" - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/ashwalkers/code/clothing/misc.dm b/modular_skyrat/modules/ashwalkers/code/clothing/misc.dm index 912c4fb6f7b..49600b43e6f 100644 --- a/modular_skyrat/modules/ashwalkers/code/clothing/misc.dm +++ b/modular_skyrat/modules/ashwalkers/code/clothing/misc.dm @@ -4,7 +4,7 @@ name = "tanned hide" desc = "The tanned hide of some brown furred creature." icon_state = "mantle_liz" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/ashwalkermantle/cape icon = 'modular_skyrat/modules/ashwalkers/icons/suits.dmi' @@ -12,5 +12,5 @@ name = "brown leather cape" desc = "An ash coated cloak." icon_state = "desertcloak" - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/ashwalkers/code/clothing/neck.dm b/modular_skyrat/modules/ashwalkers/code/clothing/neck.dm index bf792116c16..ac18a684439 100644 --- a/modular_skyrat/modules/ashwalkers/code/clothing/neck.dm +++ b/modular_skyrat/modules/ashwalkers/code/clothing/neck.dm @@ -4,4 +4,4 @@ icon = 'modular_skyrat/modules/ashwalkers/icons/cloaks.dmi' worn_icon = 'modular_skyrat/modules/ashwalkers/icons/neck.dmi' icon_state = "tribal-mantle" - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/ashwalkers/code/clothing/shoes.dm b/modular_skyrat/modules/ashwalkers/code/clothing/shoes.dm index 4396e3ab2e1..c84d61bf83d 100644 --- a/modular_skyrat/modules/ashwalkers/code/clothing/shoes.dm +++ b/modular_skyrat/modules/ashwalkers/code/clothing/shoes.dm @@ -4,13 +4,13 @@ icon = 'modular_skyrat/modules/ashwalkers/icons/shoes.dmi' worn_icon = 'modular_skyrat/modules/ashwalkers/icons/feet.dmi' icon_state = "legionmetal" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/shoes/jackboots/ashwalker/legate icon = 'modular_skyrat/modules/ashwalkers/icons/shoes.dmi' worn_icon = 'modular_skyrat/modules/ashwalkers/icons/feet.dmi' icon_state = "legionlegate" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/shoes/wraps/ashwalker icon = 'modular_skyrat/modules/ashwalkers/icons/shoes.dmi' @@ -18,7 +18,7 @@ name = "ash coated foot wraps" desc = "May hurt for less than normal legs." icon_state = "rag" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/shoes/wraps/ashwalker/tribalwraps icon = 'modular_skyrat/modules/ashwalkers/icons/shoes.dmi' @@ -27,7 +27,7 @@ name = "ornate leg wraps" desc = "An ornate set of leg wraps commonly worn by a shaman or chieftain." icon_state = "tribalcuffs" - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION /obj/item/clothing/shoes/wraps/ashwalker/mundanewraps icon = 'modular_skyrat/modules/ashwalkers/icons/shoes.dmi' @@ -36,5 +36,5 @@ name = "tribal leg wraps" desc = "A mundane set of leg wraps often worn by tribal villagers." icon_state = "mundanecuffs" - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION diff --git a/modular_skyrat/modules/ashwalkers/code/clothing/under.dm b/modular_skyrat/modules/ashwalkers/code/clothing/under.dm index 93833819707..2f1f5b6e223 100644 --- a/modular_skyrat/modules/ashwalkers/code/clothing/under.dm +++ b/modular_skyrat/modules/ashwalkers/code/clothing/under.dm @@ -60,7 +60,7 @@ name = "ash walker tunic" desc = "A tattered red tunic of reddened fabric." icon_state = "caesar_clothes" - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION /obj/item/clothing/under/costume/gladiator/ash_walker/legskirt_d icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' diff --git a/modular_skyrat/modules/brigoff/code/brigoff_clothes.dm b/modular_skyrat/modules/brigoff/code/brigoff_clothes.dm index 7fa84a92e8f..b7b9e697997 100644 --- a/modular_skyrat/modules/brigoff/code/brigoff_clothes.dm +++ b/modular_skyrat/modules/brigoff/code/brigoff_clothes.dm @@ -18,10 +18,10 @@ desc = "A black combat sweater thrown over the standard issue shirt, perfect for wake up calls." name = "corrections officer's sweater" icon_state = "brigguardsweat" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/brigguard/sweater/women icon_state = "brigguardsweatw" - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/brigoff/code/jobs.dm b/modular_skyrat/modules/brigoff/code/jobs.dm index 5e2118cc8b4..676cfbb5007 100644 --- a/modular_skyrat/modules/brigoff/code/jobs.dm +++ b/modular_skyrat/modules/brigoff/code/jobs.dm @@ -4,4 +4,4 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "brigguard" - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/customization/modules/client/augment/limbs.dm b/modular_skyrat/modules/customization/modules/client/augment/limbs.dm index 86f386ebce8..d396b89dc93 100644 --- a/modular_skyrat/modules/customization/modules/client/augment/limbs.dm +++ b/modular_skyrat/modules/customization/modules/client/augment/limbs.dm @@ -17,7 +17,6 @@ oldBP.rendered_bp_icon = initial(BP.icon) oldBP.icon_state = initial(BP.icon_state) oldBP.should_draw_greyscale = FALSE - H.icon_render_key = "" //To force an update on the limbs else var/obj/item/bodypart/BP = new path(H) var/obj/item/bodypart/oldBP = H.get_bodypart(BP.body_zone) diff --git a/modular_skyrat/modules/customization/modules/client/preferences.dm b/modular_skyrat/modules/customization/modules/client/preferences.dm deleted file mode 100644 index f4611de87ac..00000000000 --- a/modular_skyrat/modules/customization/modules/client/preferences.dm +++ /dev/null @@ -1,3570 +0,0 @@ -/* -GLOBAL_LIST_EMPTY(preferences_datums) - -// i shall taint your pretty preferences file with bobcode -GLOBAL_LIST_INIT(food, list( - "Meat" = MEAT, - "Vegetables" = VEGETABLES, - "Raw" = RAW, - "Junk Food" = JUNKFOOD, - "Grain" = GRAIN, - "Fruit" = FRUIT, - "Dairy" = DAIRY, - "Fried" = FRIED, - "Alcohol" = ALCOHOL, - "Sugar" = SUGAR, - "Gross" = GROSS, - "Toxic" = TOXIC, - "Pineapple" = PINEAPPLE, - "Breakfast" = BREAKFAST, - "Cloth" = CLOTH - )) - -/datum/preferences - var/client/parent - //doohickeys for savefiles - var/path - var/default_slot = 1 //Holder so it doesn't default to slot 1, rather the last one used - var/max_save_slots = 20 - - //non-preference stuff - var/muted = 0 - var/last_ip - var/last_id - - //game-preferences - var/lastchangelog = "" //Saved changlog filesize to detect if there was a change - var/ooccolor = "#c43b23" - var/asaycolor = "#ff4500" //This won't change the color for current admins, only incoming ones. - var/auto_dementor = TRUE //To be turned off by admins that don't want to be dementored at round start. - /// If we spawn an ERT as an admin and choose to spawn as the briefing officer, we'll be given this outfit - var/brief_outfit = /datum/outfit/centcom/commander - var/enable_tips = TRUE - var/tip_delay = 500 //tip delay in milliseconds - - //Antag preferences - var/list/be_special = list() //Special role selection - var/tmp/old_be_special = 0 //Bitflag version of be_special, used to update old savefiles and nothing more - //If it's 0, that's good, if it's anything but 0, the owner of this prefs file's antag choices were, - //autocorrected this round, not that you'd need to check that. - var/be_antag = FALSE //Does this player wish to be an antag this round? - - var/UI_style = null - var/buttons_locked = FALSE - var/hotkeys = TRUE - - ///Runechat preference. If true, certain messages will be displayed on the map, not ust on the chat area. Boolean. - var/chat_on_map = TRUE - ///Limit preference on the size of the message. Requires chat_on_map to have effect. - var/max_chat_length = CHAT_MESSAGE_MAX_LENGTH - ///Whether non-mob messages will be displayed, such as machine vendor announcements. Requires chat_on_map to have effect. Boolean. - var/see_chat_non_mob = TRUE - ///Whether emotes will be displayed on runechat. Requires chat_on_map to have effect. Boolean. - var/see_rc_emotes = TRUE - - // Custom Keybindings - var/list/key_bindings = list() - - var/tgui_fancy = TRUE - var/tgui_lock = FALSE - var/windowflashing = TRUE - var/toggles = TOGGLES_DEFAULT - var/db_flags - var/chat_toggles = TOGGLES_DEFAULT_CHAT - var/skyrat_toggles = TOGGLES_DEFAULT_SKYRAT - var/ghost_form = "ghost" - var/ghost_orbit = GHOST_ORBIT_CIRCLE - var/ghost_accs = GHOST_ACCS_DEFAULT_OPTION - var/ghost_others = GHOST_OTHERS_DEFAULT_OPTION - var/ghost_hud = 1 - var/inquisitive_ghost = 1 - var/allow_midround_antag = 1 - var/preferred_map = null - var/pda_style = MONO - var/pda_color = "#808000" - - //aphrodisiac preference - var/aphrodisiacs_pref = 1 - var/cumfaced_pref = 0 - - var/uses_glasses_colour = 0 - - //character preferences - var/slot_randomized //keeps track of round-to-round randomization of the character slot, prevents overwriting - var/real_name //our character's name - var/gender = MALE //gender of character (well duh) - var/age = 30 //age of character - var/underwear = "Nude" //underwear type - var/underwear_color = "FFF" //underwear color - var/undershirt = "Nude" //undershirt type - var/undershirt_color = "FFF" //underwear color - var/socks = "Nude" //socks type - var/socks_color = "FFF" //underwear color - var/backpack = DBACKPACK //backpack type - var/jumpsuit_style = PREF_SUIT //suit/skirt - var/hairstyle = "Bald" //Hair type - var/hair_color = "000" //Hair color - var/facial_hairstyle = "Shaved" //Face hair type - var/facial_hair_color = "000" //Facial hair color - var/skin_tone = "caucasian1" //Skin color - var/eye_color = "000" //Eye color - var/datum/scream_type/pref_scream = new /datum/scream_type/human() //Scream type - var/datum/laugh_type/pref_laugh = new /datum/laugh_type/human() //Laugh type - var/datum/species/pref_species = new /datum/species/human() //Mutant race - //Has to include all information that extra organs from mutant bodyparts would need. (so far only genitals now) - var/list/features = MANDATORY_FEATURE_LIST - var/list/randomise = list( - RANDOM_UNDERWEAR = TRUE, - RANDOM_UNDERWEAR_COLOR = TRUE, - RANDOM_UNDERSHIRT = TRUE, - RANDOM_SOCKS = TRUE, - RANDOM_BACKPACK = TRUE, - RANDOM_JUMPSUIT_STYLE = TRUE, - RANDOM_HAIRSTYLE = TRUE, - RANDOM_HAIR_COLOR = TRUE, - RANDOM_FACIAL_HAIRSTYLE = TRUE, - RANDOM_FACIAL_HAIR_COLOR = TRUE, - RANDOM_SKIN_TONE = TRUE, - RANDOM_EYE_COLOR = TRUE, - ) - var/phobia = "spiders" - var/list/foodlikes = list() - var/list/fooddislikes = list() - var/maxlikes = 4 - var/maxdislikes = 6 - var/pda_ringer = "beep" //text the PDA emits when messaged - - var/list/custom_names = list() - var/preferred_ai_core_display = "Blue" - var/prefered_security_department = SEC_DEPT_NONE - - //Quirk list - var/list/all_quirks = list() - - //Job preferences 2.0 - indexed by job title , no key or value implies never - var/list/job_preferences = list() - - // Alternate Job Titles - var/list/alt_titles_preferences = list() - // Want randomjob if preferences already filled - Donkie - var/joblessrole = BERANDOMJOB //defaults to 1 for fewer assistants - - // 0 = character settings, 1 = game preferences - var/current_tab = 0 - - var/unlock_content = 0 - - var/list/ignoring = list() - - var/clientfps = 40 - - var/parallax - - ///Do we show screentips, if so, how big? - var/screentip_pref = TRUE - ///Color of screentips at top of screen - var/screentip_color = "#ffd391" - ///Do we show item hover outlines? - var/itemoutline_pref = TRUE - - var/ambientocclusion = TRUE - ///Should we automatically fit the viewport? - var/auto_fit_viewport = FALSE - ///Should we be in the widescreen mode set by the config? - var/widescreenpref = TRUE - ///What size should pixels be displayed as? 0 is strech to fit - var/pixel_size = 0 - ///What scaling method should we use? Distort means nearest neighbor - var/scaling_method = SCALING_METHOD_DISTORT - var/uplink_spawn_loc = UPLINK_PDA - ///The playtime_reward_cloak variable can be set to TRUE from the prefs menu only once the user has gained over 5K playtime hours. If true, it allows the user to get a cool looking roundstart cloak. - var/playtime_reward_cloak = FALSE - - var/list/exp = list() - var/list/menuoptions - - var/action_buttons_screen_locs = list() - - ///Someone thought we were nice! We get a little heart in OOC until we join the server past the below time (we can keep it until the end of the round otherwise) - var/hearted - ///If we have a hearted commendations, we honor it every time the player loads preferences until this time has been passed - var/hearted_until - /// Agendered spessmen can choose whether to have a male or female bodytype - var/body_type - /// If we have persistent scars enabled - var/persistent_scars = TRUE - ///If we want to broadcast deadchat connect/disconnect messages - var/broadcast_login_logout = TRUE - ///What outfit typepaths we've favorited in the SelectEquipment menu - var/list/favorite_outfits = list() - ///If TRUE, we replace the flash effect from flashes with a solid black screen - var/darkened_flash = FALSE - /// Will the person see accessories not meant for their species to choose from - var/mismatched_customization = FALSE - var/allow_advanced_colors = FALSE - var/list/list/mutant_bodyparts = list() - var/list/list/body_markings = list() - - var/character_settings_tab = 0 - - ///How many loadout points we've got remaining - var/loadout_points = LOADOUT_POINTS_MAX - ///Loadout items, this is an associative list stored as [name] = "info". Info can be either colors or styles for the loadout items - var/loadout = list() - - var/loadout_category = "" - var/loadout_subcategory = "" - - var/preview_pref = PREVIEW_PREF_JOB - - var/ooc_prefs = "" - var/erp_pref = "Ask" - var/noncon_pref = "Ask" - var/vore_pref = "Ask" - var/sextoys_pref = "No" - - //BACKGROUND STUFF - var/general_record = "" - var/security_record = "" - var/medical_record = "" - - var/background_info = "" - var/exploitable_info = "" - ///Whether the system should have to update the sprite. This is set to TRUE whenever anything appearance changing is set - var/needs_update = TRUE - ///List of chosen augmentations. It's an associative list with key name of the slot, pointing to a typepath of an augment define - var/augments = list() - ///List of chosen preferred styles for limb replacements - var/augment_limb_styles = list() - ///Which augment slot we currently have chosen, this is for UI display - var/chosen_augment_slot - ///Whether the user wants to see body size being shown in the preview - var/show_body_size = FALSE - ///The arousal state of the previewed character, can be toggled by the user - var/arousal_preview = AROUSAL_NONE - ///The current volume setting for announcements - var/announcement_volume = 60 - - /// Chosen cultural informations - var/pref_culture = /datum/cultural_info/culture/generic - var/pref_location = /datum/cultural_info/location/generic - var/pref_faction = /datum/cultural_info/faction/none - /// Whether someone wishes to see more information regarding either of those - var/culture_more_info = FALSE - var/location_more_info = FALSE - var/faction_more_info = FALSE - //Associative list, keyed by language typepath, pointing to LANGUAGE_UNDERSTOOD, or LANGUAGE_SPOKEN, for whether we understand or speak the language - var/list/languages = list() - -/datum/preferences/New(client/C) - parent = C - - for(var/custom_name_id in GLOB.preferences_custom_names) - custom_names[custom_name_id] = get_default_name(custom_name_id) - - UI_style = GLOB.available_ui_styles[1] - if(istype(C)) - if(!IsGuestKey(C.key)) - load_path(C.ckey) - unlock_content = GLOB.donator_list[C.ckey] || C.IsByondMember() - if(unlock_content) - max_save_slots = 30 - var/loaded_preferences_successfully = load_preferences() - if(loaded_preferences_successfully) - if(load_character()) - return - //we couldn't load character data so just randomize the character appearance + name - set_new_species(/datum/species/human) - randomise_appearance_prefs() //let's create a random character then - rather than a fat, bald and naked man. - key_bindings = deepCopyList(GLOB.hotkey_keybinding_list_by_key) // give them default keybinds and update their movement keys - C?.set_macros() - real_name = pref_species.random_name(gender,1) - if(!loaded_preferences_successfully) - save_preferences() - save_character() //let's save this new random character so it doesn't keep generating new ones. - menuoptions = list() - return - -#define APPEARANCE_CATEGORY_COLUMN "" -#define MAX_MUTANT_ROWS 4 -#define FLAVORTEXT_JOIN_MINIMUM 150 - -/datum/preferences/proc/check_flavor_text(inform_client = TRUE) - if(!features["flavor_text"]) - if(check_rights(R_ADMIN, FALSE)) - var/resp = tgui_input_list(usr, "Do you want to bypass the flavor text requirement?", "Confirmation", list("Yes", "No"), 1 MINUTES) - if(resp=="Yes") - message_admins("[usr] is bypassing the flavor text requirements.") - return TRUE - if(inform_client) - to_chat(parent, span_userdanger("You must have a flavor text!")) - return FALSE - if(length(replacetext(features["flavor_text"], " ", "")) < FLAVORTEXT_JOIN_MINIMUM) // No you can't use whitespace to meet the requirement - if(check_rights(R_ADMIN, FALSE)) - var/resp = tgui_input_list(usr, "Do you want to bypass the flavor text requirement?", "Confirmation", list("Yes", "No"), 1 MINUTES) - if(resp=="Yes") - message_admins("[usr] is bypassing the flavor text requirements.") - return TRUE - if(inform_client) - to_chat(parent, span_userdanger("Your flavor text must be longer than [FLAVORTEXT_JOIN_MINIMUM] characters!")) - return FALSE - return TRUE - -/datum/preferences/proc/ShowChoices(mob/user) - if(!user || !user.client) - return - if(slot_randomized) - load_character(default_slot) // Reloads the character slot. Prevents random features from overwriting the slot if saved. - slot_randomized = FALSE - if(needs_update) - update_preview_icon() - needs_update = FALSE - var/list/dat = list("

    ") - dat += "" - - dat += "Character Settings" - dat += "Game Preferences" - dat += "OOC Preferences" - dat += "Custom Keybindings" - - if(!path) - dat += "
    Please create an account to save your preferences
    " - - dat += "
    " - - dat += "
    " - - switch(current_tab) - if (0) // Character Settings# - if(path) - var/savefile/S = new /savefile(path) - if(S) - dat += "
    " - var/name - var/unspaced_slots = 0 - for(var/i=1, i<=max_save_slots, i++) - unspaced_slots++ - if(unspaced_slots > 4) - dat += "
    " - unspaced_slots = 0 - S.cd = "/character[i]" - S["real_name"] >> name - if(!name) - name = "Character[i]" - dat += "[name] " - dat += "
    " - - dat += "
    " - - dat += "
    " - dat += "General" - dat += "Appearance" - dat += "Markings" - dat += "Background" - dat += "Loadout" //If you change the index of this tab, change all the logic regarding tab - dat += "Augmentation" - dat += "
    " - - dat += "
    " - dat += "
    " - dat += "" - dat += "" - dat += "" - switch(character_settings_tab) - if(4) //Loadout - dat += "" - dat += "" - if(5) //Augments - dat += "" - else - dat += "" - - dat += "" - - dat += "" - dat += "
    " - dat += "Preview:" - dat += "[PREVIEW_PREF_JOB]" - dat += "[PREVIEW_PREF_LOADOUT]" - dat += "[PREVIEW_PREF_NAKED]" - dat += "" - dat += "Remaining loadout points: [loadout_points]" - dat += "" - dat += "Reset Loadout" - dat += "" - if(!(!SSquirks || !SSquirks.quirks.len)) - dat += "Remaining quirk points: [GetQuirkBalance()]" - dat += "" - dat += "Mismatched parts: [(mismatched_customization) ? "Enabled" : "Disabled"]" - dat += "" - dat += " Color customization: [(allow_advanced_colors) ? "Enabled" : "Disabled"]" - if(allow_advanced_colors) - dat += "Reset colors
    " - dat += "
    " - dat += "
    " - dat += "
    " - switch(character_settings_tab) - if(0) //General - dat += "

    Occupation Choices

    " - dat += "Set Occupation Preferences
    " - if(CONFIG_GET(flag/roundstart_traits)) - dat += "

    Quirk Setup

    " - dat += "Configure Quirks
    " - dat += "
    Current Quirks: [all_quirks.len ? all_quirks.Join(", ") : "None"]
    " - - dat += "

    Food Setup

    " - dat += "Configure Foods
    " - dat += "
    Current Likings: [foodlikes.len ? foodlikes.Join(", ") : "None"]
    " - dat += "
    Current Dislikings: [fooddislikes.len ? fooddislikes.Join(", ") : "None"]
    " - - dat += "

    Identity

    " - dat += "" - - dat += "
    " - if(is_banned_from(user.ckey, "Appearance")) - dat += "You are banned from using custom names and appearances. You can continue to adjust your characters, but you will be randomised once you join the game.
    " - dat += "Random Name " - //dat += "Always Random Name: [(randomise[RANDOM_NAME]) ? "Yes" : "No"]" - //dat += "When Antagonist: [(randomise[RANDOM_NAME_ANTAG]) ? "Yes" : "No"]" - /*if(user.client.get_exp_living(TRUE) >= PLAYTIME_HARDCORE_RANDOM) - dat += "Hardcore Random: [(randomise[RANDOM_HARDCORE]) ? "Yes" : "No"]"*/ - dat += "
    Name: " - dat += "[real_name]
    " - - if(!(AGENDER in pref_species.species_traits)) - var/dispGender - if(gender == MALE) - dispGender = "Male" - else if(gender == FEMALE) - dispGender = "Female" - else - dispGender = "Other" - dat += "Gender: [dispGender]" - if(gender == PLURAL || gender == NEUTER) - dat += "
    Body Type: [body_type == MALE ? "Male" : "Female"]" - - /*if(randomise[RANDOM_BODY] || randomise[RANDOM_BODY_ANTAG]) //doesn't work unless random body - dat += "Always Random Gender: [(randomise[RANDOM_GENDER]) ? "Yes" : "No"]" - dat += "When Antagonist: [(randomise[RANDOM_GENDER_ANTAG]) ? "Yes" : "No"]"*/ - - dat += "
    Age: [age]" - /*if(randomise[RANDOM_BODY] || randomise[RANDOM_BODY_ANTAG]) //doesn't work unless random body - dat += "Always Random Age: [(randomise[RANDOM_AGE]) ? "Yes" : "No"]" - dat += "When Antagonist: [(randomise[RANDOM_AGE_ANTAG]) ? "Yes" : "No"]"*/ - - dat += "

    Special Names:
    " - var/old_group - for(var/custom_name_id in GLOB.preferences_custom_names) - var/namedata = GLOB.preferences_custom_names[custom_name_id] - if(!old_group) - old_group = namedata["group"] - else if(old_group != namedata["group"]) - old_group = namedata["group"] - dat += "
    " - dat += "[namedata["pref_name"]]: [custom_names[custom_name_id]] " - dat += "

    " - - dat += "Custom Job Preferences:
    " - dat += "Preferred AI Core Display: [preferred_ai_core_display]
    " - dat += "Preferred Security Department: [prefered_security_department]
    " - - dat += "
    " - dat += "PDA Color:     Change
    " - dat += "PDA Style: [pda_style]
    " - dat += "PDA Ringer: [pda_ringer]
    " - - //Adds a thing to select which phobia because I can't be assed to put that in the quirks window - if("Phobia" in all_quirks) - dat += "

    Phobia

    " - - dat += "[phobia]
    " - - if(1) //Appearance - dat += "

    Body

    " - dat += "Random Body " - //dat += "Always Random Body: [(randomise[RANDOM_BODY]) ? "Yes" : "No"]" - //dat += "When Antagonist: [(randomise[RANDOM_BODY_ANTAG]) ? "Yes" : "No"]
    " - - dat += "" - else if(use_skintones) - dat += "" - - if(HAIR in pref_species.species_traits) - - dat += APPEARANCE_CATEGORY_COLUMN - - dat += "

    Hairstyle

    " - - dat += "<>
    " - dat += "[hairstyle]" - //dat += "[(randomise[RANDOM_HAIRSTYLE]) ? "Lock" : "Unlock"]" - - dat += "
    " - //dat += "[(randomise[RANDOM_HAIR_COLOR]) ? "Lock" : "Unlock"]" - - dat += "

    Facial Hairstyle

    " - - dat += "<>
    " - dat += "[facial_hairstyle]" - //dat += "[(randomise[RANDOM_FACIAL_HAIRSTYLE]) ? "Lock" : "Unlock"]" - - dat += "
    " - //dat += "[(randomise[RANDOM_FACIAL_HAIR_COLOR]) ? "Lock" : "Unlock"]" - dat += "
    " - - //Mutant stuff - var/mutant_category = 0 - - var/list/generic_cache = GLOB.generic_accessories - for(var/key in mutant_bodyparts) - if(!generic_cache[key]) //This means that we have a mutant bodypart that shouldnt be bundled here (genitals) - continue - if(!mutant_category) - dat += APPEARANCE_CATEGORY_COLUMN - - dat += "

    [generic_cache[key]]

    " - - dat += print_bodypart_change_line(key) - - dat += "
    " - - mutant_category++ - if(mutant_category >= MAX_MUTANT_ROWS) - dat += "" - mutant_category = 0 - - if(mutant_category) - dat += "" - mutant_category = 0 - dat += "
    " - dat += "Species:
    [pref_species.name]
    " - dat += "Scream:
    [pref_scream.name]
    " - dat += "Laugh:
    [pref_laugh.name]
    " - dat += "Species Naming:
    [(features["custom_species"]) ? features["custom_species"] : "Default"]
    " - dat += "Sprite body size:
    [(features["body_size"] * 100)]% [show_body_size ? "Hide preview" : "Show preview"]
    " - dat += "

    Flavor Text

    " - // Carbon flavor text - dat += "Set Examine Text
    " - if(length(features["flavor_text"]) <= 40) - if(!length(features["flavor_text"])) - dat += "\[...\]" - else - dat += "[html_encode(features["flavor_text"])]" - else - dat += "[copytext(html_encode(features["flavor_text"]), 1, 40)]..." - - dat += "
    " - - // Silicon flavor text - dat += "Set Silicon Examine Text
    " - if(length(features["silicon_flavor_text"]) <= 40) - if(!length(features["silicon_flavor_text"])) - dat += "\[...\]" - else - dat += "[html_encode(features["silicon_flavor_text"])]" - else - dat += "[copytext(html_encode(features["silicon_flavor_text"]), 1, 40)]..." - - dat += "

    OOC Preferences

    " - dat += "ERP:[erp_pref] " - dat += "Non-Con:[noncon_pref] " - dat += "Vore:[vore_pref]
    " - dat += "Sex toys usage:[sextoys_pref]
    " - dat += "Set OOC prefs
    " - if(length(ooc_prefs) <= 40) - if(!length(ooc_prefs)) - dat += "\[...\]" - else - dat += "[html_encode(ooc_prefs)]" - else - dat += "[copytext(html_encode(ooc_prefs), 1, 40)]..." - dat += "
    " - - //dat += "Random Species " - //dat += "Always Random Species: [(randomise[RANDOM_SPECIES]) ? "Yes" : "No"]
    " - - var/use_skintones = pref_species.use_skintones - if(use_skintones) - - dat += APPEARANCE_CATEGORY_COLUMN - - dat += "

    Skin Tone

    " - - dat += "[skin_tone]" - //dat += "[(randomise[RANDOM_SKIN_TONE]) ? "Lock" : "Unlock"]" - dat += "
    " - - - if(!use_skintones) - dat += APPEARANCE_CATEGORY_COLUMN - - dat += "

    Primary Color

    " - dat += "
    " - - dat += "

    Secondary Color

    " - dat += "
    " - - dat += "

    Tertiary Color

    " - dat += "
    " - - if(istype(pref_species, /datum/species/ethereal)) //not the best thing to do tbf but I dont know whats better. - - if(!use_skintones) - dat += APPEARANCE_CATEGORY_COLUMN - - dat += "

    Ethereal Color

    " - - dat += "
    " - - if(istype(pref_species, /datum/species/ghoul)) //ghouls - if(!use_skintones) - dat += APPEARANCE_CATEGORY_COLUMN - dat += "

    Ghoul Color

    " - dat += "    Change
    " - - - if((EYECOLOR in pref_species.species_traits) && !(NOEYESPRITES in pref_species.species_traits)) - - /*if(!use_skintones) - dat += APPEARANCE_CATEGORY_COLUMN*/ - - dat += "

    Eye Color

    " - dat += "" - //dat += "[(randomise[RANDOM_EYE_COLOR]) ? "Lock" : "Unlock"]" - - dat += "
    " - - dat += "" - if (user.client.get_exp_living(TRUE) >= PLAYTIME_VETERAN) - dat += "
    Don The Ultimate Gamer Cloak?:
    [(playtime_reward_cloak) ? "Enabled" : "Disabled"]
    " - - - if(pref_species.can_have_genitals) - dat += APPEARANCE_CATEGORY_COLUMN - dat += "Change arousal preview" - dat += "

    Penis

    " - var/penis_name = mutant_bodyparts["penis"][MUTANT_INDEX_NAME] - dat += print_bodypart_change_line("penis") - if(penis_name != "None") - dat += "
    Length: [features["penis_size"]] inches." - dat += "
    Girth: [features["penis_girth"]] inches circumference" - dat += "
    Sheath: [features["penis_sheath"]]" - - dat += "

    Testicles

    " - var/balls_name = mutant_bodyparts["testicles"][MUTANT_INDEX_NAME] - dat += print_bodypart_change_line("testicles") - if(balls_name != "None") - var/named_size = balls_size_to_description(features["balls_size"]) - dat += "
    Size: [named_size]" - - if(mutant_bodyparts["taur"]) - var/datum/sprite_accessory/taur/TSP = GLOB.sprite_accessories["taur"][mutant_bodyparts["taur"][MUTANT_INDEX_NAME]] - if(TSP.factual && !(TSP.taur_mode & STYLE_TAUR_SNAKE)) - var/text_string = (features["penis_taur_mode"]) ? "Yes" : "No" - dat += "
    Taur Mode: [text_string]" - dat += "" - dat += "" - - dat += APPEARANCE_CATEGORY_COLUMN - dat += "Uses skintones: [(features["uses_skintones"]) ? "Yes" : "No"]" - dat += "

    Vagina

    " - dat += print_bodypart_change_line("vagina") - dat += "

    Womb

    " - dat += print_bodypart_change_line("womb") - dat += "" - - dat += APPEARANCE_CATEGORY_COLUMN - dat += "
    " - dat += "

    Breasts

    " - var/breasts_name = mutant_bodyparts["breasts"][MUTANT_INDEX_NAME] - dat += print_bodypart_change_line("breasts") - if(breasts_name != "None") - var/named_size = breasts_size_to_cup(features["breasts_size"]) - var/named_lactation = (features["breasts_lactation"]) ? "Yes" : "No" - dat += "
    Size: [named_size]" - dat += "
    Can Lactate: [named_lactation]" - dat += "" - - dat += "
    " - - dat += "
    Underwear:
    [underwear]" - //dat += "[(randomise[RANDOM_UNDERWEAR]) ? "Lock" : "Unlock"]" - - dat += "" - //dat += "[(randomise[RANDOM_UNDERWEAR_COLOR]) ? "Lock" : "Unlock"]" - - dat += "
    Undershirt:
    [undershirt]" - //dat += "[(randomise[RANDOM_UNDERSHIRT]) ? "Lock" : "Unlock"]" - dat += "" - - dat += "
    Socks:
    [socks]" - //dat += "[(randomise[RANDOM_SOCKS]) ? "Lock" : "Unlock"]" - dat += "" - - dat += "
    Jumpsuit Style:
    [jumpsuit_style]" - //dat += "[(randomise[RANDOM_JUMPSUIT_STYLE]) ? "Lock" : "Unlock"]" - - dat += "
    Backpack:
    [backpack]" - //dat += "[(randomise[RANDOM_BACKPACK]) ? "Lock" : "Unlock"]" - - if((HAS_FLESH in pref_species.species_traits) || (HAS_BONE in pref_species.species_traits)) - dat += "
    Temporal Scarring:
    [(persistent_scars) ? "Enabled" : "Disabled"]" - dat += "Clear scar slots" - - dat += "
    Uplink Spawn Location:
    [uplink_spawn_loc]
    " - if(2) //Markings - dat += "Use a markings preset: Choose " - dat += "" - dat += " Primary:   Change" - dat += " Secondary:   Change" - dat += " Tertiary:   Change" - dat += "
    " - dat += "" - dat += "
    " - var/iterated_markings = 0 - for(var/zone in GLOB.marking_zones) - var/named_zone = " " - switch(zone) - if(BODY_ZONE_R_ARM) - named_zone = "Right Arm" - if(BODY_ZONE_L_ARM) - named_zone = "Left Arm" - if(BODY_ZONE_HEAD) - named_zone = "Head" - if(BODY_ZONE_CHEST) - named_zone = "Chest" - if(BODY_ZONE_R_LEG) - named_zone = "Right Leg" - if(BODY_ZONE_L_LEG) - named_zone = "Left Leg" - if(BODY_ZONE_PRECISE_R_HAND) - named_zone = "Right Hand" - if(BODY_ZONE_PRECISE_L_HAND) - named_zone = "Left Hand" - dat += "

    [named_zone]

    " - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - - if(body_markings[zone]) - for(var/key in body_markings[zone]) - var/datum/body_marking/BD = GLOB.body_markings[key] - var/can_move_up = " " - var/can_move_down = " " - var/color_line = " " - var/current_index = LAZYFIND(body_markings[zone], key) - if(BD.always_color_customizable || allow_advanced_colors) - var/color = body_markings[zone][key] - color_line = "R" - color_line += "" - if(current_index < length(body_markings[zone])) - can_move_down = "Down" - if(current_index > 1) - can_move_up = "Up" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - - if(!(body_markings[zone]) || body_markings[zone].len < MAXIMUM_MARKINGS_PER_LIMB) - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - - dat += "
    [can_move_up][can_move_down][key][color_line]Remove
    Add
    " - - iterated_markings += 1 - if(iterated_markings >= 4) - dat += "
    " - iterated_markings = 0 - - dat += "
    " - if(3) //Background - dat += "THE ENTRIES AND THEIR DESCRIPTIONS ARE PLACEHOLDERS AND ARE NOT FINAL.
    " - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - var/even = FALSE - for(var/cultural_thing in list(CULTURE_CULTURE, CULTURE_LOCATION, CULTURE_FACTION)) - even = !even - var/datum/cultural_info/cult - var/prefix - var/more = FALSE - switch(cultural_thing) - if(CULTURE_CULTURE) - cult = GLOB.culture_cultures[pref_culture] - prefix = "Culture" - more = culture_more_info - if(CULTURE_LOCATION) - cult = GLOB.culture_locations[pref_location] - prefix = "Location" - more = location_more_info - if(CULTURE_FACTION) - cult = GLOB.culture_factions[pref_faction] - prefix = "Faction" - more = faction_more_info - var/cult_desc - if(more || length(cult.description) <= 160) - cult_desc = cult.description - else - cult_desc = "[copytext(cult.description, 1, 160)]..." - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
    [prefix]: [cult.name][cult.get_extra_desc(more)][cult_desc][more ? "Show Less" : "Show More"]
    " - dat += "" - dat += "" - dat += "" - - - dat += "" - dat += "" - dat += "
    " - dat += "

    Languages

    " - dat += "Linguistic points: [get_linguistic_points()]" - for(var/language_path in languages) - var/datum/language/lang_datum = language_path - dat += "
    [initial(lang_datum.name)] - [languages[language_path] == LANGUAGE_SPOKEN ? "Spoken" : "Understood" ]" - dat += "
    Change Languages..." - dat += "
    " - dat += "

    Records

    " - dat += "

    General

    " - dat += "Set general record
    " - if(length(general_record) <= 40) - if(!length(general_record)) - dat += "\[...\]" - else - dat += "[html_encode(general_record)]" - else - dat += "[copytext(html_encode(general_record), 1, 40)]..." - dat += "
    " - - - dat += "

    Medical

    " - dat += "Set medical record
    " - if(length(medical_record) <= 40) - if(!length(medical_record)) - dat += "\[...\]" - else - dat += "[html_encode(medical_record)]" - else - dat += "[copytext(html_encode(medical_record), 1, 40)]..." - dat += "
    " - - - dat += "

    Security

    " - dat += "Set security record
    " - if(length(security_record) <= 40) - if(!length(security_record)) - dat += "\[...\]" - else - dat += "[html_encode(security_record)]" - else - dat += "[copytext(html_encode(security_record), 1, 40)]..." - dat += "
    " - dat += "
    " - dat += "

    Information

    " - dat += "

    Background

    " - dat += "Set background information
    " - if(length(background_info) <= 40) - if(!length(background_info)) - dat += "\[...\]" - else - dat += "[html_encode(background_info)]" - else - dat += "[copytext(html_encode(background_info), 1, 40)]..." - dat += "

    Exploitable

    " - dat += "Set exploitable information
    " - if(length(exploitable_info) <= 40) - if(!length(exploitable_info)) - dat += "\[...\]" - else - dat += "[html_encode(exploitable_info)]" - else - dat += "[copytext(html_encode(exploitable_info), 1, 40)]..." - dat += "
    " - //Empty column for future stuff here - dat += "
    " - if(4) //Loadout - dat += "
    " - for(var/category in GLOB.loadout_category_to_subcategory_to_items) - dat += "[category] " - dat += "
    " - dat += "
    " - if(loadout_category != "") - dat += "
    " - for(var/subcategory in GLOB.loadout_category_to_subcategory_to_items[loadout_category]) - dat += "[subcategory] " - dat += "
    " - dat += "
    " - if(loadout_subcategory != "") - var/list/item_names = GLOB.loadout_category_to_subcategory_to_items[loadout_category][loadout_subcategory] - - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - var/even = FALSE - for(var/path in item_names) - var/datum/loadout_item/LI = GLOB.loadout_items[path] - if(LI.ckeywhitelist && !(user.ckey in LI.ckeywhitelist)) - continue - var/background_cl = "#23273C" - if(even) - background_cl = "#17191C" - even = !even - var/loadout_button_class - var/customization_button = "" - if(loadout[LI.path]) //We have this item purchased, but we can sell it - loadout_button_class = "href='?_src_=prefs;task=change_loadout;item=[path]' class='linkOn'" - var/custom_info = loadout[LI.path] - switch(LI.extra_info) - if(LOADOUT_INFO_ONE_COLOR) - customization_button = "
        Change
    " - if(LOADOUT_INFO_THREE_COLORS) - var/list/color_list = splittext(custom_info, "|") - if(length(color_list) != 3) - stack_trace("WARNING! Loadout item information of [LI.name] for ckey [user.ckey] has invalid amount of entries.") - continue - customization_button += "
        Change
    " - customization_button += "
        Change
    " - customization_button += "
        Change
    " - if(LOADOUT_INFO_STYLE) - customization_button = "" //TODO - //We check for whether the item is donator only, and if the person isn't donator, then check cost - else if((LI.donator_only && !GLOB.donator_list[user.ckey] && !user.client.holder) || LI.cost > loadout_points) //We cannot afford this item - loadout_button_class = "class='linkOff'" - else //We can buy it - loadout_button_class = "href='?_src_=prefs;task=change_loadout;item=[path]'" - if(!loadout[LI.path]) //Let the user know if something is colorable, so we can avoid mentioning it in the titles - switch(LI.extra_info) - if(LOADOUT_INFO_ONE_COLOR) - customization_button = "Colorable" - if(LOADOUT_INFO_THREE_COLORS) - customization_button += "Polychromic" - if(LOADOUT_INFO_STYLE) - customization_button = "" //TODO - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - - dat += "
    Name DescriptionRestrictions
    Cost
    [LI.name][customization_button][LI.description][LI.restricted_desc]
    [LI.cost]
    " - if(loadout_subcategory == LOADOUT_SUBCATEGORY_DONATOR) - dat += "
    " - if(GLOB.donator_list[user.ckey]) - dat += "
    Thank you for your support!
    " - else if (user.client.holder) - dat += "
    Thank you for staffing the server! Enjoy those cool items
    " - else - dat += "
    You can support us on our patreon to help us run the servers, and get access to cool loadout items, and more points!
    " - if(5) //Augmentations - if(!pref_species.can_augment) - dat += "Sorry, but your species doesn't support augmentations" - else if(!SSquirks || !SSquirks.quirks.len) - dat += "The quirk subsystem is still initializing! Try again in a minute." - else - dat += "" - for(var/category_name in GLOB.augment_categories_to_slots) - dat += "" - dat += "
    " - dat += "

    [category_name]:

    " - var/list/slot_list = GLOB.augment_categories_to_slots[category_name] - for(var/slot_name in slot_list) - var/link = "href='?_src_=prefs;task=augment_slot;slot=[slot_name]'" - var/datum/augment_item/chosen_item - if(augments[slot_name]) - chosen_item = GLOB.augment_items[augments[slot_name]] - if(chosen_augment_slot && chosen_augment_slot == slot_name) - link = "class='linkOn'" - var/print_name = "" - if(chosen_item) - print_name = chosen_item.name - var/font_color = "#AAAAFF" - if(chosen_item.cost != 0) - font_color = chosen_item.cost > 0 ? "#AAFFAA" : "#FFAAAA" - print_name = "[print_name]" - dat += "" - dat += "" - if(category_name == AUGMENT_CATEGORY_LIMBS && chosen_item) - var/datum/augment_item/limb/chosen_limb = chosen_item - var/print_style = "None" - if(augment_limb_styles[slot_name]) - print_style = augment_limb_styles[slot_name] - if(chosen_limb.uses_robotic_styles) - dat += "" - dat += "" - dat += "
    [slot_name]: [print_name]
    Style: [print_style]
    [chosen_item ? "[chosen_item.description]" : ""]
    " - dat += "
    " - if(chosen_augment_slot) - var/list/augment_list = GLOB.augment_slot_to_items[chosen_augment_slot] - if(augment_list) - dat += "" - dat += "

    [chosen_augment_slot]

    " - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - var/even = FALSE - for(var/type_thing in augment_list) - var/datum/augment_item/aug_datum = GLOB.augment_items[type_thing] - var/datum/augment_item/current - even = !even - if(augments[chosen_augment_slot]) - current = GLOB.augment_items[augments[chosen_augment_slot]] - var/aug_link = "class='linkOff'" - var/name_print = aug_datum.name - if (current == aug_datum) - aug_link = "class='linkOn' href='?_src_=prefs;task=set_augment;type=[type_thing]'" - name_print = "[name_print] (Remove)" - else if(CanBuyAugment(aug_datum, current)) - aug_link = "href='?_src_=prefs;task=set_augment;type=[type_thing]'" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
    NameCostDescription
    [name_print]
    [aug_datum.cost]
    [aug_datum.description]
    " - dat += "
    " - - if (1) // Game Preferences - dat += "
    " - dat += "

    General Settings

    " - dat += "UI Style: [UI_style]
    " - dat += "tgui Window Mode: [(tgui_fancy) ? "Fancy (default)" : "Compatible (slower)"]
    " - dat += "tgui Window Placement: [(tgui_lock) ? "Primary monitor" : "Free (default)"]
    " - dat += "Show Runechat Chat Bubbles: [chat_on_map ? "Enabled" : "Disabled"]
    " - dat += "Runechat message char limit: [max_chat_length]
    " - dat += "See Runechat for non-mobs: [see_chat_non_mob ? "Enabled" : "Disabled"]
    " - dat += "See Runechat emotes: [see_rc_emotes ? "Enabled" : "Disabled"]
    " - dat += "
    " - dat += "Action Buttons: [(buttons_locked) ? "Locked In Place" : "Unlocked"]
    " - dat += "Hotkey mode: [(hotkeys) ? "Hotkeys" : "Default"]
    " - dat += "
    " - dat += "PDA Color:     Change
    " - dat += "PDA Style: [pda_style]
    " - dat += "
    " - dat += "Ghost Ears: [(chat_toggles & CHAT_GHOSTEARS) ? "All Speech" : "Nearest Creatures"]
    " - dat += "Ghost Radio: [(chat_toggles & CHAT_GHOSTRADIO) ? "All Messages":"No Messages"]
    " - dat += "Ghost Sight: [(chat_toggles & CHAT_GHOSTSIGHT) ? "All Emotes" : "Nearest Creatures"]
    " - dat += "Ghost Whispers: [(chat_toggles & CHAT_GHOSTWHISPER) ? "All Speech" : "Nearest Creatures"]
    " - dat += "Ghost PDA: [(chat_toggles & CHAT_GHOSTPDA) ? "All Messages" : "Nearest Creatures"]
    " - dat += "Ghost Law Changes: [(chat_toggles & CHAT_GHOSTLAWS) ? "All Law Changes" : "No Law Changes"]
    " - - if(unlock_content) - dat += "Ghost Form: [ghost_form]
    " - dat += "Ghost Orbit: [ghost_orbit]
    " - - var/button_name = "If you see this something went wrong." - switch(ghost_accs) - if(GHOST_ACCS_FULL) - button_name = GHOST_ACCS_FULL_NAME - if(GHOST_ACCS_DIR) - button_name = GHOST_ACCS_DIR_NAME - if(GHOST_ACCS_NONE) - button_name = GHOST_ACCS_NONE_NAME - - dat += "Ghost Accessories: [button_name]
    " - - switch(ghost_others) - if(GHOST_OTHERS_THEIR_SETTING) - button_name = GHOST_OTHERS_THEIR_SETTING_NAME - if(GHOST_OTHERS_DEFAULT_SPRITE) - button_name = GHOST_OTHERS_DEFAULT_SPRITE_NAME - if(GHOST_OTHERS_SIMPLE) - button_name = GHOST_OTHERS_SIMPLE_NAME - - dat += "Ghosts of Others: [button_name]
    " - dat += "
    " - - dat += "Broadcast Login/Logout: [broadcast_login_logout ? "Broadcast" : "Silent"]
    " - dat += "See Login/Logout Messages: [(chat_toggles & CHAT_LOGIN_LOGOUT) ? "Allowed" : "Muted"]
    " - dat += "
    " - - dat += "Income Updates: [(chat_toggles & CHAT_BANKCARD) ? "Allowed" : "Muted"]
    " - dat += "
    " - - dat += "FPS: [clientfps]
    " - - dat += "Parallax (Fancy Space): " - switch (parallax) - if (PARALLAX_LOW) - dat += "Low" - if (PARALLAX_MED) - dat += "Medium" - if (PARALLAX_INSANE) - dat += "Insane" - if (PARALLAX_DISABLE) - dat += "Disabled" - else - dat += "High" - dat += "
    " - - dat += "Set screentip mode: [screentip_pref ? "Enabled" : "Disabled"]
    " - dat += "Screentip color:    Change
    " - dat += "Item Hover Outlines: [itemoutline_pref ? "Enabled" : "Disabled"]
    " - - - dat += "Ambient Occlusion: [ambientocclusion ? "Enabled" : "Disabled"]
    " - dat += "Fit Viewport: [auto_fit_viewport ? "Auto" : "Manual"]
    " - if (CONFIG_GET(string/default_view) != CONFIG_GET(string/default_view_square)) - dat += "Widescreen: [widescreenpref ? "Enabled ([CONFIG_GET(string/default_view)])" : "Disabled ([CONFIG_GET(string/default_view_square)])"]
    " - - button_name = pixel_size - dat += "Pixel Scaling: [(button_name) ? "Pixel Perfect [button_name]x" : "Stretch to fit"]
    " - - switch(scaling_method) - if(SCALING_METHOD_DISTORT) - button_name = "Nearest Neighbor" - if(SCALING_METHOD_NORMAL) - button_name = "Point Sampling" - if(SCALING_METHOD_BLUR) - button_name = "Bilinear" - dat += "Scaling Method: [button_name]
    " - - if (CONFIG_GET(flag/maprotation)) - var/p_map = preferred_map - if (!p_map) - p_map = "Default" - if (config.defaultmap) - p_map += " ([config.defaultmap.map_name])" - else - if (p_map in config.maplist) - var/datum/map_config/VM = config.maplist[p_map] - if (!VM) - p_map += " (No longer exists)" - else - p_map = VM.map_name - else - p_map += " (No longer exists)" - if(CONFIG_GET(flag/preference_map_voting)) - dat += "Preferred Map: [p_map]
    " - - dat += "
    " - - dat += "

    Special Role Settings

    " - - if(is_banned_from(user.ckey, ROLE_SYNDICATE)) - dat += "You are banned from antagonist roles.
    " - src.be_special = list() - - - for (var/special_role in GLOB.special_roles) - if(is_banned_from(user.ckey, special_role)) - dat += "Be [capitalize(special_role)]: BANNED
    " - else - var/days_remaining = null - if(CONFIG_GET(flag/use_age_restriction_for_jobs)) //If it's a game mode antag, check if the player meets the minimum age - var/days_needed = GLOB.special_roles[special_role] - days_remaining = user.client?.get_remaining_days(days_needed) - if(days_remaining) - dat += "Be [capitalize(special_role)]: \[IN [days_remaining] DAYS]
    " - else - dat += "Be [capitalize(special_role)]: [(special_role in be_special) ? "Enabled" : "Disabled"]
    " - dat += "
    " - dat += "Midround Antagonist: [(toggles & MIDROUND_ANTAG) ? "Enabled" : "Disabled"]
    " - dat += "
    " - if(2) //OOC Preferences - dat += "" - - if(user.client.holder) - dat +="" - dat += "
    " - dat += "

    OOC Settings

    " - dat += "Window Flashing: [(windowflashing) ? "Enabled":"Disabled"]
    " - dat += "
    " - dat += "Play Admin MIDIs: [(toggles & SOUND_MIDI) ? "Enabled":"Disabled"]
    " - dat += "Play Lobby Music: [(toggles & SOUND_LOBBY) ? "Enabled":"Disabled"]
    " - dat += "Play End of Round Sounds: [(toggles & SOUND_ENDOFROUND) ? "Enabled":"Disabled"]
    " - dat += "Play Combat Mode Sounds: [(toggles & SOUND_COMBATMODE) ? "Enabled":"Disabled"]
    " - dat += "Announcement Sound Volume: [announcement_volume]
    " - dat += "See Pull Requests: [(chat_toggles & CHAT_PULLR) ? "Enabled":"Disabled"]
    " - dat += "Darkened Flashes: (replaces flashes with a black screen) [darkened_flash ? "Enabled":"Disabled"]
    " - dat += "
    " - - //aphrodisiac pref - dat += "Be Affected by Aphrodisiacs: [(skyrat_toggles & APHRO_PREF) ? "Enabled":"Disabled"]
    " - //cumface pref - dat += "Be Able To Get Covered In \"Reproductive Reagent\": [(skyrat_toggles & CUMFACE_PREF) ? "Enabled":"Disabled"]
    " - dat += "
    " - - //erp update prefs here - dat += "Bimbofication: [(skyrat_toggles & BIMBO_PREF) ? "Enabled":"Disabled"]
    " - dat += "Breast enlargement chemicals: [(skyrat_toggles & BREAST_ENLARGEMENT) ? "Enabled":"Disabled"]
    " - dat += "Penis enlargement chemicals: [(skyrat_toggles & PENIS_ENLARGEMENT) ? "Enabled":"Disabled"]
    " - dat += "Forced masculinity: [(skyrat_toggles & FORCED_MALE) ? "Enabled":"Disabled"]
    " - dat += "Forced femininity: [(skyrat_toggles & FORCED_FEM) ? "Enabled":"Disabled"]
    " - dat += "
    " - - if(user.client) - if(unlock_content) - dat += "BYOND Membership Publicity: [(toggles & MEMBER_PUBLIC) ? "Public" : "Hidden"]
    " - - if(unlock_content || check_rights_for(user.client, R_ADMIN)) - dat += "OOC Color:     Change
    " - if(hearted_until) - dat += "Clear OOC Commend Heart
    " - - dat += "
    " - - dat += "

    Admin Settings

    " - - dat += "Adminhelp Sounds: [(toggles & SOUND_ADMINHELP)?"Enabled":"Disabled"]
    " - dat += "Prayer Sounds: [(toggles & SOUND_PRAYERS)?"Enabled":"Disabled"]
    " - dat += "Announce Login: [(toggles & ANNOUNCE_LOGIN)?"Enabled":"Disabled"]
    " - dat += "
    " - dat += "Combo HUD Lighting: [(toggles & COMBOHUD_LIGHTING)?"Full-bright":"No Change"]
    " - dat += "
    " - dat += "Hide Dead Chat: [(chat_toggles & CHAT_DEAD)?"Shown":"Hidden"]
    " - dat += "Hide Radio Messages: [(chat_toggles & CHAT_RADIO)?"Shown":"Hidden"]
    " - dat += "Hide Prayers: [(chat_toggles & CHAT_PRAYER)?"Shown":"Hidden"]
    " - dat += "Split Admin Tabs: [(toggles & SPLIT_ADMIN_TABS)?"Enabled":"Disabled"]
    " - dat += "Ignore Being Summoned as Cult Ghost: [(toggles & ADMIN_IGNORE_CULT_GHOST)?"Don't Allow Being Summoned":"Allow Being Summoned"]
    " - dat += "Briefing Officer Outfit: [brief_outfit]
    " - if(CONFIG_GET(flag/allow_admin_asaycolor)) - dat += "
    " - dat += "ASAY Color:     Change
    " - - //deadmin - dat += "

    Deadmin While Playing

    " - var/timegate = CONFIG_GET(number/auto_deadmin_timegate) - if(timegate) - dat += "Noted roles will automatically deadmin during the first [FLOOR(timegate / 600, 1)] minutes of the round, and will defer to individual preferences after.
    " - - if(CONFIG_GET(flag/auto_deadmin_players) && !timegate) - dat += "Always Deadmin: FORCED
    " - else - dat += "Always Deadmin: [timegate ? "(Time Locked) " : ""][(toggles & DEADMIN_ALWAYS)?"Enabled":"Disabled"]
    " - if(!(toggles & DEADMIN_ALWAYS)) - dat += "
    " - if(!CONFIG_GET(flag/auto_deadmin_antagonists) || (CONFIG_GET(flag/auto_deadmin_antagonists) && !timegate)) - dat += "As Antag: [timegate ? "(Time Locked) " : ""][(toggles & DEADMIN_ANTAGONIST)?"Deadmin":"Keep Admin"]
    " - else - dat += "As Antag: FORCED
    " - - if(!CONFIG_GET(flag/auto_deadmin_heads) || (CONFIG_GET(flag/auto_deadmin_heads) && !timegate)) - dat += "As Command: [timegate ? "(Time Locked) " : ""][(toggles & DEADMIN_POSITION_HEAD)?"Deadmin":"Keep Admin"]
    " - else - dat += "As Command: FORCED
    " - - if(!CONFIG_GET(flag/auto_deadmin_security) || (CONFIG_GET(flag/auto_deadmin_security) && !timegate)) - dat += "As Security: [timegate ? "(Time Locked) " : ""][(toggles & DEADMIN_POSITION_SECURITY)?"Deadmin":"Keep Admin"]
    " - else - dat += "As Security: FORCED
    " - - if(!CONFIG_GET(flag/auto_deadmin_silicons) || (CONFIG_GET(flag/auto_deadmin_silicons) && !timegate)) - dat += "As Silicon: [timegate ? "(Time Locked) " : ""][(toggles & DEADMIN_POSITION_SILICON)?"Deadmin":"Keep Admin"]
    " - else - dat += "As Silicon: FORCED
    " - - dat += "
    " - if(3) // Custom keybindings - // Create an inverted list of keybindings -> key - var/list/user_binds = list() - for (var/key in key_bindings) - for(var/kb_name in key_bindings[key]) - user_binds[kb_name] += list(key) - - var/list/kb_categories = list() - // Group keybinds by category - for (var/name in GLOB.keybindings_by_name) - var/datum/keybinding/kb = GLOB.keybindings_by_name[name] - kb_categories[kb.category] += list(kb) - - dat += "" - - for (var/category in kb_categories) - dat += "

    [category]

    " - for (var/i in kb_categories[category]) - var/datum/keybinding/kb = i - if(!length(user_binds[kb.name]) || user_binds[kb.name][1] == "Unbound") - dat += " Unbound" - var/list/default_keys = hotkeys ? kb.hotkey_keys : kb.classic_keys - if(LAZYLEN(default_keys)) - dat += "| Default: [default_keys.Join(", ")]" - dat += "
    " - else - var/bound_key = user_binds[kb.name][1] - dat += " [bound_key]" - for(var/bound_key_index in 2 to length(user_binds[kb.name])) - bound_key = user_binds[kb.name][bound_key_index] - dat += " | [bound_key]" - if(length(user_binds[kb.name]) < MAX_KEYS_PER_KEYBIND) - dat += "| Add Secondary" - var/list/default_keys = hotkeys ? kb.classic_keys : kb.hotkey_keys - if(LAZYLEN(default_keys)) - dat += "| Default: [default_keys.Join(", ")]" - dat += "
    " - - dat += "

    " - dat += "\[Reset to default\]" - dat += "" - dat += "
    " - - if(!IsGuestKey(user.key)) - dat += "Undo " - dat += "Save Setup " - - dat += "Reset Setup" - dat += "
    " - - winshow(user, "preferences_window", TRUE) - var/datum/browser/popup = new(user, "preferences_browser", "
    Character Setup
    ", 640, 770) - popup.set_content(dat.Join()) - popup.open(FALSE) - onclose(user, "preferences_window", src) - -#undef APPEARANCE_CATEGORY_COLUMN -#undef MAX_MUTANT_ROWS - -/datum/preferences/proc/CaptureKeybinding(mob/user, datum/keybinding/kb, old_key) - var/HTML = {" -
    Keybinding: [kb.full_name]
    [kb.description]

    Press any key to change
    Press ESC to clear
    - - "} - winshow(user, "capturekeypress", TRUE) - var/datum/browser/popup = new(user, "capturekeypress", "
    Keybindings
    ", 350, 300) - popup.set_content(HTML) - popup.open(FALSE) - onclose(user, "capturekeypress", src) - -/datum/preferences/proc/SetChoices(mob/user, limit = 15, widthPerColumn = 295, height = 620) - if(!SSjob) - return - - //limit - The amount of jobs allowed per column. Defaults to 17 to make it look nice. - //widthPerColumn - Screen's width for every column. - //height - Screen's height. - - var/width = widthPerColumn - - var/HTML = "
    " - if(length(SSjob.joinable_occupations) <= 0) - HTML += "The job SSticker is not yet finished creating jobs, please try again later" - HTML += "
    Done

    " // Easier to press up here. - - else - HTML += "Choose occupation chances
    " - HTML += "
    Left-click to raise an occupation preference, right-click to lower it.
    " - HTML += "
    Done

    " // Easier to press up here. - HTML += "" - HTML += "
    " // Table within a table for alignment, also allows you to easily add more colomns. - HTML += "" - var/index = -1 - - //The job before the current job. I only use this to get the previous jobs color when I'm filling in blank rows. - var/datum/job/lastJob - var/datum/job/overflow_role = SSjob.GetJobType(SSjob.overflow_role) - - for(var/datum/job/job as anything in SSjob.joinable_occupations) - - index += 1 - if(index >= limit) - width += widthPerColumn - if((index < limit) && (lastJob != null)) - // Fills the rest of the cells with the last job's selection color. - for(var/i = 0, i < (limit - index), i += 1) - HTML += "" - HTML += "
      
    " - index = 0 - - HTML += "" - continue - if(job.veteran_only && !is_veteran_player(user.client)) - HTML += "[rank]" - continue - var/required_playtime_remaining = job.required_playtime_remaining(user.client) - if(required_playtime_remaining) - HTML += "[rank]" - continue - if(!job.player_old_enough(user.client)) - var/available_in_days = job.available_in_days(user.client) - HTML += "[rank]" - continue - if(job.has_banned_quirk(src)) - HTML += "[rank]" - continue - if(job.has_banned_species(src)) - HTML += "[rank]" - continue - if(!job.has_required_languages(src)) - HTML += "[rank]" - continue - if((job_preferences[overflow_role.title] == JP_LOW) && (rank != overflow_role.title) && !is_banned_from(user.ckey, overflow_role.title)) - HTML += "[rank]" - continue - var/rank_title_line = "[displayed_rank]" - if(job.job_flags & JOB_BOLD_SELECT_TEXT)//Bold head jobs - rank_title_line = "[rank_title_line]" - - if(job.alt_titles.len) - rank_title_line = "[rank_title_line]" - else - rank_title_line = span_dark("[rank_title_line]") //Make it dark if we're not adding a button for alt titles - HTML += rank_title_line - - - HTML += "" - continue - - HTML += "[prefLevelLabel]" - HTML += "" - - for(var/i = 1, i < (limit - index), i += 1) // Finish the column so it is even - HTML += "" - - HTML += "
    " - var/rank = job.title - - //Alternate Job Titles - var/displayed_rank = rank - if(job.alt_titles.len && (rank in alt_titles_preferences)) - displayed_rank = alt_titles_preferences[rank] - - lastJob = job - if(is_banned_from(user.ckey, rank)) - HTML += "[rank] BANNED
    \[NOT VETERAN\]
    \[ [get_exp_format(required_playtime_remaining)] as [job.get_exp_req_type()] \]
    \[IN [(available_in_days)] DAYS\]
    \[BAD QUIRKS\]
    \[BAD SPECIES\]
    \[BAD LANGS\]
    " - - var/prefLevelLabel = "ERROR" - var/prefLevelColor = "pink" - var/prefUpperLevel = -1 // level to assign on left click - var/prefLowerLevel = -1 // level to assign on right click - - switch(job_preferences[job.title]) - if(JP_HIGH) - prefLevelLabel = "High" - prefLevelColor = "slateblue" - prefUpperLevel = 4 - prefLowerLevel = 2 - if(JP_MEDIUM) - prefLevelLabel = "Medium" - prefLevelColor = "green" - prefUpperLevel = 1 - prefLowerLevel = 3 - if(JP_LOW) - prefLevelLabel = "Low" - prefLevelColor = "orange" - prefUpperLevel = 2 - prefLowerLevel = 4 - else - prefLevelLabel = "NEVER" - prefLevelColor = "red" - prefUpperLevel = 3 - prefLowerLevel = 1 - - HTML += "" - - if(rank == overflow_role.title)//Overflow is special - if(job_preferences[overflow_role.title] == JP_LOW) - HTML += "Yes" - else - HTML += "No" - HTML += "
      
    " - HTML += "
    " - - var/message = "Be an [overflow_role.title] if preferences unavailable" - if(joblessrole == BERANDOMJOB) - message = "Get random job if preferences unavailable" - else if(joblessrole == RETURNTOLOBBY) - message = "Return to lobby if preferences unavailable" - HTML += "

    [message]
    " - HTML += "
    Reset Preferences
    " - - var/datum/browser/popup = new(user, "mob_occupation", "
    Occupation Preferences
    ", width, height) - popup.set_window_options("can_close=0") - popup.set_content(HTML) - popup.open(FALSE) - -/datum/preferences/proc/SetJobPreferenceLevel(datum/job/job, level) - if (!job) - return FALSE - - if (level == JP_HIGH) // to high - //Set all other high to medium - for(var/j in job_preferences) - if(job_preferences[j] == JP_HIGH) - job_preferences[j] = JP_MEDIUM - //technically break here - - job_preferences[job.title] = level - return TRUE - -/datum/preferences/proc/UpdateJobPreference(mob/user, role, desiredLvl) - if(!SSjob || length(SSjob.joinable_occupations) <= 0) - return - var/datum/job/job = SSjob.GetJob(role) - - if(!job || !(job.job_flags & JOB_NEW_PLAYER_JOINABLE)) - user << browse(null, "window=mob_occupation") - ShowChoices(user) - return - - if (!isnum(desiredLvl)) - to_chat(user, span_danger("UpdateJobPreference - desired level was not a number. Please notify coders!")) - ShowChoices(user) - CRASH("UpdateJobPreference called with desiredLvl value of [isnull(desiredLvl) ? "null" : desiredLvl]") - - var/jpval = null - switch(desiredLvl) - if(3) - jpval = JP_LOW - if(2) - jpval = JP_MEDIUM - if(1) - jpval = JP_HIGH - - if(job.type == SSjob.overflow_role) - if(job_preferences[job.title] == JP_LOW) - jpval = null - else - jpval = JP_LOW - - SetJobPreferenceLevel(job, jpval) - SetChoices(user) - - return 1 - - -/datum/preferences/proc/ResetJobs() - job_preferences = list() - -/datum/preferences/proc/SetQuirks(mob/user) - if(!SSquirks) - to_chat(user, span_danger("The quirk subsystem is still initializing! Try again in a minute.")) - return - - var/list/dat = list() - if(!SSquirks.quirks.len) - dat += "The quirk subsystem hasn't finished initializing, please hold..." - dat += "
    Done

    " - else - dat += "
    Choose quirk setup

    " - dat += "
    Left-click to add or remove quirks. You need negative quirks to have positive ones.
    \ - Quirks are applied at roundstart and cannot normally be removed.
    " - dat += "
    Done
    " - dat += "
    " - dat += "
    Current quirks: [all_quirks.len ? all_quirks.Join(", ") : "None"]
    " - dat += "
    [GetPositiveQuirkCount()] / [MAX_QUIRKS] max positive quirks
    \ - Quirk balance remaining: [GetQuirkBalance()]

    " - for(var/V in SSquirks.quirks) - var/datum/quirk/T = SSquirks.quirks[V] - var/quirk_name = initial(T.name) - var/has_quirk - var/quirk_cost = initial(T.value) * -1 - var/lock_reason = "This trait is unavailable." - var/quirk_conflict = FALSE - for(var/_V in all_quirks) - if(_V == quirk_name) - has_quirk = TRUE - if(initial(T.mood_quirk) && CONFIG_GET(flag/disable_human_mood)) - lock_reason = "Mood is disabled." - quirk_conflict = TRUE - if(has_quirk) - if(quirk_conflict) - all_quirks -= quirk_name - has_quirk = FALSE - else - quirk_cost *= -1 //invert it back, since we'd be regaining this amount - if(quirk_cost > 0) - quirk_cost = "+[quirk_cost]" - var/font_color = "#AAAAFF" - if(initial(T.value) != 0) - font_color = initial(T.value) > 0 ? "#AAFFAA" : "#FFAAAA" - if(quirk_conflict) - dat += "[quirk_name] - [initial(T.desc)] \ - LOCKED: [lock_reason]
    " - else - if(has_quirk) - dat += "[has_quirk ? "Remove" : "Take"] ([quirk_cost] pts.) \ - [quirk_name] - [initial(T.desc)]
    " - else - dat += "[has_quirk ? "Remove" : "Take"] ([quirk_cost] pts.) \ - [quirk_name] - [initial(T.desc)]
    " - dat += "
    Reset Quirks
    " - - var/datum/browser/popup = new(user, "mob_occupation", "
    Quirk Preferences
    ", 900, 600) //no reason not to reuse the occupation window, as it's cleaner that way - popup.set_window_options("can_close=0") - popup.set_content(dat.Join()) - popup.open(FALSE) - -/datum/preferences/proc/GetQuirkBalance() - var/bal = 0 - for(var/V in all_quirks) - var/datum/quirk/T = SSquirks.quirks[V] - bal -= initial(T.value) - for(var/key in augments) - var/datum/augment_item/aug = GLOB.augment_items[augments[key]] - bal -= aug.cost - return bal - -/datum/preferences/proc/GetPositiveQuirkCount() - . = 0 - for(var/q in all_quirks) - if(SSquirks.quirk_points[q] > 0) - .++ - -/datum/preferences/Topic(href, href_list, hsrc) //yeah, gotta do this I guess.. - . = ..() - if(href_list["close"]) - var/client/C = usr.client - if(C) - C.clear_character_previews() - -/datum/preferences/proc/process_link(mob/user, list/href_list) - if(href_list["bancheck"]) - var/list/ban_details = is_banned_from_with_details(user.ckey, user.client.address, user.client.computer_id, href_list["bancheck"]) - var/admin = FALSE - if(GLOB.admin_datums[user.ckey] || GLOB.deadmins[user.ckey]) - admin = TRUE - for(var/i in ban_details) - if(admin && !text2num(i["applies_to_admins"])) - continue - ban_details = i - break //we only want to get the most recent ban's details - if(ban_details?.len) - var/expires = "This is a permanent ban." - if(ban_details["expiration_time"]) - expires = " The ban is for [DisplayTimeText(text2num(ban_details["duration"]) MINUTES)] and expires on [ban_details["expiration_time"]] (server time)." - to_chat(user, span_danger("You, or another user of this computer or connection ([ban_details["key"]]) is banned from playing [href_list["bancheck"]].
    The ban reason is: [ban_details["reason"]]
    This ban (BanID #[ban_details["id"]]) was applied by [ban_details["admin_key"]] on [ban_details["bantime"]] during round ID [ban_details["round_id"]].
    [expires]")) - return - if(href_list["preference"] == "job") - switch(href_list["task"]) - if("close") - user << browse(null, "window=mob_occupation") - ShowChoices(user) - if("reset") - ResetJobs() - SetChoices(user) - if("random") - switch(joblessrole) - if(RETURNTOLOBBY) - var/datum/job/overflow_role = SSjob.GetJobType(SSjob.overflow_role) - if(is_banned_from(user.ckey, overflow_role.title)) - joblessrole = BERANDOMJOB - else - joblessrole = BEOVERFLOW - if(BEOVERFLOW) - joblessrole = BERANDOMJOB - if(BERANDOMJOB) - joblessrole = RETURNTOLOBBY - SetChoices(user) - if("setJobLevel") - UpdateJobPreference(user, href_list["text"], text2num(href_list["level"])) - - if("alt_title") - var/job_title = href_list["job_title"] - var/titles_list = list(job_title) - var/datum/job/J = SSjob.GetJob(job_title) - for(var/i in J.alt_titles) - titles_list += i - var/chosen_title - chosen_title = input(user, "Choose your job's title:", "Job Preference") as null|anything in titles_list - if(chosen_title) - if(chosen_title == job_title) - if(alt_titles_preferences[job_title]) - alt_titles_preferences.Remove(job_title) - else - alt_titles_preferences[job_title] = chosen_title - SetChoices(user) - else - SetChoices(user) - return 1 - - else if(href_list["preference"] == "trait") - switch(href_list["task"]) - if("close") - user << browse(null, "window=mob_occupation") - ShowChoices(user) - if("update") - var/quirk = href_list["trait"] - if(!SSquirks.quirks[quirk]) - return - for(var/V in SSquirks.quirk_blacklist) //V is a list - var/list/L = V - if(!(quirk in L)) - continue - for(var/Q in all_quirks) - if((Q in L) && !(Q == quirk)) //two quirks have lined up in the list of the list of quirks that conflict with each other, so return (see quirks.dm for more details) - to_chat(user, span_danger("[quirk] is incompatible with [Q].")) - return - var/value = SSquirks.quirk_points[quirk] - var/balance = GetQuirkBalance() - if(quirk in all_quirks) - if(balance + value < 0) - to_chat(user, span_warning("Refunding this would cause you to go below your balance!")) - return - all_quirks -= quirk - else - var/is_positive_quirk = SSquirks.quirk_points[quirk] > 0 - if(is_positive_quirk && GetPositiveQuirkCount() >= MAX_QUIRKS) - to_chat(user, span_warning("You can't have more than [MAX_QUIRKS] positive quirks!")) - return - if(balance - value < 0) - to_chat(user, span_warning("You don't have enough balance to gain this quirk!")) - return - all_quirks += quirk - SetQuirks(user) - if("reset") - all_quirks = list() - SetQuirks(user) - else - SetQuirks(user) - return TRUE - - else if(href_list["preference"] == "food") - switch(href_list["task"]) - if("close") - user << browse(null, "window=mob_occupation") - ShowChoices(user) - if("update") - if(href_list["like"]) - for(var/F in GLOB.food) - if(F == href_list["like"]) - if(!foodlikes[F]) - if(foodlikes.len < maxlikes) - foodlikes[F] = GLOB.food[F] - if(fooddislikes[F]) - fooddislikes.Remove(F) - else - foodlikes.Remove(F) - if(href_list["dislike"]) - for(var/F in GLOB.food) - if(F == href_list["dislike"]) - if(!fooddislikes[F]) - if(fooddislikes.len < maxdislikes) - fooddislikes[F] = GLOB.food[F] - if(foodlikes[F]) - foodlikes.Remove(F) - else - fooddislikes.Remove(F) - if(foodlikes.len > maxlikes) - foodlikes.Cut(maxlikes+1) - if(fooddislikes.len > maxdislikes) - foodlikes.Cut(maxdislikes+1) - SetFood(user) - if("reset") - foodlikes = list() - fooddislikes = list() - SetFood(user) - else - SetFood(user) - return TRUE - - switch(href_list["task"]) - if("close_language") - user << browse(null, "window=culture_lang") - ShowChoices(user) - if("augment_style") - needs_update = TRUE - var/slot_name = href_list["slot"] - var/new_style = input(user, "Choose your character's [slot_name] augmentation style:", "Character Preference") as null|anything in GLOB.robotic_styles_list - if(new_style) - if(new_style == "None") - if(augment_limb_styles[slot_name]) - augment_limb_styles -= slot_name - else - augment_limb_styles[slot_name] = new_style - if("set_augment") - if(pref_species.can_augment) - needs_update = TRUE - var/typed_path = text2path(href_list["type"]) - var/datum/augment_item/target_aug = GLOB.augment_items[typed_path] - var/datum/augment_item/current - if(augments[target_aug.slot]) - current = GLOB.augment_items[augments[target_aug.slot]] - if(current == target_aug) - augments -= target_aug.slot - else if(CanBuyAugment(target_aug, current)) - augments[target_aug.slot] = typed_path - if("augment_slot") - var/slot_name = href_list["slot"] - chosen_augment_slot = slot_name - if("change_loadout_customization") - needs_update = TRUE - var/path = text2path(href_list["item"]) - if(!loadout[path]) - return - var/datum/loadout_item/LI = GLOB.loadout_items[path] - switch(LI.extra_info) - if(LOADOUT_INFO_ONE_COLOR) - var/new_color = input(user, "Choose your item's color:", "Character Preference","#[loadout[path]]") as color|null - if(new_color) - if(!loadout[path]) - return - loadout[path] = sanitize_hexcolor(new_color) - if(LOADOUT_INFO_THREE_COLORS) - var/color_slot = text2num(href_list["color_slot"]) - if(color_slot) - var/list/color_list = splittext(loadout[path], "|") - var/new_color = input(user, "Choose your item's color:", "Character Preference","#[color_list[color_slot]]") as color|null - if(new_color) - if(!loadout[path]) - return - color_list[color_slot] = sanitize_hexcolor(new_color) - loadout[path] = color_list.Join("|") - if(LOADOUT_INFO_STYLE) - return - if("change_loadout") - needs_update = TRUE - var/path = text2path(href_list["item"]) - var/datum/loadout_item/LI = GLOB.loadout_items[path] - if(loadout[path]) //We sell it! - loadout -= path - loadout_points += LI.cost - else //We attempt to buy it - if(LI.cost > loadout_points) - return - if(LI.ckeywhitelist && !(user.ckey in LI.ckeywhitelist) && !user.client.holder) - return - loadout_points -= LI.cost - loadout[LI.path] = LI.default_customization() //As in "No extra information associated" - if("change_marking") - needs_update = TRUE - switch(href_list["preference"]) - if("use_preset") - var/action = tgui_alert(user, "Are you sure you want to use a preset (This will clear your existing markings)?", "", list("Yes", "No")) - if(action && action == "Yes") - var/list/candidates = GLOB.body_marking_sets.Copy() - if(!mismatched_customization) - for(var/name in candidates) - var/datum/body_marking_set/BMS = GLOB.body_marking_sets[name] - if(BMS.recommended_species && !(pref_species.id in BMS.recommended_species)) - candidates -= name - if(length(candidates) == 0) - return - var/desired_set = input(user, "Choose your new body markings:", "Character Preference") as null|anything in candidates - if(desired_set) - var/datum/body_marking_set/BMS = GLOB.body_marking_sets[desired_set] - body_markings = assemble_body_markings_from_set(BMS, features, pref_species) - - if("reset_color") - var/zone = href_list["key"] - var/name = href_list["name"] - if(!body_markings[zone] || !body_markings[zone][name]) - return - var/datum/body_marking/BM = GLOB.body_markings[name] - body_markings[zone][name] = BM.get_default_color(features, pref_species) - if("change_color") - var/zone = href_list["key"] - var/name = href_list["name"] - if(!body_markings[zone] || !body_markings[zone][name]) - return - var/color = body_markings[zone][name] - var/new_color = input(user, "Choose your markings color:", "Character Preference","#[color]") as color|null - if(new_color) - if(!body_markings[zone] || !body_markings[zone][name]) - return - body_markings[zone][name] = sanitize_hexcolor(new_color) - if("marking_move_up") - var/zone = href_list["key"] - var/name = href_list["name"] - var/list/marking_list = LAZYACCESS(body_markings, zone) - var/current_index = LAZYFIND(marking_list, name) - if(!current_index || --current_index < 1) - return - var/marking_content = marking_list[name] - marking_list -= name - marking_list.Insert(current_index, name) - marking_list[name] = marking_content - if("marking_move_down") - var/zone = href_list["key"] - var/name = href_list["name"] - var/list/marking_list = LAZYACCESS(body_markings, zone) - var/current_index = LAZYFIND(marking_list, name) - if(!current_index || ++current_index > length(marking_list)) - return - var/marking_content = marking_list[name] - marking_list -= name - marking_list.Insert(current_index, name) - marking_list[name] = marking_content - if("add_marking") - var/zone = href_list["key"] - if(!GLOB.body_markings_per_limb[zone]) - return - var/list/possible_candidates = GLOB.body_markings_per_limb[zone].Copy() - if(body_markings[zone]) - //To prevent exploiting hrefs to bypass the marking limit - if(body_markings[zone].len >= MAXIMUM_MARKINGS_PER_LIMB) - return - //Remove already used markings from the candidates - for(var/list/this_list in body_markings[zone]) - possible_candidates -= this_list[MUTANT_INDEX_NAME] - if(!mismatched_customization) - for(var/name in possible_candidates) - var/datum/body_marking/BD = GLOB.body_markings[name] - if((BD.recommended_species && !(pref_species.id in BD.recommended_species))) - possible_candidates -= name - - if(possible_candidates.len == 0) - return - var/desired_marking = input(user, "Choose your new marking to add:", "Character Preference") as null|anything in possible_candidates - if(desired_marking) - var/datum/body_marking/BD = GLOB.body_markings[desired_marking] - if(!body_markings[zone]) - body_markings[zone] = list() - body_markings[zone][BD.name] = BD.get_default_color(features, pref_species) - - if("remove_marking") - var/zone = href_list["key"] - var/name = href_list["name"] - if(!body_markings[zone] || !body_markings[zone][name]) - return - body_markings[zone] -= name - if(body_markings[zone].len == 0) - body_markings -= zone - if("change_marking") - var/zone = href_list["key"] - var/changing_name = href_list["name"] - - var/list/possible_candidates = GLOB.body_markings_per_limb[zone].Copy() - if(body_markings[zone]) - //Remove already used markings from the candidates - for(var/keyed_name in body_markings[zone]) - possible_candidates -= keyed_name - if(!mismatched_customization) - for(var/name in possible_candidates) - var/datum/body_marking/BD = GLOB.body_markings[name] - if(BD.recommended_species && !(pref_species.id in BD.recommended_species)) - possible_candidates -= name - if(possible_candidates.len == 0) - return - var/desired_marking = input(user, "Choose a marking to change the current one to:", "Character Preference") as null|anything in possible_candidates - if(desired_marking) - if(!body_markings[zone] || !body_markings[zone][changing_name]) - return - var/held_index = LAZYFIND(body_markings[zone], changing_name) - var/datum/body_marking/BD = GLOB.body_markings[desired_marking] - var/marking_content - if(allow_advanced_colors) - marking_content = body_markings[zone][changing_name] - else - marking_content = BD.get_default_color(features, pref_species) - body_markings[zone] -= changing_name - body_markings[zone].Insert(held_index, desired_marking) - body_markings[zone][desired_marking] = marking_content - if("change_genitals") - needs_update = TRUE - switch(href_list["preference"]) - if("breasts_size") - var/new_size = input(user, "Choose your character's breasts size:", "Character Preference") as null|anything in GLOB.preference_breast_sizes - if(new_size) - features["breasts_size"] = breasts_cup_to_size(new_size) - if("breasts_lactation") - features["breasts_lactation"] = !features["breasts_lactation"] - if("penis_taur_mode") - features["penis_taur_mode"] = !features["penis_taur_mode"] - if("penis_size") - var/new_length = input(user, "Choose your penis length:\n([PENIS_MIN_LENGTH]-[PENIS_MAX_LENGTH] in inches)", "Character Preference") as num|null - if(new_length) - features["penis_size"] = clamp(round(new_length, 1), PENIS_MIN_LENGTH, PENIS_MAX_LENGTH) - if(features["penis_girth"] >= new_length) - features["penis_girth"] = new_length - 1 - if("penis_sheath") - var/new_sheath = input(user, "Choose your penis sheath", "Character Preference") as null|anything in SHEATH_MODES - if(new_sheath) - features["penis_sheath"] = new_sheath - if("penis_girth") - var/max_girth = PENIS_MAX_GIRTH - if(features["penis_size"] >= max_girth) - max_girth = features["penis_size"] - var/new_girth = input(user, "Choose your penis girth:\n(1-[max_girth] (based on length) in inches)", "Character Preference") as num|null - if(new_girth) - features["penis_girth"] = clamp(round(new_girth, 1), 1, max_girth) - if("balls_size") - var/new_size = input(user, "Choose your character's balls size:", "Character Preference") as null|anything in GLOB.preference_balls_sizes - if(new_size) - features["balls_size"] = balls_description_to_size(new_size) - if("change_bodypart") - needs_update = TRUE - switch(href_list["preference"]) - if("change_name") - var/key = href_list["key"] - if(!mutant_bodyparts[key]) - return - var/new_name - if(mismatched_customization) - new_name = input(user, "Choose your character's [key]:", "Character Preference") as null|anything in accessory_list_of_key_for_species(key, pref_species, TRUE, parent.ckey) - else - new_name = input(user, "Choose your character's [key]:", "Character Preference") as null|anything in accessory_list_of_key_for_species(key, pref_species, FALSE, parent.ckey) - if(new_name && mutant_bodyparts[key]) - mutant_bodyparts[key][MUTANT_INDEX_NAME] = new_name - validate_color_keys_for_part(key) - if(!allow_advanced_colors) - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][new_name] - mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) - if("change_color") - var/key = href_list["key"] - if(!mutant_bodyparts[key]) - return - var/list/colorlist = mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] - var/index = text2num(href_list["color_index"]) - if(colorlist.len < index) - return - var/new_color = input(user, "Choose your character's [key] color:", "Character Preference","#[colorlist[index]]") as color|null - if(new_color) - colorlist[index] = sanitize_hexcolor(new_color) - if("reset_color") - var/key = href_list["key"] - if(!mutant_bodyparts[key]) - return - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][mutant_bodyparts[key][MUTANT_INDEX_NAME]] - mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] = SA.get_default_color(features, pref_species) - if("reset_all_colors") - var/action = tgui_alert(user, "Are you sure you want to reset all colors?", "", list("Yes", "No")) - if(action == "Yes") - reset_colors() - - if("random") - needs_update = TRUE - switch(href_list["preference"]) - if("name") - real_name = pref_species.random_name(gender,1) - if("age") - age = rand(AGE_MIN, AGE_MAX) - if("hair") - hair_color = random_short_color() - if("hairstyle") - hairstyle = random_hairstyle(gender) - if("facial") - facial_hair_color = random_short_color() - if("facial_hairstyle") - facial_hairstyle = random_facial_hairstyle(gender) - if("underwear") - underwear = random_underwear(gender) - if("underwear_color") - underwear_color = random_short_color() - if("undershirt") - undershirt = random_undershirt(gender) - if("socks") - socks = random_socks() - if(BODY_ZONE_PRECISE_EYES) - eye_color = random_eye_color() - if("s_tone") - set_skin_tone(random_skin_tone()) - if("species") - random_species() - if("bag") - backpack = pick(GLOB.backpacklist) - if("suit") - jumpsuit_style = pick(GLOB.jumpsuitlist) - if("all") - apply_character_randomization_prefs() - - if("input") - - if(href_list["preference"] in GLOB.preferences_custom_names) - ask_for_custom_name(user,href_list["preference"]) - - - switch(href_list["preference"]) - if("set_species") - needs_update = TRUE - var/species = href_list["selected_species"] - var/newtype = GLOB.species_list[species] - if(newtype) - set_new_species(newtype) - user << browse(null, "window=species_menu") - - if("close_species") - user << browse(null, "window=species_menu") - - if("ghostform") - if(unlock_content) - var/new_form = input(user, "Thanks for supporting BYOND - Choose your ghostly form:","Thanks for supporting BYOND",null) as null|anything in GLOB.ghost_forms - if(new_form) - ghost_form = new_form - if("ghostorbit") - if(unlock_content) - var/new_orbit = input(user, "Thanks for supporting BYOND - Choose your ghostly orbit:","Thanks for supporting BYOND", null) as null|anything in GLOB.ghost_orbits - if(new_orbit) - ghost_orbit = new_orbit - - if("ghostaccs") - var/new_ghost_accs = tgui_alert(usr,"Do you want your ghost to show full accessories where possible, hide accessories but still use the directional sprites where possible, or also ignore the directions and stick to the default sprites?",,list(GHOST_ACCS_FULL_NAME, GHOST_ACCS_DIR_NAME, GHOST_ACCS_NONE_NAME)) - switch(new_ghost_accs) - if(GHOST_ACCS_FULL_NAME) - ghost_accs = GHOST_ACCS_FULL - if(GHOST_ACCS_DIR_NAME) - ghost_accs = GHOST_ACCS_DIR - if(GHOST_ACCS_NONE_NAME) - ghost_accs = GHOST_ACCS_NONE - - if("ghostothers") - var/new_ghost_others = tgui_alert(usr,"Do you want the ghosts of others to show up as their own setting, as their default sprites or always as the default white ghost?",,list(GHOST_OTHERS_THEIR_SETTING_NAME, GHOST_OTHERS_DEFAULT_SPRITE_NAME, GHOST_OTHERS_SIMPLE_NAME)) - switch(new_ghost_others) - if(GHOST_OTHERS_THEIR_SETTING_NAME) - ghost_others = GHOST_OTHERS_THEIR_SETTING - if(GHOST_OTHERS_DEFAULT_SPRITE_NAME) - ghost_others = GHOST_OTHERS_DEFAULT_SPRITE - if(GHOST_OTHERS_SIMPLE_NAME) - ghost_others = GHOST_OTHERS_SIMPLE - - if("name") - var/new_name = input(user, "Choose your character's name:", "Character Preference") as text|null - if(new_name) - new_name = reject_bad_name(new_name) - if(new_name) - real_name = new_name - else - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .") - - if("age") - var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference") as num|null - if(new_age) - age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN) - - if("flavor_text") - var/msg = input(usr, "Set the flavor text in your 'examine' verb. This is for describing what people can tell by looking at your character.", "Flavor Text", features["flavor_text"]) as message|null //Skyrat edit, removed stripped_multiline_input() - if(!isnull(msg)) - features["flavor_text"] = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("silicon_flavor_text") - var/msg = input(usr, "Set the flavor text in your 'examine' verb. This is for describing what people can tell by looking at your character.", "Silicon Flavor Text", features["silicon_flavor_text"]) as message|null - if(!isnull(msg)) - features["silicon_flavor_text"] = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("ooc_prefs") - var/msg = input(usr, "Set your OOC preferences.", "OOC Prefs", ooc_prefs) as message|null - if(!isnull(msg)) - ooc_prefs = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("general_record") - var/msg = input(usr, "Set your general record. This is more or less public information, available from security, medical and command consoles", "General Record", general_record) as message|null - if(!isnull(msg)) - general_record = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("medical_record") - var/msg = input(usr, "Set your medical record. ", "Medical Record", medical_record) as message|null - if(!isnull(msg)) - medical_record = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("security_record") - var/msg = input(usr, "Set your security record. ", "Medical Record", security_record) as message|null - if(!isnull(msg)) - security_record = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("background_info") - var/msg = input(usr, "Set your background information. (Where you come from, which culture were you raised in and why you are working here etc.)", "Background Info", background_info) as message|null - if(!isnull(msg)) - background_info = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("exploitable_info") - var/msg = input(usr, "Set your exploitable information. This is sensitive informations that antagonists may get to see, recommended for better roleplay experience", "Exploitable Info", exploitable_info) as message|null - if(!isnull(msg)) - exploitable_info = STRIP_HTML_SIMPLE(msg, MAX_FLAVOR_LEN) - - if("uses_skintones") - needs_update = TRUE - features["uses_skintones"] = !features["uses_skintones"] - - if("erp_pref") - switch(erp_pref) - if("Yes") - erp_pref = "Ask" - if("Ask") - erp_pref = "No" - if("No") - erp_pref = "Yes" - if("noncon_pref") - switch(noncon_pref) - if("Yes") - noncon_pref = "Ask" - if("Ask") - noncon_pref = "No" - if("No") - noncon_pref = "Yes" - if("vore_pref") - switch(vore_pref) - if("Yes") - vore_pref = "Ask" - if("Ask") - vore_pref = "No" - if("No") - vore_pref = "Yes" - //SKYRAT EDIT ADDITION BEGIN - ERP_SLOT_SYSTEM - if("sextoys_pref") - // User changed state of ERP pref - var/mob/living/carbon/human/M = user - switch(sextoys_pref) - if("No") - sextoys_pref = "Yes" - // User set ERP pref to "Yes", make the ERP button of the inventory visible and interactive again - if(user.hud_used) - for(var/atom/movable/screen/human/erp_toggle/E in user.hud_used.static_inventory) - if(istype(E, /atom/movable/screen/human/erp_toggle)) - E.invisibility = 0 - // Perform standard inventory updates - if("Yes") - sextoys_pref = "No" - if(ishuman(user)) - // The user has set the ERP pref to a value other than "Yes", now we drop all items from ERP slots and can't use them - if(M.vagina != null) - M.dropItemToGround(M.vagina, TRUE, M.loc, TRUE, FALSE, TRUE) - if(M.anus != null) - M.dropItemToGround(M.anus, TRUE, M.loc, TRUE, FALSE, TRUE) - if(M.nipples != null) - M.dropItemToGround(M.nipples, TRUE, M.loc, TRUE, FALSE, TRUE) - if(M.penis != null) - M.dropItemToGround(M.penis, TRUE, M.loc, TRUE, FALSE, TRUE) - // If the user has an inventory of the ERP open, then we will hide it - if(user.hud_used) - if(user.hud_used.ERP_inventory_shown) - user.hud_used.ERP_inventory_shown = FALSE - user.client.screen -= user.hud_used.erp_toggleable_inventory - // Find the ERP button of the inventory and make it invisible so that the user cannot interact with it - for(var/atom/movable/screen/human/erp_toggle/E in user.hud_used.static_inventory) - if(istype(E, /atom/movable/screen/human/erp_toggle)) - E.invisibility = 100 - user.hud_used.hidden_inventory_update(user) - user.hud_used.persistent_inventory_update(user) - //SKYRAT EDIT ADDITION END - - if("change_arousal_preview") - var/list/gen_arous_trans = list("Not aroused" = AROUSAL_NONE, - "Partly aroused" = AROUSAL_PARTIAL, - "Very aroused" = AROUSAL_FULL - ) - var/new_arousal = input(user, "Choose your character's arousal:", "Character Preference") as null|anything in gen_arous_trans - if(new_arousal) - arousal_preview = gen_arous_trans[new_arousal] - needs_update = TRUE - - if("hair") - needs_update = TRUE - var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference","#"+hair_color) as color|null - if(new_hair) - hair_color = sanitize_hexcolor(new_hair) - - if("hairstyle") - needs_update = TRUE - var/new_hairstyle = input(user, "Choose your character's hairstyle:", "Character Preference") as null|anything in GLOB.hairstyles_list - if(new_hairstyle) - hairstyle = new_hairstyle - - if("next_hairstyle") - needs_update = TRUE - hairstyle = next_list_item(hairstyle, GLOB.hairstyles_list) - - if("previous_hairstyle") - needs_update = TRUE - hairstyle = previous_list_item(hairstyle, GLOB.hairstyles_list) - - if("facial") - needs_update = TRUE - var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference","#"+facial_hair_color) as color|null - if(new_facial) - facial_hair_color = sanitize_hexcolor(new_facial) - - if("facial_hairstyle") - needs_update = TRUE - var/new_facial_hairstyle = input(user, "Choose your character's facial-hairstyle:", "Character Preference") as null|anything in GLOB.facial_hairstyles_list - if(new_facial_hairstyle) - facial_hairstyle = new_facial_hairstyle - - if("next_facehairstyle") - needs_update = TRUE - facial_hairstyle = next_list_item(facial_hairstyle, GLOB.facial_hairstyles_list) - - if("previous_facehairstyle") - needs_update = TRUE - facial_hairstyle = previous_list_item(facial_hairstyle, GLOB.facial_hairstyles_list) - - if("underwear") - needs_update = TRUE - var/new_underwear = input(user, "Choose your character's underwear:", "Character Preference") as null|anything in GLOB.underwear_list - if(new_underwear) - underwear = new_underwear - - if("underwear_color") - needs_update = TRUE - var/new_underwear_color = input(user, "Choose your character's underwear color:", "Character Preference","#"+underwear_color) as color|null - if(new_underwear_color) - underwear_color = sanitize_hexcolor(new_underwear_color) - - if("undershirt_color") - needs_update = TRUE - var/new_undershirt_color = input(user, "Choose your character's undershirt color:", "Character Preference","#"+undershirt_color) as color|null - if(new_undershirt_color) - undershirt_color = sanitize_hexcolor(new_undershirt_color) - - if("socks_color") - needs_update = TRUE - var/new_socks_color = input(user, "Choose your character's socks color:", "Character Preference","#"+socks_color) as color|null - if(new_socks_color) - socks_color = sanitize_hexcolor(new_socks_color) - - if("undershirt") - needs_update = TRUE - var/new_undershirt = input(user, "Choose your character's undershirt:", "Character Preference") as null|anything in GLOB.undershirt_list - if(new_undershirt) - undershirt = new_undershirt - - if("socks") - needs_update = TRUE - var/new_socks - new_socks = input(user, "Choose your character's socks:", "Character Preference") as null|anything in GLOB.socks_list - if(new_socks) - socks = new_socks - - if("eyes") - needs_update = TRUE - var/new_eyes = input(user, "Choose your character's eye colour:", "Character Preference","#"+eye_color) as color|null - if(new_eyes) - eye_color = sanitize_hexcolor(new_eyes) - - if("show_body_size") - needs_update = TRUE - show_body_size = !show_body_size - - if("body_size") - needs_update = TRUE - var/new_body_size = input(user, "Choose your desired sprite size:\n([BODY_SIZE_MIN*100]%-[BODY_SIZE_MAX*100]%), Warning: May make your character look distorted", "Character Preference", features["body_size"]*100) as num|null - if(new_body_size) - new_body_size = clamp(new_body_size * 0.01, BODY_SIZE_MIN, BODY_SIZE_MAX) - features["body_size"] = new_body_size - - if("custom_species") - var/new_name = input(user, "Choose your character's species name:", "Character Preference") as text|null - if(new_name) - if(new_name == "") - features["custom_species"] = null - else - features["custom_species"] = reject_bad_name(new_name) - else - features["custom_species"] = null - - if("scream") - var/list/available_screams = list() - for(var/spath in subtypesof(/datum/scream_type)) //We need to build a custom list of available screams! - var/datum/scream_type/scream = spath - if(initial(scream.restricted_species_type)) - if(!istype(pref_species, initial(scream.restricted_species_type))) - continue - if(initial(scream.donator_only) && !GLOB.donator_list[parent.ckey] && !check_rights(R_ADMIN, FALSE)) - continue - available_screams[initial(scream.name)] = spath - var/new_scream_id = input(user, "Choose your character's scream:", "Character Scream") as null|anything in available_screams - var/datum/scream_type/scream = available_screams[new_scream_id] - if(scream) - pref_scream = new scream - SEND_SOUND(user, pick(pref_scream.male_screamsounds)) - - if("laugh") - var/list/available_laughs = list() - for(var/spath in subtypesof(/datum/laugh_type)) //We need to build a custom list of available laughs! - var/datum/laugh_type/laugh = spath - if(initial(laugh.restricted_species_type)) - if(!istype(pref_species, initial(laugh.restricted_species_type))) - continue - if(initial(laugh.donator_only) && !GLOB.donator_list[parent.ckey] && !check_rights(R_ADMIN, FALSE)) - continue - available_laughs[initial(laugh.name)] = spath - var/new_laugh_id = input(user, "Choose your character's laugh:", "Character Scream") as null|anything in available_laughs - var/datum/laugh_type/laugh = available_laughs[new_laugh_id] - if(laugh) - pref_laugh = new laugh - SEND_SOUND(user, pick(pref_laugh.male_laughsounds)) - - if("species") - ShowSpeciesMenu(user) - return TRUE - - if("mutant_color") - needs_update = TRUE - var/new_mutantcolor = input(user, "Choose your character's primary color:", "Character Preference","#"+features["mcolor"]) as color|null - if(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor"] = pref_species.default_color - else - features["mcolor"] = sanitize_hexcolor(new_mutantcolor) - if(!allow_advanced_colors) - reset_colors() - - if("mutant_color2") - needs_update = TRUE - var/new_mutantcolor = input(user, "Choose your character's secondary color:", "Character Preference","#"+features["mcolor2"]) as color|null - if(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor2"] = pref_species.default_color - else - features["mcolor2"] = sanitize_hexcolor(new_mutantcolor) - if(!allow_advanced_colors) - reset_colors() - - if("mutant_color3") - needs_update = TRUE - var/new_mutantcolor = input(user, "Choose your character's tertiary color:", "Character Preference","#"+features["mcolor3"]) as color|null - if(new_mutantcolor) - if(new_mutantcolor == "#000000") - features["mcolor3"] = pref_species.default_color - else - features["mcolor3"] = sanitize_hexcolor(new_mutantcolor) - if(!allow_advanced_colors) - reset_colors() - - if("color_ethereal") - needs_update = TRUE - var/new_etherealcolor = input(user, "Choose your ethereal color", "Character Preference") as null|anything in GLOB.color_list_ethereal - if(new_etherealcolor) - features["ethcolor"] = GLOB.color_list_ethereal[new_etherealcolor] - - if("color_ghoul") // ghoul color - var/new_ghoulcolor = input(user, "Select your color:", "Character Preference") as null|anything in GLOB.color_list_ghoul - if(new_ghoulcolor) - features["ghoulcolor"] = GLOB.color_list_ghoul[new_ghoulcolor] - - if("cultural_info_change") - var/thing = href_list["info"] - var/list/choice_list = list() - var/list/iteration_list - var/list/siphon_list - switch(thing) - if(CULTURE_CULTURE) - iteration_list = pref_species.cultures - siphon_list = GLOB.culture_cultures - if(CULTURE_FACTION) - iteration_list = pref_species.factions - siphon_list = GLOB.culture_factions - if(CULTURE_LOCATION) - iteration_list = pref_species.locations - siphon_list = GLOB.culture_locations - for(var/cultural_entity in iteration_list) - var/datum/cultural_info/CINFO = siphon_list[cultural_entity] - choice_list[CINFO.name] = cultural_entity - var/new_cultural_thing = input(user, "Choose your character's [thing]:", "Character Preference") as null|anything in choice_list - if(new_cultural_thing) - switch(thing) - if(CULTURE_CULTURE) - pref_culture = choice_list[new_cultural_thing] - if(CULTURE_FACTION) - pref_faction = choice_list[new_cultural_thing] - if(CULTURE_LOCATION) - pref_location = choice_list[new_cultural_thing] - validate_languages() - - if("cultural_info_toggle") - var/thing = href_list["info"] - switch(thing) - if(CULTURE_CULTURE) - culture_more_info = !culture_more_info - if(CULTURE_FACTION) - faction_more_info = !faction_more_info - if(CULTURE_LOCATION) - location_more_info = !location_more_info - - if("language") - var/target_lang = text2path(href_list["lang"]) - var/level = text2num(href_list["level"]) - var/required_lang = get_required_languages() - if(required_lang[target_lang]) //Can't do anything to a required language - return TRUE - var/opt_langs = get_optional_languages() - if(!opt_langs[target_lang]) - return TRUE - if(!level) - languages -= target_lang - else if(can_buy_language(target_lang, level)) - languages[target_lang] = level - ShowLangMenu(user) - return TRUE - - if("language_button") - ShowLangMenu(user) - return TRUE - - - /*if("tail_lizard") - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_lizard - if(new_tail) - features["tail_lizard"] = new_tail - - if("tail_human") - var/new_tail - new_tail = input(user, "Choose your character's tail:", "Character Preference") as null|anything in GLOB.tails_list_human - if(new_tail) - features["tail_human"] = new_tail - - if("snout") - var/new_snout - new_snout = input(user, "Choose your character's snout:", "Character Preference") as null|anything in GLOB.snouts_list - if(new_snout) - features["snout"] = new_snout - - if("horns") - var/new_horns - new_horns = input(user, "Choose your character's horns:", "Character Preference") as null|anything in GLOB.horns_list - if(new_horns) - features["horns"] = new_horns - - if("ears") - var/new_ears - new_ears = input(user, "Choose your character's ears:", "Character Preference") as null|anything in GLOB.ears_list - if(new_ears) - features["ears"] = new_ears - - if("wings") - var/new_wings - new_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.r_wings_list - if(new_wings) - features["wings"] = new_wings - - if("frills") - var/new_frills - new_frills = input(user, "Choose your character's frills:", "Character Preference") as null|anything in GLOB.frills_list - if(new_frills) - features["frills"] = new_frills - - if("spines") - var/new_spines - new_spines = input(user, "Choose your character's spines:", "Character Preference") as null|anything in GLOB.spines_list - if(new_spines) - features["spines"] = new_spines - - if("body_markings") - var/new_body_markings - new_body_markings = input(user, "Choose your character's body markings:", "Character Preference") as null|anything in GLOB.body_markings_list - if(new_body_markings) - features["body_markings"] = new_body_markings - - if("legs") - var/new_legs - new_legs = input(user, "Choose your character's legs:", "Character Preference") as null|anything in GLOB.legs_list - if(new_legs) - features["legs"] = new_legs - - if("moth_wings") - var/new_moth_wings - new_moth_wings = input(user, "Choose your character's wings:", "Character Preference") as null|anything in GLOB.moth_wings_list - if(new_moth_wings) - features["moth_wings"] = new_moth_wings - - if("moth_antennae") - var/new_moth_antennae - new_moth_antennae = input(user, "Choose your character's antennae:", "Character Preference") as null|anything in GLOB.moth_antennae_list - if(new_moth_antennae) - features["moth_antennae"] = new_moth_antennae - if("moth_markings") - var/new_moth_markings - new_moth_markings = input(user, "Choose your character's markings:", "Character Preference") as null|anything in GLOB.moth_markings_list - if(new_moth_markings) - features["moth_markings"] = new_moth_markings*/ - - if("s_tone") - needs_update = TRUE - var/new_s_tone = input(user, "Choose your character's skin-tone:", "Character Preference") as null|anything in GLOB.skin_tones - if(new_s_tone) - set_skin_tone(new_s_tone) - - if("ooccolor") - var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference",ooccolor) as color|null - if(new_ooccolor) - ooccolor = sanitize_ooccolor(new_ooccolor) - - if("asaycolor") - var/new_asaycolor = input(user, "Choose your ASAY color:", "Game Preference",asaycolor) as color|null - if(new_asaycolor) - asaycolor = sanitize_ooccolor(new_asaycolor) - - if("briefoutfit") - var/list/valid_paths = list() - for(var/datum/outfit/outfit_path as anything in subtypesof(/datum/outfit)) - valid_paths[initial(outfit_path.name)] = outfit_path - var/new_outfit = input(user, "Choose your briefing officer outfit:", "Game Preference") as null|anything in valid_paths - new_outfit = valid_paths[new_outfit] - if(new_outfit) - brief_outfit = new_outfit - - if("bag") - var/new_backpack = input(user, "Choose your character's style of bag:", "Character Preference") as null|anything in GLOB.backpacklist - if(new_backpack) - backpack = new_backpack - - if("suit") - needs_update = TRUE - if(jumpsuit_style == PREF_SUIT) - jumpsuit_style = PREF_SKIRT - else - jumpsuit_style = PREF_SUIT - - if("uplink_loc") - var/new_loc = input(user, "Choose your character's traitor uplink spawn location:", "Character Preference") as null|anything in GLOB.uplink_spawn_loc_list - if(new_loc) - uplink_spawn_loc = new_loc - - if("playtime_reward_cloak") - if (user.client.get_exp_living(TRUE) >= PLAYTIME_VETERAN) - playtime_reward_cloak = !playtime_reward_cloak - - if("ai_core_icon") - var/ai_core_icon = input(user, "Choose your preferred AI core display screen:", "AI Core Display Screen Selection") as null|anything in GLOB.ai_core_display_screens - "Portrait" - if(ai_core_icon) - preferred_ai_core_display = ai_core_icon - - if("sec_dept") - var/department = input(user, "Choose your preferred security department:", "Security Departments") as null|anything in GLOB.security_depts_prefs - if(department) - prefered_security_department = department - - if ("preferred_map") - var/maplist = list() - var/default = "Default" - if (config.defaultmap) - default += " ([config.defaultmap.map_name])" - for (var/M in config.maplist) - var/datum/map_config/VM = config.maplist[M] - if(!VM.votable) - continue - var/friendlyname = "[VM.map_name] " - if (VM.voteweight <= 0) - friendlyname += " (disabled)" - maplist[friendlyname] = VM.map_name - maplist[default] = null - var/pickedmap = input(user, "Choose your preferred map. This will be used to help weight random map selection.", "Character Preference") as null|anything in sort_list(maplist) - if (pickedmap) - preferred_map = maplist[pickedmap] - - if ("clientfps") - var/desiredfps = input(user, "Choose your desired fps. (0 = synced with server tick rate (currently:[world.fps]))", "Character Preference", clientfps) as null|num - if (!isnull(desiredfps)) - clientfps = sanitize_integer(desiredfps, -1, 1000, clientfps) - parent.fps = (clientfps < 0) ? RECOMMENDED_FPS : clientfps - if("ui") - var/pickedui = input(user, "Choose your UI style.", "Character Preference", UI_style) as null|anything in sort_list(GLOB.available_ui_styles) - if(pickedui) - UI_style = pickedui - if (parent && parent.mob && parent.mob.hud_used) - parent.mob.hud_used.update_ui_style(ui_style2icon(UI_style)) - if("pda_style") - var/pickedPDAStyle = input(user, "Choose your PDA style.", "Character Preference", pda_style) as null|anything in GLOB.pda_styles - if(pickedPDAStyle) - pda_style = pickedPDAStyle - if("pda_ringer") - var/pickedPDAMessage = stripped_input(user, "Choose your PDA ringer message. (Max 20 chars)", "Character Preference", pda_ringer, 20) - if(pickedPDAMessage) - pda_ringer = pickedPDAMessage - if("pda_color") - var/pickedPDAColor = input(user, "Choose your PDA Interface color.", "Character Preference", pda_color) as color|null - if(pickedPDAColor) - pda_color = pickedPDAColor - - if("phobia") - var/phobiaType = input(user, "What are you scared of?", "Character Preference", phobia) as null|anything in SStraumas.phobia_types - if(phobiaType) - phobia = phobiaType - - if ("max_chat_length") - var/desiredlength = input(user, "Choose the max character length of shown Runechat messages. Valid range is 1 to [CHAT_MESSAGE_MAX_LENGTH] (default: [initial(max_chat_length)]))", "Character Preference", max_chat_length) as null|num - if (!isnull(desiredlength)) - max_chat_length = clamp(desiredlength, 1, CHAT_MESSAGE_MAX_LENGTH) - - else - switch(href_list["preference"]) - if("reset_loadout") - var/action = tgui_alert(user, "Are you sure you want to reset your loadout?", "", list("Yes", "No")) - if(action && action != "Yes") - return - loadout = list() - loadout_points = initial_loadout_points() - - if("mismatch") - mismatched_customization = !mismatched_customization - - if("adv_colors") - if(allow_advanced_colors) - var/action = tgui_alert(user, "Are you sure you want to disable advanced colors (This will reset your colors back to default)?", "", list("Yes", "No")) - if(action && action != "Yes") - return - allow_advanced_colors = !allow_advanced_colors - if(!allow_advanced_colors) - reset_colors() - - if("publicity") - if(unlock_content) - toggles ^= MEMBER_PUBLIC - if("gender") - needs_update = TRUE - var/list/friendlyGenders = list("Male" = "male", "Female" = "female", "Other" = "plural") - var/pickedGender = input(user, "Choose your gender.", "Character Preference", gender) as null|anything in friendlyGenders - if(pickedGender && friendlyGenders[pickedGender] != gender) - gender = friendlyGenders[pickedGender] - underwear = random_underwear(gender) - undershirt = random_undershirt(gender) - socks = random_socks() - facial_hairstyle = random_facial_hairstyle(gender) - hairstyle = random_hairstyle(gender) - if("body_type") - needs_update = TRUE - if(body_type == MALE) - body_type = FEMALE - else - body_type = MALE - if("hotkeys") - hotkeys = !hotkeys - if(hotkeys) - winset(user, null, "input.focus=true input.background-color=[COLOR_INPUT_ENABLED]") - else - winset(user, null, "input.focus=true input.background-color=[COLOR_INPUT_DISABLED]") - - if("keybindings_capture") - var/datum/keybinding/kb = GLOB.keybindings_by_name[href_list["keybinding"]] - var/old_key = href_list["old_key"] - CaptureKeybinding(user, kb, old_key) - return - - if("keybindings_set") - var/kb_name = href_list["keybinding"] - if(!kb_name) - user << browse(null, "window=capturekeypress") - ShowChoices(user) - return - - var/clear_key = text2num(href_list["clear_key"]) - var/old_key = href_list["old_key"] - if(clear_key) - if(key_bindings[old_key]) - key_bindings[old_key] -= kb_name - LAZYADD(key_bindings["Unbound"], kb_name) - if(!length(key_bindings[old_key])) - key_bindings -= old_key - user << browse(null, "window=capturekeypress") - user.client.set_macros() - save_preferences() - ShowChoices(user) - return - - var/new_key = uppertext(href_list["key"]) - var/AltMod = text2num(href_list["alt"]) ? "Alt" : "" - var/CtrlMod = text2num(href_list["ctrl"]) ? "Ctrl" : "" - var/ShiftMod = text2num(href_list["shift"]) ? "Shift" : "" - var/numpad = text2num(href_list["numpad"]) ? "Numpad" : "" - // var/key_code = text2num(href_list["key_code"]) - - if(GLOB._kbMap[new_key]) - new_key = GLOB._kbMap[new_key] - - var/full_key - switch(new_key) - if("Alt") - full_key = "[new_key][CtrlMod][ShiftMod]" - if("Ctrl") - full_key = "[AltMod][new_key][ShiftMod]" - if("Shift") - full_key = "[AltMod][CtrlMod][new_key]" - else - full_key = "[AltMod][CtrlMod][ShiftMod][numpad][new_key]" - if(kb_name in key_bindings[full_key]) //We pressed the same key combination that was already bound here, so let's remove to re-add and re-sort. - key_bindings[full_key] -= kb_name - if(key_bindings[old_key]) - key_bindings[old_key] -= kb_name - if(!length(key_bindings[old_key])) - key_bindings -= old_key - key_bindings[full_key] += list(kb_name) - key_bindings[full_key] = sort_list(key_bindings[full_key]) - - user << browse(null, "window=capturekeypress") - user.client.set_macros() - save_preferences() - - if("keybindings_reset") - var/choice = tgui_alert(user, "Would you prefer 'hotkey' or 'classic' defaults?", "Setup keybindings", list("Hotkey", "Classic", "Cancel"), 60 SECONDS) - if(choice == "Cancel") - ShowChoices(user) - return - hotkeys = (choice == "Hotkey") - key_bindings = (hotkeys) ? deepCopyList(GLOB.hotkey_keybinding_list_by_key) : deepCopyList(GLOB.classic_keybinding_list_by_key) - user.client.set_macros() - - if("chat_on_map") - chat_on_map = !chat_on_map - if("see_chat_non_mob") - see_chat_non_mob = !see_chat_non_mob - if("see_rc_emotes") - see_rc_emotes = !see_rc_emotes - - if("action_buttons") - buttons_locked = !buttons_locked - if("tgui_fancy") - tgui_fancy = !tgui_fancy - if("tgui_lock") - tgui_lock = !tgui_lock - if("winflash") - windowflashing = !windowflashing - - //here lies the badmins - if("hear_adminhelps") - user.client.toggleadminhelpsound() - if("hear_prayers") - user.client.toggle_prayer_sound() - if("announce_login") - user.client.toggleannouncelogin() - if("combohud_lighting") - toggles ^= COMBOHUD_LIGHTING - if("toggle_dead_chat") - user.client.deadchat() - if("toggle_radio_chatter") - user.client.toggle_hear_radio() - if("toggle_split_admin_tabs") - toggles ^= SPLIT_ADMIN_TABS - if("toggle_prayers") - user.client.toggleprayers() - if("toggle_deadmin_always") - toggles ^= DEADMIN_ALWAYS - if("toggle_deadmin_antag") - toggles ^= DEADMIN_ANTAGONIST - if("toggle_deadmin_head") - toggles ^= DEADMIN_POSITION_HEAD - if("toggle_deadmin_security") - toggles ^= DEADMIN_POSITION_SECURITY - if("toggle_deadmin_silicon") - toggles ^= DEADMIN_POSITION_SILICON - if("toggle_ignore_cult_ghost") - toggles ^= ADMIN_IGNORE_CULT_GHOST - - - if("be_special") - var/be_special_type = href_list["be_special_type"] - if(be_special_type in be_special) - be_special -= be_special_type - else - be_special += be_special_type - - if("toggle_random") - var/random_type = href_list["random_type"] - if(randomise[random_type]) - randomise -= random_type - else - randomise[random_type] = TRUE - - if("persistent_scars") - persistent_scars = !persistent_scars - - if("clear_scars") - var/path = "data/player_saves/[user.ckey[1]]/[user.ckey]/scars.sav" - fdel(path) - to_chat(user, span_notice("All scar slots cleared.")) - - if("hear_midis") - toggles ^= SOUND_MIDI - - if("lobby_music") - toggles ^= SOUND_LOBBY - if((toggles & SOUND_LOBBY) && user.client && isnewplayer(user)) - user.client.playtitlemusic() - else - user.stop_sound_channel(CHANNEL_LOBBYMUSIC) - - if("endofround_sounds") - toggles ^= SOUND_ENDOFROUND - - if("combat_mode_sound") - toggles ^= SOUND_COMBATMODE - - if("announcement_volume_level") - var/new_annoumcenent_volume = clamp(input(user, "Please enter the new announcement volume(1-100)", "New volume setting", 0) as num|null, 1, 100) - if(new_annoumcenent_volume) - announcement_volume = new_annoumcenent_volume - - if("ghost_ears") - chat_toggles ^= CHAT_GHOSTEARS - - if("ghost_sight") - chat_toggles ^= CHAT_GHOSTSIGHT - - if("ghost_whispers") - chat_toggles ^= CHAT_GHOSTWHISPER - - if("ghost_radio") - chat_toggles ^= CHAT_GHOSTRADIO - - if("ghost_pda") - chat_toggles ^= CHAT_GHOSTPDA - - if("ghost_laws") - chat_toggles ^= CHAT_GHOSTLAWS - - if("hear_login_logout") - chat_toggles ^= CHAT_LOGIN_LOGOUT - - if("broadcast_login_logout") - broadcast_login_logout = !broadcast_login_logout - - if("income_pings") - chat_toggles ^= CHAT_BANKCARD - - if("pull_requests") - chat_toggles ^= CHAT_PULLR - - if("allow_midround_antag") - toggles ^= MIDROUND_ANTAG - - //aphro pref - if("aphrodisiacs_pref") - skyrat_toggles ^= APHRO_PREF - - //cumface pref - if("cumfaced_pref") - skyrat_toggles ^= CUMFACE_PREF - - //erp update prefs coming riiight here - if("bimbo_pref") - skyrat_toggles ^= BIMBO_PREF - - if("b_enlargement_pref") - skyrat_toggles ^= BREAST_ENLARGEMENT - - if("p_enlargement_pref") - skyrat_toggles ^= PENIS_ENLARGEMENT - - if("forced_m_pref") - skyrat_toggles ^= FORCED_MALE - - if("forced_fem_pref") - skyrat_toggles ^= FORCED_FEM - - if("parallaxup") - parallax = WRAP(parallax + 1, PARALLAX_INSANE, PARALLAX_DISABLE + 1) - if (parent && parent.mob && parent.mob.hud_used) - parent.mob.hud_used.update_parallax_pref(parent.mob) - - if("parallaxdown") - parallax = WRAP(parallax - 1, PARALLAX_INSANE, PARALLAX_DISABLE + 1) - if (parent && parent.mob && parent.mob.hud_used) - parent.mob.hud_used.update_parallax_pref(parent.mob) - - if("screentipmode") - screentip_pref = !screentip_pref - - if("screentipcolor") - var/new_screentipcolor = input(user, "Choose your screentip color:", "Character Preference", screentip_color) as color|null - if(new_screentipcolor) - screentip_color = sanitize_ooccolor(new_screentipcolor) - - if("itemoutline_pref") - itemoutline_pref = !itemoutline_pref - - if("ambientocclusion") - ambientocclusion = !ambientocclusion - if(parent?.screen && parent.screen.len) - var/atom/movable/screen/plane_master/game_world/PM = locate(/atom/movable/screen/plane_master/game_world) in parent.screen - PM.backdrop(parent.mob) - - if("auto_fit_viewport") - auto_fit_viewport = !auto_fit_viewport - if(auto_fit_viewport && parent) - parent.fit_viewport() - - if("widescreenpref") - widescreenpref = !widescreenpref - user.client.view_size.setDefault(getScreenSize(widescreenpref)) - - if("pixel_size") - switch(pixel_size) - if(PIXEL_SCALING_AUTO) - pixel_size = PIXEL_SCALING_1X - if(PIXEL_SCALING_1X) - pixel_size = PIXEL_SCALING_1_2X - if(PIXEL_SCALING_1_2X) - pixel_size = PIXEL_SCALING_2X - if(PIXEL_SCALING_2X) - pixel_size = PIXEL_SCALING_3X - if(PIXEL_SCALING_3X) - pixel_size = PIXEL_SCALING_AUTO - user.client.view_size.apply() //Let's winset() it so it actually works - - if("scaling_method") - switch(scaling_method) - if(SCALING_METHOD_NORMAL) - scaling_method = SCALING_METHOD_DISTORT - if(SCALING_METHOD_DISTORT) - scaling_method = SCALING_METHOD_BLUR - if(SCALING_METHOD_BLUR) - scaling_method = SCALING_METHOD_NORMAL - user.client.view_size.setZoomMode() - - if("darkened_flash") - darkened_flash = !darkened_flash - - if("save") - save_preferences() - save_character() - - if("load") - load_preferences() - load_character() - - if("changeslot") - if(!load_character(text2num(href_list["num"]))) - randomise_appearance_prefs() - save_character() - else - needs_update = TRUE - - if("tab") - if (href_list["tab"]) - current_tab = text2num(href_list["tab"]) - - if("character_preview") - preview_pref = href_list["tab"] - needs_update = TRUE - - if("character_tab") - if (href_list["tab"]) - character_settings_tab = text2num(href_list["tab"]) - if(character_settings_tab == 4) //If we click the loadout tab, load in the defaults stuff - var/list/cats = GLOB.loadout_category_to_subcategory_to_items - for(var/category in cats) - loadout_category = category - break - var/list/subs = GLOB.loadout_category_to_subcategory_to_items[loadout_category] - for(var/subcat in subs) - loadout_subcategory = subcat - break - - if("loadout_cat") - if (href_list["tab"]) - loadout_category = href_list["tab"] - var/list/subs = GLOB.loadout_category_to_subcategory_to_items[loadout_category] - for(var/subcat in subs) - loadout_subcategory = subcat - break - - if("loadout_subcat") - if (href_list["tab"]) - loadout_subcategory = href_list["tab"] - - if("clear_heart") - hearted = FALSE - hearted_until = null - to_chat(user, span_notice("OOC Commendation Heart disabled")) - save_preferences() - - ShowChoices(user) - return 1 - -/// Sanitization checks to be performed before using these preferences. -/datum/preferences/proc/sanitize_chosen_prefs() - if(CONFIG_GET(flag/humans_need_surnames) && (pref_species.id == SPECIES_HUMAN)) - var/firstspace = findtext(real_name, " ") - var/name_length = length(real_name) - if(!firstspace) //we need a surname - real_name += " [pick(GLOB.last_names)]" - else if(firstspace == name_length) - real_name += "[pick(GLOB.last_names)]" - -/// Sanitizes the preferences, applies the randomization prefs, and then applies the preference to the human mob. -/datum/preferences/proc/safe_transfer_prefs_to(mob/living/carbon/human/character, icon_updates = TRUE, is_antag = FALSE) - apply_character_randomization_prefs(is_antag) - sanitize_chosen_prefs() - apply_prefs_to(character, icon_updates) - -/// Applies the given preferences to a human mob. -/datum/preferences/proc/apply_prefs_to(mob/living/carbon/human/character, icon_updates = TRUE) - character.real_name = real_name - character.name = real_name - - character.gender = gender - character.age = age - if(gender == MALE || gender == FEMALE) - character.body_type = gender - else - character.body_type = body_type - - character.eye_color = eye_color - var/obj/item/organ/eyes/organ_eyes = character.getorgan(/obj/item/organ/eyes) - if(organ_eyes) - if(!initial(organ_eyes.eye_color)) - organ_eyes.eye_color = eye_color - organ_eyes.old_eye_color = eye_color - character.hair_color = hair_color - character.facial_hair_color = facial_hair_color - character.skin_tone = skin_tone - character.hairstyle = hairstyle - character.facial_hairstyle = facial_hairstyle - character.underwear = underwear - character.underwear_color = underwear_color - character.undershirt = undershirt - character.undershirt_color = undershirt_color - character.socks = socks - character.socks_color = socks_color - - character.backpack = backpack - - character.jumpsuit_style = jumpsuit_style - - character.selected_scream = pref_scream - - character.selected_laugh = pref_laugh - - var/datum/species/chosen_species - chosen_species = pref_species.type - - if(!(pref_species.id in GLOB.customizable_races)) - chosen_species = /datum/species/human - set_new_species(/datum/species/human) - save_character() - - character.set_species(chosen_species, icon_update = FALSE, pref_load = src) - - character.dna.update_body_size() - - for(var/organ_key in list(ORGAN_SLOT_VAGINA, ORGAN_SLOT_PENIS, ORGAN_SLOT_BREASTS)) - var/obj/item/organ/genital/gent = character.getorganslot(organ_key) - if(gent) - gent.aroused = arousal_preview - gent.update_sprite_suffix() - - if(length(augments)) - for(var/key in augments) - var/datum/augment_item/aug = GLOB.augment_items[augments[key]] - aug.apply(character, prefs = src) - - if(icon_updates) - character.update_body() - character.update_hair() - character.update_body_parts() - -/// Returns whether the parent mob should have the random hardcore settings enabled. Assumes it has a mind. -/datum/preferences/proc/should_be_random_hardcore(datum/job/job, datum/mind/mind) - if(!randomise[RANDOM_HARDCORE]) - return FALSE - if(job.departments_bitflags & DEPARTMENT_BITFLAG_COMMAND) //No command staff - return FALSE - for(var/datum/antagonist/antag as anything in mind.antag_datums) - if(antag.get_team()) //No team antags - return FALSE - return TRUE - -/datum/preferences/proc/get_default_name(name_id) - switch(name_id) - if(SPECIES_HUMAN) - return random_unique_name() - if("ai") - return pick(GLOB.ai_names) - if("cyborg") - return DEFAULT_CYBORG_NAME - if("clown") - return pick(GLOB.clown_names) - if("mime") - return pick(GLOB.mime_names) - if("religion") - return pick(GLOB.religion_names) - if("deity") - return DEFAULT_DEITY - if("bible") - return DEFAULT_BIBLE - return random_unique_name() - -/datum/preferences/proc/ask_for_custom_name(mob/user,name_id) - var/namedata = GLOB.preferences_custom_names[name_id] - if(!namedata) - return - - var/raw_name = input(user, "Choose your character's [namedata["qdesc"]]:","Character Preference") as text|null - if(!raw_name) - if(namedata["allow_null"]) - custom_names[name_id] = get_default_name(name_id) - else - return - else - var/sanitized_name = reject_bad_name(raw_name,namedata["allow_numbers"]) - if(!sanitized_name) - to_chat(user, "Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z,[namedata["allow_numbers"] ? ",0-9," : ""] -, ' and .") - return - else - custom_names[name_id] = sanitized_name - - if(name_id == "religion") - update_bible_and_deity_name(custom_names[name_id]) - -/datum/preferences/proc/update_bible_and_deity_name(religion) - switch(lowertext(religion)) - if("christianity") // DEFAULT_RELIGION - custom_names["bible"] = pick("The Holy Bible","The Dead Sea Scrolls") - custom_names["deity"] = "Space Jesus" - if("buddhism") - custom_names["bible"] = "The Sutras" - custom_names["deity"] = "Buddha" - if("clownism","honkmother","honk","honkism","comedy") - custom_names["bible"] = pick("The Holy Joke Book", "Just a Prank", "Hymns to the Honkmother") - custom_names["deity"] = "The Honkmother" - if("chaos") - custom_names["bible"] = "The Book of Lorgar" - custom_names["deity"] = pick("Chaos Gods", "Dark Gods", "Ruinous Powers") - if("cthulhu") - custom_names["bible"] = "The Necronomicon" - custom_names["deity"] = pick("Great Old Ones", "Old Ones") - if("hinduism") - custom_names["bible"] = "The Vedas" - custom_names["deity"] = pick("Brahma", "Vishnu", "Shiva") - if("imperium") - custom_names["bible"] = "Uplifting Primer" - custom_names["deity"] = "Astra Militarum" - if("islam") - custom_names["bible"] = "Quran" - custom_names["deity"] = "Allah" - if("judaism") - custom_names["bible"] = "The Torah" - custom_names["deity"] = "Yahweh" - if("lampism") - custom_names["bible"] = "Fluorescent Incandescence" - custom_names["deity"] = "Lamp" - if("monkeyism","apism","gorillism","primatism") - custom_names["bible"] = pick("Going Bananas", "Bananas Out For Harambe") - custom_names["deity"] = pick("Harambe", "monky") - if("mormonism") - custom_names["bible"] = "The Book of Mormon" - custom_names["deity"] = pick("God", "Elohim", "Godhead") - if("pastafarianism") - custom_names["bible"] = "The Gospel of the Flying Spaghetti Monster" - custom_names["deity"] = "Flying Spaghetti Monster" - if("rastafarianism","rasta") - custom_names["bible"] = "The Holy Piby" - custom_names["deity"] = "Haile Selassie I" - if("satanism") - custom_names["bible"] = "The Unholy Bible" - custom_names["deity"] = "Satan" - if("sikhism") - custom_names["bible"] = "Guru Granth Sahib" - custom_names["deity"] = "Waheguru" - if("science") - custom_names["bible"] = pick("Principle of Relativity", "Quantum Enigma: Physics Encounters Consciousness", "Programming the Universe", "Quantum Physics and Theology", "String Theory for Dummies", "How To: Build Your Own Warp Drive", "The Mysteries of Bluespace", "Playing God: Collector's Edition") - custom_names["deity"] = pick("Albert Einstein", "Stephen Hawking", "Neil deGrasse Tyson", "Carl Sagan", "Richard Dawkins") - if("scientology") - custom_names["bible"] = pick("The Biography of L. Ron Hubbard","Dianetics") - custom_names["deity"] = pick("Money", "Power", "Xenu", "Tom Cruise", "L. Ron Hubbard", "David Miscavige", "John Travolta") - if("servicianism", "partying") - custom_names["bible"] = "The Tenets of Servicia" - custom_names["deity"] = pick("Servicia", "Space Bacchus", "Space Dionysus") - if("subgenius") - custom_names["bible"] = "Book of the SubGenius" - custom_names["deity"] = pick("Jehovah 1", "J. R. \"Bob\" Dobbs") - if("toolboxia","greytide") - custom_names["bible"] = pick("Toolbox Manifesto","iGlove Assistants") - custom_names["deity"] = "Maintenance" - else - if(custom_names["bible"] == DEFAULT_BIBLE) - custom_names["bible"] = "The Holy Book of [religion]" - -/datum/preferences/proc/print_bodypart_change_line(key) - var/acc_name = mutant_bodyparts[key][MUTANT_INDEX_NAME] - var/shown_colors = 0 - var/datum/sprite_accessory/SA = GLOB.sprite_accessories[key][acc_name] - var/dat = "" - if(SA.color_src == USE_MATRIXED_COLORS) - shown_colors = 3 - else if (SA.color_src == USE_ONE_COLOR) - shown_colors = 1 - if((allow_advanced_colors || SA.always_color_customizable) && shown_colors) - dat += "R" - dat += "[acc_name]" - if(allow_advanced_colors || SA.always_color_customizable) - if(shown_colors) - dat += "
    " - var/list/colorlist = mutant_bodyparts[key][MUTANT_INDEX_COLOR_LIST] - for(var/i in 1 to shown_colors) - dat += " " - return dat - -/datum/preferences/proc/set_skin_tone(new_skin_tone) - skin_tone = new_skin_tone - features["skin_color"] = sanitize_hexcolor(skintone2hex(skin_tone), 3, 0) - if(!allow_advanced_colors) - reset_colors() - -/datum/preferences/proc/initial_loadout_points() - if(GLOB.donator_list[parent.ckey]) - return LOADOUT_POINTS_MAX_DONATOR - else - return LOADOUT_POINTS_MAX - -/datum/preferences/proc/CanBuyAugment(datum/augment_item/target_aug, datum/augment_item/current_aug) - //Check biotypes - if(!(pref_species.inherent_biotypes & target_aug.allowed_biotypes)) - return - var/quirk_points = GetQuirkBalance() - var/leverage = 0 - if(current_aug) - leverage += current_aug.cost - if((quirk_points+leverage)>= target_aug.cost) - return TRUE - else - return FALSE - -/datum/preferences/proc/ShowSpeciesMenu(mob/user) - var/list/dat = list() - dat += "
    Choose your character's species:
    " - dat += "
    Back
    " - dat += "
    " - var/list/playables = list() - var/list/unplayables = list() - for(var/id in GLOB.customizable_races) - if(GLOB.roundstart_races[id]) - playables += id - else - unplayables += id - var/even = TRUE - var/background_cl - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - for(var/id in playables) - even = !even - var/datum/species/S = GLOB.species_list[id] - background_cl = (even ? "#13171C" : "#19232C") - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
    [initial(S.name)][initial(S.flavor_text)]Choose
    " - dat += "
    " - dat += "
    Below you have species which you cannot play on station, however you can customize them and join as an event or ghost role
    " - dat += "
    " - dat += "
    " - dat += "" - dat += "" - dat += "" - dat += "" - for(var/id in unplayables) - even = !even - var/datum/species/S = GLOB.species_list[id] - background_cl = (even ? "#852119" : "#9c2a21") - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
    [initial(S.name)][initial(S.flavor_text)]Choose
    " - - var/datum/browser/popup = new(user, "species_menu", "
    Species Choice
    ", 900, 600) - popup.set_window_options("can_close=0") - popup.set_content(dat.Join()) - popup.open(FALSE) - -// old bobcode copypaste, handle with caution -/datum/preferences/proc/SetFood(mob/user) - var/list/dat = list() - dat += "
    Choose food setup

    " - dat += "
    Click on \"like\" to add a food type to your likings. Click on \"dislike\" to add it to your dislikings.
    " - dat += "Food types cannot be liked and disliked at the same time.
    " - dat += "If a food type is already liked or disliked, simply click the appropriate button again to remove it from your like or dislike list.
    " - dat += "Having no food preferences means you'll just default your species' standard instead.

    " - dat += "
    Done
    " - dat += "
    " - dat += "
    Current Likings: [foodlikes.len ? foodlikes.Join(", ") : "None"] ([foodlikes.len]/[maxlikes])

    " - dat += "
    Current Dislikings: [fooddislikes.len ? fooddislikes.Join(", ") : "None"] ([fooddislikes.len]/[maxdislikes])
    " - dat += "
    " - for(var/F in GLOB.food) - var/likes = FALSE - var/dislikes = FALSE - for(var/food in foodlikes) - if(food == F) - likes = TRUE - for(var/food in fooddislikes) - if(food == F) - dislikes = TRUE - var/font_color = "#8686ff" - if(likes) - dat += "

    [F]:

    " - dat += "Like" - dat += "Dislike
    " - else if(dislikes) - dat += "

    [F]:

    " - dat += "Like" - dat += "Dislike
    " - else - dat += "

    [F]:

    " - dat += "Like" - dat += "Dislike
    " - dat += "
    Reset Food Preferences
    " - - var/datum/browser/popup = new(user, "mob_occupation", "
    Food Preferences
    ", 900, 600) //no reason not to reuse the occupation window, as it's cleaner that way - popup.set_window_options("can_close=0") - popup.set_content(dat.Join()) - popup.open(FALSE) - -/datum/preferences/proc/validate_quirks() - if(GetQuirkBalance() < 0) - all_quirks = list() - -/datum/preferences/proc/get_linguistic_points() - var/points - points = (QUIRK_LINGUIST in all_quirks) ? LINGUISTIC_POINTS_LINGUIST : LINGUISTIC_POINTS_DEFAULT - for(var/langpath in languages) - points -= languages[langpath] - return points - -/datum/preferences/proc/get_required_languages() - var/list/lang_list = list() - for(var/cultural_thing in list(CULTURE_CULTURE, CULTURE_LOCATION, CULTURE_FACTION)) - var/datum/cultural_info/cult - switch(cultural_thing) - if(CULTURE_CULTURE) - cult = GLOB.culture_cultures[pref_culture] - if(CULTURE_LOCATION) - cult = GLOB.culture_locations[pref_location] - if(CULTURE_FACTION) - cult = GLOB.culture_factions[pref_faction] - if(cult.required_lang) - lang_list[cult.required_lang] = TRUE - return lang_list - -/datum/preferences/proc/get_optional_languages() - var/list/lang_list = list() - for(var/lang in pref_species.learnable_languages) - lang_list[lang] = TRUE - for(var/cultural_thing in list(CULTURE_CULTURE, CULTURE_LOCATION, CULTURE_FACTION)) - var/datum/cultural_info/cult - switch(cultural_thing) - if(CULTURE_CULTURE) - cult = GLOB.culture_cultures[pref_culture] - if(CULTURE_LOCATION) - cult = GLOB.culture_locations[pref_location] - if(CULTURE_FACTION) - cult = GLOB.culture_factions[pref_faction] - if(cult.additional_langs) - for(var/langtype in cult.additional_langs) - lang_list[langtype] = TRUE - return lang_list - -/datum/preferences/proc/get_available_languages() - var/list/lang_list = get_required_languages() - for(var/lang_key in get_optional_languages()) - lang_list[lang_key] = TRUE - return lang_list - -/datum/preferences/proc/validate_languages() - var/list/opt_langs = get_optional_languages() - var/list/req_langs = get_required_languages() - for(var/langkey in languages) - if(!opt_langs[langkey] && !req_langs[langkey]) - languages -= langkey - for(var/req_lang in req_langs) - if(!languages[req_lang]) - languages[req_lang] = LANGUAGE_SPOKEN - var/left_points = get_linguistic_points() - //If we're below 0 points somehow, remove all optional languages - if(left_points < 0) - for(var/lang in languages) - if(!req_langs[lang]) - languages -= lang - -/datum/preferences/proc/can_buy_language(language_path, level) - var/points = get_linguistic_points() - if(languages[language_path]) - points += languages[language_path] - if(points < level) - return FALSE - return TRUE - -//Whenever we switch a species, we'll try to get common if we can to not confuse anyone -/datum/preferences/proc/try_get_common_language() - var/list/langs = get_available_languages() - if(langs[/datum/language/common]) - languages[/datum/language/common] = LANGUAGE_SPOKEN - -/datum/preferences/proc/ShowLangMenu(mob/user) - var/list/dat = list() - dat += "
    Choose your languages:

    " - dat += "Availability of the languages to choose from depends on your background. If you can't unlearn one, it means it is required for your background." - dat += "
    Done
    " - dat += "
    " - var/current_ling_points = get_linguistic_points() - dat += "Linguistic Points remaining: [current_ling_points]" - dat += "
    " - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - var/list/avail_langs = get_available_languages() - var/list/req_langs = get_required_languages() - var/even = TRUE - var/background_cl - for(var/lang_path in avail_langs) - even = !even - var/datum/language/lang_datum = lang_path - var/required = (req_langs[lang_path] ? TRUE : FALSE) - if(even) - background_cl = (required ? "#7A5A00" : "#17191C") - else - background_cl = (required ? "#856200" : "#23273C") - var/language_skill = 0 - if(languages[lang_path]) - language_skill = languages[lang_path] - var/unlearn_button - if(language_skill && !required) - unlearn_button = "Unlearn" - else - unlearn_button = span_linkOff("Unlearn") - var/understood_button - if(languages[lang_path]) - //Has a href in case you want to downgrade from spoken to understood - understood_button = "Understood" - else if(can_buy_language(lang_path, LANGUAGE_UNDERSTOOD)) - understood_button = "Understood" - else - understood_button = span_linkOff("Understood") - var/spoken_button - if(languages[lang_path] >= LANGUAGE_SPOKEN) - spoken_button = "Spoken" - else if(can_buy_language(lang_path, LANGUAGE_SPOKEN)) - spoken_button = "Spoken" - else - spoken_button = span_linkOff("Spoken") - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "" - dat += "
    [initial(lang_datum.name)][initial(lang_datum.desc)][unlearn_button][understood_button][spoken_button]
    " - var/datum/browser/popup = new(user, "culture_lang", "
    Language Choice
    ", 900, 600) - popup.set_window_options("can_close=0") - popup.set_content(dat.Join()) - popup.open(FALSE) -*/ diff --git a/modular_skyrat/modules/customization/modules/client/preferences_savefile.dm b/modular_skyrat/modules/customization/modules/client/preferences_savefile.dm deleted file mode 100644 index 01e328ad627..00000000000 --- a/modular_skyrat/modules/customization/modules/client/preferences_savefile.dm +++ /dev/null @@ -1,831 +0,0 @@ -/* -//This is the lowest supported version, anything below this is completely obsolete and the entire savefile will be wiped. -#define SAVEFILE_VERSION_MIN 32 - -//This is the current version, anything below this will attempt to update (if it's not obsolete) -// You do not need to raise this if you are adding new values that have sane defaults. -// Only raise this value when changing the meaning/format/name/layout of an existing value -// where you would want the updater procs below to run -#define SAVEFILE_VERSION_MAX 40 - -/* -SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn - This proc checks if the current directory of the savefile S needs updating - It is to be used by the load_character and load_preferences procs. - (S.cd=="/" is preferences, S.cd=="/character[integer]" is a character slot, etc) - if the current directory's version is below SAVEFILE_VERSION_MIN it will simply wipe everything in that directory - (if we're at root "/" then it'll just wipe the entire savefile, for instance.) - if its version is below SAVEFILE_VERSION_MAX but above the minimum, it will load data but later call the - respective update_preferences() or update_character() proc. - Those procs allow coders to specify format changes so users do not lose their setups and have to redo them again. - Failing all that, the standard sanity checks are performed. They simply check the data is suitable, reverting to - initial() values if necessary. -*/ -/datum/preferences/proc/savefile_needs_update(savefile/S) - var/savefile_version - READ_FILE(S["version"], savefile_version) - - if(savefile_version < SAVEFILE_VERSION_MIN) - S.dir.Cut() - return -2 - if(savefile_version < SAVEFILE_VERSION_MAX) - return savefile_version - return -1 - -//should these procs get fairly long -//just increase SAVEFILE_VERSION_MIN so it's not as far behind -//SAVEFILE_VERSION_MAX and then delete any obsolete if clauses -//from these procs. -//This only really meant to avoid annoying frequent players -//if your savefile is 3 months out of date, then 'tough shit'. - -/datum/preferences/proc/update_preferences(current_version, savefile/S) - if(current_version < 33) - toggles |= SOUND_ENDOFROUND - - if(current_version < 34) - auto_fit_viewport = TRUE - - if(current_version < 35) //makes old keybinds compatible with #52040, sets the new default - var/newkey = FALSE - for(var/list/key in key_bindings) - for(var/bind in key) - if(bind == "quick_equipbelt") - key -= "quick_equipbelt" - key |= "quick_equip_belt" - - if(bind == "bag_equip") - key -= "bag_equip" - key |= "quick_equip_bag" - - if(bind == "quick_equip_suit_storage") - newkey = TRUE - if(!newkey && !key_bindings["ShiftQ"]) - key_bindings["ShiftQ"] = list("quick_equip_suit_storage") - - if(current_version < 36) - if(key_bindings["ShiftQ"] == "quick_equip_suit_storage") - key_bindings["ShiftQ"] = list("quick_equip_suit_storage") - - if(current_version < 37) - if(clientfps == 0) - clientfps = -1 - - if (current_version < 38) - var/found_block_movement = FALSE - - for (var/list/key in key_bindings) - for (var/bind in key) - if (bind == "block_movement") - found_block_movement = TRUE - break - if (found_block_movement) - break - - if (!found_block_movement) - LAZYADD(key_bindings["Ctrl"], "block_movement") - - if (current_version < 39) - LAZYADD(key_bindings["F"], "toggle_combat_mode") - LAZYADD(key_bindings["4"], "toggle_combat_mode") - if (current_version < 40) - LAZYADD(key_bindings["Space"], "hold_throw_mode") - -/datum/preferences/proc/update_character(current_version, savefile/S) - return - -/// checks through keybindings for outdated unbound keys and updates them -/datum/preferences/proc/check_keybindings() - if(!parent) - return - var/list/user_binds = list() - for (var/key in key_bindings) - for(var/kb_name in key_bindings[key]) - user_binds[kb_name] += list(key) - var/list/notadded = list() - for (var/name in GLOB.keybindings_by_name) - var/datum/keybinding/kb = GLOB.keybindings_by_name[name] - if(length(user_binds[kb.name])) - continue // key is unbound and or bound to something - var/addedbind = FALSE - if(hotkeys) - for(var/hotkeytobind in kb.hotkey_keys) - if(!length(key_bindings[hotkeytobind]) || hotkeytobind == "Unbound") //Only bind to the key if nothing else is bound expect for Unbound - LAZYADD(key_bindings[hotkeytobind], kb.name) - addedbind = TRUE - else - for(var/classickeytobind in kb.classic_keys) - if(!length(key_bindings[classickeytobind]) || classickeytobind == "Unbound") //Only bind to the key if nothing else is bound expect for Unbound - LAZYADD(key_bindings[classickeytobind], kb.name) - addedbind = TRUE - if(!addedbind) - notadded += kb - save_preferences() //Save the players pref so that new keys that were set to Unbound as default are permanently stored - if(length(notadded)) - addtimer(CALLBACK(src, .proc/announce_conflict, notadded), 5 SECONDS) - -/datum/preferences/proc/announce_conflict(list/notadded) - to_chat(parent, span_warning("plain'>Keybinding Conflict\n\ - There are new keybindings that default to keys you've already bound. The new ones will be unbound.")) - for(var/item in notadded) - var/datum/keybinding/conflicted = item - to_chat(parent, span_danger("[conflicted.category]: [conflicted.full_name] needs updating")) - LAZYADD(key_bindings["Unbound"], conflicted.name) // set it to unbound to prevent this from opening up again in the future - save_preferences() - - - -/datum/preferences/proc/load_path(ckey,filename="preferences.sav") - if(!ckey) - return - path = "data/player_saves/[ckey[1]]/[ckey]/[filename]" - -/datum/preferences/proc/load_preferences() - if(!path) - return FALSE - if(!fexists(path)) - return FALSE - - var/savefile/S = new /savefile(path) - if(!S) - return FALSE - S.cd = "/" - - var/needs_update = savefile_needs_update(S) - if(needs_update == -2) //fatal, can't load any data - var/bacpath = "[path].updatebac" //todo: if the savefile version is higher then the server, check the backup, and give the player a prompt to load the backup - if (fexists(bacpath)) - fdel(bacpath) //only keep 1 version of backup - fcopy(S, bacpath) //byond helpfully lets you use a savefile for the first arg. - return FALSE - - //general preferences - READ_FILE(S["asaycolor"], asaycolor) - READ_FILE(S["brief_outfit"], brief_outfit) - READ_FILE(S["ooccolor"], ooccolor) - READ_FILE(S["screentip_color"], screentip_color) - READ_FILE(S["lastchangelog"], lastchangelog) - READ_FILE(S["UI_style"], UI_style) - READ_FILE(S["hotkeys"], hotkeys) - READ_FILE(S["chat_on_map"], chat_on_map) - READ_FILE(S["max_chat_length"], max_chat_length) - READ_FILE(S["see_chat_non_mob"] , see_chat_non_mob) - READ_FILE(S["see_rc_emotes"] , see_rc_emotes) - READ_FILE(S["broadcast_login_logout"] , broadcast_login_logout) - - READ_FILE(S["announcement_volume"], announcement_volume) - - READ_FILE(S["tgui_fancy"], tgui_fancy) - READ_FILE(S["tgui_lock"], tgui_lock) - READ_FILE(S["buttons_locked"], buttons_locked) - READ_FILE(S["windowflash"], windowflashing) - READ_FILE(S["be_special"] , be_special) - - READ_FILE(S["default_slot"], default_slot) - READ_FILE(S["chat_toggles"], chat_toggles) - READ_FILE(S["skyrat_toggles"], skyrat_toggles) - READ_FILE(S["auto_dementor"], auto_dementor) - READ_FILE(S["toggles"], toggles) - READ_FILE(S["ghost_form"], ghost_form) - READ_FILE(S["ghost_orbit"], ghost_orbit) - READ_FILE(S["ghost_accs"], ghost_accs) - READ_FILE(S["ghost_others"], ghost_others) - READ_FILE(S["preferred_map"], preferred_map) - READ_FILE(S["ignoring"], ignoring) - READ_FILE(S["ghost_hud"], ghost_hud) - READ_FILE(S["inquisitive_ghost"], inquisitive_ghost) - READ_FILE(S["uses_glasses_colour"], uses_glasses_colour) - READ_FILE(S["clientfps"], clientfps) - READ_FILE(S["parallax"], parallax) - READ_FILE(S["ambientocclusion"], ambientocclusion) - READ_FILE(S["screentip_pref"], screentip_pref) - READ_FILE(S["itemoutline_pref"], itemoutline_pref) - READ_FILE(S["auto_fit_viewport"], auto_fit_viewport) - READ_FILE(S["widescreenpref"], widescreenpref) - READ_FILE(S["pixel_size"], pixel_size) - READ_FILE(S["scaling_method"], scaling_method) - READ_FILE(S["menuoptions"], menuoptions) - READ_FILE(S["enable_tips"], enable_tips) - READ_FILE(S["tip_delay"], tip_delay) - READ_FILE(S["pda_style"], pda_style) - READ_FILE(S["pda_color"], pda_color) - READ_FILE(S["darkened_flash"], darkened_flash) - - // OOC commendations - READ_FILE(S["hearted_until"], hearted_until) - if(hearted_until > world.realtime) - hearted = TRUE - //favorite outfits - READ_FILE(S["favorite_outfits"], favorite_outfits) - - var/list/parsed_favs = list() - for(var/typetext in favorite_outfits) - var/datum/outfit/path = text2path(typetext) - if(ispath(path)) //whatever typepath fails this check probably doesn't exist anymore - parsed_favs += path - favorite_outfits = uniqueList(parsed_favs) - - // Custom hotkeys - READ_FILE(S["key_bindings"], key_bindings) - check_keybindings() // this apparently fails every time and overwrites any unloaded prefs with the default values, so don't load anything after this line or it won't actually save - //try to fix any outdated data if necessary - if(needs_update >= 0) - var/bacpath = "[path].updatebac" //todo: if the savefile version is higher then the server, check the backup, and give the player a prompt to load the backup - if (fexists(bacpath)) - fdel(bacpath) //only keep 1 version of backup - fcopy(S, bacpath) //byond helpfully lets you use a savefile for the first arg. - update_preferences(needs_update, S) //needs_update = savefile_version if we need an update (positive integer) - - - - //Sanitize - asaycolor = sanitize_ooccolor(sanitize_hexcolor(asaycolor, 6, 1, initial(asaycolor))) - ooccolor = sanitize_ooccolor(sanitize_hexcolor(ooccolor, 6, 1, initial(ooccolor))) - screentip_color = sanitize_ooccolor(sanitize_hexcolor(screentip_color, 6, 1, initial(screentip_color))) - lastchangelog = sanitize_text(lastchangelog, initial(lastchangelog)) - UI_style = sanitize_inlist(UI_style, GLOB.available_ui_styles, GLOB.available_ui_styles[1]) - hotkeys = sanitize_integer(hotkeys, FALSE, TRUE, initial(hotkeys)) - chat_on_map = sanitize_integer(chat_on_map, FALSE, TRUE, initial(chat_on_map)) - max_chat_length = sanitize_integer(max_chat_length, 1, CHAT_MESSAGE_MAX_LENGTH, initial(max_chat_length)) - see_chat_non_mob = sanitize_integer(see_chat_non_mob, FALSE, TRUE, initial(see_chat_non_mob)) - see_rc_emotes = sanitize_integer(see_rc_emotes, FALSE, TRUE, initial(see_rc_emotes)) - broadcast_login_logout = sanitize_integer(broadcast_login_logout, FALSE, TRUE, initial(broadcast_login_logout)) - tgui_fancy = sanitize_integer(tgui_fancy, FALSE, TRUE, initial(tgui_fancy)) - tgui_lock = sanitize_integer(tgui_lock, FALSE, TRUE, initial(tgui_lock)) - buttons_locked = sanitize_integer(buttons_locked, FALSE, TRUE, initial(buttons_locked)) - windowflashing = sanitize_integer(windowflashing, FALSE, TRUE, initial(windowflashing)) - default_slot = sanitize_integer(default_slot, 1, max_save_slots, initial(default_slot)) - toggles = sanitize_integer(toggles, 0, (2**24)-1, initial(toggles)) - skyrat_toggles = sanitize_integer(skyrat_toggles, 0, (2**24)-1, initial(skyrat_toggles)) //SKYRAT EDIT - clientfps = sanitize_integer(clientfps, 0, 1000, 40) - parallax = sanitize_integer(parallax, PARALLAX_INSANE, PARALLAX_DISABLE, null) - ambientocclusion = sanitize_integer(ambientocclusion, FALSE, TRUE, initial(ambientocclusion)) - screentip_pref = sanitize_integer(screentip_pref, FALSE, TRUE, initial(screentip_pref)) - itemoutline_pref = sanitize_integer(itemoutline_pref, FALSE, TRUE, initial(itemoutline_pref)) - auto_fit_viewport = sanitize_integer(auto_fit_viewport, FALSE, TRUE, initial(auto_fit_viewport)) - widescreenpref = sanitize_integer(widescreenpref, FALSE, TRUE, initial(widescreenpref)) - pixel_size = sanitize_float(pixel_size, PIXEL_SCALING_AUTO, PIXEL_SCALING_3X, 0.5, initial(pixel_size)) - scaling_method = sanitize_text(scaling_method, initial(scaling_method)) - ghost_form = sanitize_inlist(ghost_form, GLOB.ghost_forms, initial(ghost_form)) - ghost_orbit = sanitize_inlist(ghost_orbit, GLOB.ghost_orbits, initial(ghost_orbit)) - ghost_accs = sanitize_inlist(ghost_accs, GLOB.ghost_accs_options, GHOST_ACCS_DEFAULT_OPTION) - ghost_others = sanitize_inlist(ghost_others, GLOB.ghost_others_options, GHOST_OTHERS_DEFAULT_OPTION) - menuoptions = SANITIZE_LIST(menuoptions) - be_special = SANITIZE_LIST(be_special) - brief_outfit = sanitize_inlist(brief_outfit, subtypesof(/datum/outfit), null) - pda_style = sanitize_inlist(pda_style, GLOB.pda_styles, initial(pda_style)) - pda_color = sanitize_hexcolor(pda_color, 6, 1, initial(pda_color)) - key_bindings = sanitize_keybindings(key_bindings) - favorite_outfits = SANITIZE_LIST(favorite_outfits) - darkened_flash = sanitize_integer(darkened_flash, FALSE, TRUE, initial(darkened_flash)) - announcement_volume = sanitize_integer(announcement_volume, 1, 100, initial(announcement_volume)) - - if(needs_update >= 0) //save the updated version - var/old_default_slot = default_slot - var/old_max_save_slots = max_save_slots - - for (var/slot in S.dir) //but first, update all current character slots. - if (copytext(slot, 1, 10) != "character") - continue - var/slotnum = text2num(copytext(slot, 10)) - if (!slotnum) - continue - max_save_slots = max(max_save_slots, slotnum) //so we can still update byond member slots after they lose memeber status - default_slot = slotnum - if (load_character()) - save_character() - default_slot = old_default_slot - max_save_slots = old_max_save_slots - save_preferences() - - return TRUE - -/datum/preferences/proc/save_preferences() - if(!path) - return FALSE - var/savefile/S = new /savefile(path) - if(!S) - return FALSE - S.cd = "/" - - WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //updates (or failing that the sanity checks) will ensure data is not invalid at load. Assume up-to-date - - //general preferences - WRITE_FILE(S["asaycolor"], asaycolor) - WRITE_FILE(S["brief_outfit"], brief_outfit) - WRITE_FILE(S["ooccolor"], ooccolor) - WRITE_FILE(S["screentip_color"], screentip_color) - WRITE_FILE(S["lastchangelog"], lastchangelog) - WRITE_FILE(S["UI_style"], UI_style) - WRITE_FILE(S["hotkeys"], hotkeys) - WRITE_FILE(S["chat_on_map"], chat_on_map) - WRITE_FILE(S["max_chat_length"], max_chat_length) - WRITE_FILE(S["see_chat_non_mob"], see_chat_non_mob) - WRITE_FILE(S["see_rc_emotes"], see_rc_emotes) - WRITE_FILE(S["broadcast_login_logout"], broadcast_login_logout) - WRITE_FILE(S["tgui_fancy"], tgui_fancy) - WRITE_FILE(S["tgui_lock"], tgui_lock) - WRITE_FILE(S["buttons_locked"], buttons_locked) - WRITE_FILE(S["windowflash"], windowflashing) - WRITE_FILE(S["be_special"], be_special) - WRITE_FILE(S["default_slot"], default_slot) - WRITE_FILE(S["toggles"], toggles) - WRITE_FILE(S["chat_toggles"], chat_toggles) - WRITE_FILE(S["ghost_form"], ghost_form) - WRITE_FILE(S["ghost_orbit"], ghost_orbit) - WRITE_FILE(S["ghost_accs"], ghost_accs) - WRITE_FILE(S["ghost_others"], ghost_others) - WRITE_FILE(S["preferred_map"], preferred_map) - WRITE_FILE(S["ignoring"], ignoring) - WRITE_FILE(S["ghost_hud"], ghost_hud) - WRITE_FILE(S["inquisitive_ghost"], inquisitive_ghost) - WRITE_FILE(S["uses_glasses_colour"], uses_glasses_colour) - WRITE_FILE(S["clientfps"], clientfps) - WRITE_FILE(S["parallax"], parallax) - WRITE_FILE(S["ambientocclusion"], ambientocclusion) - WRITE_FILE(S["screentip_pref"], screentip_pref) - WRITE_FILE(S["itemoutline_pref"], itemoutline_pref) - WRITE_FILE(S["auto_fit_viewport"], auto_fit_viewport) - WRITE_FILE(S["widescreenpref"], widescreenpref) - WRITE_FILE(S["pixel_size"], pixel_size) - WRITE_FILE(S["scaling_method"], scaling_method) - WRITE_FILE(S["menuoptions"], menuoptions) - WRITE_FILE(S["enable_tips"], enable_tips) - WRITE_FILE(S["tip_delay"], tip_delay) - WRITE_FILE(S["pda_style"], pda_style) - WRITE_FILE(S["pda_color"], pda_color) - WRITE_FILE(S["key_bindings"], key_bindings) - WRITE_FILE(S["hearted_until"], (hearted_until > world.realtime ? hearted_until : null)) - WRITE_FILE(S["favorite_outfits"], favorite_outfits) - WRITE_FILE(S["darkened_flash"], darkened_flash) - - //SKYRAT WRITES - WRITE_FILE(S["announcement_volume"], announcement_volume) - WRITE_FILE(S["skyrat_toggles"], skyrat_toggles) - WRITE_FILE(S["auto_dementor"], auto_dementor) - return TRUE - -/datum/preferences/proc/load_character(slot) - if(!path) - return FALSE - if(!fexists(path)) - return FALSE - var/savefile/S = new /savefile(path) - if(!S) - return FALSE - S.cd = "/" - if(!slot) - slot = default_slot - slot = sanitize_integer(slot, 1, max_save_slots, initial(default_slot)) - if(slot != default_slot) - default_slot = slot - WRITE_FILE(S["default_slot"] , slot) - - S.cd = "/character[slot]" - var/needs_update = savefile_needs_update(S) - if(needs_update == -2) //fatal, can't load any data - return FALSE - - //Species - var/species_id - READ_FILE(S["species"], species_id) - if(species_id) - var/newtype = GLOB.species_list[species_id] - if(newtype) - pref_species = new newtype - - //Screams - var/scream_id - READ_FILE(S["scream"], scream_id) - if(scream_id) - var/new_type = GLOB.scream_types[scream_id] - if(new_type) - pref_scream = new new_type - else - pref_scream = new /datum/scream_type/human - else - pref_scream = new /datum/scream_type/human - - //Laughs - var/laugh_id - READ_FILE(S["laugh"], laugh_id) - if(laugh_id) - var/new_type = GLOB.laugh_types[laugh_id] - if(new_type) - pref_laugh = new new_type - else - pref_laugh = new /datum/laugh_type/human - else - pref_laugh = new /datum/laugh_type/human - - /*if(!S["features["mcolor"]"] || S["features["mcolor"]"] == "#000") - WRITE_FILE(S["features["mcolor"]"] , "#FFF") - - if(!S["feature_ethcolor"] || S["feature_ethcolor"] == "#000") - WRITE_FILE(S["feature_ethcolor"] , "9c3030")*/ - - //Character - READ_FILE(S["real_name"], real_name) - READ_FILE(S["gender"], gender) - READ_FILE(S["body_type"], body_type) - READ_FILE(S["age"], age) - READ_FILE(S["hair_color"], hair_color) - READ_FILE(S["facial_hair_color"], facial_hair_color) - READ_FILE(S["eye_color"], eye_color) - READ_FILE(S["skin_tone"], skin_tone) - READ_FILE(S["hairstyle_name"], hairstyle) - READ_FILE(S["facial_style_name"], facial_hairstyle) - READ_FILE(S["underwear"], underwear) - READ_FILE(S["underwear_color"], underwear_color) - READ_FILE(S["undershirt"], undershirt) - READ_FILE(S["socks"], socks) - READ_FILE(S["backpack"], backpack) - READ_FILE(S["jumpsuit_style"], jumpsuit_style) - READ_FILE(S["uplink_loc"], uplink_spawn_loc) - READ_FILE(S["playtime_reward_cloak"], playtime_reward_cloak) - READ_FILE(S["phobia"], phobia) - READ_FILE(S["randomise"], randomise) - READ_FILE(S["pda_style"], pda_style) - READ_FILE(S["pda_ringer"], pda_ringer) - READ_FILE(S["pda_color"], pda_color) - /*READ_FILE(S["feature_mcolor"], features["mcolor"]) - READ_FILE(S["feature_ethcolor"], features["ethcolor"]) - READ_FILE(S["feature_lizard_tail"], features["tail_lizard"]) - READ_FILE(S["feature_lizard_snout"], features["snout"]) - READ_FILE(S["feature_lizard_horns"], features["horns"]) - READ_FILE(S["feature_lizard_frills"], features["frills"]) - READ_FILE(S["feature_lizard_spines"], features["spines"]) - READ_FILE(S["feature_lizard_body_markings"], features["body_markings"]) - READ_FILE(S["feature_lizard_legs"], features["legs"]) - READ_FILE(S["feature_moth_wings"], features["moth_wings"]) - READ_FILE(S["feature_moth_antennae"], features["moth_antennae"]) - READ_FILE(S["feature_moth_markings"], features["moth_markings"])*/ - READ_FILE(S["persistent_scars"] , persistent_scars) - /*if(!CONFIG_GET(flag/join_with_mutant_humans)) - features["tail_human"] = "none" - features["ears"] = "none" - else - READ_FILE(S["feature_human_tail"], features["tail_human"]) - READ_FILE(S["feature_human_ears"], features["ears"])*/ - - //Custom names - for(var/custom_name_id in GLOB.preferences_custom_names) - var/savefile_slot_name = custom_name_id + "_name" //TODO remove this - READ_FILE(S[savefile_slot_name], custom_names[custom_name_id]) - - READ_FILE(S["preferred_ai_core_display"], preferred_ai_core_display) - READ_FILE(S["prefered_security_department"], prefered_security_department) - - // This is the version when the random security department was removed. - // When the minimum is higher than that version, it's impossible for someone to have the "Random" department. - #if SAVEFILE_VERSION_MIN > 40 - #warn The prefered_security_department check in preferences_savefile.dm is no longer necessary. - #endif - - if (!(prefered_security_department in GLOB.security_depts_prefs)) - prefered_security_department = SEC_DEPT_NONE - //Jobs - READ_FILE(S["joblessrole"], joblessrole) - //Load prefs - READ_FILE(S["job_preferences"], job_preferences) - //Load Alternate Job Titles - S["alt_titles_preferences"] >> alt_titles_preferences - alt_titles_preferences = SANITIZE_LIST(alt_titles_preferences) - if(SSjob) - for(var/datum/job/job as anything in sort_list(SSjob.joinable_occupations, /proc/cmp_job_display_asc)) - if(alt_titles_preferences[job.title]) - if(!(alt_titles_preferences[job.title] in job.alt_titles)) - alt_titles_preferences.Remove(job.title) - - //Quirks - READ_FILE(S["all_quirks"], all_quirks) - - //try to fix any outdated data if necessary - //preference updating will handle saving the updated data for us. - if(needs_update >= 0) - update_character(needs_update, S) //needs_update == savefile_version if we need an update (positive integer) - - //Sanitize - real_name = reject_bad_name(real_name) - gender = sanitize_gender(gender) - body_type = sanitize_gender(body_type, FALSE, FALSE, gender) - if(!real_name) - real_name = random_unique_name(gender) - - for(var/custom_name_id in GLOB.preferences_custom_names) - var/namedata = GLOB.preferences_custom_names[custom_name_id] - custom_names[custom_name_id] = reject_bad_name(custom_names[custom_name_id],namedata["allow_numbers"]) - if(!custom_names[custom_name_id]) - custom_names[custom_name_id] = get_default_name(custom_name_id) - - /*if(!features["mcolor"] || features["mcolor"] == "#000") - features["mcolor"] = pick("FFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F") - - if(!features["ethcolor"] || features["ethcolor"] == "#000") - features["ethcolor"] = GLOB.color_list_ethereal[pick(GLOB.color_list_ethereal)]*/ - - randomise = SANITIZE_LIST(randomise) - - hairstyle = sanitize_inlist(hairstyle, GLOB.hairstyles_list) - facial_hairstyle = sanitize_inlist(facial_hairstyle, GLOB.facial_hairstyles_list) - underwear = sanitize_inlist(underwear, GLOB.underwear_list) - undershirt = sanitize_inlist(undershirt, GLOB.undershirt_list) - socks = sanitize_inlist(socks, GLOB.socks_list) - age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age)) - hair_color = sanitize_hexcolor(hair_color, 3, 0) - facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0) - underwear_color = sanitize_hexcolor(underwear_color, 3, 0) - eye_color = sanitize_hexcolor(eye_color, 3, 0) - skin_tone = sanitize_inlist(skin_tone, GLOB.skin_tones) - backpack = sanitize_inlist(backpack, GLOB.backpacklist, initial(backpack)) - jumpsuit_style = sanitize_inlist(jumpsuit_style, GLOB.jumpsuitlist, initial(jumpsuit_style)) - uplink_spawn_loc = sanitize_inlist(uplink_spawn_loc, GLOB.uplink_spawn_loc_list, initial(uplink_spawn_loc)) - playtime_reward_cloak = sanitize_integer(playtime_reward_cloak) - pda_style = sanitize_inlist(pda_style, GLOB.pda_styles, initial(pda_style)) - pda_ringer = sanitize_text(pda_ringer, initial(pda_ringer)) - pda_color = sanitize_hexcolor(pda_color, 6, 1, initial(pda_color)) - /*features["mcolor"] = sanitize_hexcolor(features["mcolor"], 3, 0) SKYRAT EDIT - features["ethcolor"] = copytext_char(features["ethcolor"], 1, 7) - features["tail_lizard"] = sanitize_inlist(features["tail_lizard"], GLOB.tails_list_lizard) - features["tail_human"] = sanitize_inlist(features["tail_human"], GLOB.tails_list_human, "None") - features["snout"] = sanitize_inlist(features["snout"], GLOB.snouts_list) - features["horns"] = sanitize_inlist(features["horns"], GLOB.horns_list) - features["ears"] = sanitize_inlist(features["ears"], GLOB.ears_list, "None") - features["frills"] = sanitize_inlist(features["frills"], GLOB.frills_list) - features["spines"] = sanitize_inlist(features["spines"], GLOB.spines_list) - features["body_markings"] = sanitize_inlist(features["body_markings"], GLOB.body_markings_list) - features["feature_lizard_legs"] = sanitize_inlist(features["legs"], GLOB.legs_list, "Normal Legs") - features["moth_wings"] = sanitize_inlist(features["moth_wings"], GLOB.moth_wings_list, "Plain") - features["moth_antennae"] = sanitize_inlist(features["moth_antennae"], GLOB.moth_antennae_list, "Plain") - features["moth_markings"] = sanitize_inlist(features["moth_markings"], GLOB.moth_markings_list, "None")*/ - - persistent_scars = sanitize_integer(persistent_scars) - - joblessrole = sanitize_integer(joblessrole, 1, 3, initial(joblessrole)) - //Validate job prefs - for(var/j in job_preferences) - if(job_preferences[j] != JP_LOW && job_preferences[j] != JP_MEDIUM && job_preferences[j] != JP_HIGH) - job_preferences -= j - - all_quirks = SANITIZE_LIST(all_quirks) - validate_quirks() - - //All the new skyrat related stuff here - READ_FILE(S["features"], features) - READ_FILE(S["mutant_bodyparts"], mutant_bodyparts) - READ_FILE(S["body_markings"], body_markings) - - READ_FILE(S["loadout"], loadout) - - READ_FILE(S["ooc_prefs"], ooc_prefs) - READ_FILE(S["erp_pref"], erp_pref) - READ_FILE(S["sextoys_pref"], sextoys_pref) - READ_FILE(S["noncon_pref"], noncon_pref) - READ_FILE(S["vore_pref"], vore_pref) - READ_FILE(S["general_record"], general_record) - READ_FILE(S["security_record"], security_record) - READ_FILE(S["medical_record"], medical_record) - READ_FILE(S["background_info"], background_info) - READ_FILE(S["exploitable_info"], exploitable_info) - - READ_FILE(S["mismatched_customization"] , mismatched_customization) - READ_FILE(S["allow_advanced_colors"] , allow_advanced_colors) - - READ_FILE(S["augments"] , augments) - READ_FILE(S["augment_limb_styles"] , augment_limb_styles) - - READ_FILE(S["undershirt_color"], undershirt_color) - undershirt_color = sanitize_hexcolor(undershirt_color, 3, 0) - - READ_FILE(S["socks_color"], socks_color) - socks_color = sanitize_hexcolor(socks_color, 3, 0) - - READ_FILE(S["foodlikes"], foodlikes) - READ_FILE(S["fooddislikes"], fooddislikes) - - foodlikes = SANITIZE_LIST(foodlikes) - fooddislikes = SANITIZE_LIST(fooddislikes) - features = SANITIZE_LIST(features) - mutant_bodyparts = SANITIZE_LIST(mutant_bodyparts) - body_markings = SANITIZE_LIST(body_markings) - - loadout = SANITIZE_LIST(loadout) - //LOADOUT POINT VALIDATION - //Here we calculate if we truly can use the loaded loadout - loadout_points = initial_loadout_points() - var/accumulated_cost = 0 - for(var/path in loadout) - var/datum/loadout_item/LI = GLOB.loadout_items[path] - if(!LI) - loadout -= path - continue - loadout[path] = LI.get_valid_information(loadout[path])//Savefile validation - accumulated_cost += LI.cost - if(accumulated_cost > loadout_points) //Not enough points, reset loadout - loadout = list() - else - loadout_points -= accumulated_cost //We got enough points, subtract the cost - - ooc_prefs = sanitize_text(ooc_prefs) - if(!length(erp_pref)) - erp_pref = "Ask" - if(!length(noncon_pref)) - noncon_pref = "Ask" - if(!length(vore_pref)) - vore_pref = "Ask" - if(!length(sextoys_pref)) - sextoys_pref = "No" - - general_record = sanitize_text(general_record) - security_record = sanitize_text(security_record) - medical_record = sanitize_text(medical_record) - background_info = sanitize_text(background_info) - exploitable_info = sanitize_text(exploitable_info) - - mismatched_customization = sanitize_integer(mismatched_customization, FALSE, TRUE, initial(mismatched_customization)) - allow_advanced_colors = sanitize_integer(allow_advanced_colors, FALSE, TRUE, initial(allow_advanced_colors)) - - //Validating mandatory features - for(var/key in MANDATORY_FEATURE_LIST) - if(!features[key]) - features[key] = MANDATORY_FEATURE_LIST[key] - - //validating body markings - for(var/zone in body_markings) - for(var/name in body_markings[zone]) - if(!(name in GLOB.body_markings_per_limb[zone])) - body_markings[zone] -= name - - augments = SANITIZE_LIST(augments) - //validating augments - for(var/aug_slot in augments) - var/datum/augment_item/aug = GLOB.augment_items[augments[aug_slot]] - if(!aug) - augments -= aug_slot - augment_limb_styles = SANITIZE_LIST(augment_limb_styles) - //validating limb styles - for(var/limb_slot in augment_limb_styles) - if(!GLOB.robotic_styles_list[augment_limb_styles[limb_slot]]) - augment_limb_styles -= limb_slot - - validate_species_parts() - - READ_FILE(S["pref_culture"] , pref_culture) - READ_FILE(S["pref_location"] , pref_location) - READ_FILE(S["pref_faction"] , pref_faction) - - READ_FILE(S["languages"] , languages) - var/do_get_common_later = FALSE - if(isnull(languages)) - do_get_common_later = TRUE - languages = SANITIZE_LIST(languages) - - if(!pref_culture || !GLOB.culture_cultures[pref_culture]) - pref_culture = pref_species.cultures[1] - if(!pref_location || !GLOB.culture_locations[pref_location]) - pref_location = pref_species.locations[1] - if(!pref_faction || !GLOB.culture_factions[pref_faction]) - pref_faction = pref_species.factions[1] - - validate_languages() - if(do_get_common_later) - try_get_common_language() - - needs_update = TRUE - return TRUE - -/datum/preferences/proc/save_character() - if(!path) - return FALSE - var/savefile/S = new /savefile(path) - if(!S) - return FALSE - S.cd = "/character[default_slot]" - - WRITE_FILE(S["version"] , SAVEFILE_VERSION_MAX) //load_character will sanitize any bad data, so assume up-to-date.) - - //Character - WRITE_FILE(S["real_name"] , real_name) - WRITE_FILE(S["gender"] , gender) - WRITE_FILE(S["body_type"] , body_type) - WRITE_FILE(S["age"] , age) - WRITE_FILE(S["hair_color"] , hair_color) - WRITE_FILE(S["facial_hair_color"] , facial_hair_color) - WRITE_FILE(S["eye_color"] , eye_color) - WRITE_FILE(S["skin_tone"] , skin_tone) - WRITE_FILE(S["hairstyle_name"] , hairstyle) - WRITE_FILE(S["facial_style_name"] , facial_hairstyle) - WRITE_FILE(S["underwear"] , underwear) - WRITE_FILE(S["underwear_color"] , underwear_color) - WRITE_FILE(S["undershirt"] , undershirt) - WRITE_FILE(S["socks"] , socks) - WRITE_FILE(S["backpack"] , backpack) - WRITE_FILE(S["jumpsuit_style"] , jumpsuit_style) - WRITE_FILE(S["uplink_loc"] , uplink_spawn_loc) - WRITE_FILE(S["playtime_reward_cloak"] , playtime_reward_cloak) - WRITE_FILE(S["randomise"] , randomise) - WRITE_FILE(S["species"] , pref_species.id) - WRITE_FILE(S["phobia"], phobia) - WRITE_FILE(S["scream"], pref_scream.name) - WRITE_FILE(S["laugh"], pref_laugh.name) - /*WRITE_FILE(S["feature_mcolor"] , features["mcolor"]) - WRITE_FILE(S["feature_ethcolor"] , features["ethcolor"]) - WRITE_FILE(S["feature_lizard_tail"] , features["tail_lizard"]) - WRITE_FILE(S["feature_human_tail"] , features["tail_human"]) - WRITE_FILE(S["feature_lizard_snout"] , features["snout"]) - WRITE_FILE(S["feature_lizard_horns"] , features["horns"]) - WRITE_FILE(S["feature_human_ears"] , features["ears"]) - WRITE_FILE(S["feature_lizard_frills"] , features["frills"]) - WRITE_FILE(S["feature_lizard_spines"] , features["spines"]) - WRITE_FILE(S["feature_lizard_body_markings"] , features["body_markings"]) - WRITE_FILE(S["feature_lizard_legs"] , features["legs"]) - WRITE_FILE(S["feature_moth_wings"] , features["moth_wings"]) - WRITE_FILE(S["feature_moth_antennae"] , features["moth_antennae"]) - WRITE_FILE(S["feature_moth_markings"] , features["moth_markings"])*/ - WRITE_FILE(S["persistent_scars"] , persistent_scars) - WRITE_FILE(S["foodlikes"] , foodlikes) - WRITE_FILE(S["fooddislikes"] , fooddislikes) - - //Custom names - for(var/custom_name_id in GLOB.preferences_custom_names) - var/savefile_slot_name = custom_name_id + "_name" //TODO remove this - WRITE_FILE(S[savefile_slot_name],custom_names[custom_name_id]) - - WRITE_FILE(S["preferred_ai_core_display"] , preferred_ai_core_display) - WRITE_FILE(S["prefered_security_department"] , prefered_security_department) - - //Jobs - WRITE_FILE(S["joblessrole"] , joblessrole) - //Write prefs - WRITE_FILE(S["job_preferences"] , job_preferences) - //Write Alternate Job Titles - WRITE_FILE(S["alt_titles_preferences"], alt_titles_preferences) - - //Quirks - WRITE_FILE(S["all_quirks"] , all_quirks) - - //All the new skyrat related stuff here - WRITE_FILE(S["features"] , features) - WRITE_FILE(S["mutant_bodyparts"] , mutant_bodyparts) - WRITE_FILE(S["body_markings"] , body_markings) - - WRITE_FILE(S["loadout"] , loadout) - - WRITE_FILE(S["ooc_prefs"] , ooc_prefs) - WRITE_FILE(S["erp_pref"] , erp_pref) - WRITE_FILE(S["sextoys_pref"], sextoys_pref) - WRITE_FILE(S["noncon_pref"] , noncon_pref) - WRITE_FILE(S["vore_pref"] , vore_pref) - WRITE_FILE(S["general_record"] , general_record) - WRITE_FILE(S["security_record"] , security_record) - WRITE_FILE(S["medical_record"] , medical_record) - WRITE_FILE(S["background_info"] , background_info) - WRITE_FILE(S["exploitable_info"] , exploitable_info) - - WRITE_FILE(S["mismatched_customization"] , mismatched_customization) - WRITE_FILE(S["allow_advanced_colors"] , allow_advanced_colors) - - WRITE_FILE(S["augments"] , augments) - WRITE_FILE(S["augment_limb_styles"] , augment_limb_styles) - - WRITE_FILE(S["undershirt_color"], undershirt_color) - WRITE_FILE(S["socks_color"], socks_color) - - WRITE_FILE(S["pda_style"], pda_style) - WRITE_FILE(S["pda_ringer"], pda_ringer) - WRITE_FILE(S["pda_color"], pda_color) - - WRITE_FILE(S["pref_culture"] , pref_culture) - WRITE_FILE(S["pref_location"] , pref_location) - WRITE_FILE(S["pref_faction"] , pref_faction) - - WRITE_FILE(S["languages"] , languages) - - return TRUE - - -/proc/sanitize_keybindings(value) - var/list/base_bindings = sanitize_islist(value,list()) - for(var/key in base_bindings) - base_bindings[key] = base_bindings[key] & GLOB.keybindings_by_name - if(!length(base_bindings[key])) - base_bindings -= key - return base_bindings - -#undef SAVEFILE_VERSION_MAX -#undef SAVEFILE_VERSION_MIN - -#ifdef TESTING -//DEBUG -//Some crude tools for testing savefiles -//path is the savefile path -/client/verb/savefile_export(path as text) - var/savefile/S = new /savefile(path) - S.ExportText("/",file("[path].txt")) -//path is the savefile path -/client/verb/savefile_import(path as text) - var/savefile/S = new /savefile(path) - S.ImportText("/",file("[path].txt")) - -#endif -*/ diff --git a/modular_skyrat/modules/customization/modules/clothing/clothing.dm b/modular_skyrat/modules/customization/modules/clothing/clothing.dm index 10217316942..5b6ab4344f0 100644 --- a/modular_skyrat/modules/customization/modules/clothing/clothing.dm +++ b/modular_skyrat/modules/customization/modules/clothing/clothing.dm @@ -1,6 +1,5 @@ //Mutant variants needs to be a property of all items, because all items can be equipped, despite the mob code only expecting clothing items (ugh) /obj/item - var/mutant_variants = NONE ///Icon file for mob worn overlays, if the user is digi. var/icon/worn_icon_digi ///The config type to use for greyscaled worn sprites for digitigrade characters. Both this and greyscale_colors must be assigned to work. @@ -24,184 +23,172 @@ var/greyscale_config_worn_taur_hoof /obj/item/clothing/head - mutant_variants = STYLE_MUZZLE | STYLE_VOX + supports_variations_flags = CLOTHING_SNOUTED_VARIATION /obj/item/clothing/mask - mutant_variants = STYLE_MUZZLE | STYLE_VOX + supports_variations_flags = CLOTHING_SNOUTED_VARIATION | CLOTHING_SNOUTED_VOX_VARIATION /obj/item/clothing/glasses - mutant_variants = STYLE_VOX + supports_variations_flags = CLOTHING_SNOUTED_VOX_VARIATION /obj/item/clothing/under - mutant_variants = STYLE_DIGITIGRADE|STYLE_VOX + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION /obj/item/clothing/suit - mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL|STYLE_VOX - -/obj/item/clothing/gloves - mutant_variants = STYLE_VOX + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION /obj/item/clothing/shoes - mutant_variants = STYLE_DIGITIGRADE|STYLE_VOX - -/obj/item/clothing/suit/armor - mutant_variants = STYLE_VOX - -/obj/item/clothing/under/color/jumpskirt - mutant_variants = STYLE_VOX + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION /obj/item/clothing/under/rank/engineering/chief_engineer/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/chaplain/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/cargo/qm/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/captain/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/chaplain/skirt - mutant_variants = NONE - -/obj/item/clothing/under/dress - mutant_variants = STYLE_VOX + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/officer/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/suit/black/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/rnd/research_director/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/rnd/research_director/alt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/rnd/research_director/turtleneck/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/head_of_personnel/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/head_of_security/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/head_of_security/alt/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/warden/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/prisoner/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/officer/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/syndicate/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/cargo/tech/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/bartender/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/chef/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/hydroponics/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/janitor/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/black/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/female/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/red/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/blue/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/bluesuit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/lawyer/purpsuit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/mime/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/curator/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/engineering/atmospheric_technician/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/engineering/engineer/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/medical/virologist/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/medical/doctor/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/medical/paramedic/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/rnd/scientist/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/rnd/roboticist/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/rnd/geneticist/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/detective/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/security/detective/grey/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/suit/white/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/suit/black/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/suit/black_really/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/syndicate/tacticool/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/civilian/head_of_personnel/suit/skirt - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/costume/draculass - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/customization/modules/clothing/head/head.dm b/modular_skyrat/modules/customization/modules/clothing/head/head.dm index 0f480e64c70..1461001660a 100644 --- a/modular_skyrat/modules/customization/modules/clothing/head/head.dm +++ b/modular_skyrat/modules/customization/modules/clothing/head/head.dm @@ -7,7 +7,7 @@ armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0.1, "bio" = 0, "fire" = -10, "acid" = -15, "wound" = 1) desc = "A dilapidated helmet used in ancient wars. This one is brittle and essentially useless. An ace of spades is tucked into the band around the outer shell." pocket_storage_component_path = /datum/component/storage/concrete/pockets/tiny/spacenam //So you can stuff other things in the elastic band instead of it simply being a fluff thing. - mutant_variants = NONE + supports_variations_flags = NONE /datum/component/storage/concrete/pockets/tiny/spacenam attack_hand_interact = TRUE //So you can actually see what you stuff in there @@ -19,7 +19,7 @@ desc = "A standard brown cowboy hat, yeehaw." icon_state = "cowboyhat" inhand_icon_state = "cowboyhat" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/cowboyhat/black name = "black cowboy hat" @@ -51,7 +51,7 @@ name = "kepi" desc = "A white cap with visor. Oui oui, mon capitane!" icon_state = "kepi" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/kepi/old icon_state = "kepi_old" @@ -63,7 +63,7 @@ name = "maid headband" desc = "Maid in China." icon_state = "maid" - mutant_variants = NONE + supports_variations_flags = NONE //Cyberpunk PI Costume - Sprites from Eris @@ -73,7 +73,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "cyberpunkgoggle" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/intern/developer name = "\improper Intern beancap" @@ -87,7 +87,7 @@ icon_state = "beret_badge" armor = list(MELEE = 40, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 30, ACID = 50, WOUND = 6) strip_delay = 60 - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/cowboyhat/blackwide @@ -123,14 +123,14 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "ushankared" inhand_icon_state = "ushankadown" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/ushanka/sec/blue icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "ushankablue" inhand_icon_state = "ushankadown" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/soft/enclave name = "neo american cap" @@ -159,7 +159,7 @@ dog_fashion = null cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/whiterussian/white icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' @@ -179,7 +179,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "policeofficercap" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hos/peacekeeper/sol name = "sol police chief cap" @@ -187,7 +187,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "policechiefcap" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/sec/peacekeeper/sol/traffic name = "sol traffic cop cap" @@ -195,7 +195,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "policetrafficcap" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/colourable_flatcap name = "colourable flat cap" @@ -205,7 +205,7 @@ greyscale_config_worn = /datum/greyscale_config/flatcap/worn greyscale_colors = "#79684c" flags_1 = IS_PLAYER_COLORABLE_1 - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/flowerpin name = "flower pin" @@ -216,7 +216,7 @@ greyscale_colors = "#FF0000" flags_1 = IS_PLAYER_COLORABLE_1 w_class = WEIGHT_CLASS_SMALL - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/imperial name = "naval officer cap" @@ -224,7 +224,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "impcom" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/imperial/hop name = "head of personnel's naval officer cap" @@ -285,7 +285,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "gblast_helmet" - mutant_variants = NONE + supports_variations_flags = NONE var/goggles = FALSE /obj/item/clothing/head/imperialhelmet/proc/adjust_goggles(mob/living/carbon/user) //using my own donator item as a base omegalul @@ -313,14 +313,14 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "enhead" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/cowboyhat/sheriff name = "winter cowboy hat" icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "sheriff_hat" - mutant_variants = NONE + supports_variations_flags = NONE desc = "A dark hat from the cold wastes of the Frosthill mountains. So it was done, all according to the law. There's a small set of antlers embroidered on the inside." cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT @@ -331,7 +331,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "sheriff_hat_alt" - mutant_variants = NONE + supports_variations_flags = NONE desc = "A dark brown hat with a smell of whiskey. There's a small set of antlers embroidered on the inside." flags_inv = SHOWSPRITEEARS @@ -340,7 +340,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "deputy_hat" - mutant_variants = NONE + supports_variations_flags = NONE desc = "A light brown hat with a smell of iron. There's a small set of antlers embroidered on the inside." /obj/item/clothing/head/soft/yankee @@ -351,7 +351,7 @@ icon_state = "yankeesoft" soft_type = "yankee" dog_fashion = /datum/dog_fashion/head/yankee - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/soft/yankee/rimless name = "rimless fashionable baseball cap" @@ -367,7 +367,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "brfedora" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/fedora/fedblack name = "black fedora" @@ -375,7 +375,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "blfedora" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/christmas name = "red christmas hat" diff --git a/modular_skyrat/modules/customization/modules/clothing/neck/cloaks.dm b/modular_skyrat/modules/customization/modules/clothing/neck/cloaks.dm index 2da746a50e4..d27b75a6ffd 100644 --- a/modular_skyrat/modules/customization/modules/clothing/neck/cloaks.dm +++ b/modular_skyrat/modules/customization/modules/clothing/neck/cloaks.dm @@ -21,7 +21,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/neck.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/neck.dmi' icon_state = "cowboy_poncho" - mutant_variants = NONE + supports_variations_flags = NONE heat_protection = CHEST /obj/item/clothing/neck/cowboylea/ComponentInitialize() @@ -37,7 +37,7 @@ greyscale_config_worn = /datum/greyscale_config/ranger_poncho/worn greyscale_colors = "#917A57#858585" //Roughly the same color as the original non-greyscale item was flags_1 = IS_PLAYER_COLORABLE_1 - mutant_variants = NONE + supports_variations_flags = NONE heat_protection = CHEST /obj/item/clothing/neck/ranger_poncho/ComponentInitialize() diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm b/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm index 84569d6ce71..0aa3961b709 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/armor.dm @@ -9,7 +9,7 @@ desc = "This jacket is for those special occasions when a security officer isn't required to wear their armor." icon_state = "officerbluejacket" body_parts_covered = CHEST|ARMS - mutant_variants = NONE + supports_variations_flags = NONE // HEAD OF SECURITY @@ -29,7 +29,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "trenchcloak" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|ARMS|LEGS // WARDEN diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm b/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm index 9b80c1d5d71..240ad3162c2 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/coats.dm @@ -1,5 +1,5 @@ /obj/item/clothing/suit/hooded/wintercoat - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/wintercoat/paramedic icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -143,7 +143,7 @@ body_parts_covered = CHEST resistance_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0,"energy" = 0, "bomb" = 5, "bio" = 0, "fire" = -5, "acid" = -15, "wound" = 0) //nylon sucks against acid - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/cloak/david icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -153,7 +153,7 @@ desc = "Ever wanted to look like a badass without ANY effort? Try this nanotrasen brand red cloak, perfect for kids" hoodtype = /obj/item/clothing/head/hooded/cloakhood/david body_parts_covered = CHEST|GROIN|ARMS - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/cloakhood/david icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' @@ -162,7 +162,7 @@ icon_state = "golhood" desc = "conceal your face in shame with this nanotrasen brand hood" flags_inv = HIDEEARS|HIDEEYES|HIDEHAIR|HIDEFACIALHAIR - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/urban/polychromic name = "urban coat" @@ -170,7 +170,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "urbanjacket" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/urban/polychromic/ComponentInitialize() . = ..() @@ -183,7 +183,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "deckard" - mutant_variants = NONE + supports_variations_flags = NONE inhand_icon_state = "det_suit" blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS @@ -207,7 +207,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "hazardbg" - mutant_variants = NONE + supports_variations_flags = NONE blood_overlay_type = "coat" toggle_noun = "zipper" armor = list(MELEE = 10, BULLET = 5, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0) @@ -217,7 +217,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "suitjacket_black" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/duster/colorable @@ -226,7 +226,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "duster" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/duster/colorable/ComponentInitialize() . = ..() @@ -238,17 +238,17 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "peacoat" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/peacoat/ComponentInitialize() . = ..() AddElement(/datum/element/polychromic, list("#55DD55")) /obj/item/clothing/suit/poncho - mutant_variants = STYLE_TAUR_ALL + supports_variations_flags = STYLE_TAUR_ALL /obj/item/clothing/suit/apron - mutant_variants = STYLE_TAUR_ALL + supports_variations_flags = STYLE_TAUR_ALL /obj/item/clothing/suit/toggle/lawyer/white name = "white suit jacket" @@ -256,7 +256,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "suitjacket_white" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/wintercoat/christmas name = "red christmas coat" @@ -310,4 +310,4 @@ cold_protection = CHEST|ARMS icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/hoodies.dm b/modular_skyrat/modules/customization/modules/clothing/suits/hoodies.dm index 201871960da..a729a7cfb46 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/hoodies.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/hoodies.dm @@ -10,7 +10,7 @@ greyscale_config_worn = /datum/greyscale_config/hoodie/worn greyscale_colors = "#FFFFFF" flags_1 = IS_PLAYER_COLORABLE_1 - mutant_variants = NONE + supports_variations_flags = NONE min_cold_protection_temperature = T0C - 20 //Not as good as the base jacket /obj/item/clothing/suit/toggle/jacket/hoodie/trim diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm b/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm index 316a4ff9e95..e31752b33d4 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/misc.dm @@ -6,7 +6,7 @@ icon_state = "wornshirt" inhand_icon_state = "labcoat" body_parts_covered = CHEST|GROIN - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/labcoat/hospitalgown icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -40,7 +40,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "hawaiian_blue" body_parts_covered = CHEST|GROIN - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hawaiian_orange @@ -50,7 +50,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "hawaiian_orange" body_parts_covered = CHEST|GROIN - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hawaiian_purple icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -59,7 +59,7 @@ icon_state = "hawaiian_purple" desc = "Strangely en vouge with aviator wearing shibas." body_parts_covered = CHEST|GROIN - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hawaiian_green @@ -69,7 +69,7 @@ icon_state = "hawaiian_green" desc = "Strangely en vouge with aviator wearing shibas." body_parts_covered = CHEST|GROIN - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/trackjacket icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -86,7 +86,7 @@ name = "blue trenchcoat" icon_state = "frenchtrench" desc = "There's a certain timeless feeling to this coat, like it was once worn by a romantic, broken through his travels, from a schemer who hunted injustice to a traveller, however it arrived in your hands? Who knows?" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/victoriantailcoatbutler icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -94,7 +94,7 @@ name = "caretaker tailcoat" desc = "You've ALWAYS been the Caretaker. I ought to know, I've ALWAYS been here." icon_state = "victorian_tailcoat" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/koreacoat icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -102,7 +102,7 @@ name = "eastern winter coat" desc = "War crimes make people cold, not just on the inside, but on the outside as well, just ask Germany, France, Sweden, Germany again, Russia themselves and Poland, this coat's a touch more eastern, however." icon_state = "chi_korea_coat" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -113,7 +113,7 @@ name = "modern winter coat" desc = "Warm and comfy, the inner fur seems to be removable, not this one though, someone's sewn it in and left the buttons!" icon_state = "modern_winter" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -126,7 +126,7 @@ greyscale_config_worn = /datum/greyscale_config/cardigan/worn greyscale_colors = "#FFFFFF" flags_1 = IS_PLAYER_COLORABLE_1 - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/jacket/cardigan/ComponentInitialize() . = ..() @@ -138,7 +138,7 @@ name = "disco ass blazer" desc = "Looks like someone skinned this blazer off some long extinct disco-animal. It has an enigmatic white rectangle on the back and the right sleeve." icon_state = "jamrock_blazer" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/kimjacket icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -146,7 +146,7 @@ name = "aerostatic bomber jacket" desc = "A jacket once worn by the Air Force during the Antecentennial Revolution, there are quite a few pockets on the inside, mostly for storing notebooks and compasses." icon_state = "aerostatic_bomber_jacket" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/blackfurrich icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -154,7 +154,7 @@ name = "expensive black fur coat" desc = "Ever thought to yourself 'I'm a rich bitch, but I haven't GOT the Mafia Princess look?' Well thanks to the tireless work of underpaid slave labour in Space China, your dreams of looking like a bitch have been fulfilled, like a Genie with a sweatshop." icon_state = "expensivecoat" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -165,7 +165,7 @@ name = "expensive brown fur coat" desc = "There is nothing more valuable, nothing more sacred, look at the fur lining, it's beautiful, when you cruse through Necropolis in this thing, you're gonna be balls deep in Ash Walker snatch." icon_state = "battlecoat" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -176,7 +176,7 @@ name = "quartermaster fur coat" desc = "Cargonia, or if you're a dork, Cargoslavia has shipped out a coat for loyal quartermasters, despite accusations it's just a dyed black fur coat, it's...not, promise!" icon_state = "winter_coat" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -202,7 +202,7 @@ name = "falls parka" desc = "A light brown coat with light fur lighting around the collar." icon_state = "fallsparka" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -213,7 +213,7 @@ name = "british officers coat" desc = "Whether you're commanding a colonial crusade or commanding a battalion for the British Empire, this coat will suit you." icon_state = "british_officer" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -225,7 +225,7 @@ name = "modern winter coat" desc = "A comfy modern winter coat." icon_state = "modern_winter" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -236,7 +236,7 @@ name = "wool coat" desc = "A fine coat made from the richest of wool." icon_state = "woolcoat" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS @@ -246,7 +246,7 @@ name = "neo american general's coat" desc = "In stark contrast to the undersuit, this large and armored coat is as white as snow, perfect for the bloodstains." icon_state = "soldier" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -258,7 +258,7 @@ name = "neo american officer's coat" desc = "In stark contrast to the undersuit, this coat is a greeny white colour, layered with slight protection against bullets and melee weapons." icon_state = "autumn" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS cold_protection = CHEST|GROIN|ARMS min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT @@ -270,7 +270,7 @@ name = "white suit coat" desc = "A white suit coat, perfect for fat oil barons." icon_state = "texas" - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/cossack @@ -279,7 +279,7 @@ name = "ukrainian coat" desc = "Hop on your horse, dawn your really fluffy hat, and strap this coat to your back." icon_state = "kuban_cossak" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/cossack/sec icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -287,14 +287,14 @@ name = "security ukrainian coat" desc = "Hop on your horse, dawn your really fluffy hat, and strap this coat to your back." icon_state = "don_cossak" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/corgisuit/en name = "\improper super-hero E-N suit" icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "ensuit" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/corgisuit/en/New() ..() @@ -321,7 +321,6 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "brtrenchcoat" - mutant_variants = STYLE_VOX body_parts_covered = CHEST|ARMS /obj/item/clothing/suit/trenchblack @@ -330,5 +329,4 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "bltrenchcoat" - mutant_variants = STYLE_VOX body_parts_covered = CHEST|ARMS diff --git a/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm b/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm index ec567b26508..d8e8c561379 100644 --- a/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm +++ b/modular_skyrat/modules/customization/modules/clothing/suits/trek.dm @@ -22,7 +22,7 @@ /obj/item/reagent_containers/glass/beaker, /obj/item/storage/pill_bottle, /obj/item/taperecorder) - mutant_variants = NONE + supports_variations_flags = NONE body_parts_covered = CHEST|GROIN|ARMS species_exception = list(/datum/species/golem) diff --git a/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm b/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm index 8ed869d59b8..a2613b37b86 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/costumes.dm @@ -7,7 +7,7 @@ icon_state = "qipao" body_parts_covered = CHEST|GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/costume/qipao/white name = "white qipao" @@ -39,7 +39,7 @@ icon_state = "cheong" body_parts_covered = CHEST|GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/costume/cheongsam/white name = "white cheongsam" @@ -61,7 +61,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "cyberpunksleek" body_parts_covered = CHEST|ARMS|GROIN|LEGS - mutant_variants = NONE + supports_variations_flags = NONE can_adjust = FALSE /obj/item/clothing/under/costume/cybersleek/long diff --git a/modular_skyrat/modules/customization/modules/clothing/under/misc.dm b/modular_skyrat/modules/customization/modules/clothing/under/misc.dm index e98c706c1ec..6fea19ae972 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/misc.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/misc.dm @@ -5,7 +5,7 @@ icon_state = "stripper_p" body_parts_covered = CHEST|GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/stripper/green name = "green stripper outfit" @@ -45,7 +45,7 @@ icon_state = "gear_harness" body_parts_covered = CHEST|GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/colourable_kilt name = "colourable kilt" @@ -55,7 +55,7 @@ greyscale_config_worn = /datum/greyscale_config/kilt/worn greyscale_colors = "#008000#777777" flags_1 = IS_PLAYER_COLORABLE_1 - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/royalkilt name = "royal kilt" @@ -121,7 +121,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "tac_s" - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION /obj/item/clothing/under/misc/bluetracksuit name = "blue tracksuit" @@ -179,7 +179,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "tacticool_hawaiian_orange" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/tachawaiian/blue name = "blue tactical hawaiian outfit" @@ -199,7 +199,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "texas" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/doug_dimmadome name = "dimmadome formal outfit" @@ -207,7 +207,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "doug_dimmadome" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/westender name = "westender outfit" @@ -215,7 +215,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "westender" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/pmarsrobe name = "priestess robe" @@ -345,7 +345,7 @@ icon_state = "workpants_orange" body_parts_covered = GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY /obj/item/clothing/under/rank/civilian/hydroponics/trouser @@ -356,7 +356,7 @@ icon_state = "workpants_green" body_parts_covered = GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY /obj/item/clothing/under/rank/security/peacekeeper/trousers @@ -367,7 +367,7 @@ icon_state = "workpants_blue" body_parts_covered = GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY /obj/item/clothing/under/rank/security/peacekeeper/trousers/red diff --git a/modular_skyrat/modules/customization/modules/clothing/under/security.dm b/modular_skyrat/modules/customization/modules/clothing/under/security.dm index 195c66bb948..b2fec5677cd 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/security.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/security.dm @@ -15,7 +15,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "cowboy_uniform" - mutant_variants = NONE + supports_variations_flags = NONE can_adjust = FALSE /obj/item/clothing/under/rank/security/detective/cowboy/armorless //Donator variant, just uses the sprite. @@ -29,7 +29,7 @@ icon_state = "cowboy_vest" body_parts_covered = CHEST|ARMS cold_protection = CHEST|ARMS - mutant_variants = NONE + supports_variations_flags = NONE heat_protection = CHEST|ARMS /obj/item/clothing/suit/det_suit/cowboyvest @@ -40,7 +40,7 @@ icon_state = "cowboy_vest" body_parts_covered = CHEST|ARMS cold_protection = CHEST|ARMS - mutant_variants = NONE + supports_variations_flags = NONE heat_protection = CHEST|ARMS /obj/item/clothing/under/rank/security/detective/runner @@ -49,7 +49,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/uniforms.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/uniform.dmi' icon_state = "runner" - mutant_variants = NONE + supports_variations_flags = NONE can_adjust = FALSE ///Police Uniforms @@ -94,7 +94,7 @@ name = "protective custody prisoner jumpskirt" desc = "A mustard coloured prison jumpskirt, often worn by former Security members, informants and former CentComm employees. Its suit sensors are stuck in the \"Fully On\" position." greyscale_colors = "#FFB600" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/prisoner/lowsec name = "low security prisoner jumpsuit" @@ -105,7 +105,7 @@ name = "low security prisoner jumpskirt" desc = "A pale, almost creamy prison jumpskirt, this one denotes a low security prisoner, things like fraud and anything white collar. Its suit sensors are stuck in the \"Fully On\" position." greyscale_colors = "#AB9278" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/prisoner/highsec name = "high risk prisoner jumpsuit" @@ -116,7 +116,7 @@ name = "high risk prisoner jumpskirt" desc = "A bright red prison jumpskirt, depending on who sees it, either a badge of honour or a sign to avoid. Its suit sensors are stuck in the \"Fully On\" position." greyscale_colors = "#FF3400" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/prisoner/supermax name = "supermax prisoner jumpsuit" @@ -127,7 +127,7 @@ name = "supermax prisoner jumpskirt" desc = "A dark crimson red prison jumpskirt, for the worst of the worst, or the Clown. Its suit sensors are stuck in the \"Fully On\" position." greyscale_colors = "#992300" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/prisoner/classic name = "classic prisoner jumpsuit" @@ -146,10 +146,10 @@ desc = "A crimson red jumpsuit worn by syndicate captives. Its sensors have been shorted out." greyscale_colors = "#992300" has_sensor = FALSE - + /obj/item/clothing/under/rank/prisoner/skirt/syndicate name = "syndicate prisoner jumpskirt" desc = "A crimson red jumpskirt worn by syndicate captives. Its sensors have been shorted out." greyscale_colors = "#992300" has_sensor = FALSE - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/customization/modules/clothing/under/suits.dm b/modular_skyrat/modules/customization/modules/clothing/under/suits.dm index 19af96d9336..2fee0f82048 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/suits.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/suits.dm @@ -6,4 +6,4 @@ greyscale_config_worn = /datum/greyscale_config/fancy_suit/worn greyscale_colors = "#FFFFFA#0075C4#7C787D" flags_1 = IS_PLAYER_COLORABLE_1 - mutant_variants = NONE + supports_variations_flags = NONE diff --git a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/other_port.dm b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/other_port.dm index ccaf84f39cb..856e880a719 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/other_port.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/other_port.dm @@ -44,7 +44,7 @@ name = "samurai armor" desc = "A set of ancient-Japan Samurai armor. Despite being a cheap replica, it's still remarkably heavy." icon_state = "samurai" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/costume/kabuto icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' @@ -52,7 +52,7 @@ name = "kabuto" desc = "An ancient-Japan armored helmet - or a replica of one, at least." icon_state = "kabuto" - mutant_variants = NONE + supports_variations_flags = NONE //Victorian Clothes /obj/item/clothing/under/costume/vic_vest @@ -105,7 +105,7 @@ name = "victorian tailcoat" desc = "A fancy tailcoat to make your suit seem even more lavish." icon_state = "tailcoat" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/costume/vic_dresscoat icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -113,7 +113,7 @@ name = "victorian dresscoat" desc = "An elaborate coat to go over an old-Earth Victorian Period dress. Much thinner fabric than you'd expected." icon_state = "vickyblack" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/costume/vic_dresscoat/red icon_state = "vickyred" @@ -124,7 +124,7 @@ name = "wide black hat" desc = "A fancy old hat to match fancy old dresses." icon_state = "widehat_black" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/costume/widehat/red name = "wide red hat" diff --git a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm index b34e98369cb..bc002df726d 100644 --- a/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm +++ b/modular_skyrat/modules/customization/modules/clothing/under/utility_port/suits_port.dm @@ -5,7 +5,7 @@ name = "bartender's winter coat" desc = "A heavy jacket made from wool originally stolen from the chef's goat. This new design is made to fit the classic suit-and-tie aesthetic, but without the hypothermia." icon_state = "coatbar" - mutant_variants = NONE + supports_variations_flags = NONE allowed = list(/obj/item/flashlight, /obj/item/tank/internals/emergency_oxygen, /obj/item/tank/internals/plasmaman, /obj/item/toy, /obj/item/storage/fancy/cigarettes, /obj/item/lighter, /obj/item/reagent_containers/food/drinks/shaker, /obj/item/reagent_containers/food/drinks/flask, /obj/item/reagent_containers/glass/rag) hoodtype = /obj/item/clothing/head/hooded/winterhood/bartender @@ -25,7 +25,7 @@ body_parts_covered = CHEST|ARMS|GROIN cold_protection = CHEST|ARMS|GROIN min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT - mutant_variants = NONE + supports_variations_flags = NONE toggle_noun = "zipper" //Job Jackets @@ -56,7 +56,7 @@ /obj/item/clothing/suit/gorka //THIS WILL BE MOVED IN THE NEXT PR ADDING PROPER GORKAS (not cargo related so not in this PR), BUT FOR NOW ITS HERE FOR THE SUBTYPE'S FILE LINKS icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/gorka/supply //Put here for sorting purposes, considering the cargo gorkas are in the utility file too. The base Gorka and Jacket (to be added later) will most likely be elsewhere name = "supply gorka jacket" @@ -107,7 +107,7 @@ name = "high vis labcoat" desc = "A high visibility vest for emergency responders, intended to draw attention away from the blood." icon_state = "labcoat_highvis" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/labcoat/para_red icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -115,7 +115,7 @@ name = "red paramedic labcoat" desc = "A red vest with reflective strips for First Responsers." icon_state = "labcoat_pmedred" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/toggle/labcoat/para_red/Initialize() . = ..() diff --git a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm index a31ec9fe94a..8410bb29562 100644 --- a/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm +++ b/modular_skyrat/modules/customization/modules/clothing/~donator/donator_clothing.dm @@ -58,7 +58,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' icon_state = "polyskirt" - mutant_variants = NONE + supports_variations_flags = NONE var/list/poly_colors = list("#FFFFFF", "#FF8888", "#888888") /obj/item/clothing/under/dress/skirt/polychromic/ComponentInitialize() @@ -78,7 +78,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' icon_state = "polysuit" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/poly_shirt/ComponentInitialize() . = ..() @@ -92,7 +92,7 @@ icon_state = "polyshorts" can_adjust = FALSE body_parts_covered = CHEST|GROIN|ARMS - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/polyshorts/ComponentInitialize() . = ..() @@ -105,7 +105,7 @@ worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' icon_state = "polyjump" can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/polyjumpsuit/ComponentInitialize() . = ..() @@ -119,7 +119,7 @@ icon_state = "polybottomless" body_parts_covered = CHEST|ARMS //Because there's no bottom included can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/poly_bottomless/ComponentInitialize() . = ..() @@ -134,7 +134,7 @@ worn_icon_state = "poly_turtle" body_parts_covered = CHEST|GROIN|ARMS //Commando sweater is long but still doesnt have pants can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/misc/polysweater/ComponentInitialize() . = ..() @@ -148,7 +148,7 @@ icon_state = "polyshimatank" body_parts_covered = CHEST|GROIN can_adjust = FALSE - mutant_variants = NONE + supports_variations_flags = NONE var/list/poly_colors = list("#888888", "#FFFFFF", "#88CCFF") /obj/item/clothing/under/misc/poly_tanktop/ComponentInitialize() @@ -167,7 +167,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' icon_state = "polyshortpants" - mutant_variants = NONE + supports_variations_flags = NONE var/list/poly_colors = list("#FFFFFF", "#FF8888", "#FFFFFF") /obj/item/clothing/under/shorts/polychromic/ComponentInitialize() @@ -179,7 +179,7 @@ desc = "Topless striped panties. Now with 120% more polychrome!" icon_state = "polypantsu" body_parts_covered = GROIN - mutant_variants = NONE + supports_variations_flags = NONE poly_colors = list("#FFFFFF", "#88CCFF", "#FFFFFF") /**************CKEY EXCLUSIVES*************/ @@ -192,7 +192,7 @@ worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/suit.dmi' icon_state = "darkcoat" inhand_icon_state = "darkcoat" - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for Grunnyyy /obj/item/clothing/neck/cloak/grunnyyy @@ -203,7 +203,7 @@ worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/custom_w.dmi' w_class = WEIGHT_CLASS_SMALL body_parts_covered = CHEST|GROIN|LEGS|ARMS - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for Thedragmeme // might make it have some flavour functionality in future, a'la rewritable piece of paper - JOKES ON YOU I'M MAKING IT DRAW @@ -312,7 +312,7 @@ blood_overlay_type = "coat" body_parts_covered = CHEST|GROIN|LEGS|ARMS cold_protection = CHEST|GROIN|LEGS|ARMS - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for Thedragmeme /obj/item/clothing/under/syndicate/tacticool/black @@ -321,7 +321,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' icon_state = "black_turtleneck" worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' - mutant_variants = NONE + supports_variations_flags = NONE can_adjust = FALSE //There wasnt an adjustable sprite anyways armor = list(MELEE = 0, BULLET = 0, LASER = 0,ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 0, ACID = 0, WOUND = 5) //same armor as a greyshirt - DONOR ITEMS ARE PURELY COSMETIC has_sensor = HAS_SENSORS //Actually has sensors, to balance the new lack of armor @@ -333,7 +333,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/shoes.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/feet.dmi' icon_state = "heel-jackboots" - mutant_variants = NONE + supports_variations_flags = NONE uses_advanced_reskins = FALSE unique_reskin = NONE @@ -344,7 +344,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/shoes.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/feet.dmi' icon_state = "clown_shoes_cute" - mutant_variants = NONE + supports_variations_flags = NONE resistance_flags = FIRE_PROOF // Donation reward for Bloodrite @@ -354,7 +354,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' icon_state = "clowndress" - mutant_variants = NONE + supports_variations_flags = NONE resistance_flags = FIRE_PROOF // Donation reward for Bloodrite @@ -366,7 +366,7 @@ icon_state = "cute_mask" inhand_icon_state = "clown_hat" dye_color = "clown" - mutant_variants = NONE + supports_variations_flags = NONE clothing_flags = MASKINTERNALS w_class = WEIGHT_CLASS_SMALL flags_cover = MASKCOVERSEYES @@ -398,7 +398,7 @@ icon_state = "kindle" worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/mask.dmi' inhand_icon_state = "kindle" - mutant_variants = NONE + supports_variations_flags = NONE clothing_flags = MASKINTERNALS flags_inv = HIDEFACIALHAIR | HIDESNOUT visor_flags_inv = HIDEFACIALHAIR | HIDESNOUT @@ -447,7 +447,7 @@ worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/large-worn-icons/32x64/head.dmi' flags_cover = HEADCOVERSEYES flags_inv = HIDEMASK|HIDEEARS|HIDEEYES|HIDEFACE|HIDEHAIR|HIDEFACIALHAIR - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for Random516 /obj/item/clothing/gloves/fingerless/blutigen_wraps @@ -465,7 +465,7 @@ icon_state = "blutigen_kimono" worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/suit.dmi' body_parts_covered = CHEST|GROIN|ARMS - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for Random516 /obj/item/clothing/under/custom/blutigen_undergarment @@ -474,7 +474,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' icon_state = "blutigen_undergarment" worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' - mutant_variants = NONE + supports_variations_flags = NONE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY /obj/item/clothing/gloves/ring/hypno @@ -519,7 +519,7 @@ cold_protection = HEAD min_cold_protection_temperature = FIRE_HELM_MIN_TEMP_PROTECT //about as warm as an ushanka actions_types = list(/datum/action/item_action/adjust) - mutant_variants = NONE + supports_variations_flags = NONE var/goggles = FALSE /obj/item/clothing/head/avipilot/proc/adjust_goggles(mob/living/carbon/user) @@ -551,7 +551,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' icon_state = "kilanosuit" worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' - mutant_variants = NONE + supports_variations_flags = NONE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY // Donation reward for NetraKyram @@ -569,7 +569,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/shoes.dmi' icon_state = "kilanoboots" worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/feet.dmi' - mutant_variants = NONE + supports_variations_flags = NONE /****************LEGACY REWARDS***************/ @@ -656,7 +656,7 @@ icon_state = "darkcarapace" blood_overlay_type = "armor" dog_fashion = /datum/dog_fashion/back - mutant_variants = NONE + supports_variations_flags = NONE armor = list("melee" = 0, "bullet" = 0, "laser" = 0, "energy" = 0, "bomb" = 0, "bio" = 0, "fire" = 0, "acid" = 0) // Donation reward for inferno707 @@ -669,7 +669,7 @@ var/c_color_index = 1 var/list/possible_colors = list("off", "blue", "red") actions_types = list(/datum/action/item_action/hheart) - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/mask/hheart/Initialize() . = ..() @@ -711,7 +711,7 @@ hoodtype = /obj/item/clothing/head/hooded/cloakhood/zuliecloak body_parts_covered = CHEST|GROIN|ARMS slot_flags = ITEM_SLOT_OCLOTHING | ITEM_SLOT_NECK //it's a cloak. it's cosmetic. so why the hell not? what could possibly go wrong? - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hooded/cloakhood/zuliecloak name = "NT special issue" @@ -720,7 +720,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/cloaks.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/neck.dmi' flags_inv = null - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for Lyricalpaws /obj/item/clothing/neck/cloak/healercloak @@ -737,7 +737,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' icon_state = "lannese" worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' - mutant_variants = NONE + supports_variations_flags = NONE inhand_icon_state = "lannese" can_adjust = TRUE female_sprite_flags = FEMALE_UNIFORM_TOP_ONLY @@ -768,7 +768,7 @@ icon_state = "luchador" worn_icon_state = "luchador" clothing_flags = MASKINTERNALS - mutant_variants = NONE + supports_variations_flags = NONE // Donation Reward for Grand Vegeta /obj/item/clothing/under/mikubikini @@ -941,7 +941,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/under/security.dmi' worn_icon_digi = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform_digi.dmi' icon_state = "hos_black" - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION // Donation reward for Raxraus /obj/item/clothing/under/rax_turtleneck_gray @@ -1111,7 +1111,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/suit.dmi' body_parts_covered = CHEST|LEGS|ARMS - mutant_variants = NONE + supports_variations_flags = NONE //Donation reward for Hacker T.Dog /obj/item/clothing/head/nanotrasen_consultant/hubert @@ -1171,7 +1171,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/uniform.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/uniform.dmi' icon_state = "occultoutfit" - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for gamerguy14948 /obj/item/clothing/head/hooded/occult @@ -1180,7 +1180,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/head.dmi' icon_state = "occulthood" - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for gamerguy14948 /obj/item/clothing/suit/hooded/occult @@ -1190,7 +1190,7 @@ worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/suit.dmi' icon_state = "occultcoat" hoodtype = /obj/item/clothing/head/hooded/occult - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for gamerguy14948 /obj/item/toy/plush/donator/voodoo @@ -1306,7 +1306,7 @@ icon = 'modular_skyrat/master_files/icons/donator/obj/clothing/masks.dmi' worn_icon = 'modular_skyrat/master_files/icons/donator/mob/clothing/mask.dmi' icon_state = "larpswat" - mutant_variants = NONE + supports_variations_flags = NONE // Donation reward for Cimika, on behalf of tf4 /obj/item/clothing/neck/fishpendant diff --git a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/frills.dm b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/frills.dm index 4d31102a957..53dc8bb645b 100644 --- a/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/frills.dm +++ b/modular_skyrat/modules/customization/modules/mob/dead/new_player/sprite_accessories/frills.dm @@ -6,7 +6,7 @@ genetic = TRUE /datum/sprite_accessory/frills/is_hidden(mob/living/carbon/human/H, obj/item/bodypart/HD) - if(H.head && (H.try_hide_mutant_parts || (H.head.flags_inv & HIDEEARS) || !HD || HD.status == BODYPART_ROBOTIC)) + if(H.head && (H.try_hide_mutant_parts || (H.head.flags_inv & HIDEEARS) || !HD)) return TRUE return FALSE diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/carbon_update_icons.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/carbon_update_icons.dm index 85239e1cbba..d1c0ca8e487 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/carbon_update_icons.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/carbon_update_icons.dm @@ -1,60 +1,6 @@ -/mob/living/carbon/proc/update_body_parts() - //CHECK FOR UPDATE - var/oldkey = icon_render_key - icon_render_key = generate_icon_render_key() - if(oldkey == icon_render_key) - return - remove_overlay(BODYPARTS_LAYER) - - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - BP.update_limb() - - //LOAD ICONS - if(limb_icon_cache[icon_render_key]) - load_limb_from_cache() - return - - var/is_taur = FALSE - if(dna?.species.mutant_bodyparts["taur"]) - var/datum/sprite_accessory/taur/S = GLOB.sprite_accessories["taur"][dna.species.mutant_bodyparts["taur"][MUTANT_INDEX_NAME]] - if(S.hide_legs) - is_taur = TRUE - - //GENERATE NEW LIMBS - var/list/new_limbs = list() - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - if(is_taur && (BP.body_part == LEG_LEFT || BP.body_part == LEG_RIGHT)) - continue - - new_limbs += BP.get_limb_icon() - if(new_limbs.len) - overlays_standing[BODYPARTS_LAYER] = new_limbs - limb_icon_cache[icon_render_key] = new_limbs - - apply_overlay(BODYPARTS_LAYER) - update_damage_overlays() - update_wound_overlays() - -/mob/living/carbon/proc/generate_icon_render_key() - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - . += "-[BP.body_zone]" - if(BP.use_digitigrade) - . += "-digitigrade[BP.use_digitigrade]" - if(BP.animal_origin) - . += "-[BP.animal_origin]" - if(BP.organic_render) - . += "-OR" - - if(HAS_TRAIT(src, TRAIT_HUSK)) - . += "-husk" - - if(dna?.species.mutant_bodyparts["taur"]) - . += "-taur" +/* /mob/living/carbon/update_inv_head() remove_overlay(HEAD_LAYER) @@ -72,12 +18,12 @@ used_style = STYLE_VOX else if(dna?.species.mutant_bodyparts["snout"]) var/datum/sprite_accessory/snouts/S = GLOB.sprite_accessories["snout"][dna.species.mutant_bodyparts["snout"][MUTANT_INDEX_NAME]] - if(S.use_muzzled_sprites && head.mutant_variants & STYLE_MUZZLE) - used_style = STYLE_MUZZLE + if(S.use_muzzled_sprites && head.supports_variations_flags & CLOTHING_SNOUTED_VARIATION) + used_style = CLOTHING_SNOUTED_VARIATION else if(isteshari(src)) used_style = STYLE_TESHARI switch(used_style) - if(STYLE_MUZZLE) + if(CLOTHING_SNOUTED_VARIATION) desired_icon = head.worn_icon_muzzled || 'modular_skyrat/master_files/icons/mob/clothing/head_muzzled.dmi' if(STYLE_VOX) desired_icon = head.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/head_vox.dmi' @@ -89,7 +35,7 @@ if((head.worn_icon_state || head.icon_state) in tesh_icon_states) desired_icon = TESHARI_HEAD_ICON - overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head.dmi', override_icon = desired_icon, mutant_styles = used_style) + overlays_standing[HEAD_LAYER] = head.build_worn_icon(default_layer = HEAD_LAYER, default_icon_file = 'icons/mob/clothing/head.dmi', override_file = desired_icon, mutant_styles = used_style) update_hud_head(head) apply_overlay(HEAD_LAYER) @@ -111,13 +57,13 @@ used_style = STYLE_VOX else if(dna?.species.mutant_bodyparts["snout"]) var/datum/sprite_accessory/snouts/S = GLOB.sprite_accessories["snout"][dna.species.mutant_bodyparts["snout"][MUTANT_INDEX_NAME]] - if(S.use_muzzled_sprites && wear_mask.mutant_variants & STYLE_MUZZLE) - used_style = STYLE_MUZZLE + if(S.use_muzzled_sprites && wear_mask.supports_variations_flags & CLOTHING_SNOUTED_VARIATION) + used_style = CLOTHING_SNOUTED_VARIATION else if(isteshari(src)) used_style = STYLE_TESHARI switch(used_style) - if(STYLE_MUZZLE) + if(CLOTHING_SNOUTED_VARIATION) desired_icon = wear_mask.worn_icon_muzzled || 'modular_skyrat/master_files/icons/mob/clothing/mask_muzzled.dmi' if(STYLE_VOX) desired_icon = wear_mask.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/mask_vox.dmi' @@ -130,7 +76,7 @@ desired_icon = TESHARI_MASK_ICON if(!(check_obscured_slots() & ITEM_SLOT_MASK)) - overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/clothing/mask.dmi', override_icon = desired_icon, mutant_styles = used_style) + overlays_standing[FACEMASK_LAYER] = wear_mask.build_worn_icon(default_layer = FACEMASK_LAYER, default_icon_file = 'icons/mob/clothing/mask.dmi', override_file = desired_icon, mutant_styles = used_style) update_hud_wear_mask(wear_mask) apply_overlay(FACEMASK_LAYER) @@ -150,7 +96,7 @@ icon_file = TESHARI_NECK_ICON if(!(check_obscured_slots() & ITEM_SLOT_NECK)) - overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = 'icons/mob/clothing/neck.dmi', override_icon = icon_file, mutant_styles = applied_styles, species = dna.species.species_clothing_path) + overlays_standing[NECK_LAYER] = wear_neck.build_worn_icon(default_layer = NECK_LAYER, default_icon_file = 'icons/mob/clothing/neck.dmi', override_file = icon_file, mutant_styles = applied_styles, species = dna.species.species_clothing_path) update_hud_neck(wear_neck) apply_overlay(NECK_LAYER) @@ -171,7 +117,8 @@ icon_file = TESHARI_BACK_ICON applied_styles = STYLE_TESHARI - overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/clothing/back.dmi', override_icon = icon_file, mutant_styles = applied_styles) + overlays_standing[BACK_LAYER] = back.build_worn_icon(default_layer = BACK_LAYER, default_icon_file = 'icons/mob/clothing/back.dmi', override_file = icon_file, mutant_styles = applied_styles) update_hud_back(back) apply_overlay(BACK_LAYER) +*/ diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_defense.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_defense.dm index 9b492022e49..82ec3fdb6f4 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_defense.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_defense.dm @@ -10,7 +10,7 @@ var/affects_leg = FALSE var/stun_time = 0 for(var/obj/item/bodypart/L in src.bodyparts) - if(L.status == BODYPART_ROBOTIC) + if(!IS_ORGANIC_LIMB(L)) if(!informed) to_chat(src, span_userdanger("You feel a sharp pain as your robotic limbs overload.")) informed = TRUE diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_update_icons.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_update_icons.dm deleted file mode 100644 index 0c9c4676ca7..00000000000 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/human_update_icons.dm +++ /dev/null @@ -1,403 +0,0 @@ -//used when putting/removing clothes that hide certain mutant body parts to just update those and not update the whole body. -/mob/living/carbon/human/proc/update_mutant_bodyparts(force_update=FALSE) - dna.species.handle_mutant_bodyparts(src, force_update = force_update) - update_body_parts() // basically a better and cooler handle_mutant_bodyparts (at least until handle_mutant_bodyparts is annihilated) -/mob/living/carbon/human/update_inv_w_uniform() - remove_overlay(UNIFORM_LAYER) - - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_ICLOTHING) + 1] - inv.update_icon() - - if(istype(w_uniform, /obj/item/clothing/under)) - var/obj/item/clothing/under/U = w_uniform - U.screen_loc = ui_iclothing - if(client && hud_used && hud_used.hud_shown) - if(hud_used.inventory_shown) - client.screen += w_uniform - update_observer_view(w_uniform,1) - - if(wear_suit && (wear_suit.flags_inv & HIDEJUMPSUIT)) - return - - var/applied_style = NONE - var/icon_file = w_uniform.worn_icon - if(dna.species.mutant_bodyparts["taur"]) - var/datum/sprite_accessory/taur/S = GLOB.sprite_accessories["taur"][dna.species.mutant_bodyparts["taur"][MUTANT_INDEX_NAME]] - if(w_uniform.mutant_variants & S.taur_mode) - applied_style = S.taur_mode - else if(w_uniform.mutant_variants & S.alt_taur_mode) - applied_style = S.alt_taur_mode - if(!applied_style) - if((w_uniform.mutant_variants & STYLE_VOX) && dna.species.id == "vox") - applied_style = STYLE_VOX - else if((DIGITIGRADE in dna.species.species_traits) && (w_uniform.mutant_variants & STYLE_DIGITIGRADE)) - applied_style = STYLE_DIGITIGRADE - else if(isteshari(src)) - applied_style = STYLE_TESHARI - - var/x_override - switch(applied_style) - if(STYLE_DIGITIGRADE) - icon_file = w_uniform.worn_icon_digi || 'modular_skyrat/master_files/icons/mob/clothing/uniform_digi.dmi' - if(STYLE_TAUR_SNAKE) - icon_file = w_uniform.worn_icon_taur_snake || 'modular_skyrat/master_files/icons/mob/clothing/uniform_taur_snake.dmi' - if(STYLE_TAUR_HOOF) - icon_file = w_uniform.worn_icon_taur_hoof || 'modular_skyrat/master_files/icons/mob/clothing/uniform_taur_hoof.dmi' - if(STYLE_TAUR_PAW) - icon_file = w_uniform.worn_icon_taur_paw || 'modular_skyrat/master_files/icons/mob/clothing/uniform_taur_paw.dmi' - if(STYLE_VOX) - icon_file = w_uniform.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/uniform.dmi' - if(STYLE_TESHARI) - icon_file = w_uniform.worn_icon_teshari || TESHARI_UNIFORM_ICON - - if(applied_style & STYLE_TAUR_ALL) - x_override = 64 - - var/target_overlay = U.icon_state - if(U.adjusted == ALT_STYLE) - target_overlay = "[target_overlay]_d" - - - var/mutable_appearance/uniform_overlay - - if(dna && dna.species.sexes && !applied_style) - if(body_type == FEMALE && U.female_sprite_flags != NO_FEMALE_UNIFORM) - uniform_overlay = U.build_worn_icon(default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, femaleuniform = U.female_sprite_flags, override_state = target_overlay, override_icon = icon_file, override_x_center = x_override, mutant_styles = applied_style, species = dna.species.species_clothing_path) - - if(!uniform_overlay) - uniform_overlay = U.build_worn_icon(default_layer = UNIFORM_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_state = target_overlay, override_icon = icon_file, override_x_center = x_override, mutant_styles = applied_style, species = dna.species.species_clothing_path) - - if(U.accessory_overlay) - var/special_accessory_style = FALSE - if(applied_style == STYLE_TESHARI) - var/static/list/teshari_accessory_states = icon_states(TESHARI_ACCESSORIES_ICON) - if(U.accessory_overlay.icon_state in teshari_accessory_states) - U.accessory_overlay.icon = TESHARI_ACCESSORIES_ICON - special_accessory_style = TRUE - // Apply an offset only if we didn't apply a special accessory style. - if(!special_accessory_style && (OFFSET_ACCESSORY in dna.species.offset_features)) - U.accessory_overlay.pixel_x = dna.species.offset_features[OFFSET_ACCESSORY][1] - U.accessory_overlay.pixel_y = dna.species.offset_features[OFFSET_ACCESSORY][2] - - if(OFFSET_UNIFORM in dna.species.offset_features) - uniform_overlay.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] - uniform_overlay.pixel_y += dna.species.offset_features[OFFSET_UNIFORM][2] - - overlays_standing[UNIFORM_LAYER] = uniform_overlay - - apply_overlay(UNIFORM_LAYER) - update_mutant_bodyparts() - -/mob/living/carbon/human/update_inv_wear_suit() - remove_overlay(SUIT_LAYER) - - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_OCLOTHING) + 1] - inv.update_icon() - - if(istype(wear_suit, /obj/item/clothing/suit)) - wear_suit.screen_loc = ui_oclothing - if(client && hud_used && hud_used.hud_shown) - if(hud_used.inventory_shown) - client.screen += wear_suit - update_observer_view(wear_suit,1) - var/icon_file = wear_suit.worn_icon - var/applied_style = NONE - if(dna.species.mutant_bodyparts["taur"]) - var/datum/sprite_accessory/taur/S = GLOB.sprite_accessories["taur"][dna.species.mutant_bodyparts["taur"][MUTANT_INDEX_NAME]] - if(wear_suit.mutant_variants & S.taur_mode) - applied_style = S.taur_mode - else if(wear_suit.mutant_variants & S.alt_taur_mode) - applied_style = S.alt_taur_mode - if(!applied_style) - if((wear_suit.mutant_variants & STYLE_VOX) && dna.species.id == "vox") - applied_style = STYLE_VOX - else if((DIGITIGRADE in dna.species.species_traits) && (wear_suit.mutant_variants & STYLE_DIGITIGRADE)) - applied_style = STYLE_DIGITIGRADE - else if(isteshari(src)) - applied_style = STYLE_TESHARI - - var/x_override - switch(applied_style) - if(STYLE_DIGITIGRADE) - icon_file = wear_suit.worn_icon_digi || 'modular_skyrat/master_files/icons/mob/clothing/suit_digi.dmi' - if(STYLE_TAUR_SNAKE) - icon_file = wear_suit.worn_icon_taur_snake || 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_snake.dmi' - if(STYLE_TAUR_HOOF) - icon_file = wear_suit.worn_icon_taur_hoof || 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_hoof.dmi' - if(STYLE_TAUR_PAW) - icon_file = wear_suit.worn_icon_taur_paw || 'modular_skyrat/master_files/icons/mob/clothing/suit_taur_paw.dmi' - if(STYLE_VOX) - icon_file = wear_suit.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/suit.dmi' - if(STYLE_TESHARI) - icon_file = wear_suit.worn_icon_teshari || TESHARI_SUIT_ICON - - if(applied_style & STYLE_TAUR_ALL) - x_override = 64 - - overlays_standing[SUIT_LAYER] = wear_suit.build_worn_icon(default_layer = SUIT_LAYER, default_icon_file = 'icons/mob/clothing/suit.dmi', override_icon = icon_file, override_x_center = x_override, mutant_styles = applied_style, species = dna.species.species_clothing_path) - var/mutable_appearance/suit_overlay = overlays_standing[SUIT_LAYER] - if(OFFSET_SUIT in dna.species.offset_features) - suit_overlay.pixel_x += dna.species.offset_features[OFFSET_SUIT][1] - suit_overlay.pixel_y += dna.species.offset_features[OFFSET_SUIT][2] - overlays_standing[SUIT_LAYER] = suit_overlay - update_hair() - update_mutant_bodyparts() - - apply_overlay(SUIT_LAYER) - -/mob/living/carbon/human/update_inv_shoes() - remove_overlay(SHOES_LAYER) - - if(dna.species.mutant_bodyparts["taur"]) - var/datum/sprite_accessory/taur/S = GLOB.sprite_accessories["taur"][dna.species.mutant_bodyparts["taur"][MUTANT_INDEX_NAME]] - if(S.hide_legs) - return - - if(num_legs<2) - return - - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_FEET) + 1] - inv.update_icon() - - if(shoes) - shoes.screen_loc = ui_shoes //move the item to the appropriate screen loc - if(client && hud_used && hud_used.hud_shown) - if(hud_used.inventory_shown) //if the inventory is open - client.screen += shoes //add it to client's screen - update_observer_view(shoes,1) - var/icon_file = shoes.worn_icon - var/applied_styles = NONE - if((shoes.mutant_variants & STYLE_VOX) && dna.species.id == "vox") - applied_styles = STYLE_VOX - icon_file = shoes.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/feet.dmi' - else if((DIGITIGRADE in dna.species.species_traits) && (shoes.mutant_variants & STYLE_DIGITIGRADE)) - applied_styles = STYLE_DIGITIGRADE - icon_file = shoes.worn_icon_digi || 'modular_skyrat/master_files/icons/mob/clothing/feet_digi.dmi' - else if(isteshari(src)) - applied_styles = STYLE_TESHARI - icon_file = shoes.worn_icon_teshari || TESHARI_FEET_ICON - - overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = 'icons/mob/clothing/feet.dmi', override_icon = icon_file, mutant_styles = applied_styles, species = dna.species.species_clothing_path) - var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER] - if(OFFSET_SHOES in dna.species.offset_features) - shoes_overlay.pixel_x += dna.species.offset_features[OFFSET_SHOES][1] - shoes_overlay.pixel_y += dna.species.offset_features[OFFSET_SHOES][2] - overlays_standing[SHOES_LAYER] = shoes_overlay - - apply_overlay(SHOES_LAYER) - -/mob/living/carbon/human/update_inv_gloves() - remove_overlay(GLOVES_LAYER) - - if(client && hud_used?.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1]) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_GLOVES) + 1] - inv.update_appearance() - - if(!gloves && blood_in_hands && (num_hands > 0) && !(NOBLOODOVERLAY in dna.species.species_traits)) - var/mutable_appearance/bloody_overlay = mutable_appearance('icons/effects/blood.dmi', "bloodyhands", -GLOVES_LAYER) - if(num_hands < 2) - if(has_left_hand(FALSE)) - bloody_overlay.icon_state = "bloodyhands_left" - else if(has_right_hand(FALSE)) - bloody_overlay.icon_state = "bloodyhands_right" - - overlays_standing[GLOVES_LAYER] = bloody_overlay - - var/mutable_appearance/gloves_overlay = overlays_standing[GLOVES_LAYER] - if(gloves) - gloves.screen_loc = ui_gloves - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) - client.screen += gloves - update_observer_view(gloves,1) - - var/icon_file = gloves.worn_icon - var/applied_styles = NONE - if((gloves.mutant_variants & STYLE_VOX) && dna.species.id == "vox") - applied_styles = STYLE_VOX - icon_file = gloves.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/hands.dmi' - else if(isteshari(src)) - applied_styles = STYLE_TESHARI - icon_file = gloves.worn_icon_teshari || TESHARI_HANDS_ICON - - overlays_standing[GLOVES_LAYER] = gloves.build_worn_icon(default_layer = GLOVES_LAYER, default_icon_file = 'icons/mob/clothing/hands.dmi', override_icon = icon_file, mutant_styles = applied_styles, species = dna.species.species_clothing_path) - gloves_overlay = overlays_standing[GLOVES_LAYER] - if(OFFSET_GLOVES in dna.species.offset_features) - gloves_overlay.pixel_x += dna.species.offset_features[OFFSET_GLOVES][1] - gloves_overlay.pixel_y += dna.species.offset_features[OFFSET_GLOVES][2] - overlays_standing[GLOVES_LAYER] = gloves_overlay - apply_overlay(GLOVES_LAYER) - -/mob/living/carbon/human/update_inv_glasses() - remove_overlay(GLASSES_LAYER) - - if(!get_bodypart(BODY_ZONE_HEAD)) //decapitated - return - - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EYES) + 1] - inv.update_icon() - - if(glasses) - glasses.screen_loc = ui_glasses //...draw the item in the inventory screen - if(client && hud_used && hud_used.hud_shown) - if(hud_used.inventory_shown) //if the inventory is open ... - client.screen += glasses //Either way, add the item to the HUD - update_observer_view(glasses,1) - if(!(head && (head.flags_inv & HIDEEYES)) && !(wear_mask && (wear_mask.flags_inv & HIDEEYES))) - var/icon_file = glasses.worn_icon - var/applied_style = NONE - if(dna.species.id == SPECIES_VOX) - applied_style |= STYLE_VOX - icon_file = glasses.worn_icon_vox || 'modular_skyrat/master_files/icons/mob/clothing/species/vox/eyes.dmi' - else if(isteshari(src)) - applied_style |= STYLE_TESHARI - icon_file = glasses.worn_icon_teshari ||TESHARI_EYES_ICON - overlays_standing[GLASSES_LAYER] = glasses.build_worn_icon(default_layer = GLASSES_LAYER, default_icon_file = 'icons/mob/clothing/eyes.dmi', override_icon = icon_file, mutant_styles = applied_style, species = dna.species.species_clothing_path) - - var/mutable_appearance/glasses_overlay = overlays_standing[GLASSES_LAYER] - if(glasses_overlay) - if(OFFSET_GLASSES in dna.species.offset_features) - glasses_overlay.pixel_x += dna.species.offset_features[OFFSET_GLASSES][1] - glasses_overlay.pixel_y += dna.species.offset_features[OFFSET_GLASSES][2] - overlays_standing[GLASSES_LAYER] = glasses_overlay - apply_overlay(GLASSES_LAYER) - -/mob/living/carbon/human/update_inv_ears() - remove_overlay(EARS_LAYER) - - if(!get_bodypart(BODY_ZONE_HEAD)) //decapitated - return - - if(client && hud_used) - var/atom/movable/screen/inventory/inv = hud_used.inv_slots[TOBITSHIFT(ITEM_SLOT_EARS) + 1] - inv.update_appearance() - - if(ears) - ears.screen_loc = ui_ears //move the item to the appropriate screen loc - if(client && hud_used?.hud_shown) - if(hud_used.inventory_shown) //if the inventory is open - client.screen += ears //add it to the client's screen - update_observer_view(ears,1) - overlays_standing[EARS_LAYER] = ears.build_worn_icon(default_layer = EARS_LAYER, default_icon_file = 'icons/mob/clothing/ears.dmi', species = dna.species.species_clothing_path) - var/mutable_appearance/ears_overlay = overlays_standing[EARS_LAYER] - if(OFFSET_EARS in dna.species.offset_features) - ears_overlay.pixel_x += dna.species.offset_features[OFFSET_EARS][1] - ears_overlay.pixel_y += dna.species.offset_features[OFFSET_EARS][2] - overlays_standing[EARS_LAYER] = ears_overlay - apply_overlay(EARS_LAYER) - -/obj/item/proc/build_worn_icon(default_layer = 0, default_icon_file = null, isinhands = FALSE, femaleuniform = NO_FEMALE_UNIFORM, override_state = null, override_icon = null, override_x_center = null, override_y_center = null, mutant_styles = NONE, species = null) - - //Find a valid icon_state from variables+arguments - var/t_state - if(override_state) - t_state = override_state - else - t_state = !isinhands ? (worn_icon_state ? worn_icon_state : icon_state) : (inhand_icon_state ? inhand_icon_state : icon_state) - - //Find a valid icon file from variables+arguments - var/file_to_use - if(override_icon) - file_to_use = override_icon - else - file_to_use = !isinhands ? (worn_icon ? worn_icon : default_icon_file) : default_icon_file - - //Find a valid layer from variables+arguments - var/layer2use = alternate_worn_layer ? alternate_worn_layer : default_layer - - var/mutable_appearance/standing - if(species) - var/default_file = !isinhands ? (worn_icon ? worn_icon : default_icon_file) : default_icon_file - standing = wear_species_version(file_to_use, t_state, layer2use, species, default_file) - else if(femaleuniform) - standing = wear_female_version(t_state, file_to_use, layer2use, femaleuniform, greyscale_colors) //should layer2use be in sync with the adjusted value below? needs testing - shiz - if(!standing) - standing = mutable_appearance(file_to_use, t_state, -layer2use) - - //Get the overlays for this item when it's being worn - //eg: ammo counters, primed grenade flashes, etc. - var/list/worn_overlays = worn_overlays(standing, isinhands, file_to_use, mutant_styles) - if(worn_overlays && worn_overlays.len) - standing.overlays.Add(worn_overlays) - - var/x_center - var/y_center - if(override_x_center) - x_center = override_x_center - else - x_center = isinhands ? inhand_x_dimension : worn_x_dimension - if(override_y_center) - y_center = override_y_center - else - y_center = isinhands ? inhand_y_dimension : worn_y_dimension - standing = center_image(standing, x_center, y_center) - - //Worn offsets - var/list/offsets = get_worn_offsets(isinhands) - standing.pixel_x += offsets[1] - standing.pixel_y += offsets[2] - - standing.alpha = alpha - standing.color = color - - return standing - -//Removed the icon cache from this, as its not feasible to make a cache for the plathora of customizable species and markings -/mob/living/carbon/human/update_body_parts() - //CHECK FOR UPDATE - var/oldkey = icon_render_key - icon_render_key = generate_icon_render_key() - if(oldkey == icon_render_key) - return - - remove_overlay(BODYPARTS_LAYER) - - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - BP.update_limb() - - var/is_taur = FALSE - if(dna?.species.mutant_bodyparts["taur"]) - var/datum/sprite_accessory/taur/S = GLOB.sprite_accessories["taur"][dna.species.mutant_bodyparts["taur"][MUTANT_INDEX_NAME]] - if(S.hide_legs) - is_taur = TRUE - - //GENERATE NEW LIMBS - var/list/new_limbs = list() - var/draw_features = !HAS_TRAIT(src, TRAIT_INVISIBLE_MAN) - for(var/X in bodyparts) - var/obj/item/bodypart/BP = X - if(is_taur && (BP.body_part == LEG_LEFT || BP.body_part == LEG_RIGHT)) - continue - - new_limbs += BP.get_limb_icon(draw_external_organs = draw_features) - if(new_limbs.len) - overlays_standing[BODYPARTS_LAYER] = new_limbs - - apply_overlay(BODYPARTS_LAYER) - update_damage_overlays() - update_wound_overlays() - -/obj/item/proc/wear_species_version(file_to_use, state_to_use, layer, species, default_file_to_use) - return - -/** - * Generates a species-specific clothing icon. - * - * Arguments: - * * file_to_use - Icon file to use for clothing sprite - * * state_to_use - Icon state to use within file_to_use - * * layer - specifies the sprite layer the sprite will be on - * * species - the specific species the icon will be generated for - * * default_file_to_use - default fallback icon to use - */ -/obj/item/clothing/wear_species_version(file_to_use, state_to_use, layer, species, default_file_to_use) - LAZYINITLIST(GLOB.species_clothing_icons[species]) - var/icon/species_clothing_icon = GLOB.species_clothing_icons[species][get_species_clothing_key(file_to_use, state_to_use)] // Check if the icon we want already exists - if(!species_clothing_icon) // Create standing/laying icons if they don't exist - generate_species_clothing(file_to_use, state_to_use, species, default_file_to_use) - return mutable_appearance(GLOB.species_clothing_icons[species][get_species_clothing_key(file_to_use, state_to_use)], layer = -layer) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm index 0c524cda524..bb05df9fc22 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species.dm @@ -4,8 +4,6 @@ GLOBAL_LIST_EMPTY(customizable_races) mutant_bodyparts = list() ///Self explanatory var/can_have_genitals = TRUE - ///Override of icon file of which we're taking the icons from for our limbs - var/limbs_icon ///A list of actual body markings on the owner of the species. Associative lists with keys named by limbs defines, pointing to a list with names and colors for the marking to be rendered. This is also stored in the DNA var/list/list/body_markings = list() ///Override of the eyes icon file, used for Vox and maybe more in the future - The future is now, with Teshari using it too @@ -34,30 +32,6 @@ GLOBAL_LIST_EMPTY(customizable_races) var/obj/item/bodypart/head/HD = H.get_bodypart(BODY_ZONE_HEAD) - //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 - var/not_digitigrade = TRUE - for(var/X in H.bodyparts) - var/obj/item/bodypart/O = X - if(!O.use_digitigrade) - continue - not_digitigrade = FALSE - if(!(DIGITIGRADE in species_traits)) //Someone cut off a digitigrade leg and tacked it on - species_traits += DIGITIGRADE - var/should_be_squished = FALSE - if((H.wear_suit && H.wear_suit.flags_inv & HIDEJUMPSUIT && !(H.wear_suit.mutant_variants & STYLE_DIGITIGRADE) && (H.wear_suit.body_parts_covered & LEGS)) || (H.w_uniform && (H.w_uniform.body_parts_covered & LEGS) && !(H.w_uniform.mutant_variants & STYLE_DIGITIGRADE))) - should_be_squished = TRUE - if(O.use_digitigrade == FULL_DIGITIGRADE && should_be_squished) - O.use_digitigrade = SQUISHED_DIGITIGRADE - update_needed = TRUE - else if(O.use_digitigrade == SQUISHED_DIGITIGRADE && !should_be_squished) - O.use_digitigrade = FULL_DIGITIGRADE - update_needed = TRUE - if(update_needed) - H.update_body_parts() - if(not_digitigrade && (DIGITIGRADE in species_traits)) //Curse is lifted - species_traits -= DIGITIGRADE - if(!mutant_bodyparts) H.remove_overlay(BODY_BEHIND_LAYER) H.remove_overlay(BODY_ADJ_LAYER) @@ -93,7 +67,7 @@ GLOBAL_LIST_EMPTY(customizable_races) H.remove_overlay(BODY_FRONT_LAYER) H.remove_overlay(BODY_FRONT_UNDER_CLOTHES) - var/g = (H.body_type == FEMALE) ? "f" : "m" + var/g = (H.physique == FEMALE) ? "f" : "m" for(var/bodypart in bodyparts_to_add) var/datum/sprite_accessory/S = bodypart var/key = S.key @@ -363,6 +337,7 @@ GLOBAL_LIST_EMPTY(customizable_races) /datum/species/proc/get_random_body_markings(list/features) //Needs features to base the colour off of return list() +/* /datum/species/proc/on_species_gain(mob/living/carbon/C, datum/species/old_species) // Drop the items the new species can't wear if((AGENDER in species_traits)) @@ -375,14 +350,6 @@ GLOBAL_LIST_EMPTY(customizable_races) if(C.hud_used) C.hud_used.update_locked_slots() - fix_non_native_limbs(C) - - // this needs to be FIRST because qdel calls update_body which checks if we have DIGITIGRADE legs or not and if not then removes DIGITIGRADE from species_traits - if(C.dna.species.mutant_bodyparts["legs"] && C.dna.species.mutant_bodyparts["legs"][MUTANT_INDEX_NAME] == "Digitigrade Legs") - species_traits += DIGITIGRADE - if(DIGITIGRADE in species_traits) - C.Digitigrade_Leg_Swap(FALSE) - C.mob_biotypes = inherent_biotypes regenerate_organs(C,old_species) @@ -442,21 +409,13 @@ GLOBAL_LIST_EMPTY(customizable_races) fly = new fly.Grant(C) - var/robotic_limbs - if(ROBOTIC_LIMBS in species_traits) - robotic_limbs = TRUE for(var/obj/item/bodypart/B in C.bodyparts) B.alpha = specific_alpha - if(robotic_limbs) - B.change_bodypart_status(BODYPART_ROBOTIC, FALSE, TRUE) - B.organic_render = TRUE - else if (B.status == BODYPART_ORGANIC) - B.organic_render = TRUE C.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/species, multiplicative_slowdown=speedmod) SEND_SIGNAL(C, COMSIG_SPECIES_GAIN, src, old_species) - +*/ /datum/species/proc/handle_body(mob/living/carbon/human/species_human) species_human.remove_overlay(BODY_LAYER) @@ -505,7 +464,7 @@ GLOBAL_LIST_EMPTY(customizable_races) var/mutable_appearance/underwear_overlay if(underwear) var/icon_state = underwear.icon_state - if(underwear.has_digitigrade && (DIGITIGRADE in species_traits)) + if(underwear.has_digitigrade && (bodytype & BODYTYPE_DIGITIGRADE)) icon_state += "_d" underwear_overlay = mutable_appearance(underwear.icon, icon_state, -BODY_LAYER) if(!underwear.use_static) @@ -529,7 +488,7 @@ GLOBAL_LIST_EMPTY(customizable_races) if(socks) var/mutable_appearance/socks_overlay var/icon_state = socks.icon_state - if(DIGITIGRADE in species_traits) + if((bodytype & BODYTYPE_DIGITIGRADE)) icon_state += "_d" socks_overlay = mutable_appearance(socks.icon, icon_state, -BODY_LAYER) if(!socks.use_static) @@ -592,7 +551,7 @@ GLOBAL_LIST_EMPTY(customizable_races) T.wagging = FALSE H.update_body() -/datum/species/regenerate_organs(mob/living/carbon/C,datum/species/old_species,replace_current=TRUE,list/excluded_zones) +/datum/species/regenerate_organs(mob/living/carbon/C, datum/species/old_species, replace_current = TRUE, list/excluded_zones, visual_only = FALSE) . = ..() var/robot_organs = (ROBOTIC_DNA_ORGANS in C.dna.species.species_traits) for(var/key in C.dna.mutant_bodyparts) @@ -611,11 +570,6 @@ GLOBAL_LIST_EMPTY(customizable_races) path.build_from_dna(C.dna, key) path.Insert(C, 0, FALSE) -/datum/species/on_species_loss(mob/living/carbon/C, datum/species/old_species, pref_load) - . = ..() - if(ROBOTIC_LIMBS in species_traits) - for(var/obj/item/bodypart/B in C.bodyparts) - B.change_bodypart_status(BODYPART_ORGANIC, FALSE, TRUE) /datum/species/proc/spec_revival(mob/living/carbon/human/H) return diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/akula.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/akula.dm index bf7f9f11829..c2092b6407a 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/akula.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/akula.dm @@ -32,7 +32,15 @@ disliked_food = CLOTH | DAIRY toxic_food = TOXIC changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/akula, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/akula, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/akula, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/akula, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/akula, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/akula, + ) /datum/species/akula/get_random_features() var/list/returned = MANDATORY_FEATURE_LIST diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/aquatic.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/aquatic.dm index 9ed78bd97ce..bf43f06a096 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/aquatic.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/aquatic.dm @@ -35,8 +35,16 @@ disliked_food = CLOTH | GROSS toxic_food = TOXIC changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/akula_parts_greyscale.dmi' - limbs_id = SPECIES_AKULA + examine_limb_id = SPECIES_AKULA + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/akula, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/akula, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/akula, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/akula, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/akula, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/akula, + ) /datum/species/aquatic/get_random_features() var/list/returned = MANDATORY_FEATURE_LIST diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/dwarf.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/dwarf.dm index 0d3cc341b50..faf66dcc86d 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/dwarf.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/dwarf.dm @@ -1,7 +1,7 @@ /datum/species/dwarf name = "Dwarf" id = SPECIES_DWARF - limbs_id = SPECIES_HUMAN + examine_limb_id = SPECIES_HUMAN default_color = "#FFFFFF" say_mod = "bellows" species_traits = list( diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm index 1772a7d47f4..fb25af232c0 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/ghoul.dm @@ -1,7 +1,7 @@ /datum/species/ghoul name = "Ghoul" id = SPECIES_GHOUL - limbs_id = "ghoul" + examine_limb_id = "ghoul" say_mod = "rasps" default_color = "#c4af7c" species_traits = list(NOEYESPRITES, DYNCOLORS, HAS_FLESH, HAS_BONE, HAIR, FACEHAIR) @@ -46,15 +46,13 @@ punchdamagehigh = 5 //highest possible punch damage bodytemp_normal = T20C changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' - - bodypart_overides = list( - BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/ghoul, - BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/ghoul, - BODY_ZONE_HEAD = /obj/item/bodypart/head, - BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/ghoul, - BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/ghoul, - BODY_ZONE_CHEST = /obj/item/bodypart/chest, + bodypart_overrides = list( + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/ghoul, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/ghoul, + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/ghoul, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/ghoul, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/ghoul, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/ghoul, ) //the chest and head cannot be turned into meat //i dont have to worry about sprites due to limbs_icon, thank god @@ -77,12 +75,12 @@ set_ghoul_color(H) // 2) BODYPARTS - C.part_default_head = /obj/item/bodypart/head - C.part_default_chest = /obj/item/bodypart/chest - C.part_default_l_arm = /obj/item/bodypart/l_arm/ghoul - C.part_default_r_arm = /obj/item/bodypart/r_arm/ghoul - C.part_default_l_leg = /obj/item/bodypart/l_leg/ghoul - C.part_default_r_leg = /obj/item/bodypart/r_leg/ghoul + C.part_default_head = /obj/item/bodypart/head/mutant/ghoul + C.part_default_chest = /obj/item/bodypart/chest/mutant/ghoul + C.part_default_l_arm = /obj/item/bodypart/l_arm/mutant/ghoul + C.part_default_r_arm = /obj/item/bodypart/r_arm/mutant/ghoul + C.part_default_l_leg = /obj/item/bodypart/l_leg/mutant/ghoul + C.part_default_r_leg = /obj/item/bodypart/r_leg/mutant/ghoul C.ReassignForeignBodyparts() /datum/species/proc/set_ghoul_color(mob/living/carbon/human/H) @@ -155,7 +153,7 @@ return FALSE // Robot Arms Fail - if (affecting.status != BODYPART_ORGANIC) + if (!IS_ORGANIC_LIMB(affecting)) to_chat(user, "That thing is on there good. It's not coming off with a gentle tug.") return FALSE @@ -211,72 +209,6 @@ return ..() // TRUE FALSE -//LIMBS - -/obj/item/bodypart/r_arm/ghoul - icon = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' - -/obj/item/bodypart/l_arm/ghoul - icon = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' - -/obj/item/bodypart/r_leg/ghoul - icon = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' - -/obj/item/bodypart/l_leg/ghoul - icon = 'modular_skyrat/master_files/icons/mob/species/ghoul_bodyparts.dmi' - -/obj/item/bodypart/r_arm/ghoul/drop_limb(special) - //amCondemned = TRUE - //var/mob/owner_cache = owner - ..() // Create Meat, Remove Limb - var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage - if (percentHealth > 0) - // Create Meat - var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) - - . = newMeat // Return MEAT - - qdel(src) - -/obj/item/bodypart/l_arm/ghoul/drop_limb(special) - //amCondemned = TRUE - //var/mob/owner_cache = owner - ..() // Create Meat, Remove Limb - var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage - if (percentHealth > 0) - // Create Meat - var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) - - . = newMeat // Return MEAT - - qdel(src) - -/obj/item/bodypart/r_leg/ghoul/drop_limb(special) - //amCondemned = TRUE - //var/mob/owner_cache = owner - ..() // Create Meat, Remove Limb - var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage - if (percentHealth > 0) - // Create Meat - var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) - - . = newMeat // Return MEAT - - qdel(src) - -/obj/item/bodypart/l_leg/ghoul/drop_limb(special) - //amCondemned = TRUE - //var/mob/owner_cache = owner - ..() // Create Meat, Remove Limb - var/percentHealth = 1 - (brute_dam + burn_dam) / max_damage - if (percentHealth > 0) - // Create Meat - var/obj/item/food/meat/slab/newMeat = new /obj/item/food/meat/slab(src.loc) - - . = newMeat // Return MEAT - - qdel(src) - /mob/living/carbon // Type References for Bodyparts var/obj/item/bodypart/head/part_default_head = /obj/item/bodypart/head diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage.dm index 2fe1a6c7266..f80105122f6 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/hemophage.dm @@ -26,7 +26,7 @@ mutantheart = /obj/item/organ/heart/vampire mutanttongue = /obj/item/organ/tongue/vampire changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_id = SPECIES_HUMAN + examine_limb_id = SPECIES_HUMAN skinned_type = /obj/item/stack/sheet/animalhide/human /// Some starter text sent to the vampire initially, because vampires have shit to do to stay alive. var/info_text = "You are a Hemophage. You will slowly but constantly lose blood if outside of a closet-like object. If inside a closet-like object, you will slowly heal. You may gain more blood by grabbing a live victim and using your drain ability." @@ -63,7 +63,7 @@ if(vampire.stat == DEAD) return if(istype(vampire.loc, /obj/structure/closet) && !istype(vampire.loc, /obj/structure/closet/body_bag)) - vampire.heal_overall_damage(1.5 * delta_time, 1.5 * delta_time, 0, BODYPART_ORGANIC) // Fast, but not as fast due to them being able to use normal lockers. + vampire.heal_overall_damage(1.5 * delta_time, 1.5 * delta_time, 0, BODYTYPE_ORGANIC) // Fast, but not as fast due to them being able to use normal lockers. vampire.adjustToxLoss(-1 * delta_time) // 50% base speed to keep it fair. vampire.adjustOxyLoss(-2 * delta_time) vampire.adjustCloneLoss(-0.5 * delta_time) // HARDMODE DAMAGE diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/humanoid.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/humanoid.dm index cc36fababee..4b3eaa30529 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/humanoid.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/humanoid.dm @@ -28,4 +28,4 @@ ) changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT payday_modifier = 0.75 - limbs_id = SPECIES_HUMAN + examine_limb_id = SPECIES_HUMAN diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/insect.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/insect.dm index 0b21e11bf8a..152b2229afb 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/insect.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/insect.dm @@ -39,5 +39,12 @@ toxic_food = DAIRY payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/insect_parts_greyscale.dmi' - limbs_id = SPECIES_INSECT + examine_limb_id = SPECIES_INSECT + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/insect, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/insect, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/insect, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/insect, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/insect, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/insect, + ) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm index 718998f15a5..b3e2c45ff5f 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/lizard.dm @@ -2,7 +2,6 @@ mutant_bodyparts = list() species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAS_FLESH,HAS_BONE,HAIR,FACEHAIR) default_mutant_bodyparts = list("tail" = ACC_RANDOM, "snout" = ACC_RANDOM, "spines" = ACC_RANDOM, "frills" = ACC_RANDOM, "horns" = ACC_RANDOM, "body_markings" = ACC_RANDOM, "legs" = "Digitigrade Legs", "taur" = "None", "wings" = "None") - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/lizard_parts_greyscale.dmi' learnable_languages = list(/datum/language/common, /datum/language/draconic) payday_modifier = 0.75 @@ -28,6 +27,6 @@ return returned /datum/species/lizard/ashwalker - species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE,HAS_FLESH,HAS_BONE,NO_UNDERWEAR,HAIR,FACEHAIR) + species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAS_FLESH,HAS_BONE,NO_UNDERWEAR,HAIR,FACEHAIR) always_customizable = TRUE learnable_languages = list(/datum/language/draconic) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mammal.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mammal.dm index 2bcc543edb9..18645576a39 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mammal.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/mammal.dm @@ -39,7 +39,15 @@ toxic_food = TOXIC payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant, + ) /datum/species/mammal/get_random_features() var/list/returned = MANDATORY_FEATURE_LIST diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/moth.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/moth.dm index cc169a21bf1..91b4cabbc22 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/moth.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/moth.dm @@ -18,7 +18,6 @@ TRAIT_CAN_STRIP, TRAIT_CAN_USE_FLIGHT_POTION, ) - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/moth_parts_greyscale.dmi' learnable_languages = list(/datum/language/common, /datum/language/moffic) payday_modifier = 0.75 diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/podweak.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/podweak.dm index 166d63ece3b..6137c8c995a 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/podweak.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/podweak.dm @@ -9,7 +9,7 @@ /datum/species/pod/podweak name = "Podperson" id = SPECIES_PODPERSON_WEAK - limbs_id = SPECIES_PODPERSON + examine_limb_id = SPECIES_PODPERSON species_traits = list( MUTCOLORS, EYECOLOR, @@ -36,7 +36,7 @@ if(H.nutrition > NUTRITION_LEVEL_ALMOST_FULL) H.set_nutrition(NUTRITION_LEVEL_ALMOST_FULL) if(light_amount > 0.2) //if there's enough light, heal - H.heal_overall_damage(0.2 * delta_time, 0.2 * delta_time, 0, BODYPART_ORGANIC) + H.heal_overall_damage(0.2 * delta_time, 0.2 * delta_time, 0) H.adjustToxLoss(-0.2 * delta_time) H.adjustOxyLoss(-0.2 * delta_time) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic.dm deleted file mode 100644 index c904066c405..00000000000 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic.dm +++ /dev/null @@ -1,284 +0,0 @@ -/datum/species/robotic - say_mod = "beeps" - default_color = "#00FF00" - inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID - inherent_traits = list( - TRAIT_CAN_STRIP, - TRAIT_ADVANCEDTOOLUSER, - TRAIT_RADIMMUNE, - TRAIT_VIRUSIMMUNE, - TRAIT_NOBREATH, - TRAIT_TOXIMMUNE, - TRAIT_NOCLONELOSS, - TRAIT_GENELESS, - TRAIT_STABLEHEART, - TRAIT_LIMBATTACHMENT, - TRAIT_NO_HUSK, - TRAIT_OXYIMMUNE - ) - mutant_bodyparts = list() - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - reagent_flags = PROCESS_SYNTHETIC - burnmod = 1.3 // Every 0.1% is 10% above the base. - brutemod = 1.3 - coldmod = 1.2 - heatmod = 2 - siemens_coeff = 1.4 //Not more because some shocks will outright crit you, which is very unfun - payday_modifier = 0.5 //Robots are cheep labor - species_language_holder = /datum/language_holder/machine - mutant_organs = list(/obj/item/organ/cyberimp/arm/power_cord) - mutantbrain = /obj/item/organ/brain/ipc_positron - mutantstomach = /obj/item/organ/stomach/robot_ipc - mutantears = /obj/item/organ/ears/robot_ipc - mutanttongue = /obj/item/organ/tongue/robot_ipc - mutanteyes = /obj/item/organ/eyes/robot_ipc - mutantlungs = /obj/item/organ/lungs/robot_ipc - mutantheart = /obj/item/organ/heart/robot_ipc - mutantliver = /obj/item/organ/liver/robot_ipc - exotic_blood = /datum/reagent/fuel/oil - learnable_languages = list(/datum/language/common, /datum/language/machine) - -/datum/species/robotic/spec_life(mob/living/carbon/human/H) - if(H.stat == SOFT_CRIT || H.stat == HARD_CRIT) - H.adjustFireLoss(1) //Still deal some damage in case a cold environment would be preventing us from the sweet release to robot heaven - H.adjust_bodytemperature(13) //We're overheating!! - if(prob(10)) - to_chat(H, span_warning("Alert: Critical damage taken! Cooling systems failing!")) - do_sparks(3, TRUE, H) - -/datum/species/robotic/spec_revival(mob/living/carbon/human/H) - playsound(H.loc, 'sound/machines/chime.ogg', 50, 1, -1) - H.visible_message(span_notice("[H]'s monitor lights up."), span_notice("All systems nominal. You're back online!")) - -/datum/species/robotic/on_species_gain(mob/living/carbon/human/C) - . = ..() - var/obj/item/organ/appendix/appendix = C.getorganslot(ORGAN_SLOT_APPENDIX) - if(appendix) - appendix.Remove(C) - qdel(appendix) - -/datum/species/robotic/random_name(gender,unique,lastname) - var/randname = pick(GLOB.posibrain_names) - randname = "[randname]-[rand(100, 999)]" - return randname - -/datum/species/robotic/get_types_to_preload() - return ..() - typesof(/obj/item/organ/cyberimp/arm/power_cord) // Don't cache things that lead to hard deletions. - -/datum/species/robotic/ipc - name = "I.P.C." - id = SPECIES_IPC - species_traits = list( - ROBOTIC_DNA_ORGANS, - EYECOLOR, - LIPS, - HAIR, - NOEYESPRITES, - ROBOTIC_LIMBS, - NOTRANSSTING, - ) - mutant_bodyparts = list() - default_mutant_bodyparts = list( - "ipc_antenna" = ACC_RANDOM, - "ipc_screen" = ACC_RANDOM, - "ipc_chassis" = ACC_RANDOM - ) - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/ipc_parts.dmi' - hair_alpha = 210 - sexes = 0 - var/datum/action/innate/monitor_change/screen - var/saved_screen = "Blank" - -/datum/species/robotic/ipc/spec_revival(mob/living/carbon/human/H) - . = ..() - //TODO: fix this - /*H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = "BSOD" - sleep(3 SECONDS)*/ - H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = saved_screen - -/datum/species/robotic/ipc/spec_death(gibbed, mob/living/carbon/human/H) - . = ..() - saved_screen = H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] - //TODO: fix this - /*H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = "BSOD" - sleep(3 SECONDS)*/ - H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = "Blank" - -/datum/species/robotic/ipc/on_species_gain(mob/living/carbon/human/C) - . = ..() - if(!screen) - screen = new - screen.Grant(C) - var/chassis = C.dna.mutant_bodyparts["ipc_chassis"] - if(!chassis) - return - var/datum/sprite_accessory/ipc_chassis/chassis_of_choice = GLOB.sprite_accessories["ipc_chassis"][chassis[MUTANT_INDEX_NAME]] - if(chassis_of_choice) - limbs_id = chassis_of_choice.icon_state - if(chassis_of_choice.color_src) - species_traits += MUTCOLORS - C.update_body() - -/datum/species/robotic/ipc/on_species_loss(mob/living/carbon/human/C) - . = ..() - if(screen) - screen.Remove(C) - ..() - -/datum/action/innate/monitor_change - name = "Screen Change" - check_flags = AB_CHECK_CONSCIOUS - icon_icon = 'icons/mob/actions/actions_silicon.dmi' - button_icon_state = "drone_vision" - -/datum/action/innate/monitor_change/Activate() - var/mob/living/carbon/human/H = owner - var/new_ipc_screen = input(usr, "Choose your character's screen:", "Monitor Display") as null|anything in GLOB.sprite_accessories["ipc_screen"] - if(!new_ipc_screen) - return - H.dna.species.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = new_ipc_screen - H.update_body() - -/datum/species/robotic/synthliz - name = "Synthetic Lizardperson" - id = SPECIES_SYNTHLIZ - species_traits = list( - ROBOTIC_DNA_ORGANS, - MUTCOLORS,EYECOLOR, - LIPS, - HAIR, - ROBOTIC_LIMBS, - NOTRANSSTING, - ) - mutant_bodyparts = list() - default_mutant_bodyparts = list( - "ipc_antenna" = ACC_RANDOM, - "tail" = ACC_RANDOM, - "snout" = ACC_RANDOM, - "legs" = "Digitigrade Legs", - "taur" = "None", - "wings" = "None" - ) - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/synthliz_parts_greyscale.dmi' - -/datum/species/robotic/synthliz/get_random_body_markings(list/passed_features) - var/name = pick("Synth Pecs Lights", "Synth Scutes", "Synth Pecs") - var/datum/body_marking_set/BMS = GLOB.body_marking_sets[name] - var/list/markings = list() - if(BMS) - markings = assemble_body_markings_from_set(BMS, passed_features, src) - return markings - -/datum/species/robotic/synthetic_mammal - name = "Synthetic Anthromorph" - id = SPECIES_SYNTHMAMMAL - say_mod = "states" - inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID - default_color = "#4B4B4B" - species_traits = list( - ROBOTIC_DNA_ORGANS, - MUTCOLORS,EYECOLOR, - LIPS,HAIR, - ROBOTIC_LIMBS, - NOTRANSSTING, - FACEHAIR - ) - default_mutant_bodyparts = list( - "tail" = ACC_RANDOM, - "snout" = ACC_RANDOM, - "horns" = "None", - "ears" = ACC_RANDOM, - "legs" = ACC_RANDOM, - "taur" = "None", - "fluff" = "None", - "wings" = "None", - "head_acc" = "None", - "neck_acc" = "None" - ) - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/synthmammal_parts_greyscale.dmi' - -/datum/species/robotic/synthetic_mammal/get_random_features() - var/list/returned = MANDATORY_FEATURE_LIST - var/main_color - var/second_color - var/third_color - var/random = rand(1,7) - switch(random) - if(1) - main_color = "#FFFFFF" - second_color = "#333333" - third_color = "#333333" - if(2) - main_color = "#FFFFDD" - second_color = "#DD6611" - third_color = "#AA5522" - if(3) - main_color = "#DD6611" - second_color = "#FFFFFF" - third_color = "#DD6611" - if(4) - main_color = "#CCCCCC" - second_color = "#FFFFFF" - third_color = "#FFFFFF" - if(5) - main_color = "#AA5522" - second_color = "#CC8833" - third_color = "#FFFFFF" - if(6) - main_color = "#FFFFDD" - second_color = "#FFEECC" - third_color = "#FFDDBB" - if(7) //Oh no you've rolled the sparkle dog - main_color = "#[random_color()]" - second_color = "#[random_color()]" - third_color = "#[random_color()]" - returned["mcolor"] = main_color - returned["mcolor2"] = second_color - returned["mcolor3"] = third_color - return returned - -/datum/species/robotic/synthetic_mammal/get_random_body_markings(list/passed_features) - var/name = "None" - var/list/candidates = GLOB.body_marking_sets.Copy() - for(var/candi in candidates) - var/datum/body_marking_set/setter = GLOB.body_marking_sets[candi] - if(setter.recommended_species && !(id in setter.recommended_species)) - candidates -= candi - if(length(candidates)) - name = pick(candidates) - var/datum/body_marking_set/BMS = GLOB.body_marking_sets[name] - var/list/markings = list() - if(BMS) - markings = assemble_body_markings_from_set(BMS, passed_features, src) - return markings - -/datum/species/robotic/synthetic_human - name = "Synthetic Humanoid" - id = SPECIES_SYNTHHUMAN - say_mod = "states" - inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID - species_traits = list( - ROBOTIC_DNA_ORGANS, - EYECOLOR, - LIPS, - HAIR, - ROBOTIC_LIMBS, - FACEHAIR, - NOTRANSSTING - ) - default_mutant_bodyparts = list( - "tail" = "None", - "snout" = "None", - "ears" = "None", - "wings" = "None", - "taur" = "None", - "horns" = "None" - ) - use_skintones = TRUE - changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - reagent_flags = PROCESS_SYNTHETIC - species_language_holder = /datum/language_holder/machine - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/synthhuman_parts_greyscale.dmi' diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/_robotic.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/_robotic.dm new file mode 100644 index 00000000000..75071854d65 --- /dev/null +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/_robotic.dm @@ -0,0 +1,66 @@ +/datum/species/robotic + say_mod = "beeps" + default_color = "#00FF00" + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID + inherent_traits = list( + TRAIT_CAN_STRIP, + TRAIT_ADVANCEDTOOLUSER, + TRAIT_RADIMMUNE, + TRAIT_VIRUSIMMUNE, + TRAIT_NOBREATH, + TRAIT_TOXIMMUNE, + TRAIT_NOCLONELOSS, + TRAIT_GENELESS, + TRAIT_STABLEHEART, + TRAIT_LIMBATTACHMENT, + TRAIT_NO_HUSK, + TRAIT_OXYIMMUNE + ) + mutant_bodyparts = list() + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + reagent_flags = PROCESS_SYNTHETIC + burnmod = 1.3 // Every 0.1% is 10% above the base. + brutemod = 1.3 + coldmod = 1.2 + heatmod = 2 + siemens_coeff = 1.4 //Not more because some shocks will outright crit you, which is very unfun + payday_modifier = 0.5 //Robots are cheep labor + species_language_holder = /datum/language_holder/machine + mutant_organs = list(/obj/item/organ/cyberimp/arm/power_cord) + mutantbrain = /obj/item/organ/brain/ipc_positron + mutantstomach = /obj/item/organ/stomach/robot_ipc + mutantears = /obj/item/organ/ears/robot_ipc + mutanttongue = /obj/item/organ/tongue/robot_ipc + mutanteyes = /obj/item/organ/eyes/robot_ipc + mutantlungs = /obj/item/organ/lungs/robot_ipc + mutantheart = /obj/item/organ/heart/robot_ipc + mutantliver = /obj/item/organ/liver/robot_ipc + exotic_blood = /datum/reagent/fuel/oil + learnable_languages = list(/datum/language/common, /datum/language/machine) + +/datum/species/robotic/spec_life(mob/living/carbon/human/H) + if(H.stat == SOFT_CRIT || H.stat == HARD_CRIT) + H.adjustFireLoss(1) //Still deal some damage in case a cold environment would be preventing us from the sweet release to robot heaven + H.adjust_bodytemperature(13) //We're overheating!! + if(prob(10)) + to_chat(H, span_warning("Alert: Critical damage taken! Cooling systems failing!")) + do_sparks(3, TRUE, H) + +/datum/species/robotic/spec_revival(mob/living/carbon/human/H) + playsound(H.loc, 'sound/machines/chime.ogg', 50, 1, -1) + H.visible_message(span_notice("[H]'s monitor lights up."), span_notice("All systems nominal. You're back online!")) + +/datum/species/robotic/on_species_gain(mob/living/carbon/human/C) + . = ..() + var/obj/item/organ/appendix/appendix = C.getorganslot(ORGAN_SLOT_APPENDIX) + if(appendix) + appendix.Remove(C) + qdel(appendix) + +/datum/species/robotic/random_name(gender,unique,lastname) + var/randname = pick(GLOB.posibrain_names) + randname = "[randname]-[rand(100, 999)]" + return randname + +/datum/species/robotic/get_types_to_preload() + return ..() - typesof(/obj/item/organ/cyberimp/arm/power_cord) // Don't cache things that lead to hard deletions. diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/ipc.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/ipc.dm new file mode 100644 index 00000000000..9cf64fa26d4 --- /dev/null +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/ipc.dm @@ -0,0 +1,96 @@ +/datum/species/robotic/ipc + name = "I.P.C." + id = SPECIES_IPC + species_traits = list( + ROBOTIC_DNA_ORGANS, + EYECOLOR, + LIPS, + HAIR, + NOEYESPRITES, + ROBOTIC_LIMBS, + NOTRANSSTING, + ) + mutant_bodyparts = list() + default_mutant_bodyparts = list( + "ipc_antenna" = ACC_RANDOM, + "ipc_screen" = ACC_RANDOM, + "ipc_chassis" = ACC_RANDOM + ) + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + hair_alpha = 210 + sexes = 0 + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/robot/mutant/ipc, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/robot/mutant/ipc, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/robot/mutant/ipc, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/robot/mutant/ipc, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/robot/mutant/ipc, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/robot/mutant/ipc, + ) + var/datum/action/innate/monitor_change/screen + var/saved_screen = "Blank" + +/datum/species/robotic/ipc/spec_revival(mob/living/carbon/human/H) + . = ..() + //TODO: fix this + /*H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = "BSOD" + sleep(3 SECONDS)*/ + H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = saved_screen + +/datum/species/robotic/ipc/spec_death(gibbed, mob/living/carbon/human/H) + . = ..() + saved_screen = H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] + //TODO: fix this + /*H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = "BSOD" + sleep(3 SECONDS)*/ + H.dna.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = "Blank" + +/datum/species/robotic/ipc/on_species_gain(mob/living/carbon/human/C) + . = ..() + if(!screen) + screen = new + screen.Grant(C) + var/chassis = C.dna.mutant_bodyparts["ipc_chassis"] + if(!chassis) + return + var/datum/sprite_accessory/ipc_chassis/chassis_of_choice = GLOB.sprite_accessories["ipc_chassis"][chassis] + if(chassis_of_choice) + examine_limb_id = chassis_of_choice.icon_state + if(chassis_of_choice.color_src) + species_traits += MUTCOLORS + C.update_body() + +/datum/species/robotic/ipc/replace_body(mob/living/carbon/target, datum/species/new_species) + ..() + var/chassis = target.dna.mutant_bodyparts["ipc_chassis"] + var/datum/sprite_accessory/ipc_chassis/chassis_of_choice = GLOB.sprite_accessories["ipc_chassis"][chassis] + if(!chassis) + return + for(var/obj/item/bodypart/iterating_bodypart as anything in target.bodyparts) //Override bodypart data as necessary + iterating_bodypart.uses_mutcolor = chassis_of_choice.color_src ? TRUE : FALSE + if(iterating_bodypart.uses_mutcolor) + iterating_bodypart.should_draw_greyscale = TRUE + iterating_bodypart.species_color = target.dna?.features["mcolor"] + iterating_bodypart.limb_id = chassis_of_choice.icon_state + iterating_bodypart.name = "\improper[chassis_of_choice.name] [parse_zone(iterating_bodypart.body_zone)]" + iterating_bodypart.update_limb() + +/datum/species/robotic/ipc/on_species_loss(mob/living/carbon/human/C) + . = ..() + if(screen) + screen.Remove(C) + ..() + +/datum/action/innate/monitor_change + name = "Screen Change" + check_flags = AB_CHECK_CONSCIOUS + icon_icon = 'icons/mob/actions/actions_silicon.dmi' + button_icon_state = "drone_vision" + +/datum/action/innate/monitor_change/Activate() + var/mob/living/carbon/human/H = owner + var/new_ipc_screen = input(usr, "Choose your character's screen:", "Monitor Display") as null|anything in GLOB.sprite_accessories["ipc_screen"] + if(!new_ipc_screen) + return + H.dna.species.mutant_bodyparts["ipc_screen"][MUTANT_INDEX_NAME] = new_ipc_screen + H.update_body() diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_human.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_human.dm new file mode 100644 index 00000000000..30a4cf30ea4 --- /dev/null +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_human.dm @@ -0,0 +1,34 @@ +/datum/species/robotic/synthetic_human + name = "Synthetic Humanoid" + id = SPECIES_SYNTHHUMAN + say_mod = "states" + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID + species_traits = list( + ROBOTIC_DNA_ORGANS, + EYECOLOR, + LIPS, + HAIR, + ROBOTIC_LIMBS, + FACEHAIR, + NOTRANSSTING + ) + default_mutant_bodyparts = list( + "tail" = "None", + "snout" = "None", + "ears" = "None", + "wings" = "None", + "taur" = "None", + "horns" = "None" + ) + use_skintones = TRUE + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + reagent_flags = PROCESS_SYNTHETIC + species_language_holder = /datum/language_holder/machine + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/robot/mutant, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/robot/mutant, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/robot/mutant, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/robot/mutant, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/robot/mutant, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/robot/mutant, + ) diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_lizard.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_lizard.dm new file mode 100644 index 00000000000..28549589ff5 --- /dev/null +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_lizard.dm @@ -0,0 +1,38 @@ +/datum/species/robotic/synthliz + name = "Synthetic Lizardperson" + id = SPECIES_SYNTHLIZ + species_traits = list( + ROBOTIC_DNA_ORGANS, + MUTCOLORS,EYECOLOR, + LIPS, + HAIR, + ROBOTIC_LIMBS, + NOTRANSSTING, + ) + mutant_bodyparts = list() + default_mutant_bodyparts = list( + "ipc_antenna" = ACC_RANDOM, + "tail" = ACC_RANDOM, + "snout" = ACC_RANDOM, + "legs" = "Digitigrade Legs", + "taur" = "None", + "wings" = "None" + ) + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/robot/mutant/lizard, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/robot/mutant/lizard, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/robot/mutant/lizard, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/robot/mutant/lizard, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/robot/mutant/lizard, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/robot/mutant/lizard, + ) + +/datum/species/robotic/synthliz/get_random_body_markings(list/passed_features) + var/name = pick("Synth Pecs Lights", "Synth Scutes", "Synth Pecs") + var/datum/body_marking_set/BMS = GLOB.body_marking_sets[name] + var/list/markings = list() + if(BMS) + markings = assemble_body_markings_from_set(BMS, passed_features, src) + return markings diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_mammal.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_mammal.dm new file mode 100644 index 00000000000..9eeebc156aa --- /dev/null +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/robotic/synthetic_mammal.dm @@ -0,0 +1,91 @@ +/datum/species/robotic/synthetic_mammal + name = "Synthetic Anthromorph" + id = SPECIES_SYNTHMAMMAL + say_mod = "states" + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID + default_color = "#4B4B4B" + species_traits = list( + ROBOTIC_DNA_ORGANS, + MUTCOLORS,EYECOLOR, + LIPS,HAIR, + ROBOTIC_LIMBS, + NOTRANSSTING, + FACEHAIR + ) + default_mutant_bodyparts = list( + "tail" = ACC_RANDOM, + "snout" = ACC_RANDOM, + "horns" = "None", + "ears" = ACC_RANDOM, + "legs" = ACC_RANDOM, + "taur" = "None", + "fluff" = "None", + "wings" = "None", + "head_acc" = "None", + "neck_acc" = "None" + ) + changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/robot/mutant, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/robot/mutant, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/robot/mutant, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/robot/mutant, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/robot/mutant, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/robot/mutant, + ) + +/datum/species/robotic/synthetic_mammal/get_random_features() + var/list/returned = MANDATORY_FEATURE_LIST + var/main_color + var/second_color + var/third_color + var/random = rand(1,7) + switch(random) + if(1) + main_color = "#FFFFFF" + second_color = "#333333" + third_color = "#333333" + if(2) + main_color = "#FFFFDD" + second_color = "#DD6611" + third_color = "#AA5522" + if(3) + main_color = "#DD6611" + second_color = "#FFFFFF" + third_color = "#DD6611" + if(4) + main_color = "#CCCCCC" + second_color = "#FFFFFF" + third_color = "#FFFFFF" + if(5) + main_color = "#AA5522" + second_color = "#CC8833" + third_color = "#FFFFFF" + if(6) + main_color = "#FFFFDD" + second_color = "#FFEECC" + third_color = "#FFDDBB" + if(7) //Oh no you've rolled the sparkle dog + main_color = "#[random_color()]" + second_color = "#[random_color()]" + third_color = "#[random_color()]" + returned["mcolor"] = main_color + returned["mcolor2"] = second_color + returned["mcolor3"] = third_color + return returned + +/datum/species/robotic/synthetic_mammal/get_random_body_markings(list/passed_features) + var/name = "None" + var/list/candidates = GLOB.body_marking_sets.Copy() + for(var/candi in candidates) + var/datum/body_marking_set/setter = GLOB.body_marking_sets[candi] + if(setter.recommended_species && !(id in setter.recommended_species)) + candidates -= candi + if(length(candidates)) + name = pick(candidates) + var/datum/body_marking_set/BMS = GLOB.body_marking_sets[name] + var/list/markings = list() + if(BMS) + markings = assemble_body_markings_from_set(BMS, passed_features, src) + return markings diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm index 1950036608b..61a22b0ea42 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/roundstartslime.dm @@ -10,8 +10,7 @@ /datum/species/jelly/roundstartslime name = "Xenobiological Slime Hybrid" id = SPECIES_SLIMESTART - limbs_id = SPECIES_SLIMEPERSON - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/slime_parts_greyscale.dmi' + examine_limb_id = SPECIES_SLIMEPERSON default_color = "#00FFFF" say_mod = "says" coldmod = 3 @@ -90,7 +89,6 @@ if(BD.always_color_customizable) continue DNA.species.body_markings[zone][key] = BD.get_default_color(DNA.features, DNA.species) - H.icon_render_key = "" //Currently the render key doesnt recognize the markings colors if(mutantpart_reset && mutantpart_reset == "Yes") H.mutant_renderkey = "" //Just in case for(var/mutant_key in DNA.species.mutant_bodyparts) @@ -157,16 +155,6 @@ DNA.species.mutant_bodyparts[chosen_key] = new_acc_list DNA.mutant_bodyparts[chosen_key] = new_acc_list.Copy() DNA.update_uf_block(GLOB.dna_mutant_bodypart_blocks[chosen_key]) - if (chosen_key == "legs" && chosen_name_key != "Cancel") - if (chosen_name_key == "Digitigrade Legs" && !(DIGITIGRADE in DNA.species.species_traits)) - DNA.species.species_traits += DIGITIGRADE - if (chosen_name_key == "Normal Legs" && (DIGITIGRADE in DNA.species.species_traits)) - DNA.species.species_traits -= DIGITIGRADE - H.Digitigrade_Leg_Swap(chosen_name_key == "Normal Legs") - H.update_body() - H.update_inv_w_uniform() - H.update_inv_wear_suit() - H.update_inv_shoes() H.update_mutant_bodyparts() if("Markings") var/list/candidates = GLOB.body_marking_sets @@ -175,7 +163,6 @@ return var/datum/body_marking_set/BMS = GLOB.body_marking_sets[chosen_name] DNA.species.body_markings = assemble_body_markings_from_set(BMS, DNA.features, DNA.species) - H.icon_render_key = "" //Just in case H.update_body() if("DNA Specifics") var/dna_alteration = input(H, "Select what part of your DNA you'd like to alter", "DNA Alteration", "cancel") in list("Penis Size","Penis Girth", "Penis Sheath", "Penis Taur Mode", "Balls Size", "Breasts Size", "Breasts Lactation", "Body Size", "Cancel") diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm index 6639f7ade85..a9769652130 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/skrell.dm @@ -31,17 +31,22 @@ payday_modifier = 0.75 default_mutant_bodyparts = list("skrell_hair" = ACC_RANDOM) changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/skrell_parts_greyscale.dmi' eyes_icon = 'modular_skyrat/master_files/icons/mob/species/skrell_eyes.dmi' - mutantbrain = /obj/item/organ/brain/skrell mutanteyes = /obj/item/organ/eyes/skrell mutantlungs = /obj/item/organ/lungs/skrell mutantheart = /obj/item/organ/heart/skrell mutantliver = /obj/item/organ/liver/skrell mutanttongue = /obj/item/organ/tongue/skrell - learnable_languages = list(/datum/language/common, /datum/language/skrell) + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/skrell, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/skrell, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/skrell, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/skrell, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/skrell, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/skrell, + ) /obj/item/organ/tongue/skrell name = "internal vocal sacs" diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/tajaran.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/tajaran.dm index 3aea2dad977..2109691a1ca 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/tajaran.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/tajaran.dm @@ -32,8 +32,16 @@ liked_food = GRAIN | MEAT payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' - limbs_id = SPECIES_MAMMAL + examine_limb_id = SPECIES_MAMMAL + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant, + ) /datum/species/tajaran/get_random_features() var/list/returned = MANDATORY_FEATURE_LIST diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm index ec6e296e153..b0df3082032 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/unathi.dm @@ -35,7 +35,17 @@ toxic_food = TOXIC payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_id = SPECIES_LIZARD + examine_limb_id = SPECIES_LIZARD + ass_image = 'icons/ass/asslizard.png' + + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/lizard, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/lizard, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/lizard, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/lizard, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/lizard, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/lizard, + ) /datum/species/unathi/get_random_features() var/list/returned = MANDATORY_FEATURE_LIST diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm index 635e1f62bfc..60f72db6c83 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vox.dm @@ -3,7 +3,6 @@ name = "Vox" id = SPECIES_VOX eyes_icon = 'modular_skyrat/master_files/icons/mob/species/vox_eyes.dmi' - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/vox_parts_greyscale.dmi' say_mod = "skrees" default_color = "#00FF00" can_augment = FALSE @@ -43,6 +42,15 @@ species_language_holder = /datum/language_holder/vox changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT learnable_languages = list(/datum/language/common, /datum/language/vox, /datum/language/schechi) + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/vox, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/vox, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/vox, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/vox, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/vox, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/vox, + ) /datum/species/vox/pre_equip_species_outfit(datum/job/job, mob/living/carbon/human/equipping, visuals_only) . = ..() diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vulpkanin.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vulpkanin.dm index 82add96f7ec..d248f148939 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vulpkanin.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/vulpkanin.dm @@ -32,8 +32,16 @@ toxic_food = TOXIC payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/mammal_parts_greyscale.dmi' - limbs_id = SPECIES_MAMMAL + examine_limb_id = SPECIES_MAMMAL + digitigrade_customization = DIGITIGRADE_OPTIONAL + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant, + ) /datum/species/vulpkanin/get_random_features() var/list/returned = MANDATORY_FEATURE_LIST diff --git a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/xeno.dm b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/xeno.dm index 5768fdd7e40..010d3d5a493 100644 --- a/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/xeno.dm +++ b/modular_skyrat/modules/customization/modules/mob/living/carbon/human/species/xeno.dm @@ -20,7 +20,6 @@ mutant_bodyparts = list() default_mutant_bodyparts = list( "tail" = "Xenomorph Tail", - "legs" = "Digitigrade Legs", "xenodorsal" = ACC_RANDOM, "xenohead" = ACC_RANDOM, "taur" = "None" @@ -33,6 +32,12 @@ learnable_languages = list(/datum/language/common, /datum/language/xenoknockoff) payday_modifier = 0.75 changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_MAGIC | MIRROR_PRIDE | ERT_SPAWN | RACE_SWAP | SLIME_EXTRACT - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/xeno_parts_greyscale.dmi' damage_overlay_type = SPECIES_XENO - + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/xenohybrid, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/xenohybrid, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/xenohybrid, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/xenohybrid, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/xenohybrid, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/xenohybrid, + ) diff --git a/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/medicine_reagents.dm b/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/medicine_reagents.dm index 5ea4b3d9947..a5d79a62574 100644 --- a/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/modular_skyrat/modules/customization/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -67,7 +67,7 @@ /datum/reagent/medicine/nanite_slurry/on_mob_life(mob/living/carbon/affected_mob) - affected_mob.heal_bodypart_damage(healing * REM, healing * REM, required_status = BODYPART_ROBOTIC) + affected_mob.heal_bodypart_damage(healing * REM, healing * REM, required_status = BODYTYPE_ORGANIC) ..() /datum/reagent/medicine/nanite_slurry/overdose_process(mob/living/carbon/affected_mob, delta_time, times_fired) diff --git a/modular_skyrat/modules/customization/modules/surgery/bodyparts/_bodyparts.dm b/modular_skyrat/modules/customization/modules/surgery/bodyparts/_bodyparts.dm deleted file mode 100644 index 64e3a9b4ad5..00000000000 --- a/modular_skyrat/modules/customization/modules/surgery/bodyparts/_bodyparts.dm +++ /dev/null @@ -1,168 +0,0 @@ -/obj/item/bodypart/proc/get_limb_icon(dropped, draw_external_organs) - icon_state = "" //to erase the default sprite, we're building the visual aspects of the bodypart through overlays alone. - - . = list() - - var/image_dir = 0 - if(dropped) - image_dir = SOUTH - if(dmg_overlay_type) - if(brutestate) - . += image('icons/mob/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_[brutestate]0", -DAMAGE_LAYER, image_dir) - if(burnstate) - . += image('icons/mob/dam_mob.dmi', "[dmg_overlay_type]_[body_zone]_0[burnstate]", -DAMAGE_LAYER, image_dir) - - var/image/limb = image(layer = -BODYPARTS_LAYER, dir = image_dir) - var/image/aux - . += limb - - if(animal_origin) - if(is_organic_limb()) - limb.icon = 'icons/mob/animal_parts.dmi' - if(species_id == "husk") - limb.icon_state = "[animal_origin]_husk_[body_zone]" - else - limb.icon_state = "[animal_origin]_[body_zone]" - else - limb.icon = 'icons/mob/augmentation/augments.dmi' - limb.icon_state = "[animal_origin]_[body_zone]" - - if(blocks_emissive) - var/mutable_appearance/limb_em_block = mutable_appearance(limb.icon, limb.icon_state, plane = EMISSIVE_PLANE, appearance_flags = KEEP_APART) - limb_em_block.dir = image_dir - limb_em_block.color = GLOB.em_block_color - limb.overlays += limb_em_block - return - - var/icon_gender = (body_gender == FEMALE) ? "f" : "m" //gender of the icon, if applicable - - if((body_zone != BODY_ZONE_HEAD && body_zone != BODY_ZONE_CHEST)) - should_draw_gender = FALSE - - if(organic_render) - if(should_draw_greyscale) - limb.icon = rendered_bp_icon || 'icons/mob/human_parts_greyscale.dmi' //Skyrat change - customization - if(should_draw_gender) - limb.icon_state = "[species_id]_[body_zone]_[icon_gender]" - else if(use_digitigrade) - limb.icon_state = "digitigrade_[use_digitigrade]_[body_zone]" - else - limb.icon_state = "[species_id]_[body_zone]" - else - limb.icon = rendered_bp_icon || 'icons/mob/human_parts.dmi' //Skyrat change - customization - if(should_draw_gender) - limb.icon_state = "[species_id]_[body_zone]_[icon_gender]" - else - limb.icon_state = "[species_id]_[body_zone]" - if(aux_zone) - aux = image(limb.icon, "[species_id]_[aux_zone]", -aux_layer, image_dir) - . += aux - else - limb.icon = icon - if(should_draw_gender) - limb.icon_state = "[body_zone]_[icon_gender]" - else - limb.icon_state = "[body_zone]" - if(aux_zone) - aux = image(limb.icon, "[aux_zone]", -aux_layer, image_dir) - . += aux - if(blocks_emissive) - var/mutable_appearance/limb_em_block = mutable_appearance(limb.icon, limb.icon_state, -BODYPARTS_LAYER, plane = EMISSIVE_PLANE, appearance_flags = KEEP_APART) - limb_em_block.dir = image_dir - limb_em_block.color = GLOB.em_block_color - . += limb_em_block - return - - var/draw_color - if(should_draw_greyscale) - draw_color = mutation_color || species_color || (skin_tone && skintone2hex(skin_tone)) - if(draw_color) - limb.color = draw_color - if(aux_zone) - aux.color = draw_color - - if (!owner || is_pseudopart || !ishuman(owner)) - return - - var/mob/living/carbon/human/H = owner - - if(blocks_emissive) - var/mutable_appearance/limb_em_block = mutable_appearance(limb.icon, limb.icon_state, -BODYPARTS_LAYER, plane = EMISSIVE_PLANE, appearance_flags = KEEP_APART) - limb_em_block.dir = image_dir - limb_em_block.color = GLOB.em_block_color - . += limb_em_block - - if(aux_zone) - var/mutable_appearance/aux_em_block = mutable_appearance(aux.icon, aux.icon_state, -BODYPARTS_LAYER, plane = EMISSIVE_PLANE, appearance_flags = KEEP_APART) - aux_em_block.dir = image_dir - aux_em_block.color = GLOB.em_block_color - . += aux_em_block - - //set specific alpha before setting the markings alpha - if (alpha != 255) - for (var/ov in .) - var/image/overlay = ov - overlay.alpha = alpha - //Markings! - var/override_color - if(HAS_TRAIT(H, TRAIT_HUSK)) - override_color = "#888888" - - for(var/key in H.dna.species.body_markings[body_zone]) - var/datum/body_marking/BM = GLOB.body_markings[key] - if (!BM) - continue - var/render_limb_string = body_zone - switch(body_zone) - if(BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) - if(use_digitigrade) - render_limb_string = "digitigrade_[use_digitigrade]_[render_limb_string]" - if(BODY_ZONE_CHEST) - if(BM.gendered) - var/gendaar = (H.body_type == FEMALE) ? "f" : "m" - render_limb_string = "[render_limb_string]_[gendaar]" - - var/mutable_appearance/accessory_overlay - var/mutable_appearance/emissive - accessory_overlay = mutable_appearance(BM.icon, "[BM.icon_state]_[render_limb_string]", -BODYPARTS_LAYER) - accessory_overlay.alpha = H.dna.species.markings_alpha - if (H.dna.species.body_markings[body_zone][key][2]) - emissive = emissive_appearance_copy(accessory_overlay) - if(override_color) - accessory_overlay.color = override_color - else - accessory_overlay.color = H.dna.species.body_markings[body_zone][key][1] - . += accessory_overlay - if (emissive) - . += emissive - - if(aux_zone) - for(var/key in H.dna.species.body_markings[aux_zone]) - var/datum/body_marking/BM = GLOB.body_markings[key] - - var/render_limb_string = aux_zone - - var/mutable_appearance/emissive - var/mutable_appearance/accessory_overlay - accessory_overlay = mutable_appearance(BM.icon, "[BM.icon_state]_[render_limb_string]", -aux_layer) - accessory_overlay.alpha = H.dna.species.markings_alpha - if (H.dna.species.body_markings[aux_zone][key][2]) - emissive = emissive_appearance_copy(accessory_overlay) - if(override_color) - accessory_overlay.color = override_color - else - accessory_overlay.color = H.dna.species.body_markings[aux_zone][key][1] - . += accessory_overlay - if (emissive) - . += emissive - - if(!draw_external_organs) - return - //Draw external organs like horns and frills - for(var/obj/item/organ/external/external_organ in external_organs) - if(!dropped && !external_organ.can_draw_on_bodypart(owner)) - continue - //Some externals have multiple layers for background, foreground and between - for(var/external_layer in external_organ.all_layers) - if(external_organ.layers & external_layer) - external_organ.get_overlays(., image_dir, external_organ.bitflag_to_layer(external_layer), icon_gender, draw_color) diff --git a/modular_skyrat/modules/customization/modules/surgery/robot_brain_surgery.dm b/modular_skyrat/modules/customization/modules/surgery/robot_brain_surgery.dm index 8ce51a6ea82..4e44e549b7e 100644 --- a/modular_skyrat/modules/customization/modules/surgery/robot_brain_surgery.dm +++ b/modular_skyrat/modules/customization/modules/surgery/robot_brain_surgery.dm @@ -10,7 +10,7 @@ target_mobtypes = list(/mob/living/carbon/human) possible_locs = list(BODY_ZONE_HEAD) - requires_bodypart_type = BODYPART_ROBOTIC + requires_bodypart_type = BODYTYPE_ROBOTIC desc = "A surgical procedure that restores the default behavior logic and personality matrix of an IPC posibrain." /datum/surgery_step/fix_robot_brain diff --git a/modular_skyrat/modules/customization/modules/surgery/robot_chassis_restoration.dm b/modular_skyrat/modules/customization/modules/surgery/robot_chassis_restoration.dm index 5c8ff2edfd7..565dc4f2022 100644 --- a/modular_skyrat/modules/customization/modules/surgery/robot_chassis_restoration.dm +++ b/modular_skyrat/modules/customization/modules/surgery/robot_chassis_restoration.dm @@ -13,7 +13,7 @@ target_mobtypes = list(/mob/living/carbon/human) possible_locs = list(BODY_ZONE_CHEST) - requires_bodypart_type = BODYPART_ROBOTIC + requires_bodypart_type = BODYTYPE_ROBOTIC desc = "A surgical procedure that reboots a positronic brain." /datum/surgery/robot_chassis_restoration/can_start(mob/user, mob/living/carbon/target) diff --git a/modular_skyrat/modules/customization/modules/surgery/robot_healing.dm b/modular_skyrat/modules/customization/modules/surgery/robot_healing.dm index 9ae3a00977c..a09e1dd70c8 100644 --- a/modular_skyrat/modules/customization/modules/surgery/robot_healing.dm +++ b/modular_skyrat/modules/customization/modules/surgery/robot_healing.dm @@ -9,7 +9,7 @@ target_mobtypes = list(/mob/living/carbon/human) possible_locs = list(BODY_ZONE_CHEST) replaced_by = /datum/surgery - requires_bodypart_type = BODYPART_ROBOTIC + requires_bodypart_type = BODYTYPE_ROBOTIC ignore_clothes = TRUE var/healing_step_type var/antispam = FALSE @@ -89,7 +89,7 @@ urhealedamt_burn *= 0.55 umsg += " as best as you can while they have clothing on" tmsg += " as best as they can while [target] has clothing on" - target.heal_bodypart_damage(urhealedamt_brute,urhealedamt_burn, 0, BODYPART_ROBOTIC) + target.heal_bodypart_damage(urhealedamt_brute,urhealedamt_burn, 0, BODYTYPE_ROBOTIC) display_results(user, target, span_notice("[umsg]."), "[tmsg].", "[tmsg].") diff --git a/modular_skyrat/modules/customization/modules/surgery/robot_restore_looks.dm b/modular_skyrat/modules/customization/modules/surgery/robot_restore_looks.dm deleted file mode 100644 index 6c5ab5ee22b..00000000000 --- a/modular_skyrat/modules/customization/modules/surgery/robot_restore_looks.dm +++ /dev/null @@ -1,49 +0,0 @@ -/datum/surgery/robot_restore_looks - name = "Restore chassis looks" - steps = list( - /datum/surgery_step/weld_plating, - /datum/surgery_step/restore_paintjob) - - target_mobtypes = list(/mob/living/carbon/human) - possible_locs = list(BODY_ZONE_CHEST) - requires_bodypart_type = BODYPART_ROBOTIC - desc = "A procedure that welds the robotic limbs back into the patient's preferred state aswell as re-applying their paintjob." - -/datum/surgery_step/restore_paintjob - name = "spray paint" - implements = list( - /obj/item/toy/crayon/spraycan = 100) - time = 58 - -/datum/surgery_step/restore_paintjob/tool_check(mob/user, obj/item/tool) - var/obj/item/toy/crayon/spraycan/sc = tool - if(sc.is_capped) - to_chat(user, span_warning("Take the cap off first!")) - return FALSE - if(sc.charges < 10) - to_chat(user, span_warning("Not enough paint in the can!")) - return FALSE - return TRUE - -/datum/surgery_step/restore_paintjob/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - var/obj/item/toy/crayon/spraycan/sc = tool - sc.use_charges(user, 10, FALSE) - sc.audible_message(span_notice("You hear spraying.")) - playsound(target.loc, 'sound/effects/spray.ogg', 5, 1, 5) - if(target?.dna?.species) - for(var/obj/item/bodypart/O in target.bodyparts) - if(O.status == BODYPART_ROBOTIC) - O.rendered_bp_icon = target.dna.species.limbs_icon - O.species_id = target.dna.species.limbs_id - O.organic_render = TRUE - if(O.body_zone == BODY_ZONE_L_LEG || O.body_zone == BODY_ZONE_R_LEG) - if(target.dna.mutant_bodyparts["legs"] && target.dna.mutant_bodyparts["legs"][MUTANT_INDEX_NAME] == "Digitigrade Legs") - O.use_digitigrade = FULL_DIGITIGRADE - O.update_limb(O,target) - target.update_body() - return TRUE - -/datum/surgery_step/restore_paintjob/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results(user, target, span_notice("You begin to spray paint on [target]..."), - "[user] begins to spray paint on [target]'s [parse_zone(target_zone)].", - "[user] begins to spray paint on [target]'s [parse_zone(target_zone)].") diff --git a/modular_skyrat/modules/digi_bloodsole/code/_shoes.dm b/modular_skyrat/modules/digi_bloodsole/code/_shoes.dm index 991033a4332..a25aae12cd3 100644 --- a/modular_skyrat/modules/digi_bloodsole/code/_shoes.dm +++ b/modular_skyrat/modules/digi_bloodsole/code/_shoes.dm @@ -5,7 +5,7 @@ if(damaged_clothes) . += mutable_appearance('icons/effects/item_damage.dmi', "damagedshoe") if(HAS_BLOOD_DNA(src)) - if (mutant_styles & STYLE_DIGITIGRADE) + if (mutant_styles & CLOTHING_DIGITIGRADE_VARIATION) if(clothing_flags & LARGE_WORN_ICON) . += mutable_appearance('modular_skyrat/modules/digi_bloodsole/icons/64x64.dmi', "shoeblood_large_digi") else diff --git a/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm b/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm index 7fd18b8fc1a..ad0e2e27b45 100644 --- a/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm +++ b/modular_skyrat/modules/emotes/code/additionalemotes/turf_emote.dm @@ -15,10 +15,10 @@ var/current_turf if(ishuman(user)) //feet - if(!(DIGITIGRADE in human_user.dna.species.species_traits) && !(human_user.dna.species.mutant_bodyparts["taur"])) + if(!(human_user.dna.species.bodytype & BODYTYPE_DIGITIGRADE) && !(human_user.dna.species.mutant_bodyparts["taur"])) user.allowed_turfs += "footprint" - if((DIGITIGRADE in human_user.dna.species.species_traits) || human_user.dna.species.mutant_bodyparts["taur"]) + if((human_user.dna.species.bodytype & BODYTYPE_DIGITIGRADE) || human_user.dna.species.mutant_bodyparts["taur"]) user.allowed_turfs += list("pawprint", "hoofprint", "clawprint") //species & taurs diff --git a/modular_skyrat/modules/emotes/code/dna_screams.dm b/modular_skyrat/modules/emotes/code/dna_screams.dm index 4c052184759..e43dd4fdaba 100644 --- a/modular_skyrat/modules/emotes/code/dna_screams.dm +++ b/modular_skyrat/modules/emotes/code/dna_screams.dm @@ -2,10 +2,6 @@ var/list/screamsounds = list('modular_skyrat/modules/emotes/sound/voice/scream_m1.ogg', 'modular_skyrat/modules/emotes/sound/voice/scream_m2.ogg') var/list/femalescreamsounds = list('modular_skyrat/modules/emotes/sound/voice/scream_f1.ogg', 'modular_skyrat/modules/emotes/sound/voice/scream_f2.ogg') -/datum/species/synth - screamsounds = list('modular_skyrat/modules/emotes/sound/voice/scream_silicon.ogg') - femalescreamsounds = null //Unisex screams, defaults to male. - /datum/species/robotic screamsounds = list('modular_skyrat/modules/emotes/sound/voice/scream_silicon.ogg') femalescreamsounds = null diff --git a/modular_skyrat/modules/emotes/code/synth_emotes.dm b/modular_skyrat/modules/emotes/code/synth_emotes.dm index 8a426538119..23e8b4b8f1e 100644 --- a/modular_skyrat/modules/emotes/code/synth_emotes.dm +++ b/modular_skyrat/modules/emotes/code/synth_emotes.dm @@ -8,7 +8,7 @@ vary = TRUE sound = 'modular_skyrat/modules/emotes/sound/emotes/dwoop.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/yes @@ -17,7 +17,7 @@ vary = TRUE sound = 'modular_skyrat/modules/emotes/sound/emotes/synth_yes.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/no @@ -26,7 +26,7 @@ vary = TRUE sound = 'modular_skyrat/modules/emotes/sound/emotes/synth_no.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/boop @@ -34,7 +34,7 @@ key_third_person = "boops" message = "boops." silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/buzz @@ -45,7 +45,7 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/buzz-sigh.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/beep @@ -56,7 +56,7 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/twobeep.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/beep2 @@ -68,7 +68,7 @@ vary = TRUE sound = 'modular_skyrat/modules/emotes/sound/emotes/twobeep.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/buzz2 @@ -77,7 +77,7 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/buzz-two.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/chime @@ -87,7 +87,7 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/chime.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/honk @@ -98,7 +98,7 @@ vary = TRUE sound = 'sound/items/bikehorn.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/ping @@ -109,7 +109,7 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/ping.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/sad @@ -118,7 +118,7 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/misc/sadtrombone.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/warn @@ -127,7 +127,7 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/warning-buzzer.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS /datum/emote/living/human/slowclaps @@ -136,5 +136,5 @@ emote_type = EMOTE_AUDIBLE sound = 'sound/machines/slowclap.ogg' silicon_allowed = TRUE - allowed_species = list(/datum/species/robotic/ipc, /datum/species/synth, /datum/species/synth/military, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) + allowed_species = list(/datum/species/robotic/ipc, /datum/species/robotic/synthliz, /datum/species/robotic/synthetic_human, /datum/species/robotic/synthetic_mammal) cooldown = 2 SECONDS diff --git a/modular_skyrat/modules/event_vote/code/event_vote.dm b/modular_skyrat/modules/event_vote/code/event_vote.dm index aee05a54493..209b025ca2d 100644 --- a/modular_skyrat/modules/event_vote/code/event_vote.dm +++ b/modular_skyrat/modules/event_vote/code/event_vote.dm @@ -491,7 +491,7 @@ log_data += "Custom Species: [iterating_human.dna.features["custom_species"]]" log_data += "Sex: [iterating_human.gender]" log_data += "Age: [iterating_human.age]" - log_data += "Body Type: [iterating_human.body_type]" + log_data += "Body Type: [iterating_human.physique]" log_data += "Penis: [iterating_human.dna.mutant_bodyparts["penis"]["name"]]" log_data += "Vagina: [iterating_human.dna.mutant_bodyparts["vagina"]["name"]]" log_data += "Breasts: [iterating_human.dna.mutant_bodyparts["breasts"]["name"]]" diff --git a/modular_skyrat/modules/exp_corps/code/clothing.dm b/modular_skyrat/modules/exp_corps/code/clothing.dm index b2ffa732350..33cac8523ff 100644 --- a/modular_skyrat/modules/exp_corps/code/clothing.dm +++ b/modular_skyrat/modules/exp_corps/code/clothing.dm @@ -169,7 +169,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 0, FIRE = 80, ACID = 100, WOUND = 30) - mutant_variants = NONE + supports_variations_flags = NONE var/nightvision = FALSE var/mob/living/carbon/current_user actions_types = list(/datum/action/item_action/toggle_nv) diff --git a/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm b/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm index 588cd741476..ca60013825d 100644 --- a/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm +++ b/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm @@ -150,7 +150,7 @@ actions_types = list(/datum/action/item_action/toggle) can_toggle = TRUE toggle_cooldown = 0 - mutant_variants = STYLE_MUZZLE + supports_variations_flags = CLOTHING_SNOUTED_VARIATION flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF visor_flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH | PEPPERPROOF @@ -200,7 +200,7 @@ uses_advanced_reskins = TRUE armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 20, ACID = 50) strip_delay = 60 - mutant_variants = NONE + supports_variations_flags = NONE unique_reskin = list( "Black Variant" = list( RESKIN_ICON_STATE = "garrison_black", @@ -223,7 +223,7 @@ armor = list(MELEE = 30, BULLET = 25, LASER = 25, ENERGY = 35, BOMB = 25, BIO = 0, FIRE = 20, ACID = 50) strip_delay = 60 dog_fashion = null - mutant_variants = NONE + supports_variations_flags = NONE unique_reskin = list( "Black Variant" = list( RESKIN_ICON_STATE = "security_cap_black", @@ -632,7 +632,7 @@ icon_state = "helmet" actions_types = null can_toggle = FALSE - mutant_variants = NONE + supports_variations_flags = NONE flags_cover = HEADCOVERSEYES flags_inv = HIDEHAIR diff --git a/modular_skyrat/modules/hev_suit/code/hev_suit.dm b/modular_skyrat/modules/hev_suit/code/hev_suit.dm index c8df0fdfcfb..aaec4eba7ba 100644 --- a/modular_skyrat/modules/hev_suit/code/hev_suit.dm +++ b/modular_skyrat/modules/hev_suit/code/hev_suit.dm @@ -768,7 +768,7 @@ armor = list(MELEE = 30, BULLET = 30, LASER = 30, ENERGY = 30, BOMB = 30, BIO = 20, FIRE = 20, ACID = 20, WOUND = 10) flags_inv = HIDEHAIR obj_flags = NO_MAT_REDEMPTION - mutant_variants = NONE + supports_variations_flags = NONE resistance_flags = FIRE_PROOF|ACID_PROOF|FREEZE_PROOF clothing_flags = SNUG_FIT clothing_traits = null diff --git a/modular_skyrat/modules/medical/code/carbon_examine.dm b/modular_skyrat/modules/medical/code/carbon_examine.dm index 14be697fbb2..8f2a06e47d9 100644 --- a/modular_skyrat/modules/medical/code/carbon_examine.dm +++ b/modular_skyrat/modules/medical/code/carbon_examine.dm @@ -1,4 +1,5 @@ /mob/living/carbon/examine_more(mob/user) + . = ..() var/msg = list(span_notice("You examine [src] closer, and note the following...")) var/t_His = p_their(TRUE) var/t_He = p_they(TRUE) @@ -73,4 +74,14 @@ if(scar_text) msg += "[scar_text]" + + //On closer inspection, this man isnt a man at all! + var/list/covered_zones = get_covered_body_zones() + for(var/obj/item/bodypart/part as anything in bodyparts) + if(part.body_zone in covered_zones) + continue + if(part.limb_id != (dna.species.examine_limb_id ? dna.species.examine_limb_id : dna.species.id)) + msg += "[span_info("[p_they(TRUE)] [p_have()] \an [part.name].")]" + + return msg diff --git a/modular_skyrat/modules/medical/code/carbon_update_icons.dm b/modular_skyrat/modules/medical/code/carbon_update_icons.dm index 47bc71abc03..76167bbf6ea 100644 --- a/modular_skyrat/modules/medical/code/carbon_update_icons.dm +++ b/modular_skyrat/modules/medical/code/carbon_update_icons.dm @@ -8,12 +8,12 @@ var/obj/item/bodypart/BP = b if(BP.current_gauze && BP.current_gauze.overlay_prefix) var/bp_suffix = BP.body_zone - if(BP.use_digitigrade) + if(BP.bodytype & BODYTYPE_DIGITIGRADE) bp_suffix += "_digitigrade" overlays.add_overlay("[BP.current_gauze.overlay_prefix]_[bp_suffix]") if(BP.current_splint && BP.current_splint.overlay_prefix) var/bp_suffix = BP.body_zone - if(BP.use_digitigrade) + if(BP.bodytype & BODYTYPE_DIGITIGRADE) bp_suffix += "_digitigrade" overlays.add_overlay("[BP.current_splint.overlay_prefix]_[bp_suffix]") diff --git a/modular_skyrat/modules/medical/code/wounds/bones.dm b/modular_skyrat/modules/medical/code/wounds/bones.dm index 7a14dca810d..6f7ab7faaf6 100644 --- a/modular_skyrat/modules/medical/code/wounds/bones.dm +++ b/modular_skyrat/modules/medical/code/wounds/bones.dm @@ -48,7 +48,7 @@ I = victim.get_inactive_held_item() if(I && victim.dropItemToGround(I)) - victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [limb.name] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [parse_zone(limb.body_zone)] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) update_inefficiencies() @@ -89,7 +89,7 @@ if(!victim || !limb) qdel(src) return - to_chat(victim, span_green("Your [limb.name] has recovered from your fracture!")) + to_chat(victim, span_green("Your [parse_zone(limb.body_zone)] has recovered from your fracture!")) remove_wound() /// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so @@ -103,11 +103,11 @@ if(prob((severity - 1) * 15)) // And you have a 70% or 50% chance to actually land the blow, respectively if(prob(70 - 20 * (severity - 1))) - to_chat(victim, span_userdanger("The fracture in your [limb.name] shoots with pain as you strike [target]!")) + to_chat(victim, span_userdanger("The fracture in your [parse_zone(limb.body_zone)] shoots with pain as you strike [target]!")) limb.receive_damage(brute=rand(1,5)) else - victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [limb.name], recoiling from pain!"), \ - span_userdanger("You fail to strike [target] as the fracture in your [limb.name] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] broken [parse_zone(limb.body_zone)], recoiling from pain!"), \ + span_userdanger("You fail to strike [target] as the fracture in your [parse_zone(limb.body_zone)] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) INVOKE_ASYNC(victim, /mob.proc/emote, "scream") victim.Stun(0.5 SECONDS) limb.receive_damage(brute=rand(3,7)) @@ -147,7 +147,7 @@ var/list/msg = list() if(!limb.current_splint) - msg += "[victim.p_their(TRUE)] [limb.name] [examine_desc]" + msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] [examine_desc]" else var/sling_condition = "" // how much life we have left in these bandages @@ -161,7 +161,7 @@ if(4 to INFINITY) sling_condition = "tightly" - msg += "[victim.p_their(TRUE)] [limb.name] is [sling_condition] fastened with a [limb.current_splint.name]" + msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] is [sling_condition] fastened with a [limb.current_splint.name]" if(taped) msg += ", and appears to be reforming itself under some surgical tape!" @@ -225,7 +225,7 @@ /datum/wound/blunt/moderate/proc/door_crush() SIGNAL_HANDLER if(prob(33)) - victim.visible_message(span_danger("[victim]'s dislocated [limb.name] pops back into place!"), span_userdanger("Your dislocated [limb.name] pops back into place! Ow!")) + victim.visible_message(span_danger("[victim]'s dislocated [parse_zone(limb.body_zone)] pops back into place!"), span_userdanger("Your dislocated [parse_zone(limb.body_zone)] pops back into place! Ow!")) remove_wound() /datum/wound/blunt/moderate/try_handling(mob/living/carbon/human/user) @@ -237,8 +237,8 @@ return TRUE if(user.grab_state >= GRAB_AGGRESSIVE) - user.visible_message(span_danger("[user] begins twisting and straining [victim]'s dislocated [limb.name]!"), span_notice("You begin twisting and straining [victim]'s dislocated [limb.name]..."), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] begins twisting and straining your dislocated [limb.name]!")) + user.visible_message(span_danger("[user] begins twisting and straining [victim]'s dislocated [parse_zone(limb.body_zone)]!"), span_notice("You begin twisting and straining [victim]'s dislocated [parse_zone(limb.body_zone)]..."), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] begins twisting and straining your dislocated [parse_zone(limb.body_zone)]!")) if(!user.combat_mode) chiropractice(user) else @@ -253,14 +253,14 @@ return if(prob(65)) - user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.name] back into place!"), span_notice("You snap [victim]'s dislocated [limb.name] back into place!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.name] back into place!")) + user.visible_message(span_danger("[user] snaps [victim]'s dislocated [parse_zone(limb.body_zone)] back into place!"), span_notice("You snap [victim]'s dislocated [parse_zone(limb.body_zone)] back into place!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] snaps your dislocated [parse_zone(limb.body_zone)] back into place!")) victim.emote("scream") limb.receive_damage(brute=20, wound_bonus=CANT_WOUND) qdel(src) else - user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.name] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.name] around painfully!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.name] around painfully!")) + user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), span_danger("You wrench [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] wrenches your dislocated [parse_zone(limb.body_zone)] around painfully!")) limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) chiropractice(user) @@ -272,33 +272,33 @@ return if(prob(65)) - user.visible_message(span_danger("[user] snaps [victim]'s dislocated [limb.name] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [limb.name] with a sickening crack!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] snaps your dislocated [limb.name] with a sickening crack!")) + user.visible_message(span_danger("[user] snaps [victim]'s dislocated [parse_zone(limb.body_zone)] with a sickening crack!"), span_danger("You snap [victim]'s dislocated [parse_zone(limb.body_zone)] with a sickening crack!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] snaps your dislocated [parse_zone(limb.body_zone)] with a sickening crack!")) victim.emote("scream") limb.receive_damage(brute=25, wound_bonus=30) else - user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [limb.name] around painfully!"), span_danger("You wrench [victim]'s dislocated [limb.name] around painfully!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] wrenches your dislocated [limb.name] around painfully!")) + user.visible_message(span_danger("[user] wrenches [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), span_danger("You wrench [victim]'s dislocated [parse_zone(limb.body_zone)] around painfully!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] wrenches your dislocated [parse_zone(limb.body_zone)] around painfully!")) limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) malpractice(user) /datum/wound/blunt/moderate/treat(obj/item/I, mob/user) if(victim == user) - victim.visible_message(span_danger("[user] begins resetting [victim.p_their()] [limb.name] with [I]."), span_warning("You begin resetting your [limb.name] with [I]...")) + victim.visible_message(span_danger("[user] begins resetting [victim.p_their()] [parse_zone(limb.body_zone)] with [I]."), span_warning("You begin resetting your [parse_zone(limb.body_zone)] with [I]...")) else - user.visible_message(span_danger("[user] begins resetting [victim]'s [limb.name] with [I]."), span_notice("You begin resetting [victim]'s [limb.name] with [I]...")) + user.visible_message(span_danger("[user] begins resetting [victim]'s [parse_zone(limb.body_zone)] with [I]."), span_notice("You begin resetting [victim]'s [parse_zone(limb.body_zone)] with [I]...")) if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return if(victim == user) limb.receive_damage(brute=15, wound_bonus=CANT_WOUND) - victim.visible_message(span_danger("[user] finishes resetting [victim.p_their()] [limb.name]!"), span_userdanger("You reset your [limb.name]!")) + victim.visible_message(span_danger("[user] finishes resetting [victim.p_their()] [parse_zone(limb.body_zone)]!"), span_userdanger("You reset your [parse_zone(limb.body_zone)]!")) else limb.receive_damage(brute=10, wound_bonus=CANT_WOUND) - user.visible_message(span_danger("[user] finishes resetting [victim]'s [limb.name]!"), span_nicegreen("You finish resetting [victim]'s [limb.name]!"), victim) - to_chat(victim, span_userdanger("[user] resets your [limb.name]!")) + user.visible_message(span_danger("[user] finishes resetting [victim]'s [parse_zone(limb.body_zone)]!"), span_nicegreen("You finish resetting [victim]'s [parse_zone(limb.body_zone)]!"), victim) + to_chat(victim, span_userdanger("[user] resets your [parse_zone(limb.body_zone)]!")) victim.emote("scream") qdel(src) @@ -362,10 +362,10 @@ /// if someone is using bone gel on our wound /datum/wound/blunt/proc/gel(obj/item/stack/medical/bone_gel/I, mob/user) if(gelled) - to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] is already coated with bone gel!")) + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already coated with bone gel!")) return - user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name], disregarding the warning label...")) + user.visible_message(span_danger("[user] begins hastily applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin hastily applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)], disregarding the warning label...")) if(!do_after(user, base_treat_time * 1.5 * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return @@ -373,8 +373,8 @@ I.use(1) victim.emote("scream") if(user != victim) - user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.name]!"), ignored_mobs=victim) - to_chat(victim, span_userdanger("[user] finishes applying [I] to your [limb.name], and you can feel the bones exploding with pain as they begin melting and reforming!")) + user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim) + to_chat(victim, span_userdanger("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], and you can feel the bones exploding with pain as they begin melting and reforming!")) else var/painkiller_bonus = 0 if(victim.drunkenness > 10) @@ -389,10 +389,10 @@ painkiller_bonus += 20 if(prob(25 + (20 * (severity - 2)) - painkiller_bonus)) // 25%/45% chance to fail self-applying with severe and critical wounds, modded by painkillers - victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [limb.name], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [limb.name] before you can finish!")) + victim.visible_message(span_danger("[victim] fails to finish applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], passing out from the pain!"), span_notice("You pass out from the pain of applying [I] to your [parse_zone(limb.body_zone)] before you can finish!")) victim.AdjustUnconscious(5 SECONDS) return - victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.name], grimacing from the pain!"), span_notice("You finish applying [I] to your [limb.name], and your bones explode in pain!")) + victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], grimacing from the pain!"), span_notice("You finish applying [I] to your [parse_zone(limb.body_zone)], and your bones explode in pain!")) limb.receive_damage(25, stamina=100, wound_bonus=CANT_WOUND) if(!gelled) @@ -401,13 +401,13 @@ /// if someone is using surgical tape on our wound /datum/wound/blunt/proc/tape(obj/item/stack/sticky_tape/surgical/I, mob/user) if(!gelled) - to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] must be coated with bone gel to perform this emergency operation!")) + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] must be coated with bone gel to perform this emergency operation!")) return if(taped) - to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [limb.name] is already wrapped in [I.name] and reforming!")) + to_chat(user, span_warning("[user == victim ? "Your" : "[victim]'s"] [parse_zone(limb.body_zone)] is already wrapped in [I.name] and reforming!")) return - user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [limb.name]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...")) + user.visible_message(span_danger("[user] begins applying [I] to [victim]'s' [parse_zone(limb.body_zone)]..."), span_warning("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)]...")) if(!do_after(user, base_treat_time * (user == victim ? 1.5 : 1), target = victim, extra_checks=CALLBACK(src, .proc/still_exists))) return @@ -417,10 +417,10 @@ I.use(1) if(user != victim) - user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [limb.name], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [limb.name]!"), ignored_mobs=victim) - to_chat(victim, span_green("[user] finishes applying [I] to your [limb.name], you immediately begin to feel your bones start to reform!")) + user.visible_message(span_notice("[user] finishes applying [I] to [victim]'s [parse_zone(limb.body_zone)], emitting a fizzing noise!"), span_notice("You finish applying [I] to [victim]'s [parse_zone(limb.body_zone)]!"), ignored_mobs=victim) + to_chat(victim, span_green("[user] finishes applying [I] to your [parse_zone(limb.body_zone)], you immediately begin to feel your bones start to reform!")) else - victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [limb.name], !"), span_green("You finish applying [I] to your [limb.name], and you immediately begin to feel your bones start to reform!")) + victim.visible_message(span_notice("[victim] finishes applying [I] to [victim.p_their()] [parse_zone(limb.body_zone)], !"), span_green("You finish applying [I] to your [parse_zone(limb.body_zone)], and you immediately begin to feel your bones start to reform!")) taped = TRUE processes = TRUE diff --git a/modular_skyrat/modules/medical/code/wounds/burns.dm b/modular_skyrat/modules/medical/code/wounds/burns.dm index 6e41e3b8290..b7048b7e51c 100644 --- a/modular_skyrat/modules/medical/code/wounds/burns.dm +++ b/modular_skyrat/modules/medical/code/wounds/burns.dm @@ -37,7 +37,7 @@ if(strikes_to_lose_limb == 0) // we've already hit sepsis, nothing more to do victim.adjustToxLoss(0.5) if(prob(1)) - victim.visible_message(span_danger("The infection on the remnants of [victim]'s [limb.name] shift and bubble nauseatingly!"), span_warning("You can feel the infection on the remnants of your [limb.name] coursing through your veins!"), vision_distance = COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("The infection on the remnants of [victim]'s [parse_zone(limb.body_zone)] shift and bubble nauseatingly!"), span_warning("You can feel the infection on the remnants of your [parse_zone(limb.body_zone)] coursing through your veins!"), vision_distance = COMBAT_MESSAGE_RANGE) return if(victim.reagents) @@ -64,7 +64,7 @@ // here's the check to see if we're cleared up if((flesh_damage <= 0) && (infestation <= 1)) - to_chat(victim, span_green("The burns on your [limb.name] have cleared up!")) + to_chat(victim, span_green("The burns on your [parse_zone(limb.body_zone)] have cleared up!")) qdel(src) return @@ -82,25 +82,25 @@ if(prob(30)) victim.adjustToxLoss(0.2) if(prob(6)) - to_chat(victim, span_warning("The blisters on your [limb.name] ooze a strange pus...")) + to_chat(victim, span_warning("The blisters on your [parse_zone(limb.body_zone)] ooze a strange pus...")) if(WOUND_INFECTION_SEVERE to WOUND_INFECTION_CRITICAL) if(!disabling && prob(2)) - to_chat(victim, span_warning("Your [limb.name] completely locks up, as you struggle for control against the infection!")) + to_chat(victim, span_warning("Your [parse_zone(limb.body_zone)] completely locks up, as you struggle for control against the infection!")) set_disabling(TRUE) else if(disabling && prob(8)) - to_chat(victim, span_notice("You regain sensation in your [limb.name], but it's still in terrible shape!")) + to_chat(victim, span_notice("You regain sensation in your [parse_zone(limb.body_zone)], but it's still in terrible shape!")) set_disabling(FALSE) else if(prob(20)) victim.adjustToxLoss(0.5) if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC) if(!disabling && prob(3)) - to_chat(victim, span_warning("You suddenly lose all sensation of the festering infection in your [limb.name]!")) + to_chat(victim, span_warning("You suddenly lose all sensation of the festering infection in your [parse_zone(limb.body_zone)]!")) set_disabling(TRUE) else if(disabling && prob(3)) - to_chat(victim, span_notice("You can barely feel your [limb.name] again, and you have to strain to retain motor control!")) + to_chat(victim, span_notice("You can barely feel your [parse_zone(limb.body_zone)] again, and you have to strain to retain motor control!")) set_disabling(FALSE) else if(prob(1)) - to_chat(victim, span_warning("You contemplate life without your [limb.name]...")) + to_chat(victim, span_warning("You contemplate life without your [parse_zone(limb.body_zone)]...")) victim.adjustToxLoss(0.75) else if(prob(4)) victim.adjustToxLoss(1) @@ -108,13 +108,13 @@ if(prob(infestation)) switch(strikes_to_lose_limb) if(3 to INFINITY) - to_chat(victim, span_deadsay("The skin on your [limb.name] is literally dripping off, you feel awful!")) + to_chat(victim, span_deadsay("The skin on your [parse_zone(limb.body_zone)] is literally dripping off, you feel awful!")) if(2) - to_chat(victim, span_deadsay("The infection in your [limb.name] is literally dripping off, you feel horrible!")) + to_chat(victim, span_deadsay("The infection in your [parse_zone(limb.body_zone)] is literally dripping off, you feel horrible!")) if(1) - to_chat(victim, span_deadsay("Infection has just about completely claimed your [limb.name]!")) + to_chat(victim, span_deadsay("Infection has just about completely claimed your [parse_zone(limb.body_zone)]!")) if(0) - to_chat(victim, span_deadsay("The last of the nerve endings in your [limb.name] wither away, as the infection completely paralyzes your joint connector.")) + to_chat(victim, span_deadsay("The last of the nerve endings in your [parse_zone(limb.body_zone)] wither away, as the infection completely paralyzes your joint connector.")) threshold_penalty = 120 // piss easy to destroy var/datum/brain_trauma/severe/paralysis/sepsis = new (limb.body_zone) victim.gain_trauma(sepsis) @@ -122,9 +122,9 @@ /datum/wound/burn/get_examine_description(mob/user) if(strikes_to_lose_limb <= 0) - return span_deadsay("[victim.p_their(TRUE)] [limb.name] has locked up completely and is non-functional.") + return span_deadsay("[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] has locked up completely and is non-functional.") - var/list/condition = list("[victim.p_their(TRUE)] [limb.name] [examine_desc]") + var/list/condition = list("[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] [examine_desc]") if(limb.current_gauze) var/bandage_condition switch(limb.current_gauze.absorption_capacity) @@ -147,7 +147,7 @@ if(WOUND_INFECTION_CRITICAL to WOUND_INFECTION_SEPTIC) condition += ", with streaks of rotten, pulsating infection!" if(WOUND_INFECTION_SEPTIC to INFINITY) - return span_deadsay("[victim.p_their(TRUE)] [limb.name] is a mess of charred skin and infected rot!") + return span_deadsay("[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] is a mess of charred skin and infected rot!") else condition += "!" @@ -187,18 +187,18 @@ /// if someone is using ointment or mesh on our burns /datum/wound/burn/proc/ointmentmesh(obj/item/stack/medical/I, mob/user) - user.visible_message(span_notice("[user] begins applying [I] to [victim]'s [limb.name]..."), span_notice("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [limb.name]...")) + user.visible_message(span_notice("[user] begins applying [I] to [victim]'s [parse_zone(limb.body_zone)]..."), span_notice("You begin applying [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)]...")) if(!do_after(user, (user == victim ? I.self_delay : I.other_delay), extra_checks = CALLBACK(src, .proc/still_exists))) return limb.heal_damage(I.heal_brute, I.heal_burn) - user.visible_message(span_green("[user] applies [I] to [victim]."), span_green("You apply [I] to [user == victim ? "your" : "[victim]'s"] [limb.name].")) + user.visible_message(span_green("[user] applies [I] to [victim]."), span_green("You apply [I] to [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)].")) I.use(1) sanitization += I.sanitization flesh_healing += I.flesh_regeneration if((infestation <= 0 || sanitization >= infestation) && (flesh_damage <= 0 || flesh_healing > flesh_damage)) - to_chat(user, span_notice("You've done all you can with [I], now you must wait for the flesh on [victim]'s [limb.name] to recover.")) + to_chat(user, span_notice("You've done all you can with [I], now you must wait for the flesh on [victim]'s [parse_zone(limb.body_zone)] to recover.")) else try_treating(I, user) @@ -208,10 +208,10 @@ to_chat(user, span_notice("[I] is still recharging!")) return if(infestation <= 0 || infestation < sanitization) - to_chat(user, span_notice("There's no infection to treat on [victim]'s [limb.name]!")) + to_chat(user, span_notice("There's no infection to treat on [victim]'s [parse_zone(limb.body_zone)]!")) return - user.visible_message(span_notice("[user] flashes the burns on [victim]'s [limb] with [I]."), span_notice("You flash the burns on [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]."), vision_distance=COMBAT_MESSAGE_RANGE) + user.visible_message(span_notice("[user] flashes the burns on [victim]'s [limb] with [I]."), span_notice("You flash the burns on [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)] with [I]."), vision_distance=COMBAT_MESSAGE_RANGE) sanitization += I.uv_power COOLDOWN_START(I, uv_cooldown, I.uv_cooldown_length) @@ -233,7 +233,7 @@ if(flesh_healing > 0) flesh_damage = max(0, flesh_damage - 0.2) if((flesh_damage <= 0) && (infestation <= WOUND_INFECTION_MODERATE)) - to_chat(victim, span_green("The burns on your [limb.name] have cleared up!")) + to_chat(victim, span_green("The burns on your [parse_zone(limb.body_zone)] have cleared up!")) qdel(src) return if(sanitization > 0) diff --git a/modular_skyrat/modules/medical/code/wounds/muscle.dm b/modular_skyrat/modules/medical/code/wounds/muscle.dm index 7fb11302af3..25461147c62 100644 --- a/modular_skyrat/modules/medical/code/wounds/muscle.dm +++ b/modular_skyrat/modules/medical/code/wounds/muscle.dm @@ -29,7 +29,7 @@ I = victim.get_inactive_held_item() if(I && victim.dropItemToGround(I)) - victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [limb.name] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] drops [I] in shock!"), span_warning("The force on your [parse_zone(limb.body_zone)] causes you to drop [I]!"), vision_distance=COMBAT_MESSAGE_RANGE) update_inefficiencies() @@ -58,7 +58,7 @@ if(!victim || !limb) qdel(src) return - to_chat(victim, span_green("Your [limb.name] has regenerated its muscle!")) + to_chat(victim, span_green("Your [parse_zone(limb.body_zone)] has regenerated its muscle!")) remove_wound() /// If we're a human who's punching something with a broken arm, we might hurt ourselves doing so @@ -72,11 +72,11 @@ if(prob(severity * 15)) // And you have a 70% or 50% chance to actually land the blow, respectively if(prob(70 - 20 * severity)) - to_chat(victim, span_userdanger("The damaged muscle in your [limb.name] shoots with pain as you strike [target]!")) + to_chat(victim, span_userdanger("The damaged muscle in your [parse_zone(limb.body_zone)] shoots with pain as you strike [target]!")) limb.receive_damage(brute=rand(1,5)) else - victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] swollen [limb.name], recoiling from pain!"), \ - span_userdanger("You fail to strike [target] as the fracture in your [limb.name] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("[victim] weakly strikes [target] with [victim.p_their()] swollen [parse_zone(limb.body_zone)], recoiling from pain!"), \ + span_userdanger("You fail to strike [target] as the fracture in your [parse_zone(limb.body_zone)] lights up in unbearable pain!"), vision_distance=COMBAT_MESSAGE_RANGE) INVOKE_ASYNC(victim, /mob.proc/emote, "scream") victim.Stun(0.5 SECONDS) limb.receive_damage(brute=rand(3,7)) @@ -88,7 +88,7 @@ var/list/msg = list() if(!limb.current_splint) - msg += "[victim.p_their(TRUE)] [limb.name] [examine_desc]" + msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] [examine_desc]" else var/sling_condition = "" // how much life we have left in these bandages @@ -102,7 +102,7 @@ if(4 to INFINITY) sling_condition = "tightly" - msg += "[victim.p_their(TRUE)] [limb.name] is [sling_condition] fastened with a [limb.current_splint.name]!" + msg += "[victim.p_their(TRUE)] [parse_zone(limb.body_zone)] is [sling_condition] fastened with a [limb.current_splint.name]!" return "[msg.Join()]" diff --git a/modular_skyrat/modules/medical/code/wounds/pierce.dm b/modular_skyrat/modules/medical/code/wounds/pierce.dm index fee2d96aabd..53eb6781922 100644 --- a/modular_skyrat/modules/medical/code/wounds/pierce.dm +++ b/modular_skyrat/modules/medical/code/wounds/pierce.dm @@ -47,14 +47,14 @@ if(1 to 6) victim.bleed(blood_bled, TRUE) if(7 to 13) - victim.visible_message(span_smalldanger("Blood droplets fly from the hole in [victim]'s [limb.name]."), span_danger("You cough up a bit of blood from the blow to your [limb.name]."), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_smalldanger("Blood droplets fly from the hole in [victim]'s [parse_zone(limb.body_zone)]."), span_danger("You cough up a bit of blood from the blow to your [parse_zone(limb.body_zone)]."), vision_distance=COMBAT_MESSAGE_RANGE) victim.bleed(blood_bled, TRUE) if(14 to 19) - victim.visible_message(span_smalldanger("A small stream of blood spurts from the hole in [victim]'s [limb.name]!"), span_danger("You spit out a string of blood from the blow to your [limb.name]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_smalldanger("A small stream of blood spurts from the hole in [victim]'s [parse_zone(limb.body_zone)]!"), span_danger("You spit out a string of blood from the blow to your [parse_zone(limb.body_zone)]!"), vision_distance=COMBAT_MESSAGE_RANGE) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.bleed(blood_bled) if(20 to INFINITY) - victim.visible_message(span_danger("A spray of blood streams from the gash in [victim]'s [limb.name]!"), span_danger("You choke up on a spray of blood from the blow to your [limb.name]!"), vision_distance=COMBAT_MESSAGE_RANGE) + victim.visible_message(span_danger("A spray of blood streams from the gash in [victim]'s [parse_zone(limb.body_zone)]!"), span_danger("You choke up on a spray of blood from the blow to your [parse_zone(limb.body_zone)]!"), vision_distance=COMBAT_MESSAGE_RANGE) victim.bleed(blood_bled) new /obj/effect/temp_visual/dir_setting/bloodsplatter(victim.loc, victim.dir) victim.add_splatter_floor(get_step(victim.loc, victim.dir)) @@ -72,7 +72,7 @@ if(victim.bodytemperature < (BODYTEMP_NORMAL - 10)) blood_flow -= 0.2 if(prob(5)) - to_chat(victim, span_notice("You feel the [lowertext(name)] in your [limb.name] firming up from the cold!")) + to_chat(victim, span_notice("You feel the [lowertext(name)] in your [parse_zone(limb.body_zone)] firming up from the cold!")) if(HAS_TRAIT(victim, TRAIT_BLOODY_MESS)) blood_flow += 0.5 // old heparin used to just add +2 bleed stacks per tick, this adds 0.5 bleed flow to all open cuts which is probably even stronger as long as you can cut them first @@ -109,7 +109,7 @@ /// If someone is using a suture to close this puncture /datum/wound/pierce/proc/suture(obj/item/stack/medical/suture/I, mob/user) var/self_penalty_mult = (user == victim ? 1.4 : 1) - user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) + user.visible_message(span_notice("[user] begins stitching [victim]'s [parse_zone(limb.body_zone)] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return user.visible_message(span_green("[user] stitches up some of the bleeding on [victim]."), span_green("You stitch up some of the bleeding on [user == victim ? "yourself" : "[victim]"].")) @@ -121,14 +121,14 @@ if(blood_flow > 0) try_treating(I, user) else - to_chat(user, span_green("You successfully close the hole in [user == victim ? "your" : "[victim]'s"] [limb.name].")) + to_chat(user, span_green("You successfully close the hole in [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)].")) /// If someone is using either a cautery tool or something with heat to cauterize this pierce /datum/wound/pierce/proc/tool_cauterize(obj/item/I, mob/user) var/improv_penalty_mult = (I.tool_behaviour == TOOL_CAUTERY ? 1 : 1.25) // 25% longer and less effective if you don't use a real cautery var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself - user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) + user.visible_message(span_danger("[user] begins cauterizing [victim]'s [parse_zone(limb.body_zone)] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return diff --git a/modular_skyrat/modules/medical/code/wounds/slash.dm b/modular_skyrat/modules/medical/code/wounds/slash.dm index a198be73be0..c21c8cfb0e3 100644 --- a/modular_skyrat/modules/medical/code/wounds/slash.dm +++ b/modular_skyrat/modules/medical/code/wounds/slash.dm @@ -65,7 +65,7 @@ if(!limb.current_gauze) return ..() - var/list/msg = list("The cuts on [victim.p_their()] [limb.name] are wrapped with ") + var/list/msg = list("The cuts on [victim.p_their()] [parse_zone(limb.body_zone)] are wrapped with ") // how much life we have left in these bandages switch(limb.current_gauze.absorption_capacity) if(0 to 1.25) @@ -138,7 +138,7 @@ if(demotes_to) replace_wound(demotes_to) else - to_chat(victim, span_green("The cut on your [limb.name] has stopped bleeding!")) + to_chat(victim, span_green("The cut on your [parse_zone(limb.body_zone)] has stopped bleeding!")) qdel(src) @@ -191,13 +191,13 @@ continue user.ForceContractDisease(iter_disease) - user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [limb.name]."), span_notice("You begin licking the wounds on [victim]'s [limb.name]..."), ignored_mobs=victim) - to_chat(victim, span_notice("[user] begins to lick the wounds on your [limb.name].")) + user.visible_message(span_notice("[user] begins licking the wounds on [victim]'s [parse_zone(limb.body_zone)]."), span_notice("You begin licking the wounds on [victim]'s [parse_zone(limb.body_zone)]..."), ignored_mobs=victim) + to_chat(victim, span_notice("[user] begins to lick the wounds on your [parse_zone(limb.body_zone)].")) if(!do_after(user, base_treat_time, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return - user.visible_message(span_notice("[user] licks the wounds on [victim]'s [limb.name]."), span_notice("You lick some of the wounds on [victim]'s [limb.name]"), ignored_mobs=victim) - to_chat(victim, span_green("[user] licks the wounds on your [limb.name]!")) + user.visible_message(span_notice("[user] licks the wounds on [victim]'s [parse_zone(limb.body_zone)]."), span_notice("You lick some of the wounds on [victim]'s [parse_zone(limb.body_zone)]"), ignored_mobs=victim) + to_chat(victim, span_green("[user] licks the wounds on your [parse_zone(limb.body_zone)]!")) blood_flow -= 0.5 if(blood_flow > minimum_flow) @@ -216,7 +216,7 @@ /// If someone's putting a laser gun up to our cut to cauterize it /datum/wound/slash/proc/las_cauterize(obj/item/gun/energy/laser/lasgun, mob/user) var/self_penalty_mult = (user == victim ? 1.25 : 1) - user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [limb.name]..."), span_userdanger("You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [limb.name]...")) + user.visible_message(span_warning("[user] begins aiming [lasgun] directly at [victim]'s [parse_zone(limb.body_zone)]..."), span_userdanger("You begin aiming [lasgun] directly at [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)]...")) if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return var/damage = lasgun.chambered.loaded_projectile.damage @@ -226,14 +226,14 @@ return victim.emote("scream") blood_flow -= damage / (5 * self_penalty_mult) // 20 / 5 = 4 bloodflow removed, p good - victim.visible_message(span_warning("The cuts on [victim]'s [limb.name] scar over!")) + victim.visible_message(span_warning("The cuts on [victim]'s [parse_zone(limb.body_zone)] scar over!")) /// If someone is using either a cautery tool or something with heat to cauterize this cut /datum/wound/slash/proc/tool_cauterize(obj/item/I, mob/user) var/improv_penalty_mult = (I.tool_behaviour == TOOL_CAUTERY ? 1 : 1.25) // 25% longer and less effective if you don't use a real cautery var/self_penalty_mult = (user == victim ? 1.5 : 1) // 50% longer and less effective if you do it to yourself - user.visible_message(span_danger("[user] begins cauterizing [victim]'s [limb.name] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) + user.visible_message(span_danger("[user] begins cauterizing [victim]'s [parse_zone(limb.body_zone)] with [I]..."), span_warning("You begin cauterizing [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult * improv_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return @@ -252,7 +252,7 @@ /// If someone is using a suture to close this cut /datum/wound/slash/proc/suture(obj/item/stack/medical/suture/I, mob/user) var/self_penalty_mult = (user == victim ? 1.4 : 1) - user.visible_message(span_notice("[user] begins stitching [victim]'s [limb.name] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [limb.name] with [I]...")) + user.visible_message(span_notice("[user] begins stitching [victim]'s [parse_zone(limb.body_zone)] with [I]..."), span_notice("You begin stitching [user == victim ? "your" : "[victim]'s"] [parse_zone(limb.body_zone)] with [I]...")) if(!do_after(user, base_treat_time * self_penalty_mult, target=victim, extra_checks = CALLBACK(src, .proc/still_exists))) return diff --git a/modular_skyrat/modules/modular_ert/code/trauma_team/truama_team_outfit.dm b/modular_skyrat/modules/modular_ert/code/trauma_team/trauma_team_outfit.dm similarity index 96% rename from modular_skyrat/modules/modular_ert/code/trauma_team/truama_team_outfit.dm rename to modular_skyrat/modules/modular_ert/code/trauma_team/trauma_team_outfit.dm index 18cda2ebaab..2c14b578973 100644 --- a/modular_skyrat/modules/modular_ert/code/trauma_team/truama_team_outfit.dm +++ b/modular_skyrat/modules/modular_ert/code/trauma_team/trauma_team_outfit.dm @@ -112,7 +112,7 @@ armor = list(MELEE = 10, BULLET = 10, LASER = 10,ENERGY = 10, BOMB = 10, BIO = 100, FIRE = 80, ACID = 80) resistance_flags = ACID_PROOF cell = /obj/item/stock_parts/cell/super - mutant_variants = NONE //Traumateam NEEDS to look nondescript. Its the whole gimmick, tactical healing. + supports_variations_flags = NONE //Traumateam NEEDS to look nondescript. Its the whole gimmick, tactical healing. /obj/item/clothing/head/helmet/space/ntrauma name = "trauma team helmet" @@ -121,4 +121,4 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "ert_ntrauma" resistance_flags = ACID_PROOF - mutant_variants = NONE //Also good GOD I didnt want to re-sprite this helmet + supports_variations_flags = NONE //Also good GOD I didnt want to re-sprite this helmet diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/arousal_system.dm b/modular_skyrat/modules/modular_items/lewd_items/code/arousal_system.dm index 5ccf84e0855..a15f0e726a9 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/arousal_system.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/arousal_system.dm @@ -735,9 +735,9 @@ if(ishuman(parent)) var/mob/living/carbon/human/H = parent - if(H.dna.species.limbs_id == SPECIES_LIZARD) + if(H.dna.species.id == SPECIES_LIZARD) cumface.icon_state = "cumface_lizard" - else if(H.dna.species.limbs_id == SPECIES_MONKEY) + else if(H.dna.species.id == SPECIES_MONKEY) cumface.icon_state = "cumface_monkey" else if(H.dna.species.id == SPECIES_VOX) cumface.icon_state = "cumface_vox" @@ -792,9 +792,9 @@ if(ishuman(parent)) var/mob/living/carbon/human/H = parent - if(H.dna.species.limbs_id == "lizard") + if(H.dna.species.id == "lizard") bigcumface.icon_state = "bigcumface_lizard" - else if(H.dna.species.limbs_id == "monkey") + else if(H.dna.species.id == "monkey") bigcumface.icon_state = "bigcumface_monkey" else if(H.dna.species.id == "vox") bigcumface.icon_state = "bigcumface_vox" diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_chemistry/chemistry_for_ERP.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_chemistry/chemistry_for_ERP.dm index bb440a7954a..1a26e87efc6 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_chemistry/chemistry_for_ERP.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_chemistry/chemistry_for_ERP.dm @@ -449,7 +449,7 @@ if(exposed_mob.client?.prefs.read_preference(/datum/preference/toggle/erp/gender_change)) if(exposed_mob.gender == MALE) exposed_mob.set_gender(FEMALE) - exposed_mob.body_type = exposed_mob.gender + exposed_mob.physique = exposed_mob.gender exposed_mob.update_body() exposed_mob.update_mutations_overlay() if(!mob_penis) @@ -596,7 +596,7 @@ if(exposed_mob.client?.prefs.read_preference(/datum/preference/toggle/erp/gender_change)) if(exposed_mob.gender == FEMALE) exposed_mob.set_gender(MALE) - exposed_mob.body_type = exposed_mob.gender + exposed_mob.physique = exposed_mob.gender exposed_mob.update_body() exposed_mob.update_mutations_overlay() if(!mob_breasts) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/domina_cap.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/domina_cap.dm index b4d253588ec..7387aa27959 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/domina_cap.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/domina_cap.dm @@ -4,7 +4,7 @@ icon_state = "dominacap" icon = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_clothing/lewd_hats.dmi' worn_icon = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_hats.dmi' - mutant_variants = NONE + supports_variations_flags = NONE //message when equipping that thing /obj/item/clothing/head/domina_cap/equipped(mob/living/carbon/user, slot) diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm index b5a4a34539f..93a9a695c02 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/kinky_sleepbag.dm @@ -7,7 +7,7 @@ worn_icon_taur_snake = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_suit/sleepbag_special.dmi' worn_icon_taur_paw = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_suit/sleepbag_special.dmi' worn_icon_taur_hoof = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_suit/sleepbag_special.dmi' - mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION|STYLE_TAUR_ALL icon_state = "sleepbag" inhand_icon_state = "sleepbag" w_class = WEIGHT_CLASS_SMALL diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/latex_catsuit.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/latex_catsuit.dm index 07997880a44..db495f66339 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/latex_catsuit.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/latex_catsuit.dm @@ -15,7 +15,7 @@ can_adjust = FALSE body_parts_covered = CHEST|GROIN|LEGS|ARMS strip_delay = 80 - mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION|STYLE_TAUR_ALL var/mutable_appearance/breasts_overlay var/mutable_appearance/breasts_icon_overlay diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/lewd_shoes.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/lewd_shoes.dm index 83f2aa84f6e..1d3f32b9778 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/lewd_shoes.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/lewd_shoes.dm @@ -10,7 +10,7 @@ worn_icon_taur_hoof = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_clothing/lewd_shoes.dmi' worn_icon_taur_paw = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_clothing/lewd_shoes.dmi' worn_icon_taur_snake = 'modular_skyrat/modules/modular_items/lewd_items/icons/obj/lewd_clothing/lewd_shoes.dmi' - mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION|STYLE_TAUR_ALL var/discomfort = 0 var/message_sent = FALSE can_be_tied = FALSE diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_legs.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_legs.dm index a7592cc0df4..63e533ce214 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_legs.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_legs.dm @@ -7,7 +7,7 @@ worn_icon_digi = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_shoes_digi.dmi' body_parts_covered = NONE strip_delay = 100 - mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION|STYLE_TAUR_ALL slowdown = 4 item_flags = DROPDEL|IGNORE_DIGITIGRADE diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm index ec97b34794f..61d09e9d1f1 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/shibari_worn_uniform.dm @@ -6,7 +6,7 @@ strip_delay = 100 can_adjust = FALSE body_parts_covered = NONE - mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION|STYLE_TAUR_ALL item_flags = DROPDEL greyscale_colors = "#bd8fcf" has_sensor = NO_SENSORS diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/stripper_outfit.dm b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/stripper_outfit.dm index e871a050ed1..d2b143623c2 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/stripper_outfit.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/lewd_clothing/stripper_outfit.dm @@ -7,7 +7,7 @@ worn_icon_taur_snake = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_uniform/lewd_uniform-snake.dmi' worn_icon_taur_paw = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_uniform/lewd_uniform-paw.dmi' worn_icon_taur_hoof = 'modular_skyrat/modules/modular_items/lewd_items/icons/mob/lewd_clothing/lewd_uniform/lewd_uniform-hoof.dmi' - mutant_variants = STYLE_DIGITIGRADE|STYLE_TAUR_ALL + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION|STYLE_TAUR_ALL can_adjust = FALSE icon_state = "stripper_cyan" inhand_icon_state = "stripper_cyan" diff --git a/modular_skyrat/modules/modular_items/lewd_items/code/technical_stuff_for_lewd.dm b/modular_skyrat/modules/modular_items/lewd_items/code/technical_stuff_for_lewd.dm index 723a924d630..511ef40a2de 100644 --- a/modular_skyrat/modules/modular_items/lewd_items/code/technical_stuff_for_lewd.dm +++ b/modular_skyrat/modules/modular_items/lewd_items/code/technical_stuff_for_lewd.dm @@ -630,7 +630,6 @@ drop_sound = 'modular_skyrat/modules/modular_items/lewd_items/sounds/bang2.ogg' pickup_sound = 'sound/items/handling/cloth_pickup.ogg' slot_flags = ITEM_SLOT_VAGINA | ITEM_SLOT_ANUS | ITEM_SLOT_PENIS | ITEM_SLOT_NIPPLES - var/mutantrace_variation = NO_MUTANTRACE_VARIATION //Are there special sprites for specific situations? Don't use this unless you need to. /obj/item/clothing/sextoy/dropped(mob/user) ..() @@ -695,7 +694,7 @@ var/mutable_appearance/vagina_overlay if(!vagina_overlay) - vagina_overlay = U?.build_worn_icon(default_layer = VAGINA_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_icon = icon_file) + vagina_overlay = U?.build_worn_icon(default_layer = VAGINA_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_file = icon_file) if(OFFSET_UNIFORM in dna.species.offset_features) vagina_overlay?.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] @@ -734,7 +733,7 @@ var/mutable_appearance/anus_overlay if(!anus_overlay) - anus_overlay = U?.build_worn_icon(default_layer = ANUS_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_icon = icon_file) + anus_overlay = U?.build_worn_icon(default_layer = ANUS_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_file = icon_file) if(OFFSET_UNIFORM in dna.species.offset_features) anus_overlay?.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] @@ -773,7 +772,7 @@ var/mutable_appearance/nipples_overlay if(!nipples_overlay) - nipples_overlay = U?.build_worn_icon(default_layer = NIPPLES_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_icon = icon_file) + nipples_overlay = U?.build_worn_icon(default_layer = NIPPLES_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_file = icon_file) if(OFFSET_UNIFORM in dna.species.offset_features) nipples_overlay?.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] @@ -812,7 +811,7 @@ var/mutable_appearance/penis_overlay if(!penis_overlay) - penis_overlay = U?.build_worn_icon(default_layer = PENIS_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_icon = icon_file) + penis_overlay = U?.build_worn_icon(default_layer = PENIS_LAYER, default_icon_file = 'icons/mob/clothing/under/default.dmi', isinhands = FALSE, override_file = icon_file) if(OFFSET_UNIFORM in dna.species.offset_features) penis_overlay?.pixel_x += dna.species.offset_features[OFFSET_UNIFORM][1] @@ -822,6 +821,7 @@ apply_overlay(PENIS_LAYER) update_mutant_bodyparts() +/* // Shoes update extention for supporting correctt removing shoe in sleepbag /mob/living/carbon/human/update_inv_shoes() @@ -847,12 +847,10 @@ client.screen += shoes //add it to client's screen update_observer_view(shoes,1) var/icon_file = shoes.worn_icon - var/applied_styles = NONE - if((DIGITIGRADE in dna.species.species_traits) && (shoes.mutant_variants & STYLE_DIGITIGRADE)) - applied_styles |= STYLE_DIGITIGRADE + if((shoes.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION) && (shoes.supports_variations_flags & CLOTHING_DIGITIGRADE_VARIATION)) icon_file = shoes.worn_icon_digi || 'modular_skyrat/master_files/icons/mob/clothing/feet_digi.dmi' - overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = 'icons/mob/clothing/feet.dmi', override_icon = icon_file, mutant_styles = applied_styles) + overlays_standing[SHOES_LAYER] = shoes.build_worn_icon(default_layer = SHOES_LAYER, default_icon_file = 'icons/mob/clothing/feet.dmi', override_file = icon_file) var/mutable_appearance/shoes_overlay = overlays_standing[SHOES_LAYER] if(OFFSET_SHOES in dna.species.offset_features) shoes_overlay.pixel_x += dna.species.offset_features[OFFSET_SHOES][1] @@ -864,7 +862,7 @@ return else ..() - +*/ // Updating vagina hud slot /mob/living/carbon/human/update_hud_vagina(obj/item/I) I.screen_loc = ui_vagina diff --git a/modular_skyrat/modules/mutants/code/mutant_species.dm b/modular_skyrat/modules/mutants/code/mutant_species.dm index 0b9176b9fc4..dd2df001f6c 100644 --- a/modular_skyrat/modules/mutants/code/mutant_species.dm +++ b/modular_skyrat/modules/mutants/code/mutant_species.dm @@ -16,7 +16,6 @@ bodytemp_normal = T0C // They have no natural body heat, the environment regulates body temp bodytemp_heat_damage_limit = FIRE_MINIMUM_TEMPERATURE_TO_SPREAD // Take damage at fire temp bodytemp_cold_damage_limit = MINIMUM_TEMPERATURE_TO_MOVE // take damage below minimum movement temp - limbs_icon = 'modular_skyrat/modules/mutants/icons/mutant_parts_greyscale.dmi' /datum/species/mutant/check_roundstart_eligible() if(SSevents.holidays && SSevents.holidays[HALLOWEEN]) diff --git a/modular_skyrat/modules/mutants/code/mutant_zombie_bodyparts.dm b/modular_skyrat/modules/mutants/code/mutant_zombie_bodyparts.dm new file mode 100644 index 00000000000..4ce04d2daf5 --- /dev/null +++ b/modular_skyrat/modules/mutants/code/mutant_zombie_bodyparts.dm @@ -0,0 +1,28 @@ +// mutant_zombie! +/obj/item/bodypart/head/mutant/mutant_zombie + icon_greyscale = 'modular_skyrat/modules/mutants/icons/mutant_parts_greyscale.dmi' + limb_id = SPECIES_MUTANT + +/obj/item/bodypart/chest/mutant/mutant_zombie + icon_greyscale = 'modular_skyrat/modules/mutants/icons/mutant_parts_greyscale.dmi' + limb_id = SPECIES_MUTANT + +/obj/item/bodypart/l_arm/mutant/mutant_zombie + icon_greyscale = 'modular_skyrat/modules/mutants/icons/mutant_parts_greyscale.dmi' + limb_id = SPECIES_MUTANT + +/obj/item/bodypart/r_arm/mutant/mutant_zombie + icon_greyscale = 'modular_skyrat/modules/mutants/icons/mutant_parts_greyscale.dmi' + limb_id = SPECIES_MUTANT + +/obj/item/bodypart/l_leg/mutant/mutant_zombie + icon_greyscale = 'modular_skyrat/modules/mutants/icons/mutant_parts_greyscale.dmi' + limb_id = SPECIES_MUTANT + digitigrade_type = null + +/obj/item/bodypart/r_leg/mutant/mutant_zombie + icon_greyscale = 'modular_skyrat/modules/mutants/icons/mutant_parts_greyscale.dmi' + uses_mutcolor = TRUE + limb_id = SPECIES_MUTANT + digitigrade_type = null + diff --git a/modular_skyrat/modules/nanotrasen_naval_command/code/clothing.dm b/modular_skyrat/modules/nanotrasen_naval_command/code/clothing.dm index 0accc13507c..3582622fe87 100644 --- a/modular_skyrat/modules/nanotrasen_naval_command/code/clothing.dm +++ b/modular_skyrat/modules/nanotrasen_naval_command/code/clothing.dm @@ -45,13 +45,13 @@ icon_state = "naval_command" worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/caphat/naval/beret name = "naval beret" desc = "A beret worn by those in the Nanotrasen Navy." icon_state = "naval_beret" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/caphat/naval/fleet_admiral name = "fleet admiral's cap" diff --git a/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm b/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm index 6259257334e..5202180894d 100644 --- a/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm +++ b/modular_skyrat/modules/nanotrasen_rep/code/clothing.dm @@ -14,7 +14,7 @@ min_cold_protection_temperature = ARMOR_MIN_TEMP_PROTECT heat_protection = CHEST|ARMS|GROIN max_heat_protection_temperature = ARMOR_MAX_TEMP_PROTECT - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/under/rank/nanotrasen_consultant desc = "It's a green jumpsuit with some gold markings denoting the rank of \"Nanotrasen Consultant\"." @@ -45,7 +45,7 @@ armor = list(MELEE = 15, BULLET = 5, LASER = 15, ENERGY = 25, BOMB = 10, BIO = 0, FIRE = 30, ACID = 5, WOUND = 4) strip_delay = 60 dog_fashion = null - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/nanotrasen_consultant/beret name = "nanotrasen consultant's beret" diff --git a/modular_skyrat/modules/novaya_ert/code/head.dm b/modular_skyrat/modules/novaya_ert/code/head.dm index 530519cefd7..5f6b97ba415 100644 --- a/modular_skyrat/modules/novaya_ert/code/head.dm +++ b/modular_skyrat/modules/novaya_ert/code/head.dm @@ -4,7 +4,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "russian_green_helmet" - mutant_variants = NONE + supports_variations_flags = NONE armor = list(MELEE = 40, BULLET = 35, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 20, ACID = 50, WOUND = 20) /obj/item/clothing/head/beret/sec/nri diff --git a/modular_skyrat/modules/novaya_ert/code/suit.dm b/modular_skyrat/modules/novaya_ert/code/suit.dm index a5d07dc2d0d..046e914e90e 100644 --- a/modular_skyrat/modules/novaya_ert/code/suit.dm +++ b/modular_skyrat/modules/novaya_ert/code/suit.dm @@ -5,7 +5,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "russian_green_armor" armor = list(MELEE = 45, BULLET = 40, LASER = 20, ENERGY = 30, BOMB = 35, BIO = 0, FIRE = 50, ACID = 50, WOUND = 20) - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/heavy/nri name = "REDUT armor system" @@ -16,7 +16,7 @@ armor = list(MELEE = 70, BULLET = 60, LASER = 50, ENERGY = 50, BOMB = 100, BIO = 100, FIRE = 90, ACID = 90) slowdown = 2 equip_delay_self = 5 SECONDS - mutant_variants = STYLE_DIGITIGRADE + supports_variations_flags = CLOTHING_DIGITIGRADE_VARIATION /obj/item/clothing/suit/armor/heavy/nri/mob_can_equip(mob/living/M, mob/living/equipper, slot, disable_warning, bypass_equip_delay_self) if(is_species(M, /datum/species/teshari)) diff --git a/modular_skyrat/modules/reagent_forging/code/forge_clothing.dm b/modular_skyrat/modules/reagent_forging/code/forge_clothing.dm index cbc247487f6..2860aae1fc8 100644 --- a/modular_skyrat/modules/reagent_forging/code/forge_clothing.dm +++ b/modular_skyrat/modules/reagent_forging/code/forge_clothing.dm @@ -7,7 +7,7 @@ worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' resistance_flags = FIRE_PROOF armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0, WOUND = 30) - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/reagent_clothing/Initialize() . = ..() @@ -23,7 +23,7 @@ worn_icon = 'modular_skyrat/modules/reagent_forging/icons/mob/forge_clothing.dmi' resistance_flags = FIRE_PROOF armor = list(MELEE = 40, BULLET = 40, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 0, FIRE = 50, ACID = 0, WOUND = 30) - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/gloves/reagent_clothing/Initialize() . = ..() diff --git a/modular_skyrat/modules/robohand/code/robohand.dm b/modular_skyrat/modules/robohand/code/robohand.dm index 9cc16476c0f..068b084a1ff 100644 --- a/modular_skyrat/modules/robohand/code/robohand.dm +++ b/modular_skyrat/modules/robohand/code/robohand.dm @@ -39,7 +39,7 @@ if(!unrestricted) var/mob/living/carbon/human/human_user = user var/obj/item/bodypart/selected_hand = human_user.get_active_hand() - if(selected_hand.status != BODYPART_ROBOTIC) + if(IS_ORGANIC_LIMB(selected_hand)) to_chat(user, span_warning("You can't seem to figure out how to use [src], perhaps you need to check the manual?")) return . = ..() diff --git a/modular_skyrat/modules/salon/code/scissors.dm b/modular_skyrat/modules/salon/code/scissors.dm index e5730e5bdf7..3f91e90e5d2 100644 --- a/modular_skyrat/modules/salon/code/scissors.dm +++ b/modular_skyrat/modules/salon/code/scissors.dm @@ -51,7 +51,7 @@ if(do_after(user, haircut_duration, target_human)) target_human.hairstyle = hair_id - target_human.update_hair() + target_human.update_hair(is_creating = TRUE) user.visible_message(span_notice("[user] successfully cuts [target_human]'s hair!"), span_notice("You successfully cut [target_human]'s hair!")) new /obj/effect/decal/cleanable/hair(get_turf(src)) else @@ -72,6 +72,6 @@ if(do_after(user, facial_haircut_duration, target_human)) target_human.facial_hairstyle = facial_hair_id - target_human.update_hair() + target_human.update_hair(is_creating = TRUE) user.visible_message(span_notice("[user] successfully cuts [target_human]'s facial hair!"), span_notice("You successfully cut [target_human]'s facial hair!")) new /obj/effect/decal/cleanable/hair(get_turf(src)) diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm index 0495878cbc7..575548257ab 100644 --- a/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm +++ b/modular_skyrat/modules/sec_haul/code/peacekeeper/armadyne_clothing.dm @@ -17,7 +17,7 @@ greyscale_config_worn = /datum/greyscale_config/beret_badge_fancy/worn greyscale_colors = "#3F3C40#5B2423#491716" icon_state = "beret_badge_fancy_diagonal" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/hos/trenchcoat/peacekeeper/armadyne name = "armored armadyne trenchcoat" @@ -33,7 +33,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "armadyne_jacket" worn_icon_state = "armadyne_jacket" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/armor name = "armadyne armor vest" diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm index 139e38a9073..57ae46a2cb2 100644 --- a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm +++ b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm @@ -7,7 +7,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "peacekeeper_helmet" worn_icon_state = "peacekeeper" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/beret/sec/peacekeeper name = "peacekeeper beret" @@ -16,7 +16,7 @@ greyscale_config_worn = /datum/greyscale_config/beret_badge/worn icon_state = "beret_badge" greyscale_colors = "#3F3C40#375989" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/beret/sec/peacekeeper/white greyscale_config = /datum/greyscale_config/beret @@ -33,12 +33,12 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "peacekeeper_sergeant_cap" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/hos/beret/peacekeeper name = "head of security's peacekeeper beret" desc = "A special beret with the Head of Security's insignia emblazoned on it. A symbol of excellence, a badge of courage, a mark of distinction." - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/beret/sec/navywarden/peacekeeper name = "warden's peacekeeper beret" @@ -47,7 +47,7 @@ greyscale_config_worn = /datum/greyscale_config/beret_badge_fancy/worn greyscale_colors = "#3F3C40#FF0000#00AEEF" icon_state = "beret_badge_fancy_twist" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/glasses/hud/security/sunglasses/peacekeeper name = "peacekeeper hud glasses" @@ -104,7 +104,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "peacekeeper_armor" worn_icon_state = "peacekeeper" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/vest/peacekeeper/black name = "black peacekeeper vest" @@ -118,7 +118,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "peacekeeper_trench_hos" inhand_icon_state = "hostrench" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/vest/warden/peacekeeper name = "warden's peacekeeper jacket" @@ -126,7 +126,7 @@ icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "peacekeeper_trench_warden" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/hooded/wintercoat/security/peacekeeper icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' @@ -149,7 +149,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "peacekeeper_spacecoat" worn_icon_state = "peacekeeper_spacecoat" - mutant_variants = NONE + supports_variations_flags = NONE //PEACEKEEPER GLOVES /obj/item/clothing/gloves/combat/peacekeeper diff --git a/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm b/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm index 61522966e41..5d9e8f054c8 100644 --- a/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm +++ b/modular_skyrat/modules/sec_haul/code/security_medic/secmed_clothes.dm @@ -3,7 +3,7 @@ icon_state = "secmed_labcoat" icon = 'modular_skyrat/master_files/icons/obj/clothing/suits.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' - mutant_variants = NONE + supports_variations_flags = NONE armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/baton/telescopic, /obj/item/soap, /obj/item/tank/internals/emergency_oxygen, /obj/item/gun, /obj/item/storage/medkit) @@ -18,7 +18,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "secmed_vest" worn_icon_state = "secmed_vest" - mutant_variants = NONE + supports_variations_flags = NONE allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/baton/telescopic, /obj/item/soap, /obj/item/tank/internals/emergency_oxygen, /obj/item/gun, /obj/item/storage/medkit) armor = list(MELEE = 35, BULLET = 30, LASER = 30, ENERGY = 40, BOMB = 25, BIO = 0, FIRE = 50, ACID = 50, WOUND = 10) @@ -33,7 +33,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/suit.dmi' icon_state = "secmed_armor" worn_icon_state = "secmed_armor" - mutant_variants = NONE + supports_variations_flags = NONE allowed = list(/obj/item/analyzer, /obj/item/stack/medical, /obj/item/dnainjector, /obj/item/reagent_containers/dropper, /obj/item/reagent_containers/syringe, /obj/item/reagent_containers/hypospray, /obj/item/healthanalyzer, /obj/item/flashlight, /obj/item/reagent_containers/glass/bottle, /obj/item/reagent_containers/glass/beaker, /obj/item/reagent_containers/pill, /obj/item/storage/pill_bottle, /obj/item/paper, /obj/item/melee/baton/telescopic, /obj/item/soap, /obj/item/tank/internals/emergency_oxygen, /obj/item/gun, /obj/item/storage/medkit) /obj/item/clothing/under/rank/security/peacekeeper/security_medic @@ -61,7 +61,7 @@ desc = "A robust beret with the medical insignia emblazoned on it. Uses reinforced fabric to offer sufficient protection." greyscale_colors = "#3F3C40#870E12" icon_state = "beret_badge_med" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/head/helmet/sec/peacekeeper/security_medic name = "security medic's helmet" @@ -70,7 +70,7 @@ worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' worn_icon_state = "secmed_helmet" icon_state = "secmed_helmet" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/storage/belt/security/medic name = "security medic's belt" diff --git a/modular_skyrat/modules/stormtrooper/code/stormtrooper_clothes.dm b/modular_skyrat/modules/stormtrooper/code/stormtrooper_clothes.dm index 8281e52dae6..aa0067561ad 100644 --- a/modular_skyrat/modules/stormtrooper/code/stormtrooper_clothes.dm +++ b/modular_skyrat/modules/stormtrooper/code/stormtrooper_clothes.dm @@ -4,7 +4,7 @@ icon = 'modular_skyrat/modules/stormtrooper/icons/items.dmi' worn_icon = 'modular_skyrat/modules/stormtrooper/icons/head.dmi' icon_state = "stormtrooper_helmet" - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/suit/armor/stormtrooper name = "stormtrooper suit" @@ -12,7 +12,7 @@ icon_state = "stormtrooper_suit" icon = 'modular_skyrat/modules/stormtrooper/icons/items.dmi' worn_icon = 'modular_skyrat/modules/stormtrooper/icons/suit.dmi' - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/shoes/combat/stormtrooper name = "stormtrooper boots" @@ -26,7 +26,7 @@ resistance_flags = NONE permeability_coefficient = 0.05 //Thick soles, and covers the ankle can_be_tied = FALSE - mutant_variants = NONE + supports_variations_flags = NONE /obj/item/clothing/gloves/combat/peacekeeper/stormtrooper name = "stormtrooper gloves" diff --git a/modular_skyrat/modules/teshari/code/_teshari.dm b/modular_skyrat/modules/teshari/code/_teshari.dm index 6b62b47fedc..4fcff31606a 100644 --- a/modular_skyrat/modules/teshari/code/_teshari.dm +++ b/modular_skyrat/modules/teshari/code/_teshari.dm @@ -36,7 +36,6 @@ miss_sound = 'sound/weapons/slashmiss.ogg' payday_modifier = 0.75 species_clothing_path = 'modular_skyrat/master_files/icons/mob/clothing/species/teshari/teshari_matrixcolor_clothes.dmi' - limbs_icon = 'modular_skyrat/master_files/icons/mob/species/teshari_parts_greyscale.dmi' offset_features = list(OFFSET_UNIFORM = list(0,0), OFFSET_ID = list(0,0), OFFSET_GLOVES = list(0,0), OFFSET_GLASSES = list(0,0), OFFSET_EARS = list(0,-4), OFFSET_SHOES = list(0,0), OFFSET_S_STORE = list(0,0), OFFSET_FACEMASK = list(0,-5), OFFSET_HEAD = list(1,-4), OFFSET_FACE = list(0,0), OFFSET_BELT = list(0,0), OFFSET_BACK = list(0,-4), OFFSET_SUIT = list(0,0), OFFSET_NECK = list(0,0), OFFSET_ACCESSORY = list(0, -4)) coldmod = TESHARI_COLDMOD heatmod = TESHARI_HEATMOD @@ -50,3 +49,11 @@ species_language_holder = /datum/language_holder/teshari body_size_restricted = TRUE learnable_languages = list(/datum/language/common, /datum/language/vox, /datum/language/schechi) + bodypart_overrides = list( + BODY_ZONE_HEAD = /obj/item/bodypart/head/mutant/teshari, + BODY_ZONE_CHEST = /obj/item/bodypart/chest/mutant/teshari, + BODY_ZONE_L_ARM = /obj/item/bodypart/l_arm/mutant/teshari, + BODY_ZONE_R_ARM = /obj/item/bodypart/r_arm/mutant/teshari, + BODY_ZONE_L_LEG = /obj/item/bodypart/l_leg/mutant/teshari, + BODY_ZONE_R_LEG = /obj/item/bodypart/r_leg/mutant/teshari, + ) diff --git a/tgstation.dme b/tgstation.dme index 21e9bdea5bd..6fdf6bc8fe9 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -42,6 +42,7 @@ #include "code\__DEFINES\blackmarket.dm" #include "code\__DEFINES\blob_defines.dm" #include "code\__DEFINES\blood.dm" +#include "code\__DEFINES\bodyparts.dm" #include "code\__DEFINES\botany.dm" #include "code\__DEFINES\callbacks.dm" #include "code\__DEFINES\cargo.dm" @@ -156,6 +157,7 @@ #include "code\__DEFINES\spaceman_dmm.dm" #include "code\__DEFINES\span.dm" #include "code\__DEFINES\spatial_gridmap.dm" +#include "code\__DEFINES\species_clothing_paths.dm" #include "code\__DEFINES\speech_controller.dm" #include "code\__DEFINES\stat.dm" #include "code\__DEFINES\stat_tracking.dm" @@ -312,12 +314,14 @@ #include "code\__DEFINES\~skyrat_defines\signals.dm" #include "code\__DEFINES\~skyrat_defines\sound.dm" #include "code\__DEFINES\~skyrat_defines\span.dm" +#include "code\__DEFINES\~skyrat_defines\species_clothing_paths.dm" #include "code\__DEFINES\~skyrat_defines\teshari_clothing_paths.dm" #include "code\__DEFINES\~skyrat_defines\tools.dm" #include "code\__DEFINES\~skyrat_defines\traits.dm" #include "code\__DEFINES\~skyrat_defines\turfs.dm" #include "code\__DEFINES\~skyrat_defines\vox_defines.dm" #include "code\__DEFINES\~skyrat_defines\_globalvars\lists\mapping.dm" +#include "code\__DEFINES\~skyrat_defines\_HELPERS\lighting.dm" #include "code\__HELPERS\_lists.dm" #include "code\__HELPERS\_logging.dm" #include "code\__HELPERS\_string_lists.dm" @@ -327,6 +331,7 @@ #include "code\__HELPERS\atmospherics.dm" #include "code\__HELPERS\atoms.dm" #include "code\__HELPERS\bitflag_lists.dm" +#include "code\__HELPERS\bodyparts.dm" #include "code\__HELPERS\chat.dm" #include "code\__HELPERS\chat_filter.dm" #include "code\__HELPERS\clients.dm" @@ -1021,6 +1026,7 @@ #include "code\datums\elements\simple_flying.dm" #include "code\datums\elements\skittish.dm" #include "code\datums\elements\snail_crawl.dm" +#include "code\datums\elements\soft_landing.dm" #include "code\datums\elements\spooky.dm" #include "code\datums\elements\squish.dm" #include "code\datums\elements\strippable.dm" @@ -3304,7 +3310,6 @@ #include "code\modules\mob\living\carbon\human\species_types\shadowpeople.dm" #include "code\modules\mob\living\carbon\human\species_types\skeletons.dm" #include "code\modules\mob\living\carbon\human\species_types\snail.dm" -#include "code\modules\mob\living\carbon\human\species_types\synths.dm" #include "code\modules\mob\living\carbon\human\species_types\vampire.dm" #include "code\modules\mob\living\carbon\human\species_types\zombies.dm" #include "code\modules\mob\living\silicon\damage_procs.dm" @@ -4154,6 +4159,12 @@ #include "code\modules\surgery\bodyparts\helpers.dm" #include "code\modules\surgery\bodyparts\parts.dm" #include "code\modules\surgery\bodyparts\robot_bodyparts.dm" +#include "code\modules\surgery\bodyparts\wounds.dm" +#include "code\modules\surgery\bodyparts\species_parts\ethereal_bodyparts.dm" +#include "code\modules\surgery\bodyparts\species_parts\lizard_bodyparts.dm" +#include "code\modules\surgery\bodyparts\species_parts\misc_bodyparts.dm" +#include "code\modules\surgery\bodyparts\species_parts\moth_bodyparts.dm" +#include "code\modules\surgery\bodyparts\species_parts\plasmaman_bodyparts.dm" #include "code\modules\surgery\organs\appendix.dm" #include "code\modules\surgery\organs\augments_arms.dm" #include "code\modules\surgery\organs\augments_chest.dm" @@ -4499,7 +4510,6 @@ #include "modular_skyrat\master_files\code\modules\client\preferences\_admin.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\auto_dementor.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\be_antag.dm" -#include "modular_skyrat\master_files\code\modules\client\preferences\body_type.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\clothing.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\cursed_shit.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\delete_sparks.dm" @@ -4519,6 +4529,7 @@ #include "modular_skyrat\master_files\code\modules\client\preferences\underwear_color.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\middleware\languages.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\middleware\limbs_and_markings.dm" +#include "modular_skyrat\master_files\code\modules\client\preferences\species_features\digitigrade_legs.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\species_features\generate_side_shots.dm" #include "modular_skyrat\master_files\code\modules\client\preferences\species_features\mutant_colors.dm" #include "modular_skyrat\master_files\code\modules\clothing\anthro_clothes.dm" @@ -4574,6 +4585,18 @@ #include "modular_skyrat\master_files\code\modules\research\techweb\all_nodes.dm" #include "modular_skyrat\master_files\code\modules\shuttle\shuttle.dm" #include "modular_skyrat\master_files\code\modules\spells\wizard.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\_mutant_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\akula_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\ghoul_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\insect_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\skrell_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\teshari_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\vox_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\xenohybrid_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\robotic\_mutant_robotic_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\robotic\ipc_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\robotic\synthetic_human_bodyparts.dm" +#include "modular_skyrat\master_files\code\modules\surgery\bodyparts\species_parts\robotic\synthetic_lizard_bodyparts.dm" #include "modular_skyrat\master_files\code\modules\uplink\uplink_items.dm" #include "modular_skyrat\master_files\code\modules\vehicles\snowmobile.dm" #include "modular_skyrat\modules\additional_circuit\code\_designs.dm" @@ -4981,7 +5004,6 @@ #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\human.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\human_defense.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\human_defines.dm" -#include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\human_update_icons.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\status_procs.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\akula.dm" @@ -4995,7 +5017,6 @@ #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\mammal.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\moth.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\podweak.dm" -#include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\robotic.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\roundstartslime.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\skrell.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\tajaran.dm" @@ -5003,6 +5024,11 @@ #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\vox.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\vulpkanin.dm" #include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\xeno.dm" +#include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\robotic\_robotic.dm" +#include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\robotic\ipc.dm" +#include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\robotic\synthetic_human.dm" +#include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\robotic\synthetic_lizard.dm" +#include "modular_skyrat\modules\customization\modules\mob\living\carbon\human\species\robotic\synthetic_mammal.dm" #include "modular_skyrat\modules\customization\modules\mob\living\simple_mob\examine.dm" #include "modular_skyrat\modules\customization\modules\reagents\chemistry\reagents.dm" #include "modular_skyrat\modules\customization\modules\reagents\chemistry\reagents\alcohol_reagents.dm" @@ -5016,8 +5042,6 @@ #include "modular_skyrat\modules\customization\modules\surgery\robot_brain_surgery.dm" #include "modular_skyrat\modules\customization\modules\surgery\robot_chassis_restoration.dm" #include "modular_skyrat\modules\customization\modules\surgery\robot_healing.dm" -#include "modular_skyrat\modules\customization\modules\surgery\robot_restore_looks.dm" -#include "modular_skyrat\modules\customization\modules\surgery\bodyparts\_bodyparts.dm" #include "modular_skyrat\modules\customization\modules\surgery\bodyparts\robot_bodyparts.dm" #include "modular_skyrat\modules\customization\modules\surgery\bodyparts\robot_parts.dm" #include "modular_skyrat\modules\customization\modules\surgery\organs\ears.dm" @@ -5286,7 +5310,7 @@ #include "modular_skyrat\modules\modular_ert\code\pizza\weaponry.dm" #include "modular_skyrat\modules\modular_ert\code\trauma_team\ert.dm" #include "modular_skyrat\modules\modular_ert\code\trauma_team\ert_antag.dm" -#include "modular_skyrat\modules\modular_ert\code\trauma_team\truama_team_outfit.dm" +#include "modular_skyrat\modules\modular_ert\code\trauma_team\trauma_team_outfit.dm" #include "modular_skyrat\modules\modular_items\code\bags.dm" #include "modular_skyrat\modules\modular_items\code\ciggies.dm" #include "modular_skyrat\modules\modular_items\code\cross.dm" @@ -5438,6 +5462,7 @@ #include "modular_skyrat\modules\mutants\code\mutant_event.dm" #include "modular_skyrat\modules\mutants\code\mutant_species.dm" #include "modular_skyrat\modules\mutants\code\mutant_techweb.dm" +#include "modular_skyrat\modules\mutants\code\mutant_zombie_bodyparts.dm" #include "modular_skyrat\modules\nanotrasen_naval_command\code\clothing.dm" #include "modular_skyrat\modules\nanotrasen_naval_command\code\id_trims.dm" #include "modular_skyrat\modules\nanotrasen_naval_command\code\outfits.dm" diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx index 340750c12e8..f6f36a3a673 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx @@ -297,24 +297,11 @@ export const spines_emissive: Feature = { component: FeatureTriBoolInput, }; -export const legs_toggle: FeatureToggle = { +export const digitigrade_legs: FeatureChoiced = { name: "Legs", - description: "Add some lore for your species! Won't show up if there's no custom species.", - component: CheckboxInput, -}; - -export const feature_legs: Feature = { - name: "Legs Selection", - description: "Want to have a fancy species name? Put it here, or leave it blank.", component: FeatureDropdownInput, }; -export const legs_color: Feature = { - name: "Legs Colors", - description: "Want to have a fancy species name? Put it here, or leave it blank.", - component: FeatureTriColorInput, -}; - export const caps_toggle: FeatureToggle = { name: "Cap", description: "Add some lore for your species! Won't show up if there's no custom species.",