mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-22 20:48:56 +01:00
Bitrunners can broadcast their bitruns to the crew via Entertainment Monitors (#82218)
## About The Pull Request  Bitrunners are now equipped with body cameras. The Quantum Console now holds a switch which you can toggle on to broadcast your body camera footage to the station's Entertainment Monitors. I also cleaned up some balloon alerts ## Why It's Good For The Game I did a gimmick with a bunch of bitrunners and thought it was lame I couldn't watch them as they did the bitrunning part. So here we are. I think it is pretty neat and fun, and also kinda thematic, since it is VR after all. ## Changelog 🆑 Melbert add: Bitrunners can now broadcast their Bitruns to the station's Entertainment Monitors. /🆑
This commit is contained in:
@@ -44,6 +44,10 @@
|
||||
var/threat = 0
|
||||
/// The turfs we can place a hololadder on.
|
||||
var/turf/exit_turfs = list()
|
||||
/// Determines if we broadcast to entertainment monitors or not
|
||||
var/broadcasting = FALSE
|
||||
/// Cooldown between being able to toggle broadcasting
|
||||
COOLDOWN_DECLARE(broadcast_toggle_cd)
|
||||
|
||||
/obj/machinery/quantum_server/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
return FALSE
|
||||
|
||||
if(isnull(map_key))
|
||||
balloon_alert_to_viewers("no domain specified.")
|
||||
balloon_alert_to_viewers("no domain specified!")
|
||||
return FALSE
|
||||
|
||||
if(generated_domain)
|
||||
balloon_alert_to_viewers("stop the current domain first.")
|
||||
balloon_alert_to_viewers("stop the current domain first!")
|
||||
return FALSE
|
||||
|
||||
if(length(avatar_connection_refs))
|
||||
@@ -46,7 +46,7 @@
|
||||
|
||||
/// If any one of these fail, it reverts the entire process
|
||||
if(!load_domain(map_key) || !load_map_items() || !load_mob_segments())
|
||||
balloon_alert_to_viewers("initialization failed.")
|
||||
balloon_alert_to_viewers("initialization failed!")
|
||||
scrub_vdom()
|
||||
is_ready = TRUE
|
||||
return FALSE
|
||||
@@ -63,6 +63,9 @@
|
||||
update_use_power(ACTIVE_POWER_USE)
|
||||
update_appearance()
|
||||
|
||||
if(broadcasting)
|
||||
start_broadcasting_network(BITRUNNER_CAMERA_NET)
|
||||
|
||||
return TRUE
|
||||
|
||||
/// Initializes a new domain if the given key is valid and the user has enough points
|
||||
@@ -147,6 +150,8 @@
|
||||
domain_randomized = FALSE
|
||||
retries_spent = 0
|
||||
|
||||
stop_broadcasting_network(BITRUNNER_CAMERA_NET)
|
||||
|
||||
/// Tries to clean up everything in the domain
|
||||
/obj/machinery/quantum_server/proc/scrub_vdom()
|
||||
sever_connections() /// just in case someone's connected
|
||||
|
||||
@@ -83,6 +83,13 @@
|
||||
|
||||
SSid_access.apply_trim_to_card(outfit_id, /datum/id_trim/bit_avatar)
|
||||
|
||||
avatar.AddComponent( \
|
||||
/datum/component/simple_bodycam, \
|
||||
camera_name = "bitrunner bodycam", \
|
||||
c_tag = "Avatar [avatar.real_name]", \
|
||||
network = BITRUNNER_CAMERA_NET, \
|
||||
emp_proof = TRUE, \
|
||||
)
|
||||
return avatar
|
||||
|
||||
/// Generates a new hololadder for the bitrunner. Effectively a respawn attempt.
|
||||
|
||||
@@ -98,3 +98,17 @@
|
||||
return chosen_turf
|
||||
|
||||
#undef MAX_DISTANCE
|
||||
|
||||
/// Toggles broadcast on and off
|
||||
/obj/machinery/quantum_server/proc/toggle_broadcast()
|
||||
if(!COOLDOWN_FINISHED(src, broadcast_toggle_cd))
|
||||
return FALSE
|
||||
|
||||
broadcasting = !broadcasting
|
||||
|
||||
if(generated_domain)
|
||||
// The cooldown only really matter is we're flipping TVs
|
||||
COOLDOWN_START(src, broadcast_toggle_cd, 5 SECONDS)
|
||||
// And we only flip TVs when there's a domain, because otherwise there's no cams to watch
|
||||
set_network_broadcast_status(BITRUNNER_CAMERA_NET, broadcasting)
|
||||
return TRUE
|
||||
|
||||
Reference in New Issue
Block a user