Merge remote-tracking branch 'tgstation/master' into upstream-6-2-2026

This commit is contained in:
shayoki
2026-06-03 01:23:54 -05:00
1259 changed files with 50763 additions and 28726 deletions
@@ -16,6 +16,8 @@
var/datum/lazy_template/virtual_domain/generated_domain
/// If the current domain was a random selection
var/domain_randomized = FALSE
/// Whether the domain is finished, so the bitrunners can leave despite glitches
var/domain_complete = FALSE
/// Prevents multiple user actions. Handled by loading domains and cooldowns
var/is_ready = TRUE
/// Chance multipled by threat to spawn a glitch
+2
View File
@@ -80,6 +80,8 @@
generated_domain.disk_reward_spawned = TRUE
chosen_forge.start_to_spawn(reward_cache)
domain_complete = TRUE
return TRUE
@@ -53,12 +53,12 @@
scrub_vdom()
is_ready = TRUE
return FALSE
//We will want to record how the domain was selected. Either entirely randomly, with the name redacted, or with full information.
//Without this, it is difficult to determine what domains are selected more often intentionallly, vs unintentionally.
var/selection_type
if(was_random_selection)
selection_type = "random selection"
else
@@ -168,8 +168,7 @@
continue
if(istype(thing, /obj/effect/landmark/bitrunning/loot_signal))
var/turf/signaler_turf = get_turf(thing)
signaler_turf.AddComponent(/datum/component/bitrunning_points, generated_domain)
generated_domain.main_crate_loc = thing.loc
qdel(thing)
continue
@@ -200,6 +199,7 @@
/// Stops the current virtual domain and disconnects all users
/obj/machinery/quantum_server/proc/reset(fast = FALSE)
is_ready = FALSE
domain_complete = FALSE
sever_connections()
+16
View File
@@ -142,6 +142,22 @@
aas.broadcast("QUANTUM SERVER ALERT: Fabrication protocols have crashed unexpectedly. Please evacuate the area.", list(RADIO_CHANNEL_SUPPLY))
timeout = 10 SECONDS
var/bitrunners_alive = 0
var/island_brawl_exception = istype(generated_domain, /datum/lazy_template/virtual_domain/island_brawl)
for(var/datum/weakref/bitrunner_ref in avatar_connection_refs)
var/mob/living/bitrunner = astype(bitrunner_ref.resolve(), /datum/component/avatar_connection)?.parent
if(!bitrunner)
continue
if((bitrunner.stat > CONSCIOUS) || !bitrunner.client)
continue
if(island_brawl_exception)
timeout *= max(5 - generated_domain.main_crate_points, 1)
continue
bitrunners_alive++
timeout *= 5
if(bitrunners_alive)
to_chat(antag, span_warning("[bitrunners_alive] criminals still remain here, pilfering your domain. It will be more difficult to leave until they are handled."))
if(!do_after(antag, timeout) || QDELETED(chosen_forge) || QDELETED(antag) || QDELETED(src) || !is_ready || !is_operational)
chosen_forge.setup_particles()
return