diff --git a/code/__DEFINES/species.dm b/code/__DEFINES/species.dm
index c6cc6a5037..3b4c674079 100644
--- a/code/__DEFINES/species.dm
+++ b/code/__DEFINES/species.dm
@@ -5,6 +5,7 @@
#define SPECIES_ANDROID "android"
#define SPECIES_ANGEL "angel"
#define SPECIES_MAMMAL "mammal"
+#define SPECIES_ARACHNID "arachnid"
#define SPECIES_INSECT "insect"
#define SPECIES_DULLAHAN "dullahan"
#define SPECIES_DWARF "dwarf"
@@ -34,6 +35,7 @@
#define SPECIES_SYNTH_MIL "military_synth"
#define SPECIES_VAMPIRE "vampire"
#define SPECIES_XENOHYBRID "xeno"
+#define SPECIES_ZOMBIE "zombie"
// Species Category Defines ---------------------
@@ -45,6 +47,7 @@
#define SPECIES_CATEGORY_PLANT "plant"
#define SPECIES_CATEGORY_ROBOT "robotic"
#define SPECIES_CATEGORY_JELLY "jelly"
+#define SPECIES_CATEGORY_LIZARD "lizard"
#define SPECIES_CATEGORY_SHADOW "shadow"
#define SPECIES_CATEGORY_SKELETON "skeleton"
#define SPECIES_CATEGORY_UNDEAD "undead"
diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm
index f952307685..44775ed031 100644
--- a/code/datums/diseases/transformation.dm
+++ b/code/datums/diseases/transformation.dm
@@ -236,12 +236,12 @@
switch(stage)
if(1)
if(ishuman(affected_mob) && affected_mob.dna)
- if(affected_mob.dna.species.id == "slime" || affected_mob.dna.species.id == "stargazer" || affected_mob.dna.species.id == "slimelumi")
+ if(affected_mob.dna.species.id == SPECIES_SLIME_LUMI || affected_mob.dna.species.id == SPECIES_STARGAZER || affected_mob.dna.species.id == SPECIES_SLIME_LUMI)
stage = 5
if(3)
if(ishuman(affected_mob))
var/mob/living/carbon/human/human = affected_mob
- if(human.dna.species.id != "slime" && affected_mob.dna.species.id != "stargazer" && affected_mob.dna.species.id != "slimelumi")
+ if(human.dna.species.id != SPECIES_SLIME_LUMI && affected_mob.dna.species.id != SPECIES_STARGAZER && affected_mob.dna.species.id != SPECIES_SLIME_LUMI)
human.set_species(/datum/species/jelly/slime)
/datum/disease/transformation/corgi
diff --git a/code/modules/mob/living/carbon/human/species_types/android.dm b/code/modules/mob/living/carbon/human/species_types/android.dm
index 492f3d58e0..bfa3073f64 100644
--- a/code/modules/mob/living/carbon/human/species_types/android.dm
+++ b/code/modules/mob/living/carbon/human/species_types/android.dm
@@ -10,5 +10,5 @@
damage_overlay_type = "synth"
mutanttongue = /obj/item/organ/tongue/robot
species_language_holder = /datum/language_holder/synthetic
- limbs_id = "synth"
+ limbs_id = SPECIES_SYNTH
species_category = SPECIES_CATEGORY_ROBOT
diff --git a/code/modules/mob/living/carbon/human/species_types/angel.dm b/code/modules/mob/living/carbon/human/species_types/angel.dm
index 9c87f3ad5d..9e34411847 100644
--- a/code/modules/mob/living/carbon/human/species_types/angel.dm
+++ b/code/modules/mob/living/carbon/human/species_types/angel.dm
@@ -7,7 +7,7 @@
use_skintones = USE_SKINTONES_GRAYSCALE_CUSTOM
no_equip = list(SLOT_BACK)
blacklisted = 1
- limbs_id = "human"
+ limbs_id = SPECIES_HUMAN
skinned_type = /obj/item/stack/sheet/animalhide/human
species_category = SPECIES_CATEGORY_BASIC //they're a kind of human
diff --git a/code/modules/mob/living/carbon/human/species_types/arachnid.dm b/code/modules/mob/living/carbon/human/species_types/arachnid.dm
index 2072883c54..4a8c872400 100644
--- a/code/modules/mob/living/carbon/human/species_types/arachnid.dm
+++ b/code/modules/mob/living/carbon/human/species_types/arachnid.dm
@@ -1,6 +1,6 @@
/datum/species/arachnid
name = "Arachnid"
- id = "arachnid"
+ id = SPECIES_ARACHNID
override_bp_icon = 'icons/mob/arachnid_parts.dmi'
say_mod = "chitters"
default_color = "00FF00"
@@ -59,10 +59,10 @@
SW?.Remove(H)
/datum/action/innate/spin_web
- name = "Spin Web"
- check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
- icon_icon = 'icons/mob/actions/actions_animal.dmi'
- button_icon_state = "lay_web"
+ name = "Spin Web"
+ check_flags = AB_CHECK_RESTRAINED|AB_CHECK_STUN|AB_CHECK_CONSCIOUS
+ icon_icon = 'icons/mob/actions/actions_animal.dmi'
+ button_icon_state = "lay_web"
/datum/action/innate/spin_cocoon
name = "Spin Cocoon"
@@ -152,4 +152,4 @@
else
A.forceMove(C)
H.visible_message("[H] wraps [A] into a cocoon!")
- return
\ No newline at end of file
+ return
diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm
index f756fd8816..7faa08b52c 100644
--- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm
+++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm
@@ -11,7 +11,7 @@
mutanttongue = /obj/item/organ/tongue/dullahan
mutantears = /obj/item/organ/ears/dullahan
blacklisted = TRUE
- limbs_id = "human"
+ limbs_id = SPECIES_HUMAN
skinned_type = /obj/item/stack/sheet/animalhide/human
has_field_of_vision = FALSE //Too much of a trouble, their vision is already bound to their severed head.
species_category = SPECIES_CATEGORY_UNDEAD
diff --git a/code/modules/mob/living/carbon/human/species_types/felinid.dm b/code/modules/mob/living/carbon/human/species_types/felinid.dm
index 011b6b7642..3fcefbe2cc 100644
--- a/code/modules/mob/living/carbon/human/species_types/felinid.dm
+++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm
@@ -2,7 +2,7 @@
/datum/species/human/felinid
name = "Felinid"
id = SPECIES_FELINID
- limbs_id = "human"
+ limbs_id = SPECIES_HUMAN
mutant_bodyparts = list("mam_tail" = "Cat", "mam_ears" = "Cat", "deco_wings" = "None")
diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
index 58a10fb08e..a87c92bdb9 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -468,7 +468,7 @@
/datum/species/jelly/roundstartslime
name = "Xenobiological Slime Hybrid"
id = SPECIES_SLIME_HYBRID
- limbs_id = "slime"
+ limbs_id = SPECIES_SLIME
default_color = "00FFFF"
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR)
inherent_traits = list(TRAIT_TOXINLOVER)
@@ -480,7 +480,7 @@
heatmod = 1
burnmod = 1
- allowed_limb_ids = list("slime","stargazer","lum")
+ allowed_limb_ids = list(SPECIES_SLIME,SPECIES_STARGAZER,SPECIES_SLIME_LUMI)
/datum/action/innate/slime_change
name = "Alter Form"
diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
index c37a24a93a..e02d15303f 100644
--- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
@@ -28,7 +28,7 @@
tail_type = "tail_lizard"
wagging_type = "waggingtail_lizard"
- species_category = "lizard"
+ species_category = SPECIES_CATEGORY_LIZARD
/datum/species/lizard/random_name(gender,unique,lastname)
if(unique)
@@ -47,7 +47,7 @@
/datum/species/lizard/ashwalker
name = "Ash Walker"
id = SPECIES_ASHWALKER
- limbs_id = "lizard"
+ limbs_id = SPECIES_LIZARD
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE)
inherent_traits = list(TRAIT_CHUNKYFINGERS)
mutantlungs = /obj/item/organ/lungs/ashwalker
diff --git a/code/modules/mob/living/carbon/human/species_types/podpeople.dm b/code/modules/mob/living/carbon/human/species_types/podpeople.dm
index fae8ebfb0d..3d79e13685 100644
--- a/code/modules/mob/living/carbon/human/species_types/podpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/podpeople.dm
@@ -69,7 +69,7 @@
id = SPECIES_POD_WEAK
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,MUTCOLORS)
mutant_bodyparts = list("mcolor" = "FFFFFF","mcolor2" = "FFFFFF","mcolor3" = "FFFFFF", "mam_snouts" = "Husky", "mam_tail" = "Husky", "mam_ears" = "Husky", "mam_body_markings" = "Husky", "taur" = "None", "legs" = "Normal Legs")
- limbs_id = "pod"
+ limbs_id = SPECIES_POD
light_nutrition_gain_factor = 3
light_bruteheal = -0.2
light_burnheal = -0.2
diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
index 7dc8083264..4806813c04 100644
--- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
@@ -33,7 +33,7 @@
/datum/species/shadow/nightmare
name = "Nightmare"
id = SPECIES_NIGHTMARE
- limbs_id = "shadow"
+ limbs_id = SPECIES_SHADOW
burnmod = 1.5
blacklisted = TRUE
no_equip = list(SLOT_WEAR_MASK, SLOT_WEAR_SUIT, SLOT_GLOVES, SLOT_SHOES, SLOT_W_UNIFORM, SLOT_S_STORE)
@@ -141,7 +141,7 @@
playsound(owner,'sound/effects/singlebeat.ogg',40,1)
if(respawn_progress >= HEART_RESPAWN_THRESHHOLD)
owner.revive(full_heal = TRUE)
- if(!(owner.dna.species.id == "shadow" || owner.dna.species.id == "nightmare"))
+ if(!(owner.dna.species.id == SPECIES_SHADOW || owner.dna.species.id == SPECIES_NIGHTMARE))
var/mob/living/carbon/old_owner = owner
Remove(HEART_SPECIAL_SHADOWIFY)
old_owner.set_species(/datum/species/shadow)
diff --git a/code/modules/mob/living/carbon/human/species_types/skeletons.dm b/code/modules/mob/living/carbon/human/species_types/skeletons.dm
index b0673a7df4..8175f505fa 100644
--- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm
+++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm
@@ -32,7 +32,7 @@
/datum/species/skeleton/space
name = "Spooky Spacey Skeleton"
id = SPECIES_SKELETON_SPACE
- limbs_id = "skeleton"
+ limbs_id = SPECIES_SKELETON
blacklisted = 1
inherent_traits = list(TRAIT_RESISTHEAT,TRAIT_NOBREATH,TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_PIERCEIMMUNE,TRAIT_NOHUNGER,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT, TRAIT_FAKEDEATH, TRAIT_CALCIUM_HEALER)
diff --git a/code/modules/mob/living/carbon/human/species_types/synths.dm b/code/modules/mob/living/carbon/human/species_types/synths.dm
index 5d2b6f4c77..91711b5c39 100644
--- a/code/modules/mob/living/carbon/human/species_types/synths.dm
+++ b/code/modules/mob/living/carbon/human/species_types/synths.dm
@@ -11,7 +11,7 @@
meat = null
gib_types = /obj/effect/gibspawner/robot
damage_overlay_type = "synth"
- limbs_id = "synth"
+ limbs_id = SPECIES_SYNTH
var/list/initial_species_traits = list(NOTRANSSTING) //for getting these values back for assume_disguise()
var/list/initial_inherent_traits = list(TRAIT_VIRUSIMMUNE,TRAIT_NODISMEMBER,TRAIT_NOLIMBDISABLE,TRAIT_NOHUNGER,TRAIT_NOBREATH)
var/disguise_fail_health = 75 //When their health gets to this level their synthflesh partially falls off
@@ -80,7 +80,7 @@
qdel(fake_species)
fake_species = null
meat = initial(meat)
- limbs_id = "synth"
+ limbs_id = SPECIES_SYNTH
use_skintones = FALSE
sexes = 0
fixed_mut_color = ""
diff --git a/code/modules/mob/living/carbon/human/species_types/vampire.dm b/code/modules/mob/living/carbon/human/species_types/vampire.dm
index c2bafd0065..676248c463 100644
--- a/code/modules/mob/living/carbon/human/species_types/vampire.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm
@@ -11,7 +11,7 @@
mutant_heart = /obj/item/organ/heart/vampire
mutanttongue = /obj/item/organ/tongue/vampire
blacklisted = TRUE
- limbs_id = "human"
+ limbs_id = SPECIES_HUMAN
skinned_type = /obj/item/stack/sheet/animalhide/human
var/info_text = "You are a Vampire. You will slowly but constantly lose blood if outside of a coffin. If inside a coffin, you will slowly heal. You may gain more blood by grabbing a live victim and using your drain ability."
species_category = SPECIES_CATEGORY_UNDEAD
diff --git a/code/modules/mob/living/carbon/human/species_types/zombies.dm b/code/modules/mob/living/carbon/human/species_types/zombies.dm
index f1c0b8e7c0..385dd94f04 100644
--- a/code/modules/mob/living/carbon/human/species_types/zombies.dm
+++ b/code/modules/mob/living/carbon/human/species_types/zombies.dm
@@ -3,7 +3,7 @@
/datum/species/zombie
// 1spooky
name = "High-Functioning Zombie"
- id = "zombie"
+ id = SPECIES_ZOMBIE
say_mod = "moans"
sexes = 0
blacklisted = 1
@@ -19,7 +19,7 @@
/datum/species/zombie/notspaceproof
id = "notspaceproofzombie"
- limbs_id = "zombie"
+ limbs_id = SPECIES_ZOMBIE
blacklisted = 0
inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RADIMMUNE,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_NOBREATH,TRAIT_NODEATH,TRAIT_FAKEDEATH)
@@ -31,7 +31,7 @@
/datum/species/zombie/infectious
name = "Infectious Zombie"
id = "memezombies"
- limbs_id = "zombie"
+ limbs_id = SPECIES_ZOMBIE
inherent_traits = list(TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_EASYDISMEMBER,TRAIT_LIMBATTACHMENT,TRAIT_NOBREATH,TRAIT_NODEATH,TRAIT_NOSOFTCRIT, TRAIT_FAKEDEATH)
mutanthands = /obj/item/zombie_hand
armor = 20 // 120 damage to KO a zombie, which kills it
@@ -100,7 +100,7 @@
/datum/species/krokodil_addict
name = SPECIES_HUMAN
id = "goofzombies"
- limbs_id = "zombie" //They look like zombies
+ limbs_id = SPECIES_ZOMBIE //They look like zombies
sexes = 0
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/zombie
mutanttongue = /obj/item/organ/tongue/zombie
diff --git a/icons/mob/human_parts_greyscale.dmi b/icons/mob/human_parts_greyscale.dmi
index 814ac9a396..fb864385c7 100644
Binary files a/icons/mob/human_parts_greyscale.dmi and b/icons/mob/human_parts_greyscale.dmi differ