Files
Bubberstation/code/_onclick/hud/ghost.dm
SkyratBot 496df13d30 [MIRROR] Improves status bar coverage (#4394)
* Improves status bar coverage (#57916)

This PR makes sure all MouseEntered() procs call their parent, which handles the status bar. This fixes instances where the status bar was missing, for example when you hovered over the ghost buttons, you would not be shown a name of the button, but completely different object, like "space", which was very misleading. This also means that the new status bar should have better parity the with the old status bar, which also showed these things.

* Improves status bar coverage

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2021-03-25 16:59:29 +00:00

119 lines
2.8 KiB
Plaintext

/atom/movable/screen/ghost
icon = 'icons/hud/screen_ghost.dmi'
/atom/movable/screen/ghost/MouseEntered(location, control, params)
. = ..()
flick(icon_state + "_anim", src)
/atom/movable/screen/ghost/spawners_menu
name = "Spawners menu"
icon_state = "spawners"
/atom/movable/screen/ghost/spawners_menu/Click()
var/mob/dead/observer/observer = usr
observer.open_spawners_menu()
/atom/movable/screen/ghost/orbit
name = "Orbit"
icon_state = "orbit"
/atom/movable/screen/ghost/orbit/Click()
var/mob/dead/observer/G = usr
G.follow()
/atom/movable/screen/ghost/reenter_corpse
name = "Reenter corpse"
icon_state = "reenter_corpse"
/atom/movable/screen/ghost/reenter_corpse/Click()
var/mob/dead/observer/G = usr
G.reenter_corpse()
/atom/movable/screen/ghost/teleport
name = "Teleport"
icon_state = "teleport"
/atom/movable/screen/ghost/teleport/Click()
var/mob/dead/observer/G = usr
G.dead_tele()
/atom/movable/screen/ghost/pai
name = "pAI Candidate"
icon_state = "pai"
/atom/movable/screen/ghost/pai/Click()
var/mob/dead/observer/G = usr
G.register_pai()
/atom/movable/screen/ghost/mafia
name = "Mafia Signup"
icon_state = "mafia"
/atom/movable/screen/ghost/mafia/Click()
var/mob/dead/observer/G = usr
G.mafia_signup()
/datum/hud/ghost/New(mob/owner)
..()
var/atom/movable/screen/using
using = new /atom/movable/screen/ghost/spawners_menu()
using.screen_loc = ui_ghost_spawners_menu
using.hud = src
static_inventory += using
using = new /atom/movable/screen/ghost/orbit()
using.screen_loc = ui_ghost_orbit
using.hud = src
static_inventory += using
using = new /atom/movable/screen/ghost/reenter_corpse()
using.screen_loc = ui_ghost_reenter_corpse
using.hud = src
static_inventory += using
using = new /atom/movable/screen/ghost/teleport()
using.screen_loc = ui_ghost_teleport
using.hud = src
static_inventory += using
using = new /atom/movable/screen/ghost/pai()
using.screen_loc = ui_ghost_pai
using.hud = src
static_inventory += using
using = new /atom/movable/screen/ghost/mafia()
using.screen_loc = ui_ghost_mafia
using.hud = src
static_inventory += using
using = new /atom/movable/screen/language_menu
using.screen_loc = ui_ghost_language_menu
using.icon = ui_style
using.hud = src
static_inventory += using
/datum/hud/ghost/show_hud(version = 0, mob/viewmob)
// don't show this HUD if observing; show the HUD of the observee
var/mob/dead/observer/O = mymob
if (istype(O) && O.observetarget)
plane_masters_update()
return FALSE
. = ..()
if(!.)
return
var/mob/screenmob = viewmob || mymob
if(!screenmob.client.prefs.ghost_hud)
screenmob.client.screen -= static_inventory
else
screenmob.client.screen += static_inventory
//We should only see observed mob alerts.
/datum/hud/ghost/reorganize_alerts(mob/viewmob)
var/mob/dead/observer/O = mymob
if (istype(O) && O.observetarget)
return
. = ..()