mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-26 22:42:26 +01:00
Balloon alert improvements (#20798)
Updated balloon alerts with the latest changes from tgstation. Improvements include a new plane for them, and their duration changes depending on their length. Unfortunately, since they were added, they have been abused for really long text that is difficult to parse in-game (by myself included). Balloon alerts are useful, but they are not smoking guns and have limitations due to their lack of persistence. I have clamped down on their abuse in favor of the standard established by tgstation, [seen here](https://hackmd.io/0Cvr4hpcTe-KI6SbgfUWtw#balloon_alertballoon_alert_to_viewers). We lack updated runechat so I will not propose this be a fully implemented standard at this time, but I have cut down all existing balloon alerts to size.
This commit is contained in:
@@ -55,19 +55,23 @@
|
||||
if(href_list["video"])
|
||||
camera.set_status(!camera.status)
|
||||
if(camera.status)
|
||||
balloon_alert(usr, SPAN_NOTICE("Video streaming: Activated. Broadcasting on channel: [channel]"))
|
||||
balloon_alert(usr, "streaming video")
|
||||
to_chat(usr, SPAN_NOTICE("Video streaming: Activated. Broadcasting on channel: [channel]"))
|
||||
playsound(src.loc, 'sound/machines/ping.ogg', 50, 1)
|
||||
else
|
||||
balloon_alert(usr, SPAN_NOTICE("Video streaming: Deactivated."))
|
||||
balloon_alert(usr, "stopped streaming video")
|
||||
to_chat(usr, SPAN_NOTICE("Video streaming: Deactivated."))
|
||||
playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
|
||||
update_icon()
|
||||
if(href_list["sound"])
|
||||
radio.set_broadcasting(!radio.get_broadcasting())
|
||||
if(radio.get_broadcasting())
|
||||
balloon_alert(usr, SPAN_NOTICE("Audio streaming: Activated. Broadcasting on frequency: [format_frequency(radio.get_frequency())]."))
|
||||
balloon_alert(usr, "streaming audio")
|
||||
to_chat(usr, SPAN_NOTICE("Audio streaming: Activated. Broadcasting on frequency: [format_frequency(radio.get_frequency())]."))
|
||||
playsound(src.loc, 'sound/machines/ping.ogg', 50, 1)
|
||||
else
|
||||
balloon_alert(usr, SPAN_NOTICE("Audio streaming: Deactivated."))
|
||||
balloon_alert(usr, "stopped streaming audio")
|
||||
to_chat(usr, SPAN_NOTICE("Audio streaming: Deactivated."))
|
||||
playsound(src.loc, 'sound/machines/buzz-sigh.ogg', 50, 1)
|
||||
if(!href_list["close"])
|
||||
attack_self(usr)
|
||||
|
||||
@@ -77,27 +77,29 @@
|
||||
else if(istype(attacking_item, /obj/item/card/id))
|
||||
var/obj/item/card/id/identification_card = attacking_item
|
||||
if(!forced_open && has_access(req_one_access = src.req_one_access, accesses = identification_card.access))
|
||||
balloon_alert_to_viewers("[user] [locked ? "unlocks" : "locks"] \the [src]!")
|
||||
balloon_alert_to_viewers("[locked ? "unlocked" : "locked"]")
|
||||
playsound(src, 'sound/items/metal_shutter.ogg', 50, TRUE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE)
|
||||
toggle_lock(user)
|
||||
|
||||
else
|
||||
balloon_alert(user, "it won't budge!")
|
||||
to_chat(user, SPAN_WARNING("You lack the required access to operate this rack's lock, or the lock mechanism is broken."))
|
||||
|
||||
else if(locked && attacking_item.iswelder())
|
||||
var/obj/item/weldingtool/WT = attacking_item
|
||||
|
||||
balloon_alert_to_viewers("[user] starts to cut through the lock on \the [src]!")
|
||||
balloon_alert_to_viewers("cutting through the lock...")
|
||||
|
||||
if(WT.use_tool(src, user, 20 SECONDS, extra_checks = CALLBACK(src, PROC_REF(can_be_opened))))
|
||||
//Last check because use_tool() is shitcoded
|
||||
if(forced_open || !can_be_opened())
|
||||
return
|
||||
toggle_lock(user)
|
||||
balloon_alert_to_viewers("lock cut")
|
||||
forced_open = TRUE
|
||||
|
||||
else
|
||||
balloon_alert_to_viewers("[src] was unlocked while you was working on it!")
|
||||
to_chat(user, SPAN_NOTICE("\The [src] was unlocked while you were working on it!"))
|
||||
|
||||
|
||||
/obj/structure/weapons_rack/attack_hand(mob/living/user)
|
||||
|
||||
Reference in New Issue
Block a user