diff --git a/code/__DEFINES/DNA.dm b/code/__DEFINES/DNA.dm index dea4bc8f6671..67dc42d5010d 100644 --- a/code/__DEFINES/DNA.dm +++ b/code/__DEFINES/DNA.dm @@ -109,7 +109,6 @@ #define ORGAN_SLOT_EXTERNAL_ANTENNAE "antennae" #define ORGAN_SLOT_EXTERNAL_POD_HAIR "pod_hair" #define ORGAN_SLOT_EXTERNAL_HEAD_TENTACLES "head_tentacles" // NON-MODULE CHANGE -#define ORGAN_SLOT_EXTERNAL_SYNTH_HEAD_COVER "synth_head_cover" //NON-MODULE CHANGE /// Xenomorph organ slots #define ORGAN_SLOT_XENO_ACIDGLAND "acid_gland" diff --git a/code/controllers/subsystem/sprite_accessories.dm b/code/controllers/subsystem/sprite_accessories.dm index 971099f0114e..d240f48e49da 100644 --- a/code/controllers/subsystem/sprite_accessories.dm +++ b/code/controllers/subsystem/sprite_accessories.dm @@ -62,7 +62,6 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity var/list/arm_wingsopen_list var/list/tails_list_avian var/list/avian_ears_list - var/list/synth_head_cover_list var/list/tails_list_rat var/list/rat_ears_list var/list/bat_ears_list @@ -133,7 +132,6 @@ SUBSYSTEM_DEF(accessories) // just 'accessories' for brevity arm_wingsopen_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/arm_wingsopen)[DEFAULT_SPRITE_LIST] tails_list_avian = init_sprite_accessory_subtypes(/datum/sprite_accessory/tails/avian/)[DEFAULT_SPRITE_LIST] avian_ears_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/plumage)[DEFAULT_SPRITE_LIST] - synth_head_cover_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/synth_head_cover)[DEFAULT_SPRITE_LIST] tails_list_rat = init_sprite_accessory_subtypes(/datum/sprite_accessory/tail_rat, add_blank = TRUE)[DEFAULT_SPRITE_LIST] rat_ears_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_rat, add_blank = TRUE)[DEFAULT_SPRITE_LIST] bat_ears_list = init_sprite_accessory_subtypes(/datum/sprite_accessory/ears_bat, add_blank = TRUE)[DEFAULT_SPRITE_LIST] diff --git a/code/modules/mob/living/carbon/human/dummy.dm b/code/modules/mob/living/carbon/human/dummy.dm index f98990c951f2..384b13be1f88 100644 --- a/code/modules/mob/living/carbon/human/dummy.dm +++ b/code/modules/mob/living/carbon/human/dummy.dm @@ -122,7 +122,6 @@ INITIALIZE_IMMEDIATE(/mob/living/carbon/human/dummy) target.dna.features["arm_wings"] = get_consistent_feature_entry(SSaccessories.arm_wings_list) // NON-MODULE CHANGE target.dna.features["tail_avian"] = get_consistent_feature_entry(SSaccessories.tails_list_avian) // NON-MODULE CHANGE target.dna.features["ears_avian"] = get_consistent_feature_entry(SSaccessories.avian_ears_list) // NON-MODULE CHANGE - target.dna.features["synth_head_cover"] = get_consistent_feature_entry(SSaccessories.synth_head_cover_list) // NON-MODULE CHANGE target.dna.features["feathers"] = "#FF3B76" //NON-MODULE CHANGE target.dna.features["animid_type"] = /datum/animid_type/cat::id //NON-MODULE CHANGE target.dna.features["bat_ears"] = get_consistent_feature_entry(SSaccessories.bat_ears_list) //NON-MODULE CHANGE diff --git a/code/modules/surgery/bodyparts/robot_bodyparts.dm b/code/modules/surgery/bodyparts/robot_bodyparts.dm index 293ffc0e64ae..23677def05bc 100644 --- a/code/modules/surgery/bodyparts/robot_bodyparts.dm +++ b/code/modules/surgery/bodyparts/robot_bodyparts.dm @@ -420,7 +420,7 @@ damage_examines = list(BRUTE = ROBOTIC_BRUTE_EXAMINE_TEXT, BURN = ROBOTIC_BURN_EXAMINE_TEXT) - head_flags = HEAD_EYESPRITES + head_flags = HEAD_EYESPRITES | HEAD_EYECOLOR bodypart_flags = BODYPART_UNHUSKABLE var/obj/item/assembly/flash/handheld/flash1 = null diff --git a/maplestation.dme b/maplestation.dme index 5d0fc3d1094b..5b5228d93d72 100644 --- a/maplestation.dme +++ b/maplestation.dme @@ -6720,6 +6720,7 @@ #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\animid\animid_prefs.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\animid\animid_rat.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\android.dm" +#include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\android_battery.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\android_brain.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\android_ears.dm" #include "maplestation_modules\code\modules\mob\living\carbon\human\species_types\synth\android_effects.dm" diff --git a/maplestation_modules/code/game/objects/items/cybernetics_paintkit.dm b/maplestation_modules/code/game/objects/items/cybernetics_paintkit.dm index 3560c1cf5c8d..18e4312dce5b 100644 --- a/maplestation_modules/code/game/objects/items/cybernetics_paintkit.dm +++ b/maplestation_modules/code/game/objects/items/cybernetics_paintkit.dm @@ -20,6 +20,11 @@ "zhenkov" = 'maplestation_modules/icons/mob/augmentation/zhenkovipc.dmi', "zhenkov dark" = 'maplestation_modules/icons/mob/augmentation/zhenkovipc_dark.dmi', "ZHP" = 'maplestation_modules/icons/mob/augmentation/zhpipc.dmi', + "Vintage Cybersun" = 'maplestation_modules/icons/mob/augmentation/vintage_cybersun.dmi', + "S-Tech" = 'maplestation_modules/icons/mob/augmentation/s-tech.dmi', + "Skull" = 'maplestation_modules/icons/mob/augmentation/skull.dmi', + "Drone" = 'maplestation_modules/icons/mob/augmentation/drone.dmi', + "Nemo" = 'maplestation_modules/icons/mob/augmentation/flat.dmi' ) var/static/list/emissive_augments = list( diff --git a/maplestation_modules/code/modules/client/preferences/species/synth.dm b/maplestation_modules/code/modules/client/preferences/species/synth.dm index ffc12238495b..9cad654e8b07 100644 --- a/maplestation_modules/code/modules/client/preferences/species/synth.dm +++ b/maplestation_modules/code/modules/client/preferences/species/synth.dm @@ -70,43 +70,6 @@ /datum/preference/choiced/synth_blood/is_accessible(datum/preferences/preferences) return ..() && ispath(preferences.read_preference(/datum/preference/choiced/species), /datum/species/android/synth) -//synth head covers (aka head design options) -/datum/preference/choiced/synth_head_cover - main_feature_name = "Head Cover" - savefile_key = "feature_synth_head_cover" - - savefile_identifier = PREFERENCE_CHARACTER - category = PREFERENCE_CATEGORY_FEATURES - can_randomize = TRUE - relevant_external_organ = /obj/item/organ/synth_head_cover - should_generate_icons = TRUE - -/datum/preference/choiced/synth_head_cover/init_possible_values() - return assoc_to_keys(SSaccessories.synth_head_cover_list) - -/datum/preference/choiced/synth_head_cover/icon_for(value) - var/datum/sprite_accessory/sprite_accessory = SSaccessories.synth_head_cover_list[value] - var/datum/universal_icon/head = uni_icon('maplestation_modules/icons/mob/synth_heads.dmi', "synth_head", SOUTH) - - var/datum/universal_icon/final_icon = head.copy() - - if (!isnull(sprite_accessory)) - for(var/side in list("ADJ", "FRONT")) - var/datum/universal_icon/accessory_icon = uni_icon('maplestation_modules/icons/mob/synth_heads.dmi', "m_synth_head_cover_[sprite_accessory.icon_state]_ADJ", dir = SOUTH) - final_icon.blend_icon(accessory_icon, ICON_OVERLAY) - - final_icon.crop(11, 20, 23, 32) - final_icon.scale(32, 32) - final_icon.blend_color(COLOR_GRAY, ICON_MULTIPLY) - - return final_icon - -/datum/preference/choiced/synth_head_cover/apply_to_human(mob/living/carbon/human/target, value) - target.dna.features["synth_head_cover"] = value - -/datum/preference/choiced/synth_head_cover/create_default_value() - return /datum/sprite_accessory/synth_head_cover::name - /datum/preference/choiced/android_species savefile_key = "feature_android_species" savefile_identifier = PREFERENCE_CHARACTER diff --git a/maplestation_modules/code/modules/loadouts/limb_items/limb_organs.dm b/maplestation_modules/code/modules/loadouts/limb_items/limb_organs.dm index 55c9cda35d40..171334f3718d 100644 --- a/maplestation_modules/code/modules/loadouts/limb_items/limb_organs.dm +++ b/maplestation_modules/code/modules/loadouts/limb_items/limb_organs.dm @@ -52,3 +52,16 @@ ui_zone = BODY_ZONE_L_ARM pref_list_slot = ORGAN_SLOT_LEFT_ARM_AUG // Yeah you can have one in both arms if you want, don't really care + + +//battery core stuff +/datum/limb_option_datum/organ/synthetic + tooltip = "Unique to Androids and Synthetics." + +/datum/limb_option_datum/organ/synthetic/can_be_selected(datum/preferences/prefs) + return ispath(prefs.read_preference(/datum/preference/choiced/species), /datum/species/android) + +/datum/limb_option_datum/organ/synthetic/battery_core + tooltip = "Replaces the stomach with a battery with more charge, but cannot process food or chemicals. Unique to Androids and Synthetics." + name = "Battery Core" + limb_path = /obj/item/organ/stomach/ethereal/android/battery_core diff --git a/maplestation_modules/code/modules/loadouts/limb_items/limb_reskin_heads.dm b/maplestation_modules/code/modules/loadouts/limb_items/limb_reskin_heads.dm index 6cc8ecfda130..8f4cff57908d 100644 --- a/maplestation_modules/code/modules/loadouts/limb_items/limb_reskin_heads.dm +++ b/maplestation_modules/code/modules/loadouts/limb_items/limb_reskin_heads.dm @@ -57,3 +57,34 @@ /datum/limb_option_datum/bodypart/cybernetic_head/zhp name = "ZHP Cybernetic Head" limb_path = /obj/item/bodypart/head/robot/zhp + +// // -- Synth&Android DLC -- +/datum/limb_option_datum/bodypart/cybernetic_head/helm + name = "Vintage 2415 Cybersun Head" + limb_path = /obj/item/bodypart/head/robot/helm + +/datum/limb_option_datum/bodypart/cybernetic_head/nemo + name = "Nemo Screen Head" + limb_path = /obj/item/bodypart/head/robot/nemo + +/datum/limb_option_datum/bodypart/cybernetic_head/cloak + name = "Frontech Model X Head" + limb_path = /obj/item/bodypart/head/robot/cloak + +/datum/limb_option_datum/bodypart/cybernetic_head/gumhead + tooltip = "Character Item. Unique to Androids and Synthetics" + name = "S-Tech GUM Model Head" + limb_path = /obj/item/bodypart/head/robot/gumhead + +/datum/limb_option_datum/bodypart/cybernetic_head/skull + name = "Robotic Skull" + limb_path = /obj/item/bodypart/head/robot/skull + +/datum/limb_option_datum/bodypart/cybernetic_head/drone + name = "Drone Head" + limb_path = /obj/item/bodypart/head/robot/drone + +/datum/limb_option_datum/bodypart/cybernetic_head/fss_clara + tooltip = "Character Item. Unique to Androids and Synthetics" + name = "FSS Redesigned Head" + limb_path = /obj/item/bodypart/head/robot/fss_clara diff --git a/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm b/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm index 1f5c98fa41f4..3de194d3cbbd 100644 --- a/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm +++ b/maplestation_modules/code/modules/mob/dead/new_player/sprite_accessories.dm @@ -519,18 +519,6 @@ icon_state = "divinity" icon = 'maplestation_modules/icons/mob/frills.dmi' -// -- Synth head coverings -- -/datum/sprite_accessory/synth_head_cover - icon = 'maplestation_modules/icons/mob/synth_heads.dmi' - -/datum/sprite_accessory/synth_head_cover/helm - name = "Helm" - icon_state = "helm" - -/datum/sprite_accessory/synth_head_cover/tv_blank - name = "Tv_blank" - icon_state = "tv_blank" - /// --- Socks --- diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/android_battery.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/android_battery.dm new file mode 100644 index 000000000000..7e086a73d3c3 --- /dev/null +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/android_battery.dm @@ -0,0 +1,19 @@ +//Adds a new android stomach type which has more charge than the android stomach, but makes it impossible to eat. +/obj/item/organ/stomach/ethereal/android/battery_core + name = "Battery Core" + desc = "A robotic stomach replacement with many layers of batteries instead of a bioreactor." + icon = 'maplestation_modules/icons/obj/medical/organs/organs.dmi' + icon_state = "stomach_battery" + + passive_drain_multiplier = 0.3 //drains slower than default robots + stomach_blood_transfer_rate = 0 //chems don't work too... + nutrition_multiplier = 0 + booze_multiplier = 0 + discharge_chance = 0.5 + +/obj/item/organ/stomach/ethereal/android/battery_core/effective_charge() + . = ..() + +/obj/item/organ/stomach/ethereal/android/battery_core/handle_chemical(mob/living/carbon/source, datum/reagent/chem, seconds_per_tick, times_fired) + //No booze, no drink, no food. It is not a stomach, it is a battery! + return NONE diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/android_stomach.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/android_stomach.dm index caa21ca031fe..f8b3f70f8f1c 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/android_stomach.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/android_stomach.dm @@ -10,6 +10,12 @@ VAR_PRIVATE/death_timer var/sleep_mode_multiplier = 0.33 + /// Conversion factor between nutrition -> charge + var/nutrition_multiplier = 5 + /// Conversion factor between booze -> charge + var/booze_multiplier = 0.75 + /// Chance of discharging when overcharged + var/discharge_chance = 5 /obj/item/organ/stomach/ethereal/android/emp_act(severity) . = ..() @@ -68,19 +74,15 @@ . += conditional_tooltip("(Critical: Overcharge)", "Await automatic discharge. Stand back once the process begins.", add_tooltips) . = span_bolddanger(.) -/// Conversion factor between nutrition -> charge -#define NUTRITION_MULTIPLIER 5 -/// Conversion factor between alcohol -> charge -#define BOOZE_MULTIPLIER 0.75 /obj/item/organ/stomach/ethereal/android/effective_charge() . = ..() for(var/datum/reagent/consumable/biofuel in reagents.reagent_list) if(istype(biofuel, /datum/reagent/consumable/ethanol)) var/datum/reagent/consumable/ethanol/ethanol = biofuel - . += BOOZE_MULTIPLIER * ethanol.boozepwr * (biofuel.volume / biofuel.metabolization_rate) + . += booze_multiplier * ethanol.boozepwr * (biofuel.volume / biofuel.metabolization_rate) else - . += NUTRITION_MULTIPLIER * biofuel.nutriment_factor * (biofuel.volume / biofuel.metabolization_rate) + . += nutrition_multiplier * biofuel.nutriment_factor * (biofuel.volume / biofuel.metabolization_rate) /obj/item/organ/stomach/ethereal/android/proc/handle_chemical(mob/living/carbon/source, datum/reagent/chem, seconds_per_tick, times_fired) SIGNAL_HANDLER @@ -99,20 +101,17 @@ // nutriments are transformed into charge, bioreactor style if(istype(chem, /datum/reagent/consumable/ethanol)) var/datum/reagent/consumable/ethanol/ethanol_chem = chem - cell.give(round(BOOZE_MULTIPLIER * ethanol_chem.boozepwr * seconds_per_tick, 1)) + cell.give(round(booze_multiplier * ethanol_chem.boozepwr * seconds_per_tick, 1)) source.adjust_body_temperature(0.6 KELVIN * seconds_per_tick, max_temp = source.bodytemp_heat_damage_limit) else var/datum/reagent/consumable/consumable_chem = chem - cell.give(round(NUTRITION_MULTIPLIER * consumable_chem.nutriment_factor * seconds_per_tick, 1)) + cell.give(round(nutrition_multiplier * consumable_chem.nutriment_factor * seconds_per_tick, 1)) source.adjust_body_temperature(0.3 KELVIN * seconds_per_tick, max_temp = source.bodytemp_heat_damage_limit) // allows for default handling return NONE -#undef NUTRITION_MULTIPLIER -#undef BOOZE_MULTIPLIER - /obj/item/organ/stomach/ethereal/android/on_life(seconds_per_tick, times_fired) . = ..() switch(cell.charge()) @@ -170,7 +169,7 @@ if(ETHEREAL_CHARGE_OVERLOAD to ETHEREAL_CHARGE_DANGEROUS) carbon.add_mood_event(ALERT_ETHEREAL_CHARGE, /datum/mood_event/android_supercharged) has_flags |= HAS_MOOD_EVENT - if(SPT_PROB(5, seconds_per_tick)) // 5% each seacond for ethereals to explosively release excess energy if it reaches dangerous levels + if(SPT_PROB(discharge_chance, seconds_per_tick)) // discharge_chance% each second for ethereals to explosively release excess energy if it reaches dangerous levels discharge_process(carbon) carbon.hud_used?.hunger?.update_hunger_bar() diff --git a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/synth.dm b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/synth.dm index cd4c7b9b9204..f51e8a66ff9d 100644 --- a/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/synth.dm +++ b/maplestation_modules/code/modules/mob/living/carbon/human/species_types/synth/synth.dm @@ -30,7 +30,6 @@ digitigrade_legs = null mutanttongue = /obj/item/organ/tongue/robot/synth - mutant_organs = list(/obj/item/organ/synth_head_cover = "Helm") allow_fleshy_bits = TRUE /// Reference to the species we're disguised as. @@ -412,85 +411,4 @@ /obj/item/organ/eyes/robotic/synth name = "synth eyes" -// Organ for synth head covers. - -/obj/item/organ/synth_head_cover - name = "Head Cover" - desc = "It is a cover that goes on a synth head." - - zone = BODY_ZONE_HEAD - slot = ORGAN_SLOT_EXTERNAL_SYNTH_HEAD_COVER - - preference = "feature_synth_head_cover" - - organ_flags = ORGAN_ROBOTIC - - bodypart_overlay = /datum/bodypart_overlay/mutant/synth_head_cover - organ_flags = parent_type::organ_flags | ORGAN_EXTERNAL - - -/obj/item/organ/synth_head_cover/on_bodypart_insert(obj/item/bodypart/head/limb, movement_flags) - . = ..() - limb.head_flags &= ~HEAD_EYESPRITES - -/obj/item/organ/synth_head_cover/on_bodypart_remove(obj/item/bodypart/head/limb, movement_flags) - . = ..() - if(initial(limb.head_flags) & HEAD_EYESPRITES) - limb.head_flags |= HEAD_EYESPRITES - -//-- overlay -- -/datum/bodypart_overlay/mutant/synth_head_cover/get_global_feature_list() - return SSaccessories.synth_head_cover_list - -/datum/bodypart_overlay/mutant/synth_head_cover/can_draw_on_bodypart(obj/item/bodypart/bodypart_owner) - if(bodypart_owner.owner?.obscured_slots & HIDEHAIR) - return FALSE - if(bodypart_owner.limb_id == BODYPART_ID_SYNTH) // disguised = no head cover - return TRUE - if(IS_ROBOTIC_LIMB(bodypart_owner)) // works on android limbs too - return TRUE - return FALSE - -/datum/bodypart_overlay/mutant/synth_head_cover - feature_key = "synth_head_cover" - layers = ALL_EXTERNAL_OVERLAYS - -//-- accessories -- -//the path to the icon for the head covers -/datum/sprite_accessory/synth_head_cover - icon = 'maplestation_modules/icons/mob/synth_heads.dmi' - -//head covers -/datum/sprite_accessory/synth_head_cover/none // for those that don't want a cover. - name = "None" - icon_state = null - -//A kind of helmet looking thing with a big black screen/face cover thing. I dunno what else to call this. -/datum/sprite_accessory/synth_head_cover/helm - name = "Helm" - icon_state = "helm" - -//helm with white plastic on the sides. -/datum/sprite_accessory/synth_head_cover/helm_white - name = "White Helm" - icon_state = "helm_white" - -//just the IPC TV that is already in the code base -/datum/sprite_accessory/synth_head_cover/tv_blank - name = "Tv_blank" - icon_state = "tv_blank" - -//a cool design inspired from cloak pilots in titanfall 2, *sorta*. -/datum/sprite_accessory/synth_head_cover/cloakp - name = "Cloakp" - icon_state = "cloakp" - -//GUMTEETH's head -/datum/sprite_accessory/synth_head_cover/gumhead - name = "GUMHEAD" - icon_state = "gumhead" - -// add more here!! - - #undef BODYPART_ID_SYNTH diff --git a/maplestation_modules/code/modules/surgery/bodyparts/cyber_reskins.dm b/maplestation_modules/code/modules/surgery/bodyparts/cyber_reskins.dm index 58d243383a9d..cb2ccc8a8d86 100644 --- a/maplestation_modules/code/modules/surgery/bodyparts/cyber_reskins.dm +++ b/maplestation_modules/code/modules/surgery/bodyparts/cyber_reskins.dm @@ -461,3 +461,46 @@ icon = 'maplestation_modules/icons/mob/augmentation/monokai.dmi' icon_static = 'maplestation_modules/icons/mob/augmentation/monokai.dmi' is_emissive = TRUE + +// -- Previously synth head coverings -- + +/obj/item/bodypart/head/robot/helm + icon_state = "robotic_head" + icon = 'maplestation_modules/icons/mob/augmentation/vintage_cybersun.dmi' + icon_static = 'maplestation_modules/icons/mob/augmentation/vintage_cybersun.dmi' + +/obj/item/bodypart/head/robot/nemo + icon_state = "robotic_head" + icon = 'maplestation_modules/icons/mob/augmentation/flat.dmi' + icon_static = 'maplestation_modules/icons/mob/augmentation/flat.dmi' + head_flags = NONE + +/obj/item/bodypart/head/robot/cloak + icon_state = "robotic_head" + icon = 'maplestation_modules/icons/mob/augmentation/cloak.dmi' + icon_static = 'maplestation_modules/icons/mob/augmentation/cloak.dmi' + head_flags = NONE + +/obj/item/bodypart/head/robot/gumhead + icon_state = "robotic_head" + icon = 'maplestation_modules/icons/mob/augmentation/s-tech.dmi' + icon_static = 'maplestation_modules/icons/mob/augmentation/s-tech.dmi' + head_flags = NONE + +/obj/item/bodypart/head/robot/skull + icon_state = "robotic_head" + icon = 'maplestation_modules/icons/mob/augmentation/skull.dmi' + icon_static = 'maplestation_modules/icons/mob/augmentation/skull.dmi' + head_flags = HEAD_EYECOLOR|HEAD_EYESPRITES|HEAD_EYEHOLES + +/obj/item/bodypart/head/robot/drone + icon_state = "robotic_head" + icon = 'maplestation_modules/icons/mob/augmentation/drone.dmi' + icon_static = 'maplestation_modules/icons/mob/augmentation/drone.dmi' + head_flags = HEAD_EYECOLOR|HEAD_EYESPRITES|HEAD_HAIR + +/obj/item/bodypart/head/robot/fss_clara + icon_state = "robotic_head" + icon = 'maplestation_modules/icons/mob/augmentation/FSS.dmi' + icon_static = 'maplestation_modules/icons/mob/augmentation/FSS.dmi' + head_flags = HEAD_EYECOLOR|HEAD_EYESPRITES diff --git a/maplestation_modules/icons/mob/augmentation/FSS.dmi b/maplestation_modules/icons/mob/augmentation/FSS.dmi new file mode 100644 index 000000000000..307e490fa534 Binary files /dev/null and b/maplestation_modules/icons/mob/augmentation/FSS.dmi differ diff --git a/maplestation_modules/icons/mob/augmentation/cloak.dmi b/maplestation_modules/icons/mob/augmentation/cloak.dmi new file mode 100644 index 000000000000..2286e3e4378a Binary files /dev/null and b/maplestation_modules/icons/mob/augmentation/cloak.dmi differ diff --git a/maplestation_modules/icons/mob/augmentation/drone.dmi b/maplestation_modules/icons/mob/augmentation/drone.dmi new file mode 100644 index 000000000000..70419364dcb1 Binary files /dev/null and b/maplestation_modules/icons/mob/augmentation/drone.dmi differ diff --git a/maplestation_modules/icons/mob/augmentation/flat.dmi b/maplestation_modules/icons/mob/augmentation/flat.dmi new file mode 100644 index 000000000000..22ca83ba982c Binary files /dev/null and b/maplestation_modules/icons/mob/augmentation/flat.dmi differ diff --git a/maplestation_modules/icons/mob/augmentation/s-tech.dmi b/maplestation_modules/icons/mob/augmentation/s-tech.dmi new file mode 100644 index 000000000000..b9f57f6a1d8f Binary files /dev/null and b/maplestation_modules/icons/mob/augmentation/s-tech.dmi differ diff --git a/maplestation_modules/icons/mob/augmentation/skull.dmi b/maplestation_modules/icons/mob/augmentation/skull.dmi new file mode 100644 index 000000000000..5b378f11395d Binary files /dev/null and b/maplestation_modules/icons/mob/augmentation/skull.dmi differ diff --git a/maplestation_modules/icons/mob/augmentation/vintage_cybersun.dmi b/maplestation_modules/icons/mob/augmentation/vintage_cybersun.dmi new file mode 100644 index 000000000000..d8ff296b08ee Binary files /dev/null and b/maplestation_modules/icons/mob/augmentation/vintage_cybersun.dmi differ diff --git a/maplestation_modules/icons/obj/medical/organs/organs.dmi b/maplestation_modules/icons/obj/medical/organs/organs.dmi new file mode 100644 index 000000000000..50bf8b328439 Binary files /dev/null and b/maplestation_modules/icons/obj/medical/organs/organs.dmi differ diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/_modular_species_features.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/_modular_species_features.tsx index 649fa2725deb..a63593dadfe1 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/_modular_species_features.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/_modular_species_features.tsx @@ -21,11 +21,6 @@ export const feature_head_tentacles: FeatureChoiced = { component: FeatureDropdownInput, }; -export const feature_synth_head_cover: FeatureChoiced = { - name: 'Head Cover', - component: FeatureDropdownInput, -}; - export const hair_lizard: FeatureToggle = { name: 'Hair Lizard', description: 'Check to spawn as a Lizard with hair.',