From 4f5465c39ed59e11a0f0c59e6eaaf1e8f1e54ee6 Mon Sep 17 00:00:00 2001
From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com>
Date: Sat, 17 Oct 2020 01:00:04 +0100
Subject: [PATCH] fixes
---
code/__DEFINES/citadel_defines.dm | 2 +-
code/modules/client/preferences.dm | 25 +++-
code/modules/client/preferences_savefile.dm | 16 ++-
.../new_player/sprite_accessories/tails.dm | 132 +++++++++++++++---
icons/mob/mutant_bodyparts.dmi | Bin 34380 -> 34374 bytes
5 files changed, 148 insertions(+), 27 deletions(-)
diff --git a/code/__DEFINES/citadel_defines.dm b/code/__DEFINES/citadel_defines.dm
index 107e182f8d..89e44fc215 100644
--- a/code/__DEFINES/citadel_defines.dm
+++ b/code/__DEFINES/citadel_defines.dm
@@ -121,6 +121,6 @@
#define MATRIX_BLUE "blue"
#define MATRIX_RED_GREEN "red_green"
#define MATRIX_RED_BLUE "red_blue"
-#define MATRIX_BLUE_GREEN "blue_green"
+#define MATRIX_GREEN_BLUE "green_blue"
#define MATRIX_ALL "red_green_blue"
#define MATRIX_NONE "none"
\ No newline at end of file
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index 7832c79e18..2dfcde2949 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -561,14 +561,29 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(accessory)
if(accessory.color_src == MATRIXED || accessory.color_src == MUTCOLORS || accessory.color_src == MUTCOLORS2 || accessory.color_src == MUTCOLORS3) //mutcolors1-3 are deprecated now, please don't rely on these in the future
var/primary_feature = "[mutant_part]_primary"
+ var/secondary_feature = "[mutant_part]_secondary"
+ var/tertiary_feature = "[mutant_part]_tertiary"
+ var/matrixed_sections = accessory.matrixed_sections
+ if(accessory.color_src == MATRIXED && !matrixed_sections)
+ message_admins("Sprite Accessory Failure (customization): Accessory [accessory.type] is a matrixed item without any matrixed sections set!")
+ continue
+ else if(accessory.color_src == MATRIXED)
+ switch(matrixed_sections)
+ if(MATRIX_GREEN) //only composed of a green section
+ primary_feature = secondary_feature //swap primary for secondary, so it properly assigns the second colour, reserved for the green section
+ if(MATRIX_BLUE)
+ primary_feature = tertiary_feature //same as above, but the tertiary feature is for the blue section
+ if(MATRIX_RED_BLUE) //composed of a red and blue section
+ secondary_feature = tertiary_feature //swap secondary for tertiary, as blue should always be tertiary
+ if(MATRIX_GREEN_BLUE) //composed of a green and blue section
+ primary_feature = secondary_feature //swap primary for secondary, as first option is green, which is linked to the secondary
+ secondary_feature = tertiary_feature //swap secondary for tertiary, as second option is blue, which is linked to the tertiary
dat += "Primary Color
"
dat += " Change
"
- if(accessory.color_src == MATRIXED || (accessory.extra && (accessory.extra_color_src == MUTCOLORS || accessory.extra_color_src == MUTCOLORS2 || accessory.extra_color_src == MUTCOLORS3)))
- var/secondary_feature = "[mutant_part]_secondary"
+ if((accessory.color_src == MATRIXED && (matrixed_sections == MATRIX_RED_BLUE || matrixed_sections == MATRIX_GREEN_BLUE || matrixed_sections == MATRIX_ALL)) || (accessory.extra && (accessory.extra_color_src == MUTCOLORS || accessory.extra_color_src == MUTCOLORS2 || accessory.extra_color_src == MUTCOLORS3)))
dat += "Secondary Color
"
dat += " Change
"
- if(accessory.color_src == MATRIXED || (accessory.extra2 && (accessory.extra2_color_src == MUTCOLORS || accessory.extra2_color_src == MUTCOLORS2 || accessory.extra2_color_src == MUTCOLORS3)))
- var/tertiary_feature = "[mutant_part]_tertiary"
+ if((accessory.color_src == MATRIXED && matrixed_sections == MATRIX_ALL) || (accessory.extra2 && (accessory.extra2_color_src == MUTCOLORS || accessory.extra2_color_src == MUTCOLORS2 || accessory.extra2_color_src == MUTCOLORS3)))
dat += "Tertiary Color
"
dat += " Change
"
@@ -2055,7 +2070,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["xenodorsal"] = new_dors
//every single primary/secondary/tertiary colouring done at once
- if("xenodorsal_primary","xenodorsal_secondary","xenodorsal_tertiary","xhead_primary"."xhead_secondary","xhead_tertiary","tail_primary","tail_secondary","tail_tertiary","bodymarkings_primary","bodymarkings_secondary","bodymarkings_tertiary","ears_primary","ears_secondary","ears_tertiary","frills_primary"."frills_secondary","frills_tertiary","ipcantenna_primary","ipcantenna_secondary","ipcantenna_tertiary","taur_primary","taur_secondary","taur_tertiary","snout_primary","snout_secondary","snout_tertiaty","spines_primary","spines_secondary","spines_tertiary")
+ if("xenodorsal_primary","xenodorsal_secondary","xenodorsal_tertiary","xhead_primary","xhead_secondary","xhead_tertiary","tail_primary","tail_secondary","tail_tertiary","bodymarkings_primary","bodymarkings_secondary","bodymarkings_tertiary","ears_primary","ears_secondary","ears_tertiary","frills_primary","frills_secondary","frills_tertiary","ipcantenna_primary","ipcantenna_secondary","ipcantenna_tertiary","taur_primary","taur_secondary","taur_tertiary","snout_primary","snout_secondary","snout_tertiaty","spines_primary","spines_secondary","spines_tertiary")
var/the_feature = features[href_list["preference"]]
if(!the_feature)
features[href_list["preference"]] = "FFFFFF"
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index 1f3762f8ad..4097bad5eb 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -228,6 +228,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
if(current_version < 39) //extreme changes to how things are coloured
for(var/feature in features)
+ message_admins("[feature]")
var/feature_type = features[feature]
var/ref_list = GLOB.mutant_reference_list[feature_type]
if(ref_list)
@@ -237,6 +238,20 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
var/primary_string = "[feature_type]_primary"
var/secondary_string = "[feature_type]_secondary]"
var/tertiary_string = "[feature_type]_tertiary]"
+ if(accessory.matrixed_sections)
+ switch(accessory.matrixed_sections)
+ if(MATRIX_GREEN) //only composed of a green section
+ primary_string = secondary_string //swap primary for secondary, so it properly assigns the second colour, reserved for the green section
+ if(MATRIX_BLUE)
+ primary_string = tertiary_string //same as above, but the tertiary feature is for the blue section
+ if(MATRIX_RED_BLUE) //composed of a red and blue section
+ secondary_string = tertiary_string //swap secondary for tertiary, as blue should always be tertiary
+ if(MATRIX_GREEN_BLUE) //composed of a green and blue section
+ primary_string = secondary_string //swap primary for secondary, as first option is green, which is linked to the secondary
+ secondary_string = tertiary_string //swap secondary for tertiary, as second option is blue, which is linked to the tertiary
+ else if(accessory.color_src != MATRIXED)
+ message_admins("Sprite Accessory Failure (migration from [current_version] to 39): Accessory [accessory.type] is a matrixed item without any matrixed sections set!")
+ continue
if(accessory.color_src == MATRIXED)
features[primary_string] = features["mcolor"]
features[secondary_string] = features["mcolor2"]
@@ -248,7 +263,6 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
else if(accessory.color_src == MUTCOLORS3)
features[tertiary_string] = features["mcolor3"]
-
/datum/preferences/proc/load_path(ckey,filename="preferences.sav")
if(!ckey)
return
diff --git a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm
index 554549c0c3..b3a89d9115 100644
--- a/code/modules/mob/dead/new_player/sprite_accessories/tails.dm
+++ b/code/modules/mob/dead/new_player/sprite_accessories/tails.dm
@@ -120,26 +120,6 @@
color_src = MATRIXED
matrixed_sections = MATRIX_RED
-/datum/sprite_accessory/tails/mam_tails/batl
- name = "Bat (Long)"
- icon = 'modular_citadel/icons/mob/mam_tails.dmi'
- icon_state = "batl"
-
-/datum/sprite_accessory/tails_animated/mam_tails_animated/batl
- name = "Bat (Long)"
- icon = 'modular_citadel/icons/mob/mam_tails.dmi'
- icon_state = "batl"
-
-/datum/sprite_accessory/tails/mam_tails/bats
- name = "Bat (Short)"
- icon = 'modular_citadel/icons/mob/mam_tails.dmi'
- icon_state = "bats"
-
-/datum/sprite_accessory/tails_animated/mam_tails_animated/bats
- name = "Bat (Short)"
- icon = 'modular_citadel/icons/mob/mam_tails.dmi'
- icon_state = "bats"
-
/datum/sprite_accessory/tails/human/bee
name = "Bee"
icon_state = "bee"
@@ -229,60 +209,70 @@
icon_state = "datashark"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_BLUE
/datum/sprite_accessory/tails_animated/human/datashark
name = "datashark"
icon_state = "datashark"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_BLUE
/datum/sprite_accessory/tails/human/eevee
name = "Eevee"
icon_state = "eevee"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/eevee
name = "Eevee"
icon_state = "eevee"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/fennec
name = "Fennec"
icon_state = "fennec"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/fennec
name = "Fennec"
icon_state = "fennec"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/fish
name = "Fish"
icon_state = "fish"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/fish
name = "Fish"
icon_state = "fish"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/fox
name = "Fox"
icon_state = "fox"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/fox
name = "Fox"
icon_state = "fox"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/horse
name = "Horse"
@@ -301,36 +291,42 @@
icon_state = "husky"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/husky
name = "Husky"
icon_state = "husky"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/insect
name = "Insect"
icon_state = "insect"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/insect
name = "Insect"
icon_state = "insect"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/kitsune
name = "Kitsune"
icon_state = "kitsune"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/kitsune
name = "Kitsune"
icon_state = "kitsune"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/ltiger
name = "Light Tiger"
@@ -345,108 +341,126 @@
icon_state = "murid"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_GREEN
/datum/sprite_accessory/tails_animated/human/murid
name = "Murid"
icon_state = "murid"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_GREEN
/datum/sprite_accessory/tails/orca
name = "Orca"
icon_state = "orca"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/orca
name = "Orca"
icon_state = "orca"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/otie
name = "Otusian"
icon_state = "otie"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/otie
name = "Otusian"
icon_state = "otie"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/rabbit
name = "Rabbit"
icon_state = "rabbit"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/rabbit
name = "Rabbit"
icon_state = "rabbit"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/ailurus
name = "Red Panda"
icon_state = "wah"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/ailurus
name = "Red Panda"
icon_state = "wah"
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
color_src = MATRIXED
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/pede
name = "Scolipede"
icon_state = "pede"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/pede
name = "Scolipede"
icon_state = "pede"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/sergal
name = "Sergal"
icon_state = "sergal"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/sergal
name = "Sergal"
icon_state = "sergal"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/shark
name = "Shark"
icon_state = "shark"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/shark
name = "Shark"
icon_state = "shark"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/skunk
name = "skunk"
icon_state = "skunk"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails_animated/human/skunk
name = "skunk"
icon_state = "skunk"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails/human/smooth
name = "Smooth"
@@ -477,60 +491,70 @@
icon_state = "squirrel"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/squirrel
name = "Squirrel"
icon_state = "squirrel"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/tamamo_kitsune
name = "Tamamo Kitsune Tails" //Tamamo-no-Tiro, let it be known!
icon_state = "9sune"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/human/tamamo_kitsune
name = "Tamamo Kitsune Tails"
icon_state = "9sune"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/human/tentacle
name = "Tentacle"
icon_state = "tentacle"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/tentacle
name = "Tentacle"
icon_state = "tentacle"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/human/tiger
name = "Tiger"
icon_state = "tiger"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails_animated/human/tiger
name = "Tiger"
icon_state = "tiger"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails/human/wolf
name = "Wolf"
icon_state = "wolf"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/human/wolf
name = "Wolf"
icon_state = "wolf"
color_src = MATRIXED
icon = 'modular_citadel/icons/mob/mam_tails.dmi'
+ matrixed_sections = MATRIX_RED
/******************************************
************** Furry Tails ****************
@@ -566,34 +590,42 @@
/datum/sprite_accessory/tails/mam_tails/axolotl
name = "Axolotl"
icon_state = "axolotl"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/axolotl
name = "Axolotl"
icon_state = "axolotl"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/batl
name = "Bat (Long)"
icon_state = "batl"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/batl
name = "Bat (Long)"
icon_state = "batl"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/bats
name = "Bat (Short)"
icon_state = "bats"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/bats
name = "Bat (Short)"
icon_state = "bats"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/bee
name = "Bee"
icon_state = "bee"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/bee
name = "Bee"
icon_state = "bee"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/cat
name = "Cat"
@@ -608,34 +640,42 @@
/datum/sprite_accessory/tails/mam_tails/catbig
name = "Cat, Big"
icon_state = "catbig"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/catbig
name = "Cat, Big"
icon_state = "catbig"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/twocat
name = "Cat, Double"
icon_state = "twocat"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/twocat
name = "Cat, Double"
icon_state = "twocat"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/corvid
name = "Corvid"
icon_state = "crow"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/corvid
name = "Corvid"
icon_state = "crow"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tail/cow
name = "Cow"
icon_state = "cow"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/cow
name = "Cow"
icon_state = "cow"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/dtiger
name = "Dark Tiger"
@@ -652,42 +692,52 @@
/datum/sprite_accessory/tails/mam_tails/eevee
name = "Eevee"
icon_state = "eevee"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/eevee
name = "Eevee"
icon_state = "eevee"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/fennec
name = "Fennec"
icon_state = "fennec"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/fennec
name = "Fennec"
icon_state = "fennec"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/human/fish
name = "Fish"
icon_state = "fish"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/human/fish
name = "Fish"
icon_state = "fish"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/fox
name = "Fox"
icon_state = "fox"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/fox
name = "Fox"
icon_state = "fox"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/hawk
name = "Hawk"
icon_state = "hawk"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/hawk
name = "Hawk"
icon_state = "hawk"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/horse
name = "Horse"
@@ -702,42 +752,52 @@
/datum/sprite_accessory/tails/mam_tails/husky
name = "Husky"
icon_state = "husky"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/husky
name = "Husky"
icon_state = "husky"
+ matrixed_sections = MATRIX_RED_GREEN
datum/sprite_accessory/tails/mam_tails/insect
name = "Insect"
icon_state = "insect"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/insect
name = "Insect"
icon_state = "insect"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/kangaroo
name = "kangaroo"
icon_state = "kangaroo"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/kangaroo
name = "kangaroo"
icon_state = "kangaroo"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/kitsune
name = "Kitsune"
icon_state = "kitsune"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/kitsune
name = "Kitsune"
icon_state = "kitsune"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/lab
name = "Lab"
icon_state = "lab"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/lab
name = "Lab"
icon_state = "lab"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/ltiger
name = "Light Tiger"
@@ -754,84 +814,104 @@ datum/sprite_accessory/tails/mam_tails/insect
/datum/sprite_accessory/tails/mam_tails/murid
name = "Murid"
icon_state = "murid"
+ matrixed_sections = MATRIX_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/murid
name = "Murid"
icon_state = "murid"
+ matrixed_sections = MATRIX_GREEN
/datum/sprite_accessory/tails/mam_tails/orca
name = "Orca"
icon_state = "orca"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/orca
name = "Orca"
icon_state = "orca"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/otie
name = "Otusian"
icon_state = "otie"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/otie
name = "Otusian"
icon_state = "otie"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/rabbit
name = "Rabbit"
icon_state = "rabbit"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/rabbit
name = "Rabbit"
icon_state = "rabbit"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/ailurus
name = "Red Panda"
icon_state = "wah"
extra = TRUE
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/ailurus
name = "Red Panda"
icon_state = "wah"
extra = TRUE
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/pede
name = "Scolipede"
icon_state = "pede"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/pede
name = "Scolipede"
icon_state = "pede"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/sergal
name = "Sergal"
icon_state = "sergal"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/sergal
name = "Sergal"
icon_state = "sergal"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/shark
name = "Shark"
icon_state = "shark"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/shark
name = "Shark"
icon_state = "shark"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/shepherd
name = "Shepherd"
icon_state = "shepherd"
+ matrixed_sections = MATRIX_GREEN_BLUE
/datum/sprite_accessory/tails_animated/mam_tails_animated/shepherd
name = "Shepherd"
icon_state = "shepherd"
+ matrixed_sections = MATRIX_GREEN_BLUE
/datum/sprite_accessory/tails/mam_tails/skunk
name = "Skunk"
icon_state = "skunk"
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails_animated/mam_tails_animated/skunk
name = "Skunk"
icon_state = "skunk"
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails/mam_tails/smooth
name = "Smooth"
@@ -860,47 +940,59 @@ datum/sprite_accessory/tails/mam_tails/insect
/datum/sprite_accessory/tails/mam_tails/straighttail
name = "Straight Tail"
icon_state = "straighttail"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/straighttail
name = "Straight Tail"
icon_state = "straighttail"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/squirrel
name = "Squirrel"
icon_state = "squirrel"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/squirrel
name = "Squirrel"
icon_state = "squirrel"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/tamamo_kitsune
name = "Tamamo Kitsune Tails"
icon_state = "9sune"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails_animated/mam_tails_animated/tamamo_kitsune
name = "Tamamo Kitsune Tails"
icon_state = "9sune"
+ matrixed_sections = MATRIX_RED_GREEN
/datum/sprite_accessory/tails/mam_tails/tentacle
name = "Tentacle"
icon_state = "tentacle"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/tentacle
name = "Tentacle"
icon_state = "tentacle"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails/mam_tails/tiger
name = "Tiger"
icon_state = "tiger"
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails_animated/mam_tails_animated/tiger
name = "Tiger"
icon_state = "tiger"
+ matrixed_sections = MATRIX_ALL
/datum/sprite_accessory/tails/mam_tails/wolf
name = "Wolf"
icon_state = "wolf"
+ matrixed_sections = MATRIX_RED
/datum/sprite_accessory/tails_animated/mam_tails_animated/wolf
name = "Wolf"
icon_state = "wolf"
+ matrixed_sections = MATRIX_RED
diff --git a/icons/mob/mutant_bodyparts.dmi b/icons/mob/mutant_bodyparts.dmi
index 1334ce9e0e8e546373d183919d8612d069f276b8..8d34fb8dc3e6240b5586a2660199e7daa3c5acda 100644
GIT binary patch
delta 12441
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
delta 12360
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