fix round-start-spawning not setting digitigrade properly

also changes methodology for identifying digitigrade yes or no from preferences --> species to preferences --> copy to mob
This commit is contained in:
Raeschen
2021-09-03 19:08:46 +02:00
parent 3ceaef0610
commit 5803b07300
7 changed files with 21 additions and 21 deletions

View File

@@ -0,0 +1,6 @@
/datum/category_item/player_setup_item/general/body/copy_to_mob(var/mob/living/carbon/human/character)
. = ..()
if(character.species.digi_allowed)
character.digitigrade = pref.digitigrade
else
character.digitigrade = FALSE

View File

@@ -7,7 +7,7 @@
var/mob/living/carbon/human/H = user
// if digitigrade-use flag is set
if(H.species.digitigrade)
if(H.digitigrade)
// figure out what slot we care about
var/update_icon_define_digi = null

View File

@@ -2,3 +2,5 @@
var/gender_change_cooldown = 0 // A cooldown for gender and gender indentify changing procs to make it easy to avoid spam of gender change
var/loneliness_stage = 0
var/next_loneliness_time = 0
var/digitigrade = 0

View File

@@ -14,18 +14,9 @@
var/waking_speed = 1
var/mudking = FALSE
var/icodigi = 'icons/mob/human_races/r_digi_ch.dmi'
var/digitigrade = FALSE
var/digi_allowed = FALSE
/datum/species/handle_environment_special(var/mob/living/carbon/human/H)
for(var/datum/trait/env_trait in env_traits)
env_trait.handle_environment_special(H)
return
// On creation, grab the preference of the creator's client, if possible.
/datum/species/New()
. = ..()
if(istype(usr, /mob) && digi_allowed)
var/mob/M = usr
if(M.client)
digitigrade = M.client.prefs.digitigrade

View File

@@ -295,7 +295,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
//ChompEDIT START
//icon_key addition for digitigrade switch
if(part.species.digitigrade && (part.organ_tag == BP_R_LEG || part.organ_tag == BP_L_LEG || part.organ_tag == BP_R_FOOT || part.organ_tag == BP_L_FOOT))
if(digitigrade && (part.organ_tag == BP_R_LEG || part.organ_tag == BP_L_LEG || part.organ_tag == BP_R_FOOT || part.organ_tag == BP_L_FOOT))
icon_key += "_digi"
//ChompEDIT END

View File

@@ -1,8 +1,8 @@
// override the organ icon getting proc
// if species.digitigrade is set, inject the sprites for digitigrade for appropriate organs
// if digitigrade is set, inject the sprites for digitigrade for appropriate organs
/obj/item/organ/external/get_icon(var/skeletal)
if( species.digitigrade && ( istype(src,/obj/item/organ/external/leg) || istype(src,/obj/item/organ/external/foot) ) )
if( owner.digitigrade && ( istype(src,/obj/item/organ/external/leg) || istype(src,/obj/item/organ/external/foot) ) )
var/IB = species.icobase
species.icobase = species.icodigi
. = ..()

View File

@@ -1953,6 +1953,7 @@
#include "code\modules\client\preference_setup\general\01_basic.dm"
#include "code\modules\client\preference_setup\general\02_language.dm"
#include "code\modules\client\preference_setup\general\03_body.dm"
#include "code\modules\client\preference_setup\general\03_body_ch.dm"
#include "code\modules\client\preference_setup\general\04_equipment.dm"
#include "code\modules\client\preference_setup\general\05_background.dm"
#include "code\modules\client\preference_setup\general\06_flavor.dm"