Allows IPCs to express themselves as a gender again

This commit is contained in:
Crazylemon64
2017-02-26 12:06:16 -08:00
parent 26bfc2c1b7
commit 6ec6c90aad
5 changed files with 20 additions and 8 deletions
+11 -6
View File
@@ -246,7 +246,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if(!user || !user.client)
return
update_preview_icon()
var/datum/species/S = all_species[species]
user << browse_rsc(preview_icon_front, "previewicon.png")
user << browse_rsc(preview_icon_side, "previewicon2.png")
@@ -280,8 +279,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
dat += "<b>You are banned from using custom names and appearances. \
You can continue to adjust your characters, but you will be randomised once you join the game.\
</b><br>"
if(S.has_gender)
dat += "<b>Gender:</b> <a href='?_src_=prefs;preference=gender'>[gender == MALE ? "Male" : "Female"]</a>"
dat += "<b>Gender:</b> <a href='?_src_=prefs;preference=gender'>[gender == MALE ? "Male" : (gender == FEMALE ? "Female" : "Genderless")]</a>"
dat += "<br>"
dat += "<b>Age:</b> <a href='?_src_=prefs;preference=age;task=input'>[age]</a><br>"
dat += "<b>Body:</b> <a href='?_src_=prefs;preference=all;task=random'>(&reg;)</a><br>"
@@ -1282,8 +1280,8 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
species = input("Please select a species", "Character Generation", null) in new_species
var/datum/species/NS = all_species[species]
if(prev_species != species)
if(S.has_gender != NS.has_gender)
gender = (NS.has_gender ? pick(MALE,FEMALE) : PLURAL)
if(NS.has_gender && gender == PLURAL)
gender = pick(MALE,FEMALE)
var/datum/robolimb/robohead
if(species == "Machine")
var/head_model = "[!rlimb_data["head"] ? "Morpheus Cyberkinetics" : rlimb_data["head"]]"
@@ -1916,7 +1914,14 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if("gender")
if(!S.has_gender)
gender = PLURAL
var/newgender = input(user, "Choose Gender:") as null|anything in list("Male", "Female", "Genderless")
switch(newgender)
if("Male")
gender = MALE
if("Female")
gender = FEMALE
if("Genderless")
gender = PLURAL
else
if(gender == MALE)
gender = FEMALE
@@ -16,7 +16,7 @@
/mob/living/carbon/human/proc/change_gender(var/new_gender, var/update_dna = 1)
var/obj/item/organ/external/head/H = organs_by_name["head"]
if(gender == new_gender)
if(gender == new_gender || (gender == PLURAL && species.has_gender))
return
gender = new_gender
@@ -488,4 +488,4 @@
valid_alt_heads += alternate_head
return valid_alt_heads
return valid_alt_heads
@@ -1483,6 +1483,7 @@
/mob/living/carbon/human/proc/set_species(var/new_species, var/default_colour, var/delay_icon_update = 0)
var/datum/species/oldspecies = species
var/datum/species/NS = all_species[new_species]
if(!dna)
if(!new_species)
new_species = "Human"
@@ -1502,6 +1503,8 @@
if(species.default_language)
remove_language(species.default_language)
if(gender == PLURAL && NS.has_gender)
change_gender(pick(MALE,FEMALE))
species.handle_pre_change(src)
species = all_species[new_species]
@@ -223,6 +223,7 @@
data["specimen"] = owner.species.name
data["gender"] = owner.gender
data["has_gender"] = owner.species.has_gender
data["change_race"] = can_change(APPEARANCE_RACE)
if(data["change_race"])
var/species[0]
+3
View File
@@ -19,6 +19,9 @@
<div class="itemContentWide">
{{:helper.link('Male', null, { 'gender' : 'male'}, null, data.gender == 'male' ? 'selected' : null)}}
{{:helper.link('Female', null, { 'gender' : 'female'}, null, data.gender == 'female' ? 'selected' : null)}}
{{if !data.has_gender}}
{{:helper.link('Genderless', null, { 'gender' : 'plural'}, null, data.gender == 'plural' ? 'selected' : null)}}
{{/if}}
</div>
</div>
{{/if}}