Chameleon overhaul

This commit is contained in:
Mark van Alphen
2019-05-01 20:59:41 +02:00
parent 3ce39ba6ea
commit e9d39b0d27
33 changed files with 646 additions and 209 deletions
+16 -6
View File
@@ -62,27 +62,38 @@
return ..()
/mob/living/carbon/human/proc/HasVoiceChanger()
if(istype(back,/obj/item/rig))
if(istype(back, /obj/item/rig))
var/obj/item/rig/rig = back
if(rig.speech && rig.speech.voice_holder && rig.speech.voice_holder.active && rig.speech.voice_holder.voice)
return rig.speech.voice_holder.voice
for(var/obj/item/gear in list(wear_mask,wear_suit,head))
for(var/obj/item/gear in list(wear_mask, wear_suit, head))
if(!gear)
continue
var/obj/item/voice_changer/changer = locate() in gear
if(changer && changer.active && changer.voice)
return changer.voice
return 0
if(changer && changer.active)
if(changer.voice)
return changer.voice
else if(wear_id)
var/obj/item/card/id/idcard = wear_id.GetID()
if(istype(idcard))
return idcard.registered_name
return FALSE
/mob/living/carbon/human/GetVoice()
var/has_changer = HasVoiceChanger()
if(has_changer)
return has_changer
if(mind && mind.changeling && mind.changeling.mimicing)
return mind.changeling.mimicing
if(GetSpecialVoice())
return GetSpecialVoice()
return real_name
/mob/living/carbon/human/IsVocal()
@@ -124,7 +135,6 @@
span = mind.speech_span
if((COMIC in mutations) \
|| (locate(/obj/item/organ/internal/cyberimp/brain/clown_voice) in internal_organs) \
|| istype(get_item_by_slot(slot_wear_mask), /obj/item/clothing/mask/gas/voice/clown) \
|| GetComponent(/datum/component/jestosterone))
span = "sans"
+1
View File
@@ -196,6 +196,7 @@
var/list/permanent_huds = list()
var/list/actions = list()
var/list/datum/action/chameleon_item_actions
var/list/progressbars = null //for stacking do_after bars