//Returns the mob holding the object, otherwise returns null
//Thanks to Nodrak for his help!
/obj/item/proc/get_holder(obj/item/object)
	if(istype(object.loc,/mob))
		return object.loc
	if(istype(object,/obj/item))
		return get_holder(object.loc)
	return null

/mob/living/silicon/pai/say_quote(var/text,var/ital)
	var/ending = copytext(text, length(text))
	if(ital)
		text = "<i>[text]</i>"
	if (ending == "?")
		return "[src.speakQuery], \"[text]\"";
	else if (ending == "!")
		return "[src.speakExclamation], \"[text]\"";

	return "[src.speakStatement], \"[text]\"";

* Consolidated whisper code into /mob/living/whisper.dm
* All living mobs should be able to whisper, overload it for ones that should not
* Generalized whisper.dm code so it should be a good base for any mob, moved mob specific code to its its designated mob eg wear_mask code is now in /mob/living/carbon
* Added var/isquote to /mob/living/whisper.dm set this if a mob speaks in quotes at all times, like the pAIs
* Added code to /mob/living/whisper.dm to ensure that if a mob is carried by another mob that that mob is always in the listening list
* Added whisper_text var to /mob/living_defines In general allows a lil freedom describing how a mob whispers, like a monkey could "quietly chimpers, [XXXXX]"
* Moved var/silent to /mob/living from /mob/living/carbon so we can silence silicon and alien whispers as well.
* Added get_holder() to /atom  to get the return the mob ultimately carrying the mob/object returns null if ti is not carried by a /mob also returns the correct mob if the object is inside and it that a mob is carrying, or an item in an item etc.
* Right now only humans,pAIs, aliens, and monkeys can whisper
* For mobs that may whisper a quote, i have modified the say_quote functions to properly handle the italics.
* Added /proc/strip_html_full to code\__HELPERS\text.dm to strip entire html tags instead of just the < and > like strip_html_simple
* Overload get_holder for mobs stored within items like pAIs, look at pai.dm for a reference