Improved typing indicator episode 2 the revenge (#28120)

* Improved typing indicator episode 2 the revenge

* lil oops
This commit is contained in:
DamianX
2020-10-31 14:32:45 +01:00
committed by GitHub
parent 0ef41dec90
commit 30d4e5fce7
2 changed files with 11 additions and 19 deletions

View File

@@ -44,9 +44,10 @@ var/datum/subsystem/more_init/SSmore_init
S.init_cams() S.init_cams()
create_global_diseases() create_global_diseases()
init_wizard_apprentice_setups() init_wizard_apprentice_setups()
machinery_rating_cache = cache_machinery_components_rating() machinery_rating_cache = cache_machinery_components_rating()
typing_indicator = new
/proc/cache_machinery_components_rating() /proc/cache_machinery_components_rating()
var/list/cache = list() var/list/cache = list()

View File

@@ -5,32 +5,23 @@ I IS TYPIN'!'
// Ported from Baystation12 : https://github.com/Baystation12/Baystation12 // Ported from Baystation12 : https://github.com/Baystation12/Baystation12
/mob var/atom/movable/typing_indicator/typing_indicator
var/atom/movable/overlay/typing_indicator/typing_indicator = null
/atom/movable/overlay/typing_indicator /atom/movable/typing_indicator
icon = 'icons/mob/talk.dmi' icon = 'icons/mob/talk.dmi'
icon_state = "talking" icon_state = "talking"
vis_flags = VIS_INHERIT_ID
/atom/movable/overlay/typing_indicator/New() /atom/movable/typing_indicator/Destroy()
. = ..() stack_trace("Something deleted the global typing indicator. Probably not intended.")
if(!istype(master, /mob)) return ..()
CRASH("Master of typing_indicator has invalid type: [master.type].")
/atom/movable/overlay/typing_indicator/Destroy()
var/mob/M = master
M.typing_indicator = null
. = ..()
/mob/proc/create_typing_indicator() /mob/proc/create_typing_indicator()
if(client && !stat && client.prefs.typing_indicator && src.is_visible() && isturf(src.loc)) if(client && !stat && client.prefs.typing_indicator && src.is_visible() && isturf(src.loc))
if(!typing_indicator) vis_contents |= typing_indicator
typing_indicator = new(src)
typing_indicator.invisibility = 0
/mob/proc/remove_typing_indicator() // A bit excessive, but goes with the creation of the indicator I suppose /mob/proc/remove_typing_indicator()
if(typing_indicator) vis_contents -= typing_indicator
typing_indicator.invisibility = INVISIBILITY_MAXIMUM
/mob/Logout() /mob/Logout()
remove_typing_indicator() remove_typing_indicator()