mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 00:21:11 +01:00
Alien species without a gender will now spawn as Neuter, and are neuter in the character setup. (#8115)
Species that are neuter (at least from the human/player characters' perspective) will now properly spawn as neuter, and be neuter in the character setup screen. This affects (tagged) IPCs, Dionae, Vox & Vaurca. Also fixes some gender related grammar stuff. I think all the procs that randomise based on gender will just default to one or the other and shouldn't have noticeably weird results. This also fixes the bug where Diona players would be 'he/she', but NPC diona would be 'it'.
This commit is contained in:
@@ -186,7 +186,7 @@
|
||||
|
||||
var/obj/item/grab/G = new /obj/item/grab(M, src)
|
||||
if(buckled)
|
||||
to_chat(M, "<span class='notice'>You cannot grab [src], \he is buckled in!</span>")
|
||||
to_chat(M, "<span class='notice'>You cannot grab [src], \he [gender_datums[gender].is] buckled in!</span>")
|
||||
if(!G) //the grab will delete itself in New if affecting is anchored
|
||||
return
|
||||
M.put_in_active_hand(G)
|
||||
|
||||
@@ -546,7 +546,7 @@ emp_act
|
||||
|
||||
var/obj/item/grab/G = new /obj/item/grab(user, src)
|
||||
if(buckled)
|
||||
to_chat(user, "<span class='notice'>You cannot grab [src], \he is buckled in!</span>")
|
||||
to_chat(user, "<span class='notice'>You cannot grab [src], \he [gender_datums[gender].is] buckled in!</span>")
|
||||
if(!G) //the grab will delete itself in New if affecting is anchored
|
||||
return
|
||||
user.put_in_active_hand(G)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
language = LANGUAGE_VOX
|
||||
name_language = LANGUAGE_VOX
|
||||
num_alternate_languages = 1
|
||||
default_genders = list(NEUTER)
|
||||
unarmed_types = list(/datum/unarmed_attack/stomp, /datum/unarmed_attack/kick, /datum/unarmed_attack/claws/strong, /datum/unarmed_attack/bite/strong)
|
||||
rarity_value = 4
|
||||
blurb = "The Vox are the broken remnants of a once-proud race, now reduced to little more than \
|
||||
@@ -82,11 +83,6 @@
|
||||
H.equip_to_slot_or_del(new /obj/item/storage/box/vox(H.back), slot_in_backpack)
|
||||
H.internal = H.r_hand
|
||||
H.internals.icon_state = "internal1"
|
||||
H.gender = NEUTER
|
||||
|
||||
/datum/species/vox/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
H.gender = NEUTER
|
||||
return ..()
|
||||
|
||||
/datum/species/vox/armalis
|
||||
name = "Vox Armalis"
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
var/age_min = 17
|
||||
var/age_max = 85
|
||||
var/economic_modifier = 0
|
||||
var/list/default_genders = list(MALE, FEMALE)
|
||||
|
||||
// Icon/appearance vars.
|
||||
var/icobase = 'icons/mob/human_races/human/r_human.dmi' // Normal icon set.
|
||||
@@ -398,6 +399,8 @@
|
||||
H.dna.SetSEState(MONKEYBLOCK,1)
|
||||
else
|
||||
H.dna.SetSEState(MONKEYBLOCK,0)
|
||||
if(!H.client || !H.client.prefs || !H.client.prefs.gender)
|
||||
H.gender = pick(default_genders)
|
||||
|
||||
/datum/species/proc/handle_death(var/mob/living/carbon/human/H, var/gibbed = 0) //Handles any species-specific death events (such as dionaea nymph spawns).
|
||||
return
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
bodytype = "Diona"
|
||||
age_min = 1
|
||||
age_max = 1000
|
||||
default_genders = list(NEUTER)
|
||||
economic_modifier = 3
|
||||
icobase = 'icons/mob/human_races/diona/r_diona.dmi'
|
||||
deform = 'icons/mob/human_races/diona/r_def_plant.dmi'
|
||||
@@ -148,7 +149,6 @@
|
||||
H.equip_to_slot_or_del(new /obj/item/device/flashlight/flare(H), slot_r_hand)
|
||||
|
||||
/datum/species/diona/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
H.gender = NEUTER
|
||||
if (ishuman(H))
|
||||
return ..()
|
||||
else//Most of the stuff in the parent function doesnt apply to nymphs
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
age_min = 1
|
||||
age_max = 30
|
||||
economic_modifier = 3
|
||||
var/neuter_ipc = TRUE
|
||||
default_genders = list(NEUTER)
|
||||
|
||||
blurb = "IPCs are, quite simply, \"Integrated Positronic Chassis.\" In this scenario, 'positronic' implies that the chassis possesses a positronic processing core (or positronic brain), meaning that an IPC must be positronic to be considered an IPC. The Baseline model is more of a category - the long of the short is that they represent all unbound synthetic units. Baseline models cover anything that is not an Industrial chassis or a Shell chassis. They can be custom made or assembly made. The most common feature of the Baseline model is a simple design, skeletal or semi-humanoid, and ordinary atmospheric diffusion cooling systems."
|
||||
|
||||
@@ -119,8 +119,6 @@
|
||||
var/sprint_charge_factor = 0.65
|
||||
|
||||
datum/species/machine/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
if (neuter_ipc)
|
||||
H.gender = NEUTER
|
||||
. = ..()
|
||||
check_tag(H, H.client)
|
||||
|
||||
@@ -300,8 +298,6 @@ datum/species/machine/handle_post_spawn(var/mob/living/carbon/human/H)
|
||||
/datum/species/machine/before_equip(var/mob/living/carbon/human/H)
|
||||
. = ..()
|
||||
check_tag(H, H.client)
|
||||
if (neuter_ipc)
|
||||
H.gender = NEUTER
|
||||
|
||||
/datum/species/machine/handle_death_check(var/mob/living/carbon/human/H)
|
||||
if(H.get_total_health() <= config.health_threshold_dead)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
short_name = "jak"
|
||||
name_plural = "Shells"
|
||||
bodytype = "Human"
|
||||
neuter_ipc = FALSE
|
||||
default_genders = list(MALE, FEMALE)
|
||||
|
||||
burn_mod = 1.2
|
||||
grab_mod = 1
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
bodytype = "Vaurca"
|
||||
age_min = 1
|
||||
age_max = 20
|
||||
default_genders = list(NEUTER)
|
||||
economic_modifier = 2
|
||||
language = LANGUAGE_VAURCA
|
||||
primitive_form = "V'krexi"
|
||||
|
||||
@@ -85,7 +85,7 @@ var/global/list/sparring_attack_cache = list()
|
||||
target.apply_effect(attack_damage * 0.4, WEAKEN, armour)
|
||||
if(BP_GROIN)
|
||||
if(pain_message)
|
||||
target.visible_message("<span class='warning'>[target] looks like \he is in pain!</span>", "<span class='warning'>[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your [pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]</span>")
|
||||
target.visible_message("<span class='warning'>[target] looks like \he [gender_datums[target.gender].is] in pain!</span>", "<span class='warning'>[(target.gender=="female") ? "Oh god that hurt!" : "Oh no, not your [pick("testicles", "crown jewels", "clockweights", "family jewels", "marbles", "bean bags", "teabags", "sweetmeats", "goolies")]!"]</span>")
|
||||
target.apply_effects(stutter = attack_damage * 2, agony = attack_damage* 3, blocked = armour)
|
||||
if(BP_L_LEG, BP_L_FOOT, BP_R_LEG, BP_R_FOOT)
|
||||
if(!target.lying)
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
else
|
||||
to_chat(P, "<b>DNA does not match stored Master DNA.</b>")
|
||||
else
|
||||
to_chat(P, "[M] does not seem like \he is going to provide a DNA sample willingly.")
|
||||
to_chat(P, "[M] does not seem like \he [gender_datums[M.gender].is] going to provide a DNA sample willingly.")
|
||||
return 1
|
||||
|
||||
/datum/pai_software/radio_config
|
||||
|
||||
Reference in New Issue
Block a user