diff --git a/code/datums/spell.dm b/code/datums/spell.dm
index c7d7d88cfd..0df7e595ca 100644
--- a/code/datums/spell.dm
+++ b/code/datums/spell.dm
@@ -97,7 +97,7 @@ var/list/spells = typesof(/obj/effect/proc_holder/spell) //needed for the badmin
usr.say(invocation)
else
usr.say(dd_replacetext(invocation," ","`"))
- if(usr.gender=="male")
+ if(usr.gender==MALE)
playsound(usr.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1)
else
playsound(usr.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1)
diff --git a/code/datums/spells/area_teleport.dm b/code/datums/spells/area_teleport.dm
index 9dc457aa1b..d83f27c57d 100644
--- a/code/datums/spells/area_teleport.dm
+++ b/code/datums/spells/area_teleport.dm
@@ -59,7 +59,7 @@
switch(invocation_type)
if("shout")
usr.say("[invocation] [uppertext(chosenarea.name)]")
- if(usr.gender=="male")
+ if(usr.gender==MALE)
playsound(usr.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1)
else
playsound(usr.loc, pick('sound/misc/null.ogg','sound/misc/null.ogg'), 100, 1)
diff --git a/code/defines/obj/hydro.dm b/code/defines/obj/hydro.dm
index 9307bdfe49..90d765dd91 100644
--- a/code/defines/obj/hydro.dm
+++ b/code/defines/obj/hydro.dm
@@ -73,7 +73,7 @@
var/ckey = null
var/realName = null
var/datum/mind/mind = null
- gender = "male"
+ gender = MALE
/obj/item/seeds/grapeseed
name = "pack of grape seeds"
diff --git a/code/game/gamemodes/nuclear/nuclear.dm b/code/game/gamemodes/nuclear/nuclear.dm
index 03a97d14aa..e7f9cdbedb 100644
--- a/code/game/gamemodes/nuclear/nuclear.dm
+++ b/code/game/gamemodes/nuclear/nuclear.dm
@@ -360,9 +360,9 @@
/proc/NukeNameAssign(var/lastname,var/list/syndicates)
for(var/datum/mind/synd_mind in syndicates)
switch(synd_mind.current.gender)
- if("male")
+ if(MALE)
synd_mind.name = "[pick(first_names_male)] [lastname]"
- if("female")
+ if(FEMALE)
synd_mind.name = "[pick(first_names_female)] [lastname]"
synd_mind.current.real_name = synd_mind.name
return
\ No newline at end of file
diff --git a/code/game/machinery/hydroponics.dm b/code/game/machinery/hydroponics.dm
index 3311dbb888..f0cede8d29 100644
--- a/code/game/machinery/hydroponics.dm
+++ b/code/game/machinery/hydroponics.dm
@@ -906,7 +906,9 @@ obj/machinery/hydroponics/attackby(var/obj/item/O as obj, var/mob/user as mob)
// -- End mode specific stuff
- podman.gender = gender
+ podman.gender = ghost.gender
+ if(podman.gender in list(NEUTER, PLURAL)) //Sanity check, which should never actually happen.
+ podman.gender = pick(MALE,FEMALE)
if(!podman.dna)
podman.dna = new /datum/dna()
diff --git a/code/game/machinery/syndicatebeacon.dm b/code/game/machinery/syndicatebeacon.dm
index 98c65aca57..869676cab0 100644
--- a/code/game/machinery/syndicatebeacon.dm
+++ b/code/game/machinery/syndicatebeacon.dm
@@ -29,7 +29,7 @@
dat += "Connection severed.
"
else
var/honorific = "Mr."
- if(user.gender == "female")
+ if(user.gender == FEMALE)
honorific = "Ms."
dat += "Identity not found in operative database. What can the Syndicate do for you today, [honorific] [user.name]?
"
if(!selfdestructing)
diff --git a/code/modules/mob/living/carbon/human/human_attackhand.dm b/code/modules/mob/living/carbon/human/human_attackhand.dm
index 631dec544c..c32c1df5ca 100644
--- a/code/modules/mob/living/carbon/human/human_attackhand.dm
+++ b/code/modules/mob/living/carbon/human/human_attackhand.dm
@@ -103,9 +103,9 @@
if(ELECTRICHANDS in M.augmentations)
var/gendertxt = "their"
- if(M.gender == "male")
+ if(M.gender == MALE)
gendertxt = "his"
- if(M.gender == "female")
+ if(M.gender == FEMALE)
gendertxt = "her"
visible_message("\red [M] has shocked [src] with [gendertxt] bare hands!")
diff --git a/code/modules/mob/living/carbon/metroid/metroid.dm b/code/modules/mob/living/carbon/metroid/metroid.dm
index 655acae352..17adad3366 100644
--- a/code/modules/mob/living/carbon/metroid/metroid.dm
+++ b/code/modules/mob/living/carbon/metroid/metroid.dm
@@ -468,9 +468,9 @@
else
if(ELECTRICHANDS in M.augmentations)
var/gendertxt = "their"
- if(M.gender == "male")
+ if(M.gender == MALE)
gendertxt = "his"
- if(M.gender == "female")
+ if(M.gender == FEMALE)
gendertxt = "her"
visible_message("\red [M] has shocked [src] with [gendertxt] bare hands!")
diff --git a/code/modules/mob/living/carbon/monkey/monkey.dm b/code/modules/mob/living/carbon/monkey/monkey.dm
index 7267826122..f190686cad 100644
--- a/code/modules/mob/living/carbon/monkey/monkey.dm
+++ b/code/modules/mob/living/carbon/monkey/monkey.dm
@@ -16,7 +16,7 @@
dna.unique_enzymes = md5(name)
//////////blah
var/gendervar
- if (gender == "male")
+ if (gender == MALE)
gendervar = add_zero2(num2hex((rand(1,2049)),1), 3)
else
gendervar = add_zero2(num2hex((rand(2051,4094)),1), 3)
diff --git a/code/modules/mob/living/simple_animal/corgi.dm b/code/modules/mob/living/simple_animal/corgi.dm
index 9e98966115..c073a5f5ec 100644
--- a/code/modules/mob/living/simple_animal/corgi.dm
+++ b/code/modules/mob/living/simple_animal/corgi.dm
@@ -254,7 +254,7 @@
/mob/living/simple_animal/corgi/Ian
name = "Ian"
real_name = "Ian" //Intended to hold the name without altering it.
- gender = "male"
+ gender = MALE
desc = "It's a corgi."
var/turns_since_scan = 0
var/obj/movement_target
diff --git a/code/modules/mob/new_player/preferences.dm b/code/modules/mob/new_player/preferences.dm
index 894474ea28..4a9874aefe 100644
--- a/code/modules/mob/new_player/preferences.dm
+++ b/code/modules/mob/new_player/preferences.dm
@@ -729,6 +729,12 @@ datum/preferences
if(character&&character.client)
setup_client(character.client)
+ //Debugging report to track down a bug, which randomly assigned the plural gender to people.
+ if(character.gender in list(PLURAL, NEUTER))
+ if(isliving(src)) //Ghosts get neuter by default
+ message_admins("[character] ([character.ckey]) has spawned with their gender as plural or neuter. Please notify coders.")
+ character.gender = MALE
+
proc/copy_to_observer(mob/dead/observer/character)
spawn(10)
if(character && character.client)
diff --git a/code/unused/dna.dm b/code/unused/dna.dm
index 7ec9fba840..18a2292186 100644
--- a/code/unused/dna.dm
+++ b/code/unused/dna.dm
@@ -721,9 +721,9 @@
M.primary = null
var/t1 = hex2num(copytext(O.primary.uni_identity, 25, 28))
if (t1 < 125)
- O.gender = "male"
+ O.gender = MALE
else
- O.gender = "female"
+ O.gender = FEMALE
M << "Genetic Transversal Complete!"
if (M.client)
M << "Transferring..."
@@ -792,11 +792,11 @@
if (length(H.primary.uni_identity) >= 20)
t1 = copytext(H.primary.uni_identity, 19, 21)
if (hex2num(t1) > 127)
- H.gender = "female"
+ H.gender = FEMALE
else
- H.gender = "male"
+ H.gender = MALE
else
- H.gender = "neuter"
+ H.gender = NEUTER
if (length(H.primary.uni_identity) >= 18)
t1 = copytext(H.primary.uni_identity, 17, 19)
H.ns_tone = hex2num(t1)
@@ -847,7 +847,7 @@
var/i
while (!i)
var/randomname
- if (src.gender == "male")
+ if (src.gender == MALE)
randomname = capitalize(pick(first_names_male) + " " + capitalize(pick(last_names)))
else
randomname = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names)))