better taurs

This commit is contained in:
Timothy Teakettle
2020-10-15 23:04:55 +01:00
parent 02912aa4ad
commit c649dbe6c6
5 changed files with 100 additions and 81 deletions
+2 -1
View File
@@ -5,7 +5,7 @@
// 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 38
#define SAVEFILE_VERSION_MAX 39
/*
SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Carn
@@ -669,6 +669,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
var/list/json_from_file = json_decode(file2text(char_vr_path))
if(json_from_file)
belly_prefs = json_from_file["belly_prefs"]
//gear loadout
var/text_to_load
S["loadout"] >> text_to_load
@@ -23,12 +23,13 @@
icon = 'modular_citadel/icons/mob/mam_taur.dmi'
center = TRUE
dimension_x = 64
color_src = MATRIXED
color_src = "dual_color" //we apply some snowflake colouring because it's (sometimes) two parts, don't worry about it
recommended_species = list("human", "lizard", "insect", "mammal", "xeno", "jelly", "slimeperson", "podweak")
relevant_layers = list(BODY_ADJ_UPPER_LAYER, BODY_FRONT_LAYER)
var/taur_mode = NONE //Must be a single specific tauric suit variation bitflag. Don't do FLAG_1|FLAG_2
var/alt_taur_mode = NONE //Same as above.
var/hide_legs = USE_QUADRUPED_CLIP_MASK
var/taur_marking_state = NONE //does your taur have separately colorable markings, if so what's the state, leave as NONE if it doesnt have any
/datum/sprite_accessory/taur/is_not_visible(var/mob/living/carbon/human/H, var/tauric)
return (!tauric || (H.wear_suit && (H.wear_suit.flags_inv & HIDETAUR)))
@@ -49,65 +50,73 @@
relevant_layers = null
hide_legs = FALSE
/datum/sprite_accessory/taur/canine
name = "Canine"
icon_state = "canine"
/datum/sprite_accessory/taur/wolf
name = "Wolf"
icon_state = "wolf"
taur_marking_state = "wolf_markings"
taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
extra = TRUE
/datum/sprite_accessory/taur/wolf/synth
name = "Wolf (synth)"
icon_state = "synthwolf"
taur_marking_state = "synthwolf_markings"
/datum/sprite_accessory/taur/wolf/fat
name = "Wolf (fat)"
icon_state = "fatwolf"
taur_marking_state = "fatwolf_markings"
/datum/sprite_accessory/taur/cow
name = "Cow"
icon_state = "cow"
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
/datum/sprite_accessory/taur/cow/spotted
name = "Cow (Spotted)"
icon_state = "cow_spotted"
color_src = MATRIXED
/datum/sprite_accessory/taur/deer
name = "Deer"
icon_state = "deer"
taur_marking_state = "deer_markings"
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
extra = TRUE
/datum/sprite_accessory/taur/lizard
name = "Lizard"
icon_state = "lizard"
taur_marking_state = "lizard_markings"
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/lizard/synth
name = "Lizard (synth)"
icon_state = "synthlizard"
taur_marking_state = "synthlizard_markings"
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/drake
name = "Drake"
icon_state = "drake"
taur_marking_state = "drake_markings"
taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
extra = TRUE
/datum/sprite_accessory/taur/drake/old
name = "Drake (Old)"
icon_state = "drake_old"
color_src = MATRIXED
extra = FALSE
/datum/sprite_accessory/taur/drider
name = "Drider"
icon_state = "drider"
color_src = MUTCOLORS
extra = TRUE
/datum/sprite_accessory/taur/eevee
name = "Eevee"
icon_state = "eevee"
taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
extra = TRUE
/datum/sprite_accessory/taur/spider
name = "Spider"
icon_state = "spider_s"
/datum/sprite_accessory/taur/feline
name = "Feline"
icon_state = "feline"
taur_marking_state = "feline_markings"
taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
extra = TRUE
/datum/sprite_accessory/taur/feline/synth
name = "Feline (synth)"
icon_state = "synthfeline"
taur_marking_state = "synthfeline_markings"
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/feline/fat
name = "Feline (fat)"
icon_state = "fatfeline"
taur_marking_state = "fatfeline_markings"
/datum/sprite_accessory/taur/horse
name = "Horse"
@@ -115,28 +124,57 @@
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/horse/synth
name = "Horse (synth)"
icon_state = "synthhorse"
taur_marking_state = "synthhorse_markings"
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/naga
name = "Naga"
icon_state = "naga"
icon_state = "naga_markings"
taur_mode = STYLE_SNEK_TAURIC
hide_legs = USE_SNEK_CLIP_MASK
/datum/sprite_accessory/taur/otie
name = "Otie"
icon_state = "otie"
icon_state = "otie_markings"
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/pede
name = "Scolipede"
icon_state = "pede"
/datum/sprite_accessory/taur/tempest
name = "Tempest"
icon_state = "tempest"
taur_mode = STYLE_PAW_TAURIC
color_src = MUTCOLORS
extra = TRUE
extra2 = TRUE
/datum/sprite_accessory/taur/skunk
name = "Skunk"
icon_state = "skunk"
icon_state = "skunk_markings"
taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/mermaid
name = "Mermaid"
icon_state = "mermaid"
taur_mode = STYLE_SNEK_TAURIC
hide_legs = USE_SNEK_CLIP_MASK
/datum/sprite_accessory/taur/tentacle
name = "Tentacle"
icon_state = "tentacle"
taur_mode = STYLE_SNEK_TAURIC
color_src = MUTCOLORS
hide_legs = USE_SNEK_CLIP_MASK
/datum/sprite_accessory/taur/slug
name = "Slug"
icon_state = "slug"
taur_mode = STYLE_SNEK_TAURIC
hide_legs = USE_SNEK_CLIP_MASK
/datum/sprite_accessory/taur/frog //frogs are closer to snakes than wolves, probably, listen i'm no biology major
name = "Frog"
icon_state = "frog"
taur_mode = STYLE_SNEK_TAURIC
hide_legs = USE_SNEK_CLIP_MASK
@@ -111,40 +111,3 @@
color_src = MATRIXED
name = "Synthetic Lizard - Thick Light"
icon_state = "synth_thicklight"
//Synth Taurs (Ported from Virgo)
/datum/sprite_accessory/taur/synthliz
name = "Virgo - Synthetic Lizard"
icon_state = "synthlizard"
taur_mode = STYLE_PAW_TAURIC
recommended_species = list("synthliz")
/datum/sprite_accessory/taur/synthliz/inv
name = "Virgo - Synthetic Lizard (Inverted)"
icon_state = "synthlizardinv"
/datum/sprite_accessory/taur/synthliz/feline
name = "Virgo - Synthetic Feline"
icon_state = "synthfeline"
/datum/sprite_accessory/taur/synthliz/feline/inv
name = "Virgo - Synthetic Feline (Inverted)"
icon_state = "synthfelineinv"
/datum/sprite_accessory/taur/synthliz/horse
name = "Virgo - Synthetic Horse"
icon_state = "synthhorse"
taur_mode = STYLE_HOOF_TAURIC
alt_taur_mode = STYLE_PAW_TAURIC
/datum/sprite_accessory/taur/synthliz/horse/inv
name = "Virgo - Synthetic Horse (Inverted)"
icon_state = "synthhorseinv"
/datum/sprite_accessory/taur/synthliz/wolf
name = "Virgo - Synthetic Wolf"
icon_state = "synthwolf"
/datum/sprite_accessory/taur/synthliz/wolf/inv
name = "Virgo - Synthetic Wolf (Inverted)"
icon_state = "synthwolfinv"
@@ -765,6 +765,7 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
for(var/bodypart in relevant_layers[layer])
var/datum/sprite_accessory/S = bodypart
var/mutable_appearance/accessory_overlay = mutable_appearance(S.icon, layer = -layernum)
var/mutable_appearance/marking_overlay //incase a marking overlay is used
bodypart = S.mutant_part_string || dna_feature_as_text_string[S]
if(S.gender_specific)
@@ -812,6 +813,17 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
accessory_overlay.color = "#[H.dna.features["horns_color"]]"
if(WINGCOLOR)
accessory_overlay.color = "#[H.dna.features["wings_color"]]"
if("dual_color") //if you see this its a mistake, replace it with a define
//if you get here it means you are colouring a main part, and a marking
//the main part
var/accessory_feature = "[bodypart]_color"
accessory_overlay.color = "#[H.dna.features[accessory_feature]]"
//the marking
marking_overlay = mutable_appearance(S.icon, layer = -layernum)
marking_overlay.icon_state = "[S.name]_markings"
var/marking_feature = "[bodypart]_marking_color"
marking_overlay.color = "#[H.dna.features[marking_feature]]"
else
accessory_overlay.color = forced_colour
else
@@ -825,8 +837,13 @@ GLOBAL_LIST_EMPTY(roundstart_race_names)
if(OFFSET_MUTPARTS in H.dna.species.offset_features)
accessory_overlay.pixel_x += H.dna.species.offset_features[OFFSET_MUTPARTS][1]
accessory_overlay.pixel_y += H.dna.species.offset_features[OFFSET_MUTPARTS][2]
if(marking_overlay)
marking_overlay.pixel_x += H.dna.species.offset_features[OFFSET_MUTPARTS][1]
marking_overlay.pixel_y += H.dna.species.offset_features[OFFSET_MUTPARTS][2]
standing += accessory_overlay
if(marking_overlay)
standing += marking_overlay
if(S.extra) //apply the extra overlay, if there is one
var/mutable_appearance/extra_accessory_overlay = mutable_appearance(S.icon, layer = -layernum)