* 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 taht 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 silnce silicon and alien whispers as well.
* Added get_holder() to /obj and /mob to get the return the mob ultimately carring the mob/object retuns null if ti is not carried by a /mob
* 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

^get_holder
^pai request ai window close after request
* 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 taht 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 /atoms.dm to get the return the mob ultimately carrying the mob/object returns null if it is not carried by a /mob, also it gets recursive for things inside another item like a backpack
* 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
Merge branch 'ktulu-pAI' of https://github.com/opticshade/-tg-station into ktulu-pAI
* 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