mirror of
https://github.com/SPLURT-Station/S.P.L.U.R.T-Station-13.git
synced 2025-12-11 10:22:13 +00:00
push
This commit is contained in:
@@ -30,6 +30,7 @@
|
|||||||
#define COLOR_YELLOW "#FFFF00"
|
#define COLOR_YELLOW "#FFFF00"
|
||||||
#define COLOR_VIVID_YELLOW "#FBFF23"
|
#define COLOR_VIVID_YELLOW "#FBFF23"
|
||||||
#define COLOR_VERY_SOFT_YELLOW "#FAE48E"
|
#define COLOR_VERY_SOFT_YELLOW "#FAE48E"
|
||||||
|
#define COLOR_GOLD "#FFD700"
|
||||||
|
|
||||||
#define COLOR_OLIVE "#808000"
|
#define COLOR_OLIVE "#808000"
|
||||||
#define COLOR_VIBRANT_LIME "#00FF00"
|
#define COLOR_VIBRANT_LIME "#00FF00"
|
||||||
|
|||||||
@@ -94,11 +94,12 @@
|
|||||||
#define ui_palette_scroll_offset(north_offset) ("WEST+1:8,NORTH-[6+north_offset]:28")
|
#define ui_palette_scroll_offset(north_offset) ("WEST+1:8,NORTH-[6+north_offset]:28")
|
||||||
|
|
||||||
//Middle right (status indicators)
|
//Middle right (status indicators)
|
||||||
#define ui_healthdoll "EAST-1:28,CENTER-2:13"
|
#define ui_healthdoll "EAST-1:28,CENTER-2:17"
|
||||||
#define ui_health "EAST-1:28,CENTER-1:15"
|
#define ui_health "EAST-1:28,CENTER-1:19"
|
||||||
#define ui_internal "EAST-1:28,CENTER+1:19"//CIT CHANGE - moves internal icon up a little bit to accommodate for the stamina meter
|
#define ui_internal "EAST-1:28,CENTER+1:21" // RIP, although nobody will remember this, unsmart coders have used this for other stuff. DO NOT REMOVE UNLESS RENAMING OR REPLACING.
|
||||||
#define ui_mood "EAST-1:28,CENTER-3:10"
|
#define ui_mood "EAST-1:28,CENTER:21"
|
||||||
// #define ui_spacesuit "EAST-1:28,CENTER-4:10"
|
#define ui_stamina "EAST-1:28,CENTER-3:14"
|
||||||
|
// #define ui_spacesuit "EAST-1:28,CENTER-4:14"
|
||||||
|
|
||||||
//Pop-up inventory
|
//Pop-up inventory
|
||||||
#define ui_shoes "WEST+1:8,SOUTH:5"
|
#define ui_shoes "WEST+1:8,SOUTH:5"
|
||||||
@@ -208,7 +209,6 @@
|
|||||||
#define ui_ghost_spawners "SOUTH: 6, CENTER+1:24" // LEGACY. SAME LOC AS PAI
|
#define ui_ghost_spawners "SOUTH: 6, CENTER+1:24" // LEGACY. SAME LOC AS PAI
|
||||||
|
|
||||||
//UI position overrides for 1:1 screen layout. (default is 7:5)
|
//UI position overrides for 1:1 screen layout. (default is 7:5)
|
||||||
#define ui_stamina "EAST-1:28,CENTER:17" // replacing internals button
|
|
||||||
#define ui_overridden_resist "EAST-3:24,SOUTH+1:7"
|
#define ui_overridden_resist "EAST-3:24,SOUTH+1:7"
|
||||||
#define ui_clickdelay "CENTER,SOUTH+1:-31"
|
#define ui_clickdelay "CENTER,SOUTH+1:-31"
|
||||||
#define ui_resistdelay "EAST-3:24,SOUTH+1:4"
|
#define ui_resistdelay "EAST-3:24,SOUTH+1:4"
|
||||||
@@ -231,6 +231,8 @@
|
|||||||
#define SCRN_OBJ_IN_LIST "list"
|
#define SCRN_OBJ_IN_LIST "list"
|
||||||
/// In the collapseable palette
|
/// In the collapseable palette
|
||||||
#define SCRN_OBJ_IN_PALETTE "palette"
|
#define SCRN_OBJ_IN_PALETTE "palette"
|
||||||
|
///Inserted first in the list
|
||||||
|
#define SCRN_OBJ_INSERT_FIRST "first"
|
||||||
|
|
||||||
/// The filter name for the hover outline
|
/// The filter name for the hover outline
|
||||||
#define HOVER_OUTLINE_FILTER "hover_outline"
|
#define HOVER_OUTLINE_FILTER "hover_outline"
|
||||||
|
|||||||
@@ -5,10 +5,11 @@
|
|||||||
var/datum/hud/our_hud
|
var/datum/hud/our_hud
|
||||||
var/actiontooltipstyle = ""
|
var/actiontooltipstyle = ""
|
||||||
screen_loc = null
|
screen_loc = null
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
var/button_icon_state
|
var/button_icon_state
|
||||||
var/appearance_cache
|
var/appearance_cache
|
||||||
|
var/mutable_appearance/button_overlay
|
||||||
/// Where we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks
|
/// Where we are currently placed on the hud. SCRN_OBJ_DEFAULT asks the linked action what it thinks
|
||||||
var/location = SCRN_OBJ_DEFAULT
|
var/location = SCRN_OBJ_DEFAULT
|
||||||
/// A unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position
|
/// A unique bitflag, combined with the name of our linked action this lets us persistently remember any user changes to our position
|
||||||
@@ -199,6 +200,7 @@
|
|||||||
icon = 'icons/hud/64x16_actions.dmi'
|
icon = 'icons/hud/64x16_actions.dmi'
|
||||||
icon_state = "screen_gen_palette"
|
icon_state = "screen_gen_palette"
|
||||||
screen_loc = ui_action_palette
|
screen_loc = ui_action_palette
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/datum/hud/our_hud
|
var/datum/hud/our_hud
|
||||||
var/expanded = FALSE
|
var/expanded = FALSE
|
||||||
/// Id of any currently running timers that set our color matrix
|
/// Id of any currently running timers that set our color matrix
|
||||||
@@ -324,6 +326,7 @@ GLOBAL_LIST_INIT(palette_removed_matrix, list(1.4,0,0,0, 0.7,0.4,0,0, 0.4,0,0.6,
|
|||||||
/atom/movable/screen/palette_scroll
|
/atom/movable/screen/palette_scroll
|
||||||
icon = 'icons/mob/screen_gen.dmi'
|
icon = 'icons/mob/screen_gen.dmi'
|
||||||
screen_loc = ui_palette_scroll
|
screen_loc = ui_palette_scroll
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
/// How should we move the palette's actions?
|
/// How should we move the palette's actions?
|
||||||
/// Positive scrolls down the list, negative scrolls back
|
/// Positive scrolls down the list, negative scrolls back
|
||||||
var/scroll_direction = 0
|
var/scroll_direction = 0
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/atom/movable/screen/ai
|
/atom/movable/screen/ai
|
||||||
icon = 'icons/mob/screen_ai.dmi'
|
icon = 'icons/mob/screen_ai.dmi'
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/ai/Click()
|
/atom/movable/screen/ai/Click()
|
||||||
if(isobserver(usr) || usr.incapacitated())
|
if(isobserver(usr) || usr.incapacitated())
|
||||||
|
|||||||
@@ -91,6 +91,8 @@
|
|||||||
name = "Alert"
|
name = "Alert"
|
||||||
desc = "Something seems to have gone wrong with this alert, so report this bug please"
|
desc = "Something seems to have gone wrong with this alert, so report this bug please"
|
||||||
mouse_opacity = MOUSE_OPACITY_ICON
|
mouse_opacity = MOUSE_OPACITY_ICON
|
||||||
|
/// do we glow to represent we do stuff when clicked
|
||||||
|
var/clickable_glow = FALSE
|
||||||
var/timeout = 0 //If set to a number, this alert will clear itself after that many deciseconds
|
var/timeout = 0 //If set to a number, this alert will clear itself after that many deciseconds
|
||||||
var/severity = 0
|
var/severity = 0
|
||||||
var/alerttooltipstyle = ""
|
var/alerttooltipstyle = ""
|
||||||
@@ -100,6 +102,12 @@
|
|||||||
/// Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.
|
/// Boolean. If TRUE, the Click() proc will attempt to Click() on the master first if there is a master.
|
||||||
var/click_master = TRUE
|
var/click_master = TRUE
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/Initialize(mapload, datum/hud/hud_owner)
|
||||||
|
. = ..()
|
||||||
|
if(clickable_glow)
|
||||||
|
add_filter("clickglow", 2, outline_filter(color = COLOR_GOLD, size = 1))
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/alert/MouseEntered(location,control,params)
|
/atom/movable/screen/alert/MouseEntered(location,control,params)
|
||||||
if(!QDELETED(src))
|
if(!QDELETED(src))
|
||||||
openToolTip(usr,src,params,title = name,content = desc,theme = alerttooltipstyle)
|
openToolTip(usr,src,params,title = name,content = desc,theme = alerttooltipstyle)
|
||||||
@@ -247,6 +255,7 @@ or something covering your eyes."
|
|||||||
name = "Mind Control"
|
name = "Mind Control"
|
||||||
desc = "Your mind has been hijacked! Click to view the mind control command."
|
desc = "Your mind has been hijacked! Click to view the mind control command."
|
||||||
icon_state = "mind_control"
|
icon_state = "mind_control"
|
||||||
|
clickable_glow = TRUE
|
||||||
var/command
|
var/command
|
||||||
|
|
||||||
/atom/movable/screen/alert/mind_control/Click()
|
/atom/movable/screen/alert/mind_control/Click()
|
||||||
@@ -271,6 +280,7 @@ or something covering your eyes."
|
|||||||
desc = "Something got lodged into your flesh and is causing major bleeding. It might fall out with time, but surgery is the safest way. \
|
desc = "Something got lodged into your flesh and is causing major bleeding. It might fall out with time, but surgery is the safest way. \
|
||||||
If you're feeling frisky, examine yourself and click the underlined item to pull the object out."
|
If you're feeling frisky, examine yourself and click the underlined item to pull the object out."
|
||||||
icon_state = "embeddedobject"
|
icon_state = "embeddedobject"
|
||||||
|
clickable_glow = TRUE
|
||||||
|
|
||||||
/atom/movable/screen/alert/embeddedobject/Click()
|
/atom/movable/screen/alert/embeddedobject/Click()
|
||||||
if(isliving(usr) && usr == owner)
|
if(isliving(usr) && usr == owner)
|
||||||
@@ -299,6 +309,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
|
|||||||
name = "On Fire"
|
name = "On Fire"
|
||||||
desc = "You're on fire. Stop, drop and roll to put the fire out or move to a vacuum area."
|
desc = "You're on fire. Stop, drop and roll to put the fire out or move to a vacuum area."
|
||||||
icon_state = "fire"
|
icon_state = "fire"
|
||||||
|
clickable_glow = TRUE
|
||||||
|
|
||||||
/atom/movable/screen/alert/fire/Click()
|
/atom/movable/screen/alert/fire/Click()
|
||||||
var/mob/living/L = usr
|
var/mob/living/L = usr
|
||||||
@@ -310,8 +321,29 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
|
|||||||
|
|
||||||
/atom/movable/screen/alert/give // information set when the give alert is made
|
/atom/movable/screen/alert/give // information set when the give alert is made
|
||||||
icon_state = "default"
|
icon_state = "default"
|
||||||
|
clickable_glow = TRUE
|
||||||
var/mob/living/carbon/offerer
|
var/mob/living/carbon/offerer
|
||||||
var/obj/item/receiving
|
var/obj/item/receiving
|
||||||
|
/// Additional text displayed in the description of the alert.
|
||||||
|
var/additional_desc_text = "Click this alert to take it, or shift click it to examine it."
|
||||||
|
/// Text to override what appears in screentips for the alert
|
||||||
|
var/screentip_override_text
|
||||||
|
/// Whether the offered item can be examined by shift-clicking the alert
|
||||||
|
var/examinable = TRUE
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/give/Initialize(mapload, datum/hud/hud_owner)
|
||||||
|
. = ..()
|
||||||
|
register_context()
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/give/Destroy()
|
||||||
|
offerer = null
|
||||||
|
receiving = null
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/give/add_context(atom/source, list/context, obj/item/held_item, mob/user)
|
||||||
|
LAZYSET(context[SCREENTIP_CONTEXT_LMB], INTENT_ANY, screentip_override_text || "Take [receiving.name]")
|
||||||
|
LAZYSET(context[SCREENTIP_CONTEXT_SHIFT_LMB], INTENT_ANY, "Examine")
|
||||||
|
return CONTEXTUAL_SCREENTIP_SET
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles assigning most of the variables for the alert that pops up when an item is offered
|
* Handles assigning most of the variables for the alert that pops up when an item is offered
|
||||||
@@ -341,6 +373,16 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
|
|||||||
CRASH("User for [src] is of type \[[usr.type]\]. This should never happen.")
|
CRASH("User for [src] is of type \[[usr.type]\]. This should never happen.")
|
||||||
handle_transfer()
|
handle_transfer()
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/give/examine(mob/user)
|
||||||
|
if(!examinable)
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
return list(
|
||||||
|
span_boldnotice(name),
|
||||||
|
span_info("[offerer] is offering you the following item (click the alert to take it!):"),
|
||||||
|
"<hr>[jointext(receiving.examine(user), "\n")]",
|
||||||
|
)
|
||||||
|
|
||||||
/// An overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred
|
/// An overrideable proc used simply to hand over the item when claimed, this is a proc so that high-fives can override them since nothing is actually transferred
|
||||||
/atom/movable/screen/alert/give/proc/handle_transfer()
|
/atom/movable/screen/alert/give/proc/handle_transfer()
|
||||||
var/mob/living/carbon/taker = owner
|
var/mob/living/carbon/taker = owner
|
||||||
@@ -354,6 +396,11 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
|
|||||||
to_chat(owner, span_warning("You moved out of range of [offerer]!"))
|
to_chat(owner, span_warning("You moved out of range of [offerer]!"))
|
||||||
owner.clear_alert("[offerer]")
|
owner.clear_alert("[offerer]")
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/give/highfive
|
||||||
|
additional_desc_text = "Click this alert to slap it."
|
||||||
|
screentip_override_text = "High Five"
|
||||||
|
examinable = FALSE
|
||||||
|
|
||||||
/atom/movable/screen/alert/give/highfive/setup(mob/living/carbon/taker, mob/living/carbon/offerer, obj/item/receiving)
|
/atom/movable/screen/alert/give/highfive/setup(mob/living/carbon/taker, mob/living/carbon/offerer, obj/item/receiving)
|
||||||
. = ..()
|
. = ..()
|
||||||
name = "[offerer] is offering a high-five!"
|
name = "[offerer] is offering a high-five!"
|
||||||
@@ -404,6 +451,9 @@ or shoot a gun to move around via Newton's 3rd Law of Motion."
|
|||||||
/// Families handshakes
|
/// Families handshakes
|
||||||
/atom/movable/screen/alert/give/secret_handshake
|
/atom/movable/screen/alert/give/secret_handshake
|
||||||
icon_state = "default"
|
icon_state = "default"
|
||||||
|
additional_desc_text = "Click this alert to accept."
|
||||||
|
screentip_override_text = "Handshake"
|
||||||
|
examinable = FALSE
|
||||||
|
|
||||||
/atom/movable/screen/alert/give/secret_handshake/setup(mob/living/carbon/taker, mob/living/carbon/offerer, obj/item/receiving)
|
/atom/movable/screen/alert/give/secret_handshake/setup(mob/living/carbon/taker, mob/living/carbon/offerer, obj/item/receiving)
|
||||||
name = "[offerer] is offering a Handshake"
|
name = "[offerer] is offering a Handshake"
|
||||||
@@ -666,7 +716,8 @@ so as to remain in compliance with the most up-to-date laws."
|
|||||||
complete, you will have exclusive control of it, and you will gain \
|
complete, you will have exclusive control of it, and you will gain \
|
||||||
additional processing time to unlock more malfunction abilities."
|
additional processing time to unlock more malfunction abilities."
|
||||||
icon_state = "hackingapc"
|
icon_state = "hackingapc"
|
||||||
timeout = 600
|
timeout = 60 SECONDS
|
||||||
|
clickable_glow = TRUE
|
||||||
var/atom/target = null
|
var/atom/target = null
|
||||||
|
|
||||||
/atom/movable/screen/alert/hackingapc/Click()
|
/atom/movable/screen/alert/hackingapc/Click()
|
||||||
@@ -693,7 +744,8 @@ so as to remain in compliance with the most up-to-date laws."
|
|||||||
name = "Revival"
|
name = "Revival"
|
||||||
desc = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!"
|
desc = "Someone is trying to revive you. Re-enter your corpse if you want to be revived!"
|
||||||
icon_state = "template"
|
icon_state = "template"
|
||||||
timeout = 300
|
timeout = 30 SECONDS
|
||||||
|
clickable_glow = TRUE
|
||||||
|
|
||||||
/atom/movable/screen/alert/notify_cloning/Click()
|
/atom/movable/screen/alert/notify_cloning/Click()
|
||||||
if(!usr || !usr.client || usr != owner)
|
if(!usr || !usr.client || usr != owner)
|
||||||
@@ -705,7 +757,8 @@ so as to remain in compliance with the most up-to-date laws."
|
|||||||
name = "Body created"
|
name = "Body created"
|
||||||
desc = "A body was created. You can enter it."
|
desc = "A body was created. You can enter it."
|
||||||
icon_state = "template"
|
icon_state = "template"
|
||||||
timeout = 300
|
timeout = 30 SECONDS
|
||||||
|
clickable_glow = TRUE
|
||||||
var/atom/target = null
|
var/atom/target = null
|
||||||
var/action = NOTIFY_JUMP
|
var/action = NOTIFY_JUMP
|
||||||
|
|
||||||
@@ -729,6 +782,9 @@ so as to remain in compliance with the most up-to-date laws."
|
|||||||
|
|
||||||
//OBJECT-BASED
|
//OBJECT-BASED
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/restrained
|
||||||
|
clickable_glow = TRUE
|
||||||
|
|
||||||
/atom/movable/screen/alert/restrained/buckled
|
/atom/movable/screen/alert/restrained/buckled
|
||||||
name = "Buckled"
|
name = "Buckled"
|
||||||
desc = "You've been buckled to something. Click the alert to unbuckle unless you're handcuffed."
|
desc = "You've been buckled to something. Click the alert to unbuckle unless you're handcuffed."
|
||||||
@@ -765,6 +821,7 @@ so as to remain in compliance with the most up-to-date laws."
|
|||||||
name = "Knotted Shoes"
|
name = "Knotted Shoes"
|
||||||
desc = "Someone tied your shoelaces together! Click the alert or your shoes to undo the knot."
|
desc = "Someone tied your shoelaces together! Click the alert or your shoes to undo the knot."
|
||||||
icon_state = "shoealert"
|
icon_state = "shoealert"
|
||||||
|
clickable_glow = TRUE
|
||||||
|
|
||||||
/atom/movable/screen/alert/shoes/Click()
|
/atom/movable/screen/alert/shoes/Click()
|
||||||
var/mob/living/carbon/C = usr
|
var/mob/living/carbon/C = usr
|
||||||
@@ -814,9 +871,9 @@ so as to remain in compliance with the most up-to-date laws."
|
|||||||
return FALSE
|
return FALSE
|
||||||
if(usr != owner)
|
if(usr != owner)
|
||||||
return FALSE
|
return FALSE
|
||||||
var/paramslist = params2list(params)
|
var/modifiers = params2list(params)
|
||||||
if(paramslist["shift"]) // screen objects don't do the normal Click() stuff so we'll cheat
|
if(LAZYACCESS(modifiers, SHIFT_CLICK)) // screen objects don't do the normal Click() stuff so we'll cheat
|
||||||
to_chat(usr, "<span class='boldnotice'>[name]</span> - <span class='info'>[desc]</span>")
|
to_chat(usr, "<blockquote class='info'>[jointext(examine(usr), "\n")]</blockquote>")
|
||||||
return FALSE
|
return FALSE
|
||||||
if(master && click_master)
|
if(master && click_master)
|
||||||
return usr.client.Click(master, location, control, params)
|
return usr.client.Click(master, location, control, params)
|
||||||
@@ -829,3 +886,9 @@ so as to remain in compliance with the most up-to-date laws."
|
|||||||
master = null
|
master = null
|
||||||
owner = null
|
owner = null
|
||||||
screen_loc = ""
|
screen_loc = ""
|
||||||
|
|
||||||
|
/atom/movable/screen/alert/examine(mob/user)
|
||||||
|
return list(
|
||||||
|
span_boldnotice(name),
|
||||||
|
span_info(desc),
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
|
|
||||||
/atom/movable/screen/blob
|
/atom/movable/screen/blob
|
||||||
icon = 'icons/mob/blob.dmi'
|
icon = 'icons/mob/blob.dmi'
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/blob/MouseEntered(location,control,params)
|
/atom/movable/screen/blob/MouseEntered(location,control,params)
|
||||||
openToolTip(usr,src,params,title = name,content = desc, theme = "blob")
|
openToolTip(usr,src,params,title = name,content = desc, theme = "blob")
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/atom/movable/screen/ghost
|
/atom/movable/screen/ghost
|
||||||
icon = 'icons/mob/screen_ghost.dmi'
|
icon = 'icons/mob/screen_ghost.dmi'
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/ghost/MouseEntered()
|
/atom/movable/screen/ghost/MouseEntered()
|
||||||
flick(icon_state + "_anim", src)
|
flick(icon_state + "_anim", src)
|
||||||
|
|||||||
@@ -93,6 +93,7 @@
|
|||||||
|
|
||||||
/atom/movable/screen/guardian
|
/atom/movable/screen/guardian
|
||||||
icon = 'icons/mob/guardian.dmi'
|
icon = 'icons/mob/guardian.dmi'
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/guardian/Manifest
|
/atom/movable/screen/guardian/Manifest
|
||||||
icon_state = "manifest"
|
icon_state = "manifest"
|
||||||
|
|||||||
@@ -87,7 +87,6 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
|
|||||||
|
|
||||||
var/atom/movable/screen/healths
|
var/atom/movable/screen/healths
|
||||||
var/atom/movable/screen/healthdoll
|
var/atom/movable/screen/healthdoll
|
||||||
var/atom/movable/screen/internals
|
|
||||||
|
|
||||||
var/atom/movable/screen/wanted/wanted_lvl
|
var/atom/movable/screen/wanted/wanted_lvl
|
||||||
// subtypes can override this to force a specific UI style
|
// subtypes can override this to force a specific UI style
|
||||||
@@ -148,7 +147,6 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
|
|||||||
healths = null
|
healths = null
|
||||||
healthdoll = null
|
healthdoll = null
|
||||||
wanted_lvl = null
|
wanted_lvl = null
|
||||||
internals = null
|
|
||||||
lingchemdisplay = null
|
lingchemdisplay = null
|
||||||
devilsouldisplay = null
|
devilsouldisplay = null
|
||||||
lingstingdisplay = null
|
lingstingdisplay = null
|
||||||
@@ -365,6 +363,9 @@ GLOBAL_LIST_INIT(available_ui_styles, list(
|
|||||||
listed_actions.insert_action(button)
|
listed_actions.insert_action(button)
|
||||||
if(SCRN_OBJ_IN_PALETTE)
|
if(SCRN_OBJ_IN_PALETTE)
|
||||||
palette_actions.insert_action(button)
|
palette_actions.insert_action(button)
|
||||||
|
if(SCRN_OBJ_INSERT_FIRST)
|
||||||
|
listed_actions.insert_action(button, index = 1)
|
||||||
|
position = SCRN_OBJ_IN_LIST
|
||||||
else // If we don't have it as a define, this is a screen_loc, and we should be floating
|
else // If we don't have it as a define, this is a screen_loc, and we should be floating
|
||||||
floating_actions += button
|
floating_actions += button
|
||||||
button.screen_loc = position
|
button.screen_loc = position
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
/atom/movable/screen/human/toggle
|
/atom/movable/screen/human/toggle
|
||||||
name = "toggle"
|
name = "toggle"
|
||||||
icon_state = "toggle"
|
icon_state = "toggle"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/human/toggle/Click()
|
/atom/movable/screen/human/toggle/Click()
|
||||||
|
|
||||||
@@ -26,6 +27,7 @@
|
|||||||
/atom/movable/screen/human/equip
|
/atom/movable/screen/human/equip
|
||||||
name = "equip"
|
name = "equip"
|
||||||
icon_state = "act_equip"
|
icon_state = "act_equip"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/human/equip/Click()
|
/atom/movable/screen/human/equip/Click()
|
||||||
if(ismecha(usr.loc)) // stops inventory actions in a mech
|
if(ismecha(usr.loc)) // stops inventory actions in a mech
|
||||||
@@ -68,6 +70,7 @@
|
|||||||
/atom/movable/screen/ling/sting
|
/atom/movable/screen/ling/sting
|
||||||
name = "current sting"
|
name = "current sting"
|
||||||
screen_loc = ui_lingstingdisplay
|
screen_loc = ui_lingstingdisplay
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/ling/sting/Click()
|
/atom/movable/screen/ling/sting/Click()
|
||||||
if(isobserver(usr))
|
if(isobserver(usr))
|
||||||
@@ -412,10 +415,6 @@
|
|||||||
throw_icon.hud = src
|
throw_icon.hud = src
|
||||||
hotkeybuttons += throw_icon
|
hotkeybuttons += throw_icon
|
||||||
|
|
||||||
internals = new /atom/movable/screen/internals()
|
|
||||||
internals.hud = src
|
|
||||||
infodisplay += internals
|
|
||||||
|
|
||||||
healths = new /atom/movable/screen/healths()
|
healths = new /atom/movable/screen/healths()
|
||||||
healths.hud = src
|
healths.hud = src
|
||||||
infodisplay += healths
|
infodisplay += healths
|
||||||
|
|||||||
@@ -85,10 +85,6 @@
|
|||||||
throw_icon.hud = src
|
throw_icon.hud = src
|
||||||
hotkeybuttons += throw_icon
|
hotkeybuttons += throw_icon
|
||||||
|
|
||||||
internals = new /atom/movable/screen/internals()
|
|
||||||
internals.hud = src
|
|
||||||
infodisplay += internals
|
|
||||||
|
|
||||||
healths = new /atom/movable/screen/healths()
|
healths = new /atom/movable/screen/healths()
|
||||||
healths.hud = src
|
healths.hud = src
|
||||||
infodisplay += healths
|
infodisplay += healths
|
||||||
|
|||||||
@@ -62,8 +62,9 @@
|
|||||||
screen_loc = "TOP,CENTER:-61"
|
screen_loc = "TOP,CENTER:-61"
|
||||||
|
|
||||||
/atom/movable/screen/lobby/button
|
/atom/movable/screen/lobby/button
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
///Is the button currently enabled?
|
///Is the button currently enabled?
|
||||||
var/enabled = TRUE
|
VAR_PROTECTED/enabled = TRUE
|
||||||
///Is the button currently being hovered over with the mouse?
|
///Is the button currently being hovered over with the mouse?
|
||||||
var/highlighted = FALSE
|
var/highlighted = FALSE
|
||||||
/// The ref of the mob that owns this button. Only the owner can click on it.
|
/// The ref of the mob that owns this button. Only the owner can click on it.
|
||||||
@@ -113,6 +114,7 @@
|
|||||||
return FALSE
|
return FALSE
|
||||||
enabled = status
|
enabled = status
|
||||||
update_appearance(UPDATE_ICON)
|
update_appearance(UPDATE_ICON)
|
||||||
|
mouse_over_pointer = enabled ? MOUSE_HAND_POINTER : MOUSE_INACTIVE_POINTER
|
||||||
return TRUE
|
return TRUE
|
||||||
|
|
||||||
///Prefs menu
|
///Prefs menu
|
||||||
@@ -184,10 +186,10 @@
|
|||||||
icon = 'icons/hud/lobby/join.dmi'
|
icon = 'icons/hud/lobby/join.dmi'
|
||||||
icon_state = "" //Default to not visible
|
icon_state = "" //Default to not visible
|
||||||
base_icon_state = "join_game"
|
base_icon_state = "join_game"
|
||||||
enabled = FALSE
|
|
||||||
|
|
||||||
/atom/movable/screen/lobby/button/join/Initialize(mapload)
|
/atom/movable/screen/lobby/button/join/Initialize(mapload)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
set_button_status(FALSE)
|
||||||
switch(SSticker.current_state)
|
switch(SSticker.current_state)
|
||||||
if(GAME_STATE_PREGAME, GAME_STATE_STARTUP)
|
if(GAME_STATE_PREGAME, GAME_STATE_STARTUP)
|
||||||
RegisterSignal(SSticker, COMSIG_TICKER_ENTER_SETTING_UP, PROC_REF(show_join_button))
|
RegisterSignal(SSticker, COMSIG_TICKER_ENTER_SETTING_UP, PROC_REF(show_join_button))
|
||||||
@@ -248,13 +250,13 @@
|
|||||||
icon = 'icons/hud/lobby/observe.dmi'
|
icon = 'icons/hud/lobby/observe.dmi'
|
||||||
icon_state = "observe_disabled"
|
icon_state = "observe_disabled"
|
||||||
base_icon_state = "observe"
|
base_icon_state = "observe"
|
||||||
enabled = FALSE
|
|
||||||
|
|
||||||
/atom/movable/screen/lobby/button/observe/Initialize(mapload)
|
/atom/movable/screen/lobby/button/observe/Initialize(mapload)
|
||||||
. = ..()
|
. = ..()
|
||||||
if(SSticker.current_state > GAME_STATE_STARTUP)
|
if(SSticker.current_state > GAME_STATE_STARTUP)
|
||||||
set_button_status(TRUE)
|
set_button_status(TRUE)
|
||||||
else
|
else
|
||||||
|
set_button_status(FALSE)
|
||||||
RegisterSignal(SSticker, COMSIG_TICKER_ENTER_PREGAME, PROC_REF(enable_observing))
|
RegisterSignal(SSticker, COMSIG_TICKER_ENTER_PREGAME, PROC_REF(enable_observing))
|
||||||
|
|
||||||
/atom/movable/screen/lobby/button/observe/Click(location, control, params)
|
/atom/movable/screen/lobby/button/observe/Click(location, control, params)
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/atom/movable/screen/robot
|
/atom/movable/screen/robot
|
||||||
icon = 'icons/mob/screen_cyborg.dmi'
|
icon = 'icons/mob/screen_cyborg.dmi'
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/robot/module
|
/atom/movable/screen/robot/module
|
||||||
name = "cyborg module"
|
name = "cyborg module"
|
||||||
|
|||||||
@@ -57,6 +57,7 @@
|
|||||||
/atom/movable/screen/swap_hand
|
/atom/movable/screen/swap_hand
|
||||||
plane = HUD_PLANE
|
plane = HUD_PLANE
|
||||||
name = "swap hand"
|
name = "swap hand"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/swap_hand/Click()
|
/atom/movable/screen/swap_hand/Click()
|
||||||
// At this point in client Click() code we have passed the 1/10 sec check and little else
|
// At this point in client Click() code we have passed the 1/10 sec check and little else
|
||||||
@@ -85,12 +86,14 @@
|
|||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "craft"
|
icon_state = "craft"
|
||||||
screen_loc = ui_crafting
|
screen_loc = ui_crafting
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/area_creator
|
/atom/movable/screen/area_creator
|
||||||
name = "create new area"
|
name = "create new area"
|
||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "area_edit"
|
icon_state = "area_edit"
|
||||||
screen_loc = ui_building
|
screen_loc = ui_building
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/area_creator/Click()
|
/atom/movable/screen/area_creator/Click()
|
||||||
if(usr.incapacitated() || (isobserver(usr) && !IsAdminGhost(usr)))
|
if(usr.incapacitated() || (isobserver(usr) && !IsAdminGhost(usr)))
|
||||||
@@ -106,11 +109,11 @@
|
|||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "talk_wheel"
|
icon_state = "talk_wheel"
|
||||||
screen_loc = ui_language_menu
|
screen_loc = ui_language_menu
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/language_menu/Click()
|
/atom/movable/screen/language_menu/Click()
|
||||||
var/mob/M = usr
|
|
||||||
var/datum/language_holder/H = M.get_language_holder()
|
usr.get_language_holder().open_language_menu(usr)
|
||||||
H.open_language_menu(usr)
|
|
||||||
|
|
||||||
/atom/movable/screen/inventory
|
/atom/movable/screen/inventory
|
||||||
/// The identifier for the slot. It has nothing to do with ID cards.
|
/// The identifier for the slot. It has nothing to do with ID cards.
|
||||||
@@ -172,7 +175,7 @@
|
|||||||
var/image/item_overlay = image(holding)
|
var/image/item_overlay = image(holding)
|
||||||
item_overlay.alpha = 92
|
item_overlay.alpha = 92
|
||||||
|
|
||||||
if(!user.can_equip(holding, slot_id, disable_warning = TRUE, bypass_equip_delay_self = TRUE))
|
if(!holding.mob_can_equip(user, slot_id, disable_warning = TRUE, bypass_equip_delay_self = TRUE))
|
||||||
item_overlay.color = "#FF0000"
|
item_overlay.color = "#FF0000"
|
||||||
else
|
else
|
||||||
item_overlay.color = "#00ff00"
|
item_overlay.color = "#00ff00"
|
||||||
@@ -247,6 +250,7 @@
|
|||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "act_drop"
|
icon_state = "act_drop"
|
||||||
plane = HUD_PLANE
|
plane = HUD_PLANE
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/drop/Click()
|
/atom/movable/screen/drop/Click()
|
||||||
if(usr.stat == CONSCIOUS)
|
if(usr.stat == CONSCIOUS)
|
||||||
@@ -256,6 +260,7 @@
|
|||||||
name = "intent"
|
name = "intent"
|
||||||
icon_state = "help"
|
icon_state = "help"
|
||||||
screen_loc = ui_acti
|
screen_loc = ui_acti
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/act_intent/Click(location, control, params)
|
/atom/movable/screen/act_intent/Click(location, control, params)
|
||||||
usr.a_intent_change(INTENT_HOTKEY_RIGHT)
|
usr.a_intent_change(INTENT_HOTKEY_RIGHT)
|
||||||
@@ -287,76 +292,11 @@
|
|||||||
icon = 'icons/mob/screen_cyborg.dmi'
|
icon = 'icons/mob/screen_cyborg.dmi'
|
||||||
screen_loc = ui_borg_intents
|
screen_loc = ui_borg_intents
|
||||||
|
|
||||||
/atom/movable/screen/internals
|
|
||||||
name = "toggle internals"
|
|
||||||
icon_state = "internal0"
|
|
||||||
screen_loc = ui_internal
|
|
||||||
|
|
||||||
/atom/movable/screen/internals/Click()
|
|
||||||
if(!iscarbon(usr))
|
|
||||||
return
|
|
||||||
var/mob/living/carbon/C = usr
|
|
||||||
if(C.incapacitated())
|
|
||||||
return
|
|
||||||
|
|
||||||
if(C.internal)
|
|
||||||
C.internal = null
|
|
||||||
to_chat(C, span_notice("You are no longer running on internals."))
|
|
||||||
icon_state = "internal0"
|
|
||||||
else
|
|
||||||
if(!C.getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
|
||||||
if(HAS_TRAIT(C, TRAIT_NO_INTERNALS))
|
|
||||||
to_chat(C, span_warning("Due to cumbersome equipment or anatomy, you are currently unable to use internals!"))
|
|
||||||
return
|
|
||||||
var/obj/item/clothing/check
|
|
||||||
var/internals = FALSE
|
|
||||||
|
|
||||||
for(check in GET_INTERNAL_SLOTS(C))
|
|
||||||
if(istype(check, /obj/item/clothing/mask))
|
|
||||||
var/obj/item/clothing/mask/M = check
|
|
||||||
if(M.mask_adjusted)
|
|
||||||
M.adjustmask(C)
|
|
||||||
if((check.clothing_flags & ALLOWINTERNALS))
|
|
||||||
internals = TRUE
|
|
||||||
if(!internals)
|
|
||||||
to_chat(C, span_warning("You are not wearing an internals mask!"))
|
|
||||||
return
|
|
||||||
|
|
||||||
var/obj/item/I = C.is_holding_item_of_type(/obj/item/tank)
|
|
||||||
if(I)
|
|
||||||
to_chat(C, span_notice("You are now running on internals from [I] in your [C.get_held_index_name(C.get_held_index_of_item(I))]."))
|
|
||||||
C.internal = I
|
|
||||||
else if(ishuman(C))
|
|
||||||
var/mob/living/carbon/human/H = C
|
|
||||||
if(istype(H.s_store, /obj/item/tank))
|
|
||||||
to_chat(H, span_notice("You are now running on internals from [H.s_store] on your [H.wear_suit.name]."))
|
|
||||||
H.internal = H.s_store
|
|
||||||
else if(istype(H.belt, /obj/item/tank))
|
|
||||||
to_chat(H, span_notice("You are now running on internals from [H.belt] on your belt."))
|
|
||||||
H.internal = H.belt
|
|
||||||
else if(istype(H.l_store, /obj/item/tank))
|
|
||||||
to_chat(H, span_notice("You are now running on internals from [H.l_store] in your left pocket."))
|
|
||||||
H.internal = H.l_store
|
|
||||||
else if(istype(H.r_store, /obj/item/tank))
|
|
||||||
to_chat(H, span_notice("You are now running on internals from [H.r_store] in your right pocket."))
|
|
||||||
H.internal = H.r_store
|
|
||||||
|
|
||||||
//Separate so CO2 jetpacks are a little less cumbersome.
|
|
||||||
if(!C.internal && istype(C.back, /obj/item/tank))
|
|
||||||
to_chat(C, span_notice("You are now running on internals from [C.back] on your back."))
|
|
||||||
C.internal = C.back
|
|
||||||
|
|
||||||
if(C.internal)
|
|
||||||
icon_state = "internal1"
|
|
||||||
else
|
|
||||||
to_chat(C, span_warning("You don't have an oxygen tank!"))
|
|
||||||
return
|
|
||||||
C.update_action_buttons_icon()
|
|
||||||
|
|
||||||
/atom/movable/screen/mov_intent
|
/atom/movable/screen/mov_intent
|
||||||
name = "run/walk toggle"
|
name = "run/walk toggle"
|
||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "running"
|
icon_state = "running"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/mov_intent/Initialize(mapload)
|
/atom/movable/screen/mov_intent/Initialize(mapload)
|
||||||
. = ..()
|
. = ..()
|
||||||
@@ -366,7 +306,10 @@
|
|||||||
toggle(usr)
|
toggle(usr)
|
||||||
|
|
||||||
/atom/movable/screen/mov_intent/update_icon_state()
|
/atom/movable/screen/mov_intent/update_icon_state()
|
||||||
switch(hud?.mymob?.m_intent)
|
if(!hud || !hud.mymob || !isliving(hud.mymob))
|
||||||
|
return
|
||||||
|
var/mob/living/living_hud_owner = hud.mymob
|
||||||
|
switch(living_hud_owner.m_intent)
|
||||||
if(MOVE_INTENT_WALK)
|
if(MOVE_INTENT_WALK)
|
||||||
icon_state = CONFIG_GET(flag/sprint_enabled)? "walking" : "walking_nosprint"
|
icon_state = CONFIG_GET(flag/sprint_enabled)? "walking" : "walking_nosprint"
|
||||||
if(MOVE_INTENT_RUN)
|
if(MOVE_INTENT_RUN)
|
||||||
@@ -382,6 +325,8 @@
|
|||||||
name = "stop pulling"
|
name = "stop pulling"
|
||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "pull"
|
icon_state = "pull"
|
||||||
|
base_icon_state = "pull"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/pull/Click()
|
/atom/movable/screen/pull/Click()
|
||||||
if(isobserver(usr))
|
if(isobserver(usr))
|
||||||
@@ -389,17 +334,14 @@
|
|||||||
usr.stop_pulling()
|
usr.stop_pulling()
|
||||||
|
|
||||||
/atom/movable/screen/pull/update_icon_state()
|
/atom/movable/screen/pull/update_icon_state()
|
||||||
if(hud?.mymob?.pulling)
|
icon_state = "[base_icon_state][hud?.mymob?.pulling ? null : 0]"
|
||||||
icon_state = "pull"
|
|
||||||
else
|
|
||||||
icon_state = "pull0"
|
|
||||||
return ..()
|
return ..()
|
||||||
|
|
||||||
/atom/movable/screen/resist
|
/atom/movable/screen/resist
|
||||||
name = "resist"
|
name = "resist"
|
||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "act_resist"
|
icon_state = "act_resist"
|
||||||
plane = HUD_PLANE
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/resist/Click()
|
/atom/movable/screen/resist/Click()
|
||||||
if(isliving(usr))
|
if(isliving(usr))
|
||||||
@@ -411,7 +353,7 @@
|
|||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "act_rest"
|
icon_state = "act_rest"
|
||||||
base_icon_state = "act_rest"
|
base_icon_state = "act_rest"
|
||||||
plane = HUD_PLANE
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/rest/Click()
|
/atom/movable/screen/rest/Click()
|
||||||
if(isliving(usr))
|
if(isliving(usr))
|
||||||
@@ -429,6 +371,7 @@
|
|||||||
name = "throw/catch"
|
name = "throw/catch"
|
||||||
icon = 'icons/mob/screen_midnight.dmi'
|
icon = 'icons/mob/screen_midnight.dmi'
|
||||||
icon_state = "act_throw_off"
|
icon_state = "act_throw_off"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/throw_catch/Click()
|
/atom/movable/screen/throw_catch/Click()
|
||||||
if(iscarbon(usr))
|
if(iscarbon(usr))
|
||||||
@@ -439,6 +382,7 @@
|
|||||||
name = "damage zone"
|
name = "damage zone"
|
||||||
icon_state = "zone_sel"
|
icon_state = "zone_sel"
|
||||||
screen_loc = ui_zonesel
|
screen_loc = ui_zonesel
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/overlay_icon = 'icons/mob/screen_gen.dmi'
|
var/overlay_icon = 'icons/mob/screen_gen.dmi'
|
||||||
var/static/list/hover_overlays_cache = list()
|
var/static/list/hover_overlays_cache = list()
|
||||||
var/hovering
|
var/hovering
|
||||||
@@ -641,6 +585,7 @@
|
|||||||
/atom/movable/screen/healthdoll
|
/atom/movable/screen/healthdoll
|
||||||
name = "health doll"
|
name = "health doll"
|
||||||
screen_loc = ui_healthdoll
|
screen_loc = ui_healthdoll
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/healthdoll/Click()
|
/atom/movable/screen/healthdoll/Click()
|
||||||
if (iscarbon(usr))
|
if (iscarbon(usr))
|
||||||
@@ -656,6 +601,7 @@
|
|||||||
name = "mood"
|
name = "mood"
|
||||||
icon_state = "mood5"
|
icon_state = "mood5"
|
||||||
screen_loc = ui_mood
|
screen_loc = ui_mood
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/mood/attack_tk()
|
/atom/movable/screen/mood/attack_tk()
|
||||||
return
|
return
|
||||||
@@ -708,6 +654,7 @@
|
|||||||
|
|
||||||
|
|
||||||
/atom/movable/screen/component_button
|
/atom/movable/screen/component_button
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/atom/movable/screen/parent
|
var/atom/movable/screen/parent
|
||||||
|
|
||||||
/atom/movable/screen/component_button/Initialize(mapload, atom/movable/screen/parent)
|
/atom/movable/screen/component_button/Initialize(mapload, atom/movable/screen/parent)
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
name = "toggle sprint"
|
name = "toggle sprint"
|
||||||
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
|
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
|
||||||
icon_state = "act_sprint"
|
icon_state = "act_sprint"
|
||||||
layer = ABOVE_HUD_LAYER - 0.1
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/mutable_appearance/flashy
|
var/mutable_appearance/flashy
|
||||||
|
|
||||||
/atom/movable/screen/sprintbutton/Click()
|
/atom/movable/screen/sprintbutton/Click()
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
name = "sprint buffer"
|
name = "sprint buffer"
|
||||||
icon = 'icons/effects/progessbar.dmi'
|
icon = 'icons/effects/progessbar.dmi'
|
||||||
icon_state = "prog_bar_100"
|
icon_state = "prog_bar_100"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/sprint_buffer/Click()
|
/atom/movable/screen/sprint_buffer/Click()
|
||||||
if(isliving(usr))
|
if(isliving(usr))
|
||||||
|
|||||||
@@ -1,19 +1,20 @@
|
|||||||
/datum/hud/var/atom/movable/screen/staminas/staminas
|
/datum/hud
|
||||||
/datum/hud/var/atom/movable/screen/staminabuffer/staminabuffer
|
var/atom/movable/screen/staminas/staminas
|
||||||
|
var/atom/movable/screen/staminabuffer/staminabuffer
|
||||||
|
|
||||||
/atom/movable/screen/staminas
|
/atom/movable/screen/staminas
|
||||||
icon = 'modular_citadel/icons/ui/screen_gen.dmi'
|
icon = 'modular_citadel/icons/ui/screen_gen.dmi'
|
||||||
name = "stamina"
|
name = "stamina"
|
||||||
icon_state = "stamina0"
|
icon_state = "stamina0"
|
||||||
screen_loc = ui_stamina
|
screen_loc = ui_stamina
|
||||||
mouse_opacity = 1
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/staminas/Click(location,control,params)
|
/atom/movable/screen/staminas/Click(location,control,params)
|
||||||
if(isliving(usr))
|
if(isliving(usr))
|
||||||
var/mob/living/L = usr
|
var/mob/living/L = usr
|
||||||
CONFIG_CACHE_ENTRY_AND_FETCH_VALUE(number/stamina_combat/buffer_max, buffer_max)
|
CONFIG_CACHE_ENTRY_AND_FETCH_VALUE(number/stamina_combat/buffer_max, buffer_max)
|
||||||
to_chat(L, "<span class='notice'>You have <b>[L.getStaminaLoss()]</b> stamina loss.<br>\
|
to_chat(L, "<blockquote class='info'><span class='notice'>You have <b>[L.getStaminaLoss()]</b> stamina loss.<br>\
|
||||||
<br>Your stamina buffer is <b>[round((L.stamina_buffer / buffer_max) * 100, 0.1)]%</b> full.</span>")
|
<br>Your stamina buffer is <b>[round((L.stamina_buffer / buffer_max) * 100, 0.1)]%</b> full.</span></blockquote>")
|
||||||
|
|
||||||
/atom/movable/screen/staminas/update_icon_state()
|
/atom/movable/screen/staminas/update_icon_state()
|
||||||
var/mob/living/carbon/user = hud?.mymob
|
var/mob/living/carbon/user = hud?.mymob
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
name = "toggle vore mode"
|
name = "toggle vore mode"
|
||||||
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
|
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
|
||||||
icon_state = "nom_off"
|
icon_state = "nom_off"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/atom/movable/screen/voretoggle/Click()
|
/atom/movable/screen/voretoggle/Click()
|
||||||
if(usr != hud.mymob)
|
if(usr != hud.mymob)
|
||||||
|
|||||||
@@ -39,6 +39,7 @@
|
|||||||
var/icon_icon = 'icons/mob/actions.dmi'
|
var/icon_icon = 'icons/mob/actions.dmi'
|
||||||
/// This is the icon state for the icon that appears on the button
|
/// This is the icon state for the icon that appears on the button
|
||||||
var/button_icon_state = "default"
|
var/button_icon_state = "default"
|
||||||
|
var/button_overlay_state
|
||||||
|
|
||||||
/datum/action/New(Target)
|
/datum/action/New(Target)
|
||||||
link_to(Target)
|
link_to(Target)
|
||||||
@@ -177,6 +178,11 @@
|
|||||||
|
|
||||||
ApplyIcon(button, force)
|
ApplyIcon(button, force)
|
||||||
|
|
||||||
|
if(button_overlay_state)
|
||||||
|
button.cut_overlay(button.button_overlay)
|
||||||
|
button.button_overlay = mutable_appearance(icon = 'icons/mob/actions.dmi', icon_state = button_overlay_state)
|
||||||
|
button.add_overlay(button.button_overlay)
|
||||||
|
|
||||||
if(!IsAvailable(TRUE))
|
if(!IsAvailable(TRUE))
|
||||||
button.color = transparent_when_unavailable ? rgb(128,0,0,128) : rgb(128,0,0)
|
button.color = transparent_when_unavailable ? rgb(128,0,0,128) : rgb(128,0,0)
|
||||||
else
|
else
|
||||||
@@ -362,6 +368,8 @@
|
|||||||
|
|
||||||
/datum/action/item_action/set_internals
|
/datum/action/item_action/set_internals
|
||||||
name = "Set Internals"
|
name = "Set Internals"
|
||||||
|
default_button_position = SCRN_OBJ_INSERT_FIRST
|
||||||
|
button_overlay_state = "ab_goldborder"
|
||||||
|
|
||||||
/datum/action/item_action/set_internals/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force)
|
/datum/action/item_action/set_internals/UpdateButton(atom/movable/screen/movable/action_button/button, status_only = FALSE, force)
|
||||||
if(!..()) // no button available
|
if(!..()) // no button available
|
||||||
|
|||||||
@@ -182,6 +182,7 @@
|
|||||||
name = "toggle combat mode"
|
name = "toggle combat mode"
|
||||||
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
|
icon = 'modular_citadel/icons/ui/screen_midnight.dmi'
|
||||||
icon_state = "combat_off"
|
icon_state = "combat_off"
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/mutable_appearance/flashy
|
var/mutable_appearance/flashy
|
||||||
var/combat_on = FALSE ///Wheter combat mode is enabled or not, so we don't have to store a reference.
|
var/combat_on = FALSE ///Wheter combat mode is enabled or not, so we don't have to store a reference.
|
||||||
|
|
||||||
|
|||||||
@@ -971,6 +971,7 @@
|
|||||||
desc = "A magical strand of Durathread is wrapped around your neck, preventing you from breathing! Click this icon to remove the strand."
|
desc = "A magical strand of Durathread is wrapped around your neck, preventing you from breathing! Click this icon to remove the strand."
|
||||||
icon_state = "his_grace"
|
icon_state = "his_grace"
|
||||||
alerttooltipstyle = "hisgrace"
|
alerttooltipstyle = "hisgrace"
|
||||||
|
clickable_glow = TRUE
|
||||||
|
|
||||||
/atom/movable/screen/alert/status_effect/strandling/Click(location, control, params)
|
/atom/movable/screen/alert/status_effect/strandling/Click(location, control, params)
|
||||||
. = ..()
|
. = ..()
|
||||||
|
|||||||
@@ -102,6 +102,7 @@
|
|||||||
/atom/movable/screen/alert/status_effect/wound
|
/atom/movable/screen/alert/status_effect/wound
|
||||||
name = "Wounded"
|
name = "Wounded"
|
||||||
desc = "Your body has sustained serious damage, click here to inspect yourself."
|
desc = "Your body has sustained serious damage, click here to inspect yourself."
|
||||||
|
clickable_glow = TRUE
|
||||||
|
|
||||||
/atom/movable/screen/alert/status_effect/wound/Click()
|
/atom/movable/screen/alert/status_effect/wound/Click()
|
||||||
var/mob/living/carbon/C = usr
|
var/mob/living/carbon/C = usr
|
||||||
|
|||||||
@@ -647,6 +647,11 @@
|
|||||||
|
|
||||||
/// Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.
|
/// Gets or creates the relevant language holder. For mindless atoms, gets the local one. For atom with mind, gets the mind one.
|
||||||
/atom/movable/proc/get_language_holder(get_minds = TRUE)
|
/atom/movable/proc/get_language_holder(get_minds = TRUE)
|
||||||
|
RETURN_TYPE(/datum/language_holder)
|
||||||
|
if(QDELING(src))
|
||||||
|
CRASH("get_language_holder() called on a QDELing atom, \
|
||||||
|
this will try to re-instantiate the language holder that's about to be deleted, which is bad.")
|
||||||
|
|
||||||
if(!language_holder)
|
if(!language_holder)
|
||||||
language_holder = new initial_language_holder(src)
|
language_holder = new initial_language_holder(src)
|
||||||
return language_holder
|
return language_holder
|
||||||
|
|||||||
@@ -291,7 +291,6 @@ Credit where due:
|
|||||||
W.update_label()
|
W.update_label()
|
||||||
if(plasmaman && !visualsOnly) //If we need to breathe from the plasma tank, we should probably start doing that
|
if(plasmaman && !visualsOnly) //If we need to breathe from the plasma tank, we should probably start doing that
|
||||||
H.internal = H.get_item_for_held_index(2)
|
H.internal = H.get_item_for_held_index(2)
|
||||||
H.update_internals_hud_icon(1)
|
|
||||||
PDA.owner = H.real_name
|
PDA.owner = H.real_name
|
||||||
PDA.ownjob = "Assistant"
|
PDA.ownjob = "Assistant"
|
||||||
PDA.update_label()
|
PDA.update_label()
|
||||||
|
|||||||
@@ -176,7 +176,6 @@ GLOBAL_VAR_INIT(hsboxspawn, TRUE)
|
|||||||
P.back.plane = ABOVE_HUD_PLANE
|
P.back.plane = ABOVE_HUD_PLANE
|
||||||
P.update_inv_back()
|
P.update_inv_back()
|
||||||
P.internal = P.back
|
P.internal = P.back
|
||||||
P.update_internals_hud_icon(1)
|
|
||||||
|
|
||||||
if("hsbscrubber") // This is beyond its normal capability but this is sandbox and you spawned one, I assume you need it
|
if("hsbscrubber") // This is beyond its normal capability but this is sandbox and you spawned one, I assume you need it
|
||||||
var/obj/hsb = new/obj/machinery/portable_atmospherics/scrubber{volume_rate=50*ONE_ATMOSPHERE;on=1}(usr.loc)
|
var/obj/hsb = new/obj/machinery/portable_atmospherics/scrubber{volume_rate=50*ONE_ATMOSPHERE;on=1}(usr.loc)
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 2
|
idle_power_usage = 2
|
||||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
|
|
||||||
/obj/machinery/button/Initialize(mapload, ndir = 0, built = 0)
|
/obj/machinery/button/Initialize(mapload, ndir = 0, built = 0)
|
||||||
if(istext(id) && mapload && id[1] == "!")
|
if(istext(id) && mapload && id[1] == "!")
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
idle_power_usage = 2
|
idle_power_usage = 2
|
||||||
active_power_usage = 4
|
active_power_usage = 4
|
||||||
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/idSelf
|
var/idSelf
|
||||||
|
|
||||||
/obj/machinery/doorButtons/attackby(obj/O, mob/user)
|
/obj/machinery/doorButtons/attackby(obj/O, mob/user)
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
max_integrity = 250
|
max_integrity = 250
|
||||||
integrity_failure = 0.4
|
integrity_failure = 0.4
|
||||||
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 100, FIRE = 90, ACID = 30)
|
armor = list(MELEE = 0, BULLET = 0, LASER = 0, ENERGY = 0, BOMB = 0, BIO = 100, RAD = 100, FIRE = 90, ACID = 30)
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
use_power = IDLE_POWER_USE
|
use_power = IDLE_POWER_USE
|
||||||
idle_power_usage = 2
|
idle_power_usage = 2
|
||||||
active_power_usage = 6
|
active_power_usage = 6
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
icon_state = "light1"
|
icon_state = "light1"
|
||||||
base_icon_state = "light"
|
base_icon_state = "light"
|
||||||
desc = "Make dark."
|
desc = "Make dark."
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/area/area = null
|
var/area/area = null
|
||||||
var/otherarea = null
|
var/otherarea = null
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,6 @@
|
|||||||
if(H.internal == src)
|
if(H.internal == src)
|
||||||
to_chat(H, "<span class='notice'>You close [src] valve.</span>")
|
to_chat(H, "<span class='notice'>You close [src] valve.</span>")
|
||||||
H.internal = null
|
H.internal = null
|
||||||
H.update_internals_hud_icon(0)
|
|
||||||
else
|
else
|
||||||
if(!H.getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
if(!H.getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
||||||
if(HAS_TRAIT(H, TRAIT_NO_INTERNALS))
|
if(HAS_TRAIT(H, TRAIT_NO_INTERNALS))
|
||||||
@@ -60,7 +59,6 @@
|
|||||||
else
|
else
|
||||||
to_chat(H, "<span class='notice'>You open [src] valve.</span>")
|
to_chat(H, "<span class='notice'>You open [src] valve.</span>")
|
||||||
H.internal = src
|
H.internal = src
|
||||||
H.update_internals_hud_icon(1)
|
|
||||||
H.update_action_buttons_icon()
|
H.update_action_buttons_icon()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -878,7 +878,6 @@
|
|||||||
|
|
||||||
/datum/outfit/ghostcafe/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source)
|
/datum/outfit/ghostcafe/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE, client/preference_source)
|
||||||
H.internal = H.get_item_for_held_index(1)
|
H.internal = H.get_item_for_held_index(1)
|
||||||
H.update_internals_hud_icon(1)
|
|
||||||
|
|
||||||
/obj/item/storage/box/syndie_kit/chameleon/ghostcafe
|
/obj/item/storage/box/syndie_kit/chameleon/ghostcafe
|
||||||
name = "ghost cafe costuming kit"
|
name = "ghost cafe costuming kit"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
/atom/movable/screen/buildmode
|
/atom/movable/screen/buildmode
|
||||||
icon = 'icons/misc/buildmode.dmi'
|
icon = 'icons/misc/buildmode.dmi'
|
||||||
|
mouse_over_pointer = MOUSE_HAND_POINTER
|
||||||
var/datum/buildmode/bd
|
var/datum/buildmode/bd
|
||||||
// If we don't do this, we get occluded by item action buttons
|
// If we don't do this, we get occluded by item action buttons
|
||||||
layer = ABOVE_HUD_LAYER
|
layer = ABOVE_HUD_LAYER
|
||||||
|
|||||||
@@ -793,10 +793,6 @@
|
|||||||
else
|
else
|
||||||
hud_used.healths.icon_state = "health7"
|
hud_used.healths.icon_state = "health7"
|
||||||
|
|
||||||
/mob/living/carbon/proc/update_internals_hud_icon(internal_state = 0)
|
|
||||||
if(hud_used && hud_used.internals)
|
|
||||||
hud_used.internals.icon_state = "internal[internal_state]"
|
|
||||||
|
|
||||||
/mob/living/carbon/update_stat()
|
/mob/living/carbon/update_stat()
|
||||||
if(status_flags & GODMODE)
|
if(status_flags & GODMODE)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -285,12 +285,9 @@ GLOBAL_LIST_INIT(strippable_human_items, create_strippable_list(list(
|
|||||||
if(carbon_source.internal)
|
if(carbon_source.internal)
|
||||||
carbon_source.internal = null
|
carbon_source.internal = null
|
||||||
|
|
||||||
// This isn't meant to be FALSE, it correlates to the icon's name.
|
|
||||||
carbon_source.update_internals_hud_icon(0)
|
|
||||||
else if (!QDELETED(item))
|
else if (!QDELETED(item))
|
||||||
if(internals || carbon_source.getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
if(internals || carbon_source.getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
||||||
carbon_source.internal = item
|
carbon_source.internal = item
|
||||||
carbon_source.update_internals_hud_icon(1)
|
|
||||||
|
|
||||||
carbon_source.visible_message(
|
carbon_source.visible_message(
|
||||||
span_danger("[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on [source]'s [item.name]."),
|
span_danger("[user] [isnull(carbon_source.internal) ? "closes": "opens"] the valve on [source]'s [item.name]."),
|
||||||
|
|||||||
@@ -253,7 +253,6 @@
|
|||||||
if((C.flags_inv & (HIDEHAIR|HIDEFACIALHAIR)) || (initial(C.flags_inv) & (HIDEHAIR|HIDEFACIALHAIR)))
|
if((C.flags_inv & (HIDEHAIR|HIDEFACIALHAIR)) || (initial(C.flags_inv) & (HIDEHAIR|HIDEFACIALHAIR)))
|
||||||
update_hair()
|
update_hair()
|
||||||
if(toggle_off && internal && !getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
if(toggle_off && internal && !getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
||||||
update_internals_hud_icon(0)
|
|
||||||
internal = null
|
internal = null
|
||||||
if(C.flags_inv & HIDEEYES)
|
if(C.flags_inv & HIDEEYES)
|
||||||
update_inv_glasses()
|
update_inv_glasses()
|
||||||
|
|||||||
@@ -69,7 +69,6 @@
|
|||||||
|
|
||||||
H.equipOutfit(O, visualsOnly)
|
H.equipOutfit(O, visualsOnly)
|
||||||
H.internal = H.get_item_for_held_index(2)
|
H.internal = H.get_item_for_held_index(2)
|
||||||
H.update_internals_hud_icon(1)
|
|
||||||
return FALSE
|
return FALSE
|
||||||
|
|
||||||
/datum/species/plasmaman/random_name(gender,unique,lastname)
|
/datum/species/plasmaman/random_name(gender,unique,lastname)
|
||||||
|
|||||||
@@ -329,12 +329,9 @@
|
|||||||
if(internal)
|
if(internal)
|
||||||
if(internal.loc != src)
|
if(internal.loc != src)
|
||||||
internal = null
|
internal = null
|
||||||
update_internals_hud_icon(0)
|
|
||||||
else if (!internals && !getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
else if (!internals && !getorganslot(ORGAN_SLOT_BREATHING_TUBE))
|
||||||
internal = null
|
internal = null
|
||||||
update_internals_hud_icon(0)
|
|
||||||
else
|
else
|
||||||
update_internals_hud_icon(1)
|
|
||||||
. = internal.remove_air_volume(volume_needed)
|
. = internal.remove_air_volume(volume_needed)
|
||||||
if(!.)
|
if(!.)
|
||||||
return FALSE //to differentiate between no internals and active, but empty internals
|
return FALSE //to differentiate between no internals and active, but empty internals
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.2 KiB |
Reference in New Issue
Block a user