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) && ( - - ))} - - - )), - )} - - - - -
- {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}`} - - -
-
- - - - - ); -};