From 98295dcb718709b70c56bf3975e185b377be9279 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Thu, 15 Oct 2026 23:03:57 -0400 Subject: [PATCH 1/2] Departmental order location overrides, goodie alert check --- code/controllers/subsystem/shuttle.dm | 5 + code/modules/cargo/goodies.dm | 14 +- code/modules/cargo/orderconsole.dm | 7 + code/modules/cargo/packs/_packs.dm | 2 + code/modules/cargo/packs/science.dm | 179 ++++++++---------- code/modules/cargo/packs/security.dm | 41 +++- .../events/shuttle_loan/shuttle_loan_datum.dm | 4 +- .../file_system/programs/budgetordering.dm | 7 + .../file_system/programs/dept_order.dm | 16 +- icons/map_icons/items/pda.dmi | Bin 11621 -> 10988 bytes 10 files changed, 163 insertions(+), 112 deletions(-) diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm index 5cce2d161146..d8522d6139f0 100644 --- a/code/controllers/subsystem/shuttle.dm +++ b/code/controllers/subsystem/shuttle.dm @@ -177,6 +177,11 @@ SUBSYSTEM_DEF(shuttle) else if(pack.access_view) pack.desc += " Requires [SSid_access.get_access_desc(pack.access_view)] access to purchase." + if(pack.goody) + var/datum/supply_pack/goody/goody_to_check = pack + if(goody_to_check.restricted_green) + pack.desc += " Requires an alert level above [/datum/security_level/green::name] alert to purchase." + supply_packs[pack.id] = pack for (var/obj/machinery/computer/cargo/express/console as anything in express_consoles) diff --git a/code/modules/cargo/goodies.dm b/code/modules/cargo/goodies.dm index 055e13493ddf..74e92624190b 100644 --- a/code/modules/cargo/goodies.dm +++ b/code/modules/cargo/goodies.dm @@ -4,6 +4,8 @@ group = "Goodies" goody = TRUE discountable = SUPPLY_PACK_STD_DISCOUNTABLE + /// If true, can't be ordered on green alert, used for things like armory weapons + var/restricted_green = FALSE /datum/supply_pack/goody/clear_pda name = "Mint Condition Nanotrasen Clear PDA" @@ -45,6 +47,7 @@ cost = PAYCHECK_COMMAND * 2.5 access_view = ACCESS_WEAPONS contains = list(/obj/item/grenade/stingbang) + restricted_green = TRUE /datum/supply_pack/goody/Survivalknives_single name = "Survival Knife Single-Pack" @@ -61,6 +64,7 @@ /obj/item/gun/ballistic/shotgun/automatic/combat, /obj/item/storage/belt/bandolier ) + restricted_green = TRUE /datum/supply_pack/goody/disabler_single name = "Disabler Single-Pack" @@ -75,6 +79,7 @@ cost = PAYCHECK_COMMAND * 12 access_view = ACCESS_WEAPONS contains = list(/obj/item/gun/energy/e_gun) + restricted_green = TRUE /datum/supply_pack/goody/laser_single name = "Type 5 Laser Gun Single-Pack" @@ -82,6 +87,7 @@ cost = PAYCHECK_COMMAND * 6 access_view = ACCESS_WEAPONS contains = list(/obj/item/gun/energy/laser) + restricted_green = TRUE /datum/supply_pack/goody/carbine_single name = "Type 5R Laser Carbine Single_Pack" @@ -89,6 +95,7 @@ cost = PAYCHECK_COMMAND * 8 access_view = ACCESS_WEAPONS contains = list(/obj/item/gun/energy/laser/carbine) + restricted_green = TRUE /datum/supply_pack/goody/laser_pistol_single name = "Type 5C Laser Pistol Single-Pack" @@ -96,6 +103,7 @@ cost = PAYCHECK_COMMAND * 2 access_view = ACCESS_WEAPONS contains = list(/obj/item/storage/belt/holster/energy/laser_pistol) + restricted_green = TRUE /datum/supply_pack/goody/laser_single_soul name = "Type 3 Laser Gun Single-Pack" @@ -103,13 +111,15 @@ cost = PAYCHECK_COMMAND * 6 access_view = ACCESS_WEAPONS contains = list(/obj/item/gun/energy/laser/soul) + restricted_green = TRUE /datum/supply_pack/goody/smg_single - name = "Disabler SMG Single_Pack" + name = "Disabler SMG Single-Pack" desc = "Contains one disabler SMGs, capable of rapidly firing weak disabler beams." cost = PAYCHECK_COMMAND * 6 access_view = ACCESS_WEAPONS contains = list(/obj/item/gun/energy/disabler/smg) + restricted_green = TRUE /datum/supply_pack/goody/hell_single name = "Hellgun Kit Single-Pack" @@ -117,6 +127,7 @@ cost = PAYCHECK_CREW * 2 access_view = ACCESS_WEAPONS contains = list(/obj/item/weaponcrafting/gunkit/hellgun) + restricted_green = TRUE /datum/supply_pack/goody/thermal_single name = "Thermal Pistol Holster Single-Pack" @@ -124,6 +135,7 @@ cost = PAYCHECK_COMMAND * 15 access_view = ACCESS_WEAPONS contains = list(/obj/item/storage/belt/holster/energy/thermal) + restricted_green = TRUE /datum/supply_pack/goody/sologamermitts name = "Insulated Gloves Single-Pack" diff --git a/code/modules/cargo/orderconsole.dm b/code/modules/cargo/orderconsole.dm index bf137549f513..dd8abb83df61 100644 --- a/code/modules/cargo/orderconsole.dm +++ b/code/modules/cargo/orderconsole.dm @@ -271,6 +271,13 @@ say("ERROR: Small crates may only be purchased by private accounts.") return + if(pack.goody) + var/datum/supply_pack/goody/goody_to_check = pack + if(goody_to_check.restricted_green && SSsecurity_level.get_current_level_as_number() == SEC_LEVEL_GREEN) + playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + say("ERROR: This pack cannot be purchased unless the station is at [/datum/security_level/blue::name] alert or higher.") + return + var/similar_count = SSshuttle.supply.get_order_count(pack) if(similar_count == OVER_ORDER_LIMIT) playsound(src, 'sound/machines/buzz-sigh.ogg', 50, FALSE) diff --git a/code/modules/cargo/packs/_packs.dm b/code/modules/cargo/packs/_packs.dm index 6fb489e31293..b6a1f168cf39 100644 --- a/code/modules/cargo/packs/_packs.dm +++ b/code/modules/cargo/packs/_packs.dm @@ -43,6 +43,8 @@ var/discountable = SUPPLY_PACK_NOT_DISCOUNTABLE /// NON-MODULE CHANGE : Does this override departmental orders to be unavailable from them? var/no_departmental_orders = FALSE + /// NON-MODULE CHANGE : An override to where the departmental order area for this item goes, assign this as a list, priority from first to last element + var/departmental_order_area_override /datum/supply_pack/New() id = type diff --git a/code/modules/cargo/packs/science.dm b/code/modules/cargo/packs/science.dm index f0de463c4490..3aa271fbdc0d 100644 --- a/code/modules/cargo/packs/science.dm +++ b/code/modules/cargo/packs/science.dm @@ -3,177 +3,164 @@ access_view = ACCESS_RESEARCH crate_type = /obj/structure/closet/crate/science -/datum/supply_pack/science/plasma +/datum/supply_pack/science/rped + name = "RPED crate" + desc = "Need to rebuild the ORM but science got annihialted after a bomb test? \ + Buy this for the most advanced parts NT can give you." + cost = CARGO_CRATE_VALUE * 3 + contains = list(/obj/item/storage/part_replacer/cargo) + crate_name = "\improper RPED crate" + +/datum/supply_pack/science/shieldwalls + name = "Shield Generator Crate" + desc = "These high powered Shield Wall Generators are guaranteed to keep any unwanted \ + lifeforms on the outside, where they belong! Contains four shield wall generators." + cost = CARGO_CRATE_VALUE * 4 + access = ACCESS_TELEPORTER + access_view = ACCESS_TELEPORTER + contains = list(/obj/machinery/power/shieldwallgen = 4) + crate_name = "shield generators crate" + crate_type = /obj/structure/closet/crate/secure/science + +/datum/supply_pack/science/monkey_helmets + name = "Monkey Mind Magnification Helmet crate" + desc = "Some research is best done with monkeys, yet sometimes they're \ + just too dumb to complete more complicated tasks. These two helmets should help." + cost = CARGO_CRATE_VALUE * 3 + contains = list(/obj/item/clothing/head/helmet/monkey_sentience = 2) + crate_name = "monkey mind magnification crate" + +/datum/supply_pack/science/cytology + name = "Cytology supplies crate" + desc = "Did out-of-control specimens pulverize xenobiology? Here's some more \ + supplies for further testing. Contains a microscope, biopsy tool, two petri dishes, \ + a box of swabs, and a plumbing tool." + cost = CARGO_CRATE_VALUE * 3 + access_view = ACCESS_XENOBIOLOGY + contains = list(/obj/structure/microscope, + /obj/item/biopsy_tool, + /obj/item/storage/box/petridish = 2, + /obj/item/storage/box/swab, + /obj/item/construction/plumbing/research, + ) + crate_name = "cytology supplies crate" + +// NON-MODULE CHANGE : everything for ordnance put under ordnance for an easier time giving them a departmental order area override. also these have a lot of shared variables so ??? +/datum/supply_pack/science/ordnance + access = ACCESS_ORDNANCE + access_view = ACCESS_ORDNANCE + crate_type = /obj/structure/closet/crate/secure/science + departmental_order_area_override = list( + /area/station/science/ordnance, + /area/station/science/ordnance/office, + /area/station/science/ordnance/testlab, + ) + +/datum/supply_pack/science/ordnance/plasma name = "Plasma Assembly Crate" desc = "Everything you need to burn something to the ground, this contains three \ plasma assembly sets. Each set contains a plasma tank, igniter, proximity sensor, \ and timer! Warranty void if exposed to high temperatures." cost = CARGO_CRATE_VALUE * 2 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/tank/internals/plasma = 3, /obj/item/assembly/igniter = 3, /obj/item/assembly/prox_sensor = 3, /obj/item/assembly/timer = 3, ) crate_name = "plasma assembly crate" - crate_type = /obj/structure/closet/crate/secure/plasma -/datum/supply_pack/science/raw_flux_anomaly +/datum/supply_pack/science/ordnance/raw_flux_anomaly name = "Raw Flux Anomaly" desc = "Contains the raw core of a flux anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/flux) crate_name = "raw flux anomaly" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_hallucination_anomaly +/datum/supply_pack/science/ordnance/raw_hallucination_anomaly name = "Raw Hallucination Anomaly" desc = "Contains the raw core of a hallucination anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/hallucination) crate_name = "raw hallucination anomaly" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_grav_anomaly +/datum/supply_pack/science/ordnance/raw_grav_anomaly name = "Raw Gravitational Anomaly" desc = "Contains the raw core of a gravitational anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/grav) crate_name = "raw gravitational anomaly" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_vortex_anomaly +/datum/supply_pack/science/ordnance/raw_vortex_anomaly name = "Raw Vortex Anomaly" desc = "Contains the raw core of a vortex anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/vortex) crate_name = "raw vortex anomaly" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_bluespace_anomaly +/datum/supply_pack/science/ordnance/raw_bluespace_anomaly name = "Raw Bluespace Anomaly" desc = "Contains the raw core of a bluespace anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/bluespace) crate_name = "raw bluespace anomaly" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_pyro_anomaly +/datum/supply_pack/science/ordnance/raw_pyro_anomaly name = "Raw Pyro Anomaly" desc = "Contains the raw core of a pyro anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/pyro) crate_name = "raw pyro anomaly" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_bioscrambler_anomaly +/datum/supply_pack/science/ordnance/raw_bioscrambler_anomaly name = "Raw Bioscrambler Anomaly" desc = "Contains the raw core of a bioscrambler anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/bioscrambler) crate_name = "raw bioscrambler anomaly" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/raw_dimensional_anomaly +/datum/supply_pack/science/ordnance/raw_dimensional_anomaly name = "Raw Dimensional Anomaly" desc = "Contains the raw core of a dimensional anomaly, ready to be implosion-compressed into a powerful artifact." cost = CARGO_CRATE_VALUE * 10 - access = ACCESS_ORDNANCE - access_view = ACCESS_ORDNANCE contains = list(/obj/item/raw_anomaly_core/dimensional) crate_name = "raw dimensional anomaly" - crate_type = /obj/structure/closet/crate/secure/science +/datum/supply_pack/science/ordnance/transfer_valves + name = "Tank Transfer Valves Crate" + desc = "The key ingredient for making a lot of people very angry very fast. \ + Contains two tank transfer valves." + cost = CARGO_CRATE_VALUE * 12 + access = ACCESS_RD + contains = list(/obj/item/transfer_valve = 2) + crate_name = "tank transfer valves crate" + dangerous = TRUE +// NON-MODULE CHANGE : same change as for ordnance but this time for robotics and there was an original crate using this typepath so that's repathed /datum/supply_pack/science/robotics + access = ACCESS_ROBOTICS + access_view = ACCESS_ROBOTICS + crate_type = /obj/structure/closet/crate/secure/science/robo + departmental_order_area_override = list( + /area/station/science/robotics, + /area/station/science/robotics/lab, + /area/station/science/robotics/mechbay, + ) + +/datum/supply_pack/science/robotics/assembly name = "Robotics Assembly Crate" desc = "The tools you need to replace those finicky humans with a loyal robot army! \ Contains four proximity sensors, two empty first aid kits, two health analyzers, \ two red hardhats, two mechanical toolboxes, and two cleanbot assemblies!" cost = CARGO_CRATE_VALUE * 3 - access = ACCESS_ROBOTICS - access_view = ACCESS_ROBOTICS contains = list(/obj/item/assembly/prox_sensor = 5, /obj/item/healthanalyzer = 2, /obj/item/clothing/head/utility/hardhat/red = 2, /obj/item/storage/medkit = 2) crate_name = "robotics assembly crate" - crate_type = /obj/structure/closet/crate/secure/science/robo - -/datum/supply_pack/science/rped - name = "RPED crate" - desc = "Need to rebuild the ORM but science got annihialted after a bomb test? \ - Buy this for the most advanced parts NT can give you." - cost = CARGO_CRATE_VALUE * 3 - contains = list(/obj/item/storage/part_replacer/cargo) - crate_name = "\improper RPED crate" - -/datum/supply_pack/science/shieldwalls - name = "Shield Generator Crate" - desc = "These high powered Shield Wall Generators are guaranteed to keep any unwanted \ - lifeforms on the outside, where they belong! Contains four shield wall generators." - cost = CARGO_CRATE_VALUE * 4 - access = ACCESS_TELEPORTER - access_view = ACCESS_TELEPORTER - contains = list(/obj/machinery/power/shieldwallgen = 4) - crate_name = "shield generators crate" - crate_type = /obj/structure/closet/crate/secure/science -/datum/supply_pack/science/transfer_valves - name = "Tank Transfer Valves Crate" - desc = "The key ingredient for making a lot of people very angry very fast. \ - Contains two tank transfer valves." - cost = CARGO_CRATE_VALUE * 12 - access = ACCESS_RD - contains = list(/obj/item/transfer_valve = 2) - crate_name = "tank transfer valves crate" - crate_type = /obj/structure/closet/crate/secure/science - dangerous = TRUE - -/datum/supply_pack/science/monkey_helmets - name = "Monkey Mind Magnification Helmet crate" - desc = "Some research is best done with monkeys, yet sometimes they're \ - just too dumb to complete more complicated tasks. These two helmets should help." - cost = CARGO_CRATE_VALUE * 3 - contains = list(/obj/item/clothing/head/helmet/monkey_sentience = 2) - crate_name = "monkey mind magnification crate" - -/datum/supply_pack/science/cytology - name = "Cytology supplies crate" - desc = "Did out-of-control specimens pulverize xenobiology? Here's some more \ - supplies for further testing. Contains a microscope, biopsy tool, two petri dishes, \ - a box of swabs, and a plumbing tool." - cost = CARGO_CRATE_VALUE * 3 - access_view = ACCESS_XENOBIOLOGY - contains = list(/obj/structure/microscope, - /obj/item/biopsy_tool, - /obj/item/storage/box/petridish = 2, - /obj/item/storage/box/swab, - /obj/item/construction/plumbing/research, - ) - crate_name = "cytology supplies crate" - -/datum/supply_pack/science/mod_core +/datum/supply_pack/science/robotics/mod_core name = "MOD core Crate" desc = "Three cores, perfect for any MODsuit construction! Naturally Harvested™, of course." cost = CARGO_CRATE_VALUE * 3 - access = ACCESS_ROBOTICS - access_view = ACCESS_ROBOTICS contains = list(/obj/item/mod/core/standard = 3) crate_name = "\improper MOD core crate" - crate_type = /obj/structure/closet/crate/secure/science/robo diff --git a/code/modules/cargo/packs/security.dm b/code/modules/cargo/packs/security.dm index 019f1011787b..7d53dca873cb 100644 --- a/code/modules/cargo/packs/security.dm +++ b/code/modules/cargo/packs/security.dm @@ -73,14 +73,6 @@ contains = list(/obj/item/clothing/head/helmet/sec = 3) crate_name = "helmet crate" -/datum/supply_pack/security/laser - name = "Lasers Crate" - desc = "Contains three lethal, high-energy laser guns." - cost = CARGO_CRATE_VALUE * 4 - access_view = ACCESS_ARMORY - contains = list(/obj/item/gun/energy/laser = 3) - crate_name = "laser crate" - /datum/supply_pack/security/securitybarriers name = "Security Barrier Grenades" desc = "Stem the tide with four Security Barrier grenades." @@ -108,6 +100,7 @@ ) crate_name = "security clothing crate" +/* NON-MODULE CHANGE : Moved to Armory /datum/supply_pack/security/stingpack name = "Stingbang Grenade Pack" desc = "Contains five \"stingbang\" grenades, perfect for stopping \ @@ -116,12 +109,14 @@ access_view = ACCESS_ARMORY contains = list(/obj/item/storage/box/stingbangs) crate_name = "stingbang grenade pack crate" +*/ /datum/supply_pack/security/supplies name = "Security Supplies Crate" desc = "Contains seven flashbangs, seven teargas grenades, six flashes, and seven handcuffs." cost = CARGO_CRATE_VALUE * 3.5 - access_view = ACCESS_ARMORY + //access_view = ACCESS_ARMORY // NON-MODULE CHANGE : This is just regular security equipment they get in vending machines + access_view = ACCESS_SECURITY contains = list(/obj/item/storage/box/flashbangs, /obj/item/storage/box/teargas, /obj/item/storage/box/flashes, @@ -129,6 +124,7 @@ ) crate_name = "security supply crate" +/* NON-MODULE CHANGE : Moved to Armory /datum/supply_pack/security/firingpins name = "Standard Firing Pins Crate" desc = "Upgrade your arsenal with 10 standard firing pins." @@ -144,6 +140,7 @@ access_view = ACCESS_ARMORY contains = list(/obj/item/storage/box/firingpins/paywall = 2) crate_name = "paywall firing pins crate" +*/ /datum/supply_pack/security/justiceinbound name = "Standard Justice Enforcer Crate" @@ -195,6 +192,10 @@ access = ACCESS_ARMORY access_view = ACCESS_ARMORY crate_type = /obj/structure/closet/crate/secure/weapon + departmental_order_area_override = list( + /area/station/ai_monitored/security/armory, + /area/station/ai_monitored/security/armory/upper + ) /datum/supply_pack/security/armory/bulletarmor name = "Bulletproof Armor Crate" @@ -382,3 +383,25 @@ cost = CARGO_CRATE_VALUE * 7 contains = list(/obj/item/storage/box/teleport_blocker) crate_name = "bluespace grounding implant crate" + +/datum/supply_pack/security/armory/stingpack + name = "Stingbang Grenade Pack" + desc = "Contains five \"stingbang\" grenades, perfect for stopping \ + riots and playing morally unthinkable pranks." + cost = CARGO_CRATE_VALUE * 5 + contains = list(/obj/item/storage/box/stingbangs) + crate_name = "stingbang grenade pack crate" + +/datum/supply_pack/security/armory/firingpins + name = "Standard Firing Pins Crate" + desc = "Upgrade your arsenal with 10 standard firing pins." + cost = CARGO_CRATE_VALUE * 4 + contains = list(/obj/item/storage/box/firingpins = 2) + crate_name = "firing pins crate" + +/datum/supply_pack/security/armory/firingpins/paywall + name = "Paywall Firing Pins Crate" + desc = "Specialized firing pins with a built-in configurable paywall." + cost = CARGO_CRATE_VALUE * 2 + contains = list(/obj/item/storage/box/firingpins/paywall = 2) + crate_name = "paywall firing pins crate" diff --git a/code/modules/events/shuttle_loan/shuttle_loan_datum.dm b/code/modules/events/shuttle_loan/shuttle_loan_datum.dm index 706274dfd85b..94567b292949 100644 --- a/code/modules/events/shuttle_loan/shuttle_loan_datum.dm +++ b/code/modules/events/shuttle_loan/shuttle_loan_datum.dm @@ -66,8 +66,8 @@ /datum/supply_pack/emergency/weedcontrol, /datum/supply_pack/engineering/tools, /datum/supply_pack/engineering/engiequipment, - /datum/supply_pack/science/robotics, - /datum/supply_pack/science/plasma, + /datum/supply_pack/science/robotics/assembly, + /datum/supply_pack/science/ordnance/plasma, /datum/supply_pack/medical/supplies ) for(var/crate in crate_types) diff --git a/code/modules/modular_computers/file_system/programs/budgetordering.dm b/code/modules/modular_computers/file_system/programs/budgetordering.dm index ff42b5555294..51e9d0e49ab1 100644 --- a/code/modules/modular_computers/file_system/programs/budgetordering.dm +++ b/code/modules/modular_computers/file_system/programs/budgetordering.dm @@ -254,6 +254,13 @@ computer.say("ERROR: Small crates may only be purchased by private accounts.") return + if(pack.goody) + var/datum/supply_pack/goody/goody_to_check = pack + if(goody_to_check.restricted_green && SSsecurity_level.get_current_level_as_number() == SEC_LEVEL_GREEN) + playsound(computer, 'sound/machines/buzz-sigh.ogg', 50, FALSE) + computer.say("ERROR: This pack cannot be purchased unless the station is at [/datum/security_level/blue::name] alert or higher.") + return + if(SSshuttle.supply.get_order_count(pack) == OVER_ORDER_LIMIT) playsound(computer, 'sound/machines/buzz-sigh.ogg', 50, FALSE) computer.say("ERROR: No more then [CARGO_MAX_ORDER] of any pack may be ordered at once") diff --git a/code/modules/modular_computers/file_system/programs/dept_order.dm b/code/modules/modular_computers/file_system/programs/dept_order.dm index bf264e48b3ae..d1a023a07090 100644 --- a/code/modules/modular_computers/file_system/programs/dept_order.dm +++ b/code/modules/modular_computers/file_system/programs/dept_order.dm @@ -204,10 +204,18 @@ rank = "Silicon" var/already_signalled = !!department_order var/chosen_delivery_area - for(var/delivery_area_type in linked_department_real.department_delivery_areas) - if(GLOB.areas_by_type[delivery_area_type]) - chosen_delivery_area = delivery_area_type - break + + if(pack.departmental_order_area_override) + for(var/delivery_area_type in pack.departmental_order_area_override) + if(GLOB.areas_by_type[delivery_area_type]) + chosen_delivery_area = delivery_area_type + break + + else + for(var/delivery_area_type in linked_department_real.department_delivery_areas) + if(GLOB.areas_by_type[delivery_area_type]) + chosen_delivery_area = delivery_area_type + break if(SSshuttle.supply.get_order_count(pack) == OVER_ORDER_LIMIT) playsound(computer, 'sound/machines/buzz-sigh.ogg', 50, FALSE) diff --git a/icons/map_icons/items/pda.dmi b/icons/map_icons/items/pda.dmi index 0712af49864f20397079b5c060e65008f60a5394..925d3d233bc05467602f35930a061beaec93729f 100644 GIT binary patch literal 10988 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 z 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 From 7b3fdaa1acb9c1e09e02caeaf569997f11ed6db0 Mon Sep 17 00:00:00 2001 From: Critawakets Date: Fri, 16 Oct 2026 00:18:21 -0400 Subject: [PATCH 2/2] pda fix --- icons/map_icons/items/pda.dmi | Bin 10988 -> 11621 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/map_icons/items/pda.dmi b/icons/map_icons/items/pda.dmi index 925d3d233bc05467602f35930a061beaec93729f..0712af49864f20397079b5c060e65008f60a5394 100644 GIT binary patch literal 11621 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 literal 10988 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 z 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 auyAu0vL9*5a{&Kh1