diff --git a/code/modules/mob/dead/new_player/sprite_accessories/synthliz.dm b/code/modules/mob/dead/new_player/sprite_accessories/synthliz.dm new file mode 100644 index 0000000000..21ba17cf40 --- /dev/null +++ b/code/modules/mob/dead/new_player/sprite_accessories/synthliz.dm @@ -0,0 +1,114 @@ +//Synth snouts (This is the most important part) +/datum/sprite_accessory/mam_snouts/synthliz/synthliz_basic + icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard - Snout" + icon_state = "synthliz_basic" + +/datum/sprite_accessory/mam_snouts/synthliz/synthliz_under + icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' + color_src = MATRIXED + name = "Synthetic Lizard - Snout Under" + icon_state = "synthliz_under" + +/datum/sprite_accessory/mam_snouts/synthliz/synthliz_tert + icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' + color_src = MATRIXED + name = "Synthetic Lizard - Snout Tertiary" + icon_state = "synthliz_tert" + +/datum/sprite_accessory/mam_snouts/synthliz/synthliz_tertunder + icon = 'modular_citadel/icons/mob/synthliz_snouts.dmi' + color_src = MATRIXED + name = "Synthetic Lizard - Snout Tertiary Under" + icon_state = "synthliz_tertunder" + +//Synth body markings +/datum/sprite_accessory/mam_body_markings/synthliz/synthliz_scutes + icon = 'modular_citadel/icons/mob/synthliz_body_markings.dmi' + name = "Synthetic Lizard - Plates" + icon_state = "synthlizscutes" + +/datum/sprite_accessory/mam_body_markings/synthliz/synthliz_pecs + icon = 'modular_citadel/icons/mob/synthliz_body_markings.dmi' + name = "Synthetic Lizard - Pecs" + icon_state = "synthlizpecs" + +/datum/sprite_accessory/mam_body_markings/synthliz/synthliz_pecslight + icon = 'modular_citadel/icons/mob/synthliz_body_markings.dmi' + name = "Synthetic Lizard - Pecs Light" + icon_state = "synthlizpecslight" + +//Synth tails +/datum/sprite_accessory/mam_tails/synthliz/synthliz_tail + icon = 'modular_citadel/icons/mob/synthliz_tails.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard" + icon_state = "synthliz" + +/datum/sprite_accessory/mam_tails_animated/synthliz/synthliz_tail + icon = 'modular_citadel/icons/mob/synthliz_tails.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard" + icon_state = "synthliz" + +//Synth Antennae +/datum/sprite_accessory/antenna/synthliz/synthliz_none + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MUTCOLORS + name = "None" + icon_state = "None" + +/datum/sprite_accessory/antenna/synthliz/synthliz_antennae + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard - Antennae" + icon_state = "synth_antennae" + +/datum/sprite_accessory/antenna/synthliz/synthliz_curled + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard - Curled" + icon_state = "synth_curled" + +/datum/sprite_accessory/antenna/synthliz/synthliz_thick + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard - Thick" + icon_state = "synth_thick" + +/datum/sprite_accessory/antenna/synthliz/synth_thicklight + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MATRIXED + name = "Synthetic Lizard - Thick Light" + icon_state = "synth_thicklight" + +/datum/sprite_accessory/antenna/synthliz/synth_short + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard - Short" + icon_state = "synth_short" + +/datum/sprite_accessory/antenna/synthliz/synth_sharp + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard - Sharp" + icon_state = "synth_sharp" + +/datum/sprite_accessory/antenna/synthliz/synth_sharplight + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MATRIXED + name = "Synthetic Lizard - Sharp Light" + icon_state = "synth_sharplight" + +/datum/sprite_accessory/antenna/synthliz/synth_horns + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MUTCOLORS + name = "Synthetic Lizard - Horns" + icon_state = "synth_horns" + +/datum/sprite_accessory/antenna/synthliz/synth_hornslight + icon = 'modular_citadel/icons/mob/synthliz_antennas.dmi' + color_src = MATRIXED + name = "Synthetic Lizard - Horns Light" + icon_state = "synth_hornslight" diff --git a/code/modules/mob/living/carbon/human/species_types/synthliz.dm b/code/modules/mob/living/carbon/human/species_types/synthliz.dm new file mode 100644 index 0000000000..47bd3cdaf5 --- /dev/null +++ b/code/modules/mob/living/carbon/human/species_types/synthliz.dm @@ -0,0 +1,51 @@ +/datum/species/synthliz + name = "Synthetic Lizardperson" + id = "synthliz" + icon_limbs = DEFAULT_BODYPART_ICON_CITADEL + say_mod = "beeps" + default_color = "00FF00" + species_traits = list(MUTCOLORS,NOTRANSSTING,EYECOLOR,LIPS,HAIR) + inherent_biotypes = MOB_ROBOTIC|MOB_HUMANOID + mutant_bodyparts = list("ipc_antenna","mam_tail", "mam_snouts","legs", "mam_body_markings") + default_features = list("ipc_antenna" = "Synthetic Lizard - Antennae","mam_tail" = "Synthetic Lizard", "mam_snouts" = "Synthetic Lizard - Snout", "legs" = "Digitigrade", "mam_body_markings" = "Synthetic Lizard - Plates") + meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/ipc + gib_types = list(/obj/effect/gibspawner/ipc, /obj/effect/gibspawner/ipc/bodypartless) + mutanttongue = /obj/item/organ/tongue/robot/ipc + //Just robo looking parts. + mutant_heart = /obj/item/organ/heart/ipc + mutantlungs = /obj/item/organ/lungs/ipc + mutantliver = /obj/item/organ/liver/ipc + mutantstomach = /obj/item/organ/stomach/ipc + mutanteyes = /obj/item/organ/eyes/ipc + + +/datum/species/synthliz/qualifies_for_rank(rank, list/features) + return TRUE + +//I wag in death +/datum/species/synthliz/spec_death(gibbed, mob/living/carbon/human/H) + if(H) + stop_wagging_tail(H) + +/datum/species/synthliz/spec_stun(mob/living/carbon/human/H,amount) + if(H) + stop_wagging_tail(H) + . = ..() + +/datum/species/synthliz/can_wag_tail(mob/living/carbon/human/H) + return ("mam_tail" in mutant_bodyparts) || ("mam_waggingtail" in mutant_bodyparts) + +/datum/species/synthliz/is_wagging_tail(mob/living/carbon/human/H) + return ("mam_waggingtail" in mutant_bodyparts) + +/datum/species/synthliz/start_wagging_tail(mob/living/carbon/human/H) + if("mam_tail" in mutant_bodyparts) + mutant_bodyparts -= "mam_tail" + mutant_bodyparts |= "mam_waggingtail" + H.update_body() + +/datum/species/synthliz/stop_wagging_tail(mob/living/carbon/human/H) + if("mam_waggingtail" in mutant_bodyparts) + mutant_bodyparts -= "mam_waggingtail" + mutant_bodyparts |= "mam_tail" + H.update_body() \ No newline at end of file diff --git a/code/modules/surgery/bodyparts/bodyparts.dm b/code/modules/surgery/bodyparts/bodyparts.dm index b3d55f9af4..76beea5082 100644 --- a/code/modules/surgery/bodyparts/bodyparts.dm +++ b/code/modules/surgery/bodyparts/bodyparts.dm @@ -375,8 +375,8 @@ if(Smark) body_markings_icon = Smark.icon if(H.dna.features["mam_body_markings"] != "None") - body_markings = lowertext(H.dna.features["mam_body_markings"]) - aux_marking = lowertext(H.dna.features["mam_body_markings"]) + body_markings = Smark.icon_state ? Smark.icon_state : lowertext(H.dna.features["mam_body_markings"]) + aux_marking = Smark.icon_state ? Smark.icon_state : lowertext(H.dna.features["mam_body_markings"]) else body_markings = "plain" aux_marking = "plain" diff --git a/config/game_options.txt b/config/game_options.txt index b2b0ac0abd..26c55a0c43 100644 --- a/config/game_options.txt +++ b/config/game_options.txt @@ -421,6 +421,7 @@ ROUNDSTART_RACES human ## Races that are strictly worse than humans that could probably be turned on without balance concerns ROUNDSTART_RACES lizard +ROUNDSTART_RACES synthliz #ROUNDSTART_RACES fly #ROUNDSTART_RACES insect ROUNDSTART_RACES plasmaman diff --git a/modular_citadel/icons/mob/mutant_bodyparts.dmi b/modular_citadel/icons/mob/mutant_bodyparts.dmi index 8ff4a3ddb5..f2787db632 100644 Binary files a/modular_citadel/icons/mob/mutant_bodyparts.dmi and b/modular_citadel/icons/mob/mutant_bodyparts.dmi differ diff --git a/modular_citadel/icons/mob/synthliz_antennas.dmi b/modular_citadel/icons/mob/synthliz_antennas.dmi new file mode 100644 index 0000000000..13166e6280 Binary files /dev/null and b/modular_citadel/icons/mob/synthliz_antennas.dmi differ diff --git a/modular_citadel/icons/mob/synthliz_body_markings.dmi b/modular_citadel/icons/mob/synthliz_body_markings.dmi new file mode 100644 index 0000000000..52f9027f03 Binary files /dev/null and b/modular_citadel/icons/mob/synthliz_body_markings.dmi differ diff --git a/modular_citadel/icons/mob/synthliz_snouts.dmi b/modular_citadel/icons/mob/synthliz_snouts.dmi new file mode 100644 index 0000000000..908ac583d0 Binary files /dev/null and b/modular_citadel/icons/mob/synthliz_snouts.dmi differ diff --git a/modular_citadel/icons/mob/synthliz_tails.dmi b/modular_citadel/icons/mob/synthliz_tails.dmi new file mode 100644 index 0000000000..6aaf4ad391 Binary files /dev/null and b/modular_citadel/icons/mob/synthliz_tails.dmi differ diff --git a/tgstation.dme b/tgstation.dme index 73beef27e5..d097d8e0e8 100755 --- a/tgstation.dme +++ b/tgstation.dme @@ -2134,6 +2134,7 @@ #include "code\modules\mob\dead\new_player\sprite_accessories\pines.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\snouts.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\socks.dm" +#include "code\modules\mob\dead\new_player\sprite_accessories\synthliz.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\tails.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\undershirt.dm" #include "code\modules\mob\dead\new_player\sprite_accessories\underwear.dm" @@ -2254,6 +2255,7 @@ #include "code\modules\mob\living\carbon\human\species_types\podpeople.dm" #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\synthliz.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"