From d67ca75e37c3c85c34dcc6b3e6b227aa023a8afb Mon Sep 17 00:00:00 2001
From: Arturlang <24881678+Arturlang@users.noreply.github.com>
Date: Wed, 13 May 2026 03:20:32 +0300
Subject: [PATCH] kills cargo imports (#5491)
## About The Pull Request
kills cargo imports with no mercy, moves it into goodies with
newly-added subcategories
also adds a persi only agent ID single pack per request
also also tarkon and persi can buy private packs via id money
## Why It's Good For The Game
ugly UI that doesn't work for other factions and needs hacks to work
with cargo ui is not great
## Proof Of Testing
Screenshots/Videos
## Changelog
:cl:
add: cargo imports moved into it's own category with a brand subcategory
system, and orderable without a private account (god why did i do this)
add: persistence only agent ID single pack
add: persistence and tarkon can now buy stuff via ids directly
add: captain access can always unlock departmental orders
fix: persistence and persistence cargo consoles sending cargo pods to
the station if cargo bay is selected
del: entire cargo company imports system
/:cl:
---
code/__DEFINES/cargo.dm | 4 +
code/__DEFINES/~~bubber_defines/machines.dm | 13 +-
code/controllers/subsystem/shuttle.dm | 4 -
code/game/objects/items/storage/lockbox.dm | 22 +-
.../crates_lockers/crates/secure.dm | 11 +-
code/modules/cargo/expressconsole.dm | 50 ++-
code/modules/cargo/orderconsole.dm | 21 +-
code/modules/cargo/packs/_packs.dm | 8 +
.../file_system/programs/budgetordering.dm | 14 +-
.../file_system/programs/dept_order.dm | 2 +-
.../shuttle/mobile_port/variants/supply.dm | 19 +-
.../code/modules/cargo/orderconsole.dm | 12 -
.../code/armament_component.dm | 302 ----------------
.../armament_datums/_armament_basetype.dm | 8 -
.../code/armament_datums/akh_frontier.dm | 96 -----
.../code/armament_datums/deforest_medical.dm | 327 ------------------
.../code/armament_datums/jarnsmiour.dm | 66 ----
.../armament_datums/kahraman_industries.dm | 134 -------
.../armament_datums/nri_military_surplus.dm | 165 ---------
.../code/armament_datums/put_a_donk_on_it.dm | 140 --------
.../code/armament_datums/sol_defense.dm | 150 --------
.../code/armament_datums/vitezstvi_ammo.dm | 98 ------
.../company_imports/code/company_datums.dm | 98 ------
.../code/datums/cargo_order.dm | 27 --
.../code/objects/cargo_console_and_case.dm | 3 -
.../code/modules/cargo/expressconsole.dm | 61 +---
.../packs/goodies/company_imports/_base.dm | 36 ++
.../goodies/company_imports/akh_frontier.dm | 77 +++++
.../goodies/company_imports/blacksteel.dm | 50 +++
.../packs/goodies/company_imports/deforest.dm | 312 +++++++++++++++++
.../packs/goodies/company_imports/donk.dm | 122 +++++++
.../packs/goodies/company_imports/kahraman.dm | 109 ++++++
.../goodies/company_imports/nri_surplus.dm | 110 ++++++
.../goodies/company_imports/sol_defense.dm | 73 ++++
.../goodies/company_imports/vitezstvi.dm | 63 ++++
.../modules/cargo/packs/goodies/interdyne.dm | 6 +
.../modules/mining/equipment/order_mining.dm | 40 ---
.../code/armament_datums/deforest_medical.dm | 126 -------
tgstation.dme | 25 +-
.../tgui/interfaces/Cargo/CargoCatalog.tsx | 170 +++++++--
tgui/packages/tgui/interfaces/Cargo/index.tsx | 12 -
tgui/packages/tgui/interfaces/Cargo/types.ts | 3 +
.../tgui/interfaces/CargoImportConsole.jsx | 171 ---------
43 files changed, 1254 insertions(+), 2106 deletions(-)
delete mode 100644 modular_skyrat/master_files/code/modules/cargo/orderconsole.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_component.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/_armament_basetype.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/akh_frontier.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/nri_military_surplus.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/put_a_donk_on_it.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/company_datums.dm
delete mode 100644 modular_skyrat/modules/company_imports/code/datums/cargo_order.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/_base.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/akh_frontier.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/blacksteel.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/deforest.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/donk.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/kahraman.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/nri_surplus.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/sol_defense.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/company_imports/vitezstvi.dm
create mode 100644 modular_zubbers/code/modules/cargo/packs/goodies/interdyne.dm
delete mode 100644 modular_zubbers/master_files/skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
delete mode 100644 tgui/packages/tgui/interfaces/CargoImportConsole.jsx
diff --git a/code/__DEFINES/cargo.dm b/code/__DEFINES/cargo.dm
index f81b5d08b94..3399130bbbf 100644
--- a/code/__DEFINES/cargo.dm
+++ b/code/__DEFINES/cargo.dm
@@ -62,6 +62,10 @@
#define ORDER_DANGEROUS (1 << 8)
/// This is set when something is created by an admin to make sure its contents is also marked as such
#define ORDER_ADMIN_SPAWNED (1 << 9)
+// BUBBER EDIT START
+/// Only orderable via Interdyne Express consoles
+#define ORDER_INTERDYNE_ONLY (1 << 10)
+// BUBBER EDIT END
///Discount categories for coupons. This one is for anything that isn't discountable.
#define SUPPLY_PACK_NOT_DISCOUNTABLE null
diff --git a/code/__DEFINES/~~bubber_defines/machines.dm b/code/__DEFINES/~~bubber_defines/machines.dm
index 30ac3515340..d19c316b82e 100644
--- a/code/__DEFINES/~~bubber_defines/machines.dm
+++ b/code/__DEFINES/~~bubber_defines/machines.dm
@@ -9,12 +9,19 @@
#define SCRAM_TIME_RESTRICTION (1 * 30 MINUTES)
// Export gate settings
-#define EX_CARGO_TECHNICIAN (1<<0)
-#define EX_CUSTOMS_AGENT (1<<1)
-#define EX_QUARTERMASTER (1<<2)
+#define EX_CARGO_TECHNICIAN (1 << 0)
+#define EX_CUSTOMS_AGENT (1 << 1)
+#define EX_QUARTERMASTER (1 << 2)
DEFINE_BITFIELD(payment_mode, list(
"EX_CARGO_TECHNICIAN" = EX_CARGO_TECHNICIAN,
"EX_CUSTOMS_AGENT" = EX_CUSTOMS_AGENT,
"EX_QUARTERMASTER" = EX_QUARTERMASTER,
))
+
+// Cargo console flags
+#define CARGO_CONSOLE_INTERDYNE (1 << 0)
+
+DEFINE_BITFIELD(cargo_console_flags, list(
+ "CARGO_CONSOLE_INTERDYNE" = CARGO_CONSOLE_INTERDYNE,
+))
diff --git a/code/controllers/subsystem/shuttle.dm b/code/controllers/subsystem/shuttle.dm
index a962351b666..b3f88817e6a 100644
--- a/code/controllers/subsystem/shuttle.dm
+++ b/code/controllers/subsystem/shuttle.dm
@@ -156,10 +156,6 @@ SUBSYSTEM_DEF(shuttle)
while(length(pack_processing))
var/datum/supply_pack/pack = pack_processing[length(pack_processing)]
pack_processing.len--
- //SKYRAT EDIT START
- if(pack == /datum/supply_pack/armament)
- continue
- //SKYRAT EDIT END
if(ispath(pack, /datum/supply_pack))
pack = new pack
diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm
index 7cb0e4c9d06..b029c5478ab 100644
--- a/code/game/objects/items/storage/lockbox.dm
+++ b/code/game/objects/items/storage/lockbox.dm
@@ -274,15 +274,33 @@
if(istype(buyer_account, /datum/bank_account/department))
department_purchase = TRUE
department_account = buyer_account
+ // captain access override that ignores lockout
+ req_access = list(ACCESS_CAPTAIN)
//SKYRAT EDIT END
+
+// BUBBER EDIT START - show department account on examine if bought with departmental funds
+/obj/item/storage/lockbox/order/examine(mob/user)
+ . = ..()
+ if(department_purchase)
+ . += span_notice("This crate was purchased with departmental funds from [department_account.account_holder], and can be opened by anyone who has an ID linked to an account with a paycheck from that department.")
+ . += span_notice("Or overriden by someone with captain access.")
+// BUBBER EDIT END
+
/obj/item/storage/lockbox/order/can_unlock(mob/living/user, obj/item/card/id/id_card, silent = FALSE)
if(id_card.registered_account == buyer_account)
return TRUE
//SKYRAT EDIT ADDITION START - private department orders
- if(department_purchase && id_card.registered_account?.account_job?.paycheck_department == department_account.department_id)
- return TRUE
+ if(department_purchase)
+ if(id_card.registered_account?.account_job?.paycheck_department == department_account.department_id)
+ return TRUE
+ if(..())
+ return TRUE
+
+ if(!silent)
+ balloon_alert(user, "incorrect bank account!")
+ return FALSE
//SKYRAT EDIT ADDITION END
if(!silent)
diff --git a/code/game/objects/structures/crates_lockers/crates/secure.dm b/code/game/objects/structures/crates_lockers/crates/secure.dm
index 787b48a3192..f63aaab5f96 100644
--- a/code/game/objects/structures/crates_lockers/crates/secure.dm
+++ b/code/game/objects/structures/crates_lockers/crates/secure.dm
@@ -163,6 +163,11 @@
/obj/structure/closet/crate/secure/owned/examine(mob/user)
. = ..()
. += span_notice("It's locked with a privacy lock, and can only be unlocked by the buyer's ID.")
+ // BUBBER EDIT START - show department account on examine if bought with departmental funds
+ if(department_purchase)
+ . += span_notice("This crate was purchased with departmental funds from [department_account.account_holder], and can be opened by anyone who has an ID linked to an account with a paycheck from that department.")
+ . += span_notice("Or overriden by someone with captain access.")
+ // BUBBER EDIT END
/obj/structure/closet/crate/secure/owned/Initialize(mapload, datum/bank_account/_buyer_account)
. = ..()
@@ -170,6 +175,8 @@
if(IS_DEPARTMENTAL_ACCOUNT(buyer_account))
department_purchase = TRUE
department_account = buyer_account
+ // captain access override that ignores lockout
+ req_access = list(ACCESS_CAPTAIN)
/obj/structure/closet/crate/secure/owned/togglelock(mob/living/user, silent)
if(privacy_lock)
@@ -177,7 +184,9 @@
var/obj/item/card/id/id_card = user.get_idcard(TRUE)
if(id_card)
if(id_card.registered_account)
- if(id_card.registered_account == buyer_account || (department_purchase && (id_card.registered_account?.account_job?.paycheck_department) == (department_account.department_id)))
+ // BUBBER EDIT START - allow captain access override for departmental private crates
+ if(id_card.registered_account == buyer_account || (department_purchase && ((id_card.registered_account?.account_job?.paycheck_department) == (department_account.department_id) || check_access(id_card))))
+ // BUBBER EDIT END
if(iscarbon(user))
add_fingerprint(user)
locked = !locked
diff --git a/code/modules/cargo/expressconsole.dm b/code/modules/cargo/expressconsole.dm
index 16427ae1a1d..9dc6152b037 100644
--- a/code/modules/cargo/expressconsole.dm
+++ b/code/modules/cargo/expressconsole.dm
@@ -111,6 +111,10 @@
if(account)
data["points"] = account.account_balance
data["locked"] = locked//swipe an ID to unlock
+ // BUBBER EDIT START - expose private purchase controls to express tgui
+ data["self_paid"] = self_paid
+ data["allow_private_purchases"] = can_private_purchases
+ // BUBBER EDIT END
data["siliconUser"] = HAS_SILICON_ACCESS(user)
data["beaconzone"] = beacon ? get_area(beacon) : ""//where is the beacon located? outputs in the tgui
data["using_beacon"] = using_beacon //is the mode set to deliver to the beacon or the cargobay?
@@ -178,14 +182,46 @@
if(!istype(pack))
CRASH("Unknown supply pack id given by express order console ui. ID: [params["id"]]")
- if((pack.order_flags & ORDER_GOODY) && !self_paid && !(obj_flags & EMAGGED))
- playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE)
+ if((pack.order_flags & ORDER_GOODY) && !self_paid && !pack.allow_non_private_purchase && !(obj_flags & EMAGGED)) // BUBBER EDIT
say("ERROR: Small crates may only be purchased by private accounts.")
return
var/name = "*None Provided*"
var/rank = "*None Provided*"
var/ckey = user.ckey
+ // BUBBER EDIT START - allow private account charging on approved express consoles
+ var/datum/bank_account/paying_account
+ if(self_paid)
+ if(!can_private_purchases)
+ return
+
+ if(isliving(user))
+ var/mob/living/living_user = user
+ var/obj/item/card/id/id_card = living_user.get_idcard(TRUE)
+
+ var/bypass = FALSE
+ if(istype(id_card, /obj/item/card/id/advanced/chameleon))
+ bypass = TRUE
+
+ paying_account = id_card?.registered_account
+ if(!istype(id_card))
+ say("No ID card detected.")
+ return
+ if(IS_DEPARTMENTAL_CARD(id_card))
+ say("The [src] rejects [id_card].")
+ return
+ if(!istype(paying_account))
+ say("Invalid bank account.")
+ return
+ var/list/access = id_card.GetAccess()
+ if((pack.access_view && !(pack.access_view in access)) && !bypass)
+ say("[id_card] lacks the requisite access for this purchase.")
+ return
+ else
+ say("Invalid user.")
+ return
+ // BUBBER EDIT END
+
if(ishuman(user))
var/mob/living/carbon/human/H = user
name = H.get_authentification_name()
@@ -194,8 +230,8 @@
name = user.real_name
rank = "Silicon"
var/reason = ""
- var/datum/supply_order/order = new(pack, name, rank, ckey, reason)
- var/datum/bank_account/account = SSeconomy.get_dep_account(cargo_account)
+ var/datum/supply_order/order = new(pack, name, rank, ckey, reason, paying_account)
+ var/datum/bank_account/account = paying_account || SSeconomy.get_dep_account(cargo_account)
if (isnull(account) && order.pack.get_cost() > 0)
return
@@ -240,7 +276,11 @@
else
landing_turf = pick(empty_turfs)
- if (!account.adjust_money(-order.pack.get_cost() * get_discount()))
+ // BUBBER EDIT ADDITION - preserve standard private 10% surcharge for non-goody orders
+ var/final_cost = order.pack.get_cost() * get_discount()
+ if(self_paid && !(pack.order_flags & ORDER_GOODY))
+ final_cost *= 1.1
+ if (!account.adjust_money(-round(final_cost)))
return
TIMER_COOLDOWN_START(src, COOLDOWN_EXPRESSPOD_CONSOLE, 5 SECONDS)
diff --git a/code/modules/cargo/orderconsole.dm b/code/modules/cargo/orderconsole.dm
index 7101f38f0f3..c940e1c5da5 100644
--- a/code/modules/cargo/orderconsole.dm
+++ b/code/modules/cargo/orderconsole.dm
@@ -34,6 +34,11 @@
var/cargo_account = ACCOUNT_CAR
///Interface name for the ui_interact call for different subtypes.
var/interface_type = "Cargo"
+ // BUBBER EDIT START
+ /// Can this console toggle and use private account payments.
+ var/can_private_purchases = TRUE
+ var/console_flags = NONE
+ // BUBBER EDIT END
/obj/machinery/computer/cargo/request
name = "supply request console"
@@ -96,6 +101,9 @@
data["can_send"] = can_send
data["can_approve_requests"] = can_approve_requests
data["requestonly"] = requestonly
+ // BUBBER EDIT START - allow UI to hide private toggle on unsupported consoles
+ data["allow_private_purchases"] = can_private_purchases
+ // BUBBER EDIT END
var/message = "Remember to stamp and send back the supply manifests."
if(SSshuttle.centcom_message)
message = SSshuttle.centcom_message
@@ -184,6 +192,11 @@
if(!express && (((pack.order_flags & ORDER_EMAG_ONLY) && !(obj_flags & EMAGGED)) || ((pack.order_flags & ORDER_SPECIAL) && !(pack.order_flags & ORDER_SPECIAL_ENABLED)) || (pack.order_flags & ORDER_POD_ONLY)))
continue
+ // BUBBER EDIT START - Interdyne-only items check
+ if((pack.order_flags & ORDER_INTERDYNE_ONLY) && !(console_flags & CARGO_CONSOLE_INTERDYNE))
+ continue
+ // BUBBER EDIT END
+
if((pack.order_flags & ORDER_CONTRABAND) && !contraband)
continue
@@ -199,6 +212,7 @@
"access" = pack.access,
"contraband" = (pack.order_flags & ORDER_CONTRABAND),
"contains" = pack.get_contents_ui_data(),
+ "subcategory" = pack.subcategory, // BUBBER EDIT
))
return packs
@@ -226,7 +240,7 @@
if(amount > CARGO_MAX_ORDER || amount < 1) // Holy shit fuck off
CRASH("Invalid amount passed into add_item")
- if(((pack.order_flags & ORDER_EMAG_ONLY) && !(obj_flags & EMAGGED)) || ((pack.order_flags & ORDER_CONTRABAND) && !contraband) || (pack.order_flags & ORDER_POD_ONLY) || ((pack.order_flags & ORDER_SPECIAL) && !(pack.order_flags & ORDER_SPECIAL_ENABLED)))
+ if(((pack.order_flags & ORDER_EMAG_ONLY) && !(obj_flags & EMAGGED)) || ((pack.order_flags & ORDER_CONTRABAND) && !contraband) || (pack.order_flags & ORDER_POD_ONLY) || ((pack.order_flags & ORDER_SPECIAL) && !(pack.order_flags & ORDER_SPECIAL_ENABLED)) || ((pack.order_flags & ORDER_INTERDYNE_ONLY) && !(console_flags & CARGO_CONSOLE_INTERDYNE))) // BUBBER EDIT
return
var/name = "*None Provided*"
@@ -301,7 +315,7 @@
say("ERROR: User lacks the requisite access for this purchase request.")
return
- if((pack.order_flags & ORDER_GOODY) && !self_paid)
+ if((pack.order_flags & ORDER_GOODY) && !self_paid && !pack.allow_non_private_purchase) // BUBBER EDIT
playsound(src, 'sound/machines/buzz/buzz-sigh.ogg', 50, FALSE)
say("ERROR: Small crates may only be purchased by private accounts.")
return
@@ -501,6 +515,9 @@
SSshuttle.request_list.Cut()
. = TRUE
if("toggleprivate")
+ // BUBBER EDIT ADDITION - enforce private toggle capability server-side
+ if(!can_private_purchases)
+ return
self_paid = !self_paid
. = TRUE
if(.)
diff --git a/code/modules/cargo/packs/_packs.dm b/code/modules/cargo/packs/_packs.dm
index e4650000d15..d43a8d88fe2 100644
--- a/code/modules/cargo/packs/_packs.dm
+++ b/code/modules/cargo/packs/_packs.dm
@@ -3,6 +3,14 @@
var/name = "Crate"
/// The group that the supply pack is sorted into within the cargo purchasing UI.
var/group = ""
+ // BUBBER EDIT START
+ /// Whether this ORDER_GOODY pack can be purchased with non-private accounts.
+ var/allow_non_private_purchase = FALSE
+ // BUBBER EDIT END
+ // BUBBER EDIT START
+ /// Optional subcategory shown as a subsection header within a group in the cargo UI.
+ var/subcategory = ""
+ // BUBBER EDIT END
/// Cost of the crate. DO NOT GO ANY LOWER THAN X1.4 the "CARGO_CRATE_VALUE" value if using regular crates, or infinite profit will be possible!
var/cost = CARGO_CRATE_VALUE * 1.4
/// What access is required to open the crate when spawned?
diff --git a/code/modules/modular_computers/file_system/programs/budgetordering.dm b/code/modules/modular_computers/file_system/programs/budgetordering.dm
index 38a5fbc2af6..e5f86bee95f 100644
--- a/code/modules/modular_computers/file_system/programs/budgetordering.dm
+++ b/code/modules/modular_computers/file_system/programs/budgetordering.dm
@@ -97,7 +97,7 @@
"name" = P.group,
"packs" = list()
)
- 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)))
+ 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) || (P.order_flags & ORDER_INTERDYNE_ONLY))) // BUBBER EDIT
continue
var/obj/item/first_item = length(P.contains) > 0 ? P.contains[1] : null
@@ -219,7 +219,7 @@
var/datum/supply_pack/pack = SSshuttle.supply_packs[id]
if(!istype(pack))
return
- if((pack.order_flags & (ORDER_EMAG_ONLY | ORDER_POD_ONLY | ORDER_CONTRABAND)) || ((pack.order_flags & ORDER_SPECIAL) && !(pack.order_flags & ORDER_SPECIAL_ENABLED)))
+ if((pack.order_flags & (ORDER_EMAG_ONLY | ORDER_POD_ONLY | ORDER_INTERDYNE_ONLY | ORDER_CONTRABAND)) || ((pack.order_flags & ORDER_SPECIAL) && !(pack.order_flags & ORDER_SPECIAL_ENABLED))) // BUBBER EDIT
return
var/name = "*None Provided*"
@@ -331,16 +331,6 @@
if("toggleprivate")
self_paid = !self_paid
. = TRUE
- //SKYRAT EDIT START
- if("company_import_window")
- var/datum/component/armament/company_imports/gun_comp = computer.GetComponent(/datum/component/armament/company_imports)
- if(!gun_comp)
- computer.AddComponent(/datum/component/armament/company_imports, subtypesof(/datum/armament_entry/company_import), 0)
- gun_comp = computer.GetComponent(/datum/component/armament/company_imports)
- gun_comp.parent_prog ||= src
- gun_comp.ui_interact(usr)
- . = TRUE
- //SKYRAT EDIT END
if(.)
post_signal(cargo_shuttle)
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 9c0f0e1219c..071d9e1df76 100644
--- a/code/modules/modular_computers/file_system/programs/dept_order.dm
+++ b/code/modules/modular_computers/file_system/programs/dept_order.dm
@@ -111,7 +111,7 @@ GLOBAL_VAR(department_cd_override)
return FALSE
if((to_check.order_flags & ORDER_SPECIAL) && !(to_check.order_flags & ORDER_SPECIAL_ENABLED))
return FALSE
- if(to_check.order_flags & (ORDER_INVISIBLE | ORDER_POD_ONLY | ORDER_GOODY | ORDER_NOT_DEPARTMENTAL))
+ if(to_check.order_flags & (ORDER_INVISIBLE | ORDER_POD_ONLY | ORDER_GOODY | ORDER_NOT_DEPARTMENTAL | ORDER_INTERDYNE_ONLY)) // BUBBER EDIT
return FALSE
return TRUE
diff --git a/code/modules/shuttle/mobile_port/variants/supply.dm b/code/modules/shuttle/mobile_port/variants/supply.dm
index d3eb5ffa7cb..ce4178fc2ce 100644
--- a/code/modules/shuttle/mobile_port/variants/supply.dm
+++ b/code/modules/shuttle/mobile_port/variants/supply.dm
@@ -193,7 +193,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
paying_for_this = spawning_order.paying_account
// note this is before we increment, so this is the GOODY_FREE_SHIPPING_MAX + 1th goody to ship. also note we only increment off this step if they successfully pay the fee, so there's no way around it
if(spawning_order.pack.order_flags & ORDER_GOODY)
- var/list/current_buyer_orders = goodies_by_buyer[spawning_order.paying_account]
+ var/list/current_buyer_orders = goodies_by_buyer[paying_for_this] // BUBBER EDIT
if(LAZYLEN(current_buyer_orders) == GOODY_FREE_SHIPPING_MAX)
price = round(price + CRATE_TAX)
paying_for_this.bank_card_talk("Goody order size exceeds free shipping limit: Assessing [CRATE_TAX] [MONEY_NAME_SINGULAR] S&H fee.")
@@ -210,10 +210,16 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
continue
pack_cost = spawning_order.pack.get_cost()
+ // BUBBER EDIT START - include cargo-funded goodies in per-buyer goody packaging
+ if(spawning_order.charge_on_purchase && (spawning_order.pack.order_flags & ORDER_GOODY) && paying_for_this)
+ LAZYADD(goodies_by_buyer[paying_for_this], spawning_order)
+ // BUBBER EDIT END
if(spawning_order.paying_account && spawning_order.charge_on_purchase) // SKYRAT EDIT CHANGE - ORIGINAL: if(spawning_order.paying_account)
paying_for_this = spawning_order.paying_account
- if(spawning_order.pack.order_flags & ORDER_GOODY)
- LAZYADD(goodies_by_buyer[spawning_order.paying_account], spawning_order)
+ // BUBBER REMOVAL START
+ // if(spawning_order.pack.order_flags & ORDER_GOODY)
+ // LAZYADD(goodies_by_buyer[spawning_order.paying_account], spawning_order)
+ // BUBBER REMOVAL END
var/receiver_message = "Cargo order #[spawning_order.id] has shipped."
if(spawning_order.charge_on_purchase)
receiver_message += " [price] [MONEY_NAME] have been charged to your bank account"
@@ -244,11 +250,10 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
for(var/buyer_key in goodies_by_buyer)
var/list/buying_account_orders = goodies_by_buyer[buyer_key]
var/datum/bank_account/buying_account = buyer_key
- var/buyer = buying_account.account_holder
+ var/buyer = buying_account.account_holder || "Account ID: [buying_account.account_id]" // BUBBER EDIT - allow goodies to be bought privately
if(buying_account_orders.len > GOODY_FREE_SHIPPING_MAX) // no free shipping, send a crate
- var/obj/structure/closet/crate/secure/owned/our_crate = new /obj/structure/closet/crate/secure/owned(pick_n_take(empty_turfs))
- our_crate.buyer_account = buying_account
+ var/obj/structure/closet/crate/secure/owned/our_crate = new /obj/structure/closet/crate/secure/owned(pick_n_take(empty_turfs), buying_account) // BUBBER EDIT - add init arg
/// SKYRAT EDIT ADDITION START - FIXES COMMAND BUDGET CASES BEING UNOPENABLE
if(istype(our_crate.buyer_account, /datum/bank_account/department))
our_crate.department_purchase = TRUE
@@ -257,7 +262,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list(
our_crate.name = "goody crate - purchased by [buyer]"
miscboxes[buyer] = our_crate
else //free shipping in a case
- miscboxes[buyer] = new /obj/item/storage/lockbox/order(pick_n_take(empty_turfs))
+ miscboxes[buyer] = new /obj/item/storage/lockbox/order(pick_n_take(empty_turfs), buying_account) // BUBBER EDIT - add init arg
var/obj/item/storage/lockbox/order/our_case = miscboxes[buyer]
our_case.buyer_account = buying_account
/// SKYRAT EDIT ADDITION START - FIXES COMMAND BUDGET CASES BEING UNOPENABLE
diff --git a/modular_skyrat/master_files/code/modules/cargo/orderconsole.dm b/modular_skyrat/master_files/code/modules/cargo/orderconsole.dm
deleted file mode 100644
index 6898c91076c..00000000000
--- a/modular_skyrat/master_files/code/modules/cargo/orderconsole.dm
+++ /dev/null
@@ -1,12 +0,0 @@
-/obj/machinery/computer/cargo/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state)
- . = ..()
- if(.)
- return
-
- switch(action)
- if("company_import_window")
- var/datum/component/armament/company_imports/company_import_component = GetComponent(/datum/component/armament/company_imports)
- company_import_component.ui_interact(usr)
- . = TRUE
- if(.)
- post_signal(cargo_shuttle)
diff --git a/modular_skyrat/modules/company_imports/code/armament_component.dm b/modular_skyrat/modules/company_imports/code/armament_component.dm
deleted file mode 100644
index e8d3b3c60f6..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_component.dm
+++ /dev/null
@@ -1,302 +0,0 @@
-#define MAX_AMMO_AMOUNT 10
-#define CARGO_CONSOLE 1
-#define IRN_CONSOLE 2
-
-/datum/component/armament/company_imports
- /// Selected amount of ammo to purchase
- var/ammo_purchase_num = 1
- /// Is this set to private order
- var/self_paid = FALSE
- /// Cooldown to announce a requested order
- COOLDOWN_DECLARE(radio_cooldown)
- /// To cut down on redundant istypes(), what this component is attached to
- var/console_state = null
- /// If this is a tablet, the parent budgetordering
- var/datum/computer_file/program/budgetorders/parent_prog
-
-/datum/component/armament/company_imports/Initialize(list/required_products, list/needed_access)
- . = ..()
- if(istype(parent, /obj/machinery/computer/cargo))
- console_state = CARGO_CONSOLE
- else if(istype(parent, /obj/item/modular_computer))
- console_state = IRN_CONSOLE
-
-/datum/component/armament/company_imports/Destroy(force, silent)
- parent_prog = null
- . = ..()
-
-/datum/component/armament/company_imports/on_attack_hand(datum/source, mob/living/user)
- return
-
-/datum/component/armament/company_imports/on_attackby(atom/target, obj/item, mob/user)
- return
-
-/datum/component/armament/company_imports/ui_data(mob/user)
- var/list/data = list()
-
- var/mob/living/carbon/human/the_person = user
- var/obj/item/card/id/id_card
- var/datum/bank_account/buyer = SSeconomy.get_dep_account(ACCOUNT_CAR)
-
- if(console_state == IRN_CONSOLE)
- id_card = parent_prog.computer.stored_id?.GetID()
- else
- if(istype(the_person))
- id_card = the_person.get_idcard(TRUE)
-
- var/budget_name = "Cargo Budget"
-
- if(id_card?.registered_account && (console_state == IRN_CONSOLE))
- if((ACCESS_COMMAND in id_card.access) || (ACCESS_QM in id_card.access))
- parent_prog.requestonly = FALSE
- buyer = SSeconomy.get_dep_account(id_card.registered_account?.account_job.paycheck_department)
- parent_prog.can_approve_requests = TRUE
- else
- parent_prog.requestonly = TRUE
- parent_prog.can_approve_requests = FALSE
- else
- parent_prog?.requestonly = TRUE
-
- if(id_card)
- budget_name = self_paid ? id_card.name : buyer.account_holder
-
- data["budget_name"] = budget_name
-
- var/cant_buy_restricted = TRUE
-
- if(console_state == CARGO_CONSOLE)
- var/obj/machinery/computer/cargo/console = parent
- if(!console.requestonly)
- cant_buy_restricted = FALSE
-
- else if((console_state == IRN_CONSOLE) && id_card?.registered_account)
- if((ACCESS_COMMAND in id_card.access) || (ACCESS_QM in id_card.access))
- if((buyer == SSeconomy.get_dep_account(id_card.registered_account.account_job.paycheck_department)) && !self_paid)
- cant_buy_restricted = FALSE
-
- data["cant_buy_restricted"] = !!cant_buy_restricted
- data["budget_points"] = self_paid ? id_card?.registered_account?.account_balance : buyer?.account_balance
- data["ammo_amount"] = ammo_purchase_num
- data["self_paid"] = !!self_paid
- data["armaments_list"] = list()
-
- for(var/armament_category in SSarmaments.entries)
-
- var/list/armament_subcategories = list()
-
- for(var/subcategory in SSarmaments.entries[armament_category][CATEGORY_ENTRY])
- var/list/subcategory_items = list()
- for(var/datum/armament_entry/armament_entry as anything in SSarmaments.entries[armament_category][CATEGORY_ENTRY][subcategory])
- if(products && !(armament_entry.type in products))
- continue
-
- var/datum/armament_entry/company_import/gun_entry = armament_entry
-
- if(gun_entry.contraband)
- if(!(console_state == CARGO_CONSOLE))
- continue
- var/obj/machinery/computer/cargo/parent_console = parent
- if(!parent_console.contraband)
- continue
-
- subcategory_items += list(list(
- "ref" = REF(armament_entry),
- "icon" = armament_entry.cached_base64,
- "name" = armament_entry.name,
- "cost" = armament_entry.cost,
- "buyable_ammo" = armament_entry.magazine ? TRUE : FALSE,
- "magazine_cost" = armament_entry.magazine_cost,
- "purchased" = purchased_items[armament_entry] ? purchased_items[armament_entry] : 0,
- "description" = armament_entry.description,
- "armament_category" = armament_entry.category,
- "equipment_subcategory" = armament_entry.subcategory,
- "restricted" = !!armament_entry.restricted,
- ))
-
- if(!LAZYLEN(subcategory_items))
- continue
-
- armament_subcategories += list(list(
- "subcategory" = subcategory,
- "items" = subcategory_items,
- ))
-
- if(!LAZYLEN(armament_subcategories))
- continue
-
- data["armaments_list"] += list(list(
- "category" = armament_category,
- "category_uses" = used_categories[armament_category],
- "subcategories" = armament_subcategories,
- ))
-
- return data
-
-/datum/component/armament/company_imports/ui_interact(mob/user, datum/tgui/ui)
- ui = SStgui.try_update_ui(user, src, ui)
- if(!ui)
- ui = new(user, src, "CargoImportConsole")
- ui.open()
-
-/datum/component/armament/company_imports/select_armament(mob/user, datum/armament_entry/company_import/armament_entry)
- var/datum/bank_account/buyer = SSeconomy.get_dep_account(ACCOUNT_CAR)
- var/obj/item/modular_computer/possible_downloader
- var/obj/machinery/computer/cargo/possible_console
-
- if(console_state == CARGO_CONSOLE)
- possible_console = parent
-
- else if(console_state == IRN_CONSOLE)
- possible_downloader = parent
-
- if(!istype(armament_entry))
- return
-
- var/mob/living/carbon/human/the_person = user
-
- if(istype(the_person))
-
- var/obj/item/card/id/id_card
-
- if(console_state == IRN_CONSOLE)
- id_card = parent_prog.computer.stored_id?.GetID()
- else
- id_card = the_person.get_idcard(TRUE)
-
- if(id_card?.registered_account && (console_state == IRN_CONSOLE))
- if((ACCESS_COMMAND in id_card.access) || (ACCESS_QM in id_card.access))
- parent_prog.requestonly = FALSE
- buyer = SSeconomy.get_dep_account(id_card.registered_account.account_job.paycheck_department)
- parent_prog.can_approve_requests = TRUE
- else
- parent_prog.requestonly = TRUE
- parent_prog.can_approve_requests = FALSE
- else
- parent_prog?.requestonly = TRUE
-
- if(self_paid)
- if(!istype(id_card))
- to_chat(user, span_warning("No ID card detected."))
- return
-
- if(istype(id_card, /obj/item/card/id/departmental_budget))
- to_chat(user, span_warning("[id_card] cannot be used to make purchases."))
- return
-
- var/datum/bank_account/account = id_card.registered_account
-
- if(!istype(account))
- to_chat(user, span_warning("Invalid bank account."))
- return
-
- buyer = account
-
- if(issilicon(user) && (console_state == IRN_CONSOLE))
- parent_prog.can_approve_requests = TRUE
- parent_prog.requestonly = FALSE
-
- if(!buyer)
- to_chat(user, span_warning("No budget found!"))
- return
-
- if(!ishuman(user) && !issilicon(user))
- return
-
- if(!buyer.has_money(armament_entry.cost))
- to_chat(user, span_warning("Not enough money!"))
- return
-
- var/name
-
- if(issilicon(user))
- name = user.real_name
- else
- the_person.get_authentification_name()
-
- var/reason = ""
-
- if(possible_console)
- if(possible_console.requestonly && !self_paid)
- reason = tgui_input_text(user, "Reason", name)
- if(isnull(reason))
- return
-
- else if(possible_downloader)
- var/datum/computer_file/program/budgetorders/parent_file = parent_prog
- if((parent_file.requestonly && !self_paid) || !(possible_downloader.stored_id?.GetID()))
- reason = tgui_input_text(user, "Reason", name)
- if(isnull(reason))
- return
-
- used_categories[armament_entry.category]++
-
- purchased_items[armament_entry]++
-
- var/datum/supply_pack/armament/created_pack = new
- created_pack.name = initial(armament_entry.item_type.name)
- created_pack.cost = cost_calculate(armament_entry.cost) //Paid for seperately
- created_pack.contains = list(armament_entry.item_type)
-
- var/rank
-
- if(issilicon(user))
- rank = "Silicon"
- else
- rank = the_person.get_assignment(hand_first = TRUE)
-
- var/ckey = user.ckey
-
- var/datum/supply_order/company_import/created_order
- if(buyer != SSeconomy.get_dep_account(ACCOUNT_CAR))
- created_order = new(created_pack, name, rank, ckey, paying_account = buyer, reason = reason, can_be_cancelled = TRUE)
- else
- // Cargo ordered stuff should just show up in a box I think
- created_order = new(created_pack, name, rank, ckey, reason = reason, can_be_cancelled = TRUE)
- created_order.selected_entry = armament_entry
- created_order.used_component = src
- if(console_state == CARGO_CONSOLE)
- created_order.generateRequisition(get_turf(parent))
- if(possible_console.requestonly && !self_paid)
- SSshuttle.request_list += created_order
- else
- SSshuttle.shopping_list += created_order
- else if(console_state == IRN_CONSOLE)
- var/datum/computer_file/program/budgetorders/comp_file = parent_prog
- created_order.generateRequisition(get_turf(parent))
- if(comp_file.requestonly && !self_paid)
- SSshuttle.request_list += created_order
- else
- SSshuttle.shopping_list += created_order
-
-/datum/component/armament/company_imports/proc/cost_calculate(cost)
- . = cost
- . *= SSeconomy.pack_price_modifier
-
-/datum/component/armament/company_imports/ui_act(action, list/params)
- . = ..()
- if(.)
- return
-
- switch(action)
- if("toggleprivate")
- var/obj/item/card/id/id_card
- var/mob/living/carbon/human/the_person = usr
-
- if(!istype(the_person))
- if(issilicon(the_person))
- self_paid = FALSE
- return
-
- if(console_state == IRN_CONSOLE)
- id_card = parent_prog.computer.stored_id?.GetID()
- else
- id_card = the_person.get_idcard(TRUE)
-
- if(!id_card)
- return
-
- self_paid = !self_paid
-
-#undef MAX_AMMO_AMOUNT
-#undef CARGO_CONSOLE
-#undef IRN_CONSOLE
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/_armament_basetype.dm b/modular_skyrat/modules/company_imports/code/armament_datums/_armament_basetype.dm
deleted file mode 100644
index f01d5c1ba1a..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/_armament_basetype.dm
+++ /dev/null
@@ -1,8 +0,0 @@
-/datum/armament_entry/company_import
- max_purchase = 0
- category_item_limit = 0
- cost = CARGO_CRATE_VALUE
- /// Bitflag of the company
- var/company_bitflag
- /// If this requires a multitooled console to be visible
- var/contraband = FALSE
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/akh_frontier.dm b/modular_skyrat/modules/company_imports/code/armament_datums/akh_frontier.dm
deleted file mode 100644
index 9c17c2b9d34..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/akh_frontier.dm
+++ /dev/null
@@ -1,96 +0,0 @@
-/datum/armament_entry/company_import/akh_frontier
- category = COMPANY_NAME_FRONTIER_EQUIPMENT
- company_bitflag = CARGO_COMPANY_FRONTIER_EQUIPMENT
-
-// Tools that you could use the rapid fabricator for, but you're too lazy to actually do that
-
-/datum/armament_entry/company_import/akh_frontier/basic
- subcategory = "Hand-Held Equipment"
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/akh_frontier/basic/omni_drill
- item_type = /obj/item/screwdriver/omni_drill
-
-/datum/armament_entry/company_import/akh_frontier/basic/arc_welder
- item_type = /obj/item/weldingtool/electric/arc_welder
-
-/datum/armament_entry/company_import/akh_frontier/basic/compact_drill
- item_type = /obj/item/pickaxe/drill/compact
-
-// Flatpacked fabricator and related upgrades
-
-/datum/armament_entry/company_import/akh_frontier/deployables_fab
- subcategory = "Deployable Fabrication Equipment"
-
-/datum/armament_entry/company_import/akh_frontier/deployables_fab/rapid_construction_fabricator
- item_type = /obj/item/flatpacked_machine
- cost = CARGO_CRATE_VALUE * 6
-
-/datum/armament_entry/company_import/akh_frontier/deployables_fab/foodricator
- item_type = /obj/item/flatpacked_machine/organics_ration_printer
- cost = CARGO_CRATE_VALUE * 2
-
-// Various smaller appliances than the deployable machines below
-
-/datum/armament_entry/company_import/akh_frontier/appliances
- subcategory = "Appliances"
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/akh_frontier/appliances/charger
- item_type = /obj/item/wallframe/cell_charger_multi
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/akh_frontier/appliances/water_synth
- item_type = /obj/item/flatpacked_machine/water_synth
-
-/datum/armament_entry/company_import/akh_frontier/appliances/hydro_synth
- item_type = /obj/item/flatpacked_machine/hydro_synth
-
-/datum/armament_entry/company_import/akh_frontier/appliances/sustenance_dispenser
- item_type = /obj/item/flatpacked_machine/sustenance_machine
- cost = PAYCHECK_COMMAND * 2
-
-// Flatpacked, ready to deploy machines
-
-/datum/armament_entry/company_import/akh_frontier/deployables_misc
- subcategory = "Deployable General Equipment"
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/akh_frontier/deployables_misc/arc_furnace
- item_type = /obj/item/flatpacked_machine/arc_furnace
-
-/datum/armament_entry/company_import/akh_frontier/deployables_misc/thermomachine
- item_type = /obj/item/flatpacked_machine/thermomachine
-
-/datum/armament_entry/company_import/akh_frontier/deployables_misc/co2_cracker
- item_type = /obj/item/flatpacked_machine/co2_cracker
-
-/datum/armament_entry/company_import/akh_frontier/deployables_misc/recycler
- item_type = /obj/item/flatpacked_machine/recycler
-
-// Flatpacked, ready to deploy machines for power related activities
-
-/datum/armament_entry/company_import/akh_frontier/deployables
- subcategory = "Deployable Power Equipment"
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/akh_frontier/deployables/solar
- item_type = /obj/item/flatpacked_machine/solar
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/akh_frontier/deployables/solar_tracker
- item_type = /obj/item/flatpacked_machine/solar_tracker
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/akh_frontier/deployables/station_battery
- item_type = /obj/item/flatpacked_machine/station_battery
-
-/datum/armament_entry/company_import/akh_frontier/deployables/big_station_battery
- item_type = /obj/item/flatpacked_machine/large_station_battery
-
-/datum/armament_entry/company_import/akh_frontier/deployables/solids_generator
- item_type = /obj/item/flatpacked_machine/fuel_generator
-
-/datum/armament_entry/company_import/akh_frontier/deployables/rtg
- item_type = /obj/item/flatpacked_machine/rtg
- restricted = TRUE
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm b/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
deleted file mode 100644
index 71d6a2a540d..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
+++ /dev/null
@@ -1,327 +0,0 @@
-/datum/armament_entry/company_import/deforest
- category = COMPANY_NAME_DEFOREST_MEDICAL
- company_bitflag = CARGO_COMPANY_DEFOREST
-
-// Precompiled first aid kits, ready to go if you don't want to bother getting individual items
-
-/datum/armament_entry/company_import/deforest/first_aid_kit
- subcategory = "First-Aid Kits"
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/civil_defense
- item_type = /obj/item/storage/medkit/civil_defense/stocked
- cost = PAYCHECK_COMMAND * 2.5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/comfort
- item_type = /obj/item/storage/medkit/civil_defense/comfort/stocked
- cost = PAYCHECK_COMMAND * 4
- // bubbah price, not adding it to other stuff because i dont want to mess with the changes... would make adjusting it harder, and that shit is overpriced rn
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/frontier
- item_type = /obj/item/storage/medkit/frontier/stocked
- cost = PAYCHECK_COMMAND * 3.5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/combat_surgeon
- item_type = /obj/item/storage/medkit/combat_surgeon/stocked
- cost = PAYCHECK_COMMAND * 3.5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/robo_repair
- item_type = /obj/item/storage/medkit/robotic_repair/stocked
- cost = PAYCHECK_COMMAND * 3.5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/robo_repair_super
- item_type = /obj/item/storage/medkit/robotic_repair/preemo/stocked
- cost = PAYCHECK_COMMAND * 4.5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/first_responder
- item_type = /obj/item/storage/backpack/duffelbag/deforest_surgical/stocked
- cost = PAYCHECK_COMMAND * 10.5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/orange_satchel
- item_type = /obj/item/storage/backpack/duffelbag/deforest_medkit/stocked
- cost = PAYCHECK_COMMAND * 9.5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/technician_satchel
- item_type = /obj/item/storage/backpack/duffelbag/deforest_paramedic/stocked
- cost = PAYCHECK_COMMAND * 11.75
-
-// Basic first aid supplies like gauze, sutures, mesh, so on
-
-/datum/armament_entry/company_import/deforest/first_aid
- subcategory = "First-Aid Consumables"
-
-/datum/armament_entry/company_import/deforest/first_aid/coagulant
- item_type = /obj/item/stack/medical/suture/coagulant
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/first_aid/red_sun
- item_type = /obj/item/stack/medical/ointment/red_sun
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/first_aid/sterile_gauze
- item_type = /obj/item/stack/medical/gauze/sterilized
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/first_aid/suture
- item_type = /obj/item/stack/medical/suture
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/first_aid/ointment
- item_type = /obj/item/stack/medical/ointment
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/first_aid/mesh
- item_type = /obj/item/stack/medical/mesh
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/first_aid/bandaid
- item_type = /obj/item/storage/box/bandages
- cost = PAYCHECK_CREW * 1.5
-
-/datum/armament_entry/company_import/deforest/first_aid/amollin
- item_type = /obj/item/storage/pill_bottle/painkiller
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/deforest/first_aid/robo_patch
- item_type = /obj/item/reagent_containers/applicator/pill/robotic_patch/synth_repair
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/deforest/first_aid/bandaid
- item_type = /obj/item/storage/box/bandages
- cost = PAYCHECK_CREW * 1.5
-
-/datum/armament_entry/company_import/deforest/first_aid/subdermal_splint
- item_type = /obj/item/stack/medical/wound_recovery
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/first_aid/rapid_coagulant
- item_type = /obj/item/stack/medical/wound_recovery/rapid_coagulant
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/first_aid/robofoam
- item_type = /obj/item/stack/medical/wound_recovery/robofoam
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/first_aid/super_robofoam
- item_type = /obj/item/stack/medical/wound_recovery/robofoam_super
- cost = PAYCHECK_COMMAND * 4
-
-// Autoinjectors for healing
-
-/datum/armament_entry/company_import/deforest/medpens
- subcategory = "Medical Autoinjectors"
- cost = PAYCHECK_LOWER * 3
-
-/datum/armament_entry/company_import/deforest/medpens/occuisate
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/occuisate
-
-/datum/armament_entry/company_import/deforest/medpens/morpital
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/morpital
-
-/datum/armament_entry/company_import/deforest/medpens/lipital
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/lipital
-
-/datum/armament_entry/company_import/deforest/medpens/meridine
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/meridine
-
-/datum/armament_entry/company_import/deforest/medpens/calopine
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/calopine
-
-/datum/armament_entry/company_import/deforest/medpens/coagulants
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/coagulants
-
-/datum/armament_entry/company_import/deforest/medpens/lepoturi
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/lepoturi
-
-/datum/armament_entry/company_import/deforest/medpens/psifinil
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/psifinil
-
-/datum/armament_entry/company_import/deforest/medpens/halobinin
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/halobinin
-
-/datum/armament_entry/company_import/deforest/medpens/robo_solder
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/robot_liquid_solder
-
-/datum/armament_entry/company_import/deforest/medpens/robo_cleaner
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/robot_system_cleaner
-
-/datum/armament_entry/company_import/deforest/medpens/pentibinin
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/pentibinin
- contraband = TRUE
-
-// Autoinjectors for fighting
-
-/datum/armament_entry/company_import/deforest/medpens_stim
- subcategory = "Stimulant Autoinjectors"
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/medpens_stim/adrenaline
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/adrenaline
-
-/datum/armament_entry/company_import/deforest/medpens_stim/synephrine
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/synephrine
-
-/datum/armament_entry/company_import/deforest/medpens_stim/krotozine
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/krotozine
-
-/datum/armament_entry/company_import/deforest/medpens_stim/aranepaine
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/aranepaine
- contraband = TRUE
-
-/datum/armament_entry/company_import/deforest/medpens_stim/synalvipitol
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/synalvipitol
- contraband = TRUE
-
-/datum/armament_entry/company_import/deforest/medpens_stim/twitch
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/twitch
- cost = PAYCHECK_COMMAND * 3
- contraband = TRUE
-
-/datum/armament_entry/company_import/deforest/medpens_stim/demoneye
- item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/demoneye
- cost = PAYCHECK_COMMAND * 3
- contraband = TRUE
-
-// Equipment, from defibs to scanners to surgical tools
-
-/datum/armament_entry/company_import/deforest/equipment
- subcategory = "Medical Equipment"
-
-/datum/armament_entry/company_import/deforest/equipment/treatment_zone_projector
- item_type = /obj/item/holosign_creator/medical/treatment_zone
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/equipment/health_analyzer
- item_type = /obj/item/healthanalyzer
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/deforest/equipment/loaded_defib
- item_type = /obj/item/defibrillator/loaded
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/deforest/equipment/loaded_belt_defib
- item_type = /obj/item/defibrillator/compact/loaded
- cost = PAYCHECK_COMMAND*2
-
-/datum/armament_entry/company_import/deforest/equipment/surgical_tools
- item_type = /obj/item/surgery_tray/full
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_health_analyer
- item_type = /obj/item/healthanalyzer/advanced
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/deforest/equipment/penlite_defib_mount
- item_type = /obj/item/wallframe/defib_mount/charging
- cost = PAYCHECK_CREW * 3
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_scalpel
- item_type = /obj/item/scalpel/advanced
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_retractor
- item_type = /obj/item/retractor/advanced
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_cautery
- item_type = /obj/item/cautery/advanced
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_blood_filter
- item_type = /obj/item/blood_filter/advanced
- cost = PAYCHECK_COMMAND * 9
-
-/datum/armament_entry/company_import/deforest/equipment/medigun_upgrade
- item_type = /obj/item/device/custom_kit/medigun_fastcharge
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/equipment/hypospray_upgrade
- item_type = /obj/item/device/custom_kit/deluxe_hypo2
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_hypospray
- item_type = /obj/item/hypospray/mkii/piercing
- cost = PAYCHECK_COMMAND * 7
-
-/datum/armament_entry/company_import/deforest/equipment/afad
- item_type = /obj/item/gun/medbeam/afad
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/equipment/medstation
- item_type = /obj/item/wallframe/frontier_medstation
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/equipment/medhud
- item_type = /obj/item/clothing/glasses/hud/health
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/equipment/medhud_night
- item_type = /obj/item/clothing/glasses/hud/health/night
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/deforest/equipment/medhud_night_sci
- item_type = /obj/item/clothing/glasses/hud/health/night/science
- cost = PAYCHECK_COMMAND * 6
-
-/datum/armament_entry/company_import/deforest/equipment/hypospray_case
- item_type = /obj/item/storage/hypospraykit
- cost = PAYCHECK_LOWER * 2
-
-/datum/armament_entry/company_import/deforest/equipment/hypospray
- item_type = /obj/item/hypospray/mkii
- cost = PAYCHECK_LOWER * 2
-
-// Cybernetics and other things that go inside you
-
-/datum/armament_entry/company_import/deforest/implant
- subcategory = "Cybernetics"
-
-/datum/armament_entry/company_import/deforest/implant/surgery
- item_type = /obj/item/organ/cyberimp/arm/toolkit/surgery
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/implant/toolset
- item_type = /obj/item/organ/cyberimp/arm/toolkit/toolset
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/implant/botany
- item_type = /obj/item/organ/cyberimp/arm/toolkit/botany
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/implant/janitor
- item_type = /obj/item/organ/cyberimp/arm/toolkit/janitor
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/implant/paperwork //Bubber edit, arm implant but for bureaucrats
- item_type = /obj/item/organ/cyberimp/arm/toolkit/paperwork
- cost = PAYCHECK_COMMAND * 5
-
-// Modsuit Modules from the medical category, here instead of in Nakamura because nobody buys from this company
-
-/datum/armament_entry/company_import/deforest/medical_modules
- subcategory = "MOD Medical Modules"
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/deforest/medical_modules/injector
- name = "MOD injector module"
- item_type = /obj/item/mod/module/injector
-
-/datum/armament_entry/company_import/deforest/medical_modules/organizer
- name = "MOD organizer module"
- item_type = /obj/item/mod/module/organizer
-
-/datum/armament_entry/company_import/deforest/medical_modules/patient_transport
- name = "MOD patient transport module"
- item_type = /obj/item/mod/module/criminalcapture/patienttransport
-
-/datum/armament_entry/company_import/deforest/medical_modules/thread_ripper
- name = "MOD thread ripper module"
- item_type = /obj/item/mod/module/thread_ripper
-
-/datum/armament_entry/company_import/deforest/medical_modules/surgical_processor
- name = "MOD surgical processor module"
- item_type = /obj/item/mod/module/surgical_processor
-
-/datum/armament_entry/company_import/deforest/medical_modules/defibrillator
- name = "MOD defibrillator module"
- item_type = /obj/item/mod/module/defibrillator
-
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm b/modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm
deleted file mode 100644
index 950799dcc61..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm
+++ /dev/null
@@ -1,66 +0,0 @@
-/datum/armament_entry/company_import/blacksteel
- category = COMPANY_NAME_BLACKSTEEL_FOUNDATION
- company_bitflag = CARGO_COMPANY_BLACKSTEEL
-
-// A collection of melee weapons fitting the company's more exotic feeling weapon selection
-
-/datum/armament_entry/company_import/blacksteel/blade
- subcategory = "Bladed Weapons"
-
-/datum/armament_entry/company_import/blacksteel/blade/hunting_knife
- item_type = /obj/item/knife/hunting
- cost = PAYCHECK_CREW * 2
-
-/datum/armament_entry/company_import/blacksteel/blade/survival_knife
- item_type = /obj/item/knife/combat/survival
- cost = PAYCHECK_CREW * 2
-
-/datum/armament_entry/company_import/blacksteel/blade/bowie_knife
- item_type = /obj/item/storage/belt/bowie_sheath
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/blacksteel/blade/shamshir_sabre
- item_type = /obj/item/storage/belt/sheath/sabre/cargo
- cost = PAYCHECK_COMMAND * 6
-
-// Forging tools, blacksteel company sells the tools and materials they use as well!
-
-/datum/armament_entry/company_import/blacksteel/forging_tools
- subcategory = "Premium Forging Equipment"
-
-/datum/armament_entry/company_import/blacksteel/forging_tools/billows
- item_type = /obj/item/forging/billow
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/blacksteel/forging_tools/hammer
- item_type = /obj/item/forging/hammer
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/blacksteel/forging_tools/tongs
- item_type = /obj/item/forging/tongs
- cost = PAYCHECK_LOWER
-
-// Fancy sounding and looking bars of metal that most definitely aren't just common metals with a fancy sounding name
-
-/datum/armament_entry/company_import/blacksteel/forging_metals
- subcategory = "Premium Metal Supplies"
-
-/datum/armament_entry/company_import/blacksteel/forging_metals/fake_cobalt
- item_type = /obj/item/stack/sheet/cobolterium/three
- description = "A three-pack of our finest cobolterium alloy, with an unmatched regal blue color for creating the strongest metalworks from."
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/blacksteel/forging_metals/fake_copper
- item_type = /obj/item/stack/sheet/copporcitite/three
- description = "A three-pack of our finest copporcitite alloy, with a powerful, fiery orange color for creating the strongest metalworks from."
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/blacksteel/forging_metals/fake_really_blue_aluminum
- item_type = /obj/item/stack/sheet/tinumium/three
- description = "A three-pack of our finest tinumium alloy, with a mystical faded blue color for creating the strongest metalworks from."
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/blacksteel/forging_metals/fake_brass
- item_type = /obj/item/stack/sheet/brussite/three
- description = "A three-pack of our finest brussite alloy, with a robust yellow color for creating the strongest metalworks from."
- cost = PAYCHECK_CREW
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm b/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm
deleted file mode 100644
index f47c547867a..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm
+++ /dev/null
@@ -1,134 +0,0 @@
-/datum/armament_entry/company_import/kahraman
- category = COMPANY_NAME_KAHRAMAN_INDUSTRIES
- company_bitflag = CARGO_COMPANY_KAHRAMAN
-
-/// Kahraman-made machines
-/datum/armament_entry/company_import/kahraman/machinery
- subcategory = "Machinery"
-
-/datum/armament_entry/company_import/kahraman/machinery/biogenerator
- item_type = /obj/item/flatpacked_machine/organics_printer
- description = "An advanced machine seen in frontier outposts and colonies capable of turning organic plant matter into \
- reagents and items of use that a fabricator can't typically make."
- cost = CARGO_CRATE_VALUE * 3
-
-/datum/armament_entry/company_import/kahraman/machinery/ore_thumper
- item_type = /obj/item/flatpacked_machine/ore_thumper
- description = "A frame with a heavy block of metal suspended atop a pipe. \
- Must be deployed outdoors and given a wired power connection. \
- Forces pressurized gas into the ground which brings up buried resources."
- cost = CARGO_CRATE_VALUE * 5
-
-/datum/armament_entry/company_import/kahraman/machinery/gps_beacon
- item_type = /obj/item/flatpacked_machine/gps_beacon
- description = "A packed GPS beacon, can be deployed and anchored into the ground to \
- provide and unobstructed homing beacon for wayward travelers across the galaxy."
- cost = PAYCHECK_LOWER
-
-// Mining PPE, SEVAs and hardhats, have you passed your OSHA inspection today?
-
-/datum/armament_entry/company_import/kahraman/ppe
- subcategory = "FOHSA Certified Protective Equipment"
-
-/datum/armament_entry/company_import/kahraman/ppe/weldhat
- item_type = /obj/item/clothing/head/utility/hardhat/welding/orange
- cost = PAYCHECK_CREW * 1.5
-
-/datum/armament_entry/company_import/kahraman/ppe/gasmask
- item_type = /obj/item/clothing/mask/gas/alt
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/kahraman/ppe/hazard_vest
- item_type = /obj/item/clothing/suit/hazardvest
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/kahraman/ppe/seva_mask
- item_type = /obj/item/clothing/mask/gas/seva
- cost = PAYCHECK_CREW * 1.5
-
-/datum/armament_entry/company_import/kahraman/ppe/seva_suit
- item_type = /obj/item/clothing/suit/hooded/seva
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/kahraman/ppe/sensors_cuffs
- item_type = /obj/item/clothing/accessory/kheiral_cuffs
- cost = PAYCHECK_COMMAND * 5
-
-// Hand held mining equipment
-
-/datum/armament_entry/company_import/kahraman/mining_tool
- subcategory = "Powered Mining Equipment"
-
-/datum/armament_entry/company_import/kahraman/mining_tool/drill
- item_type = /obj/item/pickaxe/drill
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/kahraman/mining_tool/resonator
- item_type = /obj/item/resonator
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/kahraman/mining_tool/pka
- item_type = /obj/item/gun/energy/recharge/kinetic_accelerator
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/kahraman/mining_tool/cutter
- item_type = /obj/item/gun/energy/plasmacutter
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/kahraman/mining_tool/diamond_drill
- item_type = /obj/item/pickaxe/drill/diamonddrill
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/kahraman/mining_tool/advanced_cutter
- item_type = /obj/item/gun/energy/plasmacutter/adv
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/kahraman/mining_tool/super_resonator
- item_type = /obj/item/resonator/upgraded
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/kahraman/mining_tool/jackhammer
- item_type = /obj/item/pickaxe/drill/jackhammer
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/kahraman/sensing
- subcategory = "Sensing Equipment"
-
-/datum/armament_entry/company_import/kahraman/sensing/mesons
- item_type = /obj/item/clothing/glasses/meson
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/kahraman/sensing/autoscanner
- item_type = /obj/item/t_scanner/adv_mining_scanner/lesser
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/kahraman/sensing/super_autoscanner
- item_type = /obj/item/t_scanner/adv_mining_scanner
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/kahraman/sensing/nvg_mesons
- item_type = /obj/item/clothing/glasses/meson/night
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/kahraman/mecha_tools
- subcategory = "Heavy Powered Mining Equipment"
-
-/datum/armament_entry/company_import/kahraman/mecha_tools/scanner
- item_type = /obj/item/mecha_parts/mecha_equipment/mining_scanner
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/kahraman/mecha_tools/drill
- item_type = /obj/item/mecha_parts/mecha_equipment/drill
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/kahraman/mecha_tools/pka
- item_type = /obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun
- cost = PAYCHECK_CREW * 3
-
-/datum/armament_entry/company_import/kahraman/mecha_tools/diamond_drill
- item_type = /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill
- cost = PAYCHECK_CREW * 3
-
-/datum/armament_entry/company_import/kahraman/mecha_tools/cutter
- item_type = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma
- cost = PAYCHECK_CREW * 3
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/nri_military_surplus.dm b/modular_skyrat/modules/company_imports/code/armament_datums/nri_military_surplus.dm
deleted file mode 100644
index 172a52f35f4..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/nri_military_surplus.dm
+++ /dev/null
@@ -1,165 +0,0 @@
-/datum/armament_entry/company_import/nri_surplus
- category = COMPANY_NAME_NRI_SURPLUS
- company_bitflag = CARGO_COMPANY_NRI_SURPLUS
-
-// Various NRI clothing items
-
-/datum/armament_entry/company_import/nri_surplus/clothing
- subcategory = "Clothing Supplies"
-
-/datum/armament_entry/company_import/nri_surplus/clothing/uniform
- item_type = /obj/item/clothing/under/syndicate/rus_army/cin_surplus/random_color
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nri_surplus/clothing/belt
- item_type = /obj/item/storage/belt/military/cin_surplus/random_color
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nri_surplus/clothing/backpack
- item_type = /obj/item/storage/backpack/industrial/cin_surplus/random_color
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nri_surplus/clothing/gas_mask
- item_type = /obj/item/clothing/mask/gas/hecu2
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nri_surplus/clothing/helmet
- item_type = /obj/item/clothing/head/helmet/cin_surplus_helmet/random_color
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/nri_surplus/clothing/vest
- item_type = /obj/item/clothing/suit/armor/vest/cin_surplus_vest
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/nri_surplus/clothing/police_uniform
- item_type = /obj/item/clothing/under/colonial/nri_police
- cost = PAYCHECK_CREW
- restricted = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/clothing/police_cloak
- item_type = /obj/item/clothing/neck/cloak/colonial/nri_police
- cost = PAYCHECK_CREW
- restricted = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/clothing/police_cap
- item_type = /obj/item/clothing/head/hats/colonial/nri_police
- cost = PAYCHECK_CREW
- restricted = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/clothing/police_mask
- item_type = /obj/item/clothing/mask/gas/nri_police
- cost = PAYCHECK_CREW*2
- restricted = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/clothing/police_vest
- item_type = /obj/item/clothing/head/helmet/nri_police
- cost = PAYCHECK_COMMAND
- restricted = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/clothing/police_helmet
- item_type = /obj/item/clothing/suit/armor/vest/nri_police
- cost = PAYCHECK_COMMAND
- restricted = TRUE
-
-// Random surplus store tier stuff, flags, old rations, multitools you'll never use, so on
-
-/datum/armament_entry/company_import/nri_surplus/misc
- subcategory = "Miscellaneous Supplies"
-
-/datum/armament_entry/company_import/nri_surplus/misc/flares
- item_type = /obj/item/storage/box/nri_flares
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/nri_surplus/misc/binoculars
- item_type = /obj/item/binoculars
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nri_surplus/misc/screwdriver_pen
- item_type = /obj/item/pen/screwdriver
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nri_surplus/misc/trench_tool
- item_type = /obj/item/trench_tool
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nri_surplus/misc/food_replicator
- description = "Once widespread technology used by numerous fringe colonies of NRI origin and even in some TerraGov territories, that ultimately went out of fashion due to \
- TerraGov propaganda deeming it unprofitable and imposing severe trading fees on anyone trying to sell them. A small portion of government-backed manufacturers still produce \
- 'food replicators' for private and government use; a few of them is selling this via us."
- item_type = /obj/item/circuitboard/machine/biogenerator/food_replicator
- cost = CARGO_CRATE_VALUE * 9
-
-/datum/armament_entry/company_import/nri_surplus/misc/nri_flag
- item_type = /obj/item/sign/flag/nri
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/nri_surplus/firearm
- subcategory = "Firearms"
-/*
-/datum/armament_entry/company_import/nri_surplus/firearm/shotgun_revolver
- item_type = /obj/item/gun/ballistic/revolver/shotgun_revolver
- cost = PAYCHECK_COMMAND * 6
- contraband = TRUE
- restricted = TRUE
-
-//Even if they're weapon, I'd argue they can technically be considered mining tools, which is why they will stay there
-
-/datum/armament_entry/company_import/nri_surplus/firearm/plasma_thrower
- item_type = /obj/item/gun/ballistic/automatic/pistol/plasma_thrower
- cost = PAYCHECK_COMMAND * 6
-
-/datum/armament_entry/company_import/nri_surplus/firearm/plasma_marksman
- item_type = /obj/item/gun/ballistic/automatic/pistol/plasma_marksman
- cost = PAYCHECK_COMMAND * 6
-
-/datum/armament_entry/company_import/nri_surplus/firearm/miecz
- item_type = /obj/item/gun/ballistic/automatic/miecz
- cost = PAYCHECK_COMMAND * 10
- contraband = TRUE
- restricted = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/firearm/sakhno_rifle
- item_type = /obj/item/gun/ballistic/rifle/boltaction
- cost = PAYCHECK_COMMAND * 12
- contraband = TRUE
- restricted = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/firearm/lanca
- item_type = /obj/item/gun/ballistic/automatic/lanca
- contraband = TRUE
- cost = PAYCHECK_COMMAND * 14
- restricted = TRUE
-*/ //Bubber Edit: Disables Lanca, Sakhno, Bobr, and other
-//Begone
-/*
-/datum/armament_entry/company_import/nri_surplus/firearm/anti_materiel_rifle
- item_type = /obj/item/gun/ballistic/automatic/wylom
- contraband = TRUE
- cost = PAYCHECK_COMMAND * 16
- restricted = TRUE
-*/
-
-/datum/armament_entry/company_import/nri_surplus/firearm_ammo
- subcategory = "Firearm Magazines"
- cost = PAYCHECK_CREW
-/*
-/datum/armament_entry/company_import/nri_surplus/firearm_ammo/plasma_battery
- item_type = /obj/item/ammo_box/magazine/recharge/plasma_battery
-
-/datum/armament_entry/company_import/nri_surplus/firearm_ammo/miecz
- item_type = /obj/item/ammo_box/magazine/miecz/spawns_empty
- contraband = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/firearm_ammo/sakhno
- item_type = /obj/item/ammo_box/strilka310
- contraband = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/firearm_ammo/lanca
- item_type = /obj/item/ammo_box/magazine/lanca/spawns_empty
- contraband = TRUE
-
-/datum/armament_entry/company_import/nri_surplus/firearm_ammo/amr_magazine
- item_type = /obj/item/ammo_box/magazine/wylom
- contraband = TRUE
- cost = PAYCHECK_CREW * 3
-*/
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/put_a_donk_on_it.dm b/modular_skyrat/modules/company_imports/code/armament_datums/put_a_donk_on_it.dm
deleted file mode 100644
index 913ada85590..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/put_a_donk_on_it.dm
+++ /dev/null
@@ -1,140 +0,0 @@
-/datum/armament_entry/company_import/donk
- category = COMPANY_NAME_DONK_CO
- company_bitflag = CARGO_COMPANY_DONK
-
-// Donk Co foods, like donk pockets and ready donk
-
-/datum/armament_entry/company_import/donk/food
- subcategory = "Microwave Foods"
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/food/ready_donk
- item_type = /obj/item/food/ready_donk
-
-/datum/armament_entry/company_import/donk/food/ready_donkhiladas
- item_type = /obj/item/food/ready_donk/donkhiladas
-
-/datum/armament_entry/company_import/donk/food/ready_donk_n_cheese
- item_type = /obj/item/food/ready_donk/mac_n_cheese
-
-/datum/armament_entry/company_import/donk/food/pockets
- item_type = /obj/item/storage/box/donkpockets
-
-/datum/armament_entry/company_import/donk/food/berry_pockets
- item_type = /obj/item/storage/box/donkpockets/donkpocketberry
-
-/datum/armament_entry/company_import/donk/food/honk_pockets
- item_type = /obj/item/storage/box/donkpockets/donkpockethonk
-
-/datum/armament_entry/company_import/donk/food/pizza_pockets
- item_type = /obj/item/storage/box/donkpockets/donkpocketpizza
-
-/datum/armament_entry/company_import/donk/food/spicy_pockets
- item_type = /obj/item/storage/box/donkpockets/donkpocketspicy
-
-/datum/armament_entry/company_import/donk/food/teriyaki_pockets
- item_type = /obj/item/storage/box/donkpockets/donkpocketteriyaki
-
-// Random donk toy items, fake jumpsuits, balloons, so on
-
-// Donk merch gives you more interest than other items, buy donk bling and get company interest faster!
-
-/datum/armament_entry/company_import/donk/merch
- subcategory = "Donk Co. Merchandise"
-
-/datum/armament_entry/company_import/donk/merch/donk_carpet
- item_type = /obj/item/stack/tile/carpet/donk/thirty
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/merch/tacticool_turtleneck
- item_type = /obj/item/clothing/under/syndicate/tacticool
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/merch/tacticool_turtleneck_skirt
- item_type = /obj/item/clothing/under/syndicate/tacticool/skirt
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/merch/fake_centcom_turtleneck
- item_type = /obj/item/clothing/under/rank/centcom/officer/replica
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/merch/fake_centcom_turtleneck_skirt
- item_type = /obj/item/clothing/under/rank/centcom/officer_skirt/replica
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/merch/snack_rig
- item_type = /obj/item/storage/belt/military/snack
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/donk/merch/fake_syndie_suit
- item_type = /obj/item/storage/box/fakesyndiesuit
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/merch/valid_bloon
- item_type = /obj/item/toy/balloon/arrest
- cost = PAYCHECK_CREW
-
-// Donksoft weapons
-
-/datum/armament_entry/company_import/donk/foamforce
- subcategory = "Foam Force (TM) Blasters"
-
-/datum/armament_entry/company_import/donk/foamforce/foam_pistol
- item_type = /obj/item/gun/ballistic/automatic/pistol/toy
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/donk/foamforce/foam_shotgun
- item_type = /obj/item/gun/ballistic/shotgun/toy/riot
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/donk/foamforce/foam_smg
- item_type = /obj/item/gun/ballistic/automatic/toy/riot
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/donk/foamforce/foam_c20
- item_type = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/donk/foamforce/foam_lmg
- item_type = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/donk/foamforce/foam_turret
- item_type = /obj/item/storage/toolbox/emergency/turret/mag_fed/toy/pre_filled
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/donk/mod_modules
- subcategory = "Donk Co. MOD modules"
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/donk/mod_modules/dart_collector_safe
- item_type = /obj/item/mod/module/recycler/donk/safe
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/donk/mod_modules/dart_collector
- item_type = /obj/item/mod/module/recycler/donk
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/donk/foamforce_ammo
- subcategory = "Foam Force (TM) Dart Accessories"
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/donk/foamforce_ammo/darts
- item_type = /obj/item/ammo_box/foambox
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/donk/foamforce_ammo/riot_darts
- item_type = /obj/item/ammo_box/foambox/riot
- cost = PAYCHECK_COMMAND * 1.5
-
-/datum/armament_entry/company_import/donk/foamforce_ammo/pistol_mag
- item_type = /obj/item/ammo_box/magazine/toy/pistol
-
-/datum/armament_entry/company_import/donk/foamforce_ammo/smg_mag
- item_type = /obj/item/ammo_box/magazine/toy/smg
-
-/datum/armament_entry/company_import/donk/foamforce_ammo/smgm45_mag
- item_type = /obj/item/ammo_box/magazine/toy/smgm45
-
-/datum/armament_entry/company_import/donk/foamforce_ammo/m762_mag
- item_type = /obj/item/ammo_box/magazine/toy/m762
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm b/modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm
deleted file mode 100644
index 413b2a0f49c..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm
+++ /dev/null
@@ -1,150 +0,0 @@
-/datum/armament_entry/company_import/sol_defense
- category = COMPANY_NAME_SOL_DEFENSE_DEFENSE
- company_bitflag = CARGO_COMPANY_SOL_DEFENSE
-
-// Beautiful TerraGov clothing
-
-/datum/armament_entry/company_import/sol_defense/clothing
- subcategory = "Surplus Clothing"
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/sol_defense/clothing/peacekeeper
- item_type = /obj/item/clothing/under/sol_peacekeeper
-
-/datum/armament_entry/company_import/sol_defense/clothing/emt
- item_type = /obj/item/clothing/under/sol_emt
-
-// Armor vests for protecting against bullets
-
-/datum/armament_entry/company_import/sol_defense/armor
- subcategory = "Ballistic Armor"
- cost = PAYCHECK_CREW * 6 //Bubber edit: Doubles the price of the ballistic armor
-
-/datum/armament_entry/company_import/sol_defense/armor/ballistic_helmet
- item_type = /obj/item/clothing/head/helmet/sf_peacekeeper/debranded
-
-/datum/armament_entry/company_import/sol_defense/armor/sf_ballistic_helmet
- item_type = /obj/item/clothing/head/helmet/sf_peacekeeper
-
-/datum/armament_entry/company_import/sol_defense/armor/soft_vest
- item_type = /obj/item/clothing/suit/armor/sf_peacekeeper/debranded
-
-/datum/armament_entry/company_import/sol_defense/armor/sf_soft_vest
- item_type = /obj/item/clothing/suit/armor/sf_peacekeeper
-
-/datum/armament_entry/company_import/sol_defense/armor/flak_jacket
- item_type = /obj/item/clothing/suit/armor/vest/det_suit/terra
-
-/datum/armament_entry/company_import/sol_defense/armor/slim_vest
- name = "type I vest"
- item_type = /obj/item/clothing/suit/armor/vest
-
-/datum/armament_entry/company_import/sol_defense/armor_hardened
- subcategory = "Hardened Armor"
- cost = PAYCHECK_CREW * 6 //Bubber edit: Doubles the price of the hardened armor
-
-/datum/armament_entry/company_import/sol_defense/armor_hardened/enclosed_helmet
- item_type = /obj/item/clothing/head/helmet/toggleable/sf_hardened
-
-/datum/armament_entry/company_import/sol_defense/armor_hardened/emt_enclosed_helmet
- item_type = /obj/item/clothing/head/helmet/toggleable/sf_hardened/emt
-
-/datum/armament_entry/company_import/sol_defense/armor_hardened/hardened_vest
- item_type = /obj/item/clothing/suit/armor/sf_hardened
-
-/datum/armament_entry/company_import/sol_defense/armor_hardened/emt_hardened_vest
- item_type = /obj/item/clothing/suit/armor/sf_hardened/emt
-
-/datum/armament_entry/company_import/sol_defense/armor_sacrifice
- subcategory = "Sacrifical Armor"
- cost = PAYCHECK_CREW * 3
-
-/datum/armament_entry/company_import/sol_defense/armor_sacrifice/sacrificial_helmet
- item_type = /obj/item/clothing/head/helmet/sf_sacrificial
-
-/datum/armament_entry/company_import/sol_defense/armor_sacrifice/face_shield
- item_type = /obj/item/sacrificial_face_shield
- cost = PAYCHECK_LOWER
-
-/datum/armament_entry/company_import/sol_defense/armor_sacrifice/sacrificial_vest
- item_type = /obj/item/clothing/suit/armor/sf_sacrificial
-
-
-//You can still buy it from cargo side
-//If cargo decides to agree with sec on a compromise then good job
-
-/*
-/datum/armament_entry/company_import/sol_defense/sidearm/skild
- item_type = /obj/item/gun/ballistic/automatic/pistol/trappiste
- cost = PAYCHECK_COMMAND * 6
- restricted = TRUE
- contraband = TRUE
-
-/datum/armament_entry/company_import/sol_defense/sidearm/takbok
- item_type = /obj/item/gun/ballistic/revolver/takbok
- cost = PAYCHECK_COMMAND * 6
- contraband = TRUE
- restricted = TRUE
-*/
-// Lethal anything that's not a pistol, requires high company interest
-
-/*
-/datum/armament_entry/company_import/sol_defense/longarm/renoster
- item_type = /obj/item/gun/ballistic/shotgun/riot/sol
- cost = PAYCHECK_COMMAND * 6
-
-/datum/armament_entry/company_import/sol_defense/longarm/sindano
- item_type = /obj/item/gun/ballistic/automatic/sol_smg
- cost = PAYCHECK_COMMAND * 6
-
-/datum/armament_entry/company_import/sol_defense/longarm/elite
- item_type = /obj/item/gun/ballistic/automatic/sol_rifle/marksman
- cost = PAYCHECK_COMMAND * 8
-*/
-
-//ShaytanAndVest
-//These are new - added by Bangle. Framework for additional conversion kits as deemed appropriate by maintainers.
-
-/*
-
-
-
-/datum/armament_entry/company_import/sol_defense/longarm/bogseo
- item_type = /obj/item/gun/ballistic/automatic/xhihao_smg
- cost = PAYCHECK_COMMAND * 10
- contraband = TRUE
-//Begone
-
-
-/datum/armament_entry/company_import/sol_defense/longarm/infanterie
- item_type = /obj/item/gun/ballistic/automatic/sol_rifle
- cost = PAYCHECK_COMMAND * 14
- // contraband = TRUE - Bubberstation Edit
-
-These one are simply rediculous, but we'll keep it there incase someone has idea
-/datum/armament_entry/company_import/sol_defense/longarm/outomaties
- item_type = /obj/item/gun/ballistic/automatic/sol_rifle/machinegun
- cost = PAYCHECK_COMMAND * 23
- contraband = TRUE
-
-/datum/armament_entry/company_import/sol_defense/longarm/kiboko
- item_type = /obj/item/gun/ballistic/automatic/sol_grenade_launcher
- cost = PAYCHECK_COMMAND * 46
- contraband = TRUE
-
-*/
-
-/datum/armament_entry/company_import/sol_defense/magazines
- subcategory = "Magazines"
- cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/sol_defense/magazines/sol_grenade_standard
- item_type = /obj/item/ammo_box/magazine/c980_grenade/starts_empty
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/sol_defense/magazines/sol_grenade_drum
- item_type = /obj/item/ammo_box/magazine/c980_grenade/drum/starts_empty
- cost = PAYCHECK_CREW * 3
- contraband = TRUE
-
-//These two don't really bothers me
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm b/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm
deleted file mode 100644
index bb174ba76ee..00000000000
--- a/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm
+++ /dev/null
@@ -1,98 +0,0 @@
-/datum/armament_entry/company_import/vitezstvi
- category = COMPANY_NAME_VITEZSTVI_AMMO
- company_bitflag = CARGO_COMPANY_VITEZSTVI_AMMO
-
-/datum/armament_entry/company_import/vitezstvi/ammo_bench
- subcategory = "Ammunition Manufacturing Equipment"
-
-/datum/armament_entry/company_import/vitezstvi/ammo_bench/bench_itself
- item_type = /obj/item/circuitboard/machine/ammo_workbench
- cost = PAYCHECK_COMMAND * 5
-/*
-/datum/armament_entry/company_import/vitezstvi/ammo_bench/ammo_disk
- item_type = /obj/item/disk/ammo_workbench/advanced
- cost = PAYCHECK_COMMAND * 5
-*/
-
-/datum/armament_entry/company_import/vitezstvi/ammo_bench/bullet_drive
- item_type = /obj/item/circuitboard/machine/dish_drive/bullet
- cost = PAYCHECK_COMMAND * 2
-
-// Weapon accessories
-
-/datum/armament_entry/company_import/vitezstvi/accessory
- subcategory = "Weapon Accessories"
-
-/datum/armament_entry/company_import/vitezstvi/accessory/suppressor
- item_type = /obj/item/suppressor/standard
- cost = PAYCHECK_COMMAND
-
-/*
-/datum/armament_entry/company_import/vitezstvi/accessory/small_case
- item_type = /obj/item/storage/toolbox/guncase/skyrat/pistol/empty
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/vitezstvi/accessory/large_case
- item_type = /obj/item/storage/toolbox/guncase/skyrat/empty
- cost = PAYCHECK_COMMAND * 2
-*/
-
-// Boxes of non-shotgun ammo
-
-// Revolver speedloaders
-
-/datum/armament_entry/company_import/vitezstvi/speedloader
- subcategory = "Speedloaders"
- cost = PAYCHECK_CREW * 2
-
-/datum/armament_entry/company_import/vitezstvi/speedloader/detective_lethal
- item_type = /obj/item/ammo_box/speedloader/c38
-
-/datum/armament_entry/company_import/vitezstvi/speedloader/detective_dumdum
- item_type = /obj/item/ammo_box/speedloader/c38/dumdum
-
-/datum/armament_entry/company_import/vitezstvi/speedloader/detective_bouncy
- item_type = /obj/item/ammo_box/speedloader/c38/match
-
-// Shotgun boxes
-
-
-/datum/armament_entry/company_import/vitezstvi/shot_shells
- subcategory = "Shotgun Shells"
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/vitezstvi/shot_shells/beanbag_slugs
- item_type = /obj/item/ammo_box/advanced/s12gauge/bean
-
-/datum/armament_entry/company_import/vitezstvi/shot_shells/rubbershot
- item_type = /obj/item/ammo_box/advanced/s12gauge/rubber
-
-/datum/armament_entry/company_import/vitezstvi/shot_shells/hunter_slug
- item_type = /obj/item/ammo_box/advanced/s12gauge/hunter
-
-/datum/armament_entry/company_import/vitezstvi/shot_shells/confetti
- item_type = /obj/item/ammo_box/advanced/s12gauge/honkshot
- cost = PAYCHECK_LOWER
-
-// Boxes of kiboko launcher ammo
-
-/datum/armament_entry/company_import/vitezstvi/grenade_shells
- subcategory = "Grenade Shells"
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/vitezstvi/grenade_shells/practice
- item_type = /obj/item/ammo_box/c980grenade
-
-/datum/armament_entry/company_import/vitezstvi/grenade_shells/smoke
- item_type = /obj/item/ammo_box/c980grenade/smoke
-
-/datum/armament_entry/company_import/vitezstvi/grenade_shells/riot
- item_type = /obj/item/ammo_box/c980grenade/riot
-
-/datum/armament_entry/company_import/vitezstvi/grenade_shells/shrapnel
- item_type = /obj/item/ammo_box/c980grenade/shrapnel
- contraband = TRUE
-
-/datum/armament_entry/company_import/vitezstvi/grenade_shells/phosphor
- item_type = /obj/item/ammo_box/c980grenade/shrapnel/phosphor
- contraband = TRUE
diff --git a/modular_skyrat/modules/company_imports/code/company_datums.dm b/modular_skyrat/modules/company_imports/code/company_datums.dm
deleted file mode 100644
index d33c476ff60..00000000000
--- a/modular_skyrat/modules/company_imports/code/company_datums.dm
+++ /dev/null
@@ -1,98 +0,0 @@
-/datum/cargo_company
- /// Name of the company
- var/name
- /// Bitflag that should match what guns the company produces
- var/company_flag
- /// If the company needs a multitooled console to see
- var/illegal = FALSE
- /// Var for internal calculations, don't touch
- var/base_cost = 0
- /// How much the company costs, can shift over time
- var/cost = 0
- /// Multiplier added to the cost before showing the final price to the user
- var/cost_mult = 1
- /// On a subsystem fire, will lower/raise company values by a random value between lower and upper
- var/cost_change_lower = -100
- /// On a subsystem fire, will lower/raise company values by a random value between lower and upper
- var/cost_change_upper = 100
- /// If this company can be picked to be a handout company to start
- var/can_roundstart_pick = TRUE
- /// The "interest" value of the company, to determine how much stock the company has, goes down passively and is raised by things being bought
- var/interest = 0
- /// Multiplier for magazine costs
- var/magazine_cost_mult = 1
-
-// Jarnsmiour sells some melee weapons and some forging related items
-/datum/cargo_company/jarnsmiour
- name = COMPANY_NAME_BLACKSTEEL_FOUNDATION
- company_flag = CARGO_COMPANY_BLACKSTEEL
- cost = 3000
- cost_change_lower = 0
- cost_change_upper = 3000
-
-// Sells NRI military surplus clothing, gear, and a few firearms
-/datum/cargo_company/nri_surplus
- name = COMPANY_NAME_NRI_SURPLUS
- company_flag = CARGO_COMPANY_NRI_SURPLUS
- cost = 3000
- cost_change_lower = -1000
- cost_change_upper = 2000
- can_roundstart_pick = FALSE
-
-// DeForest sells medical supplies of most types
-/datum/cargo_company/deforest_medical
- name = COMPANY_NAME_DEFOREST_MEDICAL
- company_flag = CARGO_COMPANY_DEFOREST
- cost = 9000
- cost_change_lower = -1000
- cost_change_upper = 4000
-
-// Donk sells donk co branded stuff, microwave foods, donk co merch, and donksoft guns
-/datum/cargo_company/donk
- name = COMPANY_NAME_DONK_CO
- company_flag = CARGO_COMPANY_DONK
- cost = 3000
- cost_change_lower = -1000
- cost_change_upper = 2000
-
-// Kahraman sells industrial grade mining equipment
-
-/datum/cargo_company/kahraman
- name = COMPANY_NAME_KAHRAMAN_INDUSTRIES
- company_flag = CARGO_COMPANY_KAHRAMAN
- cost = 6000
- cost_change_lower = -1000
- cost_change_upper = 3000
-
-// Sells unique construction supplies that the station can't normally obtain
-/datum/cargo_company/akh_frontier
- name = COMPANY_NAME_FRONTIER_EQUIPMENT
- company_flag = CARGO_COMPANY_FRONTIER_EQUIPMENT
-
-// A coalition between nt and bolt to sell personal defense equipment and weapons
-/datum/cargo_company/nanotrasen_bolt_weapons
- name = COMPANY_NAME_SOL_DEFENSE_DEFENSE
- company_flag = CARGO_COMPANY_SOL_DEFENSE
- cost = 6000
- cost_change_lower = -1000
- cost_change_upper = 4000
- can_roundstart_pick = FALSE
-
-// Micron control systems energy lineup.
-/datum/cargo_company/microstar_energy_weapons
- name = COMPANY_NAME_MICRON_CONTROL_SYSTEMS
- company_flag = CARGO_COMPANY_MICRON
- cost = 6000
- cost_change_lower = -1000
- cost_change_upper = 4000
- can_roundstart_pick = FALSE
-
-
-// Vitzstvi sells ammo boxes and speedloaders for most of the weapons sold by other companies
-/datum/cargo_company/vitezstvi_ammo
- name = COMPANY_NAME_VITEZSTVI_AMMO
- company_flag = CARGO_COMPANY_VITEZSTVI_AMMO
- cost = 3000
- cost_change_lower = -1000
- cost_change_upper = 2000
- can_roundstart_pick = FALSE
diff --git a/modular_skyrat/modules/company_imports/code/datums/cargo_order.dm b/modular_skyrat/modules/company_imports/code/datums/cargo_order.dm
deleted file mode 100644
index f79599bc6e4..00000000000
--- a/modular_skyrat/modules/company_imports/code/datums/cargo_order.dm
+++ /dev/null
@@ -1,27 +0,0 @@
-/datum/supply_order/company_import
- /// The armament entry used to fill the supply order
- var/datum/armament_entry/company_import/selected_entry
- /// The component used to create the order
- var/datum/component/armament/company_imports/used_component
-
-/datum/supply_order/company_import/Destroy(force, ...)
- selected_entry = null
- used_component = null
- . = ..()
-
-/datum/supply_order/company_import/proc/reimburse_armament()
- if(!selected_entry || !used_component)
- return
- used_component.purchased_items[selected_entry]--
-
-/// A proc to be overriden if you want custom code to happen when SSshuttle spawns the order
-/datum/supply_order/proc/on_spawn()
- return
-
-/datum/supply_order/generate(atom/A)
- . = ..()
-
- if(!.)
- return
-
- on_spawn()
diff --git a/modular_skyrat/modules/company_imports/code/objects/cargo_console_and_case.dm b/modular_skyrat/modules/company_imports/code/objects/cargo_console_and_case.dm
index 5e226715d95..3b8e9d39ec4 100644
--- a/modular_skyrat/modules/company_imports/code/objects/cargo_console_and_case.dm
+++ b/modular_skyrat/modules/company_imports/code/objects/cargo_console_and_case.dm
@@ -1,6 +1,3 @@
-/obj/machinery/computer/cargo/Initialize(mapload)
- . = ..()
- AddComponent(/datum/component/armament/company_imports, subtypesof(/datum/armament_entry/company_import), 0)
/obj/item/storage/lockbox/order
/// Bool if this was departmentally ordered or not
diff --git a/modular_zubbers/code/modules/cargo/expressconsole.dm b/modular_zubbers/code/modules/cargo/expressconsole.dm
index eb7433b06a9..91216424e00 100644
--- a/modular_zubbers/code/modules/cargo/expressconsole.dm
+++ b/modular_zubbers/code/modules/cargo/expressconsole.dm
@@ -6,72 +6,21 @@
/obj/machinery/computer/cargo/express/interdyne
name = "interdyne express supply console"
desc = "A standard NT express console, hacked by Gorlex Industries to use \
- their own experimental \"1100mm Rail Cannon\", made to be extra robust to prevent \
- being emagged by the Syndicate cadets of the SSV Dauntless."
+ their own experimental \"1100mm Rail Cannon\", made to be extra robust to prevent \
+ being emagged by the Syndicate cadets of the SSV Dauntless."
circuit = /obj/item/circuitboard/computer/cargo/express/interdyne
req_access = list(ACCESS_SYNDICATE)
cargo_account = ACCOUNT_INT
contraband = TRUE
- var/allowed_categories = list(COMPANY_NAME_VITEZSTVI_AMMO, //used for company items import supports companies and specific categories
- COMPANY_NAME_ALLSTAR_ENERGY,
- COMPANY_NAME_MICRON_CONTROL_SYSTEMS,
- COMPANY_NAME_SOL_DEFENSE_DEFENSE,
- COMPANY_NAME_FRONTIER_EQUIPMENT,
- COMPANY_NAME_KAHRAMAN_INDUSTRIES,
- COMPANY_NAME_DONK_CO,
- COMPANY_NAME_DEFOREST_MEDICAL,
- COMPANY_NAME_NRI_SURPLUS,
- COMPANY_NAME_BLACKSTEEL_FOUNDATION,
- )
pod_type = /obj/structure/closet/supplypod/bluespacepod
+ console_flags = CARGO_CONSOLE_INTERDYNE
+ landingzone = /area/ruin/space/has_grav/bubbers/persistance/cargo
/obj/machinery/computer/cargo/express/interdyne/emag_act(mob/user, obj/item/card/emag/emag_card)
if(user)
to_chat(user, span_notice("You try to change the routing protocols, however the machine displays a runtime error and reboots."))
return FALSE//never let this console be emagged
-/obj/machinery/computer/cargo/express/interdyne/packin_up()//we're the dauntless, add the company imports stuff to our express console
- . = ..()
-
- if(!meme_pack_data["Company Imports"])
- meme_pack_data["Company Imports"] = list(
- "name" = "Company Imports",
- "packs" = list()
- )
-
- for(var/armament_category in SSarmaments.entries)//babe! it's 4pm, time for the company importing logic
- for(var/subcategory in SSarmaments.entries[armament_category][CATEGORY_ENTRY])
- if(armament_category in allowed_categories)
- for(var/datum/armament_entry/armament_entry as anything in SSarmaments.entries[armament_category][CATEGORY_ENTRY][subcategory])
- meme_pack_data["Company Imports"]["packs"] += list(list(
- "name" = "[armament_category]: [armament_entry.name]",
- "cost" = armament_entry.cost,
- "id" = REF(armament_entry),
- "description" = armament_entry.description,
- ))
-
-/obj/machinery/computer/cargo/express/interdyne/ui_act(action, params, datum/tgui/ui)
- if(action == "add")//if we're generating a supply order
- if (!beacon || !using_beacon)//if not using beacon
- say("Error! Destination is not whitelisted, aborting.")
- return
- var/id = params["id"]
- id = text2path(id) || id
- var/datum/supply_pack/is_supply_pack = SSshuttle.supply_packs[id]
- if(!is_supply_pack || !istype(is_supply_pack))//if we're ordering a company import pack, add a temp pack to the global supply packs list, and remove it
- var/datum/armament_entry/armament_order = locate(id)
- params["id"] = length(SSshuttle.supply_packs) + 1
- var/datum/supply_pack/armament/temp_pack = new
- temp_pack.name = initial(armament_order.item_type.name)
- temp_pack.cost = armament_order.cost
- temp_pack.contains = list(armament_order.item_type)
- SSshuttle.supply_packs += temp_pack
- . = ..()
- SSshuttle.supply_packs -= temp_pack
- return .
- return ..()
-
-
//Tarkons console
/obj/item/circuitboard/computer/cargo/express/interdyne/tarkon
name = "Tarkon Express Supply Console"
@@ -80,7 +29,9 @@
/obj/machinery/computer/cargo/express/interdyne/tarkon
name = "tarkon express supply console"
+ landingzone = /area/ruin/space/has_grav/port_tarkon/cargo
desc = "A standard Tarkon express console."
circuit = /obj/item/circuitboard/computer/cargo/express/interdyne/tarkon
req_access = list(ACCESS_TARKON)
cargo_account = ACCOUNT_TAR
+ console_flags = NONE
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/_base.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/_base.dm
new file mode 100644
index 00000000000..96598f3075d
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/_base.dm
@@ -0,0 +1,36 @@
+#define CARGO_CUT 0.05
+
+/datum/supply_pack/company_import
+ desc = "Contains one imported company item."
+ group = "Company Imports"
+ order_flags = ORDER_GOODY
+ crate_type = null
+ discountable = SUPPLY_PACK_STD_DISCOUNTABLE
+ crate_name = "import package"
+ allow_non_private_purchase = TRUE
+ var/obj/item/item_type
+
+/datum/supply_pack/company_import/New()
+ . = ..()
+ if(!item_type)
+ return
+ contains = list(item_type)
+ name = "[item_type::name] Single-Pack"
+ if(desc == initial(desc))
+ desc = "Contains one [item_type::name]."
+ if(CONFIG_GET(flag/permit_pins) && item_type && istype(item_type, /obj/item/gun))
+ desc += " The gun will come with a permit pin installed."
+
+/datum/supply_pack/company_import/generate(atom/A, datum/bank_account/paying_account)
+ . = ..()
+ var/datum/bank_account/cargo_dep = SSeconomy.get_dep_account(ACCOUNT_CAR)
+ cargo_dep.account_balance += round(cost * CARGO_CUT)
+ if(!(CONFIG_GET(flag/permit_pins)))
+ return
+ var/obj/structure/container = .
+ for(var/obj/item/gun/gun_actually in container.contents)
+ QDEL_NULL(gun_actually.pin)
+ var/obj/item/firing_pin/permit_pin/new_pin = new(gun_actually)
+ gun_actually.pin = new_pin
+
+#undef CARGO_CUT
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/akh_frontier.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/akh_frontier.dm
new file mode 100644
index 00000000000..4d721220a56
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/akh_frontier.dm
@@ -0,0 +1,77 @@
+/datum/supply_pack/company_import/akh_frontier
+ subcategory = "Akh Frontier"
+
+/datum/supply_pack/company_import/akh_frontier/basic
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/akh_frontier/basic/omni_drill
+ item_type = /obj/item/screwdriver/omni_drill
+
+/datum/supply_pack/company_import/akh_frontier/basic/arc_welder
+ item_type = /obj/item/weldingtool/electric/arc_welder
+
+/datum/supply_pack/company_import/akh_frontier/basic/compact_drill
+ item_type = /obj/item/pickaxe/drill/compact
+
+/datum/supply_pack/company_import/akh_frontier/deployables_fab/rapid_construction_fabricator
+ item_type = /obj/item/flatpacked_machine
+ cost = CARGO_CRATE_VALUE * 6
+
+/datum/supply_pack/company_import/akh_frontier/deployables_fab/foodricator
+ item_type = /obj/item/flatpacked_machine/organics_ration_printer
+ cost = CARGO_CRATE_VALUE * 2
+
+/datum/supply_pack/company_import/akh_frontier/appliances
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/akh_frontier/appliances/charger
+ item_type = /obj/item/wallframe/cell_charger_multi
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/akh_frontier/appliances/water_synth
+ item_type = /obj/item/flatpacked_machine/water_synth
+
+/datum/supply_pack/company_import/akh_frontier/appliances/hydro_synth
+ item_type = /obj/item/flatpacked_machine/hydro_synth
+
+/datum/supply_pack/company_import/akh_frontier/appliances/sustenance_dispenser
+ item_type = /obj/item/flatpacked_machine/sustenance_machine
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/akh_frontier/deployables_misc
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/akh_frontier/deployables_misc/arc_furnace
+ item_type = /obj/item/flatpacked_machine/arc_furnace
+
+/datum/supply_pack/company_import/akh_frontier/deployables_misc/thermomachine
+ item_type = /obj/item/flatpacked_machine/thermomachine
+
+/datum/supply_pack/company_import/akh_frontier/deployables_misc/co2_cracker
+ item_type = /obj/item/flatpacked_machine/co2_cracker
+
+/datum/supply_pack/company_import/akh_frontier/deployables_misc/recycler
+ item_type = /obj/item/flatpacked_machine/recycler
+
+/datum/supply_pack/company_import/akh_frontier/deployables
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/akh_frontier/deployables/solar
+ item_type = /obj/item/flatpacked_machine/solar
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/akh_frontier/deployables/solar_tracker
+ item_type = /obj/item/flatpacked_machine/solar_tracker
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/akh_frontier/deployables/station_battery
+ item_type = /obj/item/flatpacked_machine/station_battery
+
+/datum/supply_pack/company_import/akh_frontier/deployables/big_station_battery
+ item_type = /obj/item/flatpacked_machine/large_station_battery
+
+/datum/supply_pack/company_import/akh_frontier/deployables/solids_generator
+ item_type = /obj/item/flatpacked_machine/fuel_generator
+
+/datum/supply_pack/company_import/akh_frontier/deployables/rtg
+ item_type = /obj/item/flatpacked_machine/rtg
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/blacksteel.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/blacksteel.dm
new file mode 100644
index 00000000000..0c51c040989
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/blacksteel.dm
@@ -0,0 +1,50 @@
+/datum/supply_pack/company_import/blacksteel
+ subcategory = "Blacksteel Industries"
+
+/datum/supply_pack/company_import/blacksteel/blade/hunting_knife
+ item_type = /obj/item/knife/hunting
+ cost = PAYCHECK_CREW * 2
+
+/datum/supply_pack/company_import/blacksteel/blade/survival_knife
+ item_type = /obj/item/knife/combat/survival
+ cost = PAYCHECK_CREW * 2
+
+/datum/supply_pack/company_import/blacksteel/blade/bowie_knife
+ item_type = /obj/item/storage/belt/bowie_sheath
+ cost = PAYCHECK_COMMAND * 3
+
+/datum/supply_pack/company_import/blacksteel/blade/shamshir_sabre
+ item_type = /obj/item/storage/belt/sheath/sabre/cargo
+ cost = PAYCHECK_COMMAND * 6
+
+/datum/supply_pack/company_import/blacksteel/forging_tools/billows
+ item_type = /obj/item/forging/billow
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/blacksteel/forging_tools/hammer
+ item_type = /obj/item/forging/hammer
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/blacksteel/forging_tools/tongs
+ item_type = /obj/item/forging/tongs
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/blacksteel/forging_metals/fake_cobalt
+ item_type = /obj/item/stack/sheet/cobolterium/three
+ desc = "A three-pack of our finest cobolterium alloy, with an unmatched regal blue color for creating the strongest metalworks from."
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/blacksteel/forging_metals/fake_copper
+ item_type = /obj/item/stack/sheet/copporcitite/three
+ desc = "A three-pack of our finest copporcitite alloy, with a powerful, fiery orange color for creating the strongest metalworks from."
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/blacksteel/forging_metals/fake_really_blue_aluminum
+ item_type = /obj/item/stack/sheet/tinumium/three
+ desc = "A three-pack of our finest tinumium alloy, with a mystical faded blue color for creating the strongest metalworks from."
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/blacksteel/forging_metals/fake_brass
+ item_type = /obj/item/stack/sheet/brussite/three
+ desc = "A three-pack of our finest brussite alloy, with a robust yellow color for creating the strongest metalworks from."
+ cost = PAYCHECK_CREW
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/deforest.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/deforest.dm
new file mode 100644
index 00000000000..66c2e8595ad
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/deforest.dm
@@ -0,0 +1,312 @@
+/datum/supply_pack/company_import/deforest
+ desc = "Contains one DeForest medical import item."
+ subcategory = "DeForest Medical"
+ crate_name = "DeForest supply package"
+
+/datum/supply_pack/company_import/deforest/New()
+ . = ..()
+ if(!item_type)
+ return
+ contains = list(item_type)
+ var/obj/item/template_item = new item_type
+ if(name == initial(name))
+ name = "[template_item.name] Single-Pack"
+ if(desc == initial(desc))
+ desc = "Contains one [template_item.name]."
+ qdel(template_item)
+
+/datum/supply_pack/company_import/deforest/first_aid_kit
+ cost = PAYCHECK_COMMAND * 2.5
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/civil_defense
+ item_type = /obj/item/storage/medkit/civil_defense/stocked
+ cost = PAYCHECK_COMMAND * 5
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/comfort
+ item_type = /obj/item/storage/medkit/civil_defense/comfort/stocked
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/frontier
+ item_type = /obj/item/storage/medkit/frontier/stocked
+ cost = PAYCHECK_COMMAND * 8
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/combat_surgeon
+ item_type = /obj/item/storage/medkit/combat_surgeon/stocked
+ cost = PAYCHECK_COMMAND * 10.7
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/robo_repair
+ item_type = /obj/item/storage/medkit/robotic_repair/stocked
+ cost = PAYCHECK_COMMAND * 8
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/robo_repair_super
+ item_type = /obj/item/storage/medkit/robotic_repair/preemo/stocked
+ cost = PAYCHECK_COMMAND * 15
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/first_responder
+ item_type = /obj/item/storage/backpack/duffelbag/deforest_surgical/stocked
+ cost = PAYCHECK_COMMAND * 14
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/orange_satchel
+ item_type = /obj/item/storage/backpack/duffelbag/deforest_medkit/stocked
+ cost = PAYCHECK_COMMAND * 24.2
+
+/datum/supply_pack/company_import/deforest/first_aid_kit/technician_satchel
+ item_type = /obj/item/storage/backpack/duffelbag/deforest_paramedic/stocked
+ cost = PAYCHECK_COMMAND * 24.2
+
+/datum/supply_pack/company_import/deforest/first_aid
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/deforest/first_aid/coagulant
+ item_type = /obj/item/stack/medical/suture/coagulant
+ cost = PAYCHECK_CREW * 1.8
+
+/datum/supply_pack/company_import/deforest/first_aid/red_sun
+ item_type = /obj/item/stack/medical/ointment/red_sun
+ cost = PAYCHECK_CREW * 0.75
+
+/datum/supply_pack/company_import/deforest/first_aid/sterile_gauze
+ item_type = /obj/item/stack/medical/gauze/sterilized
+ cost = PAYCHECK_CREW * 1.8
+
+/datum/supply_pack/company_import/deforest/first_aid/suture
+ item_type = /obj/item/stack/medical/suture
+ cost = PAYCHECK_CREW * 1.4
+
+/datum/supply_pack/company_import/deforest/first_aid/ointment
+ item_type = /obj/item/stack/medical/ointment
+ cost = PAYCHECK_CREW * 1.4
+
+/datum/supply_pack/company_import/deforest/first_aid/mesh
+ item_type = /obj/item/stack/medical/mesh
+ cost = PAYCHECK_CREW * 1.4
+
+/datum/supply_pack/company_import/deforest/first_aid/bandaid
+ item_type = /obj/item/storage/box/bandages
+ cost = PAYCHECK_CREW * 2
+
+/datum/supply_pack/company_import/deforest/first_aid/amollin
+ item_type = /obj/item/storage/pill_bottle/painkiller
+ cost = PAYCHECK_CREW * 2
+
+/datum/supply_pack/company_import/deforest/first_aid/robo_patch
+ item_type = /obj/item/reagent_containers/applicator/pill/robotic_patch/synth_repair
+ cost = PAYCHECK_CREW * 0.75
+
+/datum/supply_pack/company_import/deforest/first_aid/subdermal_splint
+ item_type = /obj/item/stack/medical/wound_recovery
+ cost = PAYCHECK_CREW * 6.5
+
+/datum/supply_pack/company_import/deforest/first_aid/rapid_coagulant
+ item_type = /obj/item/stack/medical/wound_recovery/rapid_coagulant
+ cost = PAYCHECK_CREW * 6.5
+
+/datum/supply_pack/company_import/deforest/first_aid/robofoam
+ item_type = /obj/item/stack/medical/wound_recovery/robofoam
+ cost = PAYCHECK_CREW * 6.5
+
+/datum/supply_pack/company_import/deforest/first_aid/super_robofoam
+ item_type = /obj/item/stack/medical/wound_recovery/robofoam_super
+ cost = PAYCHECK_CREW * 7
+
+/datum/supply_pack/company_import/deforest/medpens
+ cost = PAYCHECK_CREW * 2.4
+
+/datum/supply_pack/company_import/deforest/medpens/occuisate
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/occuisate
+
+/datum/supply_pack/company_import/deforest/medpens/morpital
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/morpital
+
+/datum/supply_pack/company_import/deforest/medpens/lipital
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/lipital
+
+/datum/supply_pack/company_import/deforest/medpens/meridine
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/meridine
+
+/datum/supply_pack/company_import/deforest/medpens/calopine
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/calopine
+
+/datum/supply_pack/company_import/deforest/medpens/coagulants
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/coagulants
+
+/datum/supply_pack/company_import/deforest/medpens/lepoturi
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/lepoturi
+
+/datum/supply_pack/company_import/deforest/medpens/psifinil
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/psifinil
+
+/datum/supply_pack/company_import/deforest/medpens/halobinin
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/halobinin
+
+/datum/supply_pack/company_import/deforest/medpens/robo_solder
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/robot_liquid_solder
+
+/datum/supply_pack/company_import/deforest/medpens/robo_cleaner
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/robot_system_cleaner
+
+/datum/supply_pack/company_import/deforest/medpens/pentibinin
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/pentibinin
+ order_flags = ORDER_CONTRABAND
+
+/datum/supply_pack/company_import/deforest/medpens_stim
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/deforest/medpens_stim/adrenaline
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/adrenaline
+
+/datum/supply_pack/company_import/deforest/medpens_stim/synephrine
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/synephrine
+
+/datum/supply_pack/company_import/deforest/medpens_stim/krotozine
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/krotozine
+
+/datum/supply_pack/company_import/deforest/medpens_stim/aranepaine
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/aranepaine
+ order_flags = ORDER_CONTRABAND
+
+/datum/supply_pack/company_import/deforest/medpens_stim/synalvipitol
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/synalvipitol
+ order_flags = ORDER_CONTRABAND
+
+/datum/supply_pack/company_import/deforest/medpens_stim/twitch
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/twitch
+ cost = PAYCHECK_COMMAND * 3
+ order_flags = ORDER_CONTRABAND
+
+/datum/supply_pack/company_import/deforest/medpens_stim/demoneye
+ item_type = /obj/item/reagent_containers/hypospray/medipen/deforest/demoneye
+ cost = PAYCHECK_COMMAND * 3
+ order_flags = ORDER_CONTRABAND
+
+/datum/supply_pack/company_import/deforest/equipment
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/deforest/equipment/treatment_zone_projector
+ item_type = /obj/item/holosign_creator/medical/treatment_zone
+ cost = PAYCHECK_COMMAND * 0.25
+
+/datum/supply_pack/company_import/deforest/equipment/health_analyzer
+ item_type = /obj/item/healthanalyzer
+ cost = PAYCHECK_COMMAND * 1.4
+
+/datum/supply_pack/company_import/deforest/equipment/loaded_defib
+ item_type = /obj/item/defibrillator/loaded
+ cost = PAYCHECK_COMMAND * 6
+
+/datum/supply_pack/company_import/deforest/equipment/loaded_belt_defib
+ item_type = /obj/item/defibrillator/compact/loaded
+ cost = PAYCHECK_COMMAND * 9
+
+/datum/supply_pack/company_import/deforest/equipment/surgical_tools
+ item_type = /obj/item/surgery_tray/full
+ cost = PAYCHECK_COMMAND * 8
+
+/datum/supply_pack/company_import/deforest/equipment/advanced_health_analyer
+ item_type = /obj/item/healthanalyzer/advanced
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/deforest/equipment/penlite_defib_mount
+ item_type = /obj/item/wallframe/defib_mount/charging
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/deforest/equipment/advanced_scalpel
+ item_type = /obj/item/scalpel/advanced
+ cost = PAYCHECK_COMMAND * 10.25
+
+/datum/supply_pack/company_import/deforest/equipment/advanced_retractor
+ item_type = /obj/item/retractor/advanced
+ cost = PAYCHECK_COMMAND * 9
+
+/datum/supply_pack/company_import/deforest/equipment/advanced_cautery
+ item_type = /obj/item/cautery/advanced
+ cost = PAYCHECK_COMMAND * 9
+
+/datum/supply_pack/company_import/deforest/equipment/advanced_blood_filter
+ item_type = /obj/item/blood_filter/advanced
+ cost = PAYCHECK_COMMAND * 9
+
+/datum/supply_pack/company_import/deforest/equipment/medigun_upgrade
+ item_type = /obj/item/device/custom_kit/medigun_fastcharge
+ cost = PAYCHECK_COMMAND * 12
+
+/datum/supply_pack/company_import/deforest/equipment/hypospray_upgrade
+ item_type = /obj/item/device/custom_kit/deluxe_hypo2
+ cost = PAYCHECK_COMMAND * 4.5
+
+/datum/supply_pack/company_import/deforest/equipment/advanced_hypospray
+ item_type = /obj/item/hypospray/mkii/piercing
+ cost = PAYCHECK_COMMAND * 7
+
+/datum/supply_pack/company_import/deforest/equipment/afad
+ item_type = /obj/item/gun/medbeam/afad
+ cost = PAYCHECK_COMMAND * 5
+
+/datum/supply_pack/company_import/deforest/equipment/medstation
+ item_type = /obj/item/wallframe/frontier_medstation
+ cost = PAYCHECK_COMMAND * 12
+
+/datum/supply_pack/company_import/deforest/equipment/medhud
+ item_type = /obj/item/clothing/glasses/hud/health
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/deforest/equipment/medhud_night
+ item_type = /obj/item/clothing/glasses/hud/health/night
+ cost = PAYCHECK_COMMAND * 3
+
+/datum/supply_pack/company_import/deforest/equipment/medhud_night_sci
+ item_type = /obj/item/clothing/glasses/hud/health/night/science
+ cost = PAYCHECK_COMMAND * 5
+
+/datum/supply_pack/company_import/deforest/equipment/hypospray_case
+ item_type = /obj/item/storage/hypospraykit
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/deforest/equipment/hypospray
+ item_type = /obj/item/hypospray/mkii
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/deforest/implant
+ cost = PAYCHECK_COMMAND * 5
+
+/datum/supply_pack/company_import/deforest/implant/surgery
+ item_type = /obj/item/organ/cyberimp/arm/toolkit/surgery
+
+/datum/supply_pack/company_import/deforest/implant/toolset
+ item_type = /obj/item/organ/cyberimp/arm/toolkit/toolset
+
+/datum/supply_pack/company_import/deforest/implant/botany
+ item_type = /obj/item/organ/cyberimp/arm/toolkit/botany
+
+/datum/supply_pack/company_import/deforest/implant/janitor
+ item_type = /obj/item/organ/cyberimp/arm/toolkit/janitor
+
+/datum/supply_pack/company_import/deforest/implant/paperwork
+ item_type = /obj/item/organ/cyberimp/arm/toolkit/paperwork
+
+/datum/supply_pack/company_import/deforest/medical_modules
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/deforest/medical_modules/injector
+ name = "MOD injector module"
+ item_type = /obj/item/mod/module/injector
+
+/datum/supply_pack/company_import/deforest/medical_modules/organizer
+ name = "MOD organizer module"
+ item_type = /obj/item/mod/module/organizer
+
+/datum/supply_pack/company_import/deforest/medical_modules/patient_transport
+ name = "MOD patient transport module"
+ item_type = /obj/item/mod/module/criminalcapture/patienttransport
+
+/datum/supply_pack/company_import/deforest/medical_modules/thread_ripper
+ name = "MOD thread ripper module"
+ item_type = /obj/item/mod/module/thread_ripper
+
+/datum/supply_pack/company_import/deforest/medical_modules/surgical_processor
+ name = "MOD surgical processor module"
+ item_type = /obj/item/mod/module/surgical_processor
+
+/datum/supply_pack/company_import/deforest/medical_modules/defibrillator
+ name = "MOD defibrillator module"
+ item_type = /obj/item/mod/module/defibrillator
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/donk.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/donk.dm
new file mode 100644
index 00000000000..513e9e794bc
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/donk.dm
@@ -0,0 +1,122 @@
+/datum/supply_pack/company_import/donk
+ subcategory = "Donk Co."
+
+/datum/supply_pack/company_import/donk/food
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/food/ready_donk
+ item_type = /obj/item/food/ready_donk
+
+/datum/supply_pack/company_import/donk/food/ready_donkhiladas
+ item_type = /obj/item/food/ready_donk/donkhiladas
+
+/datum/supply_pack/company_import/donk/food/ready_donk_n_cheese
+ item_type = /obj/item/food/ready_donk/mac_n_cheese
+
+/datum/supply_pack/company_import/donk/food/pockets
+ item_type = /obj/item/storage/box/donkpockets
+
+/datum/supply_pack/company_import/donk/food/berry_pockets
+ item_type = /obj/item/storage/box/donkpockets/donkpocketberry
+
+/datum/supply_pack/company_import/donk/food/honk_pockets
+ item_type = /obj/item/storage/box/donkpockets/donkpockethonk
+
+/datum/supply_pack/company_import/donk/food/pizza_pockets
+ item_type = /obj/item/storage/box/donkpockets/donkpocketpizza
+
+/datum/supply_pack/company_import/donk/food/spicy_pockets
+ item_type = /obj/item/storage/box/donkpockets/donkpocketspicy
+
+/datum/supply_pack/company_import/donk/food/teriyaki_pockets
+ item_type = /obj/item/storage/box/donkpockets/donkpocketteriyaki
+
+/datum/supply_pack/company_import/donk/merch/donk_carpet
+ item_type = /obj/item/stack/tile/carpet/donk/thirty
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/merch/tacticool_turtleneck
+ item_type = /obj/item/clothing/under/syndicate/tacticool
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/merch/tacticool_turtleneck_skirt
+ item_type = /obj/item/clothing/under/syndicate/tacticool/skirt
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/merch/fake_centcom_turtleneck
+ item_type = /obj/item/clothing/under/rank/centcom/officer/replica
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/merch/fake_centcom_turtleneck_skirt
+ item_type = /obj/item/clothing/under/rank/centcom/officer_skirt/replica
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/merch/snack_rig
+ item_type = /obj/item/storage/belt/military/snack
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/donk/merch/fake_syndie_suit
+ item_type = /obj/item/storage/box/fakesyndiesuit
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/merch/valid_bloon
+ item_type = /obj/item/toy/balloon/arrest
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/foamforce/foam_pistol
+ item_type = /obj/item/gun/ballistic/automatic/pistol/toy
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/donk/foamforce/foam_shotgun
+ item_type = /obj/item/gun/ballistic/shotgun/toy/riot
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/donk/foamforce/foam_smg
+ item_type = /obj/item/gun/ballistic/automatic/toy/riot
+ cost = PAYCHECK_COMMAND * 3
+
+/datum/supply_pack/company_import/donk/foamforce/foam_c20
+ item_type = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted
+ cost = PAYCHECK_COMMAND * 3
+
+/datum/supply_pack/company_import/donk/foamforce/foam_lmg
+ item_type = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted
+ cost = PAYCHECK_COMMAND * 5
+
+/datum/supply_pack/company_import/donk/foamforce/foam_turret
+ item_type = /obj/item/storage/toolbox/emergency/turret/mag_fed/toy/pre_filled
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/donk/mod_modules
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/donk/mod_modules/dart_collector_safe
+ item_type = /obj/item/mod/module/recycler/donk/safe
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/donk/mod_modules/dart_collector
+ item_type = /obj/item/mod/module/recycler/donk
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/donk/foamforce_ammo
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/donk/foamforce_ammo/darts
+ item_type = /obj/item/ammo_box/foambox
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/donk/foamforce_ammo/riot_darts
+ item_type = /obj/item/ammo_box/foambox/riot
+ cost = PAYCHECK_COMMAND * 1.5
+
+/datum/supply_pack/company_import/donk/foamforce_ammo/pistol_mag
+ item_type = /obj/item/ammo_box/magazine/toy/pistol
+
+/datum/supply_pack/company_import/donk/foamforce_ammo/smg_mag
+ item_type = /obj/item/ammo_box/magazine/toy/smg
+
+/datum/supply_pack/company_import/donk/foamforce_ammo/smgm45_mag
+ item_type = /obj/item/ammo_box/magazine/toy/smgm45
+
+/datum/supply_pack/company_import/donk/foamforce_ammo/m762_mag
+ item_type = /obj/item/ammo_box/magazine/toy/m762
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/kahraman.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/kahraman.dm
new file mode 100644
index 00000000000..912da1a6561
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/kahraman.dm
@@ -0,0 +1,109 @@
+/datum/supply_pack/company_import/kahraman
+ subcategory = "Kahraman Mining Co."
+
+/datum/supply_pack/company_import/kahraman/machinery/biogenerator
+ item_type = /obj/item/flatpacked_machine/organics_printer
+ desc = "An advanced machine seen in frontier outposts and colonies capable of turning organic plant matter into reagents and items of use that a fabricator can't typically make."
+ cost = CARGO_CRATE_VALUE * 3
+
+/datum/supply_pack/company_import/kahraman/machinery/ore_thumper
+ item_type = /obj/item/flatpacked_machine/ore_thumper
+ desc = "A frame with a heavy block of metal suspended atop a pipe. Must be deployed outdoors and given a wired power connection. Forces pressurized gas into the ground which brings up buried resources."
+ cost = CARGO_CRATE_VALUE * 5
+
+/datum/supply_pack/company_import/kahraman/machinery/gps_beacon
+ item_type = /obj/item/flatpacked_machine/gps_beacon
+ desc = "A packed GPS beacon, can be deployed and anchored into the ground to provide and unobstructed homing beacon for wayward travelers across the galaxy."
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/kahraman/ppe/weldhat
+ item_type = /obj/item/clothing/head/utility/hardhat/welding/orange
+ cost = PAYCHECK_CREW * 1.5
+
+/datum/supply_pack/company_import/kahraman/ppe/gasmask
+ item_type = /obj/item/clothing/mask/gas/alt
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/kahraman/ppe/hazard_vest
+ item_type = /obj/item/clothing/suit/hazardvest
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/kahraman/ppe/seva_mask
+ item_type = /obj/item/clothing/mask/gas/seva
+ cost = PAYCHECK_CREW * 1.5
+
+/datum/supply_pack/company_import/kahraman/ppe/seva_suit
+ item_type = /obj/item/clothing/suit/hooded/seva
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/kahraman/ppe/sensors_cuffs
+ item_type = /obj/item/clothing/accessory/kheiral_cuffs
+ cost = PAYCHECK_COMMAND * 5
+
+/datum/supply_pack/company_import/kahraman/mining_tool/drill
+ item_type = /obj/item/pickaxe/drill
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/kahraman/mining_tool/resonator
+ item_type = /obj/item/resonator
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/kahraman/mining_tool/pka
+ item_type = /obj/item/gun/energy/recharge/kinetic_accelerator
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/kahraman/mining_tool/cutter
+ item_type = /obj/item/gun/energy/plasmacutter
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/kahraman/mining_tool/diamond_drill
+ item_type = /obj/item/pickaxe/drill/diamonddrill
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/kahraman/mining_tool/advanced_cutter
+ item_type = /obj/item/gun/energy/plasmacutter/adv
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/kahraman/mining_tool/super_resonator
+ item_type = /obj/item/resonator/upgraded
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/kahraman/mining_tool/jackhammer
+ item_type = /obj/item/pickaxe/drill/jackhammer
+ cost = PAYCHECK_COMMAND * 3
+
+/datum/supply_pack/company_import/kahraman/sensing/mesons
+ item_type = /obj/item/clothing/glasses/meson
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/kahraman/sensing/autoscanner
+ item_type = /obj/item/t_scanner/adv_mining_scanner/lesser
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/kahraman/sensing/super_autoscanner
+ item_type = /obj/item/t_scanner/adv_mining_scanner
+ cost = PAYCHECK_COMMAND * 3
+
+/datum/supply_pack/company_import/kahraman/sensing/nvg_mesons
+ item_type = /obj/item/clothing/glasses/meson/night
+ cost = PAYCHECK_COMMAND * 3
+
+/datum/supply_pack/company_import/kahraman/mecha_tools/scanner
+ item_type = /obj/item/mecha_parts/mecha_equipment/mining_scanner
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/kahraman/mecha_tools/drill
+ item_type = /obj/item/mecha_parts/mecha_equipment/drill
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/kahraman/mecha_tools/pka
+ item_type = /obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun
+ cost = PAYCHECK_CREW * 3
+
+/datum/supply_pack/company_import/kahraman/mecha_tools/diamond_drill
+ item_type = /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill
+ cost = PAYCHECK_CREW * 3
+
+/datum/supply_pack/company_import/kahraman/mecha_tools/cutter
+ item_type = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma
+ cost = PAYCHECK_CREW * 3
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/nri_surplus.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/nri_surplus.dm
new file mode 100644
index 00000000000..73ddafea4f4
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/nri_surplus.dm
@@ -0,0 +1,110 @@
+/datum/supply_pack/company_import/nri_surplus
+ subcategory = "NRI Surplus"
+
+/datum/supply_pack/company_import/nri_surplus/clothing/uniform
+ item_type = /obj/item/clothing/under/syndicate/rus_army/cin_surplus/random_color
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/clothing/belt
+ item_type = /obj/item/storage/belt/military/cin_surplus/random_color
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/clothing/backpack
+ item_type = /obj/item/storage/backpack/industrial/cin_surplus/random_color
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/clothing/gas_mask
+ item_type = /obj/item/clothing/mask/gas/hecu2
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/clothing/helmet
+ item_type = /obj/item/clothing/head/helmet/cin_surplus_helmet/random_color
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/nri_surplus/clothing/vest
+ item_type = /obj/item/clothing/suit/armor/vest/cin_surplus_vest
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/nri_surplus/clothing/police_uniform
+ item_type = /obj/item/clothing/under/colonial/nri_police
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/clothing/police_cloak
+ item_type = /obj/item/clothing/neck/cloak/colonial/nri_police
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/clothing/police_cap
+ item_type = /obj/item/clothing/head/hats/colonial/nri_police
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/clothing/police_mask
+ item_type = /obj/item/clothing/mask/gas/nri_police
+ cost = PAYCHECK_CREW * 2
+
+/datum/supply_pack/company_import/nri_surplus/clothing/police_vest
+ item_type = /obj/item/clothing/head/helmet/nri_police
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/nri_surplus/clothing/police_helmet
+ item_type = /obj/item/clothing/suit/armor/vest/nri_police
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/nri_surplus/misc/flares
+ item_type = /obj/item/storage/box/nri_flares
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/nri_surplus/misc/binoculars
+ item_type = /obj/item/binoculars
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/misc/screwdriver_pen
+ item_type = /obj/item/pen/screwdriver
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/misc/trench_tool
+ item_type = /obj/item/trench_tool
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/misc/food_replicator
+ item_type = /obj/item/circuitboard/machine/biogenerator/food_replicator
+ desc = "Once widespread technology used by numerous fringe colonies of NRI origin and even in some TerraGov territories, that ultimately went out of fashion due to TerraGov propaganda deeming it unprofitable and imposing severe trading fees on anyone trying to sell them. A small portion of government-backed manufacturers still produce 'food replicators' for private and government use; a few of them is selling this via us."
+ cost = CARGO_CRATE_VALUE * 9
+
+/datum/supply_pack/company_import/nri_surplus/misc/nri_flag
+ item_type = /obj/item/sign/flag/nri
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/nri_surplus/firearm_ammo
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/nri_surplus/misc/botanypod
+ item_type = /obj/item/survivalcapsule/botany
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/nri_surplus/misc/botanytrayspod
+ item_type = /obj/item/survivalcapsule/trays
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/nri_surplus/misc/kitchenpod
+ item_type = /obj/item/survivalcapsule/kitchen
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/nri_surplus/misc/o2pod
+ item_type = /obj/item/survivalcapsule/o2
+ cost = PAYCHECK_COMMAND * 4
+
+/datum/supply_pack/company_import/nri_surplus/misc/fanpod
+ item_type = /obj/item/survivalcapsule/fan
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/nri_surplus/misc/threebythree
+ item_type = /obj/item/survivalcapsule/threebythree
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/nri_surplus/misc/sixbysix
+ item_type = /obj/item/survivalcapsule/sixbysix
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/nri_surplus/misc/cabin
+ item_type = /obj/item/survivalcapsule/cabin
+ cost = PAYCHECK_COMMAND * 2
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/sol_defense.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/sol_defense.dm
new file mode 100644
index 00000000000..0578feb5613
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/sol_defense.dm
@@ -0,0 +1,73 @@
+/datum/supply_pack/company_import/sol_defense
+ subcategory = "Sol Defense"
+
+/datum/supply_pack/company_import/sol_defense/clothing
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/sol_defense/clothing/peacekeeper
+ item_type = /obj/item/clothing/under/sol_peacekeeper
+
+/datum/supply_pack/company_import/sol_defense/clothing/emt
+ item_type = /obj/item/clothing/under/sol_emt
+
+/datum/supply_pack/company_import/sol_defense/armor
+ cost = PAYCHECK_CREW * 6
+
+/datum/supply_pack/company_import/sol_defense/armor/ballistic_helmet
+ item_type = /obj/item/clothing/head/helmet/sf_peacekeeper/debranded
+
+/datum/supply_pack/company_import/sol_defense/armor/sf_ballistic_helmet
+ item_type = /obj/item/clothing/head/helmet/sf_peacekeeper
+
+/datum/supply_pack/company_import/sol_defense/armor/soft_vest
+ item_type = /obj/item/clothing/suit/armor/sf_peacekeeper/debranded
+
+/datum/supply_pack/company_import/sol_defense/armor/sf_soft_vest
+ item_type = /obj/item/clothing/suit/armor/sf_peacekeeper
+
+/datum/supply_pack/company_import/sol_defense/armor/flak_jacket
+ item_type = /obj/item/clothing/suit/armor/vest/det_suit/terra
+
+/datum/supply_pack/company_import/sol_defense/armor/slim_vest
+ name = "type I vest"
+ item_type = /obj/item/clothing/suit/armor/vest
+
+/datum/supply_pack/company_import/sol_defense/armor_hardened
+ cost = PAYCHECK_CREW * 6
+
+/datum/supply_pack/company_import/sol_defense/armor_hardened/enclosed_helmet
+ item_type = /obj/item/clothing/head/helmet/toggleable/sf_hardened
+
+/datum/supply_pack/company_import/sol_defense/armor_hardened/emt_enclosed_helmet
+ item_type = /obj/item/clothing/head/helmet/toggleable/sf_hardened/emt
+
+/datum/supply_pack/company_import/sol_defense/armor_hardened/hardened_vest
+ item_type = /obj/item/clothing/suit/armor/sf_hardened
+
+/datum/supply_pack/company_import/sol_defense/armor_hardened/emt_hardened_vest
+ item_type = /obj/item/clothing/suit/armor/sf_hardened/emt
+
+/datum/supply_pack/company_import/sol_defense/armor_sacrifice
+ cost = PAYCHECK_CREW * 3
+
+/datum/supply_pack/company_import/sol_defense/armor_sacrifice/sacrificial_helmet
+ item_type = /obj/item/clothing/head/helmet/sf_sacrificial
+
+/datum/supply_pack/company_import/sol_defense/armor_sacrifice/face_shield
+ item_type = /obj/item/sacrificial_face_shield
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/sol_defense/armor_sacrifice/sacrificial_vest
+ item_type = /obj/item/clothing/suit/armor/sf_sacrificial
+
+/datum/supply_pack/company_import/sol_defense/magazines
+ cost = PAYCHECK_CREW
+
+/datum/supply_pack/company_import/sol_defense/magazines/sol_grenade_standard
+ item_type = /obj/item/ammo_box/magazine/c980_grenade/starts_empty
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/sol_defense/magazines/sol_grenade_drum
+ item_type = /obj/item/ammo_box/magazine/c980_grenade/drum/starts_empty
+ cost = PAYCHECK_CREW * 3
+ order_flags = ORDER_CONTRABAND
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/vitezstvi.dm b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/vitezstvi.dm
new file mode 100644
index 00000000000..6c5a22d7b5e
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/company_imports/vitezstvi.dm
@@ -0,0 +1,63 @@
+/datum/supply_pack/company_import/vitezstvi
+ subcategory = "Vitezstvi Armed Forces"
+
+/datum/supply_pack/company_import/vitezstvi/ammo_bench/bench_itself
+ item_type = /obj/item/circuitboard/machine/ammo_workbench
+ cost = PAYCHECK_COMMAND * 5
+
+/datum/supply_pack/company_import/vitezstvi/ammo_bench/bullet_drive
+ item_type = /obj/item/circuitboard/machine/dish_drive/bullet
+ cost = PAYCHECK_COMMAND * 2
+
+/datum/supply_pack/company_import/vitezstvi/accessory/suppressor
+ item_type = /obj/item/suppressor/standard
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/vitezstvi/speedloader
+ cost = PAYCHECK_CREW * 2
+
+/datum/supply_pack/company_import/vitezstvi/speedloader/detective_lethal
+ item_type = /obj/item/ammo_box/speedloader/c38
+
+/datum/supply_pack/company_import/vitezstvi/speedloader/detective_dumdum
+ item_type = /obj/item/ammo_box/speedloader/c38/dumdum
+
+/datum/supply_pack/company_import/vitezstvi/speedloader/detective_bouncy
+ item_type = /obj/item/ammo_box/speedloader/c38/match
+
+/datum/supply_pack/company_import/vitezstvi/shot_shells
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/vitezstvi/shot_shells/beanbag_slugs
+ item_type = /obj/item/ammo_box/advanced/s12gauge/bean
+
+/datum/supply_pack/company_import/vitezstvi/shot_shells/rubbershot
+ item_type = /obj/item/ammo_box/advanced/s12gauge/rubber
+
+/datum/supply_pack/company_import/vitezstvi/shot_shells/hunter_slug
+ item_type = /obj/item/ammo_box/advanced/s12gauge/hunter
+
+/datum/supply_pack/company_import/vitezstvi/shot_shells/confetti
+ item_type = /obj/item/ammo_box/advanced/s12gauge/honkshot
+ cost = PAYCHECK_LOWER
+
+/datum/supply_pack/company_import/vitezstvi/grenade_shells
+ cost = PAYCHECK_COMMAND
+
+/datum/supply_pack/company_import/vitezstvi/grenade_shells/practice
+ item_type = /obj/item/ammo_box/c980grenade
+
+/datum/supply_pack/company_import/vitezstvi/grenade_shells/smoke
+ item_type = /obj/item/ammo_box/c980grenade/smoke
+
+/datum/supply_pack/company_import/vitezstvi/grenade_shells/riot
+ item_type = /obj/item/ammo_box/c980grenade/riot
+
+/datum/supply_pack/company_import/vitezstvi/grenade_shells/shrapnel
+ item_type = /obj/item/ammo_box/c980grenade/shrapnel
+ order_flags = ORDER_CONTRABAND
+
+/datum/supply_pack/company_import/vitezstvi/grenade_shells/phosphor
+ item_type = /obj/item/ammo_box/c980grenade/shrapnel/phosphor
+ order_flags = ORDER_CONTRABAND
+
diff --git a/modular_zubbers/code/modules/cargo/packs/goodies/interdyne.dm b/modular_zubbers/code/modules/cargo/packs/goodies/interdyne.dm
new file mode 100644
index 00000000000..c7e122d90bd
--- /dev/null
+++ b/modular_zubbers/code/modules/cargo/packs/goodies/interdyne.dm
@@ -0,0 +1,6 @@
+/datum/supply_pack/goody/interdyne_chameleon
+ name = "Advanced Chameleon ID Card Single-Pack"
+ desc = "Contains one advanced chameleon ID card. Exclusive to Interdyne Express."
+ cost = PAYCHECK_COMMAND * 15
+ order_flags = parent_type::order_flags | ORDER_INTERDYNE_ONLY
+ contains = list(/obj/item/card/id/advanced/chameleon)
diff --git a/modular_zubbers/code/modules/mining/equipment/order_mining.dm b/modular_zubbers/code/modules/mining/equipment/order_mining.dm
index ae9fece68e1..69a4dde792e 100644
--- a/modular_zubbers/code/modules/mining/equipment/order_mining.dm
+++ b/modular_zubbers/code/modules/mining/equipment/order_mining.dm
@@ -77,14 +77,6 @@
desc = "A bluespace capsule that deploys a functional chemistry refining area, useful for harvesting those helpful geysers."
template_id = "shelter_echo"
-/datum/armament_entry/company_import/deforest/equipment/medpod
- item_type = /obj/item/survivalcapsule/medical
- cost = PAYCHECK_COMMAND * 40
-
-/datum/armament_entry/company_import/deforest/equipment/chempod
- item_type = /obj/item/survivalcapsule/chemistry
- cost = PAYCHECK_COMMAND * 20
-
/datum/supply_pack/medical/medpod
name = "Medical Trauma Pod"
crate_name = "medical pod crate"
@@ -268,38 +260,6 @@
blacklisted_turfs -= typesof(/turf/closed/mineral)
banned_objects = typecacheof(/obj/structure/stone_tile)
-/datum/armament_entry/company_import/nri_surplus/misc/botanypod
- item_type = /obj/item/survivalcapsule/botany
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/nri_surplus/misc/botanytrayspod
- item_type = /obj/item/survivalcapsule/trays
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/nri_surplus/misc/kitchenpod
- item_type = /obj/item/survivalcapsule/kitchen
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/nri_surplus/misc/o2pod
- item_type = /obj/item/survivalcapsule/o2
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/nri_surplus/misc/fanpod
- item_type = /obj/item/survivalcapsule/fan
- cost = PAYCHECK_COMMAND * 1
-
-/datum/armament_entry/company_import/nri_surplus/misc/threebythree
- item_type = /obj/item/survivalcapsule/threebythree
- cost = PAYCHECK_COMMAND * 1
-
-/datum/armament_entry/company_import/nri_surplus/misc/sixbysix
- item_type = /obj/item/survivalcapsule/sixbysix
- cost = PAYCHECK_COMMAND * 2
-
-/datum/armament_entry/company_import/nri_surplus/misc/cabin
- item_type = /obj/item/survivalcapsule/cabin
- cost = PAYCHECK_COMMAND * 2
-
/************************* MED-SCI Pods***************************/
diff --git a/modular_zubbers/master_files/skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm b/modular_zubbers/master_files/skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
deleted file mode 100644
index 0c06959fd4a..00000000000
--- a/modular_zubbers/master_files/skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm
+++ /dev/null
@@ -1,126 +0,0 @@
-// Prices are calculated by the level 1 lathe cost to print the items, or their vending machine price
-/datum/armament_entry/company_import/deforest/first_aid_kit/civil_defense
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/frontier
- cost = PAYCHECK_COMMAND * 8
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/combat_surgeon
- cost = PAYCHECK_COMMAND * 10.7
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/robo_repair
- cost = PAYCHECK_COMMAND * 8
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/robo_repair_super
- cost = PAYCHECK_COMMAND * 15
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/first_responder
- cost = PAYCHECK_COMMAND * 14
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/orange_satchel
- cost = PAYCHECK_COMMAND * 24.2
-
-/datum/armament_entry/company_import/deforest/first_aid_kit/technician_satchel
- cost = PAYCHECK_COMMAND * 24.2
-
-// Basic first aid supplies like gauze, sutures, mesh, so on
-
-/datum/armament_entry/company_import/deforest/first_aid/coagulant
- cost = PAYCHECK_CREW * 1.8
-
-/datum/armament_entry/company_import/deforest/first_aid/red_sun
- cost = PAYCHECK_CREW * 0.75
-
-/datum/armament_entry/company_import/deforest/first_aid/sterile_gauze
- cost = PAYCHECK_CREW * 1.8
-
-/datum/armament_entry/company_import/deforest/first_aid/suture
- cost = PAYCHECK_CREW * 1.4
-
-/datum/armament_entry/company_import/deforest/first_aid/ointment
- cost = PAYCHECK_CREW * 1.4
-
-/datum/armament_entry/company_import/deforest/first_aid/mesh
- cost = PAYCHECK_CREW * 1.4
-
-/datum/armament_entry/company_import/deforest/first_aid/bandaid
- cost = PAYCHECK_CREW * 2
-
-/datum/armament_entry/company_import/deforest/first_aid/amollin
- cost = PAYCHECK_CREW * 2
-
-/datum/armament_entry/company_import/deforest/first_aid/robo_patch
- cost = PAYCHECK_CREW * 0.75
-
-/datum/armament_entry/company_import/deforest/first_aid/subdermal_splint
- cost = PAYCHECK_CREW * 6.5
-
-/datum/armament_entry/company_import/deforest/first_aid/rapid_coagulant
- cost = PAYCHECK_CREW * 6.5
-
-/datum/armament_entry/company_import/deforest/first_aid/robofoam
- cost = PAYCHECK_CREW * 6.5
-
-/datum/armament_entry/company_import/deforest/first_aid/super_robofoam
- cost = PAYCHECK_CREW * 7
-
-// Autoinjectors for healing
-
-/datum/armament_entry/company_import/deforest/medpens
- cost = PAYCHECK_CREW * 2.4
-
-// Equipment, from defibs to scanners to surgical tools
-
-/datum/armament_entry/company_import/deforest/equipment/treatment_zone_projector
- cost = PAYCHECK_COMMAND * 0.25
-
-/datum/armament_entry/company_import/deforest/equipment/health_analyzer
- cost = PAYCHECK_COMMAND * 1.4
-
-/datum/armament_entry/company_import/deforest/equipment/loaded_defib
- cost = PAYCHECK_COMMAND * 6
-
-/datum/armament_entry/company_import/deforest/equipment/loaded_belt_defib
- cost = PAYCHECK_COMMAND * 9
-
-/datum/armament_entry/company_import/deforest/equipment/surgical_tools
- cost = PAYCHECK_COMMAND * 8
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_health_analyer
- cost = PAYCHECK_COMMAND * 4
-
-/datum/armament_entry/company_import/deforest/equipment/penlite_defib_mount
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_scalpel
- cost = PAYCHECK_COMMAND * 10.25
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_retractor
- cost = PAYCHECK_COMMAND * 9
-
-/datum/armament_entry/company_import/deforest/equipment/advanced_cautery
- cost = PAYCHECK_COMMAND * 9
-
-/datum/armament_entry/company_import/deforest/equipment/medigun_upgrade
- cost = PAYCHECK_COMMAND * 12
-
-/datum/armament_entry/company_import/deforest/equipment/hypospray_upgrade
- cost = PAYCHECK_COMMAND * 4.5
-
-/datum/armament_entry/company_import/deforest/equipment/medstation
- cost = PAYCHECK_COMMAND * 12
-
-/datum/armament_entry/company_import/deforest/equipment/medhud
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/deforest/equipment/medhud_night
- cost = PAYCHECK_COMMAND * 3
-
-/datum/armament_entry/company_import/deforest/equipment/medhud_night_sci
- cost = PAYCHECK_COMMAND * 5
-
-/datum/armament_entry/company_import/deforest/equipment/hypospray_case
- cost = PAYCHECK_COMMAND
-
-/datum/armament_entry/company_import/deforest/equipment/hypospray
- cost = PAYCHECK_COMMAND * 4
diff --git a/tgstation.dme b/tgstation.dme
index ab0333bbc23..2ba229875d4 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -7107,7 +7107,6 @@
#include "modular_skyrat\master_files\code\modules\buildmode\bm_mode.dm"
#include "modular_skyrat\master_files\code\modules\buildmode\submodes\offercontrol.dm"
#include "modular_skyrat\master_files\code\modules\cargo\goodies.dm"
-#include "modular_skyrat\master_files\code\modules\cargo\orderconsole.dm"
#include "modular_skyrat\master_files\code\modules\cargo\bounties\medical.dm"
#include "modular_skyrat\master_files\code\modules\cargo\exports\tools.dm"
#include "modular_skyrat\master_files\code\modules\cargo\exports\traitor.dm"
@@ -7730,19 +7729,6 @@
#include "modular_skyrat\modules\colony_fabricator\code\machines\stirling_generator.dm"
#include "modular_skyrat\modules\colony_fabricator\code\machines\thermomachine.dm"
#include "modular_skyrat\modules\colony_fabricator\code\tools\tools.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_component.dm"
-#include "modular_skyrat\modules\company_imports\code\company_datums.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\_armament_basetype.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\akh_frontier.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\deforest_medical.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\jarnsmiour.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\kahraman_industries.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\nri_military_surplus.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\put_a_donk_on_it.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\sol_defense.dm"
-#include "modular_skyrat\modules\company_imports\code\armament_datums\vitezstvi_ammo.dm"
-#include "modular_skyrat\modules\company_imports\code\datums\cargo_order.dm"
-#include "modular_skyrat\modules\company_imports\code\datums\cargo_pack.dm"
#include "modular_skyrat\modules\company_imports\code\datums\hud.dm"
#include "modular_skyrat\modules\company_imports\code\objects\access.dm"
#include "modular_skyrat\modules\company_imports\code\objects\cargo_console_and_case.dm"
@@ -9358,6 +9344,16 @@
#include "modular_zubbers\code\modules\cargo\packs\minerals.dm"
#include "modular_zubbers\code\modules\cargo\packs\security.dm"
#include "modular_zubbers\code\modules\cargo\packs\service.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\interdyne.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\_base.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\akh_frontier.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\blacksteel.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\deforest.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\donk.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\kahraman.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\nri_surplus.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\sol_defense.dm"
+#include "modular_zubbers\code\modules\cargo\packs\goodies\company_imports\vitezstvi.dm"
#include "modular_zubbers\code\modules\changeling_zombies\antagonist.dm"
#include "modular_zubbers\code\modules\changeling_zombies\event.dm"
#include "modular_zubbers\code\modules\changeling_zombies\husking.dm"
@@ -10153,7 +10149,6 @@
#include "modular_zubbers\master_files\code\modules\reagents\reagent_containers\cups\_cup.dm"
#include "modular_zubbers\master_files\code\modules\research\designs\biogenerator_designs.dm"
#include "modular_zubbers\master_files\code\modules\research\designs\weapon_designs.dm"
-#include "modular_zubbers\master_files\skyrat\modules\company_imports\code\armament_datums\deforest_medical.dm"
#include "modular_zubbers\master_files\skyrat\modules\deforest_medical_items\code\cargo_packs.dm"
#include "modular_zubbers\master_files\skyrat\modules\verbs\code\subtle.dm"
#include "modular_zubbers\modules\ammo_workbench\code\ammo_workbench.dm"
diff --git a/tgui/packages/tgui/interfaces/Cargo/CargoCatalog.tsx b/tgui/packages/tgui/interfaces/Cargo/CargoCatalog.tsx
index a83315c8cd6..2e803f922c1 100644
--- a/tgui/packages/tgui/interfaces/Cargo/CargoCatalog.tsx
+++ b/tgui/packages/tgui/interfaces/Cargo/CargoCatalog.tsx
@@ -1,5 +1,11 @@
import { sortBy } from 'es-toolkit';
-import { type Dispatch, type SetStateAction, useMemo, useState } from 'react';
+import {
+ Fragment,
+ type Dispatch,
+ type SetStateAction,
+ useMemo,
+ useState,
+} from 'react';
import {
BlockQuote,
Button,
@@ -33,8 +39,14 @@ export function CargoCatalog(props: Props) {
'supply',
supplies[0]?.name,
);
+ // BUBBER EDIT START
+ const [activeSubcategory, setActiveSubcategory] = useSharedState(
+ 'cargo_subcategory',
+ '',
+ );
+ // BUBBER EDIT END
- const packs = useMemo(() => {
+ const basePacks = useMemo(() => {
let fetched: Supply[] | undefined;
if (activeSupplyName === 'search_results') {
@@ -52,6 +64,51 @@ export function CargoCatalog(props: Props) {
return fetched;
}, [activeSupplyName, supplies, searchText]);
+ // BUBBER EDIT START
+ const subcategoryOrder = useMemo(() => {
+ const order: string[] = [];
+ for (const pack of basePacks) {
+ const sub = pack.subcategory || '';
+ if (!order.includes(sub)) {
+ order.push(sub);
+ }
+ }
+ if (!order.some((sub) => sub !== '')) {
+ return [];
+ }
+ return [
+ ...order.filter((sub) => sub === ''),
+ ...order.filter((sub) => sub !== ''),
+ ];
+ }, [basePacks]);
+
+ const hasSubcategories = subcategoryOrder.length > 0;
+ // BUBBER EDIT START
+ const subcategoryCounts = useMemo(() => {
+ const counts: Record = {};
+ for (const pack of basePacks) {
+ const sub = pack.subcategory || '';
+ counts[sub] = (counts[sub] || 0) + 1;
+ }
+ return counts;
+ }, [basePacks]);
+ // BUBBER EDIT END
+
+ const resolvedSubcategory =
+ hasSubcategories && subcategoryOrder.includes(activeSubcategory)
+ ? activeSubcategory
+ : (subcategoryOrder[0] ?? '');
+
+ const packs = useMemo(() => {
+ if (!hasSubcategories || activeSupplyName === 'search_results') {
+ return basePacks;
+ }
+ return basePacks.filter(
+ (pack) => (pack.subcategory || '') === resolvedSubcategory,
+ );
+ }, [activeSupplyName, basePacks, hasSubcategories, resolvedSubcategory]);
+ // BUBBER EDIT END
+
return (
<>
{showContents && (
@@ -67,9 +124,16 @@ export function CargoCatalog(props: Props) {
@@ -86,24 +150,40 @@ export function CargoCatalog(props: Props) {
}
type CatalogTabsProps = {
+ // BUBBER EDIT START - Subcategory accordion props
activeSupplyName: string;
+ activeSubcategory: string;
categories: SupplyCategory[];
+ hasSubcategories: boolean;
searchText: string;
+ subcategoryOrder: string[];
+ subcategoryCounts: Record;
setActiveSupplyName: (name: string) => void;
+ setActiveSubcategory: (subcategory: string) => void;
+ // BUBBER EDIT END
setSearchText: (text: string) => void;
};
function CatalogTabs(props: CatalogTabsProps & Props) {
const { act, data } = useBackend();
+ // BUBBER EDIT START - Subcategory accordion state wiring for selected category
const {
activeSupplyName,
+ activeSubcategory,
categories,
+ hasSubcategories,
searchText,
+ subcategoryOrder,
+ subcategoryCounts,
setActiveSupplyName,
+ setActiveSubcategory,
setSearchText,
express,
} = props;
- const { self_paid } = data;
+ // BUBBER EDIT ADDITION
+ const { self_paid, allow_private_purchases } = data;
+ const getSubcategoryLabel = (subcategory: string) => subcategory || 'General';
+ // BUBBER EDIT END
const sorted = sortBy(categories, [(supply) => supply.name]);
@@ -137,27 +217,54 @@ function CatalogTabs(props: CatalogTabsProps & Props) {
style={{ display: 'none' }}
/>
+ {/* BUBBER EDIT START - Show subcategory accordion under active category */}
{sorted.map((supply) => (
- {
- setActiveSupplyName(supply.name);
- setSearchText('');
- }}
- >
-
- {supply.name}
- {supply.packs.length}
-
-
+
+ {
+ setActiveSupplyName(supply.name);
+ setSearchText('');
+ }}
+ >
+
+ {supply.name}
+ {supply.packs.length}
+
+
+
+ {supply.name === activeSupplyName && hasSubcategories && (
+
+
+ {subcategoryOrder.map((sub) => (
+
+ ))}
+
+
+ )}
+
))}
+ {/* BUBBER EDIT END */}
- {!express && (
+ {/* BUBBER EDIT START */}
+ {(!express || !!allow_private_purchases) && (
);
@@ -181,12 +289,22 @@ type CatalogListProps = {
function CatalogList(props: CatalogListProps) {
const { act, data } = useBackend();
- const { cart = [], max_order, self_paid, app_cost, displayed_currency_name } = data;
+ // BUBBER EDIT START - Subcategories
+ const {
+ cart = [],
+ max_order,
+ self_paid,
+ app_cost,
+ displayed_currency_name,
+ } = data;
+ // BUBBER EDIT END
const { packs = [], openContents } = props;
- return (
+ // BUBBER EDIT START - Subcategories
+ const renderPacks = (subpacks: SupplyCategory['packs']) => (
+ // BUBBER EDIT END
<>
- {packs.map((pack) => {
+ {subpacks.map((pack) => {
let color = '';
const digits = Math.floor(Math.log10(pack.cost) + 1);
if (self_paid) {
@@ -258,11 +376,13 @@ function CatalogList(props: CatalogListProps) {
opacity={privateBuy && 0.75}
style={{ textDecoration: privateBuy && 'red line-through' }}
>
- {formatMoney(pack.cost)}{displayed_currency_name}
+ {formatMoney(pack.cost)}
+ {displayed_currency_name}
{!!privateBuy && (
- {formatMoney(Math.round(pack.cost * 1.1))}{displayed_currency_name}
+ {formatMoney(Math.round(pack.cost * 1.1))}
+ {displayed_currency_name}
)}
@@ -273,6 +393,8 @@ function CatalogList(props: CatalogListProps) {
})}
>
);
+
+ return <>{renderPacks(packs)}>; // BUBBER EDIT - Subcategories
}
type CatalogContentsProps = {
diff --git a/tgui/packages/tgui/interfaces/Cargo/index.tsx b/tgui/packages/tgui/interfaces/Cargo/index.tsx
index d6f433b7299..529461be7be 100644
--- a/tgui/packages/tgui/interfaces/Cargo/index.tsx
+++ b/tgui/packages/tgui/interfaces/Cargo/index.tsx
@@ -13,9 +13,6 @@ import type { CargoData } from './types';
enum TAB {
Catalog = 'catalog',
- /* SKYRAT EDIT BELOW - ADDS company imports */
- Imports = 'company_import_window',
- /* SKYRAT EDIT END */
Requests = 'active requests',
Cart = 'cart',
Help = 'help',
@@ -74,15 +71,6 @@ export function CargoContent(props) {
>
Catalog
- {/* BUBBER EDIT START - Company imports */}
- act(TAB.Imports)}
- >
- Company Imports
-
- {/* BUBBER EDIT END */}
;
};
@@ -39,6 +41,7 @@ export type Supply = {
name: string;
small_item: BooleanLike;
contraband: BooleanLike;
+ subcategory: string; // BUBBER EDIT
contains: SupplyItem[];
};
diff --git a/tgui/packages/tgui/interfaces/CargoImportConsole.jsx b/tgui/packages/tgui/interfaces/CargoImportConsole.jsx
deleted file mode 100644
index 960614cd870..00000000000
--- a/tgui/packages/tgui/interfaces/CargoImportConsole.jsx
+++ /dev/null
@@ -1,171 +0,0 @@
-// THIS IS A SKYRAT UI FILE
-import { useState } from 'react';
-import {
- Box,
- Button,
- Divider,
- Image,
- Section,
- Stack,
-} from 'tgui-core/components';
-
-import { useBackend } from '../backend';
-import { Window } from '../layouts';
-
-export const CargoImportConsole = (props) => {
- const [category, setCategory] = useState('');
- const [weapon, setArmament] = useState('weapon');
- const { act, data } = useBackend();
- const {
- armaments_list = [],
- budget_points,
- budget_name,
- self_paid,
- cant_buy_restricted,
- } = data;
- return (
-
-
-
-
-
- act('toggleprivate')}
- />
-
- Current Budget: {budget_name}
-
-
- Budget Remaining: {budget_points}
-
-
-
-
-
-
-
-
- {armaments_list.map((armament_category) => (
-
-
- ))}
-
-
-
-
-
-
- {armaments_list.map(
- (armament_category) =>
- armament_category.category === category &&
- armament_category.subcategories.map((subcat) => (
-
-
- {subcat.items.map((item) => (
-
-
-
- ))}
-
-
- )),
- )}
-
-
-
-
-
- {armaments_list.map((armament_category) =>
- armament_category.subcategories.map((subcat) =>
- subcat.items.map(
- (item) =>
- item.ref === weapon && (
-
-
-
-
- {item.description}
- {!!cant_buy_restricted && !!item.restricted && (
-
- {
- 'You cannot buy a restricted item from this console!'
- }
-
- )}
- budget_points ? 'red' : 'green'
- }
- >
- {`Cost: ${item.cost}`}
-
-
-
-
- ),
- ),
- ),
- )}
-
-
-
-
-
-
- );
-};