/datum/hud
        
    
            
        
| Vars | |
| always_visible_inventory | Screen objects that never exit view. | 
|---|---|
| atmos_debug_overlays | If this client is being shown atmos debug overlays or not | 
| current_plane_offset | Think of multiz as a stack of z levels. Each index in that stack has its own group of plane masters This variable is the plane offset our mob/client is currently "on" We use it to track what we should show/not show Goes from 0 to the max (z level stack size - 1) | 
| last_byond_version | The BYOND version of the client that was last logged into this mob. Currently used to rebuild all plane master groups when going between 515<->516. | 
| master_groups | Assoc list of key => "plane master groups" This is normally just the main window, but it'll occasionally contain things like spyglasses windows | 
| plane_master_controllers | Assoc list of controller groups, associated with key string group name with value of the plane master controller ref | 
| screentip_color | The color to use for the screentips. This is updated by the preference for cheaper reads than would be had with a proc call, especially on one of the hottest procs in the game (MouseEntered). | 
| screentip_images | Whether to use text or images for click hints.
Same behavior as screentips_enabled--very hot, updated when the preference is updated. | 
| screentip_text | UI for screentips that appear when you mouse over things | 
| screentips_enabled | Whether or not screentips are enabled. This is updated by the preference for cheaper reads than would be had with a proc call, especially on one of the hottest procs in the game (MouseEntered). | 
| Procs | |
| build_action_groups | Generates and fills new action groups with our mob's current actions | 
| build_plane_groups | Creates the required plane masters to fill out new z layers (because each "level" of multiz gets its own plane master set) | 
| generate_landings | Generates visual landings for all groups that the button is not a memeber of | 
| get_plane_group | Returns the corresponding plane group datum if one exists | 
| get_plane_master | Returns the plane master that matches the input plane from the passed in group | 
| get_planes_from | Returns all the planes belonging to the passed in group key | 
| get_true_plane_masters | Returns a list of all plane masters that match the input true plane, drawn from the passed in group (ignores z layer offsets) | 
| hide_action | Removes the passed in action from its current position on the screen | 
| hide_landings | Clears all currently visible landings | 
| show_hud | Shows this hud's hud to some mob | 
| view_audit_buttons | Ensures all of our buttons are properly within the bounds of our client's view, moves them if they're not | 
Var Details
always_visible_inventory
            
        
    
            
        
        Screen objects that never exit view.
atmos_debug_overlays
            
        
    
            
        
        If this client is being shown atmos debug overlays or not
current_plane_offset
            
        
    
            
        
        Think of multiz as a stack of z levels. Each index in that stack has its own group of plane masters This variable is the plane offset our mob/client is currently "on" We use it to track what we should show/not show Goes from 0 to the max (z level stack size - 1)
last_byond_version
            
        
    
            
        
        The BYOND version of the client that was last logged into this mob. Currently used to rebuild all plane master groups when going between 515<->516.
master_groups
            
        
    
            
        
        Assoc list of key => "plane master groups" This is normally just the main window, but it'll occasionally contain things like spyglasses windows
plane_master_controllers
            
        
    
            
        
        Assoc list of controller groups, associated with key string group name with value of the plane master controller ref
screentip_color
            
        
    
            
        
        The color to use for the screentips. This is updated by the preference for cheaper reads than would be had with a proc call, especially on one of the hottest procs in the game (MouseEntered).
screentip_images
            
        
    
            
        
        Whether to use text or images for click hints.
Same behavior as screentips_enabled--very hot, updated when the preference is updated.
screentip_text
            
        
    
            
        
        UI for screentips that appear when you mouse over things
screentips_enabled
            
        
    
            
        
        Whether or not screentips are enabled. This is updated by the preference for cheaper reads than would be had with a proc call, especially on one of the hottest procs in the game (MouseEntered).
Proc Details
build_action_groups
Generates and fills new action groups with our mob's current actions
build_plane_groups
Creates the required plane masters to fill out new z layers (because each "level" of multiz gets its own plane master set)
generate_landings
Generates visual landings for all groups that the button is not a memeber of
get_plane_group
Returns the corresponding plane group datum if one exists
get_plane_master
Returns the plane master that matches the input plane from the passed in group
get_planes_from
Returns all the planes belonging to the passed in group key
get_true_plane_masters
Returns a list of all plane masters that match the input true plane, drawn from the passed in group (ignores z layer offsets)
hide_action
Removes the passed in action from its current position on the screen
hide_landings
Clears all currently visible landings
show_hud
Shows this hud's hud to some mob
Arguments
- version - denotes which style should be displayed. blank or 0 means "next version"
- viewmob - what mob to show the hud to. Can be this hud's mob, can be another mob, can be null (will use this hud's mob if so)
view_audit_buttons
Ensures all of our buttons are properly within the bounds of our client's view, moves them if they're not