diff --git a/code/__DEFINES/species/species.dm b/code/__DEFINES/species/species.dm
index feb7b3f417a..f8b54c65e3a 100644
--- a/code/__DEFINES/species/species.dm
+++ b/code/__DEFINES/species/species.dm
@@ -33,7 +33,7 @@
#define SPECIES_ID_SCORI "scori"
#define SPECIES_ID_SERGLING "sergling"
#define SPECIES_ID_SHADEKIN "shadekin"
-#define SPECIES_ID_SHADEKIN_BLACK "shadekin_black"
+#define SPECIES_ID_SHADEKIN_BLACK "blackeyedshadekin"
#define SPECIES_ID_SHADOW "shadow"
#define SPECIES_ID_SKELETON "skeleton"
#define SPECIES_ID_SKRELL "skrell"
@@ -65,7 +65,7 @@
#define SPECIES_ID_XENOMORPH_HUNTER "xenomorph_hunter"
#define SPECIES_ID_XENOMORPH_QUEEN "xenomorph_queen"
#define SPECIES_ID_XENOMORPH_SENTINEL "xenomorph_sentinel"
-#define SPECIES_ID_XENOHYBRID "xenohybrid"
+#define SPECIES_ID_XENOHYBRID "xenomorph_hybrid"
#define SPECIES_ID_ZADDAT "zaddat"
#define SPECIES_ID_ZORREN "zorren"
#define SPECIES_ID_ZORREN_HIGH "zorren_high"
diff --git a/code/__DEFINES/species/species_flags.dm b/code/__DEFINES/species/species_flags.dm
index e93340cf0db..5908590a9eb 100644
--- a/code/__DEFINES/species/species_flags.dm
+++ b/code/__DEFINES/species/species_flags.dm
@@ -72,6 +72,8 @@ DEFINE_BITFIELD(species_fluff_flags, list(
#define SPECIES_SPAWN_SECRET (1<<3)
/// Cannot normally spawn; something must pass in PREFS_COPY_TO_NO_CHECK_SPECIES to spawn checks to use!
#define SPECIES_SPAWN_RESTRICTED (1<<4)
+/// if set, check species.id in WL, otherwise use uid
+#define SPECIES_SPAWN_WHITELIST_FLEXIBLE (1<<5)
//? FLAGS ABOVE ARE RELEVANT TO UI.
//? If you change them, change necessary TGUI too.
//? Current TGUI that uses this:
@@ -92,6 +94,7 @@ DEFINE_BITFIELD(species_spawn_flags, list(
BITFIELD(SPECIES_SPAWN_NO_FBP_CONSTRUCT),
BITFIELD(SPECIES_SPAWN_NO_FBP_SETUP),
BITFIELD(SPECIES_SPAWN_NO_ROBOTIC_ORGANS),
+ BITFIELD(SPECIES_SPAWN_WHITELIST_FLEXIBLE),
))
//! species_appearance_flags
diff --git a/code/controllers/configuration/whitelists.dm b/code/controllers/configuration/whitelists.dm
index c6a4d51843b..47a7a84c966 100644
--- a/code/controllers/configuration/whitelists.dm
+++ b/code/controllers/configuration/whitelists.dm
@@ -7,7 +7,7 @@
var/list/job_whitelist = list()
/**
- * name, ckey must be CKEY()'d.
+ * name and ckey must be CKEY()'d.
*/
/datum/controller/configuration/proc/check_alien_whitelist(name, ckey)
if(!config_legacy.usealienwhitelist)
diff --git a/code/controllers/subsystem/characters/species.dm b/code/controllers/subsystem/characters/species.dm
index 787b9f48aa6..20afd6e3bc1 100644
--- a/code/controllers/subsystem/characters/species.dm
+++ b/code/controllers/subsystem/characters/species.dm
@@ -22,7 +22,6 @@
species_paths = list()
species_names = list()
playable_species = list()
- whitelisted_species = list()
custom_species_bases = list()
var/static/list/blacklisted_icon_ids = list(SPECIES_ID_CUSTOM, SPECIES_ID_PROMETHEAN)
var/static/list/whitelisted_icon_ids = list(SPECIES_ID_VULPKANIN, SPECIES_ID_XENOMORPH_HUNTER)
@@ -41,17 +40,15 @@
species_names[S.name] = S
species_paths[path] = S
- if(S.species_spawn_flags & SPECIES_SPAWN_WHITELISTED)
- whitelisted_species += S.name
+
if(!(S.species_spawn_flags & SPECIES_SPAWN_SPECIAL))
- playable_species += S.name
+ playable_species += S.uid
if((!(S.species_spawn_flags & (SPECIES_SPAWN_WHITELISTED | SPECIES_SPAWN_SPECIAL)) && !(S.get_species_id() in blacklisted_icon_ids)) || (S.get_species_id() in whitelisted_icon_ids))
custom_species_bases += S.name
tim_sort(species_lookup, /proc/cmp_auto_compare, TRUE)
tim_sort(species_names, /proc/cmp_auto_compare, TRUE)
tim_sort(species_lookup, /proc/cmp_auto_compare, TRUE)
- tim_sort(whitelisted_species, /proc/cmp_auto_compare)
tim_sort(playable_species, /proc/cmp_auto_compare)
tim_sort(custom_species_bases, /proc/cmp_auto_compare)
diff --git a/code/game/objects/structures/mirror.dm b/code/game/objects/structures/mirror.dm
index d9e503398b2..08f3cda3c2c 100644
--- a/code/game/objects/structures/mirror.dm
+++ b/code/game/objects/structures/mirror.dm
@@ -114,35 +114,13 @@
user.visible_message("[user] hits [src] and bounces off!")
return 1
-// The following mirror is ~special~.
+/// TODO: retype this one, I dont wanna touch maps in a Whitelist rework
/obj/structure/mirror/raider
name = "cracked mirror"
- desc = "Something seems strange about this old, dirty mirror. Your reflection doesn't look like you remember it."
+ desc = "Oh no, seven years of bad luck!"
icon_state = "mirror_broke"
shattered = 1
-/obj/structure/mirror/raider/attack_hand(var/mob/living/carbon/human/user)
- if(istype(get_area(src),/area/syndicate_mothership))
- if(istype(user) && user.mind && user.mind.special_role == "Raider" && user.species.name != SPECIES_VOX && config.check_alien_whitelist(ckey(SPECIES_VOX), user.ckey))
- var/choice = input("Do you wish to become a true Vox of the Shoal? This is not reversible.") as null|anything in list("No","Yes")
- if(choice && choice == "Yes")
- var/mob/living/carbon/human/vox/vox = new(get_turf(src),SPECIES_VOX)
- vox.gender = user.gender
- raiders.equip(vox)
- if(user.mind)
- user.mind.transfer_to(vox)
- spawn(1)
- var/newname = sanitizeSafe(input(vox,"Enter a name, or leave blank for the default name.", "Name change","") as text, MAX_NAME_LEN)
- if(!newname || newname == "")
- var/datum/language/L = SScharacters.resolve_language_id(vox.species.default_language)
- newname = L.get_random_name()
- vox.real_name = newname
- vox.name = vox.real_name
- raiders.update_access(vox)
- qdel(user)
- ..()
-
-
//Long mirrors.
/obj/structure/mirror/long
name = "mirror"
diff --git a/code/modules/mob/living/carbon/human/appearance.dm b/code/modules/mob/living/carbon/human/appearance.dm
index 00fd0440ae8..c845bd03d64 100644
--- a/code/modules/mob/living/carbon/human/appearance.dm
+++ b/code/modules/mob/living/carbon/human/appearance.dm
@@ -194,7 +194,7 @@
continue
if(blacklist.len && (current_species_name in blacklist))
continue
- if((S.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) && !config.check_alien_whitelist(ckey(S.name), ckey))
+ if((S.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) && !config.check_alien_whitelist(ckey(S.species_spawn_flags & SPECIES_SPAWN_WHITELIST_FLEXIBLE ? S.id : S.uid), ckey))
continue
valid_species += current_species_name
diff --git a/code/modules/mob/new_player/new_player.dm b/code/modules/mob/new_player/new_player.dm
index 4e8f887ba16..4163b2ba68f 100644
--- a/code/modules/mob/new_player/new_player.dm
+++ b/code/modules/mob/new_player/new_player.dm
@@ -571,7 +571,7 @@
if(chosen_species && use_species_name)
// Have to recheck admin due to no usr at roundstart. Latejoins are fine though.
- if(!(chosen_species.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) || config.check_alien_whitelist(ckey(chosen_species.name), ckey))
+ if(!(chosen_species.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) || config.check_alien_whitelist(ckey(chosen_species.species_spawn_flags & SPECIES_SPAWN_WHITELIST_FLEXIBLE ? chosen_species.id : chosen_species.uid), ckey))
new_character = new(T, use_species_name)
if(!new_character)
@@ -661,7 +661,7 @@
if(!chosen_species)
return SPECIES_HUMAN
- if(!(chosen_species.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) || config.check_alien_whitelist(ckey(chosen_species.name), ckey))
+ if(!(chosen_species.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) || config.check_alien_whitelist(ckey(chosen_species.id), ckey))
return chosen_species.name
return SPECIES_HUMAN
diff --git a/code/modules/preferences/preference_setup/background/species.dm b/code/modules/preferences/preference_setup/background/species.dm
index c9fbf56f347..340a9c0f99e 100644
--- a/code/modules/preferences/preference_setup/background/species.dm
+++ b/code/modules/preferences/preference_setup/background/species.dm
@@ -14,7 +14,7 @@
. += "
This is a [SPAN_RED("restricted")] species. You cannot join as this outside of special circumstances."
else if(CS.species_spawn_flags & SPECIES_SPAWN_WHITELISTED)
. += "
This is a whitelisted species. You "
- if(config.check_alien_whitelist(ckey(CS.name), prefs.client_ckey))
+ if(config.check_alien_whitelist(ckey(CS.species_spawn_flags & SPECIES_SPAWN_WHITELIST_FLEXIBLE ? CS.superspecies_id : CS.uid), prefs.client_ckey))
. += SPAN_GREEN("do")
else
. += SPAN_RED("do not")
@@ -29,7 +29,7 @@
if((CS.species_spawn_flags & SPECIES_SPAWN_RESTRICTED) && !(flags & PREF_COPY_TO_NO_CHECK_SPECIES))
errors?.Add(SPAN_WARNING("[CS.name] is a restricted species. You cannot join as this as most normal roles."))
return FALSE
- if((CS.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) && !config.check_alien_whitelist(ckey(CS.name), prefs.client_ckey))
+ if((CS.species_spawn_flags & SPECIES_SPAWN_WHITELISTED) && !config.check_alien_whitelist(ckey(CS.species_spawn_flags & SPECIES_SPAWN_WHITELIST_FLEXIBLE ? CS.superspecies_id : CS.uid), prefs.client_ckey))
errors?.Add(SPAN_WARNING("You do not have the whitelist to play as a [CS.name]."))
return FALSE
return TRUE
@@ -79,7 +79,7 @@
var/datum/species/S = SScharacters.resolve_species_id(data)
if(!S)
return SScharacters.default_species_id()
- if(!(S.name in SScharacters.playable_species))
+ if(!(S.uid in SScharacters.playable_species))
return SScharacters.default_species_id()
return data
diff --git a/code/modules/species/character_species.dm b/code/modules/species/character_species.dm
index 49d2190b33b..fd5f1f86299 100644
--- a/code/modules/species/character_species.dm
+++ b/code/modules/species/character_species.dm
@@ -5,7 +5,7 @@
template.uid = uid
if(id != uid)
template.is_subspecies = TRUE
- template.superspecies_id = id
+ template.superspecies_id = src.get_species_id()//Now its always safe to do
template.category = category
template.desc = blurb
template.species_spawn_flags = species_spawn_flags
diff --git a/code/modules/species/protean/protean_powers.dm b/code/modules/species/protean/protean_powers.dm
index b0a8b2c24cb..d4a2ede5877 100644
--- a/code/modules/species/protean/protean_powers.dm
+++ b/code/modules/species/protean/protean_powers.dm
@@ -289,8 +289,8 @@
to_chat(src,"You must be awake and standing to perform this action!")
return
- var/new_species_name = input("Please select a species to emulate.", "Shapeshifter Body") as null|anything in SScharacters.playable_species
- var/datum/species/new_species = SScharacters.resolve_species_name(new_species_name)
+ var/new_species_id = input("Please select a species to emulate.", "Shapeshifter Body") as null|anything in SScharacters.playable_species
+ var/datum/species/new_species = SScharacters.resolve_species_id(new_species_id)
if(new_species)
impersonate_bodytype_legacy = new_species.get_bodytype_legacy()
impersonate_bodytype = new_species.default_bodytype
diff --git a/code/modules/species/shadekin/shadekin_traits.dm b/code/modules/species/shadekin/shadekin_traits.dm
index 5510f283059..14fe001d4b1 100644
--- a/code/modules/species/shadekin/shadekin_traits.dm
+++ b/code/modules/species/shadekin/shadekin_traits.dm
@@ -104,22 +104,23 @@
)
/datum/trait/kintype/apply(datum/species/shadekin/S, mob/living/carbon/human/H)
- ..(S,H)
- if(color && istype(S)) //Sanity check to see if they're actually a shadekin, otherwise just don't do anything. They shouldn't be able to spawn with the trait.
- S.kin_type = color
- switch(color)
- if(BLUE_EYES)
- H.shapeshifter_set_eye_color("0000FF")
- if(RED_EYES)
- H.shapeshifter_set_eye_color("FF0000")
- if(GREEN_EYES)
- H.shapeshifter_set_eye_color("00FF00")
- if(PURPLE_EYES)
- H.shapeshifter_set_eye_color("FF00FF")
- if(YELLOW_EYES)
- H.shapeshifter_set_eye_color("FFFF00")
- if(ORANGE_EYES)
- H.shapeshifter_set_eye_color("FFA500")
+ if (istype(S))
+ ..(S,H)
+ if(color) //Sanity check to see if they're actually a shadekin, otherwise just don't do anything. They shouldn't be able to spawn with the trait.
+ S.kin_type = color
+ switch(color)
+ if(BLUE_EYES)
+ H.shapeshifter_set_eye_color("0000FF")
+ if(RED_EYES)
+ H.shapeshifter_set_eye_color("FF0000")
+ if(GREEN_EYES)
+ H.shapeshifter_set_eye_color("00FF00")
+ if(PURPLE_EYES)
+ H.shapeshifter_set_eye_color("FF00FF")
+ if(YELLOW_EYES)
+ H.shapeshifter_set_eye_color("FFFF00")
+ if(ORANGE_EYES)
+ H.shapeshifter_set_eye_color("FFA500")
/datum/unarmed_attack/shadekinharmbap
diff --git a/code/modules/species/species.dm b/code/modules/species/species.dm
index e299ccc9943..80de42db2d8 100644
--- a/code/modules/species/species.dm
+++ b/code/modules/species/species.dm
@@ -22,9 +22,9 @@
abstract_type = /datum/species
//! Intrinsics
- /// uid - **must be unique**
+ /// uid - **must be unique** - Identifies the exact species you are using
var/uid
- /// if we're a subspecies, real id
+ /// id usually identical to uid, if we are a subspecies we use the parent species id/uid here
var/id
// TODO: ref species by id in code, so we can rename as needed
diff --git a/code/modules/species/station/adherent.dm b/code/modules/species/station/adherent.dm
index 9d42058dd28..1ddee4df0c9 100644
--- a/code/modules/species/station/adherent.dm
+++ b/code/modules/species/station/adherent.dm
@@ -1,7 +1,8 @@
/datum/species/adherent
+ uid = SPECIES_ID_ADHERENT
+ id = SPECIES_ID_ADHERENT
name = SPECIES_ADHERENT
name_plural = "Adherents"
- uid = SPECIES_ID_ADHERENT
default_bodytype = BODYTYPE_ADHERENT
blurb = "The Vigil is a relatively loose association of machine-servitors, Adherents, \
diff --git a/code/modules/species/station/alraune.dm b/code/modules/species/station/alraune.dm
index 405c55c9291..37c86a49781 100644
--- a/code/modules/species/station/alraune.dm
+++ b/code/modules/species/station/alraune.dm
@@ -1,6 +1,7 @@
/datum/species/alraune
- name = SPECIES_ALRAUNE
uid = SPECIES_ID_ALRAUNE
+ id = SPECIES_ID_ALRAUNE
+ name = SPECIES_ALRAUNE
name_plural = "Alraunes"
icobase = 'icons/mob/species/human/body_greyscale.dmi'
diff --git a/code/modules/species/station/apidaen.dm b/code/modules/species/station/apidaen.dm
index 0d74a3ed8e9..9313f387f08 100644
--- a/code/modules/species/station/apidaen.dm
+++ b/code/modules/species/station/apidaen.dm
@@ -1,7 +1,8 @@
/datum/species/apidaen
+ uid = SPECIES_ID_APIDAEN
+ id = SPECIES_ID_APIDAEN
name = SPECIES_APIDAEN
name_plural = SPECIES_APIDAEN
- uid = SPECIES_ID_APIDAEN
icobase = 'icons/mob/species/apidaen/body.dmi'
deform = 'icons/mob/species/apidaen/body.dmi' // No deformed set has been made yet.
diff --git a/code/modules/species/station/custom_species.dm b/code/modules/species/station/custom_species.dm
index 6be2cc2acaa..de565736f73 100644
--- a/code/modules/species/station/custom_species.dm
+++ b/code/modules/species/station/custom_species.dm
@@ -1,7 +1,8 @@
/datum/species/custom
- name = SPECIES_CUSTOM
uid = SPECIES_ID_CUSTOM
+ id = SPECIES_ID_CUSTOM
+ name = SPECIES_CUSTOM
name_plural = "Custom"
selects_bodytype = TRUE
base_species = SPECIES_HUMAN
diff --git a/code/modules/species/station/diona.dm b/code/modules/species/station/diona.dm
index db19b89b619..a3fcff5f1a1 100644
--- a/code/modules/species/station/diona.dm
+++ b/code/modules/species/station/diona.dm
@@ -1,8 +1,9 @@
/datum/species/diona
+ uid = SPECIES_ID_DIONA
+ id = SPECIES_ID_DIONA
name = SPECIES_DIONA
name_plural = "Dionaea"
- uid = SPECIES_ID_DIONA
//primitive_form = "Nymph"
icobase = 'icons/mob/species/diona/body.dmi'
diff --git a/code/modules/species/station/golem.dm b/code/modules/species/station/golem.dm
index ed31d3d5e14..5f131a6dc4f 100644
--- a/code/modules/species/station/golem.dm
+++ b/code/modules/species/station/golem.dm
@@ -1,7 +1,8 @@
/datum/species/golem
+ uid = SPECIES_ID_GOLEM
+ id = SPECIES_ID_GOLEM
name = SPECIES_GOLEM
name_plural = "golems"
- uid = SPECIES_ID_GOLEM
icobase = 'icons/mob/species/golem/body.dmi'
deform = 'icons/mob/species/golem/body.dmi'
diff --git a/code/modules/species/station/monkey.dm b/code/modules/species/station/monkey.dm
index 58a7a834402..0ab708318cc 100644
--- a/code/modules/species/station/monkey.dm
+++ b/code/modules/species/station/monkey.dm
@@ -1,6 +1,7 @@
/datum/species/monkey
- name = SPECIES_MONKEY
uid = SPECIES_ID_MONKEY
+ id = SPECIES_ID_MONKEY
+ name = SPECIES_MONKEY
name_plural = "Monkeys"
greater_form = SPECIES_HUMAN
diff --git a/code/modules/species/station/phoronoids.dm b/code/modules/species/station/phoronoids.dm
index db664031f2e..2f94e5d6468 100644
--- a/code/modules/species/station/phoronoids.dm
+++ b/code/modules/species/station/phoronoids.dm
@@ -1,6 +1,7 @@
/datum/species/phoronoid
- name = SPECIES_PHORONOID
uid = SPECIES_ID_PHORONOID
+ id = SPECIES_ID_PHORONOID
+ name = SPECIES_PHORONOID
name_plural = "Phoronoids"
default_bodytype = BODYTYPE_PHORONOID
diff --git a/code/modules/species/station/rapala.dm b/code/modules/species/station/rapala.dm
index 47387376be0..21417f89a50 100644
--- a/code/modules/species/station/rapala.dm
+++ b/code/modules/species/station/rapala.dm
@@ -1,7 +1,8 @@
/datum/species/rapala
+ uid = SPECIES_ID_RAPALA
+ id = SPECIES_ID_RAPALA
name = SPECIES_RAPALA
name_plural = "Rapalans"
- uid = SPECIES_ID_RAPALA
icobase = 'icons/mob/species/rapala/body.dmi'
deform = 'icons/mob/species/rapala/deformed_body.dmi'
diff --git a/code/modules/species/station/standard/akula.dm b/code/modules/species/station/standard/akula.dm
index 9e8b2f0407a..847f42e4dbe 100644
--- a/code/modules/species/station/standard/akula.dm
+++ b/code/modules/species/station/standard/akula.dm
@@ -1,5 +1,6 @@
/datum/species/akula
uid = SPECIES_ID_AKULA
+ id = SPECIES_ID_AKULA
name = SPECIES_AKULA
name_plural = SPECIES_AKULA //It's singular and plural. English is weird.
primitive_form = SPECIES_MONKEY_AKULA
diff --git a/code/modules/species/station/standard/harpy.dm b/code/modules/species/station/standard/harpy.dm
index 8f235ef2f3b..19a6e502548 100644
--- a/code/modules/species/station/standard/harpy.dm
+++ b/code/modules/species/station/standard/harpy.dm
@@ -1,5 +1,6 @@
/datum/species/harpy
uid = SPECIES_ID_HARPY
+ id = SPECIES_ID_HARPY
name = SPECIES_RAPALA
name_plural = "Rapalans"
icobase = 'icons/mob/human_races/r_harpy_vr.dmi'
diff --git a/code/modules/species/station/standard/human_subspecies.dm b/code/modules/species/station/standard/human_subspecies.dm
index 09b4eb798e7..630318b4801 100644
--- a/code/modules/species/station/standard/human_subspecies.dm
+++ b/code/modules/species/station/standard/human_subspecies.dm
@@ -1,5 +1,6 @@
/datum/species/human/gravworlder
uid = SPECIES_ID_HUMAN_GRAV
+ id = SPECIES_ID_HUMAN
name = SPECIES_HUMAN_GRAV
name_plural = "grav-adapted Humans"
@@ -51,6 +52,7 @@
/datum/species/human/spacer
uid = SPECIES_ID_HUMAN_SPACE
+ id = SPECIES_ID_HUMAN
name = SPECIES_HUMAN_SPACER
name_plural = "space-adapted Humans"
@@ -98,6 +100,7 @@
/datum/species/human/vatgrown
uid = SPECIES_ID_HUMAN_VAT
+ id = SPECIES_ID_HUMAN
name = SPECIES_HUMAN_VATBORN
name_plural = SPECIES_HUMAN_VATBORN
diff --git a/code/modules/species/station/standard/naramadi.dm b/code/modules/species/station/standard/naramadi.dm
index 9179442d654..e7361a46b96 100644
--- a/code/modules/species/station/standard/naramadi.dm
+++ b/code/modules/species/station/standard/naramadi.dm
@@ -1,6 +1,7 @@
/datum/species/naramadi
- name = SPECIES_SERGAL
uid = SPECIES_ID_NARAMADI
+ id = SPECIES_ID_NARAMADI
+ name = SPECIES_SERGAL
name_plural = "Naramadi"
category = "Naramadi"
default_bodytype = BODYTYPE_SERGAL
@@ -40,17 +41,17 @@
flesh_color = "#AFA59E"
base_color = "#777777"
-
+
ambiguous_genders = TRUE //Naramadi look the same when female and male, at least from the groin up if you catch my drift ;^) - Papalus
-
+
cold_level_1 = 280 //I'm not sorry, Lore changes. - Papalus
cold_level_2 = 240
cold_level_3 = 180
-
+
heat_level_1 = 380
heat_level_2 = 420 //Nice
heat_level_3 = 1000
-
+
heat_discomfort_strings = list(
"Your fur prickles in the heat.",
"You feel uncomfortably warm.",
diff --git a/code/modules/species/station/standard/nevrean.dm b/code/modules/species/station/standard/nevrean.dm
index e28530d4b4e..4cf202e11e6 100644
--- a/code/modules/species/station/standard/nevrean.dm
+++ b/code/modules/species/station/standard/nevrean.dm
@@ -1,5 +1,6 @@
/datum/species/nevrean
uid = SPECIES_ID_NEVREAN
+ id = SPECIES_ID_NEVREAN
name = SPECIES_NEVREAN
name_plural = "Nevreans"
primitive_form = SPECIES_MONKEY_NEVREAN
diff --git a/code/modules/species/station/standard/shadekin.dm b/code/modules/species/station/standard/shadekin.dm
index 49f18f29e2d..7741d191561 100644
--- a/code/modules/species/station/standard/shadekin.dm
+++ b/code/modules/species/station/standard/shadekin.dm
@@ -1,5 +1,6 @@
/datum/species/crew_shadekin
uid = SPECIES_ID_SHADEKIN_BLACK
+ id = SPECIES_ID_SHADEKIN_BLACK
name = SPECIES_SHADEKIN_CREW
name_plural = SPECIES_SHADEKIN_CREW
category = "Special"
diff --git a/code/modules/species/station/standard/skrell.dm b/code/modules/species/station/standard/skrell.dm
index 446eb60c9e3..445bfaaa07c 100644
--- a/code/modules/species/station/standard/skrell.dm
+++ b/code/modules/species/station/standard/skrell.dm
@@ -1,5 +1,6 @@
/datum/species/skrell
uid = SPECIES_ID_SKRELL
+ id = SPECIES_ID_SKRELL
name = SPECIES_SKRELL
name_plural = SPECIES_SKRELL
primitive_form = SPECIES_MONKEY_SKRELL
diff --git a/code/modules/species/station/standard/tajaran.dm b/code/modules/species/station/standard/tajaran.dm
index 456b494676b..78c47027243 100644
--- a/code/modules/species/station/standard/tajaran.dm
+++ b/code/modules/species/station/standard/tajaran.dm
@@ -1,5 +1,6 @@
/datum/species/tajaran
uid = SPECIES_ID_TAJARAN
+ id = SPECIES_ID_TAJARAN
name = SPECIES_TAJ
name_plural = "Tajaran"
category = "Tajaran"
diff --git a/code/modules/species/station/standard/teshari.dm b/code/modules/species/station/standard/teshari.dm
index 15f4b2e2f38..a5195c532a7 100644
--- a/code/modules/species/station/standard/teshari.dm
+++ b/code/modules/species/station/standard/teshari.dm
@@ -1,5 +1,6 @@
/datum/species/teshari
uid = SPECIES_ID_TESHARI
+ id = SPECIES_ID_TESHARI
name = SPECIES_TESHARI
default_bodytype = BODYTYPE_TESHARI
category = "Teshari"
diff --git a/code/modules/species/station/standard/unathi.dm b/code/modules/species/station/standard/unathi.dm
index 5e4627db684..b76b54c35b4 100644
--- a/code/modules/species/station/standard/unathi.dm
+++ b/code/modules/species/station/standard/unathi.dm
@@ -1,5 +1,6 @@
/datum/species/unathi
uid = SPECIES_ID_UNATHI
+ id = SPECIES_ID_UNATHI
name = SPECIES_UNATHI
category = "Unathi"
name_plural = SPECIES_UNATHI
diff --git a/code/modules/species/station/standard/unathidigi.dm b/code/modules/species/station/standard/unathidigi.dm
index 51e9b225828..74218159bd5 100644
--- a/code/modules/species/station/standard/unathidigi.dm
+++ b/code/modules/species/station/standard/unathidigi.dm
@@ -1,5 +1,6 @@
/datum/species/unathi/digi
uid = SPECIES_ID_UNATHI_DIGI
+ id = SPECIES_ID_UNATHI_DIGI
name = SPECIES_UNATHI_DIGI
name_plural = SPECIES_UNATHI_DIGI
default_bodytype = BODYTYPE_UNATHI_DIGI
@@ -12,7 +13,7 @@
tail_animation = 'icons/mob/species/unathidigi/tail.dmi'
blurb = {"
- As a result of the many challenges of living on Moghes and other worlds, Unathi have become morphologically diverse.
+ As a result of the many challenges of living on Moghes and other worlds, Unathi have become morphologically diverse.
While some unathi are plantigrade and almost resemble humans in their silhouette, others are more hulking; a digitigrade, beastial and alien creature.
"}
diff --git a/code/modules/species/station/standard/vulpkanin.dm b/code/modules/species/station/standard/vulpkanin.dm
index dc2b5e4c1fe..8dcc986f0e1 100644
--- a/code/modules/species/station/standard/vulpkanin.dm
+++ b/code/modules/species/station/standard/vulpkanin.dm
@@ -1,5 +1,6 @@
/datum/species/vulpkanin
uid = SPECIES_ID_VULPKANIN
+ id = SPECIES_ID_VULPKANIN
name = SPECIES_VULPKANIN
name_plural = SPECIES_VULPKANIN
primitive_form = SPECIES_MONKEY_VULPKANIN
diff --git a/code/modules/species/station/standard/zaddat.dm b/code/modules/species/station/standard/zaddat.dm
index aeedb034811..e8e39946df3 100644
--- a/code/modules/species/station/standard/zaddat.dm
+++ b/code/modules/species/station/standard/zaddat.dm
@@ -1,5 +1,6 @@
/datum/species/zaddat
uid = SPECIES_ID_ZADDAT
+ id = SPECIES_ID_ZADDAT
name = SPECIES_ZADDAT
name_plural = SPECIES_ZADDAT
icobase = 'icons/mob/species/zaddat/body.dmi'
diff --git a/code/modules/species/station/standard/zorren.dm b/code/modules/species/station/standard/zorren.dm
index d82c86581f4..2501349e2bb 100644
--- a/code/modules/species/station/standard/zorren.dm
+++ b/code/modules/species/station/standard/zorren.dm
@@ -1,5 +1,6 @@
/datum/species/hi_zoxxen
uid = SPECIES_ID_ZORREN_HIGH
+ id = SPECIES_ID_ZORREN_HIGH
id = SPECIES_ID_ZORREN
name = SPECIES_ZORREN_HIGH
name_plural = "Zorren"
diff --git a/code/modules/species/station/vasilissan.dm b/code/modules/species/station/vasilissan.dm
index 83666e58023..5ee40d8636f 100644
--- a/code/modules/species/station/vasilissan.dm
+++ b/code/modules/species/station/vasilissan.dm
@@ -1,7 +1,8 @@
/datum/species/vasilissan //These actually look pretty damn spooky!
+ uid = SPECIES_ID_VASILISSAN
+ id = SPECIES_ID_VASILISSAN
name = SPECIES_VASILISSAN
name_plural = "Vasilissans"
- uid = SPECIES_ID_VASILISSAN
icobase = 'icons/mob/species/vasilissan/body.dmi'
deform = 'icons/mob/species/vasilissan/deformed_body.dmi'
diff --git a/code/modules/species/station/werebeast.dm b/code/modules/species/station/werebeast.dm
index 5167c041fc3..9a7a9f2075e 100644
--- a/code/modules/species/station/werebeast.dm
+++ b/code/modules/species/station/werebeast.dm
@@ -1,6 +1,7 @@
/datum/species/werebeast
- name = SPECIES_WEREBEAST
uid = SPECIES_ID_WEREBEAST
+ id = SPECIES_ID_WEREBEAST
+ name = SPECIES_WEREBEAST
name_plural = "Werebeasts"
primitive_form = SPECIES_MONKEY_VULPKANIN
default_bodytype = BODYTYPE_WEREBEAST
diff --git a/code/modules/species/station/xenomorph_hybrids/xeno_hybrids.dm b/code/modules/species/station/xenomorph_hybrids/xeno_hybrids.dm
index fe28a6aaeec..0b440cb5a98 100644
--- a/code/modules/species/station/xenomorph_hybrids/xeno_hybrids.dm
+++ b/code/modules/species/station/xenomorph_hybrids/xeno_hybrids.dm
@@ -2,6 +2,7 @@
name = SPECIES_XENOHYBRID
name_plural = "Xenomorph Hybrids"
uid = SPECIES_ID_XENOHYBRID
+ id = SPECIES_ID_XENOHYBRID
default_bodytype = BODYTYPE_XENOHYBRID
icobase = 'icons/mob/species/xenohybrid/body.dmi'
diff --git a/code/modules/species/virtual_reality/opaque_form.dm b/code/modules/species/virtual_reality/opaque_form.dm
index 12b4d492fe8..6dd3b09165a 100644
--- a/code/modules/species/virtual_reality/opaque_form.dm
+++ b/code/modules/species/virtual_reality/opaque_form.dm
@@ -2,8 +2,9 @@
// Due to sprite construction, they have to have separate limb lists
/datum/species/shapeshifter/promethean/avatar/human
- name = SPECIES_VR_HUMAN
uid = SPECIES_ID_VIRTUAL_REALITY_HUMAN
+ id = SPECIES_ID_VIRTUAL_REALITY_HUMAN
+ name = SPECIES_VR_HUMAN
icobase = 'icons/mob/species/human/body.dmi'
deform = 'icons/mob/species/human/deformed_body.dmi'
species_appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_EYE_COLOR
@@ -22,8 +23,9 @@
)
/datum/species/shapeshifter/promethean/avatar/unathi
- name = SPECIES_VR_UNATHI
uid = SPECIES_ID_VIRTUAL_REALITY_UNATHI
+ id = SPECIES_ID_VIRTUAL_REALITY_UNATHI
+ name = SPECIES_VR_UNATHI
icobase = 'icons/mob/species/unathi/body_greyscale.dmi'
deform = 'icons/mob/species/unathi/deformed_body_greyscale.dmi'
tail = "sogtail"
@@ -44,8 +46,9 @@
)
/datum/species/shapeshifter/promethean/avatar/tajaran
- name = "Virtual Reality Tajaran"
uid = SPECIES_ID_VIRTUAL_REALITY_TAJARAN
+ id = SPECIES_ID_VIRTUAL_REALITY_TAJARAN
+ name = "Virtual Reality Tajaran"
icobase = 'icons/mob/species/tajaran/body_greyscale.dmi'
deform = 'icons/mob/species/tajaran/deformed_body_greyscale.dmi'
tail = "tajtail"
@@ -66,8 +69,9 @@
)
/datum/species/shapeshifter/promethean/avatar/skrell
- name = SPECIES_VR_SKRELL
uid = SPECIES_ID_VIRTUAL_REALITY_SKRELL
+ id = SPECIES_ID_VIRTUAL_REALITY_SKRELL
+ name = SPECIES_VR_SKRELL
icobase = 'icons/mob/species/skrell/body_greyscale.dmi'
deform = 'icons/mob/species/skrell/deformed_body_greyscale.dmi'
species_appearance_flags = HAS_HAIR_COLOR | HAS_LIPS | HAS_UNDERWEAR | HAS_SKIN_COLOR
@@ -86,8 +90,9 @@
)
/datum/species/shapeshifter/promethean/avatar/teshari
- name = SPECIES_VR_TESHARI
uid = SPECIES_ID_VIRTUAL_REALITY_TESHARI
+ id = SPECIES_ID_VIRTUAL_REALITY_TESHARI
+ name = SPECIES_VR_TESHARI
icobase = 'icons/mob/species/teshari/body.dmi'
deform = 'icons/mob/species/teshari/deformed_body.dmi'
species_appearance_flags = HAS_HAIR_COLOR | HAS_SKIN_COLOR | HAS_EYE_COLOR
@@ -107,6 +112,7 @@
/datum/species/shapeshifter/promethean/avatar/diona
uid = SPECIES_ID_VIRTUAL_REALITY_DIONA
+ id = SPECIES_ID_VIRTUAL_REALITY_DIONA
name = SPECIES_VR_DIONA
icobase = 'icons/mob/species/diona/body.dmi'
deform = 'icons/mob/species/diona/deformed_body.dmi'
@@ -127,6 +133,7 @@
/datum/species/shapeshifter/promethean/avatar/monkey
uid = SPECIES_ID_VIRTUAL_REALITY_MONKEY
+ id = SPECIES_ID_VIRTUAL_REALITY_MONKEY
name = SPECIES_VR_MONKEY
icobase = 'icons/mob/species/monkey/body_monkey.dmi'
deform = 'icons/mob/species/monkey/body_monkey.dmi'
@@ -151,6 +158,7 @@
/datum/species/shapeshifter/promethean/avatar/vox
uid = SPECIES_ID_VIRTUAL_REALITY_VOX
+ id = SPECIES_ID_VIRTUAL_REALITY_VOX
name = SPECIES_VR_VOX
icobase = 'icons/mob/species/vox/body.dmi'
deform = 'icons/mob/species/vox/deformed_body.dmi'
@@ -171,6 +179,7 @@
/datum/species/shapeshifter/promethean/avatar/skeleton
uid = SPECIES_ID_VIRTUAL_REALITY_SKELETON
+ id = SPECIES_ID_VIRTUAL_REALITY_SKELETON
name = SPECIES_VR_SKELETON
icobase = 'icons/mob/species/human/skeleton.dmi'
deform = 'icons/mob/species/human/skeleton.dmi'
diff --git a/code/modules/species/xenochimera/xenochimera.dm b/code/modules/species/xenochimera/xenochimera.dm
index aed5c718cff..58c73fc6310 100644
--- a/code/modules/species/xenochimera/xenochimera.dm
+++ b/code/modules/species/xenochimera/xenochimera.dm
@@ -1,8 +1,9 @@
/datum/species/shapeshifter/xenochimera //Scree's race.
+ uid = SPECIES_ID_XENOCHIMERA
+ id = SPECIES_ID_XENOCHIMERA
name = SPECIES_XENOCHIMERA
name_plural = "Xenochimeras"
base_species = SPECIES_XENOCHIMERA
- uid = SPECIES_ID_XENOCHIMERA
category = "Special"
selects_bodytype = TRUE