Merge remote-tracking branch 'tgstation/master' into upstream-12-15

# Conflicts:
#	.github/workflows/compile_all_maps.yml
#	.github/workflows/run_integration_tests.yml
#	_maps/map_files/CatwalkStation/CatwalkStation_2023.dmm
#	code/_onclick/hud/credits.dm
#	code/controllers/subsystem/networks/id_access.dm
#	code/datums/diseases/advance/advance.dm
#	code/datums/diseases/advance/symptoms/heal.dm
#	code/game/machinery/doors/door.dm
#	code/game/objects/structures/crates_lockers/closets/secure/medical.dm
#	code/game/objects/structures/crates_lockers/closets/secure/security.dm
#	code/modules/antagonists/malf_ai/malf_ai_modules.dm
#	code/modules/jobs/job_types/_job.dm
#	code/modules/loadout/categories/accessories.dm
#	code/modules/loadout/loadout_helpers.dm
#	code/modules/loadout/loadout_items.dm
#	code/modules/loadout/loadout_preference.dm
#	code/modules/mob/living/silicon/robot/robot_defense.dm
#	code/modules/mod/mod_theme.dm
#	code/modules/projectiles/ammunition/energy/laser.dm
#	code/modules/reagents/reagent_containers/cups/drinks.dm
#	code/modules/shuttle/mobile_port/variants/supply.dm
#	code/modules/surgery/organs/internal/eyes/_eyes.dm
#	code/modules/unit_tests/screenshots/screenshot_antag_icons_heretic.png
#	icons/hud/screen_full.dmi
This commit is contained in:
nevimer
2025-12-15 18:12:29 -05:00
1053 changed files with 115751 additions and 34654 deletions
@@ -67,7 +67,7 @@
var/obj/item/card/id/id_card = computer.stored_id?.GetID()
if(id_card?.registered_account)
buyer = SSeconomy.get_dep_account(id_card?.registered_account.account_job.paycheck_department)
if((ACCESS_COMMAND in id_card.access))
if((ACCESS_BUDGET in id_card.access))
requestonly = FALSE
can_approve_requests = TRUE
// If buyer is a departmental budget, replaces "Cargo" with that budget - we're not using the cargo budget here
@@ -89,14 +89,16 @@
data["supplies"] = list()
for(var/pack in SSshuttle.supply_packs)
var/datum/supply_pack/P = SSshuttle.supply_packs[pack]
if(!is_visible_pack(user, P.access_view , null, P.contraband) || P.hidden)
if(P.order_flags & ORDER_INVISIBLE)
continue
if(!is_visible_pack(user, P.access_view , null, (P.order_flags & ORDER_CONTRABAND)) || (P.order_flags & ORDER_EMAG_ONLY))
continue
if(!data["supplies"][P.group])
data["supplies"][P.group] = list(
"name" = P.group,
"packs" = list()
)
if((P.hidden && (P.contraband && !contraband) || (P.special && !P.special_enabled) || P.drop_pod_only))
if(((P.order_flags & ORDER_EMAG_ONLY) && ((P.order_flags & ORDER_CONTRABAND) && !contraband) || ((P.order_flags & ORDER_SPECIAL) && !(P.order_flags & ORDER_SPECIAL_ENABLED)) || (P.order_flags & ORDER_POD_ONLY)))
continue
var/obj/item/first_item = length(P.contains) > 0 ? P.contains[1] : null
@@ -107,7 +109,7 @@
"desc" = P.desc || P.name, // If there is a description, use it. Otherwise use the pack's name.
"first_item_icon" = first_item?.icon,
"first_item_icon_state" = first_item?.icon_state,
"goody" = P.goody,
"goody" = P.order_flags & ORDER_GOODY,
"access" = P.access,
"contains" = P.get_contents_ui_data(),
))
@@ -216,7 +218,7 @@
var/datum/supply_pack/pack = SSshuttle.supply_packs[id]
if(!istype(pack))
return
if(pack.hidden || pack.contraband || pack.drop_pod_only || (pack.special && !pack.special_enabled))
if((pack.order_flags & (ORDER_EMAG_ONLY | ORDER_POD_ONLY | ORDER_CONTRABAND)) || ((pack.order_flags & ORDER_SPECIAL) && !(pack.order_flags & ORDER_SPECIAL_ENABLED)))
return
var/name = "*None Provided*"
@@ -267,7 +269,7 @@
if(dept_choice == "Cargo Budget")
personal_department = null
if(pack.goody && !self_paid)
if((pack.order_flags & ORDER_GOODY) && !self_paid)
playsound(computer, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE)
computer.say("ERROR: Small crates may only be purchased by private accounts.")
return