Merge branch 'master' of https://github.com/tgstation/tgstation into upstream-2025-11-05

This commit is contained in:
Roxy
2025-11-05 19:43:07 -05:00
461 changed files with 41708 additions and 37517 deletions
@@ -28,6 +28,8 @@
var/list/datum/weakref/spawned_threat_refs = list()
/// Scales loot with extra players
var/multiplayer_bonus = 1.1
/// Extra bonus for every player that nohits the run
var/nohit_bonus = 0.8
/// The amount of points in the system, used to purchase maps
var/points = 0
/// Keeps track of the number of times someone has built a hololadder
+34 -4
View File
@@ -16,11 +16,36 @@
rewards_base += (length(spawned_threat_refs) * 2)
for(var/index in 2 to length(avatar_connection_refs))
rewards_base += multiplayer_bonus
rewards_base += get_multiplayer_bonus()
rewards_base += get_nohit_bouns()
return rewards_base
/// Calculates total bonus from completing the domain in multiplayer
/obj/machinery/quantum_server/proc/get_multiplayer_bonus()
var/total = 0
var/multiplayer = FALSE
for(var/datum/weakref/connection_ref as anything in avatar_connection_refs)
var/datum/component/avatar_connection/connection = connection_ref.resolve()
if(isnull(connection))
continue
if(multiplayer)
total += multiplayer_bonus
multiplayer = TRUE
return total
/// Calculates total bonus from completing the domain without taking damage
/obj/machinery/quantum_server/proc/get_nohit_bouns()
if(generated_domain.domain_flags & DOMAIN_NO_NOHIT_BONUS)
return 0
var/total = 0
for(var/datum/weakref/connection_ref as anything in avatar_connection_refs)
var/datum/component/avatar_connection/connection = connection_ref.resolve()
if(connection?.nohit)
total += nohit_bonus
return total
/// Handles spawning the (new) crate and deleting the former
/obj/machinery/quantum_server/proc/generate_loot(obj/cache, obj/machinery/byteforge/chosen_forge)
@@ -101,8 +126,13 @@
if(domain_randomized)
text += "- **Randomized:** + 0.2\n"
if(length(avatar_connection_refs) > 1)
text += "- **Multiplayer:** + [(length(avatar_connection_refs) - 1) * multiplayer_bonus]\n"
var/mp_bonus = get_multiplayer_bonus()
if(mp_bonus)
text += "- **Multiplayer:** + [mp_bonus]\n"
var/nohit_bonus = get_nohit_bouns()
if(nohit_bonus)
text += "- **No hit:** + [nohit_bonus]\n"
if(domain_threats > 0)
text += "- **Threats:** + [domain_threats * 2]\n"
@@ -136,7 +136,7 @@
/// Scans over neo's contents for bitrunning tech disks. Loads the items or abilities onto the avatar.
/obj/machinery/quantum_server/proc/stock_gear(mob/living/carbon/human/avatar, mob/living/carbon/human/neo, datum/lazy_template/virtual_domain/generated_domain)
var/domain_forbids_flags = generated_domain.external_load_flags
var/domain_forbids_flags = generated_domain.domain_flags
var/import_ban = list()
var/disk_ban = list()
+1 -1
View File
@@ -103,7 +103,7 @@
for(var/datum/lazy_template/virtual_domain/available as anything in subtypesof(/datum/lazy_template/virtual_domain))
var/init_cost = initial(available.cost)
if(!initial(available.test_only) && \
if(!(initial(available.domain_flags) & DOMAIN_TEST_ONLY) && \
init_cost <= points && \
init_cost > BITRUNNER_COST_NONE && \
init_cost < BITRUNNER_COST_EXTREME \