From 683601cd9fb8d9b78a2174fded7f48f222dcc1a4 Mon Sep 17 00:00:00 2001 From: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com> Date: Wed, 23 Nov 2022 21:25:17 -0500 Subject: [PATCH] Gun Cargo Rework: Now with 90% less gun and 100% more stuff the rest of the crew can actually use (#17326) * quick reorder * nakamura part 1 * nakamura finished maybe * blacksteel does not actually make black steel * renames the folder, special metals part 2 for blacksteel * WHERE WE PLAY NOTHING BUT ROCK, ROCK, AND MORE ROCK * file pathing * blacksteel done * nri surplus start * interest stuff, company flags, nri surplus completion * deforest medical * theres gonna be multiple nakamuras actually * donk co * the prices are behaving strange * those are a tad expensive * im so confused * ticks the other companies to see if maybe they're responsible * also maybe that? * on jod bro they just needed to all be the same name * kahraman mining tools * nakamura tools * nt-bolt defense equipment * the two g*n companies * ammo company * good lord what is happening in there * STOP TALKING ABOUT GUNS, IM TIRED OF HEARING ABOUT IT * hopefully the last few bits of gun-centricity (i don think that's a word * price adjustment * changes what can be a freebie * those should be the other way around * well that'd just make the descriptions incorrect now would it * 1st batch of changes * pt2 * oopsies (makes every test fail) * then king minos told me "DIE" and I was like :skull: * some of those things could cause problems * they even spelled asbestos wrong * ultrakrill (funny) * i hate this dumbass """"""advanced"""""" ammo box thing * nakamura was a bit hard to get interest from * not much a fan of how interest goes down * those mod cores should be cheaper * again fuck this stupid ''''''''advanced'''''''' ammo box shit * price adjustment * misinput * Update accretion_incompatibility.dm Co-authored-by: John Doe Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> --- .../~skyrat_defines/cargo_import_companies.dm | 28 ++ code/__DEFINES/~skyrat_defines/gun.dm | 6 - code/modules/cargo/orderconsole.dm | 10 +- .../file_system/programs/budgetordering.dm | 8 +- code/modules/shuttle/supply.dm | 8 +- .../code/m16_variations.dm} | 0 .../modules/blueshield/code/blueshield.dm | 6 +- modular_skyrat/modules/cargo/code/goodies.dm | 6 - modular_skyrat/modules/cargo/code/packs.dm | 4 +- .../code/armament_component.dm | 58 ++-- .../bolt_nanotrasen_firearms.dm | 85 +++++ .../code/armament_datums/deforest_medical.dm | 237 ++++++++++++++ .../code/armament_datums/jarnsmiour.dm | 96 ++++++ .../armament_datums/kahraman_industries.dm | 152 +++++++++ .../code/armament_datums/microstar_energy.dm | 153 +++++++++ .../code/armament_datums/nakamura_modsuits.dm | 297 ++++++++++++++++++ .../code/armament_datums/nakamura_tools.dm | 119 +++++++ .../armament_datums/nri_military_surplus.dm | 133 ++++++++ .../code/armament_datums/parent_armament.dm | 4 +- .../code/armament_datums/put_a_donk_on_it.dm | 164 ++++++++++ .../code/armament_datums/vitezstvi_ammo.dm | 134 ++++++++ .../company_imports/code/company_datums.dm | 108 +++++++ .../code/company_subsystem.dm} | 65 ++-- .../code/datums/cargo_order.dm | 16 +- .../code/datums/cargo_pack.dm | 0 .../code/datums/hud.dm | 0 .../code/gun_companies.dm | 0 .../code/objects/access.dm | 0 .../code/objects/cargo_console_and_case.dm | 14 + .../objects/deforest/filled_organ_boxes.dm | 29 ++ .../code/objects/donk/donkfish_box.dm | 6 + .../code/objects/firing_pin.dm | 0 .../code/objects/hud_glasses.dm | 4 +- .../code/objects/jarnsmiour/special_metals.dm | 117 +++++++ .../code/objects/keycard_auth.dm | 0 .../objects/microstar/mcr_attachment_kits.dm | 85 +++++ .../accretion_incompatibility.dm | 3 + .../plate_compression_tech.dm | 2 + .../code/objects/nri_surplus/ak25.dm} | 10 +- .../code/objects/nri_surplus/larp_clothing.dm | 3 + .../code/objects/vitezstvi}/ammo_boxes.dm | 6 +- .../icons/ak25/ak25.dmi | Bin .../icons/ak25/ak25_ammo.dmi | Bin .../icons/ak25/ak25_back.dmi | Bin .../icons/ak25/ak25_lefthand.dmi | Bin .../icons/ak25/ak25_righthand.dmi | Bin .../icons/ammo.dmi | Bin .../icons/hud_goggles.dmi | Bin .../icons/hud_goggles_worn.dmi | Bin .../icons/special_metals_stack.dmi | Bin 0 -> 408 bytes .../gun_cargo/code/armament_datums/allstar.dm | 62 ---- .../code/armament_datums/armadyne.dm | 67 ---- .../gun_cargo/code/armament_datums/bolt.dm | 62 ---- .../code/armament_datums/cantalan.dm | 80 ----- .../code/armament_datums/dynamics.dm | 250 --------------- .../code/armament_datums/interdyne.dm | 110 ------- .../gun_cargo/code/armament_datums/izhevsk.dm | 69 ---- .../code/armament_datums/jarnsmiour.dm | 24 -- .../gun_cargo/code/armament_datums/micron.dm | 108 ------- .../code/armament_datums/nanotrasen.dm | 68 ---- .../code/armament_datums/scarborough.dm | 67 ---- .../modules/gun_cargo/code/company_datums.dm | 109 ------- .../modules/gun_cargo/code/objects/bottles.dm | 4 - .../modules/gun_cargo/code/objects/box.dm | 21 -- .../gun_cargo/code/objects/cargo_console.dm | 7 - .../gun_cargo/code/objects/guns/interdyne.dm | 40 --- .../gun_cargo/code/objects/suppressor.dm | 6 - .../modules/gun_cargo/icons/honeybee.dmi | Bin 595 -> 0 bytes .../modules/modular_vending/code/wardrobes.dm | 2 +- .../modules/novaya_ert/code/head.dm | 5 +- .../modules/shotgunrebalance/code/ammobox.dm | 16 +- .../shotgunrebalance/icons/shotbox.dmi | Bin 2915 -> 6560 bytes tgstation.dme | 65 ++-- tgui/packages/tgui/interfaces/Cargo.js | 8 +- ...rgoGunConsole.js => CargoImportConsole.js} | 10 +- 75 files changed, 2121 insertions(+), 1315 deletions(-) create mode 100644 code/__DEFINES/~skyrat_defines/cargo_import_companies.dm rename modular_skyrat/modules/{gun_cargo/code/objects/guns/oldarms.dm => black_mesa/code/m16_variations.dm} (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/code/armament_component.dm (87%) create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/bolt_nanotrasen_firearms.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/microstar_energy.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/nakamura_modsuits.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/nakamura_tools.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/nri_military_surplus.dm rename modular_skyrat/modules/{gun_cargo => company_imports}/code/armament_datums/parent_armament.dm (86%) create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/put_a_donk_on_it.dm create mode 100644 modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm create mode 100644 modular_skyrat/modules/company_imports/code/company_datums.dm rename modular_skyrat/modules/{gun_cargo/code/gun_subsystem.dm => company_imports/code/company_subsystem.dm} (77%) rename modular_skyrat/modules/{gun_cargo => company_imports}/code/datums/cargo_order.dm (62%) rename modular_skyrat/modules/{gun_cargo => company_imports}/code/datums/cargo_pack.dm (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/code/datums/hud.dm (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/code/gun_companies.dm (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/code/objects/access.dm (100%) create mode 100644 modular_skyrat/modules/company_imports/code/objects/cargo_console_and_case.dm create mode 100644 modular_skyrat/modules/company_imports/code/objects/deforest/filled_organ_boxes.dm create mode 100644 modular_skyrat/modules/company_imports/code/objects/donk/donkfish_box.dm rename modular_skyrat/modules/{gun_cargo => company_imports}/code/objects/firing_pin.dm (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/code/objects/hud_glasses.dm (87%) create mode 100644 modular_skyrat/modules/company_imports/code/objects/jarnsmiour/special_metals.dm rename modular_skyrat/modules/{gun_cargo => company_imports}/code/objects/keycard_auth.dm (100%) create mode 100644 modular_skyrat/modules/company_imports/code/objects/microstar/mcr_attachment_kits.dm create mode 100644 modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/accretion_incompatibility.dm create mode 100644 modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/plate_compression_tech.dm rename modular_skyrat/modules/{gun_cargo/code/objects/guns/izhevsk.dm => company_imports/code/objects/nri_surplus/ak25.dm} (80%) create mode 100644 modular_skyrat/modules/company_imports/code/objects/nri_surplus/larp_clothing.dm rename modular_skyrat/modules/{gun_cargo/code/objects => company_imports/code/objects/vitezstvi}/ammo_boxes.dm (95%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/ak25/ak25.dmi (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/ak25/ak25_ammo.dmi (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/ak25/ak25_back.dmi (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/ak25/ak25_lefthand.dmi (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/ak25/ak25_righthand.dmi (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/ammo.dmi (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/hud_goggles.dmi (100%) rename modular_skyrat/modules/{gun_cargo => company_imports}/icons/hud_goggles_worn.dmi (100%) create mode 100644 modular_skyrat/modules/company_imports/icons/special_metals_stack.dmi delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/allstar.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/armadyne.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/bolt.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/cantalan.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/dynamics.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/interdyne.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/izhevsk.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/jarnsmiour.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/micron.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/nanotrasen.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/armament_datums/scarborough.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/company_datums.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/objects/bottles.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/objects/box.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/objects/cargo_console.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/objects/guns/interdyne.dm delete mode 100644 modular_skyrat/modules/gun_cargo/code/objects/suppressor.dm delete mode 100644 modular_skyrat/modules/gun_cargo/icons/honeybee.dmi rename tgui/packages/tgui/interfaces/{CargoGunConsole.js => CargoImportConsole.js} (96%) diff --git a/code/__DEFINES/~skyrat_defines/cargo_import_companies.dm b/code/__DEFINES/~skyrat_defines/cargo_import_companies.dm new file mode 100644 index 00000000000..efb250aa231 --- /dev/null +++ b/code/__DEFINES/~skyrat_defines/cargo_import_companies.dm @@ -0,0 +1,28 @@ +// Bitflags for what company a cargo order datum should belong to +#define CARGO_COMPANY_NAKAMURA_MODSUITS (1<<0) +#define CARGO_COMPANY_BLACKSTEEL (1<<1) +#define CARGO_COMPANY_NRI_SURPLUS (1<<2) +#define CARGO_COMPANY_DEFOREST (1<<3) +#define CARGO_COMPANY_DONK (1<<4) +#define CARGO_COMPANY_KAHRAMAN (1<<5) +#define CARGO_COMPANY_NAKAMURA_TOOLING (1<<6) +#define CARGO_COMPANY_BOLT_NANOTRASEN (1<<7) +#define CARGO_COMPANY_MICROSTAR (1<<8) +#define CARGO_COMPANY_VITEZSTVI_AMMO (1<<9) + +// Company names, because the armament category and company name need to be the exact same, so use defines like this +#define NAKAMURA_ENGINEERING_MODSUITS_NAME "Nakamura Engineering MOD Divison" +#define BLACKSTEEL_FOUNDATION_NAME "Jarnsmiour Blacksteel Foundation" +#define NRI_SURPLUS_COMPANY_NAME "Izlishek Company Military Supplier" +#define DEFOREST_MEDICAL_NAME "DeForest Medical Corporation" +#define DONK_CO_NAME "Donk Corporation" +#define KAHRAMAN_INDUSTRIES_NAME "Kahraman Heavy Industries" +#define NAKAMURA_ENGINEERING_TOOLING_NAME "Nakamura Engineering Tooling Divison" +#define BOLT_NANOTRASEN_DEFENSE_NAME "Nanotrasen-Bolt Personal Defense Coalition" +#define MICROSTAR_ENERGY_NAME "MicroStar Energy Weapon Coalition" +#define VITEZSTVI_AMMO_NAME "Vitezstvi Ammo & Weapon Accessories" + +#define COMPANY_INTEREST_GAIN_BIG 10 +#define COMPANY_INTEREST_GAIN_AVERAGE 5 +#define COMPANY_INTEREST_GAIN_LOW 3 +#define COMPANY_INTEREST_GAIN_PITIFUL 1 diff --git a/code/__DEFINES/~skyrat_defines/gun.dm b/code/__DEFINES/~skyrat_defines/gun.dm index 0a0794762b8..6d2d4adcbaa 100644 --- a/code/__DEFINES/~skyrat_defines/gun.dm +++ b/code/__DEFINES/~skyrat_defines/gun.dm @@ -18,9 +18,3 @@ #define COMPANY_JARNSMIOUR (1<<13) #define COMPANY_ABDUCTOR (1<<14) #define COMPANY_REMOVED (1<<15) - -#define COMPANY_INTEREST_GUN 10 -#define COMPANY_INTEREST_CHEMICAL 5 -#define COMPANY_INTEREST_ATTACHMENT 4 -#define COMPANY_INTEREST_AMMO_BULK 4 -#define COMPANY_INTEREST_AMMO 1 diff --git a/code/modules/cargo/orderconsole.dm b/code/modules/cargo/orderconsole.dm index 03538bc5ac8..c9e46a9eb49 100644 --- a/code/modules/cargo/orderconsole.dm +++ b/code/modules/cargo/orderconsole.dm @@ -284,8 +284,8 @@ say("Coupon refunded.") SO.applied_coupon.forceMove(get_turf(src)) //SKYRAT EDIT START - if(istype(SO, /datum/supply_order/armament)) - var/datum/supply_order/armament/the_order = SO + if(istype(SO, /datum/supply_order/company_import)) + var/datum/supply_order/company_import/the_order = SO the_order.reimburse_armament() //SKYRAT EDIT END SSshuttle.shopping_list -= SO @@ -319,9 +319,9 @@ self_paid = !self_paid . = TRUE //SKYRAT EDIT START - if("gun_window") - var/datum/component/armament/cargo_gun/gun_comp = GetComponent(/datum/component/armament/cargo_gun) - gun_comp.ui_interact(usr) + 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 //SKYRAT EDIT END if(.) diff --git a/code/modules/modular_computers/file_system/programs/budgetordering.dm b/code/modules/modular_computers/file_system/programs/budgetordering.dm index da994b7206b..20e1f0dd330 100644 --- a/code/modules/modular_computers/file_system/programs/budgetordering.dm +++ b/code/modules/modular_computers/file_system/programs/budgetordering.dm @@ -278,11 +278,11 @@ self_paid = !self_paid . = TRUE //SKYRAT EDIT START - if("gun_window") - var/datum/component/armament/cargo_gun/gun_comp = computer.GetComponent(/datum/component/armament/cargo_gun) + 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/cargo_gun, subtypesof(/datum/armament_entry/cargo_gun), 0) - gun_comp = computer.GetComponent(/datum/component/armament/cargo_gun) + 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 diff --git a/code/modules/shuttle/supply.dm b/code/modules/shuttle/supply.dm index 8a691e6108a..254db256282 100644 --- a/code/modules/shuttle/supply.dm +++ b/code/modules/shuttle/supply.dm @@ -152,7 +152,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( if(spawning_order.paying_account) if(spawning_order.pack.goody) LAZYADD(goodies_by_buyer[spawning_order.paying_account], spawning_order) - if(istype(spawning_order, /datum/supply_order/armament)) + if(istype(spawning_order, /datum/supply_order/company_import)) LAZYADD(forced_briefcases[spawning_order.paying_account], spawning_order) paying_for_this.bank_card_talk("Cargo order #[spawning_order.id] has shipped. [price] credits have been charged to your bank account.") SSeconomy.track_purchase(paying_for_this, price, spawning_order.pack.name) @@ -207,7 +207,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( var/datum/bank_account/buying_account = briefcase_order var/buyer = buying_account.account_holder var/buying_acc_order_num = length(buying_account_orders) - for(var/datum/supply_order/armament/the_order in buying_account_orders) + for(var/datum/supply_order/company_import/the_order in buying_account_orders) if(!the_order.item_amount || (the_order.item_amount == 1)) continue buying_acc_order_num += the_order.item_amount - 1 @@ -215,7 +215,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( if(buying_acc_order_num > 2) // 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 - our_crate.name = "armament crate - purchased by [buyer]" + our_crate.name = "special import 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)) @@ -224,7 +224,7 @@ GLOBAL_LIST_INIT(blacklisted_cargo_types, typecacheof(list( if(istype(our_case.buyer_account, /datum/bank_account/department)) our_case.department_purchase = TRUE our_case.department_account = our_case.buyer_account - miscboxes[buyer].name = "armament case - purchased by [buyer]" + miscboxes[buyer].name = "special import case - purchased by [buyer]" misc_contents[buyer] = list() for(var/datum/supply_order/order in buying_account_orders) diff --git a/modular_skyrat/modules/gun_cargo/code/objects/guns/oldarms.dm b/modular_skyrat/modules/black_mesa/code/m16_variations.dm similarity index 100% rename from modular_skyrat/modules/gun_cargo/code/objects/guns/oldarms.dm rename to modular_skyrat/modules/black_mesa/code/m16_variations.dm diff --git a/modular_skyrat/modules/blueshield/code/blueshield.dm b/modular_skyrat/modules/blueshield/code/blueshield.dm index 0fc6774b756..3a944b22313 100644 --- a/modular_skyrat/modules/blueshield/code/blueshield.dm +++ b/modular_skyrat/modules/blueshield/code/blueshield.dm @@ -84,7 +84,11 @@ new /obj/item/ammo_box/magazine/multi_sprite/cmg(src) new /obj/item/ammo_box/magazine/multi_sprite/cmg/lethal(src) new /obj/item/ammo_box/magazine/multi_sprite/cmg/lethal(src) - new /obj/item/suppressor/nanotrasen(src) //why the fuck does BS need a suppressed gun is beyond me + new /obj/item/suppressor/nanotrasen(src) + +/obj/item/suppressor/nanotrasen + name = "NT-S suppressor" + desc = "A Nanotrasen brand small-arms suppressor, including a large NT logo stamped on the side." /obj/item/ammo_casing/energy/laser/hellfire/bs projectile_type = /obj/projectile/beam/laser/hellfire diff --git a/modular_skyrat/modules/cargo/code/goodies.dm b/modular_skyrat/modules/cargo/code/goodies.dm index e8f20653cce..6b75ebcf20e 100644 --- a/modular_skyrat/modules/cargo/code/goodies.dm +++ b/modular_skyrat/modules/cargo/code/goodies.dm @@ -62,12 +62,6 @@ cost = PAYCHECK_CREW * 4 contains = list(/obj/item/paper_bin) -/datum/supply_pack/goody/nri_rations - name = "Surplus NRI Combat Ration" - desc = "A single surplus ration pack from the NRI Defense Collegium. Comes with a standard-issue selection of food selected and approved by at least one Imperial regiment." - cost = PAYCHECK_COMMAND * 2 //Less nourishing than the mothic one but you get cigarettes and wo'oh. - contains = list(/obj/item/storage/box/nri_rations) - /* * CARPET PACKS */ diff --git a/modular_skyrat/modules/cargo/code/packs.dm b/modular_skyrat/modules/cargo/code/packs.dm index 7df50d767d8..250b2793ab0 100644 --- a/modular_skyrat/modules/cargo/code/packs.dm +++ b/modular_skyrat/modules/cargo/code/packs.dm @@ -715,11 +715,11 @@ /obj/item/ammo_box/magazine/multi_sprite/makarov, /obj/item/ammo_box/magazine/multi_sprite/makarov, /obj/item/clothing/suit/armor/vest/russian/nri, - /obj/item/clothing/head/helmet/rus_helmet, + /obj/item/clothing/head/helmet/rus_helmet/nri, /obj/item/storage/backpack/nri, /obj/item/storage/belt/military/nri, /obj/item/clothing/gloves/tackler/combat, /obj/item/clothing/under/costume/nri, - /obj/item/clothing/mask/gas/hecu2, /obj/item/clothing/shoes/combat, + /obj/item/clothing/mask/gas/hecu2, ) diff --git a/modular_skyrat/modules/gun_cargo/code/armament_component.dm b/modular_skyrat/modules/company_imports/code/armament_component.dm similarity index 87% rename from modular_skyrat/modules/gun_cargo/code/armament_component.dm rename to modular_skyrat/modules/company_imports/code/armament_component.dm index 1b5115a5adc..88f17ac0033 100644 --- a/modular_skyrat/modules/gun_cargo/code/armament_component.dm +++ b/modular_skyrat/modules/company_imports/code/armament_component.dm @@ -2,7 +2,7 @@ #define CARGO_CONSOLE 1 #define IRN_CONSOLE 2 -/datum/component/armament/cargo_gun +/datum/component/armament/company_imports /// Selected amount of ammo to purchase var/ammo_purchase_num = 1 /// Is this set to private order @@ -14,24 +14,24 @@ /// If this is a tablet, the parent budgetordering var/datum/computer_file/program/budgetorders/parent_prog -/datum/component/armament/cargo_gun/Initialize(list/required_products, list/needed_access) +/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/cargo_gun/Destroy(force, silent) +/datum/component/armament/company_imports/Destroy(force, silent) parent_prog = null . = ..() -/datum/component/armament/cargo_gun/on_attack_hand(datum/source, mob/living/user) +/datum/component/armament/company_imports/on_attack_hand(datum/source, mob/living/user) return -/datum/component/armament/cargo_gun/on_attackby(atom/target, obj/item, mob/user) +/datum/component/armament/company_imports/on_attackby(atom/target, obj/item, mob/user) return -/datum/component/armament/cargo_gun/ui_data(mob/user) +/datum/component/armament/company_imports/ui_data(mob/user) var/list/data = list() var/mob/living/carbon/human/the_person = user @@ -83,11 +83,11 @@ for(var/armament_category as anything in SSarmaments.entries) var/illegal_failure - for(var/company as anything in SSgun_companies.companies) + for(var/company as anything in SScargo_companies.companies) if(company != armament_category) continue - var/datum/gun_company/selected_company = SSgun_companies.companies[company] + var/datum/cargo_company/selected_company = SScargo_companies.companies[company] if(!(console_state == CARGO_CONSOLE) && selected_company.illegal) illegal_failure = TRUE @@ -109,7 +109,7 @@ if(products && !(armament_entry.type in products)) continue - var/datum/armament_entry/cargo_gun/gun_entry = armament_entry + var/datum/armament_entry/company_import/gun_entry = armament_entry if(gun_entry.contraband) if(!(console_state == CARGO_CONSOLE)) @@ -121,10 +121,10 @@ var/cant_purchase = FALSE if(gun_entry.interest_required) - for(var/company_interested as anything in SSgun_companies.companies) + for(var/company_interested as anything in SScargo_companies.companies) if(company_interested != armament_category) continue - var/datum/gun_company/company_datum = SSgun_companies.companies[company_interested] + var/datum/cargo_company/company_datum = SScargo_companies.companies[company_interested] if(company_datum.interest < gun_entry.interest_required) cant_purchase = TRUE @@ -159,16 +159,16 @@ var/company_cost = 0 var/handout_company = FALSE - for(var/company as anything in SSgun_companies.companies) + for(var/company as anything in SScargo_companies.companies) if(company != armament_category) continue - if(company in SSgun_companies.purchased_companies) + if(company in SScargo_companies.purchased_companies) purchased_company = TRUE - var/datum/gun_company/company_datum = SSgun_companies.companies[company] + var/datum/cargo_company/company_datum = SScargo_companies.companies[company] - if((company_datum in SSgun_companies.chosen_handouts) && !SSgun_companies.handout_picked) + if((company_datum in SScargo_companies.chosen_handouts) && !SScargo_companies.handout_picked) handout_company = TRUE company_cost = company_datum.cost @@ -185,13 +185,13 @@ return data -/datum/component/armament/cargo_gun/ui_interact(mob/user, datum/tgui/ui) +/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, "CargoGunConsole") + ui = new(user, src, "CargoImportConsole") ui.open() -/datum/component/armament/cargo_gun/select_armament(mob/user, datum/armament_entry/cargo_gun/armament_entry) +/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 @@ -289,7 +289,7 @@ created_pack.contains = list(armament_entry.item_type) var/rank = the_person.get_assignment(hand_first = TRUE) var/ckey = the_person.ckey - var/datum/supply_order/armament/created_order + 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) else @@ -311,7 +311,7 @@ else SSshuttle.shopping_list += created_order -/datum/component/armament/cargo_gun/buy_ammo(mob/user, datum/armament_entry/cargo_gun/armament_entry) +/datum/component/armament/company_imports/buy_ammo(mob/user, datum/armament_entry/company_import/armament_entry) var/datum/bank_account/buyer = SSeconomy.get_dep_account(ACCOUNT_CAR) var/obj/machinery/computer/cargo/possible_console var/obj/item/modular_computer/possible_downloader @@ -401,7 +401,7 @@ created_pack.contains += armament_entry.magazine var/rank = the_person.get_assignment(hand_first = TRUE) var/ckey = the_person.ckey - var/datum/supply_order/armament/created_order + 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) else @@ -421,11 +421,11 @@ else SSshuttle.shopping_list += created_order -/datum/component/armament/cargo_gun/proc/cost_calculate(cost) +/datum/component/armament/company_imports/proc/cost_calculate(cost) . = cost . *= SSeconomy.pack_price_modifier -/datum/component/armament/cargo_gun/ui_act(action, list/params) +/datum/component/armament/company_imports/ui_act(action, list/params) . = ..() if(.) return @@ -448,11 +448,11 @@ to_chat(usr, span_warning("You cannot purchase companies on a tablet without privately ordering them!")) return - for(var/find_company in SSgun_companies.unpurchased_companies) + for(var/find_company in SScargo_companies.unpurchased_companies) if(find_company != target) continue - var/datum/gun_company/found_company = SSgun_companies.unpurchased_companies[target] + var/datum/cargo_company/found_company = SScargo_companies.unpurchased_companies[target] var/datum/bank_account/buyer = SSeconomy.get_dep_account(ACCOUNT_CAR) var/mob/living/carbon/human/user = usr @@ -493,17 +493,17 @@ var/assigned_cost = -found_company.cost var/do_payment = TRUE - if(!SSgun_companies.handout_picked && (found_company in SSgun_companies.chosen_handouts)) + if(!SScargo_companies.handout_picked && (found_company in SScargo_companies.chosen_handouts)) do_payment = FALSE - SSgun_companies.handout_picked = TRUE + SScargo_companies.handout_picked = TRUE if(do_payment) if(!buyer.adjust_money(assigned_cost)) return if(possible_console) possible_console.radio_wrapper(possible_console, "[find_company] has been purchased by [user] on [self_paid ? "[buyer.account_holder]'s balance" : "Cargo Budget"] for [abs(assigned_cost)].", RADIO_CHANNEL_SUPPLY) - SSgun_companies.purchased_companies[find_company] = found_company - SSgun_companies.unpurchased_companies.Remove(find_company) + SScargo_companies.purchased_companies[find_company] = found_company + SScargo_companies.unpurchased_companies.Remove(find_company) break if("toggleprivate") diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/bolt_nanotrasen_firearms.dm b/modular_skyrat/modules/company_imports/code/armament_datums/bolt_nanotrasen_firearms.dm new file mode 100644 index 00000000000..93db8c5a3ca --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/bolt_nanotrasen_firearms.dm @@ -0,0 +1,85 @@ +/datum/armament_entry/company_import/nanotrasen_bolt_weapons + category = BOLT_NANOTRASEN_DEFENSE_NAME + company_bitflag = CARGO_COMPANY_BOLT_NANOTRASEN + +// Basic armor vests + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/armor + subcategory = "Light Body Armor" + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/armor/slim_vest + name = "type I vest - slim" + item_type = /obj/item/clothing/suit/armor/vest + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 1.5 + stock_mult = 2 + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/armor/normal_vest + name = "type I vest - normal" + item_type = /obj/item/clothing/suit/armor/vest/alt + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 1.5 + stock_mult = 2 + +// Fully non-lethal weapons + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/nonlethal + subcategory = "Non-Lethal Weapons" + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/nonlethal/responder + item_type = /obj/item/gun/energy/disabler/bolt_disabler + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 4 + stock_mult = 2 + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/nonlethal/pepperball + item_type = /obj/item/gun/ballistic/automatic/pistol/pepperball + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 4 + stock_mult = 2 + +// Lethal pistols, requires some company interest first + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/lethal_sidearm + subcategory = "Lethal Sidearms" + interest_addition = COMPANY_INTEREST_GAIN_BIG + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/lethal_sidearm/detective_revolver + item_type = /obj/item/gun/ballistic/revolver/detective + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/lethal_sidearm/m1911 + item_type = /obj/item/gun/ballistic/automatic/pistol/m1911 + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 7 + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/lethal_sidearm/thermal_holsters + item_type = /obj/item/storage/belt/holster/thermal + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 9 + +// Lethal anything that's not a pistol, requires high company interest + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/longarm + subcategory = "Lethal Longarms" + interest_addition = COMPANY_INTEREST_GAIN_BIG + interest_required = COMPANY_HIGH_INTEREST + restricted = TRUE + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/longarm/riot_shotgun + item_type = /obj/item/gun/ballistic/shotgun/riot + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 15 + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/longarm/wt550 + item_type = /obj/item/gun/ballistic/automatic/wt550 + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 15 + +/datum/armament_entry/company_import/nanotrasen_bolt_weapons/longarm/cmg + item_type = /obj/item/gun/ballistic/automatic/cmg + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 15 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 new file mode 100644 index 00000000000..a381c159c43 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm @@ -0,0 +1,237 @@ +/datum/armament_entry/company_import/deforest + category = DEFOREST_MEDICAL_NAME + company_bitflag = CARGO_COMPANY_DEFOREST + +// Basic first aid supplies like gauze, sutures, mesh, so on + +/datum/armament_entry/company_import/deforest/first_aid + subcategory = "First-Aid Supplies" + +/datum/armament_entry/company_import/deforest/first_aid/gauze + item_type = /obj/item/stack/medical/gauze/twelve + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + stock_mult = 3 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/deforest/first_aid/splint + item_type = /obj/item/stack/medical/splint/twelve + lower_cost = PAYCHECK_CREW + upper_cost = PAYCHECK_CREW * 1.5 + stock_mult = 3 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/deforest/first_aid/bruise_pack + item_type = /obj/item/stack/medical/bruise_pack + lower_cost = PAYCHECK_CREW + upper_cost = PAYCHECK_CREW * 1.5 + stock_mult = 3 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/deforest/first_aid/ointment + item_type = /obj/item/stack/medical/ointment + lower_cost = PAYCHECK_CREW + upper_cost = PAYCHECK_CREW * 1.5 + stock_mult = 3 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/deforest/first_aid/suture + item_type = /obj/item/stack/medical/suture + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 3 + +/datum/armament_entry/company_import/deforest/first_aid/mesh + item_type = /obj/item/stack/medical/mesh + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 3 + +/datum/armament_entry/company_import/deforest/first_aid/bone_gel + item_type = /obj/item/stack/medical/bone_gel/four + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 2 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/first_aid/medicated_sutures + item_type = /obj/item/stack/medical/suture/medicated + lower_cost = PAYCHECK_CREW * 3 + upper_cost = PAYCHECK_CREW * 5 + stock_mult = 2 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/first_aid/advanced_mesh + item_type = /obj/item/stack/medical/mesh/advanced + lower_cost = PAYCHECK_CREW * 3 + upper_cost = PAYCHECK_CREW * 5 + stock_mult = 2 + interest_required = COMPANY_SOME_INTEREST + +// Various chemicals, with a box of syringes to come with + +/datum/armament_entry/company_import/deforest/medical_chems + subcategory = "Chemical Supplies" + +/datum/armament_entry/company_import/deforest/medical_chems/syringes + item_type = /obj/item/storage/box/syringes + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/deforest/medical_chems/epinephrine + item_type = /obj/item/reagent_containers/cup/bottle/epinephrine + lower_cost = CARGO_CRATE_VALUE * 0.4 + upper_cost = CARGO_CRATE_VALUE * 0.7 + +/datum/armament_entry/company_import/deforest/medical_chems/mannitol + item_type = /obj/item/reagent_containers/cup/bottle/mannitol + lower_cost = CARGO_CRATE_VALUE * 0.4 + upper_cost = CARGO_CRATE_VALUE * 0.7 + +/datum/armament_entry/company_import/deforest/medical_chems/morphine + item_type = /obj/item/reagent_containers/cup/bottle/morphine + lower_cost = CARGO_CRATE_VALUE * 0.4 + upper_cost = CARGO_CRATE_VALUE * 0.7 + +/datum/armament_entry/company_import/deforest/medical_chems/multiver + item_type = /obj/item/reagent_containers/cup/bottle/multiver + lower_cost = CARGO_CRATE_VALUE * 0.4 + upper_cost = CARGO_CRATE_VALUE * 0.7 + +/datum/armament_entry/company_import/deforest/medical_chems/formadehyde + item_type = /obj/item/reagent_containers/cup/bottle/formaldehyde + lower_cost = CARGO_CRATE_VALUE * 0.4 + upper_cost = CARGO_CRATE_VALUE * 0.7 + +/datum/armament_entry/company_import/deforest/medical_chems/potassium_iodide + item_type = /obj/item/reagent_containers/cup/bottle/potass_iodide + lower_cost = CARGO_CRATE_VALUE * 0.4 + upper_cost = CARGO_CRATE_VALUE * 0.7 + +/datum/armament_entry/company_import/deforest/medical_chems/atropine + item_type = /obj/item/reagent_containers/cup/bottle/atropine + lower_cost = CARGO_CRATE_VALUE * 0.7 + upper_cost = CARGO_CRATE_VALUE + +/datum/armament_entry/company_import/deforest/medical_chems/syriniver + item_type = /obj/item/reagent_containers/cup/bottle/syriniver + lower_cost = CARGO_CRATE_VALUE * 0.7 + upper_cost = CARGO_CRATE_VALUE + +// 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/health_analyzer + item_type = /obj/item/healthanalyzer + lower_cost = CARGO_CRATE_VALUE * 1 + upper_cost = CARGO_CRATE_VALUE * 2 + stock_mult = 2 + +/datum/armament_entry/company_import/deforest/equipment/loaded_defib + item_type = /obj/item/defibrillator/loaded + lower_cost = CARGO_CRATE_VALUE * 1 + upper_cost = CARGO_CRATE_VALUE * 2.5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/deforest/equipment/surgical_tools + item_type = /obj/item/storage/backpack/duffelbag/med/surgery + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/deforest/equipment/advanced_health_analyer + item_type = /obj/item/healthanalyzer/advanced + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 4 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/equipment/penlite_defib_mount + item_type = /obj/item/wallframe/defib_mount/charging + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/equipment/advanced_scalpel + item_type = /obj/item/scalpel/advanced + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_HIGH_INTEREST + +/datum/armament_entry/company_import/deforest/equipment/advanced_retractor + item_type = /obj/item/retractor/advanced + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_HIGH_INTEREST + +/datum/armament_entry/company_import/deforest/equipment/advanced_cautery + item_type = /obj/item/cautery/advanced + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_HIGH_INTEREST + +/datum/armament_entry/company_import/deforest/equipment/afad + item_type = /obj/item/gun/medbeam/afad + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 10 + interest_addition = COMPANY_INTEREST_GAIN_BIG + interest_required = COMPANY_HIGH_INTEREST + +// Various advanced cybernetic organs, organ replacements for the rich + +/datum/armament_entry/company_import/deforest/cyber_organs + subcategory = "Premium Cybernetic Organs" + +/datum/armament_entry/company_import/deforest/cyber_organs/eyes + name = "shielded cybernetic eyes" + item_type = /obj/item/storage/organbox/advanced_cyber_eyes + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/cyber_organs/ears + name = "upgraded cybernetic ears" + item_type = /obj/item/storage/organbox/advanced_cyber_ears + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/cyber_organs/heart + name = "upgraded cybernetic heart" + item_type = /obj/item/storage/organbox/advanced_cyber_heart + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/cyber_organs/liver + name = "upgraded cybernetic liver" + item_type = /obj/item/storage/organbox/advanced_cyber_liver + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/cyber_organs/lungs + name = "upgraded cybernetic lungs" + item_type = /obj/item/storage/organbox/advanced_cyber_lungs + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/deforest/cyber_organs/stomach + name = "upgraded cybernetic stomach" + item_type = /obj/item/storage/organbox/advanced_cyber_stomach + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm b/modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm new file mode 100644 index 00000000000..2f74788b3b9 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/jarnsmiour.dm @@ -0,0 +1,96 @@ +/datum/armament_entry/company_import/blacksteel + category = BLACKSTEEL_FOUNDATION_NAME + 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 + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE * 1 + +/datum/armament_entry/company_import/blacksteel/blade/hatchet + name = "Blacksteel (TM) hatchet" + description = "A short handled hatchet forged from Jarnsmiour's signature Blacksteel (TM), quality guaranteed." // Hint: This is a lie + item_type = /obj/item/hatchet/wooden + lower_cost = CARGO_CRATE_VALUE * 0.7 + upper_cost = CARGO_CRATE_VALUE * 1.2 + +/datum/armament_entry/company_import/blacksteel/blade/survival_knife + item_type = /obj/item/knife/combat/survival + lower_cost = CARGO_CRATE_VALUE * 1.2 + upper_cost = CARGO_CRATE_VALUE * 1.7 + +/datum/armament_entry/company_import/blacksteel/blade/bowie_knife + item_type = /obj/item/storage/belt/bowie_sheath + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/blacksteel/blade/shamshir_sabre + item_type = /obj/item/storage/belt/sabre/cargo + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 7 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +// 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 + lower_cost = CARGO_CRATE_VALUE * 0.25 + upper_cost = CARGO_CRATE_VALUE * 0.4 + +/datum/armament_entry/company_import/blacksteel/forging_tools/hammer + item_type = /obj/item/forging/hammer + lower_cost = CARGO_CRATE_VALUE * 0.25 + upper_cost = CARGO_CRATE_VALUE * 0.4 + +/datum/armament_entry/company_import/blacksteel/forging_tools/tongs + item_type = /obj/item/forging/tongs + lower_cost = CARGO_CRATE_VALUE * 0.25 + upper_cost = CARGO_CRATE_VALUE * 0.4 + +// 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." + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 4 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/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." + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 4 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/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." + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 4 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/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." + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 4 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE 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 new file mode 100644 index 00000000000..e2a19efe3cb --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/kahraman_industries.dm @@ -0,0 +1,152 @@ +/datum/armament_entry/company_import/kahraman + category = KAHRAMAN_INDUSTRIES_NAME + company_bitflag = CARGO_COMPANY_KAHRAMAN + +// Mining PPE, SEVAs and hardhats, have you passed your OSHA inspection today? + +/datum/armament_entry/company_import/kahraman/ppe + subcategory = "OSHA Certified Protective Equipment" + +/datum/armament_entry/company_import/kahraman/ppe/hardhat + item_type = /obj/item/clothing/head/utility/hardhat/orange + lower_cost = CARGO_CRATE_VALUE * 0.25 + upper_cost = CARGO_CRATE_VALUE + +/datum/armament_entry/company_import/kahraman/ppe/weldhat + item_type = /obj/item/clothing/head/utility/hardhat/weldhat/orange + lower_cost = CARGO_CRATE_VALUE * 0.75 + upper_cost = CARGO_CRATE_VALUE * 1.25 + +/datum/armament_entry/company_import/kahraman/ppe/gasmask + item_type = /obj/item/clothing/mask/gas/alt + lower_cost = CARGO_CRATE_VALUE * 0.1 + upper_cost = CARGO_CRATE_VALUE * 0.3 + +/datum/armament_entry/company_import/kahraman/ppe/hazard_vest + item_type = /obj/item/clothing/suit/hazardvest + lower_cost = CARGO_CRATE_VALUE * 0.3 + upper_cost = CARGO_CRATE_VALUE * 0.6 + +/datum/armament_entry/company_import/kahraman/ppe/seva_mask + item_type = /obj/item/clothing/mask/gas/seva + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/kahraman/ppe/seva_suit + item_type = /obj/item/clothing/suit/hooded/seva + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 2 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/kahraman/ppe/sensors_cuffs + item_type = /obj/item/kheiral_cuffs + lower_cost = CARGO_CRATE_VALUE * 1.5 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +// 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 + lower_cost = CARGO_CRATE_VALUE * 0.75 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/kahraman/mining_tool/resonator + item_type = /obj/item/resonator + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 2 + +/datum/armament_entry/company_import/kahraman/mining_tool/pka + item_type = /obj/item/gun/energy/recharge/kinetic_accelerator + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 2 + +/datum/armament_entry/company_import/kahraman/mining_tool/cutter + item_type = /obj/item/gun/energy/plasmacutter + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 2 + +/datum/armament_entry/company_import/kahraman/mining_tool/diamond_drill + item_type = /obj/item/pickaxe/drill/diamonddrill + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 2 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/kahraman/mining_tool/advanced_cutter + item_type = /obj/item/gun/energy/plasmacutter/adv + lower_cost = CARGO_CRATE_VALUE * 1.5 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/kahraman/mining_tool/super_resonator + item_type = /obj/item/resonator/upgraded + lower_cost = CARGO_CRATE_VALUE * 1.5 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/kahraman/mining_tool/jackhammer + item_type = /obj/item/pickaxe/drill/jackhammer + lower_cost = CARGO_CRATE_VALUE * 1.5 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_required = COMPANY_SOME_INTEREST + +/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 + lower_cost = CARGO_CRATE_VALUE * 0.2 + upper_cost = CARGO_CRATE_VALUE * 0.5 + +/datum/armament_entry/company_import/kahraman/sensing/autoscanner + item_type = /obj/item/t_scanner/adv_mining_scanner/lesser + lower_cost = CARGO_CRATE_VALUE * 0.4 + upper_cost = CARGO_CRATE_VALUE + +/datum/armament_entry/company_import/kahraman/sensing/super_autoscanner + item_type = /obj/item/t_scanner/adv_mining_scanner + lower_cost = CARGO_CRATE_VALUE * 0.7 + upper_cost = CARGO_CRATE_VALUE * 1.3 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/kahraman/sensing/nvg_mesons + item_type = /obj/item/clothing/glasses/meson/night + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 1.5 + interest_required = COMPANY_SOME_INTEREST + +/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 + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE + +/datum/armament_entry/company_import/kahraman/mecha_tools/drill + item_type = /obj/item/mecha_parts/mecha_equipment/drill + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/kahraman/mecha_tools/pka + item_type = /obj/item/mecha_parts/mecha_equipment/weapon/energy/mecha_kineticgun + lower_cost = CARGO_CRATE_VALUE * 1.25 + upper_cost = CARGO_CRATE_VALUE * 2.5 + +/datum/armament_entry/company_import/kahraman/mecha_tools/diamond_drill + item_type = /obj/item/mecha_parts/mecha_equipment/drill/diamonddrill + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/kahraman/mecha_tools/cutter + item_type = /obj/item/mecha_parts/mecha_equipment/weapon/energy/plasma + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_required = COMPANY_SOME_INTEREST diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/microstar_energy.dm b/modular_skyrat/modules/company_imports/code/armament_datums/microstar_energy.dm new file mode 100644 index 00000000000..feaf0309805 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/microstar_energy.dm @@ -0,0 +1,153 @@ +/datum/armament_entry/company_import/microstar + category = MICROSTAR_ENERGY_NAME + company_bitflag = CARGO_COMPANY_MICROSTAR + interest_addition = COMPANY_INTEREST_GAIN_BIG + +// Basic lethal/disabler beam weapons, includes the base mcr + +/datum/armament_entry/company_import/microstar/basic_energy_weapons + subcategory = "Basic Energy Weapons" + +/datum/armament_entry/company_import/microstar/basic_energy_weapons/disabler + item_type = /obj/item/gun/energy/disabler + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + stock_mult = 2 + +/datum/armament_entry/company_import/microstar/basic_energy_weapons/mini_egun + item_type = /obj/item/gun/energy/e_gun/mini + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + +/datum/armament_entry/company_import/microstar/basic_energy_weapons/sc1 + item_type = /obj/item/gun/energy/laser + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 9 + stock_mult = 2 + +/datum/armament_entry/company_import/microstar/basic_energy_weapons/sc2 + item_type = /obj/item/gun/energy/e_gun + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 9 + +/datum/armament_entry/company_import/microstar/basic_energy_weapons/basic_mcr + item_type = /obj/item/gun/microfusion/mcr01 + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 9 + +// More expensive, unique energy weapons + +/datum/armament_entry/company_import/microstar/experimental_energy + subcategory = "Experimental Energy Weapons" + interest_required = COMPANY_SOME_INTEREST + restricted = TRUE + +/datum/armament_entry/company_import/microstar/experimental_energy/hellfire + item_type = /obj/item/gun/energy/laser/hellgun + lower_cost = CARGO_CRATE_VALUE * 8 + upper_cost = CARGO_CRATE_VALUE * 12 + +/datum/armament_entry/company_import/microstar/experimental_energy/ion_carbine + item_type = /obj/item/gun/energy/ionrifle/carbine + lower_cost = CARGO_CRATE_VALUE * 8 + upper_cost = CARGO_CRATE_VALUE * 12 + +/datum/armament_entry/company_import/microstar/experimental_energy/xray_gun + item_type = /obj/item/gun/energy/xray + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 15 + +/datum/armament_entry/company_import/microstar/experimental_energy/tesla_cannon + item_type = /obj/item/gun/energy/tesla_cannon + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 15 + +// Preset 'loadout' kits built around a barrel attachment + +/datum/armament_entry/company_import/microstar/mcr_attachments + subcategory = "Microfusion Attachment Kits" + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/microstar/mcr_attachments/hellfire + name = "microfusion hellfire kit" + item_type = /obj/item/storage/secure/briefcase/white/mcr_loadout/hellfire + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + stock_mult = 2 + +/datum/armament_entry/company_import/microstar/mcr_attachments/scatter + name = "microfusion scatter kit" + item_type = /obj/item/storage/secure/briefcase/white/mcr_loadout/scatter + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + stock_mult = 2 + +/datum/armament_entry/company_import/microstar/mcr_attachments/lance + name = "microfusion lance kit" + item_type = /obj/item/storage/secure/briefcase/white/mcr_loadout/lance + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + stock_mult = 2 + +/datum/armament_entry/company_import/microstar/mcr_attachments/repeater + name = "microfusion repeater kit" + item_type = /obj/item/storage/secure/briefcase/white/mcr_loadout/repeater + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + stock_mult = 2 + +/datum/armament_entry/company_import/microstar/mcr_attachments/tacticool + name = "microfusion suppressor kit" + item_type = /obj/item/storage/secure/briefcase/white/mcr_loadout/tacticool + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + stock_mult = 2 + +// Improved phase emitters, cells, and cell attachments + +/datum/armament_entry/company_import/microstar/mcr_upgrades + subcategory = "Microfusion Attachment Kits" + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/microstar/mcr_upgrades/stabilizer + item_type = /obj/item/microfusion_cell_attachment/stabiliser + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE + stock_mult = 3 + +/datum/armament_entry/company_import/microstar/mcr_upgrades/enhanced_part_kit + name = "microfusion enhanced parts" + item_type = /obj/item/storage/secure/briefcase/white/mcr_parts/enhanced + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 4 + stock_mult = 3 + +/datum/armament_entry/company_import/microstar/mcr_upgrades/capacity_booster + item_type = /obj/item/microfusion_cell_attachment/overcapacity + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 2 + interest_required = COMPANY_SOME_INTEREST + stock_mult = 3 + +/datum/armament_entry/company_import/microstar/mcr_upgrades/advanced_part_kit + name = "microfusion advanced parts" + item_type = /obj/item/storage/secure/briefcase/white/mcr_parts/advanced + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + interest_required = COMPANY_SOME_INTEREST + stock_mult = 3 + +/datum/armament_entry/company_import/microstar/mcr_upgrades/selfcharge + item_type = /obj/item/microfusion_cell_attachment/selfcharging + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 4 + interest_required = COMPANY_HIGH_INTEREST + stock_mult = 3 + +/datum/armament_entry/company_import/microstar/mcr_upgrades/bluespace_part_kit + name = "microfusion advanced parts" + item_type = /obj/item/storage/secure/briefcase/white/mcr_parts/bluespace + lower_cost = CARGO_CRATE_VALUE * 6 + upper_cost = CARGO_CRATE_VALUE * 8 + interest_required = COMPANY_HIGH_INTEREST + stock_mult = 3 diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_modsuits.dm b/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_modsuits.dm new file mode 100644 index 00000000000..93e6f53302a --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_modsuits.dm @@ -0,0 +1,297 @@ +#define MODULE_CHEAP_LOWER 1 +#define MODULE_CHEAP_UPPER 1.5 + +#define MODULE_MID_LOWER 2 +#define MODULE_MID_UPPER 3 + +#define MODULE_PRICEY_LOWER 4 +#define MODULE_PRICEY_UPPER 6 + +/datum/armament_entry/company_import/nakamura_modsuits + category = NAKAMURA_ENGINEERING_MODSUITS_NAME + company_bitflag = CARGO_COMPANY_NAKAMURA_MODSUITS + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +// MOD cores + +/datum/armament_entry/company_import/nakamura_modsuits/core + subcategory = "MOD Core Modules" + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nakamura_modsuits/core/standard + item_type = /obj/item/mod/core/standard + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 2 + stock_mult = 2 + +/datum/armament_entry/company_import/nakamura_modsuits/core/plasma + item_type = /obj/item/mod/core/plasma + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/nakamura_modsuits/core/ethereal + item_type = /obj/item/mod/core/ethereal + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +// MOD plating + +/datum/armament_entry/company_import/nakamura_modsuits/plating + subcategory = "MOD External Plating" + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nakamura_modsuits/plating/standard + name = "MOD Standard Plating" + item_type = /obj/item/mod/construction/plating + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 3 + stock_mult = 2 + +/datum/armament_entry/company_import/nakamura_modsuits/plating/medical + name = "MOD Medical Plating" + item_type = /obj/item/mod/construction/plating/medical + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 4 + +/datum/armament_entry/company_import/nakamura_modsuits/plating/engineering + name = "MOD Engineering Plating" + item_type = /obj/item/mod/construction/plating/engineering + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 4 + +/datum/armament_entry/company_import/nakamura_modsuits/plating/atmospherics + name = "MOD Atmospherics Plating" + item_type = /obj/item/mod/construction/plating/atmospheric + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/plating/security + name = "MOD Security Plating" + item_type = /obj/item/mod/construction/plating/security + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_required = COMPANY_SOME_INTEREST + restricted = TRUE + +/datum/armament_entry/company_import/nakamura_modsuits/plating/clown + name = "MOD CosmoHonk (TM) Plating" + item_type = /obj/item/mod/construction/plating/cosmohonk + lower_cost = CARGO_CRATE_VALUE * 5 + upper_cost = CARGO_CRATE_VALUE * 6 + interest_required = COMPANY_HIGH_INTEREST + contraband = TRUE + +// MOD modules + +// Protection, so shielding and whatnot + +/datum/armament_entry/company_import/nakamura_modsuits/protection_modules + subcategory = "MOD Protection Modules" + +/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/welding + item_type = /obj/item/mod/module/welding + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + stock_mult = 2 + +/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/longfall + item_type = /obj/item/mod/module/longfall + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/rad_protection + item_type = /obj/item/mod/module/rad_protection + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/emp_shield + item_type = /obj/item/mod/module/emp_shield + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/armor_plates + item_type = /obj/item/mod/module/armor_booster/retractplates + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + restricted = TRUE + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/accretion + item_type = /obj/item/mod/module/ash_accretion + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + restricted = TRUE + interest_addition = COMPANY_INTEREST_GAIN_BIG + +// Utility modules, general purpose stuff that really anyone might want + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules + subcategory = "MOD Utility Modules" + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/flashlight + item_type = /obj/item/mod/module/flashlight + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + stock_mult = 2 + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/regulator + item_type = /obj/item/mod/module/thermal_regulator + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + stock_mult = 2 + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/mouthhole + item_type = /obj/item/mod/module/mouthhole + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/signlang + item_type = /obj/item/mod/module/signlang_radio + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/plasma_stabilizer + item_type = /obj/item/mod/module/plasma_stabilizer + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/basic_storage + item_type = /obj/item/mod/module/storage + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + stock_mult = 2 + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/expanded_storage + item_type = /obj/item/mod/module/storage/large_capacity + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/retract_plates + item_type = /obj/item/mod/module/plate_compression + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/utility_modules/magnetic_deploy + item_type = /obj/item/mod/module/springlock/contractor + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +// Mobility modules, jetpacks and stuff + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules + subcategory = "MOD Mobility Modules" + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules/tether + item_type = /obj/item/mod/module/tether + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules/magboot + item_type = /obj/item/mod/module/magboot + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules/jetpack + item_type = /obj/item/mod/module/jetpack + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules/pathfinder + item_type = /obj/item/mod/module/pathfinder + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules/disposals + item_type = /obj/item/mod/module/disposal_connector + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules/sphere + item_type = /obj/item/mod/module/sphere_transform + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nakamura_modsuits/mobility_modules/atrocinator + item_type = /obj/item/mod/module/atrocinator + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + contraband = TRUE + +// Novelty modules, goofy stuff that's rare/unprintable, but doesn't fit in any of the above categories + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules + subcategory = "MOD Novelty Modules" + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/waddle + item_type = /obj/item/mod/module/waddle + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/bike_horn + item_type = /obj/item/mod/module/bikehorn + lower_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_CHEAP_UPPER + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/microwave_beam + item_type = /obj/item/mod/module/microwave_beam + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/tanner + item_type = /obj/item/mod/module/tanner + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/hat_stabilizer + item_type = /obj/item/mod/module/hat_stabilizer + lower_cost = CARGO_CRATE_VALUE * MODULE_MID_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_MID_UPPER + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/kinesis + item_type = /obj/item/mod/module/anomaly_locked/kinesis + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/antigrav + item_type = /obj/item/mod/module/anomaly_locked/antigrav + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/teleporter + item_type = /obj/item/mod/module/anomaly_locked/teleporter + lower_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_LOWER + upper_cost = CARGO_CRATE_VALUE * MODULE_PRICEY_UPPER + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +#undef MODULE_CHEAP_LOWER +#undef MODULE_CHEAP_UPPER + +#undef MODULE_MID_LOWER +#undef MODULE_MID_UPPER + +#undef MODULE_PRICEY_LOWER +#undef MODULE_PRICEY_UPPER diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_tools.dm b/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_tools.dm new file mode 100644 index 00000000000..84286b27f06 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_tools.dm @@ -0,0 +1,119 @@ +/datum/armament_entry/company_import/nakamura_tooling + category = NAKAMURA_ENGINEERING_TOOLING_NAME + company_bitflag = CARGO_COMPANY_NAKAMURA_TOOLING + +// Basic, non-power tools, as well as other related equipment + +/datum/armament_entry/company_import/nakamura_tooling/basic + subcategory = "Standard Engineering Equipment" + +/datum/armament_entry/company_import/nakamura_tooling/basic/analyzer + item_type = /obj/item/analyzer + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + +/datum/armament_entry/company_import/nakamura_tooling/basic/mechanical_toolbox + item_type = /obj/item/storage/toolbox/mechanical + lower_cost = PAYCHECK_CREW + upper_cost = PAYCHECK_CREW * 1.5 + +/datum/armament_entry/company_import/nakamura_tooling/basic/electrical_toolbox + item_type = /obj/item/storage/toolbox/electrical + lower_cost = PAYCHECK_CREW + upper_cost = PAYCHECK_CREW * 1.5 + +/datum/armament_entry/company_import/nakamura_tooling/basic/multitool + item_type = /obj/item/multitool + lower_cost = PAYCHECK_CREW + upper_cost = PAYCHECK_CREW * 1.5 + +/datum/armament_entry/company_import/nakamura_tooling/basic/inducer + item_type = /obj/item/inducer + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + +/datum/armament_entry/company_import/nakamura_tooling/basic/magboots + item_type = /obj/item/clothing/shoes/magboots + lower_cost = PAYCHECK_CREW * 3 + upper_cost = PAYCHECK_CREW * 5 +/datum/armament_entry/company_import/nakamura_tooling/basic/insuls + item_type = /obj/item/clothing/gloves/color/yellow + lower_cost = PAYCHECK_CREW * 3 + upper_cost = PAYCHECK_CREW * 5 + +// Advanced stuff like power tools and holofans + +/datum/armament_entry/company_import/nakamura_tooling/advanced + subcategory = "Advanced Engineering Equipment" + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + restricted = TRUE + +/datum/armament_entry/company_import/nakamura_tooling/advanced/ranged_analyzer + item_type = /obj/item/analyzer/ranged + lower_cost = CARGO_CRATE_VALUE * 0.75 + upper_cost = CARGO_CRATE_VALUE * 1.25 + +/datum/armament_entry/company_import/nakamura_tooling/advanced/forcefield + item_type = /obj/item/forcefield_projector + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/nakamura_tooling/advanced/atmos_fan + item_type = /obj/item/holosign_creator/atmos + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/nakamura_tooling/advanced/powerdrill + item_type = /obj/item/screwdriver/power + lower_cost = CARGO_CRATE_VALUE * 1.5 + upper_cost = CARGO_CRATE_VALUE * 3 + +/datum/armament_entry/company_import/nakamura_tooling/advanced/jaws + item_type = /obj/item/crowbar/power + lower_cost = CARGO_CRATE_VALUE * 1.5 + upper_cost = CARGO_CRATE_VALUE * 3 + +/datum/armament_entry/company_import/nakamura_tooling/advanced/hugewelder + item_type = /obj/item/weldingtool/hugetank + lower_cost = CARGO_CRATE_VALUE * 1.5 + upper_cost = CARGO_CRATE_VALUE * 3 + +// Overpriced experimental or gimmick tools + +/datum/armament_entry/company_import/nakamura_tooling/experimental + subcategory = "Experimental Engineering Equipment" + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + restricted = TRUE + +/datum/armament_entry/company_import/nakamura_tooling/experimental/sprayon_insuls + item_type = /obj/item/toy/sprayoncan + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 4 + contraband = TRUE + +/datum/armament_entry/company_import/nakamura_tooling/experimental/red_screwdriver + item_type = /obj/item/screwdriver/caravan + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 7 + +/datum/armament_entry/company_import/nakamura_tooling/experimental/red_crowbar + item_type = /obj/item/crowbar/red/caravan + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 7 + +/datum/armament_entry/company_import/nakamura_tooling/experimental/red_wirecutters + item_type = /obj/item/wirecutters/caravan + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 7 + +/datum/armament_entry/company_import/nakamura_tooling/experimental/red_wrench + item_type = /obj/item/wrench/caravan + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 7 + +/datum/armament_entry/company_import/nakamura_tooling/experimental/advanced_welder + item_type = /obj/item/weldingtool/advanced + lower_cost = CARGO_CRATE_VALUE * 3 + upper_cost = CARGO_CRATE_VALUE * 7 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 new file mode 100644 index 00000000000..3984ad89fb5 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/nri_military_surplus.dm @@ -0,0 +1,133 @@ +/datum/armament_entry/company_import/nri_surplus + category = NRI_SURPLUS_COMPANY_NAME + 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/costume/nri + lower_cost = CARGO_CRATE_VALUE * 1.3 + upper_cost = CARGO_CRATE_VALUE * 1.7 + stock_mult = 2 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/nri_surplus/clothing/boots + item_type = /obj/item/clothing/shoes/russian + lower_cost = CARGO_CRATE_VALUE * 0.3 + upper_cost = CARGO_CRATE_VALUE * 1 + stock_mult = 2 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/nri_surplus/clothing/cap + item_type = /obj/item/clothing/head/soft/nri_larp + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE + stock_mult = 2 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/nri_surplus/clothing/ushanka + item_type = /obj/item/clothing/head/costume/ushanka + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE + stock_mult = 2 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/nri_surplus/clothing/belt + item_type = /obj/item/storage/belt/military/nri + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 1.5 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nri_surplus/clothing/backpack + item_type = /obj/item/storage/backpack/nri + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 1.5 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nri_surplus/clothing/gas_mask + item_type = /obj/item/clothing/mask/gas/hecu2 + lower_cost = CARGO_CRATE_VALUE + upper_cost = CARGO_CRATE_VALUE * 1.5 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nri_surplus/clothing/helmet + item_type = /obj/item/clothing/head/helmet/rus_helmet/nri + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_required = COMPANY_HIGH_INTEREST + +/datum/armament_entry/company_import/nri_surplus/clothing/vest + item_type = /obj/item/clothing/suit/armor/vest/russian/nri + lower_cost = CARGO_CRATE_VALUE * 2.5 + upper_cost = CARGO_CRATE_VALUE * 3.5 + interest_required = COMPANY_HIGH_INTEREST + +// 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 + lower_cost = CARGO_CRATE_VALUE * 0.1 + upper_cost = CARGO_CRATE_VALUE * 0.4 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/nri_surplus/misc/binoculars + item_type = /obj/item/binoculars + lower_cost = CARGO_CRATE_VALUE * 0.3 + upper_cost = CARGO_CRATE_VALUE * 0.7 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/nri_surplus/misc/screwdriver_pen + item_type = /obj/item/pen/screwdriver + lower_cost = CARGO_CRATE_VALUE * 0.3 + upper_cost = CARGO_CRATE_VALUE * 0.7 + interest_addition = COMPANY_INTEREST_GAIN_PITIFUL + +/datum/armament_entry/company_import/nri_surplus/misc/trench_tool + item_type = /obj/item/trench_tool + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE + +/datum/armament_entry/company_import/nri_surplus/misc/rations + item_type = /obj/item/storage/box/nri_rations + lower_cost = CARGO_CRATE_VALUE * 0.75 + upper_cost = CARGO_CRATE_VALUE * 1.5 + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/nri_surplus/misc/nri_flag + item_type = /obj/item/sign/flag/nri + lower_cost = CARGO_CRATE_VALUE * 1.2 + upper_cost = CARGO_CRATE_VALUE * 2 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/nri_surplus/firearm + subcategory = "Firearms" + +/datum/armament_entry/company_import/nri_surplus/firearm/makarov + item_type = /obj/item/gun/ballistic/automatic/pistol/makarov + lower_cost = CARGO_CRATE_VALUE * 4 + upper_cost = CARGO_CRATE_VALUE * 6 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nri_surplus/firearm/sportiv + item_type = /obj/item/gun/ballistic/rifle/boltaction + lower_cost = CARGO_CRATE_VALUE * 8 + upper_cost = CARGO_CRATE_VALUE * 15 + interest_required = COMPANY_HIGH_INTEREST + restricted = TRUE + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/nri_surplus/firearm/civilian_akm + item_type = /obj/item/gun/ballistic/automatic/akm/civvie + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 17 + interest_required = COMPANY_HIGH_INTEREST + restricted = TRUE + interest_addition = COMPANY_INTEREST_GAIN_BIG diff --git a/modular_skyrat/modules/gun_cargo/code/armament_datums/parent_armament.dm b/modular_skyrat/modules/company_imports/code/armament_datums/parent_armament.dm similarity index 86% rename from modular_skyrat/modules/gun_cargo/code/armament_datums/parent_armament.dm rename to modular_skyrat/modules/company_imports/code/armament_datums/parent_armament.dm index e55c5b45d84..4597855a524 100644 --- a/modular_skyrat/modules/gun_cargo/code/armament_datums/parent_armament.dm +++ b/modular_skyrat/modules/company_imports/code/armament_datums/parent_armament.dm @@ -1,4 +1,4 @@ -/datum/armament_entry/cargo_gun +/datum/armament_entry/company_import max_purchase = 10 category_item_limit = 10 cost = 1 @@ -13,7 +13,7 @@ /// How much the stock is multiplied by var/stock_mult = 1 /// How much will be added to a company's reputation on-buy - var/interest_addition = COMPANY_INTEREST_GUN + var/interest_addition = COMPANY_INTEREST_GAIN_LOW /// What interest level is needed to purchase the armament, set to 0 for none var/interest_required = 0 /// If this requires a multitooled console to be visible 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 new file mode 100644 index 00000000000..58a8e20c55d --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/put_a_donk_on_it.dm @@ -0,0 +1,164 @@ +/datum/armament_entry/company_import/donk + category = DONK_CO_NAME + company_bitflag = CARGO_COMPANY_DONK + +// Donk Co foods, like donk pockets and ready donk + +/datum/armament_entry/company_import/donk/food + subcategory = "Microwave Foods" + +/datum/armament_entry/company_import/donk/food/ready_donk + item_type = /obj/item/food/ready_donk + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + stock_mult = 4 + +/datum/armament_entry/company_import/donk/food/ready_donkhiladas + item_type = /obj/item/food/ready_donk/donkhiladas + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + stock_mult = 4 + +/datum/armament_entry/company_import/donk/food/ready_donk_n_cheese + item_type = /obj/item/food/ready_donk/mac_n_cheese + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + stock_mult = 4 + +/datum/armament_entry/company_import/donk/food/pockets + item_type = /obj/item/storage/box/donkpockets + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 2 + +/datum/armament_entry/company_import/donk/food/berry_pockets + item_type = /obj/item/storage/box/donkpockets/donkpocketberry + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 2 + +/datum/armament_entry/company_import/donk/food/honk_pockets + item_type = /obj/item/storage/box/donkpockets/donkpockethonk + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 2 + +/datum/armament_entry/company_import/donk/food/pizza_pockets + item_type = /obj/item/storage/box/donkpockets/donkpocketpizza + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 2 + +/datum/armament_entry/company_import/donk/food/spicy_pockets + item_type = /obj/item/storage/box/donkpockets/donkpocketspicy + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 2 + +/datum/armament_entry/company_import/donk/food/teriyaki_pockets + item_type = /obj/item/storage/box/donkpockets/donkpocketteriyaki + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + stock_mult = 2 + +// 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 + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/merch/donkfish + item_type = /obj/item/storage/fish_case/donkfish + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/merch/tacticool_turtleneck + item_type = /obj/item/clothing/under/syndicate/tacticool + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/merch/fake_centcom_turtleneck + item_type = /obj/item/clothing/under/rank/centcom/officer/replica + lower_cost = PAYCHECK_CREW * 0.75 + upper_cost = PAYCHECK_CREW + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/merch/snack_rig + item_type = /obj/item/storage/belt/military/snack + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/donk/merch/fake_syndie_suit + item_type = /obj/item/storage/box/fakesyndiesuit + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +/datum/armament_entry/company_import/donk/merch/valid_bloon + item_type = /obj/item/toy/balloon/arrest + lower_cost = PAYCHECK_CREW * 1.5 + upper_cost = PAYCHECK_CREW * 2 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + interest_required = COMPANY_SOME_INTEREST + +// Donksoft weapons + +/datum/armament_entry/company_import/donk/foamforce + subcategory = "Foam Force (TM) Weapons" + +/datum/armament_entry/company_import/donk/foamforce/darts + item_type = /obj/item/ammo_box/foambox + lower_cost = CARGO_CRATE_VALUE * 0.25 + upper_cost = CARGO_CRATE_VALUE + +/datum/armament_entry/company_import/donk/foamforce/riot_darts + item_type = /obj/item/ammo_box/foambox/riot + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE * 1.5 + interest_required = COMPANY_SOME_INTEREST + contraband = TRUE + +/datum/armament_entry/company_import/donk/foamforce/foam_pistol + item_type = /obj/item/gun/ballistic/automatic/pistol/toy + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 3 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/foamforce/foam_shotgun + item_type = /obj/item/gun/ballistic/shotgun/toy/unrestricted + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 4 + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/foamforce/foam_smg + item_type = /obj/item/gun/ballistic/automatic/toy/unrestricted + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/foamforce/foam_c20 + item_type = /obj/item/gun/ballistic/automatic/c20r/toy/unrestricted + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 5 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_AVERAGE + +/datum/armament_entry/company_import/donk/foamforce/foam_lmg + item_type = /obj/item/gun/ballistic/automatic/l6_saw/toy/unrestricted + lower_cost = CARGO_CRATE_VALUE * 2 + upper_cost = CARGO_CRATE_VALUE * 6 + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG 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 new file mode 100644 index 00000000000..9fe0ca93a41 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm @@ -0,0 +1,134 @@ +/datum/armament_entry/company_import/vitezstvi + category = VITEZSTVI_AMMO_NAME + company_bitflag = CARGO_COMPANY_VITEZSTVI_AMMO + stock_mult = 3 + +// Ammo bench and the lethals disk + +/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 + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 20 + interest_required = COMPANY_SOME_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +/datum/armament_entry/company_import/vitezstvi/ammo_bench + item_type = /obj/item/disk/ammo_workbench/lethal + lower_cost = CARGO_CRATE_VALUE * 10 + upper_cost = CARGO_CRATE_VALUE * 20 + interest_required = COMPANY_HIGH_INTEREST + interest_addition = COMPANY_INTEREST_GAIN_BIG + +// Boxes of non-shotgun ammo + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes + subcategory = "Ammunition Boxes" + lower_cost = CARGO_CRATE_VALUE * 0.75 + upper_cost = CARGO_CRATE_VALUE * 1.25 + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/pepperball + item_type = /obj/item/ammo_box/advanced/pepperballs + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/m1911_lethals + item_type = /obj/item/ammo_box/c45 + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/wt550_lethals + item_type = /obj/item/ammo_box/c46x30mm + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/wt550_piercing + item_type = /obj/item/ammo_box/c46x30mm/ap + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/wt550_rubber + item_type = /obj/item/ammo_box/c46x30mm/rubber + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/peacekeeper_lethal + item_type = /obj/item/ammo_box/advanced/b9mm + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/peacekeeper_hp + item_type = /obj/item/ammo_box/advanced/b9mm/hp + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/peacekeeper_rubber + item_type = /obj/item/ammo_box/advanced/b9mm/rubber + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/auto10mm_lethal + item_type = /obj/item/ammo_box/advanced/b10mm + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/auto10mm_hp + item_type = /obj/item/ammo_box/advanced/b10mm/hp + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/auto10mm_rubber + item_type = /obj/item/ammo_box/advanced/b10mm/rubber + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sabel_lethal + item_type = /obj/item/ammo_box/c56mm + lower_cost = CARGO_CRATE_VALUE * 1.25 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sabel_rubber + item_type = /obj/item/ammo_box/c56mm/rubber + lower_cost = CARGO_CRATE_VALUE * 1.25 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sabel_hunting + item_type = /obj/item/ammo_box/c56mm/hunting + lower_cost = CARGO_CRATE_VALUE * 1.25 + upper_cost = CARGO_CRATE_VALUE * 1.5 + +/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sabel_blank + item_type = /obj/item/ammo_box/c56mm/blank + lower_cost = CARGO_CRATE_VALUE * 0.1 + upper_cost = CARGO_CRATE_VALUE * 0.3 + +// Revolver speedloaders + +/datum/armament_entry/company_import/vitezstvi/speedloader + subcategory = "Speedloaders" + lower_cost = CARGO_CRATE_VALUE * 0.5 + upper_cost = CARGO_CRATE_VALUE + +/datum/armament_entry/company_import/vitezstvi/speedloader/detective_lethal + item_type = /obj/item/ammo_box/c38 + +/datum/armament_entry/company_import/vitezstvi/speedloader/detective_dumdum + item_type = /obj/item/ammo_box/c38/dumdum + +/datum/armament_entry/company_import/vitezstvi/speedloader/detective_bouncy + item_type = /obj/item/ammo_box/c38/match + +// Shotgun boxes + +/datum/armament_entry/company_import/vitezstvi/shot_shells + subcategory = "Shotgun Shells" + lower_cost = CARGO_CRATE_VALUE * 1.25 + upper_cost = CARGO_CRATE_VALUE * 2 + +/datum/armament_entry/company_import/vitezstvi/shot_shells/slugs + item_type = /obj/item/ammo_box/advanced/s12gauge + description = "A box of 15 slug shells, large singular shots that pack a punch." + +/datum/armament_entry/company_import/vitezstvi/shot_shells/buckshot + item_type = /obj/item/ammo_box/advanced/s12gauge/buckshot + description = "A box of 15 buckshot shells, a modest spread of weaker projectiles." + +/datum/armament_entry/company_import/vitezstvi/shot_shells/beanbag_slugs + item_type = /obj/item/ammo_box/advanced/s12gauge/bean + description = "A box of 15 beanbag slug shells, large singular beanbags that pack a less-lethal punch." + +/datum/armament_entry/company_import/vitezstvi/shot_shells/rubbershot + item_type = /obj/item/ammo_box/advanced/s12gauge/rubber + description = "A box of 15 rubbershot shells, a modest spread of weaker less-lethal projectiles." + +/datum/armament_entry/company_import/vitezstvi/shot_shells/magnum_buckshot + item_type = /obj/item/ammo_box/advanced/s12gauge/magnum + description = "A box of 15 magnum buckshot shells, a wider spread of larger projectiles." + +/datum/armament_entry/company_import/vitezstvi/shot_shells/express_buckshot + item_type = /obj/item/ammo_box/advanced/s12gauge/express + description = "A box of 15 express buckshot shells, a tighter spread of smaller projectiles." + +/datum/armament_entry/company_import/vitezstvi/shot_shells/confetti + item_type = /obj/item/ammo_box/advanced/s12gauge/honk + description = "A box of 35 confetti shells, firing a spread of harmless confetti everywhere, yippie!" diff --git a/modular_skyrat/modules/company_imports/code/company_datums.dm b/modular_skyrat/modules/company_imports/code/company_datums.dm new file mode 100644 index 00000000000..cdbfddaa03d --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/company_datums.dm @@ -0,0 +1,108 @@ +/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 + +// Nakamura engineering's MOD division, sells modsuits and modsuit accessories +/datum/cargo_company/nakamura_modsuits + name = NAKAMURA_ENGINEERING_MODSUITS_NAME + company_flag = CARGO_COMPANY_NAKAMURA_MODSUITS + cost = 6000 + cost_change_lower = -1000 + cost_change_upper = 4000 + +// Jarnsmiour sells some melee weapons and some forging related items +/datum/cargo_company/jarnsmiour + name = BLACKSTEEL_FOUNDATION_NAME + 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 = NRI_SURPLUS_COMPANY_NAME + 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 = DEFOREST_MEDICAL_NAME + 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 = DONK_CO_NAME + 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 = KAHRAMAN_INDUSTRIES_NAME + company_flag = CARGO_COMPANY_KAHRAMAN + cost = 6000 + cost_change_lower = -1000 + cost_change_upper = 3000 + +// Nakamura engineering's tooling division, sells tools, possibly even advanced ones +/datum/cargo_company/nakamura_tooling + name = NAKAMURA_ENGINEERING_TOOLING_NAME + company_flag = CARGO_COMPANY_NAKAMURA_TOOLING + cost = 6000 + cost_change_lower = -1000 + cost_change_upper = 3000 + +// A coalition between nt and bolt to sell personal defense equipment and weapons +/datum/cargo_company/nanotrasen_bolt_weapons + name = BOLT_NANOTRASEN_DEFENSE_NAME + company_flag = CARGO_COMPANY_BOLT_NANOTRASEN + cost = 6000 + cost_change_lower = -1000 + cost_change_upper = 4000 + can_roundstart_pick = FALSE + +// Micron control systems and allstar's weapons together, all your energy guns in one place! +/datum/cargo_company/microstar_energy_weapons + name = MICROSTAR_ENERGY_NAME + company_flag = CARGO_COMPANY_MICROSTAR + 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 = VITEZSTVI_AMMO_NAME + 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/gun_cargo/code/gun_subsystem.dm b/modular_skyrat/modules/company_imports/code/company_subsystem.dm similarity index 77% rename from modular_skyrat/modules/gun_cargo/code/gun_subsystem.dm rename to modular_skyrat/modules/company_imports/code/company_subsystem.dm index 275ab945f5a..af84491c866 100644 --- a/modular_skyrat/modules/gun_cargo/code/gun_subsystem.dm +++ b/modular_skyrat/modules/company_imports/code/company_subsystem.dm @@ -1,19 +1,23 @@ #define MAX_HANDOUT_CHOICES 3 -#define FAILED_INTEREST 1 -#define PASSED_INTEREST 2 -#define HIGH_INTEREST 3 + +#define COMPANY_NO_INTEREST 1 +#define COMPANY_SOME_INTEREST 2 +#define COMPANY_HIGH_INTEREST 3 + #define INTEREST_HIGH_MULT 10 #define INTEREST_CAP 75 #define INTEREST_LOWER_RAND 5 #define INTEREST_HIGHER_RAND 25 + #define BASE_COST_MINIMUM 1000 #define BASE_COST_MAXIMUM 75000 + #define INTEREST_LOW_MAG_COST 0.1 #define INTEREST_MED_MAG_COST 0.11 #define INTEREST_HIGH_MAG_COST 0.125 -SUBSYSTEM_DEF(gun_companies) - name = "Gun Companies" +SUBSYSTEM_DEF(cargo_companies) + name = "Cargo Companies" wait = 20 MINUTES runlevels = RUNLEVEL_GAME /// Assoc list of companies that the subsystem has initialized, `"NAME" = datum_reference` @@ -27,17 +31,17 @@ SUBSYSTEM_DEF(gun_companies) /// Picked a free company yet? var/handout_picked = FALSE -/datum/controller/subsystem/gun_companies/Initialize() +/datum/controller/subsystem/cargo_companies/Initialize() // Adds the company refs to the unchanging companies list and the changing unpurchased_companies list - for(var/datum/gun_company/company as anything in subtypesof(/datum/gun_company)) - var/datum/gun_company/new_company = new company + for(var/datum/cargo_company/company as anything in subtypesof(/datum/cargo_company)) + var/datum/cargo_company/new_company = new company companies[new_company.name] = new_company unpurchased_companies[new_company.name] = new_company // Cargo gets to pick one company from several for free var/list/potential_handouts = list() for(var/company_name in unpurchased_companies) - var/datum/gun_company/picked_company = unpurchased_companies[company_name] + var/datum/cargo_company/picked_company = unpurchased_companies[company_name] if(!picked_company.can_roundstart_pick) continue potential_handouts += picked_company @@ -46,7 +50,7 @@ SUBSYSTEM_DEF(gun_companies) fire() //Gotta get the prices randomized to start return SS_INIT_SUCCESS -/datum/controller/subsystem/gun_companies/Destroy() +/datum/controller/subsystem/cargo_companies/Destroy() for(var/company in companies) QDEL_NULL(company) for(var/company_unbought in unpurchased_companies) @@ -55,16 +59,16 @@ SUBSYSTEM_DEF(gun_companies) QDEL_NULL(purchased_companies) . = ..() -/datum/controller/subsystem/gun_companies/Recover() - companies = SSgun_companies.companies - unpurchased_companies = SSgun_companies.unpurchased_companies - purchased_companies = SSgun_companies.purchased_companies +/datum/controller/subsystem/cargo_companies/Recover() + companies = SScargo_companies.companies + unpurchased_companies = SScargo_companies.unpurchased_companies + purchased_companies = SScargo_companies.purchased_companies -/datum/controller/subsystem/gun_companies/fire(resumed) - var/list/passed_interest_tier = list() +/datum/controller/subsystem/cargo_companies/fire(resumed) + var/list/COMPANY_SOME_INTEREST_tier = list() // Company handling for(var/company in companies) - var/datum/gun_company/company_datum = companies[company] + var/datum/cargo_company/company_datum = companies[company] // Set the prices of the companies, is intended to slowly scale up over time company_datum.base_cost += max(rand(company_datum.cost_change_lower, company_datum.cost_change_upper), 0) @@ -73,16 +77,13 @@ SUBSYSTEM_DEF(gun_companies) company_datum.cost = round(company_datum.base_cost * company_datum.cost_mult) // knocking down the interest of all companies var/interest_threshold = rand(INTEREST_LOWER_RAND, INTEREST_HIGHER_RAND) - var/interest_knockdown = 0.5 * interest_threshold - - if(company_datum in unpurchased_companies) - interest_knockdown *= 0.5 + var/interest_knockdown = 0.1 * interest_threshold company_datum.interest = max(company_datum.interest - interest_knockdown, 0) // determining what heirarchy of interest the company falls in if(company_datum.interest < interest_threshold) - passed_interest_tier[company_datum] = FAILED_INTEREST + COMPANY_SOME_INTEREST_tier[company_datum] = COMPANY_NO_INTEREST else var/non_zero_threshold = interest_threshold ? interest_threshold : 1 @@ -90,13 +91,13 @@ SUBSYSTEM_DEF(gun_companies) if(calc_threshold > INTEREST_CAP) calc_threshold = INTEREST_CAP if(company_datum.interest < calc_threshold) - passed_interest_tier[company_datum] = PASSED_INTEREST + COMPANY_SOME_INTEREST_tier[company_datum] = COMPANY_SOME_INTEREST else - passed_interest_tier[company_datum] = HIGH_INTEREST + COMPANY_SOME_INTEREST_tier[company_datum] = COMPANY_HIGH_INTEREST - var/list/products = subtypesof(/datum/armament_entry/cargo_gun) + var/list/products = subtypesof(/datum/armament_entry/company_import) // Setting cost and stock of armament entries for(var/armament_category as anything in SSarmaments.entries) for(var/subcategory as anything in SSarmaments.entries[armament_category][CATEGORY_ENTRY]) @@ -104,17 +105,17 @@ SUBSYSTEM_DEF(gun_companies) if(products && !(armament_entry.type in products)) continue - var/datum/armament_entry/cargo_gun/entry_typecast = armament_entry + var/datum/armament_entry/company_import/entry_typecast = armament_entry - for(var/company_gun in companies) - var/datum/gun_company/the_datum = companies[company_gun] + for(var/company in companies) + var/datum/cargo_company/the_datum = companies[company] if(the_datum.company_flag != entry_typecast.company_bitflag) continue - switch(passed_interest_tier[the_datum]) + switch(COMPANY_SOME_INTEREST_tier[the_datum]) - if(FAILED_INTEREST) + if(COMPANY_NO_INTEREST) var/stock_failed = rand(0, 2) entry_typecast.stock = max((round(stock_failed * entry_typecast.stock_mult)), 0) var/gun_cost_failed = rand(entry_typecast.lower_cost, entry_typecast.upper_cost) @@ -122,7 +123,7 @@ SUBSYSTEM_DEF(gun_companies) entry_typecast.cost = max((round((gun_cost_failed + (compound_cost + CARGO_CRATE_VALUE)) - (0.25 * entry_typecast.lower_cost)) ), 0) entry_typecast.magazine_cost = round((entry_typecast.cost * INTEREST_LOW_MAG_COST) * the_datum.magazine_cost_mult) - if(PASSED_INTEREST) + if(COMPANY_SOME_INTEREST) var/stock_passed = rand(0, 4) entry_typecast.stock = max((round(stock_passed * entry_typecast.stock_mult) + 1), 0) var/gun_cost_passed = rand(entry_typecast.lower_cost, entry_typecast.upper_cost) @@ -130,7 +131,7 @@ SUBSYSTEM_DEF(gun_companies) entry_typecast.cost = max((round(gun_cost_passed + compound_cost) + CARGO_CRATE_VALUE), 0) entry_typecast.magazine_cost = round((entry_typecast.cost * INTEREST_MED_MAG_COST) * the_datum.magazine_cost_mult) - if(HIGH_INTEREST) + if(COMPANY_HIGH_INTEREST) var/stock_interested = rand(0, 6) entry_typecast.stock = max((round(stock_interested * entry_typecast.stock_mult) + 2), 0) var/gun_cost_high = rand(entry_typecast.lower_cost, entry_typecast.upper_cost) diff --git a/modular_skyrat/modules/gun_cargo/code/datums/cargo_order.dm b/modular_skyrat/modules/company_imports/code/datums/cargo_order.dm similarity index 62% rename from modular_skyrat/modules/gun_cargo/code/datums/cargo_order.dm rename to modular_skyrat/modules/company_imports/code/datums/cargo_order.dm index 7dba466c07b..2fda8a3c346 100644 --- a/modular_skyrat/modules/gun_cargo/code/datums/cargo_order.dm +++ b/modular_skyrat/modules/company_imports/code/datums/cargo_order.dm @@ -1,19 +1,19 @@ -/datum/supply_order/armament +/datum/supply_order/company_import /// The armament entry used to fill the supply order - var/datum/armament_entry/cargo_gun/selected_entry + var/datum/armament_entry/company_import/selected_entry /// The component used to create the order - var/datum/component/armament/cargo_gun/used_component + var/datum/component/armament/company_imports/used_component /// How much it'll add to a company's interest on-buy var/interest_addition /// If the order has multiple items in it, how many? Is null by default, set only if there's more than one item. var/item_amount -/datum/supply_order/armament/Destroy(force, ...) +/datum/supply_order/company_import/Destroy(force, ...) selected_entry = null used_component = null . = ..() -/datum/supply_order/armament/proc/reimburse_armament() +/datum/supply_order/company_import/proc/reimburse_armament() if(!selected_entry || !used_component) return used_component.purchased_items[selected_entry]-- @@ -23,9 +23,9 @@ /datum/supply_order/proc/on_spawn() return -/datum/supply_order/armament/on_spawn() - for(var/company in SSgun_companies.companies) - var/datum/gun_company/comp_datum = SSgun_companies.companies[company] +/datum/supply_order/company_import/on_spawn() + for(var/company in SScargo_companies.companies) + var/datum/cargo_company/comp_datum = SScargo_companies.companies[company] if(comp_datum.company_flag == selected_entry?.company_bitflag) comp_datum.interest += interest_addition break diff --git a/modular_skyrat/modules/gun_cargo/code/datums/cargo_pack.dm b/modular_skyrat/modules/company_imports/code/datums/cargo_pack.dm similarity index 100% rename from modular_skyrat/modules/gun_cargo/code/datums/cargo_pack.dm rename to modular_skyrat/modules/company_imports/code/datums/cargo_pack.dm diff --git a/modular_skyrat/modules/gun_cargo/code/datums/hud.dm b/modular_skyrat/modules/company_imports/code/datums/hud.dm similarity index 100% rename from modular_skyrat/modules/gun_cargo/code/datums/hud.dm rename to modular_skyrat/modules/company_imports/code/datums/hud.dm diff --git a/modular_skyrat/modules/gun_cargo/code/gun_companies.dm b/modular_skyrat/modules/company_imports/code/gun_companies.dm similarity index 100% rename from modular_skyrat/modules/gun_cargo/code/gun_companies.dm rename to modular_skyrat/modules/company_imports/code/gun_companies.dm diff --git a/modular_skyrat/modules/gun_cargo/code/objects/access.dm b/modular_skyrat/modules/company_imports/code/objects/access.dm similarity index 100% rename from modular_skyrat/modules/gun_cargo/code/objects/access.dm rename to modular_skyrat/modules/company_imports/code/objects/access.dm 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 new file mode 100644 index 00000000000..f44c5e74c81 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/cargo_console_and_case.dm @@ -0,0 +1,14 @@ +/obj/machinery/computer/cargo/Initialize(mapload) + . = ..() + AddComponent(/datum/component/armament/company_imports, subtypesof(/datum/armament_entry/company_import), 0) + +/// Proc for speaking over radio without needing to reuse a bunch of code +/obj/machinery/computer/cargo/proc/radio_wrapper(atom/movable/speaker, message, channel) + radio.talk_into(speaker, message, channel) + +/obj/item/storage/lockbox/order + /// Bool if this was departmentally ordered or not + var/department_purchase + /// Department of the person buying the crate if buying via the NIRN app. + var/datum/bank_account/department/department_account + diff --git a/modular_skyrat/modules/company_imports/code/objects/deforest/filled_organ_boxes.dm b/modular_skyrat/modules/company_imports/code/objects/deforest/filled_organ_boxes.dm new file mode 100644 index 00000000000..0298696b7ef --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/deforest/filled_organ_boxes.dm @@ -0,0 +1,29 @@ +/obj/item/storage/organbox/advanced_cyber_eyes + +/obj/item/storage/organbox/advanced_cyber_eyes/PopulateContents() + new /obj/item/organ/internal/eyes/robotic/shield(src) + +/obj/item/storage/organbox/advanced_cyber_ears + +/obj/item/storage/organbox/advanced_cyber_ears/PopulateContents() + new /obj/item/organ/internal/ears/cybernetic/upgraded(src) + +/obj/item/storage/organbox/advanced_cyber_heart + +/obj/item/storage/organbox/advanced_cyber_heart/PopulateContents() + new /obj/item/organ/internal/heart/cybernetic/tier3(src) + +/obj/item/storage/organbox/advanced_cyber_liver + +/obj/item/storage/organbox/advanced_cyber_liver/PopulateContents() + new /obj/item/organ/internal/liver/cybernetic/tier3(src) + +/obj/item/storage/organbox/advanced_cyber_lungs + +/obj/item/storage/organbox/advanced_cyber_lungs/PopulateContents() + new /obj/item/organ/internal/lungs/cybernetic/tier3(src) + +/obj/item/storage/organbox/advanced_cyber_stomach + +/obj/item/storage/organbox/advanced_cyber_stomach/PopulateContents() + new /obj/item/organ/internal/stomach/cybernetic/tier3(src) diff --git a/modular_skyrat/modules/company_imports/code/objects/donk/donkfish_box.dm b/modular_skyrat/modules/company_imports/code/objects/donk/donkfish_box.dm new file mode 100644 index 00000000000..2033c8f08ac --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/donk/donkfish_box.dm @@ -0,0 +1,6 @@ +/obj/item/storage/fish_case/donkfish + name = "\improper Donk Co. promotional fish case" + +/obj/item/storage/fish_case/donkfish/PopulateContents() + . = ..() + new /obj/item/fish/donkfish(src) diff --git a/modular_skyrat/modules/gun_cargo/code/objects/firing_pin.dm b/modular_skyrat/modules/company_imports/code/objects/firing_pin.dm similarity index 100% rename from modular_skyrat/modules/gun_cargo/code/objects/firing_pin.dm rename to modular_skyrat/modules/company_imports/code/objects/firing_pin.dm diff --git a/modular_skyrat/modules/gun_cargo/code/objects/hud_glasses.dm b/modular_skyrat/modules/company_imports/code/objects/hud_glasses.dm similarity index 87% rename from modular_skyrat/modules/gun_cargo/code/objects/hud_glasses.dm rename to modular_skyrat/modules/company_imports/code/objects/hud_glasses.dm index 8c240d6d89e..5bd9b5ef9c9 100644 --- a/modular_skyrat/modules/gun_cargo/code/objects/hud_glasses.dm +++ b/modular_skyrat/modules/company_imports/code/objects/hud_glasses.dm @@ -1,8 +1,8 @@ /obj/item/clothing/glasses/hud/gun_permit name = "permit HUD" desc = "A heads-up display that scans humanoids in view, and displays if their current ID possesses a firearms permit or not." - icon = 'modular_skyrat/modules/gun_cargo/icons/hud_goggles.dmi' - worn_icon = 'modular_skyrat/modules/gun_cargo/icons/hud_goggles_worn.dmi' + icon = 'modular_skyrat/modules/company_imports/icons/hud_goggles.dmi' + worn_icon = 'modular_skyrat/modules/company_imports/icons/hud_goggles_worn.dmi' icon_state = "permithud" hud_type = DATA_HUD_PERMIT diff --git a/modular_skyrat/modules/company_imports/code/objects/jarnsmiour/special_metals.dm b/modular_skyrat/modules/company_imports/code/objects/jarnsmiour/special_metals.dm new file mode 100644 index 00000000000..4902d8c2e39 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/jarnsmiour/special_metals.dm @@ -0,0 +1,117 @@ +// Completely made up materials to be sold in bar form by jarnsmiour in cargo, *should* be unobtainable otherwise + +// Darkish blue kinda material + +/datum/material/cobolterium + name = "cobolterium" + desc = "Cobolterium" + color = list(0.2,0.5,0.7,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + greyscale_colors = "#264d61" + categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE, MAT_CATEGORY_ITEM_MATERIAL = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/silver + +/datum/material/cobolterium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) + return TRUE + +/obj/item/stack/sheet/cobolterium + name = "cobolterium bars" + desc = "Cobalt-blue metal that might actually just be cobalt." + singular_name = "cobolterium bar" + icon = 'modular_skyrat/modules/company_imports/icons/special_metals_stack.dmi' + icon_state = "dracula-rapping" + material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR + mats_per_unit = list(/datum/material/cobolterium = MINERAL_MATERIAL_AMOUNT) + merge_type = /obj/item/stack/sheet/cobolterium + material_type = /datum/material/cobolterium + material_modifier = 1 + +/obj/item/stack/sheet/cobolterium/three + amount = 3 + +// More copper colored material + +/datum/material/copporcitite + name = "copporcitite" + desc = "Copporcitite" + color = list(0.8,0.35,0.1,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + greyscale_colors = "#c55a1d" + categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE, MAT_CATEGORY_ITEM_MATERIAL = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/silver + +/datum/material/copporcitite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) + return TRUE + +/obj/item/stack/sheet/copporcitite + name = "copporcitite bars" + desc = "Copper colored metal that might actually just be copper." + singular_name = "copporcitite bar" + icon = 'modular_skyrat/modules/company_imports/icons/special_metals_stack.dmi' + icon_state = "dracula-rapping" + material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR + mats_per_unit = list(/datum/material/copporcitite = MINERAL_MATERIAL_AMOUNT) + merge_type = /obj/item/stack/sheet/copporcitite + material_type = /datum/material/copporcitite + material_modifier = 1 + +/obj/item/stack/sheet/copporcitite/three + amount = 3 + +// Super blued-silver color + +/datum/material/tinumium + name = "tinumium" + desc = "Tinumium" + color = list(0.45,0.5,0.6,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + greyscale_colors = "#717e97" + categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE, MAT_CATEGORY_ITEM_MATERIAL = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/silver + +/datum/material/tinumium/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) + return TRUE + +/obj/item/stack/sheet/tinumium + name = "tinumium bars" + desc = "Heavily blued, silver colored metal." + singular_name = "tinumium bar" + icon = 'modular_skyrat/modules/company_imports/icons/special_metals_stack.dmi' + icon_state = "dracula-rapping" + material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR + mats_per_unit = list(/datum/material/tinumium = MINERAL_MATERIAL_AMOUNT) + merge_type = /obj/item/stack/sheet/tinumium + material_type = /datum/material/tinumium + material_modifier = 1 + +/obj/item/stack/sheet/tinumium/three + amount = 3 + +// Brassy yellow color + +/datum/material/brussite + name = "brussite" + desc = "Brussite" + color = list(0.9,0.75,0.4,0, 0,0,0,0, 0,0,0,0, 0,0,0,1, 0,0,0,0) + greyscale_colors = "#E1C16E" + categories = list(MAT_CATEGORY_RIGID = TRUE, MAT_CATEGORY_BASE_RECIPES = TRUE, MAT_CATEGORY_ITEM_MATERIAL = TRUE) + sheet_type = /obj/item/stack/sheet/mineral/silver + +/datum/material/brussite/on_accidental_mat_consumption(mob/living/carbon/victim, obj/item/source_item) + victim.apply_damage(10, BRUTE, BODY_ZONE_HEAD, wound_bonus = 5) + return TRUE + +/obj/item/stack/sheet/brussite + name = "brussite bars" + desc = "Brassy-yellow metal that might actually just be brass." + singular_name = "brussite bar" + icon = 'modular_skyrat/modules/company_imports/icons/special_metals_stack.dmi' + icon_state = "dracula-rapping" + material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR + mats_per_unit = list(/datum/material/brussite = MINERAL_MATERIAL_AMOUNT) + merge_type = /obj/item/stack/sheet/brussite + material_type = /datum/material/brussite + material_modifier = 1 + +/obj/item/stack/sheet/brussite/three + amount = 3 diff --git a/modular_skyrat/modules/gun_cargo/code/objects/keycard_auth.dm b/modular_skyrat/modules/company_imports/code/objects/keycard_auth.dm similarity index 100% rename from modular_skyrat/modules/gun_cargo/code/objects/keycard_auth.dm rename to modular_skyrat/modules/company_imports/code/objects/keycard_auth.dm diff --git a/modular_skyrat/modules/company_imports/code/objects/microstar/mcr_attachment_kits.dm b/modular_skyrat/modules/company_imports/code/objects/microstar/mcr_attachment_kits.dm new file mode 100644 index 00000000000..b76e067c401 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/microstar/mcr_attachment_kits.dm @@ -0,0 +1,85 @@ +/obj/item/storage/secure/briefcase/white/mcr_loadout + name = "Microfusion Attachment Kit" + +/obj/item/storage/secure/briefcase/white/mcr_loadout/hellfire + +/obj/item/storage/secure/briefcase/white/mcr_loadout/hellfire/PopulateContents() + var/static/items_inside = list( + /obj/item/microfusion_gun_attachment/hellfire = 1, + /obj/item/microfusion_gun_attachment/rail = 1, + /obj/item/microfusion_gun_attachment/grip = 1, + ) + generate_items_inside(items_inside,src) + +/obj/item/storage/secure/briefcase/white/mcr_loadout/scatter + +/obj/item/storage/secure/briefcase/white/mcr_loadout/scatter/PopulateContents() + var/static/items_inside = list( + /obj/item/microfusion_gun_attachment/scatter = 1, + /obj/item/microfusion_gun_attachment/rail = 1, + /obj/item/microfusion_gun_attachment/grip = 1, + ) + generate_items_inside(items_inside,src) + +/obj/item/storage/secure/briefcase/white/mcr_loadout/lance + +/obj/item/storage/secure/briefcase/white/mcr_loadout/lance/PopulateContents() + var/static/items_inside = list( + /obj/item/microfusion_gun_attachment/lance = 1, + /obj/item/microfusion_gun_attachment/scope = 1, + /obj/item/microfusion_gun_attachment/heatsink = 1, + ) + generate_items_inside(items_inside,src) + +/obj/item/storage/secure/briefcase/white/mcr_loadout/repeater + +/obj/item/storage/secure/briefcase/white/mcr_loadout/repeater/PopulateContents() + var/static/items_inside = list( + /obj/item/microfusion_gun_attachment/repeater = 1, + /obj/item/microfusion_gun_attachment/rail = 1, + /obj/item/microfusion_gun_attachment/heatsink = 1, + ) + generate_items_inside(items_inside,src) + +/obj/item/storage/secure/briefcase/white/mcr_loadout/tacticool + +/obj/item/storage/secure/briefcase/white/mcr_loadout/tacticool/PopulateContents() + var/static/items_inside = list( + /obj/item/microfusion_gun_attachment/suppressor = 1, + /obj/item/microfusion_gun_attachment/rail = 1, + /obj/item/microfusion_gun_attachment/grip = 1, + /obj/item/microfusion_gun_attachment/black_camo = 1, + ) + generate_items_inside(items_inside,src) + +// Phase emitter and cell upgrades + +/obj/item/storage/secure/briefcase/white/mcr_parts + name = "Microfusion Parts Kit" + +/obj/item/storage/secure/briefcase/white/mcr_parts/enhanced + +/obj/item/storage/secure/briefcase/white/mcr_parts/enhanced/PopulateContents() + var/static/items_inside = list( + /obj/item/stock_parts/cell/microfusion/enhanced = 1, + /obj/item/microfusion_phase_emitter/enhanced = 1, + ) + generate_items_inside(items_inside,src) + +/obj/item/storage/secure/briefcase/white/mcr_parts/advanced + +/obj/item/storage/secure/briefcase/white/mcr_parts/advanced/PopulateContents() + var/static/items_inside = list( + /obj/item/stock_parts/cell/microfusion/advanced = 1, + /obj/item/microfusion_phase_emitter/advanced = 1, + ) + generate_items_inside(items_inside,src) + +/obj/item/storage/secure/briefcase/white/mcr_parts/bluespace + +/obj/item/storage/secure/briefcase/white/mcr_parts/bluespace/PopulateContents() + var/static/items_inside = list( + /obj/item/stock_parts/cell/microfusion/bluespace = 1, + /obj/item/microfusion_phase_emitter/bluespace = 1, + ) + generate_items_inside(items_inside,src) diff --git a/modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/accretion_incompatibility.dm b/modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/accretion_incompatibility.dm new file mode 100644 index 00000000000..d3293a9d9a8 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/accretion_incompatibility.dm @@ -0,0 +1,3 @@ +/obj/item/mod/module/ash_accretion + incompatible_modules = list(/obj/item/mod/module/ash_accretion, /obj/item/mod/module/armor_booster) + removable = TRUE diff --git a/modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/plate_compression_tech.dm b/modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/plate_compression_tech.dm new file mode 100644 index 00000000000..ff9ab5becd5 --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/nakamura_modsuits/plate_compression_tech.dm @@ -0,0 +1,2 @@ +/datum/uplink_item/suits/plate_compression + illegal_tech = FALSE diff --git a/modular_skyrat/modules/gun_cargo/code/objects/guns/izhevsk.dm b/modular_skyrat/modules/company_imports/code/objects/nri_surplus/ak25.dm similarity index 80% rename from modular_skyrat/modules/gun_cargo/code/objects/guns/izhevsk.dm rename to modular_skyrat/modules/company_imports/code/objects/nri_surplus/ak25.dm index 80bd4f4f6aa..66b6611b8fd 100644 --- a/modular_skyrat/modules/gun_cargo/code/objects/guns/izhevsk.dm +++ b/modular_skyrat/modules/company_imports/code/objects/nri_surplus/ak25.dm @@ -1,10 +1,10 @@ /obj/item/gun/ballistic/automatic/ak25 name = "\improper AK-25 rifle" desc = "A cheap reproduction of the timeless AK rifle. The price tag is lower than usual, but expect it to blow up in your hands." - icon = 'modular_skyrat/modules/gun_cargo/icons/ak25/ak25.dmi' + icon = 'modular_skyrat/modules/company_imports/icons/ak25/ak25.dmi' icon_state = "ak25" - lefthand_file = 'modular_skyrat/modules/gun_cargo/icons/ak25/ak25_lefthand.dmi' - righthand_file = 'modular_skyrat/modules/gun_cargo/icons/ak25/ak25_righthand.dmi' + lefthand_file = 'modular_skyrat/modules/company_imports/icons/ak25/ak25_lefthand.dmi' + righthand_file = 'modular_skyrat/modules/company_imports/icons/ak25/ak25_righthand.dmi' inhand_icon_state = "ak25" slot_flags = ITEM_SLOT_BELT | ITEM_SLOT_BACK w_class = WEIGHT_CLASS_BULKY @@ -13,7 +13,7 @@ can_suppress = FALSE burst_size = 3 fire_delay = 2 - worn_icon = 'modular_skyrat/modules/gun_cargo/icons/ak25/ak25_back.dmi' + worn_icon = 'modular_skyrat/modules/company_imports/icons/ak25/ak25_back.dmi' worn_icon_state = "ak25" fire_sound = 'modular_skyrat/modules/gunsgalore/sound/guns/fire/akm_fire.ogg' rack_sound = 'modular_skyrat/modules/gunsgalore/sound/guns/interact/ltrifle_cock.ogg' @@ -28,7 +28,7 @@ /obj/item/ammo_box/magazine/ak25 name = "\improper AK-25 magazine" desc = "A banana-shaped double-stack magazine able to hold 30 rounds of 7.32x29mm ammunition." - icon = 'modular_skyrat/modules/gun_cargo/icons/ak25/ak25_ammo.dmi' + icon = 'modular_skyrat/modules/company_imports/icons/ak25/ak25_ammo.dmi' icon_state = "ak25_mag" ammo_type = /obj/item/ammo_casing/realistic/a732x29 caliber = CALIBER_732x29 diff --git a/modular_skyrat/modules/company_imports/code/objects/nri_surplus/larp_clothing.dm b/modular_skyrat/modules/company_imports/code/objects/nri_surplus/larp_clothing.dm new file mode 100644 index 00000000000..1bf4231e4ce --- /dev/null +++ b/modular_skyrat/modules/company_imports/code/objects/nri_surplus/larp_clothing.dm @@ -0,0 +1,3 @@ +/obj/item/clothing/head/soft/nri_larp + name = "imperial field cap" + desc = "A stiff military soft cap often seen worn by members of the NRI's military forces, or people like you." diff --git a/modular_skyrat/modules/gun_cargo/code/objects/ammo_boxes.dm b/modular_skyrat/modules/company_imports/code/objects/vitezstvi/ammo_boxes.dm similarity index 95% rename from modular_skyrat/modules/gun_cargo/code/objects/ammo_boxes.dm rename to modular_skyrat/modules/company_imports/code/objects/vitezstvi/ammo_boxes.dm index e8101595434..4ae6836e53a 100644 --- a/modular_skyrat/modules/gun_cargo/code/objects/ammo_boxes.dm +++ b/modular_skyrat/modules/company_imports/code/objects/vitezstvi/ammo_boxes.dm @@ -42,7 +42,7 @@ /obj/item/ammo_box/c46x30mm name = "ammo box (4.6x30mm)" - icon = 'modular_skyrat/modules/gun_cargo/icons/ammo.dmi' + icon = 'modular_skyrat/modules/company_imports/icons/ammo.dmi' icon_state = "ammo_46" ammo_type = /obj/item/ammo_casing/c46x30mm max_ammo = 20 @@ -57,7 +57,7 @@ /obj/item/ammo_box/c34 name = "ammo box (.34)" - icon = 'modular_skyrat/modules/gun_cargo/icons/ammo.dmi' + icon = 'modular_skyrat/modules/company_imports/icons/ammo.dmi' icon_state = "ammo_34" ammo_type = /obj/item/ammo_casing/c34 max_ammo = 20 @@ -76,7 +76,7 @@ /obj/item/ammo_box/c12mm name = "ammo box (12mm)" - icon = 'modular_skyrat/modules/gun_cargo/icons/ammo.dmi' + icon = 'modular_skyrat/modules/company_imports/icons/ammo.dmi' icon_state = "ammo_12mm" ammo_type = /obj/item/ammo_casing/c12mm max_ammo = 20 diff --git a/modular_skyrat/modules/gun_cargo/icons/ak25/ak25.dmi b/modular_skyrat/modules/company_imports/icons/ak25/ak25.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/ak25/ak25.dmi rename to modular_skyrat/modules/company_imports/icons/ak25/ak25.dmi diff --git a/modular_skyrat/modules/gun_cargo/icons/ak25/ak25_ammo.dmi b/modular_skyrat/modules/company_imports/icons/ak25/ak25_ammo.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/ak25/ak25_ammo.dmi rename to modular_skyrat/modules/company_imports/icons/ak25/ak25_ammo.dmi diff --git a/modular_skyrat/modules/gun_cargo/icons/ak25/ak25_back.dmi b/modular_skyrat/modules/company_imports/icons/ak25/ak25_back.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/ak25/ak25_back.dmi rename to modular_skyrat/modules/company_imports/icons/ak25/ak25_back.dmi diff --git a/modular_skyrat/modules/gun_cargo/icons/ak25/ak25_lefthand.dmi b/modular_skyrat/modules/company_imports/icons/ak25/ak25_lefthand.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/ak25/ak25_lefthand.dmi rename to modular_skyrat/modules/company_imports/icons/ak25/ak25_lefthand.dmi diff --git a/modular_skyrat/modules/gun_cargo/icons/ak25/ak25_righthand.dmi b/modular_skyrat/modules/company_imports/icons/ak25/ak25_righthand.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/ak25/ak25_righthand.dmi rename to modular_skyrat/modules/company_imports/icons/ak25/ak25_righthand.dmi diff --git a/modular_skyrat/modules/gun_cargo/icons/ammo.dmi b/modular_skyrat/modules/company_imports/icons/ammo.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/ammo.dmi rename to modular_skyrat/modules/company_imports/icons/ammo.dmi diff --git a/modular_skyrat/modules/gun_cargo/icons/hud_goggles.dmi b/modular_skyrat/modules/company_imports/icons/hud_goggles.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/hud_goggles.dmi rename to modular_skyrat/modules/company_imports/icons/hud_goggles.dmi diff --git a/modular_skyrat/modules/gun_cargo/icons/hud_goggles_worn.dmi b/modular_skyrat/modules/company_imports/icons/hud_goggles_worn.dmi similarity index 100% rename from modular_skyrat/modules/gun_cargo/icons/hud_goggles_worn.dmi rename to modular_skyrat/modules/company_imports/icons/hud_goggles_worn.dmi diff --git a/modular_skyrat/modules/company_imports/icons/special_metals_stack.dmi b/modular_skyrat/modules/company_imports/icons/special_metals_stack.dmi new file mode 100644 index 0000000000000000000000000000000000000000..e30c0d75014a95d83a033a139d3c7804b8aaf1e2 GIT binary patch literal 408 zcmV;J0cZY+P)V_Yo&W&CT08W#4x%pr005{-L_t(YiS3k23V<*SMC-!65ielH3+M^Ffe5|-RV0KU z)6)8>pn|hYd`)KI#F$?>Du}8iP+QyH4B*a!7yuXeqPASaj86jHI1Wi*B5Lx0-nj(; z-iZ}<43ESLJNrQC+>8}=ejU{lS@azQS@horzxllYI}jk^fJx)Bk(#m68pFCZ{5XagcpWMPS) zpE@)&-{0Sqz})X)YO1QLR8&+#LPBO_WXZ|NV`F1nSy_L7e^6CqFf~TI$H&**-Y`Z* za}3tY00001bW%=J06^y0W&i*HgnCq1bVOxyV{&P5bZKvH004NLQ&wDl08A-I zrtPcm>Hq)%1xZ9fR9J=WmeFp*APhx`-IC2MWZBYgZ8loi|NrA`+P6mCfR|PBu@WVM zd$}T!j4_Jxuj#saE#PX6w!=y}BJ@wseUE*m0TIwA*P7rB=haPASt zD>(s`=y~5>v+^23HW7y+191S>^RjP~_q+Y@{&6Ud0N!|Gj?+Bv_VfJtRjMCHFHaDr zY!J!=fZoe002ovPDHLkV1oB=1yBG0 diff --git a/modular_skyrat/modules/modular_vending/code/wardrobes.dm b/modular_skyrat/modules/modular_vending/code/wardrobes.dm index d08266dd30d..ddad9a8e08a 100644 --- a/modular_skyrat/modules/modular_vending/code/wardrobes.dm +++ b/modular_skyrat/modules/modular_vending/code/wardrobes.dm @@ -39,7 +39,7 @@ /obj/item/clothing/under/rank/cargo/tech/skyrat/casualman = 3, /obj/item/clothing/suit/gorka/supply = 3, /obj/item/clothing/suit/toggle/jacket/supply = 3, - /obj/item/clothing/glasses/hud/gun_permit = 5, //from Gun_Cargo module + /obj/item/clothing/glasses/hud/gun_permit = 5, //from company imports module ) skyrat_contraband = list( diff --git a/modular_skyrat/modules/novaya_ert/code/head.dm b/modular_skyrat/modules/novaya_ert/code/head.dm index b67c4de8905..b323a5639d0 100644 --- a/modular_skyrat/modules/novaya_ert/code/head.dm +++ b/modular_skyrat/modules/novaya_ert/code/head.dm @@ -1,14 +1,13 @@ -/obj/item/clothing/head/helmet/rus_helmet +/obj/item/clothing/head/helmet/rus_helmet/nri name = "\improper M-42 helmet" desc = "A lightweight M-42 helmet, previously used by the NRI military. This helmet performed well in the Border War against SolFed, but NRI required significant design changes due to the enemy's new and improved weaponry. These models were recently phased out and then quickly found their way onto the black market, now commonly seen in the hands (or on the heads) of insurgents." icon = 'modular_skyrat/master_files/icons/obj/clothing/hats.dmi' worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head.dmi' icon_state = "russian_green_helmet" armor = list(MELEE = 30, BULLET = 40, LASER = 20, ENERGY = 30, BOMB = 35, BIO = 0, FIRE = 50, ACID = 50, WOUND = 15) - flags_cover = HEADCOVERSEYES | HEADCOVERSMOUTH supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON -/obj/item/clothing/head/helmet/rus_helmet/mob_can_equip(mob/living/M, slot, disable_warning, bypass_equip_delay_self, ignore_equipped) +/obj/item/clothing/head/helmet/rus_helmet/nri/mob_can_equip(mob/living/M, slot, disable_warning, bypass_equip_delay_self, ignore_equipped) if(is_species(M, /datum/species/teshari)) to_chat(M, span_warning("[src] is far too big for you!")) return FALSE diff --git a/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm b/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm index 17c9c106cca..8eff2e4f8ba 100644 --- a/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm +++ b/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm @@ -3,43 +3,43 @@ icon = 'modular_skyrat/modules/shotgunrebalance/icons/shotbox.dmi' icon_state = "slug" ammo_type = /obj/item/ammo_casing/shotgun - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/buckshot name = "Buckshot ammo box" icon_state = "buckshot" ammo_type = /obj/item/ammo_casing/shotgun/buckshot - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/rubber name = "Rubbershot ammo box" icon_state = "rubber" ammo_type = /obj/item/ammo_casing/shotgun/rubbershot - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/bean name = "Beanbag Slug ammo box" icon_state = "bean" ammo_type = /obj/item/ammo_casing/shotgun/beanbag - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/magnum name = "Magnum Buckshot ammo box" icon_state = "magnum" ammo_type = /obj/item/ammo_casing/shotgun/magnum - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/express name = "Express Buckshot ammo box" icon_state = "express" ammo_type = /obj/item/ammo_casing/shotgun/express - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/hp name = "Hollow Point Slug ammo box" icon_state = "hollowpoint" ammo_type = /obj/item/ammo_casing/shotgun/hp - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/hunter name = "Hunter Buckshot ammo box" @@ -87,7 +87,7 @@ name = "Incendiary Slug ammo box" icon_state = "incendiary" ammo_type = /obj/item/ammo_casing/shotgun/incendiary - max_ammo = 35 + max_ammo = 15 /obj/item/ammo_box/advanced/s12gauge/honk name = "Confetti ammo box" diff --git a/modular_skyrat/modules/shotgunrebalance/icons/shotbox.dmi b/modular_skyrat/modules/shotgunrebalance/icons/shotbox.dmi index c15d843ebe98cebc5778b7855de089eeb7917d2e..6da3326d43d7639e0f4d88732a1d004cb2628265 100644 GIT binary patch literal 6560 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 DQDsMY literal 2915 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 Gll>ox@9=p5 diff --git a/tgstation.dme b/tgstation.dme index 6ecc7c602b0..f8894c7598c 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -307,6 +307,7 @@ #include "code\__DEFINES\~skyrat_defines\automapper.dm" #include "code\__DEFINES\~skyrat_defines\banning.dm" #include "code\__DEFINES\~skyrat_defines\baton_upgrades.dm" +#include "code\__DEFINES\~skyrat_defines\cargo_import_companies.dm" #include "code\__DEFINES\~skyrat_defines\cells.dm" #include "code\__DEFINES\~skyrat_defines\chat.dm" #include "code\__DEFINES\~skyrat_defines\combat.dm" @@ -5283,6 +5284,7 @@ #include "modular_skyrat\modules\black_mesa\code\guns.dm" #include "modular_skyrat\modules\black_mesa\code\healing_puddle.dm" #include "modular_skyrat\modules\black_mesa\code\lambda_teleporter.dm" +#include "modular_skyrat\modules\black_mesa\code\m16_variations.dm" #include "modular_skyrat\modules\black_mesa\code\mapping_fluff.dm" #include "modular_skyrat\modules\black_mesa\code\objects.dm" #include "modular_skyrat\modules\black_mesa\code\projectiles.dm" @@ -5380,6 +5382,38 @@ #include "modular_skyrat\modules\cme\code\_cme_defines.dm" #include "modular_skyrat\modules\cme\code\cme.dm" #include "modular_skyrat\modules\command_vendor\code\vending.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\company_subsystem.dm" +#include "modular_skyrat\modules\company_imports\code\gun_companies.dm" +#include "modular_skyrat\modules\company_imports\code\armament_datums\bolt_nanotrasen_firearms.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\microstar_energy.dm" +#include "modular_skyrat\modules\company_imports\code\armament_datums\nakamura_modsuits.dm" +#include "modular_skyrat\modules\company_imports\code\armament_datums\nakamura_tools.dm" +#include "modular_skyrat\modules\company_imports\code\armament_datums\nri_military_surplus.dm" +#include "modular_skyrat\modules\company_imports\code\armament_datums\parent_armament.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\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" +#include "modular_skyrat\modules\company_imports\code\objects\firing_pin.dm" +#include "modular_skyrat\modules\company_imports\code\objects\hud_glasses.dm" +#include "modular_skyrat\modules\company_imports\code\objects\keycard_auth.dm" +#include "modular_skyrat\modules\company_imports\code\objects\deforest\filled_organ_boxes.dm" +#include "modular_skyrat\modules\company_imports\code\objects\donk\donkfish_box.dm" +#include "modular_skyrat\modules\company_imports\code\objects\jarnsmiour\special_metals.dm" +#include "modular_skyrat\modules\company_imports\code\objects\microstar\mcr_attachment_kits.dm" +#include "modular_skyrat\modules\company_imports\code\objects\nakamura_modsuits\accretion_incompatibility.dm" +#include "modular_skyrat\modules\company_imports\code\objects\nakamura_modsuits\plate_compression_tech.dm" +#include "modular_skyrat\modules\company_imports\code\objects\nri_surplus\ak25.dm" +#include "modular_skyrat\modules\company_imports\code\objects\nri_surplus\larp_clothing.dm" +#include "modular_skyrat\modules\company_imports\code\objects\vitezstvi\ammo_boxes.dm" #include "modular_skyrat\modules\connecting_computer\code\_computer.dm" #include "modular_skyrat\modules\connecting_computer\code\connectable_component.dm" #include "modular_skyrat\modules\connecting_computer\code\non_connecting_computers.dm" @@ -5690,37 +5724,6 @@ #include "modular_skyrat\modules\goofsec\code\hud.dm" #include "modular_skyrat\modules\goofsec\code\sec_clothing_overrides.dm" #include "modular_skyrat\modules\goofsec\code\sol_fed.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_component.dm" -#include "modular_skyrat\modules\gun_cargo\code\company_datums.dm" -#include "modular_skyrat\modules\gun_cargo\code\gun_companies.dm" -#include "modular_skyrat\modules\gun_cargo\code\gun_subsystem.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\allstar.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\armadyne.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\bolt.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\cantalan.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\dynamics.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\interdyne.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\izhevsk.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\jarnsmiour.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\micron.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\nanotrasen.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\parent_armament.dm" -#include "modular_skyrat\modules\gun_cargo\code\armament_datums\scarborough.dm" -#include "modular_skyrat\modules\gun_cargo\code\datums\cargo_order.dm" -#include "modular_skyrat\modules\gun_cargo\code\datums\cargo_pack.dm" -#include "modular_skyrat\modules\gun_cargo\code\datums\hud.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\access.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\ammo_boxes.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\bottles.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\box.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\cargo_console.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\firing_pin.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\hud_glasses.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\keycard_auth.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\suppressor.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\guns\interdyne.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\guns\izhevsk.dm" -#include "modular_skyrat\modules\gun_cargo\code\objects\guns\oldarms.dm" #include "modular_skyrat\modules\gunhud\code\gun_hud.dm" #include "modular_skyrat\modules\gunhud\code\gun_hud_component.dm" #include "modular_skyrat\modules\gunpoint\code\gunpoint.dm" diff --git a/tgui/packages/tgui/interfaces/Cargo.js b/tgui/packages/tgui/interfaces/Cargo.js index 21250c7b7c9..2755ab0051a 100644 --- a/tgui/packages/tgui/interfaces/Cargo.js +++ b/tgui/packages/tgui/interfaces/Cargo.js @@ -41,9 +41,9 @@ export const CargoContent = (props, context) => { act('gun_window')}> - Gun Requisitions + selected={tab === 'company_import_window'} + onClick={() => act('company_import_window')}> + Company Imports {!requestonly && ( <> @@ -68,7 +68,7 @@ export const CargoContent = (props, context) => { {tab === 'requests' && } {tab === 'cart' && } {tab === 'help' && } - {tab === 'gun_window' && tab === 'catalog'} + {tab === 'company_import_window' && tab === 'catalog'} ); }; diff --git a/tgui/packages/tgui/interfaces/CargoGunConsole.js b/tgui/packages/tgui/interfaces/CargoImportConsole.js similarity index 96% rename from tgui/packages/tgui/interfaces/CargoGunConsole.js rename to tgui/packages/tgui/interfaces/CargoImportConsole.js index 0873c99cbc6..e638a0ac545 100644 --- a/tgui/packages/tgui/interfaces/CargoGunConsole.js +++ b/tgui/packages/tgui/interfaces/CargoImportConsole.js @@ -2,7 +2,7 @@ import { useBackend, useLocalState } from '../backend'; import { Section, Stack, Box, Divider, Button, NumberInput } from '../components'; import { Window } from '../layouts'; -export const CargoGunConsole = (props, context) => { +export const CargoImportConsole = (props, context) => { const [category, setCategory] = useLocalState(context, 'category', ''); const [weapon, setArmament] = useLocalState(context, 'weapon'); const { act, data } = useBackend(context); @@ -17,11 +17,11 @@ export const CargoGunConsole = (props, context) => { return ( -
+
{ -
+
{armaments_list.map((armament_category) => armament_category.subcategories.map((subcat) => subcat.items.map( @@ -157,7 +157,7 @@ export const CargoGunConsole = (props, context) => { {!!cant_buy_restricted && !!item.restricted && ( { - 'You cannot buy a restricted weapon from this console!' + 'You cannot buy a restricted item from this console!' } )}