Merge branch 'master' of https://github.com/VOREStation/VOREStation into tgui-input-conversions

This commit is contained in:
ItsSelis
2022-06-19 03:05:08 +02:00
22 changed files with 223 additions and 77 deletions
@@ -76,22 +76,12 @@
BP_L_LEG = skip_body & EXAMINE_SKIPLEGS,
BP_R_LEG = skip_body & EXAMINE_SKIPLEGS)
var/datum/gender/T = gender_datums[get_visible_gender()]
var/gender_hidden = (skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)
var/gender_key = get_visible_gender(user, gender_hidden)
if((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)) //big suits/masks/helmets make it hard to tell their gender
T = gender_datums[PLURAL]
else if(species && species.ambiguous_genders)
if(ishuman(user))
var/mob/living/carbon/human/H = user
if(H.species && !istype(species, H.species))
T = gender_datums[PLURAL]// Species with ambiguous_genders will not show their true gender upon examine if the examiner is not also the same species.
if(!(issilicon(user) || isobserver(user))) // Ghosts and borgs are all knowing
T = gender_datums[PLURAL]
if(!T)
// Just in case someone VVs the gender to something strange. It'll runtime anyway when it hits usages, better to CRASH() now with a helpful message.
CRASH("Gender datum was null; key was '[((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)) ? PLURAL : gender]'")
var/datum/gender/T = gender_datums[gender_key]
if (!T)
CRASH({"Null gender datum on examine: mob="[src]",hidden="[gender_hidden]",key="[gender_key]",bio="[gender]",id="[identifying_gender]""})
var/name_ender = ""
if(!((skip_gear & EXAMINE_SKIPJUMPSUIT) && (skip_body & EXAMINE_SKIPFACE)))
@@ -144,7 +134,7 @@
LAZYADD(pocket_msg, r_store_message)
if(LAZYLEN(pocket_msg))
tie_msg += " Near the waist it has [english_list(pocket_msg)]."
if(w_uniform.blood_DNA)
msg += "<span class='warning'>[T.He] [T.is] wearing [bicon(w_uniform)] [w_uniform.gender==PLURAL?"some":"a"] [(w_uniform.blood_color != SYNTH_BLOOD_COLOUR) ? "blood" : "oil"]-stained [w_uniform.name]![tie_msg]</span>"
else
+19 -7
View File
@@ -854,13 +854,25 @@
remoteview_target = null
reset_view(0)
/mob/living/carbon/human/get_visible_gender()
if(wear_suit && wear_suit.flags_inv & HIDEJUMPSUIT && ((head && head.flags_inv & HIDEMASK) || wear_mask))
return PLURAL //plural is the gender-neutral default
if(species)
if(species.ambiguous_genders)
return PLURAL // regardless of what you're wearing, your gender can't be figured out
return get_gender()
/mob/living/carbon/human/get_visible_gender(mob/user, force)
switch(force)
if(VISIBLE_GENDER_FORCE_PLURAL)
return PLURAL
if(VISIBLE_GENDER_FORCE_IDENTIFYING)
return get_gender()
if(VISIBLE_GENDER_FORCE_BIOLOGICAL)
return gender
else
if((wear_mask || (head?.flags_inv & HIDEMASK)) && (wear_suit?.flags_inv & HIDEJUMPSUIT))
return PLURAL
if(species?.ambiguous_genders && user)
if(ishuman(user))
var/mob/living/carbon/human/human = user
if(!istype(human.species, species))
return PLURAL
else if(!isobserver(user) && !issilicon(user))
return PLURAL
return get_gender()
/mob/living/carbon/human/proc/increase_germ_level(n)
if(gloves)
@@ -170,7 +170,7 @@
// Wind makes it easier or harder to move, depending on if you're with or against the wind.
// I don't like that so I'm commenting it out :)
// VOREstation Edit Start
// VOREstation Edit Start
/*
if((T.is_outdoors()) && (T.z <= SSplanets.z_to_planet.len))
var/datum/planet/P = SSplanets.z_to_planet[z]
@@ -292,5 +292,5 @@
/mob/living/carbon/human/set_dir(var/new_dir)
. = ..()
if(. && species.tail)
if(. && (species.tail || tail_style))
update_tail_showing()
@@ -90,7 +90,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
#define L_HAND_LAYER 28 //Left-hand item
#define R_HAND_LAYER 29 //Right-hand item
#define WING_LAYER 30 //Wings or protrusions over the suit.
#define TAIL_LAYER_ALT 31 //Modified tail-sprite layer. Tend to be larger.
#define TAIL_NORTH_LAYER_ALT 31 //Modified tail-sprite layer. Tend to be larger.
#define MODIFIER_EFFECTS_LAYER 32 //Effects drawn by modifiers
#define FIRE_LAYER 33 //'Mob on fire' overlay layer
#define MOB_WATER_LAYER 34 //'Mob submerged' overlay layer
@@ -98,7 +98,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
#define TOTAL_LAYERS 35 //VOREStation edit. <---- KEEP THIS UPDATED, should always equal the highest number here, used to initialize a list.
//////////////////////////////////
#define GET_TAIL_LAYER (dir == NORTH ? TAIL_NORTH_LAYER : TAIL_SOUTH_LAYER)
#define GET_TAIL_LAYER (dir == SOUTH ? TAIL_SOUTH_LAYER : TAIL_NORTH_LAYER)
/mob/living/carbon/human
var/list/overlays_standing[TOTAL_LAYERS]
@@ -836,7 +836,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
suit_sprite = INV_SUIT_DEF_ICON
var/icon/c_mask = null
var/tail_is_rendered = (overlays_standing[TAIL_NORTH_LAYER] || overlays_standing[TAIL_SOUTH_LAYER])
var/tail_is_rendered = (overlays_standing[TAIL_NORTH_LAYER] || overlays_standing[TAIL_NORTH_LAYER_ALT] || overlays_standing[TAIL_SOUTH_LAYER])
var/valid_clip_mask = tail_style?.clip_mask
if(tail_is_rendered && valid_clip_mask && !(istype(suit) && suit.taurized)) //Clip the lower half of the suit off using the tail's clip mask for taurs since taur bodies aren't hidden.
@@ -954,9 +954,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
return
remove_layer(TAIL_NORTH_LAYER)
remove_layer(TAIL_NORTH_LAYER_ALT)
remove_layer(TAIL_SOUTH_LAYER)
var tail_layer = GET_TAIL_LAYER
var/tail_layer = GET_TAIL_LAYER
if(tail_alt && tail_layer == TAIL_NORTH_LAYER)
tail_layer = TAIL_NORTH_LAYER_ALT
var/image/tail_image = get_tail_image()
if(tail_image)
@@ -996,9 +999,12 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
/mob/living/carbon/human/proc/set_tail_state(var/t_state)
var/tail_layer = GET_TAIL_LAYER
if(tail_alt && tail_layer == TAIL_NORTH_LAYER)
tail_layer = TAIL_NORTH_LAYER_ALT
var/image/tail_overlay = overlays_standing[tail_layer]
remove_layer(TAIL_NORTH_LAYER)
remove_layer(TAIL_NORTH_LAYER_ALT)
remove_layer(TAIL_SOUTH_LAYER)
if(tail_overlay)
@@ -213,6 +213,7 @@
// Since they have bellies, add verbs to toggle settings on them.
verbs |= /mob/living/simple_mob/proc/toggle_digestion
verbs |= /mob/living/simple_mob/proc/toggle_fancygurgle
verbs |= /mob/living/proc/vertical_nom
//A much more detailed version of the default /living implementation
var/obj/belly/B = new /obj/belly(src)