diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm
index 4735ef9e3f5c..2eb80dbcc77b 100644
--- a/code/__DEFINES/mobs.dm
+++ b/code/__DEFINES/mobs.dm
@@ -85,6 +85,37 @@
#define ALL_NON_ROBOTIC (MOB_ORGANIC|MOB_INORGANIC|MOB_UNDEAD)
#define ALL_BIOTYPES (MOB_ORGANIC|MOB_INORGANIC|MOB_ROBOTIC|MOB_UNDEAD)
+// Defines for Species IDs. Used to refer to the name of a species, for things like bodypart names or species preferences.
+#define SPECIES_ABDUCTOR "abductor"
+#define SPECIES_ANDROID "android"
+#define SPECIES_DULLAHAN "dullahan"
+#define SPECIES_ETHEREAL "ethereal"
+#define SPECIES_FELINE "felinid"
+#define SPECIES_FLYPERSON "fly"
+#define SPECIES_HUMAN "human"
+
+#define SPECIES_JELLYPERSON "jelly"
+#define SPECIES_SLIMEPERSON "slime"
+#define SPECIES_LUMINESCENT "lum" //for some reason it's just lum in our codebase and i don't want to break stuff by changing it
+#define SPECIES_STARGAZER "stargazer"
+#define SPECIES_LIZARD "lizard"
+#define SPECIES_LIZARD_ASH "ashlizard"
+#define SPECIES_LIZARD_ASH_SHAMAN "ashlizardshaman"
+#define SPECIES_LIZARD_DRACONID "draconid"
+
+#define SPECIES_NIGHTMARE "nightmare"
+#define SPECIES_MOTH "moth"
+#define SPECIES_MUSHROOM "mush"
+#define SPECIES_PLASMAMAN "plasmaman"
+#define SPECIES_PODPERSON "pod"
+#define SPECIES_SHADOW "shadow"
+#define SPECIES_SKELETON "skeleton"
+#define SPECIES_SNAIL "snail"
+#define SPECIES_VAMPIRE "vampire"
+#define SPECIES_ZOMBIE "zombie"
+#define SPECIES_ZOMBIE_INFECTIOUS "memezombie"
+#define SPECIES_ZOMBIE_KROKODIL "krokodil_zombie"
+
//Organ defines for carbon mobs
#define ORGAN_ORGANIC 1
#define ORGAN_ROBOTIC 2
diff --git a/code/__DEFINES/{yogs_defines}/mobs.dm b/code/__DEFINES/{yogs_defines}/mobs.dm
index dc4c11e90278..d9dc1c1a2124 100644
--- a/code/__DEFINES/{yogs_defines}/mobs.dm
+++ b/code/__DEFINES/{yogs_defines}/mobs.dm
@@ -9,6 +9,10 @@
#define MONKIFY_BLOOD_COEFFICIENT (BLOOD_VOLUME_MONKEY/BLOOD_VOLUME_GENERIC) //the ratio of monkey to human blood volume so a 100% blood volume monkey will not instantly die when you turn it into a human with ~58% blood volume
+#define SPECIES_DARKSPAWN "darkspawn"
+#define SPECIES_IPC "ipc"
+#define SPECIES_POLYSMORPH "polysmorph"
+#define SPECIES_PRETERNIS "preternis"
#define SPECIES_VOX "vox"
#define BUTT_SPRITE_VOX "vox"
diff --git a/code/__HELPERS/game.dm b/code/__HELPERS/game.dm
index 21e0b623080d..bdbbe8497cc5 100644
--- a/code/__HELPERS/game.dm
+++ b/code/__HELPERS/game.dm
@@ -390,7 +390,7 @@
var/mob/living/carbon/human/H
if(ishuman(M.current))
H = M.current
- return M.current.stat != DEAD && !issilicon(M.current) && !isbrain(M.current) && (!H || H.dna.species.id != "memezombies")
+ return M.current.stat != DEAD && !issilicon(M.current) && !isbrain(M.current) && (!H || H.dna.species.id != SPECIES_ZOMBIE_INFECTIOUS)
else if(isliving(M.current))
if(isAI(M.current))
var/mob/living/silicon/ai/AI = M.current
diff --git a/code/datums/traits/negative.dm b/code/datums/traits/negative.dm
index 2e025359558e..7b52b6eab3f8 100644
--- a/code/datums/traits/negative.dm
+++ b/code/datums/traits/negative.dm
@@ -188,7 +188,7 @@
/datum/quirk/nyctophobia/on_process()
var/mob/living/carbon/human/H = quirk_holder
- if((H.dna.species.id in list("shadow", "nightmare", "darkspawn")) || is_darkspawn_or_thrall(H))
+ if(isshadowperson(H) || is_darkspawn_or_thrall(H))
return //we're tied with the dark, so we don't get scared of it; don't cleanse outright to avoid cheese
var/turf/T = get_turf(quirk_holder)
var/lums = T.get_lumcount()
diff --git a/code/game/gamemodes/clock_cult/clock_cult.dm b/code/game/gamemodes/clock_cult/clock_cult.dm
index f321115dacbc..1e8f6f1de0ed 100644
--- a/code/game/gamemodes/clock_cult/clock_cult.dm
+++ b/code/game/gamemodes/clock_cult/clock_cult.dm
@@ -283,7 +283,7 @@ Credit where due:
var/plasmaman //We use this to determine if we should activate internals in post_equip()
/datum/outfit/servant_of_ratvar/pre_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
- if(H.dna.species.id == "plasmaman") //Plasmamen get additional equipment because of how they work
+ if(H.dna.species.id == SPECIES_PLASMAMAN) //Plasmamen get additional equipment because of how they work
head = /obj/item/clothing/head/helmet/space/plasmaman
uniform = /obj/item/clothing/under/plasmaman //Plasmamen generally shouldn't need chameleon suits anyways, since everyone expects them to wear their fire suit
r_hand = /obj/item/tank/internals/plasmaman/belt/full
diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm
index 2a15624d04d2..a088704c6c81 100644
--- a/code/game/machinery/computer/crew.dm
+++ b/code/game/machinery/computer/crew.dm
@@ -197,7 +197,7 @@ GLOBAL_DATUM_INIT(crewmonitor, /datum/crewmonitor, new)
brutedam = round(tracked_mob.getBruteLoss(),1)
//species check
- if (ishumanbasic(tracked_mob))
+ if (ishumanbasic(tracked_mob)) //this should really just pull the species name or something rather than having all these checks
species = "Human"
if (ispreternis(tracked_mob))
species = "Robot"
diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm
index c49b87da94c4..fe4a8cccd9ac 100644
--- a/code/game/machinery/limbgrower.dm
+++ b/code/game/machinery/limbgrower.dm
@@ -12,7 +12,7 @@
circuit = /obj/item/circuitboard/machine/limbgrower
/// The category of limbs we're browing in our UI.
- var/selected_category = "human"
+ var/selected_category = SPECIES_HUMAN
/// If we're currently printing something.
var/busy = FALSE
/// How efficient our machine is. Better parts = less chemicals used and less power used. Range of 1 to 0.25.
@@ -24,7 +24,7 @@
/// Our internal techweb for limbgrower designs.
var/datum/techweb/stored_research
/// All the categories of organs we can print.
- var/list/categories = list("human", "lizard", "moth", "plasmaman", "ethereal", "polysmorph", "vox", "other")
+ var/list/categories = list(SPECIES_HUMAN, SPECIES_LIZARD, SPECIES_MOTH, SPECIES_PLASMAMAN, SPECIES_ETHEREAL, SPECIES_POLYSMORPH, SPECIES_VOX, "other")
//yogs grower a little different because we're going to allow meats to be converted to synthflesh because hugbox
var/list/accepted_biomass = list(
/obj/item/reagent_containers/food/snacks/meat/slab/monkey = 25,
@@ -255,9 +255,9 @@
/// The limb we're making with our buildpath, so we can edit it.
var/obj/item/bodypart/limb = new buildpath(loc)
/// Species with greyscale limbs.
- var/list/greyscale_species = list("human", "lizard", "ethereal")
+ var/list/greyscale_species = list(SPECIES_HUMAN, SPECIES_LIZARD, SPECIES_ETHEREAL)
if(selected_category in greyscale_species) //Species with greyscale parts should be included here
- if(selected_category == "human") //humans don't use the full colour spectrum, they use random_skin_tone
+ if(selected_category == SPECIES_HUMAN) //humans don't use the full colour spectrum, they use random_skin_tone
limb.skin_tone = random_skin_tone()
else
limb.species_color = random_short_color()
diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm
index e6be6d8a4c58..8665d8016efb 100644
--- a/code/game/machinery/teleporter.dm
+++ b/code/game/machinery/teleporter.dm
@@ -79,7 +79,7 @@
log_game("[M] ([key_name(M)]) was turned into a fly person")
if(ishuman(M))//don't remove people from the round randomly you jerks
var/mob/living/carbon/human/human = M
- if(human.dna && human.dna.species.id == "human")
+ if(human.dna && human.dna.species.id == SPECIES_HUMAN)
to_chat(M, span_italics("You hear a buzzing in your ears."))
human.set_species(/datum/species/fly)
diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm
index d885f080cab0..36481628f470 100644
--- a/code/game/objects/effects/decals/cleanable/humans.dm
+++ b/code/game/objects/effects/decals/cleanable/humans.dm
@@ -296,7 +296,7 @@
. += "Some feet."
else if(species == "monkey")
. += "[icon2html('icons/mob/monkey.dmi', user, "monkey1")] Some monkey paws."
- else if(species == "human")
+ else if(species == SPECIES_HUMAN)
. += "[icon2html('icons/mob/human_parts.dmi', user, "default_human_l_leg")] Some human feet."
else
. += "[icon2html('icons/mob/human_parts.dmi', user, "[species]_l_leg")] Some [species] feet."
diff --git a/code/game/objects/effects/spawners/mystery_box.dm b/code/game/objects/effects/spawners/mystery_box.dm
index b9960e2da444..d1615c803d42 100644
--- a/code/game/objects/effects/spawners/mystery_box.dm
+++ b/code/game/objects/effects/spawners/mystery_box.dm
@@ -146,7 +146,7 @@
/datum/species/preternis/zombie
name = "Low-Functioning Preternis"
id = "preterniszombie"
- limbs_id = "preternis"
+ limbs_id = SPECIES_PRETERNIS
inherent_traits = list(TRAIT_NOBREATH, TRAIT_NOHUNGER, TRAIT_RADIMMUNE, TRAIT_MEDICALIGNORE, TRAIT_NO_BLOOD_REGEN, TRAIT_STABLELIVER, TRAIT_STABLEHEART, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE, TRAIT_FAKEDEATH, TRAIT_STUNIMMUNE, TRAIT_NODEATH)
mutanthands = /obj/item/zombie_hand
var/static/list/spooks = list('sound/hallucinations/growl1.ogg','sound/hallucinations/growl2.ogg','sound/hallucinations/growl3.ogg','sound/hallucinations/veryfar_noise.ogg','sound/hallucinations/wail.ogg')
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index 8c032d362b99..1a08f540646d 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -179,8 +179,8 @@
/obj/structure/mirror/magic/lesser/New()
choosable_races = GLOB.roundstart_races.Copy()
- if(!("felinid" in choosable_races))
- choosable_races += "felinid"
+ if(!(SPECIES_FELINE in choosable_races))
+ choosable_races += SPECIES_FELINE
..()
/obj/structure/mirror/magic/badmin/New()
diff --git a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm
index 40c530c1efed..80e587eea151 100644
--- a/code/modules/antagonists/eldritch_cult/eldritch_effects.dm
+++ b/code/modules/antagonists/eldritch_cult/eldritch_effects.dm
@@ -386,7 +386,7 @@
BP.dismember(BURN)
if(PENANCE_SKELETON)
var/obj/item/bodypart/BP
- while(!BP || BP.species_id == "skeleton")
+ while(!BP || BP.species_id == SPECIES_SKELETON)
if(!LAZYLEN(unspooked_limbs))
to_chat(C, span_warning("Something you did managed to break brazil limb sacrificing stuff, make a bug report!"))
return
@@ -394,7 +394,7 @@
BP = C.get_bodypart(target_zone)
var/obj/item/bodypart/replacement_part = new BP.type
replacement_part.max_damage = 15
- replacement_part.species_id = "skeleton"
+ replacement_part.species_id = SPECIES_SKELETON
replacement_part.original_owner = "inside"
replacement_part.replace_limb(owner)
C.visible_message(span_warning("The skin on [owner]'s [BP] suddenly melts off, revealing bone!"), span_warning("The skin and muscle on your [BP] is suddenly melted off!"))
diff --git a/code/modules/awaymissions/mission_code/snowdin.dm b/code/modules/awaymissions/mission_code/snowdin.dm
index f5cebb981033..8764939f6413 100644
--- a/code/modules/awaymissions/mission_code/snowdin.dm
+++ b/code/modules/awaymissions/mission_code/snowdin.dm
@@ -214,7 +214,7 @@
robo_parts += NN
if(NN.body_zone == BODY_ZONE_HEAD) //don't add the head to the list, just transform them into an plasmaman when it's the only thing left
continue
- if(NN.status == BODYPART_ORGANIC && !(NN.species_id == "plasmaman" || NN.species_id == "husk")) //getting every organic, non-plasmaman limb (augments/androids are immune to this)
+ if(NN.status == BODYPART_ORGANIC && !(NN.species_id == SPECIES_PLASMAMAN || NN.species_id == "husk")) //getting every organic, non-plasmaman limb (augments/androids are immune to this)
plasma_parts += NN
if(prob(35)) //checking if the delay is over & if the victim actually has any parts to nom
@@ -229,7 +229,7 @@
else
PP.visible_message(span_warning("[L]'s [NB] melts down to the bone!"))
var/obj/item/bodypart/replacement_part = new NB.type
- replacement_part.species_id = "plasmaman"
+ replacement_part.species_id = SPECIES_PLASMAMAN
replacement_part.original_owner = "plasma river"
replacement_part.replace_limb(PP)
qdel(NB)
diff --git a/code/modules/client/preferences/middleware/species.dm b/code/modules/client/preferences/middleware/species.dm
index ed33227c8b03..69f943510d22 100644
--- a/code/modules/client/preferences/middleware/species.dm
+++ b/code/modules/client/preferences/middleware/species.dm
@@ -22,7 +22,7 @@
dummy.equipOutfit(/datum/outfit/job/assistant/consistent, visualsOnly = TRUE)
dummy.dna.species.prepare_human_for_preview(dummy)
var/icon/dummy_icon = getFlatIcon(dummy)
- var/list/lazy_icons_species = list("moth", SPECIES_VOX)//no idea why it fails to render properly the normal way
+ var/list/lazy_icons_species = list(SPECIES_MOTH, SPECIES_VOX)//no idea why it fails to render properly the normal way
if(dummy.dna.species.id in lazy_icons_species)
dummy_icon = null
dummy_icon = icon('icons/mob/human.dmi', "[dummy.dna.species.id]")
diff --git a/code/modules/client/preferences/species.dm b/code/modules/client/preferences/species.dm
index 494faeff5737..3fffcbee7646 100644
--- a/code/modules/client/preferences/species.dm
+++ b/code/modules/client/preferences/species.dm
@@ -6,7 +6,7 @@
randomize_by_default = FALSE
/datum/preference/choiced/species/deserialize(input, datum/preferences/preferences)
- return GLOB.species_list[sanitize_inlist(input, get_choices_serialized(), "human")]
+ return GLOB.species_list[sanitize_inlist(input, get_choices_serialized(), SPECIES_HUMAN)]
/datum/preference/choiced/species/serialize(input)
var/datum/species/species = input
diff --git a/code/modules/hydroponics/beekeeping/beebox.dm b/code/modules/hydroponics/beekeeping/beebox.dm
index 5c819c18bb24..4966acc84b2f 100644
--- a/code/modules/hydroponics/beekeeping/beebox.dm
+++ b/code/modules/hydroponics/beekeeping/beebox.dm
@@ -16,7 +16,7 @@
/mob/living/carbon/human/bee_friendly()
- if(dna && dna.species && dna.species.id == "pod") //bees pollinate plants, duh.
+ if(ispodperson(src)) //bees pollinate plants, duh.
return TRUE
if (wear_suit && head && istype(wear_suit, /obj/item/clothing) && istype(head, /obj/item/clothing))
var/obj/item/clothing/CS = wear_suit
diff --git a/code/modules/jobs/job_types/_job.dm b/code/modules/jobs/job_types/_job.dm
index a779df14695a..ee9e3599272e 100644
--- a/code/modules/jobs/job_types/_job.dm
+++ b/code/modules/jobs/job_types/_job.dm
@@ -188,7 +188,7 @@
//This reads Command placement exceptions in code/controllers/configuration/entries/game_options to allow non-Humans in specified Command roles. If the combination of species and command role is invalid, default to Human.
if(CONFIG_GET(keyed_list/job_species_whitelist)[type] && !splittext(CONFIG_GET(keyed_list/job_species_whitelist)[type], ",").Find(H.dna.species.id))
- if(H.dna.species.id != "human")
+ if(H.dna.species.id != SPECIES_HUMAN)
H.set_species(/datum/species/human)
H.apply_pref_name(/datum/preference/name/backup_human, preference_source)
diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index af39fdd088d5..ecce8282242f 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -489,7 +489,7 @@
threatcount += 2
//Check for nonhuman scum
- if(dna && dna.species.id && dna.species.id != "human")
+ if(dna && dna.species.id && dna.species.id != SPECIES_HUMAN)
threatcount += 1
//mindshield implants imply trustworthyness
diff --git a/code/modules/mob/living/carbon/human/human_defense.dm b/code/modules/mob/living/carbon/human/human_defense.dm
index 387eb11d36ad..a37309c6276b 100644
--- a/code/modules/mob/living/carbon/human/human_defense.dm
+++ b/code/modules/mob/living/carbon/human/human_defense.dm
@@ -833,7 +833,7 @@
if(0 to NUTRITION_LEVEL_STARVING)
combined_msg += span_danger("You're starving!")
- if(dna.species.id == "skeleton")
+ if(isskeleton(src))
var/obj/item/clothing/under/under = w_uniform
if((!under || under.adjusted) && (!wear_suit))
play_xylophone()
diff --git a/code/modules/mob/living/carbon/human/species_types/abductors.dm b/code/modules/mob/living/carbon/human/species_types/abductors.dm
index 001fd806aaf1..01b90dc571e4 100644
--- a/code/modules/mob/living/carbon/human/species_types/abductors.dm
+++ b/code/modules/mob/living/carbon/human/species_types/abductors.dm
@@ -1,6 +1,6 @@
/datum/species/abductor
name = "Abductor"
- id = "abductor"
+ id = SPECIES_ABDUCTOR
say_mod = "gibbers"
possible_genders = list(PLURAL)
species_traits = list(NOBLOOD,NOEYESPRITES)
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 40fff960d064..2982f0e9e3e7 100644
--- a/code/modules/mob/living/carbon/human/species_types/android.dm
+++ b/code/modules/mob/living/carbon/human/species_types/android.dm
@@ -1,6 +1,6 @@
/datum/species/android
name = "Android"
- id = "android"
+ id = SPECIES_ANDROID
say_mod = "states"
bubble_icon = BUBBLE_ROBOT
possible_genders = list(PLURAL, NEUTER)
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 efdd910521ab..d6fa6fd40b69 100644
--- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm
+++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm
@@ -1,6 +1,6 @@
/datum/species/dullahan
name = "Dullahan"
- id = "dullahan"
+ id = SPECIES_DULLAHAN
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,HAS_FLESH,HAS_BONE)
inherent_traits = list(TRAIT_NOHUNGER,TRAIT_NOBREATH)
@@ -10,7 +10,7 @@
mutanteyes = /obj/item/organ/eyes/dullahan
mutanttongue = /obj/item/organ/tongue/dullahan
mutantears = /obj/item/organ/ears/dullahan
- limbs_id = "human"
+ limbs_id = SPECIES_HUMAN
skinned_type = /obj/item/stack/sheet/animalhide/human
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | ERT_SPAWN
@@ -116,7 +116,7 @@
/obj/item/organ/tongue/dullahan/handle_speech(datum/source, list/speech_args)
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
- if(H.dna.species.id == "dullahan")
+ if(H.dna.species.id == SPECIES_DULLAHAN)
var/datum/species/dullahan/D = H.dna.species
if(isobj(D.myhead.loc))
var/obj/O = D.myhead.loc
@@ -146,7 +146,7 @@
if(ishuman(owner))
var/mob/living/carbon/human/H = owner
- if(H.dna.species.id == "dullahan")
+ if(H.dna.species.id == SPECIES_DULLAHAN)
var/datum/species/dullahan/D = H.dna.species
D.update_vision_perspective(H)
@@ -176,7 +176,7 @@
/obj/item/dullahan_relay/Destroy()
if(!QDELETED(owner))
var/mob/living/carbon/human/H = owner
- if(H.dna.species.id == "dullahan")
+ if(H.dna.species.id == SPECIES_DULLAHAN)
var/datum/species/dullahan/D = H.dna.species
D.myhead = null
owner.gib()
diff --git a/code/modules/mob/living/carbon/human/species_types/ethereal.dm b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
index 1ea5e367b42f..5d840ae43241 100644
--- a/code/modules/mob/living/carbon/human/species_types/ethereal.dm
+++ b/code/modules/mob/living/carbon/human/species_types/ethereal.dm
@@ -2,7 +2,7 @@
/datum/species/ethereal
name = "Ethereal"
- id = "ethereal"
+ id = SPECIES_ETHEREAL
attack_verbs = list("burn", "sear")
attack_sound = 'sound/weapons/etherealhit.ogg'
miss_sound = 'sound/weapons/etherealmiss.ogg'
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 0ea13f2b71d3..ecf29a0831ce 100644
--- a/code/modules/mob/living/carbon/human/species_types/felinid.dm
+++ b/code/modules/mob/living/carbon/human/species_types/felinid.dm
@@ -1,8 +1,8 @@
//Subtype of human
/datum/species/human/felinid
name = "Felinid Human"
- id = "felinid"
- limbs_id = "human"
+ id = SPECIES_FELINE
+ limbs_id = SPECIES_HUMAN
attack_verbs = list("slash")
attack_effect = ATTACK_EFFECT_CLAW
attack_sound = 'sound/weapons/slash.ogg'
diff --git a/code/modules/mob/living/carbon/human/species_types/flypeople.dm b/code/modules/mob/living/carbon/human/species_types/flypeople.dm
index 433dddaf6c89..2ecd00ebfb4c 100644
--- a/code/modules/mob/living/carbon/human/species_types/flypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/flypeople.dm
@@ -1,7 +1,7 @@
/datum/species/fly
name = "Flyperson"
plural_form = "Flypeople"
- id = "fly"
+ id = SPECIES_FLYPERSON
say_mod = "buzzes"
species_traits = list(NOEYESPRITES, HAS_FLESH, HAS_BONE)
inherent_biotypes = MOB_ORGANIC|MOB_HUMANOID|MOB_BUG
diff --git a/code/modules/mob/living/carbon/human/species_types/humans.dm b/code/modules/mob/living/carbon/human/species_types/humans.dm
index bb2ced3fb645..c19c7f467c15 100644
--- a/code/modules/mob/living/carbon/human/species_types/humans.dm
+++ b/code/modules/mob/living/carbon/human/species_types/humans.dm
@@ -1,6 +1,6 @@
/datum/species/human
name = "Human"
- id = "human"
+ id = SPECIES_HUMAN
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,HAS_FLESH,HAS_BONE)
default_features = list("mcolor" = "#FFFFFF", "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 adf64859a59c..fd6b6fd85e69 100644
--- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm
@@ -2,7 +2,7 @@
// Entirely alien beings that seem to be made entirely out of gel. They have three eyes and a skeleton visible within them.
name = "Jellyperson"
plural_form = "Jellypeople"
- id = "jelly"
+ id = SPECIES_JELLYPERSON
default_color = "00FF90"
say_mod = "chirps"
bubble_icon = BUBBLE_SLIME
@@ -166,7 +166,7 @@
/datum/species/jelly/slime
name = "Slimeperson"
plural_form = "Slimepeople"
- id = "slime"
+ id = SPECIES_SLIMEPERSON
default_color = "00FFFF"
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR,NOBLOOD)
say_mod = "says"
@@ -442,7 +442,7 @@
/datum/species/jelly/luminescent
name = "Luminescent"
plural_form = null
- id = "lum"
+ id = SPECIES_LUMINESCENT
say_mod = "says"
var/glow_intensity = LUMINESCENT_DEFAULT_GLOW
var/obj/item/slime_extract/current_extract
@@ -614,7 +614,7 @@
/datum/species/jelly/stargazer
name = "Stargazer"
plural_form = null
- id = "stargazer"
+ id = SPECIES_STARGAZER
var/datum/action/innate/project_thought/project_thought
var/datum/action/innate/link_minds/link_minds
var/list/mob/living/linked_mobs = list()
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 7a676d6667e6..cf0ed2244a1f 100644
--- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm
@@ -4,7 +4,7 @@
// Reptilian humanoids with scaled skin and tails.
name = "Vuulek"
plural_form = "Vuulen"
- id = "lizard"
+ id = SPECIES_LIZARD
say_mod = "hisses"
default_color = "00FF00"
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,HAS_FLESH,HAS_BONE,HAS_TAIL)
@@ -185,8 +185,8 @@
*/
/datum/species/lizard/ashwalker
name = "Ash Walker"
- id = "ashlizard"
- limbs_id = "lizard"
+ id = SPECIES_LIZARD_ASH
+ limbs_id = SPECIES_LIZARD
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE,HAS_FLESH,HAS_BONE,HAS_TAIL)
inherent_traits = list(TRAIT_NOGUNS) //yogs start - ashwalkers have special lungs and actually breathe
mutantlungs = /obj/item/organ/lungs/ashwalker // yogs end
@@ -204,7 +204,7 @@
//Ash walker shaman, worse defensive stats, but better at surgery and have a healing touch ability
/datum/species/lizard/ashwalker/shaman
name = "Ash Walker Shaman"
- id = "ashlizardshaman"
+ id = SPECIES_LIZARD_ASH_SHAMAN
armor = -1 //more of a support than a standard ashwalker, don't get hit
brutemod = 1.15
burnmod = 1.15
@@ -267,8 +267,8 @@
*/
/datum/species/lizard/draconid
name = "Draconid"
- id = "draconid"
- limbs_id = "lizard"
+ id = SPECIES_LIZARD_DRACONID
+ limbs_id = SPECIES_LIZARD
fixed_mut_color = "#A02720" //Deep red
species_traits = list(MUTCOLORS,EYECOLOR,LIPS,DIGITIGRADE,HAS_FLESH,HAS_BONE,HAS_TAIL)
inherent_traits = list(TRAIT_RESISTHEAT) //Dragons like fire, not cold blooded because they generate fire inside themselves or something
diff --git a/code/modules/mob/living/carbon/human/species_types/mothmen.dm b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
index 80a128644b82..fb3f59e92f62 100644
--- a/code/modules/mob/living/carbon/human/species_types/mothmen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/mothmen.dm
@@ -1,7 +1,7 @@
/datum/species/moth
name = "Ex'hai"
plural_form = "Ex'hau"
- id = "moth"
+ id = SPECIES_MOTH
say_mod = "flutters"
default_color = "00FF00"
species_traits = list(LIPS, NOEYESPRITES,HAS_FLESH,HAS_BONE)
diff --git a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm
index d2322ecdfb00..d40d1473418c 100644
--- a/code/modules/mob/living/carbon/human/species_types/mushpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/mushpeople.dm
@@ -1,7 +1,7 @@
/datum/species/mush //mush mush codecuck
name = "Mushroomperson"
plural_form = "Mushroompeople"
- id = "mush"
+ id = SPECIES_MUSHROOM
mutant_bodyparts = list("caps")
default_features = list("caps" = "Round")
changesource_flags = MIRROR_BADMIN | WABBAJACK | ERT_SPAWN | SLIME_EXTRACT
diff --git a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
index acc4dde95a25..205dfbbe74b5 100644
--- a/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
+++ b/code/modules/mob/living/carbon/human/species_types/plasmamen.dm
@@ -1,7 +1,7 @@
/datum/species/plasmaman
name = "Plasmaman"
plural_form = "Plasmamen"
- id = "plasmaman"
+ id = SPECIES_PLASMAMAN
say_mod = "rattles"
possible_genders = list(PLURAL)
meat = /obj/item/stack/sheet/mineral/plasma
diff --git a/code/modules/mob/living/carbon/human/species_types/polysmorphs.dm b/code/modules/mob/living/carbon/human/species_types/polysmorphs.dm
index 6908e8c9577f..60eefd33fbdf 100644
--- a/code/modules/mob/living/carbon/human/species_types/polysmorphs.dm
+++ b/code/modules/mob/living/carbon/human/species_types/polysmorphs.dm
@@ -1,7 +1,7 @@
/datum/species/polysmorph
//Human xenopmorph hybrid
name = "Polysmorph"
- id = "polysmorph"
+ id = SPECIES_POLYSMORPH
species_traits = list(NOEYESPRITES, MUTCOLORS, NOCOLORCHANGE, DIGITIGRADE, HAS_FLESH, HAS_BONE, HAS_TAIL)
possible_genders = list(FEMALE)
inherent_traits = list(TRAIT_ACIDBLOOD, TRAIT_SKINNY)
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 4a6b64cfbd2b..d9d4632000ee 100644
--- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
+++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm
@@ -10,7 +10,7 @@
// Humans cursed to stay in the darkness, lest their life forces drain. They regain health in shadow and die in light.
name = "???"
plural_form = "???"
- id = "shadow"
+ id = SPECIES_SHADOW
possible_genders = list(PLURAL)
bubble_icon = BUBBLE_DARKSPAWN
ignored_by = list(/mob/living/simple_animal/hostile/faithless)
@@ -125,8 +125,8 @@
/datum/species/shadow/nightmare
name = "Nightmare"
plural_form = null
- id = "nightmare"
- limbs_id = "shadow"
+ id = SPECIES_NIGHTMARE
+ limbs_id = SPECIES_SHADOW
burnmod = 1.5
no_equip = list(ITEM_SLOT_MASK, ITEM_SLOT_OCLOTHING, ITEM_SLOT_GLOVES, ITEM_SLOT_FEET, ITEM_SLOT_ICLOTHING, ITEM_SLOT_SUITSTORE)
species_traits = list(NOBLOOD,NO_UNDERWEAR,NO_DNA_COPY,NOTRANSSTING,NOEYESPRITES,NOFLASH)
@@ -153,8 +153,8 @@
////////////////////////////////////////////////////////////////////////////////////
/datum/species/shadow/darkspawn
name = "Darkspawn"
- id = "darkspawn"
- limbs_id = "darkspawn"
+ id = SPECIES_DARKSPAWN
+ limbs_id = SPECIES_DARKSPAWN
possible_genders = list(PLURAL)
nojumpsuit = TRUE
changesource_flags = MIRROR_BADMIN //never put this in the pride pool because they look super valid and can never be changed off of
@@ -253,7 +253,7 @@
/obj/item/organ/brain/nightmare/Insert(mob/living/carbon/host, special = FALSE)
..()
- if(host.dna.species.id != "nightmare")
+ if(!isshadowperson(host))
host.set_species(/datum/species/shadow/nightmare)
visible_message(span_warning("[host] thrashes as [src] takes root in [host.p_their()] body!"))
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 63d72b971690..814f3917d8db 100644
--- a/code/modules/mob/living/carbon/human/species_types/skeletons.dm
+++ b/code/modules/mob/living/carbon/human/species_types/skeletons.dm
@@ -1,7 +1,7 @@
/datum/species/skeleton
// 2spooky
name = "Spooky Scary Skeleton"
- id = "skeleton"
+ id = SPECIES_SKELETON
say_mod = "rattles"
possible_genders = list(NEUTER)
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/skeleton
@@ -23,7 +23,7 @@
id = "weakskeleton"
brutemod = 1.5 // Their low calcium bones are much weaker to being smashed.
punchdamagehigh = 5 // their weak bones don't let them punch very well.
- limbs_id = "skeleton" //they are just normal skeletons but weaker
+ limbs_id = SPECIES_SKELETON //they are just normal skeletons but weaker
/datum/species/skeleton/lowcalcium/check_roundstart_eligible()
if(SSevents.holidays && SSevents.holidays[HALLOWEEN])
diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm
index ba84e02fcab3..f47aacf43818 100644
--- a/code/modules/mob/living/carbon/human/species_types/snail.dm
+++ b/code/modules/mob/living/carbon/human/species_types/snail.dm
@@ -1,7 +1,7 @@
/datum/species/snail
name = "Snailperson"
plural_form = "Snailpeople"
- id = "snail"
+ id = SPECIES_SNAIL
offset_features = list(OFFSET_UNIFORM = list(0,0), OFFSET_ID = list(0,0), OFFSET_GLOVES = list(0,0), OFFSET_GLASSES = list(0,4), OFFSET_EARS = list(0,0), OFFSET_SHOES = list(0,0), OFFSET_S_STORE = list(0,0), OFFSET_FACEMASK = list(0,0), OFFSET_HEAD = list(0,0), OFFSET_FACE = list(0,0), OFFSET_BELT = list(0,0), OFFSET_BACK = list(0,0), OFFSET_SUIT = list(0,0), OFFSET_NECK = list(0,0))
default_color = "336600" //vomit green
species_traits = list(MUTCOLORS, NO_UNDERWEAR, HAS_FLESH, HAS_BONE)
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 475c5b7d557a..4b14ca2e91ab 100644
--- a/code/modules/mob/living/carbon/human/species_types/vampire.dm
+++ b/code/modules/mob/living/carbon/human/species_types/vampire.dm
@@ -1,6 +1,6 @@
/datum/species/vampire
name = "Vampire"
- id = "vampire"
+ id = SPECIES_VAMPIRE
default_color = "FFFFFF"
species_traits = list(EYECOLOR,HAIR,FACEHAIR,LIPS,DRINKSBLOOD,HAS_FLESH,HAS_BONE)
inherent_traits = list(TRAIT_NOHUNGER,TRAIT_NOBREATH)
@@ -11,7 +11,7 @@
use_skintones = TRUE
mutantheart = /obj/item/organ/heart/vampire
mutanttongue = /obj/item/organ/tongue/vampire
- 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."
var/datum/action/cooldown/spell/shapeshift/bat/batform //attached to the datum itself to avoid cloning memes, and other duplicates
diff --git a/code/modules/mob/living/carbon/human/species_types/wy_synths.dm b/code/modules/mob/living/carbon/human/species_types/wy_synths.dm
index 9da6af5d537a..c34cf53e2e52 100644
--- a/code/modules/mob/living/carbon/human/species_types/wy_synths.dm
+++ b/code/modules/mob/living/carbon/human/species_types/wy_synths.dm
@@ -5,7 +5,7 @@
id = "synthetic"
say_mod = "states"
- limbs_id = "human"
+ limbs_id = SPECIES_HUMAN
damage_overlay_type = "synth"
species_traits = list(NOTRANSSTING,NOEYESPRITES,NO_DNA_COPY,TRAIT_EASYDISMEMBER,NOZOMBIE,NOHUSK,NOBLOOD, NO_UNDERWEAR)
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 afe0679217d5..82d55c063c9e 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"
possible_genders = list(NEUTER)
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/zombie
@@ -45,8 +45,8 @@
/datum/species/zombie/infectious
name = "Infectious Zombie"
- id = "memezombies"
- limbs_id = "zombie"
+ id = SPECIES_ZOMBIE_INFECTIOUS
+ limbs_id = SPECIES_ZOMBIE
inherent_traits = list(TRAIT_STABLELIVER, TRAIT_STABLEHEART, TRAIT_RESISTCOLD,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RADIMMUNE,TRAIT_EASILY_WOUNDED,TRAIT_LIMBATTACHMENT,TRAIT_NOBREATH,TRAIT_NODEATH,TRAIT_FAKEDEATH,TRAIT_STUNIMMUNE)
mutanthands = /obj/item/zombie_hand
armor = 20 // 120 damage to KO a zombie, which kills it
@@ -111,8 +111,8 @@
// Your skin falls off
/datum/species/krokodil_addict
name = "Human"
- id = "goofzombies"
- limbs_id = "zombie" //They look like zombies
+ id = SPECIES_ZOMBIE_KROKODIL
+ limbs_id = SPECIES_ZOMBIE //They look like zombies
possible_genders = list(PLURAL)
species_traits = list(HAS_FLESH, HAS_BONE)
inherent_traits = list(TRAIT_EASILY_WOUNDED) //you have no skin
@@ -125,7 +125,7 @@
/datum/species/zombie/hecata
name = "Sanguine Zombie"
id = "hecatazombie"
- limbs_id = "zombie"
+ limbs_id = SPECIES_ZOMBIE
say_mod = "moans"
brutemod = 1.1
burnmod = 1.1 //more fragile, though they also dont enter soft crit
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index a892565fa24f..722b00c3efdd 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -805,7 +805,7 @@ generate/load female uniform sprites matching all previously decided variables
else
. += "-robotic"
if(BP.use_digitigrade)
- if("[dna.species]" == "polysmorph")
+ if("[dna.species]" == SPECIES_POLYSMORPH)
. += "-pdigitigrade[BP.use_digitigrade]"
else
. += "-digitigrade[BP.use_digitigrade]"
diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm
index 8a9406445741..2f8f1e7a7921 100644
--- a/code/modules/reagents/chemistry/reagents/other_reagents.dm
+++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm
@@ -438,7 +438,7 @@
if(ishuman(M))
if(methods & (PATCH|VAPOR))
var/mob/living/carbon/human/N = M
- if(N.dna.species.id == "human")
+ if(N.dna.species.id == SPECIES_HUMAN)
switch(N.skin_tone)
if("african1")
N.skin_tone = "african2"
diff --git a/code/modules/surgery/bodyparts/_bodyparts.dm b/code/modules/surgery/bodyparts/_bodyparts.dm
index d284bd5e9632..217d7d8d3c74 100644
--- a/code/modules/surgery/bodyparts/_bodyparts.dm
+++ b/code/modules/surgery/bodyparts/_bodyparts.dm
@@ -964,9 +964,9 @@
if(should_draw_gender)
limb.icon_state = "[species_id]_[body_zone]_[icon_gender]"
else if(use_digitigrade)
- if("[species_id]" == "polysmorph")
+ if("[species_id]" == SPECIES_POLYSMORPH)
limb.icon_state = "pdigitigrade_[use_digitigrade]_[body_zone]"
- else if("[species_id]" == "preternis")
+ else if("[species_id]" == SPECIES_PRETERNIS)
limb.icon_state = "preternis_[use_digitigrade]_[body_zone]"
else
limb.icon_state = "digitigrade_[use_digitigrade]_[body_zone]"
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index 98456d459af9..377b0dc6dbbe 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -2357,7 +2357,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
Syndicate brand \"Extra-Bright Lantern™\". Enjoy."
cost = 2
item = /obj/item/flashlight/lantern/syndicate
- restricted_species = list("moth")
+ restricted_species = list(SPECIES_MOTH)
/datum/uplink_item/race_restricted/syndigenetics
name = "Fire Breath implanter"
@@ -2365,14 +2365,14 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 6
manufacturer = /datum/corporation/traitor/vahlen
item = /obj/item/dnainjector/firebreath
- restricted_species = list("lizard", "draconid")
+ restricted_species = list(SPECIES_LIZARD, SPECIES_LIZARD_DRACONID)
/datum/uplink_item/race_restricted/flyingfang
name = "Flying Fang Tablet"
desc = "This tablet contains a set of old vuulek fighting techniques, increasing your melee combat effectiveness but preventing you from using armor, most common stun weapons, or guns."
cost = 14
item = /obj/item/book/granter/martial/flyingfang
- restricted_species = list("lizard", "draconid")
+ restricted_species = list(SPECIES_LIZARD, SPECIES_LIZARD_DRACONID)
/datum/uplink_item/race_restricted/hammerimplant
name = "Vxtvul Hammer Implant"
@@ -2382,7 +2382,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
fling bodies, and heavily damage mechs. Vir'ln krx'tai, lost one."
cost = 10
item = /obj/item/autosurgeon/suspicious/syndie_hammer
- restricted_species = list("preternis")
+ restricted_species = list(SPECIES_PRETERNIS)
/datum/uplink_item/race_restricted/hammerimplant/New()
..()
@@ -2395,7 +2395,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 3
manufacturer = /datum/corporation/traitor/donkco
item = /obj/item/seeds/tomato/killer
- restricted_species = list("pod")
+ restricted_species = list(SPECIES_PODPERSON)
/datum/uplink_item/race_restricted/radiationbomb
name = "Radiation grenade"
@@ -2403,7 +2403,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 4
manufacturer = /datum/corporation/traitor/waffleco
item = /obj/item/grenade/chem_grenade/radiation
- restricted_species = list("plasmaman")
+ restricted_species = list(SPECIES_PLASMAMAN)
/datum/uplink_item/race_restricted/hulk
name = "Hulk Mutator"
@@ -2411,7 +2411,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
cost = 12
manufacturer = /datum/corporation/traitor/vahlen
item = /obj/item/dnainjector/hulkmut
- restricted_species = list("human")
+ restricted_species = list(SPECIES_HUMAN)
// Role-specific items
/datum/uplink_item/role_restricted
diff --git a/code/modules/zombie/organs.dm b/code/modules/zombie/organs.dm
index 99ae81ecd0da..0b95860e5d89 100644
--- a/code/modules/zombie/organs.dm
+++ b/code/modules/zombie/organs.dm
@@ -50,7 +50,7 @@
if(!(src in owner.internal_organs))
Remove(owner)
if (causes_damage && !iszombie(owner) && owner.stat != DEAD)
- if(owner.dna.species.id == "pod")
+ if(owner.dna.species.id == SPECIES_PODPERSON)
owner.adjustToxLoss((damage_caused + 0.25) * delta_time) //So they cant passively out-heal it
else
owner.adjustToxLoss(damage_caused * delta_time)
diff --git a/yogstation/code/modules/mob/living/carbon/human/species_types/plantpeople.dm b/yogstation/code/modules/mob/living/carbon/human/species_types/plantpeople.dm
index 59aefffef7f6..db6d3adcfb51 100644
--- a/yogstation/code/modules/mob/living/carbon/human/species_types/plantpeople.dm
+++ b/yogstation/code/modules/mob/living/carbon/human/species_types/plantpeople.dm
@@ -3,7 +3,7 @@
/datum/species/pod
// A mutation caused by a human being ressurected in a revival pod. These regain health in light, and begin to wither in darkness.
name = "Phytosian"
- id = "pod" // We keep this at pod for compatibility reasons
+ id = SPECIES_PODPERSON // We keep this at pod for compatibility reasons
default_color = "59CE00"
species_traits = list(MUTCOLORS, EYECOLOR, HAS_FLESH, HAS_BONE)
mutant_bodyparts = list("pod_hair", "pod_flower")
@@ -361,7 +361,7 @@
// However, they can't use guns or machines.
name = "Ivymen"
id = "ivymen"
- limbs_id = "pod"
+ limbs_id = SPECIES_PODPERSON
inherent_traits = list(TRAIT_NOGUNS,TRAIT_RESISTHIGHPRESSURE)
speedmod = 0
mutantlungs = /obj/item/organ/lungs/plant/ivymen
diff --git a/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm b/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm
index cf06d4af83a6..1fbae04684d9 100644
--- a/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm
+++ b/yogstation/code/modules/mob/living/carbon/human/species_types/preternis/preternis.dm
@@ -1,7 +1,7 @@
/datum/species/preternis
name = "Preternis"
plural_form = "Preterni"
- id = "preternis"
+ id = SPECIES_PRETERNIS
changesource_flags = MIRROR_BADMIN | WABBAJACK | MIRROR_PRIDE | MIRROR_MAGIC | RACE_SWAP | ERT_SPAWN | SLIME_EXTRACT
inherent_traits = list(TRAIT_POWERHUNGRY, TRAIT_RADIMMUNE, TRAIT_MEDICALIGNORE, TRAIT_NO_BLOOD_REGEN)
diff --git a/yogstation/code/modules/uplink/uplink_item.dm b/yogstation/code/modules/uplink/uplink_item.dm
index 3cd64748de4d..d7981a1debb1 100644
--- a/yogstation/code/modules/uplink/uplink_item.dm
+++ b/yogstation/code/modules/uplink/uplink_item.dm
@@ -94,7 +94,7 @@
desc = "A kit containing some organs that were... \"donated\" by your ancestors. Contains an autosurgeon, a plasma vessel, a resin spinner, and an acid gland."
cost = 15
item = /obj/item/storage/box/syndie_kit/xeno_organ_kit
- restricted_species = list("polysmorph")
+ restricted_species = list(SPECIES_POLYSMORPH)
/datum/uplink_item/role_restricted/gondola_meat
name = "Gondola meat"
@@ -146,14 +146,14 @@
desc = "A special scroll with a martial art, that teaches phytosians of capabilities of their body."
cost = 13
item = /obj/item/book/granter/martial/garden_warfare
- restricted_species = list("pod")
+ restricted_species = list(SPECIES_PODPERSON)
/datum/uplink_item/race_restricted/combat_modules
name = "Remnant liquidator information board"
desc = "A stolen Remnant information board, containing data pertaining to covert assassination techniques."
cost = 11
item = /obj/item/book/granter/martial/liquidator
- restricted_species = list("preternis")
+ restricted_species = list(SPECIES_PRETERNIS)
/datum/uplink_item/race_restricted/worldbreaker
name = "Prototype worldbreaker compound"
@@ -165,14 +165,14 @@
include_objectives = list(/datum/objective/hijack, /datum/objective/martyr, /datum/objective/nuclear) //too much collateral damage with it's AOEs
item = /obj/item/book/granter/martial/worldbreaker
manufacturer = /datum/corporation/traitor/vahlen
- restricted_species = list("preternis")
+ restricted_species = list(SPECIES_PRETERNIS)
/datum/uplink_item/race_restricted/explosive_fist_art
name = "Burned scroll"
desc = "An ancient scroll, containing a guide to an ancient plasmamen martial art."
cost = 14
item = /obj/item/book/granter/martial/explosive_fist
- restricted_species = list("plasmaman")
+ restricted_species = list(SPECIES_PLASMAMAN)
/datum/uplink_item/race_restricted/ultra_violence
name = "Version one upgrade module"
@@ -182,7 +182,7 @@
cost = 20
player_minimum = 25 //maybe we SHOULDNT be giving this to lowpop traitors when theres no sec?
item = /obj/item/book/granter/martial/ultra_violence
- restricted_species = list("ipc")
+ restricted_species = list(SPECIES_IPC)
include_objectives = list(/datum/objective/hijack, /datum/objective/martyr, /datum/objective/nuclear) // designed around mass murder, no need to use this if you aren't allowed to do that
/datum/uplink_item/race_restricted/lightning_flow
@@ -190,14 +190,14 @@
desc = "A scroll made of unusual paper, written for ethereals looking to defend themselves while exploring the material world."
cost = 12
item = /obj/item/book/granter/martial/lightning_flow
- restricted_species = list("ethereal")
+ restricted_species = list(SPECIES_ETHEREAL)
/datum/uplink_item/race_restricted/wirecrawl
name = "Modified yellow slime extract"
desc = "An experimental yellow slime extract that when absorbed by an Ethereal, grants control over electrical powers."
cost = 8
item = /obj/item/book/granter/action/wirecrawl
- restricted_species = list("ethereal")
+ restricted_species = list(SPECIES_ETHEREAL)
/datum/uplink_item/stealthy_weapons/camera_flash
name = "Camera Flash"