Cybernetic Augments and Sick Tats

This commit is contained in:
Cerebulon
2022-02-13 07:51:04 +00:00
committed by VirgoBot
parent 415d1c1f94
commit f2bc8d030f
6 changed files with 471 additions and 49 deletions
+3
View File
@@ -42,6 +42,7 @@ var/global/list/facial_hair_styles_male_list = list()
var/global/list/facial_hair_styles_female_list = list()
var/global/list/skin_styles_female_list = list() //unused
var/global/list/body_marking_styles_list = list() //stores /datum/sprite_accessory/marking indexed by name
var/global/list/body_marking_nopersist_list = list() // Body marking styles, minus non-genetic markings and augments
var/global/list/ear_styles_list = list() // Stores /datum/sprite_accessory/ears indexed by type
var/global/list/tail_styles_list = list() // Stores /datum/sprite_accessory/tail indexed by type
var/global/list/wing_styles_list = list() // Stores /datum/sprite_accessory/wing indexed by type
@@ -149,6 +150,8 @@ GLOBAL_LIST_EMPTY(mannequins)
for(var/path in paths)
var/datum/sprite_accessory/marking/M = new path()
body_marking_styles_list[M.name] = M
if(!M.genetic)
body_marking_nopersist_list[M.name] = M
//Surgery Steps - Initialize all /datum/surgery_step into a list
paths = subtypesof(/datum/surgery_step)
+6
View File
@@ -123,6 +123,7 @@ var/global/list/datum/dna/gene/dna_genes[0]
// New stuff
var/species = SPECIES_HUMAN
var/list/body_markings = list()
var/list/body_markings_genetic = list()
var/list/body_descriptors = null
var/list/genetic_modifiers = list() // Modifiers with the MODIFIER_GENETIC flag are saved. Note that only the type is saved, not an instance.
@@ -134,6 +135,7 @@ var/global/list/datum/dna/gene/dna_genes[0]
new_dna.b_type=b_type
new_dna.real_name=real_name
new_dna.species=species
<<<<<<< HEAD
new_dna.body_markings=body_markings.Copy()
new_dna.base_species=base_species //VOREStation Edit
new_dna.custom_species=custom_species //VOREStaton Edit
@@ -143,6 +145,10 @@ var/global/list/datum/dna/gene/dna_genes[0]
new_dna.custom_ask=custom_ask //VOREStaton Edit
new_dna.custom_whisper=custom_whisper //VOREStaton Edit
new_dna.custom_exclaim=custom_exclaim //VOREStaton Edit
=======
var/list/body_markings_genetic = (body_markings - body_marking_nopersist_list)
new_dna.body_markings=body_markings_genetic.Copy()
>>>>>>> 4fad562e9e9... Cybernetic Augments and Sick Tats (#8200)
for(var/b=1;b<=DNA_SE_LENGTH;b++)
new_dna.SE[b]=SE[b]
if(b<=DNA_UI_LENGTH)
@@ -7,6 +7,7 @@
desc = "An implant allowing someone to speak the range of frequencies used in Galactic Common, as well as produce any phonemes that they usually cannot. Only helps with producing sounds, not understanding them."
known_implant = TRUE
var/list/languages = list(LANGUAGE_GALCOM) // List of languages that this assists with
initialize_loc = BP_HEAD
/obj/item/weapon/implant/language/post_implant(mob/M) // Amends the mob's voice organ, then deletes itself
if(ishuman(M))
@@ -12,19 +12,6 @@
path = /obj/item/weapon/implant/tracking/weak
cost = 0 //VOREStation Edit. Changed cost to 0
// Remove these after generic implant has been in for awhile and everyone has had a reasonable period to copy their old descs.
/datum/gear/utility/implant/dud1
display_name = "implant, head"
description = "An implant with no obvious purpose (DEPRECATED, USE GENERIC IMPLANT)."
path = /obj/item/weapon/implant/dud
cost = 1
/datum/gear/utility/implant/dud2
display_name = "implant, torso"
description = "An implant with no obvious purpose (DEPRECATED, USE GENERIC IMPLANT)."
path = /obj/item/weapon/implant/dud/torso
cost = 1
// End removal marker.
/datum/gear/utility/implant/generic
display_name = "implant, generic, primary"
description = "An implant with no obvious purpose."
+461 -36
View File
@@ -2062,9 +2062,12 @@ shaved
color_blend_mode = ICON_ADD
var/genetic = TRUE
var/body_parts = list() //A list of bodyparts this covers, in organ_tag defines
//Reminder: BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN,BP_HEAD
//Tattoos
/datum/sprite_accessory/marking/tat_rheart
name = "Tattoo (Heart, R. Arm)"
icon_state = "tat_rheart"
@@ -2117,6 +2120,300 @@ shaved
icon_state = "tat_tiger"
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN)
//New tats
/datum/sprite_accessory/marking/tat_belly
name = "Tattoo (Belly)"
icon_state = "tat_belly"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/tat_forrest_left
name = "Tattoo (Forrest, Left Eye)"
icon_state = "tat_forrest_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_forrest_right
name = "Tattoo (Forrest, Right Eye)"
icon_state = "tat_forrest_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_hunter_left
name = "Tattoo (Hunter, Left Eye)"
icon_state = "tat_hunter_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_hunter_right
name = "Tattoo (Hunter, Right Eye)"
icon_state = "tat_hunter_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_jaeger_left
name = "Tattoo (Jaeger, Left Eye)"
icon_state = "tat_jaeger_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_jaeger_right
name = "Tattoo (Jaeger, Right Eye)"
icon_state = "tat_jaeger_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_kater_left
name = "Tattoo (Kater, Left Eye)"
icon_state = "tat_kater_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_kater_right
name = "Tattoo (Kater, Right Eye)"
icon_state = "tat_kater_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_lujan_left
name = "Tattoo (Lujan, Left Eye)"
icon_state = "tat_lujan_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_lujan_right
name = "Tattoo (Lujan, Right Eye)"
icon_state = "tat_lujan_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_montana_left
name = "Tattoo (Montana, Left Face)"
icon_state = "tat_montana_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_montana_right
name = "Tattoo (Montana, Right Face)"
icon_state = "tat_montana_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_natasha_left
name = "Tattoo (Natasha, Left Eye)"
icon_state = "tat_natasha_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_natasha_right
name = "Tattoo (Natasha, Right Eye)"
icon_state = "tat_natasha_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_tamoko
name = "Tattoo (Ta Moko, Face)"
icon_state = "tat_tamoko"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_toshi_left
name = "Tattoo (Toshi, Left Eye)"
icon_state = "tat_toshi_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_toshi_right
name = "Tattoo (Volgin, Right Eye)"
icon_state = "tat_toshi_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tat_wings_back
name = "Tattoo (Wings, Lower Back)"
icon_state = "tat_wingsback"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/tilaka
name = "Tilaka"
icon_state = "tilaka"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/bands
name = "Color Bands"
icon_state = "bands"
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN)
/datum/sprite_accessory/marking/bandsface
name = "Color Bands (Face)"
icon_state = "bandsface"
body_parts = list(BP_HEAD)
species_allowed = list(SPECIES_TAJ,SPECIES_UNATHI)
/datum/sprite_accessory/marking/bandsface_human
name = "Color Bands (Face)"
icon_state = "bandshumanface"
body_parts = list(BP_HEAD)
species_allowed = list(SPECIES_HUMAN,SPECIES_HUMAN_VATBORN,SPECIES_SKRELL)
/datum/sprite_accessory/marking/tiger_stripes
name = "Tiger Stripes"
icon_state = "tiger"
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_TORSO,BP_GROIN)
species_allowed = list(SPECIES_TAJ) //There's a tattoo for non-cats
/datum/sprite_accessory/marking/tigerhead
name = "Tiger Stripes (Head, Minor)"
icon_state = "tigerhead"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tigerface
name = "Tiger Stripes (Head, Major)"
icon_state = "tigerface"
body_parts = list(BP_HEAD)
species_allowed = list(SPECIES_TAJ) //There's a tattoo for non-cats
/datum/sprite_accessory/marking/backstripe
name = "Back Stripe"
icon_state = "backstripe"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/bindi
name = "Bindi"
icon_state = "bindi"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/blush
name = "Blush"
icon_state= "blush"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/bridge
name = "Bridge"
icon_state = "bridge"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/brow_left
name = "Brow Left"
icon_state = "brow_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/brow_right
name = "Brow Right"
icon_state = "brow_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/cheekspot_left
name = "Cheek Spot (Left Cheek)"
icon_state = "cheekspot_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/cheekspot_right
name = "Cheek Spot (Right Cheek)"
icon_state = "cheekspot_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/cheshire_left
name = "Cheshire (Left Cheek)"
icon_state = "cheshire_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/cheshire_right
name = "Cheshire (Right Cheek)"
icon_state = "cheshire_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/eyestripe
name = "Eye Stripe"
icon_state = "eyestripe"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/eyecorner_left
name = "Eye Corner Left"
icon_state = "eyecorner_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/eyecorner_right
name = "Eye Corner Right"
icon_state = "eyecorner_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/fullfacepaint
name = "Full Face Paint"
icon_state = "fullface"
body_parts = list(BP_HEAD)
species_allowed = list(SPECIES_HUMAN,SPECIES_HUMAN_VATBORN,SPECIES_SKRELL)
/datum/sprite_accessory/marking/lips
name = "Lips"
icon_state = "lips"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/lowercheek_left
name = "Lower Cheek Left"
icon_state = "lowercheek_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/lowercheek_left
name = "Lower Cheek Right"
icon_state = "lowercheek_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/neck
name = "Neck Cover"
icon_state = "neck"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/neckthick
name = "Neck Cover (Thick)"
icon_state = "neckthick"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/nosestripe
name = "Nose Stripe"
icon_state = "nosestripe"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/nosetape
name = "Nose Tape"
icon_state = "nosetape"
body_parts = list(BP_HEAD)
genetic = FALSE
/datum/sprite_accessory/marking/scratch_abdomen_left
name = "Scar, Abdomen Left"
icon_state = "scratch_abdomen_l"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/scratch_abdomen_right
name = "Scar, Abdomen Right"
icon_state = "scratch_abdomen_r"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/scratch_abdomen_small_left
name = "Scar, Abdomen Small Left"
icon_state = "scratch_abdomensmall_l"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/scratch_abdomen_small_right
name = "Scar, Abdomen Small Right"
icon_state = "scratch_abdomensmall_r"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/scratch_back
name = "Scar, Back"
icon_state = "scratch_back"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/scratch_chest_left
name = "Scar, Chest (Left)"
icon_state = "scratch_chest_l"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/scratch_chest_right
name = "Scar, Chest (Right)"
icon_state = "scratch_chest_r"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/skull_paint
name = "Skull Paint"
icon_state = "skull"
body_parts = list(BP_HEAD)
genetic = FALSE
//Heterochromia
/datum/sprite_accessory/marking/heterochromia
name = "Heterochromia (right eye)"
icon_state = "heterochromia"
body_parts = list(BP_HEAD)
//Taj/Unathi shared markings
/datum/sprite_accessory/marking/taj_paw_socks
name = "Socks Coloration (Taj)"
icon_state = "taj_pawsocks"
@@ -2171,42 +2468,6 @@ shaved
body_parts = list(BP_HEAD)
species_allowed = list(SPECIES_TAJ)
/datum/sprite_accessory/marking/bands
name = "Color Bands"
icon_state = "bands"
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_L_HAND,BP_R_HAND,BP_TORSO,BP_GROIN)
/datum/sprite_accessory/marking/bandsface
name = "Color Bands (Face)"
icon_state = "bandsface"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tiger_stripes
name = "Tiger Stripes"
icon_state = "tiger"
body_parts = list(BP_L_FOOT,BP_R_FOOT,BP_L_LEG,BP_R_LEG,BP_L_ARM,BP_R_ARM,BP_TORSO,BP_GROIN)
species_allowed = list(SPECIES_TAJ) //There's a tattoo for non-cats
/datum/sprite_accessory/marking/tigerhead
name = "Tiger Stripes (Head, Minor)"
icon_state = "tigerhead"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/tigerface
name = "Tiger Stripes (Head, Major)"
icon_state = "tigerface"
body_parts = list(BP_HEAD)
species_allowed = list(SPECIES_TAJ) //There's a tattoo for non-cats
/datum/sprite_accessory/marking/backstripe
name = "Back Stripe"
icon_state = "backstripe"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/heterochromia
name = "Heterochromia (right eye)"
icon_state = "heterochromia"
body_parts = list(BP_HEAD)
//Taj specific stuff
/datum/sprite_accessory/marking/taj_belly
@@ -2340,10 +2601,174 @@ shaved
do_colouration = 0
//Cybernetic Augments, some species-limited due to sprite misalignment. /aug/ types are excluded from dna.
/datum/sprite_accessory/marking/aug
name = "Augment (Backports, Back)"
icon_state = "aug_backports"
genetic = FALSE
body_parts = list(BP_TORSO)
species_allowed = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_TAJ,SPECIES_HUMAN_VATBORN,SPECIES_UNATHI,SPECIES_ZADDAT)
/datum/sprite_accessory/marking/aug/diode
name = "Augment (Backports Diode, Back)"
icon_state = "aug_backportsdiode"
/datum/sprite_accessory/marking/aug/backportswide
name = "Augment (Backports Wide, Back)"
icon_state = "aug_backportswide"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/aug/backportswide/diode
name = "Augment (Backports Wide Diode, Back)"
icon_state = "aug_backportswidediode"
/datum/sprite_accessory/marking/aug/headcase
name = "Augment (Headcase, Head)"
icon_state = "aug_headcase"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/headcase_light
name = "Augment (Headcase Light, Head)"
icon_state = "aug_headcaselight"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/headport
name = "Augment (Headport, Head)"
icon_state = "aug_headport"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/headport/diode
name = "Augment (Headport Diode, Head)"
icon_state = "aug_headplugdiode"
/datum/sprite_accessory/marking/aug/lowerjaw
name = "Augment (Lower Jaw, Head)"
icon_state = "aug_lowerjaw"
body_parts = list(BP_HEAD)
species_allowed = list(SPECIES_HUMAN,SPECIES_SKRELL,SPECIES_HUMAN_VATBORN,SPECIES_ZADDAT)
/datum/sprite_accessory/marking/aug/scalpports
name = "Augment (Scalp Ports)"
icon_state = "aug_scalpports"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/scalpports/vertex_left
name = "Augment (Scalp Port, Vertex Left)"
icon_state = "aug_vertexport_l"
/datum/sprite_accessory/marking/aug/scalpports/vertex_right
name = "Augment (Scalp Port, Vertex Right)"
icon_state = "aug_vertexport_r"
/datum/sprite_accessory/marking/aug/scalpports/occipital_left
name = "Augment (Scalp Port, Occipital Left)"
icon_state = "aug_occipitalport_l"
/datum/sprite_accessory/marking/aug/scalpports/occipital_right
name = "Augment (Scalp Port, Occipital Right)"
icon_state = "aug_occipitalport_r"
/datum/sprite_accessory/marking/aug/scalpportsdiode
name = "Augment (Scalp Ports Diode)"
icon_state = "aug_scalpportsdiode"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/scalpportsdiode/vertex_left
name = "Augment (Scalp Port Diode, Vertex Left)"
icon_state = "aug_vertexportdiode_l"
/datum/sprite_accessory/marking/aug/scalpportsdiode/vertex_right
name = "Augment (Scalp Port Diode, Vertex Right)"
icon_state = "aug_vertexportdiode_r"
/datum/sprite_accessory/marking/aug/scalpportsdiode/occipital_left
name = "Augment (Scalp Port Diode, Occipital Left)"
icon_state = "aug_occipitalportdiode_l"
/datum/sprite_accessory/marking/aug/scalpportsdiode/occipital_right
name = "Augment (Scalp Port Diode, Occipital Right)"
icon_state = "aug_occipitalportdiode_r"
/datum/sprite_accessory/marking/aug/backside_left
name = "Augment (Backside Left, Head)"
icon_state = "aug_backside_l"
/datum/sprite_accessory/marking/aug/backside_left/side_diode
name = "Augment (Backside Left Diode, Head)"
icon_state = "aug_sidediode_l"
/datum/sprite_accessory/marking/aug/backside_right
name = "Augment (Backside Right, Head)"
icon_state = "aug_backside_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/backside_right/side_diode
name = "Augment (Backside Right Diode, Head)"
icon_state = "aug_sidediode_r"
/datum/sprite_accessory/marking/aug/side_deunan_left
name = "Augment (Deunan, Side Left)"
icon_state = "aug_sidedeunan_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/side_deunan_right
name = "Augment (Deunan, Side Right)"
icon_state = "aug_sidedeunan_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/side_kuze_left
name = "Augment (Kuze, Side Left)"
icon_state = "aug_sidekuze_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/side_kuze_left/side_diode
name = "Augment (Kuze Diode, Side Left)"
icon_state = "aug_sidekuzediode_l"
/datum/sprite_accessory/marking/aug/side_kuze_right
name = "Augment (Kuze, Side Right)"
icon_state = "aug_sidekuze_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/side_kuze_right/side_diode
name = "Augment (Kuze Diode, Side Right)"
icon_state = "aug_sidekuzediode_r"
/datum/sprite_accessory/marking/aug/side_kinzie_left
name = "Augment (Kinzie, Side Left)"
icon_state = "aug_sidekinzie_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/side_kinzie_right
name = "Augment (Kinzie, Side Right)"
icon_state = "aug_sidekinzie_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/side_shelly_left
name = "Augment (Shelly, Side Left)"
icon_state = "aug_sideshelly_l"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/side_shelly_right
name = "Augment (Shelly, Side Right)"
icon_state = "aug_sideshelly_r"
body_parts = list(BP_HEAD)
/datum/sprite_accessory/marking/aug/chestports
name = "Augment (Chest Ports)"
icon_state = "aug_chestports"
body_parts = list(BP_TORSO)
/datum/sprite_accessory/marking/aug/abdomenports
name = "Augment (Abdomen Ports)"
icon_state = "aug_abdomenports"
body_parts = list(BP_TORSO)
//skin styles - WIP
//going to have to re-integrate this with surgery
//let the icon_state hold an icon preview for now
/datum/sprite_accessory/skin
icon = 'icons/mob/human_races/r_human.dmi'
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 44 KiB