diff --git a/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm b/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm
index 5467091cb5b..410ccf56fa7 100644
--- a/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm
+++ b/code/__DEFINES/~skyrat_defines/manufacturer_strings.dm
@@ -19,6 +19,7 @@
#define COMPANY_TKACH "It has [span_robot("Tkach Design Bureau")] stamped onto it."
#define COMPANY_SAKHNO "It has [span_green("Sakhno Concern")] stamped onto it."
#define COMPANY_XHIHAO "It has [span_purple("Xhihao Light Arms")] etched into it."
+#define COMPANY_ROMTECH "It has [span_red("Romulus Technology")] stamped onto it."
#define COMPANY_ABDUCTOR "It has [span_abductor("✌︎︎♌︎︎♎︎︎◆︎︎♍︎︎⧫︎︎❄︎♏︎♍︎♒︎")] engraved into it."
diff --git a/code/__DEFINES/~skyrat_defines/projectiles.dm b/code/__DEFINES/~skyrat_defines/projectiles.dm
index c8f985ffa04..1c0812617b5 100644
--- a/code/__DEFINES/~skyrat_defines/projectiles.dm
+++ b/code/__DEFINES/~skyrat_defines/projectiles.dm
@@ -20,3 +20,11 @@
/// Caliber used by the pepperball gun
#define CALIBER_PEPPERBALL "pepperball"
+
+/// Used by the Rowland Magnum Pistol
+#define CALIBER_460ROWLAND ".460 Rowland Magnum"
+
+// The Super Big Revolver
+#define CALIBER_457GOVT ".457 Government"
+
+#define CALIBER_FLECHETTE "Flechette"
diff --git a/code/game/objects/structures/crates_lockers/closets/secure/security.dm b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
index ad6f95f086c..51b9f7c7feb 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -108,12 +108,13 @@
/obj/structure/closet/secure_closet/security/PopulateContents()
..()
new /obj/item/clothing/suit/armor/vest/alt/sec(src)
- new /obj/item/clothing/head/security_cap(src) //SKYRAT EDIT ADDITION
+ new /obj/item/storage/toolbox/guncase/skyrat/rom_flech(src) //SKYRAT EDIT ADDITION
new /obj/item/clothing/head/helmet/sec(src)
new /obj/item/radio/headset/headset_sec(src)
new /obj/item/radio/headset/headset_sec/alt(src)
new /obj/item/clothing/glasses/hud/security/sunglasses(src)
new /obj/item/flashlight/seclite(src)
+ new /obj/item/choice_beacon/security_pistol(src) //SKYRAT EDIT ADDITION
new /obj/item/clothing/gloves/tackler/security(src) // SKYRAT EDIT CHANGE - Gives Them The Blue Ones - ORIGINAL: new /obj/item/clothing/gloves/tackler(src)
/obj/structure/closet/secure_closet/security/sec
diff --git a/code/modules/jobs/job_types/security_officer.dm b/code/modules/jobs/job_types/security_officer.dm
index 01eec3830e9..31966a06c55 100644
--- a/code/modules/jobs/job_types/security_officer.dm
+++ b/code/modules/jobs/job_types/security_officer.dm
@@ -229,6 +229,7 @@ GLOBAL_LIST_EMPTY(security_officer_distribution)
gloves = /obj/item/clothing/gloves/color/black/security
head = /obj/item/clothing/head/security_garrison //SKYRAT EDIT CHANGE - Original: /obj/item/clothing/head/helmet/sec
shoes = /obj/item/clothing/shoes/jackboots/sec
+ glasses = /obj/item/clothing/glasses/hud/security //SKYRAT EDIT - ADDITION
l_pocket = /obj/item/restraints/handcuffs
r_pocket = /obj/item/assembly/flash/handheld
diff --git a/code/modules/projectiles/ammunition/ballistic/shotgun.dm b/code/modules/projectiles/ammunition/ballistic/shotgun.dm
index 9061f272bcd..b7cda3e93e1 100644
--- a/code/modules/projectiles/ammunition/ballistic/shotgun.dm
+++ b/code/modules/projectiles/ammunition/ballistic/shotgun.dm
@@ -27,7 +27,6 @@
icon_state = "bshell"
custom_materials = list(/datum/material/iron=SMALL_MATERIAL_AMOUNT*2.5)
projectile_type = /obj/projectile/bullet/shotgun_beanbag
- harmful = FALSE //SKYRAT EDIT ADDITION
/obj/item/ammo_casing/shotgun/incendiary
name = "incendiary slug"
diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm
index abe4a01b298..0046c0156a1 100644
--- a/code/modules/projectiles/projectile/beams.dm
+++ b/code/modules/projectiles/projectile/beams.dm
@@ -2,7 +2,7 @@
name = "laser"
icon_state = "laser"
pass_flags = PASSTABLE | PASSGLASS | PASSGRILLE
- damage = 22 // SKYRAT EDIT: 20
+ damage = 25
damage_type = BURN
hitsound = 'sound/weapons/sear.ogg'
hitsound_wall = 'sound/weapons/effects/searwall.ogg'
diff --git a/modular_skyrat/master_files/code/modules/cargo/packs/security.dm b/modular_skyrat/master_files/code/modules/cargo/packs/security.dm
index 73639a62a77..76fc2146756 100644
--- a/modular_skyrat/master_files/code/modules/cargo/packs/security.dm
+++ b/modular_skyrat/master_files/code/modules/cargo/packs/security.dm
@@ -3,108 +3,41 @@
/datum/supply_pack/security/ammo
special = TRUE
-/datum/supply_pack/security/armor
- special = TRUE
-
-/datum/supply_pack/security/disabler
- cost = CARGO_CRATE_VALUE * 5
-
-/datum/supply_pack/security/helmets
- special = TRUE
-
-/datum/supply_pack/security/securityclothes
- special = TRUE
-
-/datum/supply_pack/security/armory/thermal
- access = ACCESS_SECURITY
- access_view = ACCESS_SECURITY
-
/datum/supply_pack/security/armory/ballistic
name = "Peacekeeper Combat Shotguns Crates"
contains = list(/obj/item/gun/ballistic/shotgun/automatic/combat = 3,
/obj/item/storage/pouch/ammo = 3,
/obj/item/storage/belt/bandolier = 3)
-//SKYRAT AND SOL AMMO
+//The price seems silly but do understand that ballistic should be as restricted as possible
+//We should prioritise the availability and viability of energy weapon first and foremost
-/datum/supply_pack/security/armory/lethalsolpistols
- name = ".35 Ammunition Crates"
- desc = "Contains 6 boxes of lethal ammunition for Sol .35 Pistol."
- cost = CARGO_CRATE_VALUE * 3
- contains = list(/obj/item/ammo_box/c35sol= 3,
- /obj/item/ammo_box/c35sol/ripper = 3,
- )
- crate_name = ".35 ammo crate"
-/datum/supply_pack/security/armory/lethalsolrifles
- name = ".40 Ammunition Crates"
- desc = "Contains 6 boxes of lethal ammunition for Sol .40 Rifle."
- cost = CARGO_CRATE_VALUE * 5
- contains = list(/obj/item/ammo_box/c40sol= 4,
- /obj/item/ammo_box/c40sol/pierce = 1,
- /obj/item/ammo_box/c40sol/incendiary = 1,
- )
- crate_name = ".40 ammo crate"
+/datum/supply_pack/goody/energy_single
+ name = "Energy Gun Single-Pack"
+ desc = "Contains one energy gun, capable of firing both nonlethal and lethal blasts of light."
+ cost = PAYCHECK_COMMAND * 6
+ access_view = ACCESS_WEAPONS
+ contains = list(/obj/item/gun/energy/e_gun)
-/datum/supply_pack/security/armory/lethalskyratshotgun
- name = "12 Gauge Ammunition Crates"
- desc = "Contains 6 boxes of lethal ammunition for all 12 Gauge Shotguns."
- cost = CARGO_CRATE_VALUE * 3
- contains = list(/obj/item/ammo_box/advanced/s12gauge/buckshot= 3,
- /obj/item/ammo_box/advanced/s12gauge = 3,
- )
- crate_name = "shotgun ammo crate"
+/datum/supply_pack/goody/laser_single
+ name = "Laser Gun Single-Pack"
+ desc = "Contains one laser gun, the lethal workhorse of Nanotrasen security everywehere."
+ cost = PAYCHECK_COMMAND * 3
+ access_view = ACCESS_WEAPONS
+ contains = list(/obj/item/gun/energy/laser)
-/datum/supply_pack/security/armory/exoticskyratammo
- name = "12 Gauge Exotic Ammunition Crates"
- desc = "Contains 5 boxes of exotic ammunition for all 12 Gauge Shotguns."
- cost = CARGO_CRATE_VALUE * 12
- contains = list(/obj/item/ammo_box/advanced/s12gauge/incendiary= 1,
- /obj/item/ammo_box/advanced/s12gauge/flechette = 1,
- /obj/item/ammo_box/advanced/s12gauge/express = 1,
- /obj/item/ammo_box/advanced/s12gauge/magnum = 1,
- /obj/item/ammo_box/advanced/s12gauge/flechette = 1,
+/datum/supply_pack/security/armory/ionrifle
+ name = "Ion Carbine Crate"
+ cost = CARGO_CRATE_VALUE * 18 //Same as the energy gun crate
+ desc = "Contains two Ion Carbines, for when you need to deal with speedy space tiders, mechs, or upstart silicons."
+ contains = list(/obj/item/gun/energy/ionrifle/carbine = 2)
+ crate_name = "Ion Carbine Crate"
- )
- crate_name = "exotic shotgun ammo crate"
- contraband = TRUE
-
-/datum/supply_pack/security/antiriotskyratshotgunammo
- name = "12 Gauge Anti Riot Ammunition Crates"
- desc = "Contains 6 boxes of anti riot grade ammunition for all 12 Gauge Shotguns."
- cost = CARGO_CRATE_VALUE * 4
- contains = list(/obj/item/ammo_box/advanced/s12gauge/bean = 2,
- /obj/item/ammo_box/advanced/s12gauge/beehive = 2,
- /obj/item/ammo_box/advanced/s12gauge/antitide = 2,
-
- )
- crate_name = "anti riot shotgun ammo crate"
-
-//SOL GUNS
-
-/datum/supply_pack/security/wespe
- name = "Wespe Crates"
- desc = "Contains three case of the .35 sol handgun, magazines included."
- cost = CARGO_CRATE_VALUE * 8
- contains = list(/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/wespe = 3,
- /obj/item/ammo_box/c35sol/incapacitator = 3,
- )
- crate_name = "wespe pistols crate"
-
-/datum/supply_pack/security/eland
- name = "Eland Crate"
- desc = "Contains three case of the .35 sol revolver, munition boxes included."
- cost = CARGO_CRATE_VALUE * 8
- contains = list(/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/eland = 3,
- /obj/item/ammo_box/c35sol/incapacitator = 3,
- )
- crate_name = "eland pistols crate"
-
-/datum/supply_pack/security/armory/cawilmarksmanrifle
- name = "Cawil Marksman Rifle Crates"
- desc = "Contains 2 Cawil Marksman Rifle with spare ammunition."
- cost = CARGO_CRATE_VALUE * 17.5
- contains = list(/obj/item/gun/ballistic/automatic/sol_rifle/marksman = 2,
- /obj/item/ammo_box/magazine/c40sol_rifle = 4,
- )
- crate_name = "cawil marksman rifle crate"
+/datum/supply_pack/security/miniegun
+ name = "Mini E-Gun Bulk Crate"
+ cost = CARGO_CRATE_VALUE * 2
+ desc = "Contains three mini e-guns, cheap and semi-effective, for when you need to arm up on a budget."
+ contains = list(/obj/item/gun/energy/e_gun/mini = 3)
+ crate_name = "Mini E-Gun Bulk Crate"
+//You know the problem is literally nobody want to buy the mini-egun even if it was cheap
diff --git a/modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi b/modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi
index 6043c7fa83e..32045e15573 100644
Binary files a/modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi and b/modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi differ
diff --git a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/head.dmi b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/head.dmi
index 900c81bafef..025754918fe 100644
Binary files a/modular_skyrat/master_files/icons/mob/clothing/species/teshari/head.dmi and b/modular_skyrat/master_files/icons/mob/clothing/species/teshari/head.dmi differ
diff --git a/modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi b/modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi
index 8b68aa90330..43b663d980e 100644
Binary files a/modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi and b/modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi differ
diff --git a/modular_skyrat/modules/aesthetics/guns/code/guns.dm b/modular_skyrat/modules/aesthetics/guns/code/guns.dm
index 903f3b13bdb..d3bfc9ccc25 100644
--- a/modular_skyrat/modules/aesthetics/guns/code/guns.dm
+++ b/modular_skyrat/modules/aesthetics/guns/code/guns.dm
@@ -85,10 +85,16 @@
inhand_icon_state = "shotgun_combat"
inhand_x_dimension = 32
inhand_y_dimension = 32
+ fire_delay = 6
+ w_class = WEIGHT_CLASS_BULKY
+ recoil = 2
/obj/item/gun/ballistic/shotgun/automatic/combat/compact
name = "\improper Peacekeeper compact combat shotgun"
- desc = "A tactical variant of the peacekeeper combat shotgun used by NT Raiding Parties and Space Marines."
+ desc = "A tactical variant of the peacekeeper combat shotgun used by NT Raiding Parties and Space Marines. It has a gyroscopic stabilizer on it, letting you fire one handed."
+ fire_delay = 5
+ weapon_weight = WEAPON_LIGHT
+ recoil = 1 //so that its not spammed a lot
/obj/item/gun/grenadelauncher
icon = 'modular_skyrat/modules/aesthetics/guns/icons/guns.dmi'
@@ -472,9 +478,11 @@
/obj/projectile/bullet/c9mm
name = "9x25mm bullet"
+ damage = 25
/obj/projectile/bullet/c9mm/ap
name = "9x25mm armor-piercing bullet"
+ damage = 20
/obj/projectile/bullet/c9mm/hp
name = "9x25mm fragmenting bullet"
diff --git a/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi b/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi
index ccd0f7960cc..e175449ebd9 100644
Binary files a/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi and b/modular_skyrat/modules/aesthetics/guns/icons/guns.dmi differ
diff --git a/modular_skyrat/modules/aesthetics/guns/icons/magazine.dmi b/modular_skyrat/modules/aesthetics/guns/icons/magazine.dmi
index 6787349511d..6c49894e097 100644
Binary files a/modular_skyrat/modules/aesthetics/guns/icons/magazine.dmi and b/modular_skyrat/modules/aesthetics/guns/icons/magazine.dmi differ
diff --git a/modular_skyrat/modules/blueshield/code/blueshield.dm b/modular_skyrat/modules/blueshield/code/blueshield.dm
index 8a75d146a63..b91c34827ff 100644
--- a/modular_skyrat/modules/blueshield/code/blueshield.dm
+++ b/modular_skyrat/modules/blueshield/code/blueshield.dm
@@ -37,6 +37,8 @@
/obj/item/stack/spacecash/c500 = 3,
/obj/item/disk/nuclear/fake/obvious = 2,
/obj/item/clothing/head/collectable/captain = 4,
+ /obj/item/gun/energy/disabler/smoothbore = 1,
+ /obj/item/restraints/legcuffs/bola/energy = 10,
)
veteran_only = TRUE
diff --git a/modular_skyrat/modules/blueshield/code/closet.dm b/modular_skyrat/modules/blueshield/code/closet.dm
index 476c6f266c4..4d848ee6466 100644
--- a/modular_skyrat/modules/blueshield/code/closet.dm
+++ b/modular_skyrat/modules/blueshield/code/closet.dm
@@ -39,8 +39,9 @@
new /obj/item/assembly/flash/handheld(src)
new /obj/item/restraints/handcuffs(src)
new /obj/item/storage/medkit/tactical/blueshield(src)
- new /obj/item/choice_beacon/blueshield(src)
+ new /obj/item/choice_beacon/station_magistrate(src)
new /obj/item/storage/bag/garment/blueshield(src)
new /obj/item/mod/control/pre_equipped/blueshield(src)
new /obj/item/storage/box/glasseskit(src)
new /obj/item/storage/medkit/brute(src)
+ new /obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg(src)
diff --git a/modular_skyrat/modules/blueshield/code/energy_resholver.dm b/modular_skyrat/modules/blueshield/code/energy_resholver.dm
index 5fb1578bbc6..e629a77865f 100644
--- a/modular_skyrat/modules/blueshield/code/energy_resholver.dm
+++ b/modular_skyrat/modules/blueshield/code/energy_resholver.dm
@@ -2,7 +2,7 @@
//Icon and such by @EspeciallyStrange 'Calvin'
/obj/item/gun/energy/e_gun/blueshield
- name = "energy revolver"
+ name = "X-02 energy revolver"
desc = "An energy weapon fitted with self recharging-cells. Feels somewhat heavy to carry and would certainly hurt to get whacked by."
icon = 'modular_skyrat/modules/blueshield/icons/energy.dmi'
icon_state = "blackgrip"
@@ -33,23 +33,6 @@
can_charge = TRUE //In case you aren't charging fast enough, the recharge is meant to be slow on purpose
selfcharge = 1
-//Choice Beacon for blueshield
-
-/obj/item/choice_beacon/blueshield
- name = "blueshield weapon beacon"
- desc = "A single use beacon to deliver a weapon of your choice. Please only call this in your office"
- company_source = "Sol Security Solution"
- company_message = span_bold("Supply Pod incoming please stand by")
-
-/obj/item/choice_beacon/blueshield/generate_display_names()
- var/static/list/selectable_gun_types = list(
- "Energy Revolver" = /obj/item/gun/energy/e_gun/blueshield,
- "Energy Carbine" = /obj/item/gun/energy/e_gun/stun/blueshield,
- ".585 SMG" = /obj/item/storage/toolbox/guncase/skyrat/xhihao_large_case/bogseo //This can obviously be replaced out with any gun of your choice for future coder
- )
-
- return selectable_gun_types
-
//Blueshield Energy
/obj/item/ammo_casing/energy/electrode/blueshield
e_cost = LASER_SHOTS(6, STANDARD_CELL_CHARGE)
diff --git a/modular_skyrat/modules/cargo/code/packs.dm b/modular_skyrat/modules/cargo/code/packs.dm
index 9f1236ab7b5..dde76219864 100644
--- a/modular_skyrat/modules/cargo/code/packs.dm
+++ b/modular_skyrat/modules/cargo/code/packs.dm
@@ -211,7 +211,7 @@
name = "Helmets Crate"
desc = "Contains three standard-issue brain buckets."
cost = CARGO_CRATE_VALUE * 2
- contains = list(/obj/item/clothing/head/helmet/sec/sol = 3)
+ contains = list(/obj/item/clothing/head/helmet/sec = 3)
crate_name = "helmet crate"
/datum/supply_pack/security/deployablebarricades
diff --git a/modular_skyrat/modules/colony_fabricator/code/cargo_packs.dm b/modular_skyrat/modules/colony_fabricator/code/cargo_packs.dm
index 6bf22b2473e..b7b8e62233e 100644
--- a/modular_skyrat/modules/colony_fabricator/code/cargo_packs.dm
+++ b/modular_skyrat/modules/colony_fabricator/code/cargo_packs.dm
@@ -47,3 +47,4 @@
/obj/item/stock_parts/power_store/battery/high,
)
crate_name = "colonization kit crate"
+ contraband = TRUE
diff --git a/modular_skyrat/modules/colony_fabricator/code/tools/tools.dm b/modular_skyrat/modules/colony_fabricator/code/tools/tools.dm
index 58d9e7f3ab6..e531c85a746 100644
--- a/modular_skyrat/modules/colony_fabricator/code/tools/tools.dm
+++ b/modular_skyrat/modules/colony_fabricator/code/tools/tools.dm
@@ -101,7 +101,7 @@
icon = 'modular_skyrat/modules/colony_fabricator/icons/tools.dmi'
icon_state = "prybar"
toolspeed = 1.3
- force_opens = FALSE
+ force_opens = TRUE
custom_materials = list(
/datum/material/iron = SHEET_MATERIAL_AMOUNT * 1.75,
/datum/material/titanium = HALF_SHEET_MATERIAL_AMOUNT,
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/allstar.dm b/modular_skyrat/modules/company_imports/code/armament_datums/allstar.dm
index b403cccae65..df88a5e099d 100644
--- a/modular_skyrat/modules/company_imports/code/armament_datums/allstar.dm
+++ b/modular_skyrat/modules/company_imports/code/armament_datums/allstar.dm
@@ -6,6 +6,7 @@
/datum/armament_entry/company_import/allstar/basic_energy_weapons
subcategory = "Basic Energy Smallarms"
+ restricted = TRUE
/datum/armament_entry/company_import/allstar/basic_energy_weapons/disabler
item_type = /obj/item/gun/energy/disabler
@@ -37,7 +38,7 @@
/datum/armament_entry/company_import/allstar/basic_energy_long_weapons/egun
item_type = /obj/item/gun/energy/e_gun
cost = PAYCHECK_COMMAND * 4
-
+/*
/datum/armament_entry/company_import/allstar/experimental_energy
subcategory = "Experimental Energy Weapons"
cost = PAYCHECK_COMMAND * 6
@@ -54,4 +55,4 @@
/datum/armament_entry/company_import/allstar/experimental_energy/tesla_cannon
item_type = /obj/item/gun/energy/tesla_cannon
-
+*/
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
index f07b015fe10..6696bec26de 100644
--- a/modular_skyrat/modules/company_imports/code/armament_datums/microstar_energy.dm
+++ b/modular_skyrat/modules/company_imports/code/armament_datums/microstar_energy.dm
@@ -5,37 +5,13 @@
/datum/armament_entry/company_import/microstar/basic_energy_weapons
subcategory = "Basic Energy Smallarms"
-/datum/armament_entry/company_import/microstar/basic_energy_weapons/disabler
- item_type = /obj/item/gun/energy/disabler
- cost = PAYCHECK_CREW * 5
-
-/datum/armament_entry/company_import/microstar/basic_energy_weapons/disabler_smg
- item_type = /obj/item/gun/energy/disabler/smg
- cost = PAYCHECK_CREW * 7 // slightly more expensive due to ease of use/full auto
-
/datum/armament_entry/company_import/microstar/basic_energy_weapons/mini_egun
item_type = /obj/item/gun/energy/e_gun/mini
- cost = PAYCHECK_CREW * 5
-
-/datum/armament_entry/company_import/microstar/lethal_sidearm/energy_holster
- item_type = /obj/item/storage/belt/holster/energy/thermal
- cost = PAYCHECK_COMMAND * 6
+ cost = PAYCHECK_CREW * 4
/datum/armament_entry/company_import/microstar/basic_energy_long_weapons
subcategory = "Basic Energy Longarms"
-/datum/armament_entry/company_import/microstar/basic_energy_long_weapons/laser
- item_type = /obj/item/gun/energy/laser
- cost = PAYCHECK_CREW * 5
-
-/datum/armament_entry/company_import/microstar/basic_energy_long_weapons/laser_carbine
- item_type = /obj/item/gun/energy/laser/carbine
- cost = PAYCHECK_CREW * 7 // slightly more expensive due to ease of use/full auto
-
-/datum/armament_entry/company_import/microstar/basic_energy_long_weapons/egun
- item_type = /obj/item/gun/energy/e_gun
- cost = PAYCHECK_COMMAND * 4
-
/datum/armament_entry/company_import/microstar/basic_energy_long_weapons/basic_mcr
item_type = /obj/item/gun/microfusion/mcr01
cost = PAYCHECK_COMMAND * 4
@@ -48,7 +24,7 @@
/datum/armament_entry/company_import/microstar/experimental_energy/hellfire
item_type = /obj/item/gun/energy/laser/hellgun
-
+/*
/datum/armament_entry/company_import/microstar/experimental_energy/ion_carbine
item_type = /obj/item/gun/energy/ionrifle/carbine
@@ -57,7 +33,7 @@
/datum/armament_entry/company_import/microstar/experimental_energy/tesla_cannon
item_type = /obj/item/gun/energy/tesla_cannon
-
+*/
// Preset 'loadout' kits built around a barrel attachment
/datum/armament_entry/company_import/microstar/mcr_attachments
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
index e9e081825dc..db5d8c670d2 100644
--- a/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_modsuits.dm
+++ b/modular_skyrat/modules/company_imports/code/armament_datums/nakamura_modsuits.dm
@@ -79,12 +79,6 @@
item_type = /obj/item/mod/module/emp_shield
cost = PAYCHECK_CREW
-/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/armor_plates
- item_type = /obj/item/mod/module/armor_booster/retractplates
- cost = PAYCHECK_COMMAND * 3
- restricted = TRUE
- contraband = TRUE
-
/datum/armament_entry/company_import/nakamura_modsuits/protection_modules/accretion
item_type = /obj/item/mod/module/ash_accretion
cost = PAYCHECK_COMMAND * 3
@@ -195,15 +189,3 @@
/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/hat_stabilizer
item_type = /obj/item/mod/module/hat_stabilizer
cost = PAYCHECK_CREW
-
-/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/kinesis
- item_type = /obj/item/mod/module/anomaly_locked/kinesis/prebuilt/locked
- cost = PAYCHECK_COMMAND * 15
-
-/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/antigrav
- item_type = /obj/item/mod/module/anomaly_locked/antigrav/prebuilt/locked
- cost = PAYCHECK_COMMAND * 15
-
-/datum/armament_entry/company_import/nakamura_modsuits/novelty_modules/teleporter
- item_type = /obj/item/mod/module/anomaly_locked/teleporter/prebuilt/locked
- cost = PAYCHECK_COMMAND * 20
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
index 5f1233c6fbc..da087c71acf 100644
--- 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
@@ -99,6 +99,10 @@
/datum/armament_entry/company_import/nri_surplus/firearm/shotgun_revolver
item_type = /obj/item/gun/ballistic/revolver/shotgun_revolver
cost = PAYCHECK_COMMAND * 6
+ contraband = TRUE
+ restricted = TRUE
+
+//Even if they're weapon, I'd argue they can technically be considered mining tools, which is why they will stay there
/datum/armament_entry/company_import/nri_surplus/firearm/plasma_thrower
item_type = /obj/item/gun/ballistic/automatic/pistol/plasma_thrower
@@ -111,22 +115,28 @@
/datum/armament_entry/company_import/nri_surplus/firearm/miecz
item_type = /obj/item/gun/ballistic/automatic/miecz
cost = PAYCHECK_COMMAND * 10
+ contraband = TRUE
+ restricted = TRUE
/datum/armament_entry/company_import/nri_surplus/firearm/sakhno_rifle
item_type = /obj/item/gun/ballistic/rifle/boltaction
cost = PAYCHECK_COMMAND * 12
+ contraband = TRUE
+ restricted = TRUE
/datum/armament_entry/company_import/nri_surplus/firearm/lanca
item_type = /obj/item/gun/ballistic/automatic/lanca
contraband = TRUE
cost = PAYCHECK_COMMAND * 14
restricted = TRUE
-
+//Begone
+/*
/datum/armament_entry/company_import/nri_surplus/firearm/anti_materiel_rifle
item_type = /obj/item/gun/ballistic/automatic/wylom
contraband = TRUE
cost = PAYCHECK_COMMAND * 16
restricted = TRUE
+*/
/datum/armament_entry/company_import/nri_surplus/firearm_ammo
subcategory = "Firearm Magazines"
@@ -137,15 +147,18 @@
/datum/armament_entry/company_import/nri_surplus/firearm_ammo/miecz
item_type = /obj/item/ammo_box/magazine/miecz/spawns_empty
+ contraband = TRUE
/datum/armament_entry/company_import/nri_surplus/firearm_ammo/sakhno
item_type = /obj/item/ammo_box/strilka310
+ contraband = TRUE
/datum/armament_entry/company_import/nri_surplus/firearm_ammo/lanca
item_type = /obj/item/ammo_box/magazine/lanca/spawns_empty
contraband = TRUE
-
+/*
/datum/armament_entry/company_import/nri_surplus/firearm_ammo/amr_magazine
item_type = /obj/item/ammo_box/magazine/wylom
contraband = TRUE
cost = PAYCHECK_CREW * 3
+*/
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm b/modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm
index 563e25902c7..d1da8ba8ca1 100644
--- a/modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm
+++ b/modular_skyrat/modules/company_imports/code/armament_datums/sol_defense.dm
@@ -87,24 +87,32 @@
item_type = /obj/item/gun/ballistic/revolver/sol
cost = PAYCHECK_COMMAND * 4
+//You can still buy it from cargo side
+//If cargo decides to agree with sec on a compromise then good job
+
/datum/armament_entry/company_import/sol_defense/sidearm/wespe
item_type = /obj/item/gun/ballistic/automatic/pistol/sol
cost = PAYCHECK_COMMAND * 4
-
+ restricted = TRUE
+/*
/datum/armament_entry/company_import/sol_defense/sidearm/skild
item_type = /obj/item/gun/ballistic/automatic/pistol/trappiste
cost = PAYCHECK_COMMAND * 6
+ restricted = TRUE
+ contraband = TRUE
/datum/armament_entry/company_import/sol_defense/sidearm/takbok
item_type = /obj/item/gun/ballistic/revolver/takbok
cost = PAYCHECK_COMMAND * 6
-
+ contraband = TRUE
+ restricted = TRUE
+*/
// Lethal anything that's not a pistol, requires high company interest
/datum/armament_entry/company_import/sol_defense/longarm
subcategory = "Longarms"
restricted = TRUE
-
+/*
/datum/armament_entry/company_import/sol_defense/longarm/renoster
item_type = /obj/item/gun/ballistic/shotgun/riot/sol
cost = PAYCHECK_COMMAND * 6
@@ -112,21 +120,25 @@
/datum/armament_entry/company_import/sol_defense/longarm/sindano
item_type = /obj/item/gun/ballistic/automatic/sol_smg
cost = PAYCHECK_COMMAND * 6
-
+*/
/datum/armament_entry/company_import/sol_defense/longarm/elite
item_type = /obj/item/gun/ballistic/automatic/sol_rifle/marksman
- cost = PAYCHECK_COMMAND * 12
+ cost = PAYCHECK_COMMAND * 8
+/*
/datum/armament_entry/company_import/sol_defense/longarm/bogseo
item_type = /obj/item/gun/ballistic/automatic/xhihao_smg
cost = PAYCHECK_COMMAND * 10
contraband = TRUE
+//Begone
+*/
/datum/armament_entry/company_import/sol_defense/longarm/infanterie
item_type = /obj/item/gun/ballistic/automatic/sol_rifle
cost = PAYCHECK_COMMAND * 14
contraband = TRUE
+/* These one are simply rediculous, but we'll keep it there incase someone has idea
/datum/armament_entry/company_import/sol_defense/longarm/outomaties
item_type = /obj/item/gun/ballistic/automatic/sol_rifle/machinegun
cost = PAYCHECK_COMMAND * 23
@@ -136,6 +148,7 @@
item_type = /obj/item/gun/ballistic/automatic/sol_grenade_launcher
cost = PAYCHECK_COMMAND * 46
contraband = TRUE
+*/
/datum/armament_entry/company_import/sol_defense/magazines
subcategory = "Magazines"
@@ -146,10 +159,10 @@
/datum/armament_entry/company_import/sol_defense/magazines/c35_extended
item_type = /obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty
-
+/*
/datum/armament_entry/company_import/sol_defense/magazines/c585_mag
item_type = /obj/item/ammo_box/magazine/c585trappiste_pistol/spawns_empty
-
+*/
/datum/armament_entry/company_import/sol_defense/magazines/sol_rifle_short
item_type = /obj/item/ammo_box/magazine/c40sol_rifle/starts_empty
@@ -157,11 +170,13 @@
item_type = /obj/item/ammo_box/magazine/c40sol_rifle/standard/starts_empty
cost = PAYCHECK_COMMAND
+/*
+
/datum/armament_entry/company_import/sol_defense/magazines/sol_rifle_drum
item_type = /obj/item/ammo_box/magazine/c40sol_rifle/drum/starts_empty
cost = PAYCHECK_COMMAND * 3
contraband = TRUE
-
+*/
/datum/armament_entry/company_import/sol_defense/magazines/sol_grenade_standard
item_type = /obj/item/ammo_box/magazine/c980_grenade/starts_empty
cost = PAYCHECK_COMMAND * 2
@@ -170,3 +185,5 @@
item_type = /obj/item/ammo_box/magazine/c980_grenade/drum/starts_empty
cost = PAYCHECK_CREW * 3
contraband = TRUE
+
+//These two don't really bothers me
diff --git a/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm b/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm
index b0af6779c9b..b32feb9777d 100644
--- a/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm
+++ b/modular_skyrat/modules/company_imports/code/armament_datums/vitezstvi_ammo.dm
@@ -10,10 +10,11 @@
/datum/armament_entry/company_import/vitezstvi/ammo_bench/bench_itself
item_type = /obj/item/circuitboard/machine/ammo_workbench
cost = PAYCHECK_COMMAND * 5
-
+/*
/datum/armament_entry/company_import/vitezstvi/ammo_bench/ammo_disk
item_type = /obj/item/disk/ammo_workbench/advanced
cost = PAYCHECK_COMMAND * 5
+*/
/datum/armament_entry/company_import/vitezstvi/ammo_bench/bullet_drive
item_type = /obj/item/circuitboard/machine/dish_drive/bullet
@@ -80,16 +81,16 @@
/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sol35_disabler
item_type = /obj/item/ammo_box/c35sol/incapacitator
-
+/*
/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sol35_ripper
item_type = /obj/item/ammo_box/c35sol/ripper
/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sol40
item_type = /obj/item/ammo_box/c40sol
-
+*/
/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sol40_disabler
item_type = /obj/item/ammo_box/c40sol/fragmentation
-
+/*
/datum/armament_entry/company_import/vitezstvi/ammo_boxes/sol40_flame
item_type = /obj/item/ammo_box/c40sol/incendiary
@@ -104,7 +105,7 @@
/datum/armament_entry/company_import/vitezstvi/ammo_boxes/trappiste585_hollowpoint
item_type = /obj/item/ammo_box/c585trappiste/hollowpoint
-
+*/
// Revolver speedloaders
/datum/armament_entry/company_import/vitezstvi/speedloader
@@ -125,37 +126,37 @@
/datum/armament_entry/company_import/vitezstvi/shot_shells
subcategory = "Shotgun Shells"
cost = PAYCHECK_COMMAND
-
+/*
/datum/armament_entry/company_import/vitezstvi/shot_shells/slugs
item_type = /obj/item/ammo_box/advanced/s12gauge
/datum/armament_entry/company_import/vitezstvi/shot_shells/buckshot
item_type = /obj/item/ammo_box/advanced/s12gauge/buckshot
-
+*/
/datum/armament_entry/company_import/vitezstvi/shot_shells/beanbag_slugs
item_type = /obj/item/ammo_box/advanced/s12gauge/bean
/datum/armament_entry/company_import/vitezstvi/shot_shells/rubbershot
item_type = /obj/item/ammo_box/advanced/s12gauge/rubber
-
+/*
/datum/armament_entry/company_import/vitezstvi/shot_shells/magnum_buckshot
item_type = /obj/item/ammo_box/advanced/s12gauge/magnum
/datum/armament_entry/company_import/vitezstvi/shot_shells/express_buckshot
item_type = /obj/item/ammo_box/advanced/s12gauge/express
-
+*/
/datum/armament_entry/company_import/vitezstvi/shot_shells/hunter_slug
item_type = /obj/item/ammo_box/advanced/s12gauge/hunter
-
+/*
/datum/armament_entry/company_import/vitezstvi/shot_shells/flechettes
item_type = /obj/item/ammo_box/advanced/s12gauge/flechette
-
+*/
/datum/armament_entry/company_import/vitezstvi/shot_shells/hornet_nest
item_type = /obj/item/ammo_box/advanced/s12gauge/beehive
-
+/*
/datum/armament_entry/company_import/vitezstvi/shot_shells/stardust
item_type = /obj/item/ammo_box/advanced/s12gauge/antitide
-
+*/
/datum/armament_entry/company_import/vitezstvi/shot_shells/confetti
item_type = /obj/item/ammo_box/advanced/s12gauge/honkshot
diff --git a/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm b/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm
index ca3fb63c321..16896d8662f 100644
--- a/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm
+++ b/modular_skyrat/modules/goofsec/code/sec_clothing_overrides.dm
@@ -210,53 +210,40 @@
* HEAD
*/
-//Overrides the bulletproof helm with the older non red visor version.
+//Overrides the bulletproof helm with a fucking altyn helmet because yes
/obj/item/clothing/head/helmet/alt
+ desc = "An armored helmet based on the NRI Altyn Helmet Design. These helmet provide excellent facial protection, if not, the best against ballistic."
icon = 'modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi'
worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi'
icon_state = "helmetalt_blue"
base_icon_state = "helmetalt_blue"
+ supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON
+ actions_types = list(/datum/action/item_action/toggle)
+ supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON
+ flags_cover = HEADCOVERSEYES | PEPPERPROOF
+ visor_flags_cover = HEADCOVERSEYES | PEPPERPROOF
-//Standard helmet (w/ visor)
+//Standard helmet
/obj/item/clothing/head/helmet/sec
icon = 'modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi'
worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi'
icon_state = "security_helmet"
base_icon_state = "security_helmet"
- actions_types = list(/datum/action/item_action/toggle)
- supports_variations_flags = CLOTHING_SNOUTED_VARIATION
- flags_cover = HEADCOVERSEYES | PEPPERPROOF
- visor_flags_cover = HEADCOVERSEYES | PEPPERPROOF
+ clothing_flags = SNUG_FIT | STACKABLE_HELMET_EXEMPT
+ flags_cover = HEADCOVERSEYES|EARS_COVERED
dog_fashion = null
+ supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON
- ///chat message when the visor is toggled down.
- var/toggle_message = "You pull the visor down on"
- ///chat message when the visor is toggled up.
- var/alt_toggle_message = "You push the visor up on"
- ///Can toggle?
- var/can_toggle = TRUE
-/// Duplication of toggleable logic - only way to make it toggleable without worse hacks due to being in base maps.
-/obj/item/clothing/head/helmet/sec/attack_self(mob/user)
- . = ..()
- if(.)
- return
- if(user.incapacitated() || !can_toggle)
- return
- up = !up
- flags_1 ^= visor_flags
- flags_inv ^= visor_flags_inv
- flags_cover ^= visor_flags_cover
- // This part is changed to work with the seclight.
- base_icon_state = "[initial(icon_state)][up ? "up" : ""]"
- update_icon_state()
- to_chat(user, span_notice("[up ? alt_toggle_message : toggle_message] \the [src]."))
-
- user.update_worn_head()
- if(iscarbon(user))
- var/mob/living/carbon/carbon_user = user
- carbon_user.update_worn_head()
+/obj/item/clothing/head/helmet/sec/futuristic
+ icon_state = "security_helmet_future"
+ base_icon_state = "security_helmet_future"
+ flags_cover = HEADCOVERSEYES | PEPPERPROOF
+ supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON
+/obj/item/clothing/head/helmet/sec/futuristic/blue
+ icon_state = "security_helmet_future_blue"
+ base_icon_state = "security_helmet_future_blue"
//Beret replacement
/obj/item/clothing/head/security_garrison
@@ -907,7 +894,6 @@
icon_state = "helmet"
base_icon_state = "helmet"
actions_types = null
- can_toggle = FALSE
supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON
flags_cover = HEADCOVERSEYES
flags_inv = HIDEHAIR
diff --git a/modular_skyrat/modules/goofsec/code/sol_fed.dm b/modular_skyrat/modules/goofsec/code/sol_fed.dm
index b5bf59d3871..0a4af4683ad 100644
--- a/modular_skyrat/modules/goofsec/code/sol_fed.dm
+++ b/modular_skyrat/modules/goofsec/code/sol_fed.dm
@@ -455,7 +455,7 @@ GLOBAL_LIST_INIT(call911_do_and_do_not, list(
glasses = /obj/item/clothing/glasses/sunglasses
ears = /obj/item/radio/headset/headset_sec/alt
head = /obj/item/clothing/head/helmet/sf_peacekeeper
- belt = /obj/item/gun/energy/disabler
+ belt = /obj/item/gun/energy/e_gun
suit = /obj/item/clothing/suit/armor/sf_peacekeeper
r_pocket = /obj/item/flashlight/seclite
l_pocket = /obj/item/restraints/handcuffs
@@ -463,8 +463,7 @@ GLOBAL_LIST_INIT(call911_do_and_do_not, list(
l_hand = /obj/item/gun/ballistic/automatic/sol_rifle
backpack_contents = list(
/obj/item/storage/box/survival = 1,
- /obj/item/storage/box/handcuffs = 1,
- /obj/item/melee/baton/security/loaded = 1,
+ /obj/item/melee/baton/telescopic = 1,
/obj/item/ammo_box/magazine/c40sol_rifle/standard = 3,
/obj/item/solfed_reporter/treason_reporter = 1,
/obj/item/beamout_tool = 1,
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/pistol.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/pistol.dm
index cc125a9b997..cedcd828241 100644
--- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/pistol.dm
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/pistol.dm
@@ -20,10 +20,10 @@
/obj/projectile/bullet/c35sol
name = ".35 Sol Short bullet"
- damage = 25
+ damage = 20
- wound_bonus = 10 // Normal bullets are 20
- bare_wound_bonus = 20
+ wound_bonus = 5 // Normal bullets are 20
+ bare_wound_bonus = 25
/obj/item/ammo_box/c35sol
@@ -56,7 +56,7 @@
/obj/projectile/bullet/c35sol/incapacitator
name = ".35 Sol Short incapacitator bullet"
- damage = 5
+ damage = 8
stamina = 30
wound_bonus = -40
@@ -108,8 +108,8 @@
sharpness = SHARP_EDGED
- wound_bonus = 20
- bare_wound_bonus = 20
+ wound_bonus = 25
+ bare_wound_bonus = 25
embed_type = /datum/embed_data/c35sol_ripper
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/rifle.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/rifle.dm
index dd335c46454..acea00fff9f 100644
--- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/rifle.dm
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/ammo/rifle.dm
@@ -22,8 +22,8 @@
name = ".40 Sol Long bullet"
damage = 35
- wound_bonus = 10
- bare_wound_bonus = 20
+ wound_bonus = -30
+ bare_wound_bonus = -35
/obj/item/ammo_box/c40sol
@@ -66,7 +66,7 @@
sharpness = SHARP_EDGED
wound_bonus = 0
- bare_wound_bonus = 10
+ bare_wound_bonus = 20
shrapnel_type = /obj/item/shrapnel/stingball
embed_type = /datum/embed_data/c40sol_fragmentation
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/magazines.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/magazines.dm
index 0734cb89258..7f1c86842c9 100644
--- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/magazines.dm
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/magazines.dm
@@ -58,7 +58,7 @@
icon_state = "rifle_standard"
- w_class = WEIGHT_CLASS_SMALL
+ w_class = WEIGHT_CLASS_NORMAL
max_ammo = 30
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/submachinegun.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/submachinegun.dm
index 28ac6d7ba8c..db6622b6d8f 100644
--- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/submachinegun.dm
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/carwo_defense_systems/submachinegun.dm
@@ -15,7 +15,7 @@
bolt_type = BOLT_TYPE_OPEN
- w_class = WEIGHT_CLASS_NORMAL
+ w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_MEDIUM
slot_flags = ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/alert_pin.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/alert_pin.dm
new file mode 100644
index 00000000000..fa585f9dcb3
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/alert_pin.dm
@@ -0,0 +1,10 @@
+//Alert locked pin
+
+/obj/item/firing_pin/alert_level
+ name = "alert level firing pin"
+ var/desired_minimium_alert = SEC_LEVEL_VIOLET //For the purpose of the firing pin, we will consider violet, orange and amber as same level
+ desc = "A small authentication device, to be inserted into a firearm receiver to allow operation. This one is configured to only fire on amber alert or higher."
+ fail_message = "incorrect alert level!"
+
+/obj/item/firing_pin/alert_level/pin_auth(mob/living/user)
+ return (SSsecurity_level.current_security_level.number_level >= desired_minimium_alert)
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/magazine.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/magazine.dm
new file mode 100644
index 00000000000..cff942dd8f5
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/magazine.dm
@@ -0,0 +1,88 @@
+//9mm Magazines
+/obj/item/ammo_box/magazine/m9mm
+ name = "pistol magazine (9x25mm)"
+ multiple_sprites = AMMO_BOX_PER_BULLET
+ icon = 'modular_skyrat/modules/aesthetics/guns/icons/magazine.dmi'
+
+/obj/item/ammo_box/magazine/m9mm
+ custom_premium_price = 50
+
+/obj/item/ammo_box/magazine/m9mm/rubber
+ name = "pistol magazine (9x25mm Rubber)"
+ ammo_type = /obj/item/ammo_casing/c9mm/rubber
+ icon_state = "9x19pB"
+
+/obj/item/ammo_box/magazine/m9mm/ihdf
+ name = "pistol magazine (9x25mm Intelligent Dispersal Foam)"
+ ammo_type = /obj/item/ammo_casing/c9mm/ihdf
+ icon_state = "9x19pp"
+
+//Extended 9mm
+/obj/item/ammo_box/magazine/m9mm/stendo
+ name = "pistol magazine (9x25mm)"
+ ammo_type = /obj/item/ammo_casing/c9mm
+ icon_state = "g18"
+ multiple_sprites = AMMO_BOX_FULL_EMPTY
+ max_ammo = 33
+
+/obj/item/ammo_box/magazine/m9mm/stendo/fire
+ name = "pistol magazine (9x25mm Incendiary)"
+ ammo_type = /obj/item/ammo_casing/c9mm/fire
+ icon_state = "g18_r"
+
+/obj/item/ammo_box/magazine/m9mm/stendo/rubber
+ name = "pistol magazine (9x25mm Incendiary)"
+ ammo_type = /obj/item/ammo_casing/c9mm/rubber
+ icon_state = "g18_b"
+
+/obj/item/ammo_box/magazine/m9mm/stendo/hp
+ name = "pistol magazine (9x25mm Hollow Point)"
+ ammo_type = /obj/item/ammo_casing/c9mm/hp
+ icon_state = "g18_hp"
+
+/obj/item/ammo_box/magazine/m9mm/stendo/ap
+ name = "pistol magazine (9x25mm Armour Piercing)"
+ ammo_type = /obj/item/ammo_casing/c9mm/ap
+ icon_state = "g18_ihdf"
+
+/obj/item/ammo_box/magazine/m9mm/stendo/ihdf
+ name = "pistol magazine (9x25mm Intelligent Dispersal Foam)"
+ ammo_type = /obj/item/ammo_casing/c9mm/ihdf
+ icon_state = "g18_ihdf"
+
+
+//10mm Cylinder
+/obj/item/ammo_box/magazine/internal/cylinder/nt_sec
+ name = "\improper 10mm revolver cylinder"
+ desc = "how did you get this"
+ max_ammo = 6
+ ammo_type = /obj/item/ammo_casing/c10mm/rubber
+ caliber = CALIBER_10MM
+
+//10mm Stuff
+/obj/item/ammo_box/c10mm/speedloader
+ name = "speed loader (10mm Auto)"
+ desc = "Designed to quickly reload revolvers."
+ ammo_type = /obj/item/ammo_casing/c10mm
+ ammo_band_color = "#dd6057"
+ max_ammo = 6
+ item_flags = NO_MAT_REDEMPTION
+ icon_state = "38"
+ multiple_sprites = AMMO_BOX_PER_BULLET
+ ammo_band_icon = "+38_ammo_band"
+
+ custom_premium_price = 50
+
+/obj/item/ammo_box/c10mm/speedloader/rubber
+
+ name = "speed loader (10mm Auto Rubber)"
+ desc = "Designed to quickly reload revolvers."
+ ammo_type = /obj/item/ammo_casing/c10mm/rubber
+ ammo_band_color = "#1824c5"
+
+/obj/item/ammo_box/c10mm/speedloader/fire
+
+ name = "speed loader (10mm Auto Fire)"
+ desc = "Designed to quickly reload revolvers."
+ ammo_type = /obj/item/ammo_casing/c10mm/fire
+ ammo_band_color = "#c41d1a"
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/pistol.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/pistol.dm
new file mode 100644
index 00000000000..0fee38047fa
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/nanotrasen_system_inc/pistol.dm
@@ -0,0 +1,90 @@
+//Handgun
+
+
+/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_glock
+ name = "9x25mm Mk12 Standard Pistol"
+
+ weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
+
+/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_glock/PopulateContents()
+ new weapon_to_spawn (src)
+
+ generate_items_inside(list(
+ /obj/item/ammo_box/magazine/m9mm/ihdf = 2,
+ /obj/item/ammo_box/magazine/m9mm/rubber = 3,
+ ), src)
+
+/obj/item/gun/ballistic/automatic/pistol/nt_glock
+ name = "\improper GP-9"
+ desc = "General Purpose Pistol Number 9. A classic 9x25mm handgun with a small magazine capacity."
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi'
+ icon_state = "black"
+ w_class = WEIGHT_CLASS_NORMAL
+ spread = 10
+ fire_sound = 'sound/weapons/gun/pistol/shot_alt.ogg'
+ rack_sound = 'sound/weapons/gun/pistol/rack.ogg'
+ lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg'
+ bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg'
+ pin = /obj/item/firing_pin
+ spawn_magazine_type = /obj/item/ammo_box/magazine/m9mm/rubber
+
+/obj/item/gun/ballistic/automatic/pistol/nt_glock/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN)
+
+/obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
+ spawnwithmagazine = FALSE
+
+
+/obj/item/storage/toolbox/guncase/skyrat/nt_glock_spec
+ name = "9x25mm Mk2 Special Operation Pistol"
+
+ weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
+
+/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_glock_spec/PopulateContents()
+ new weapon_to_spawn (src)
+
+ generate_items_inside(list(
+ /obj/item/ammo_box/magazine/m9mm/stendo/hp = 2,
+ /obj/item/ammo_box/magazine/m9mm/stendo/ap = 3,
+ ), src)
+
+/obj/item/gun/ballistic/automatic/pistol/nt_glock/spec
+ name = "\improper GP-93R"
+ desc = "General Purpose Pistol Number 9, 3-Round Burst. A special operation variant with a high capacity magazine."
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi'
+ icon_state = "silver"
+ spread = 17
+ pin = /obj/item/firing_pin
+ fire_delay = 2
+ burst_size = 3
+ spawn_magazine_type = /obj/item/ammo_box/magazine/m9mm/stendo
+
+/obj/item/gun/ballistic/automatic/pistol/nt_glock/empty
+ spawnwithmagazine = FALSE
+
+// Revolver
+
+/obj/item/gun/ballistic/revolver/nt_revolver
+ name = "\improper R10"
+ desc = "The Revolver Number 10. A rugged and reliable pistol chambered in 10mm Auto, holds 6 shot. Remember our promise"
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi'
+ icon_state = "zeta"
+ spawn_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/nt_sec
+ accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/nt_sec
+
+/obj/item/gun/ballistic/revolver/nt_revolver/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_NANOTRASEN)
+
+/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_revolver
+ name = "10mm Auto Standard Revolver"
+
+ weapon_to_spawn = /obj/item/gun/ballistic/revolver/nt_revolver
+
+/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_revolver/PopulateContents()
+ new weapon_to_spawn (src)
+
+ generate_items_inside(list(
+ /obj/item/ammo_box/c10mm/speedloader = 2,
+ /obj/item/ammo_box/c10mm/speedloader/rubber = 3,
+ ), src)
+
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/pistol.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/pistol.dm
new file mode 100644
index 00000000000..5d93b419471
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/pistol.dm
@@ -0,0 +1,74 @@
+/obj/item/ammo_casing/c460rowland
+ name = ".460 Rowland Magnum bullet casing"
+ desc = "A Romulus Tech standard lethal pistol round."
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
+ icon_state = "sl-casing"
+
+ caliber = CALIBER_460ROWLAND
+ projectile_type = /obj/projectile/bullet/c460rowland
+
+/obj/projectile/bullet/c460rowland
+ name = ".460 Rowland Magnum"
+ damage = 35
+ stamina = 15 //knock the winds outta ya
+
+ wound_bonus = -35
+ bare_wound_bonus = -60
+ stamina_falloff_tile = 0.3
+
+/obj/item/ammo_casing/c460rowland/dart
+ name = ".460 Rowland Armour Piercing bullet casing"
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
+ icon_state = "sr-casing"
+
+ caliber = CALIBER_460ROWLAND
+ projectile_type = /obj/projectile/bullet/c460rowland/dart
+
+/obj/projectile/bullet/c460rowland/dart
+ name = ".460 Rowland Armour Piercing"
+ damage = 25
+
+ wound_bonus = -50
+ bare_wound_bonus = -10
+ armour_penetration = 40
+ damage_falloff_tile = 0
+ stamina_falloff_tile = 0
+
+//457
+
+/obj/item/ammo_casing/c457govt
+ name = ".457 Government bullet casing"
+ desc = "A Romulus Tech standard lethal pistol round."
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
+ icon_state = "sl-casing"
+
+ caliber = CALIBER_457GOVT
+ projectile_type = /obj/projectile/bullet/c457govt
+
+/obj/projectile/bullet/c457govt
+ name = ".457 Government"
+ damage = 35
+ wound_bonus = -25
+ bare_wound_bonus = -35
+
+/obj/item/ammo_casing/c457govt/dart
+ name = ".457 Government Accelerating"
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
+ icon_state = "sr-casing"
+
+ caliber = CALIBER_457GOVT
+ projectile_type = /obj/projectile/bullet/c457govt/dart
+
+/obj/projectile/bullet/c457govt/dart
+ name = ".457 Government Accelerating"
+ damage = 15
+
+ wound_bonus = -10
+ bare_wound_bonus = -10
+ armour_penetration = 45
+ speed = 0.5
+ range = 14
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/rifle.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/rifle.dm
new file mode 100644
index 00000000000..ae33c1ccc4d
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/ammo/rifle.dm
@@ -0,0 +1,150 @@
+#define AMMO_MATS_SHOTGUN list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 4) // not quite as thick as a half-sheet
+
+#define AMMO_MATS_SHOTGUN_FLECH list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
+ /datum/material/titanium = SMALL_MATERIAL_AMOUNT * 2)
+
+#define AMMO_MATS_SHOTGUN_HIVE list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
+ /datum/material/plasma = SMALL_MATERIAL_AMOUNT * 1,\
+ /datum/material/silver = SMALL_MATERIAL_AMOUNT * 1)
+
+#define AMMO_MATS_SHOTGUN_TIDE list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
+ /datum/material/plasma = SMALL_MATERIAL_AMOUNT * 1,\
+ /datum/material/titanium = SMALL_MATERIAL_AMOUNT * 1)
+
+#define AMMO_MATS_SHOTGUN_PLASMA list(/datum/material/iron = SMALL_MATERIAL_AMOUNT * 2,\
+ /datum/material/plasma = SMALL_MATERIAL_AMOUNT * 2)
+
+
+/obj/item/ammo_casing/caflechette
+ name = "flechette steel penetrator"
+ desc = "A Romfed standard rifle flechette."
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/carwo_defense_systems/ammo.dmi'
+ icon_state = "40sol"
+
+ caliber = CALIBER_FLECHETTE
+ projectile_type = /obj/projectile/bullet/caflechette
+ custom_materials = AMMO_MATS_SHOTGUN_FLECH
+ advanced_print_req = TRUE
+
+/obj/item/ammo_casing/caflechette/Initialize(mapload)
+ . = ..()
+
+ AddElement(/datum/element/caseless)
+
+
+/obj/projectile/bullet/caflechette
+ name = "flechette penetrator"
+ damage = 15
+ armour_penetration = 60
+ wound_bonus = 10
+ bare_wound_bonus = 10
+ embed_type = /datum/embed_data/caflechette
+ dismemberment = 0
+
+/datum/embed_data/caflechette
+ embed_chance = 55
+ pain_chance = 70
+ fall_chance = 30
+ jostle_chance = 80
+ ignore_throwspeed_threshold = TRUE
+ pain_stam_pct = 0.9
+ pain_mult = 2
+ rip_time = 2 SECONDS
+
+/obj/item/ammo_casing/caflechette/ripper
+ name = "flechette dart"
+ desc = "A Romfed standard rifle flechette."
+ projectile_type = /obj/projectile/bullet/caflechette/ripper
+ custom_materials = AMMO_MATS_SHOTGUN_TIDE
+
+/obj/projectile/bullet/caflechette/ripper
+ name = "flechette dart"
+ damage = 10
+ wound_bonus = 25
+ bare_wound_bonus = 35
+ embed_type = /datum/embed_data/ripper
+ armour_penetration = 40 //defeat basic armour
+
+/datum/embed_data/ripper
+ embed_chance = 200
+ pain_chance = 70
+ fall_chance = 1
+ jostle_chance = 80
+ ignore_throwspeed_threshold = TRUE
+ pain_stam_pct = 0.9
+ pain_mult = 2
+ rip_time = 5 SECONDS
+
+/obj/item/ammo_casing/caflechette/ballpoint
+ name = "steel ball"
+ desc = "A bullet casing with a large metallic ball as a projectile."
+ projectile_type = /obj/projectile/bullet/caflechette/ballpoint
+ custom_materials = AMMO_MATS_SHOTGUN_TIDE
+
+/obj/projectile/bullet/caflechette/ballpoint
+ name = "high velocity steel ball"
+ damage = 10
+ wound_bonus = 20
+ bare_wound_bonus = 10
+ sharpness = SHARP_EDGED
+ wound_bonus = 0
+ bare_wound_bonus = 20
+ armour_penetration = 10
+ shrapnel_type = /obj/item/shrapnel/stingball
+ embed_type = /datum/embed_data/ballpoint
+ stamina = 20
+ ricochet_chance = 50
+ ricochets_max = 3
+ ricochet_auto_aim_angle = 90
+ ricochet_auto_aim_range = 5
+
+/datum/embed_data/ballpoint
+ embed_chance = 50
+ fall_chance = 5
+ jostle_chance = 5
+ ignore_throwspeed_threshold = TRUE
+ pain_stam_pct = 0.4
+ pain_mult = 2
+ jostle_pain_mult = 3
+ rip_time = 1 SECONDS
+
+/obj/item/ammo_casing/caflechette/magnesium
+ name = "magnesium dart"
+ projectile_type = /obj/projectile/bullet/caflechette/magnesium
+ custom_materials = AMMO_MATS_SHOTGUN_PLASMA
+
+/obj/projectile/bullet/caflechette/magnesium
+ name = "high velocity magnesium rod"
+ damage = 5
+ wound_bonus = 15
+ bare_wound_bonus = 5
+ embed_type = /datum/embed_data/magnesium
+ armour_penetration = 100 //does really low damage
+
+/datum/embed_data/magnesium
+ embed_chance = 80
+ pain_chance = 10
+ fall_chance = 10
+ jostle_chance = 80
+ ignore_throwspeed_threshold = TRUE
+ pain_stam_pct = 0.9
+ pain_mult = 2
+ rip_time = 10 SECONDS
+
+/obj/projectile/bullet/caflechette/magnesium/on_hit(atom/target, blocked = 0, pierce_hit)
+ . = ..()
+ if(iscarbon(target))
+ var/mob/living/carbon/M = target
+ M.adjust_fire_stacks(12)
+ M.ignite_mob()
+
+#undef AMMO_MATS_SHOTGUN
+
+#undef AMMO_MATS_SHOTGUN_FLECH
+
+#undef AMMO_MATS_SHOTGUN_HIVE
+
+#undef AMMO_MATS_SHOTGUN_TIDE
+
+#undef AMMO_MATS_SHOTGUN_PLASMA
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/magazines.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/magazines.dm
new file mode 100644
index 00000000000..c258e4a658f
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/magazines.dm
@@ -0,0 +1,53 @@
+//Handgun Magazine
+
+/obj/item/ammo_box/magazine/m45a5
+ name = "\improper m45a5 magazine (Rose)"
+ desc = "A magazine for the m45a5 chambered in .460 Rowland, holds ten rounds. Warning, contains expanding head that deform on contact, may cause excessive bleeding."
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
+ icon_state = "rowlandmodular"
+
+ multiple_sprites = AMMO_BOX_FULL_EMPTY
+
+ w_class = WEIGHT_CLASS_NORMAL
+
+ ammo_type = /obj/item/ammo_casing/c460rowland
+ caliber = CALIBER_460ROWLAND
+ max_ammo = 10
+
+/obj/item/ammo_box/magazine/m45a5/ap
+ name = "\improper m45a5 magazine (Armour Piercing)"
+ desc = "A magazine for the m45a5 chambered in .460 Rowland, holds ten rounds. Warning, contains lead core intended to defeat body armour."
+
+/obj/item/ammo_box/magazine/m45a5/starts_empty
+ start_empty = TRUE
+
+//Cylinder (not speedloader)
+
+/obj/item/ammo_box/magazine/internal/cylinder/c457
+ caliber = CALIBER_457GOVT
+ ammo_type = /obj/item/ammo_casing/c457govt
+
+//Rifle Magazine
+/obj/item/ammo_box/magazine/caflechette
+ name = "flechette penetrator box"
+ ammo_type = /obj/item/ammo_casing/caflechette
+ caliber = CALIBER_FLECHETTE
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi'
+ icon_state = "cmg_penetrator"
+ max_ammo = 25
+
+/obj/item/ammo_box/magazine/caflechette/ripper
+ name = "flechette ripper box"
+ ammo_type = /obj/item/ammo_casing/caflechette/ripper
+ icon_state = "cmg_ripper"
+
+/obj/item/ammo_box/magazine/caflechette/ballpoint
+ name = "ballpoint box"
+ ammo_type = /obj/item/ammo_casing/caflechette/ballpoint
+ icon_state = "cmg_ballpoint"
+
+/obj/item/ammo_box/magazine/caflechette/magnesium
+ name = "magnesium rod box"
+ ammo_type = /obj/item/ammo_casing/caflechette/magnesium
+ icon_state = "cmg_incend"
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/pistol.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/pistol.dm
new file mode 100644
index 00000000000..fe66d9ede66
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/pistol.dm
@@ -0,0 +1,145 @@
+//Pistol, Handguns and Revolvers
+//Now improved
+
+/obj/item/gun/ballistic/revolver/hos_revolver
+ name = "\improper HR-460MS"
+ desc = "An experimental revolver design that can only be loaded one shot at a time, if the initial damage did not kill, the bleedout would. Chambered in .457 Government."
+ accepted_magazine_type = /obj/item/ammo_box/magazine/internal/cylinder/c457
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/revolver.dmi'
+ icon_state = "microtracker"
+ fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/revolver_heavy.ogg'
+
+/obj/item/gun/ballistic/revolver/hos_revolver/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
+
+/obj/item/gun/ballistic/revolver/hos_revolver/long
+ name = "\improper HR-460LR"
+ desc = "A long unwiedly revolver from Romulus Technology. chambered in the rare .457 Government. You might be able to kill someone by whacking it over the head"
+ icon_state = "tracker"
+ force = 18
+
+/obj/item/storage/bag/b460reloadpouch
+ name = "reload pouch"
+ desc = "A pouch for holding loose casings for .357 ammo and .457 ammo. incompatible with anything else. Fit on your belt too"
+ icon = 'modular_skyrat/modules/sec_haul/icons/misc/pouches.dmi'
+ icon_state = "reloadpouch"
+ slot_flags = ITEM_SLOT_POCKETS | ITEM_SLOT_BELT
+ w_class = WEIGHT_CLASS_BULKY
+ worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi'
+ worn_icon_state = null
+
+/obj/item/storage/bag/b460reloadpouch/Initialize(mapload)
+ . = ..()
+ atom_storage.max_specific_storage = WEIGHT_CLASS_SMALL
+ atom_storage.max_total_storage = 35
+ atom_storage.max_slots = 35
+ atom_storage.numerical_stacking = TRUE
+ atom_storage.set_holdable(list(
+ /obj/item/ammo_casing/c457govt,
+ /obj/item/ammo_casing/a357,
+ ))
+
+/obj/item/storage/bag/b460reloadpouch/PopulateContents()
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+ new /obj/item/ammo_casing/c457govt(src)
+
+/obj/item/storage/toolbox/guncase/skyrat/hos_revolver
+ name = "heavy revolver .457"
+
+/obj/item/storage/toolbox/guncase/skyrat/hos_revolver/PopulateContents()
+ new /obj/item/gun/ballistic/revolver/hos_revolver(src)
+ new /obj/item/storage/bag/b460reloadpouch(src)
+
+/obj/item/gun/ballistic/automatic/pistol/m1911/gold
+ name = "gold trimmed m1911"
+ desc = "A classic .460 ceres handgun with a small magazine capacity. Now trimmed in gold"
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/pistol.dmi'
+ icon_state = "m1911"
+
+/obj/item/gun/ballistic/automatic/pistol/m1911/gold/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
+
+
+/obj/item/storage/toolbox/guncase/skyrat/m1911_gold
+ name = "golden m1911 .460 ceres"
+ weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/m1911/gold
+ extra_to_spawn = /obj/item/ammo_box/magazine/m45
+
+/obj/item/storage/toolbox/guncase/skyrat/m1911/PopulateContents()
+ new weapon_to_spawn (src)
+
+ generate_items_inside(list(
+ /obj/item/ammo_box/c45 = 2,
+ ), src)
+
+/obj/item/storage/toolbox/guncase/skyrat/m45a5
+ name = "heavy pistol .460 magnum"
+
+/obj/item/storage/toolbox/guncase/skyrat/m45a5/PopulateContents()
+ new /obj/item/gun/ballistic/automatic/pistol/m45a5(src)
+ new /obj/item/ammo_box/magazine/m45a5(src)
+ new /obj/item/ammo_box/magazine/m45a5(src)
+ new /obj/item/ammo_box/magazine/m45a5(src)
+
+/obj/item/gun/ballistic/automatic/pistol/m45a5
+ name = "M4A5"
+ desc = "A standard issue pistol given to pilot officers in Romulus Federation, chambered in .460 Rowland Magnum, now commonly found in the hands of high ranking NanotTrasen Staff"
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/pistol.dmi'
+ icon_state = "m45a5"
+ fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/pistol_heavy.ogg'
+ force = 15
+ fire_delay = 1.8 SECONDS
+ special_mags = TRUE
+ recoil = 3
+
+ accepted_magazine_type = /obj/item/ammo_box/magazine/m45a5
+ spawn_magazine_type = /obj/item/ammo_box/magazine/m45a5
+
+/obj/item/gun/ballistic/automatic/pistol/m45a5/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
+
+/obj/item/gun/ballistic/automatic/pistol/m45a5/examine(mob/user)
+ . = ..()
+ . += span_notice("You can examine closer to learn a little more about this weapon.")
+
+/obj/item/gun/ballistic/automatic/pistol/m45a5/examine_more(mob/user)
+ . = ..()
+
+ . += "This Design was made by Romulus Technology for \
+ usage during the start of the NRI-Sol Border war. \
+ Following the embargo and trade restriction \
+ making it impossible for Romulus Federation to source weapory, \
+ with this design being rapidly pushed out, being made from an advanced sol design \
+ this pistol seems rather unassuming but it has been, itself, the new symbol of peace \
+ Leaving NRI weapon in the past, as it now became the symbol of the oppressive era of Romulus\
+ To whom it may concerns, These weapon were mostly used by the new Romulus National Army,\
+ it was a symbol of struggle and freedom \
+ Weapons cannot bring people back, but it can save your life."
+
+ return .
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/poster.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/poster.dm
new file mode 100644
index 00000000000..a89b9f6c81b
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/poster.dm
@@ -0,0 +1,36 @@
+/obj/structure/sign/poster/official/idmarecruit
+ name = "Romulus Federation Marine Corp - Enlist Today"
+ desc = "This poster depicts a RomFed Marine in their full gear. It is printed on some sort of space resistant paper."
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/poster.dmi'
+ icon_state = "idmarecruit"
+
+/obj/structure/sign/poster/official/idmarecruit/examine_more(mob/user)
+ . = ..()
+
+ . += "Join the Romulus Federation Marine Corp Today! \
+ Service will ensure welfare, long term position as security consultant in many company \
+ And even opportunity to join Sol Galactic Peacekeeping Program \
+ What are you waiting for!?"
+
+ return .
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/official/idmarecruit, 32)
+
+/obj/structure/sign/poster/official/flech_rifle
+ name = "Weapon of the Future"
+ desc = "This poster depicts the CMG-1, a standard issue rifle in the RomFed Military. \
+ It claims that this rifle can defeat any body armour currently available, sounds utterlry insane right?"
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/poster.dmi'
+ icon_state = "cmg1"
+
+/obj/structure/sign/poster/official/flech_rifle/examine_more(mob/user)
+ . = ..()
+
+ . += "Small text details that certain types of magazines may not be available in your \
+ region depending on local weapons regulations. Suspiciously, however, if you squint at \
+ it a bit, the background colors of the image come together vaguely in the shape of \
+ a computer board and a multitool. What did they mean by this?"
+
+ return .
+
+MAPPING_DIRECTIONAL_HELPERS(/obj/structure/sign/poster/official/carwo_magazine, 32)
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/rifle.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/rifle.dm
new file mode 100644
index 00000000000..10e63c044f8
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/rifle.dm
@@ -0,0 +1,245 @@
+//Sprite for these guns are modified from the carwil/carwo rifle, they're a pallet swap with very small modification
+//Main Rifle
+/obj/item/gun/ballistic/automatic/rom_carbine
+ name = "\improper RomTech Carbine"
+ desc = "An unusual variation of the Carwo-Carwil Battle rifle fielded as service rifle in Romulus Federation, preferred by some law enforcement agency for the compact nature. Accepts any standard .40 SolFed rifle magazine."
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun48x32.dmi'
+ icon_state = "carbine"
+
+ worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi'
+ worn_icon_state = "carbine"
+
+ lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi'
+ righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi'
+ inhand_icon_state = "carbine"
+
+ bolt_type = BOLT_TYPE_LOCKING
+
+ special_mags = TRUE
+
+ w_class = WEIGHT_CLASS_BULKY
+ weapon_weight = WEAPON_HEAVY
+ slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
+
+ burst_size = 1
+ fire_delay = 3
+
+ spread = 7
+ projectile_wound_bonus = -35
+
+ accepted_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle
+ spawn_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle/standard
+
+ actions_types = list()
+
+/obj/item/gun/ballistic/automatic/rom_carbine/Initialize(mapload)
+ . = ..()
+ give_autofire()
+
+/obj/item/gun/ballistic/automatic/rom_carbine/proc/give_autofire()
+ AddComponent(/datum/component/automatic_fire, fire_delay)
+
+/obj/item/gun/ballistic/automatic/rom_carbine/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
+
+/obj/item/gun/ballistic/automatic/rom_carbine/examine(mob/user)
+ . = ..()
+ . += span_notice("You can examine closer to learn a little more about this weapon.")
+
+/obj/item/gun/ballistic/automatic/rom_carbine/examine_more(mob/user)
+ . = ..()
+
+ . += "This Design was made by Romulus Technology for \
+ usage during the start of the NRI-Sol Border war. \
+ Following the embargo and trade restriction \
+ making it impossible for Romulus Federation to source weapory, \
+ with this design being rapidly pushed out, being made from converted rifle making it easier to acquire, \
+ this rifle seems rather unassuming but it has been, itself, the new symbol of peace \
+ Leaving NRI weapon in the past, as it now became the symbol of the oppressive era of Romulus\
+ To whom it may concerns, These weapon were mostly used by the new Romulus National Army,\
+ it was a symbol of struggle and freedom \
+ Weapons cannot bring people back, but it can save your life."
+
+ return .
+
+//Bolt Action Rifle
+/obj/item/gun/ballistic/rifle/carwil
+ name = "\improper RomTech Ceremonial Rifle"
+ desc = "A boltaction ceremonial rifle, chambered in Sol .40 Rifle While technically outdated in modern arms markets, it still used by recreational hunter \
+ as rifle of this kind are much more controllable. Famously used by the royal guard of Romulus Federation."
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun48x32.dmi'
+ icon_state = "elite"
+
+ worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi'
+ worn_icon_state = "carbine"
+
+ lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi'
+ righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi'
+ inhand_icon_state = "carbine"
+ inhand_x_dimension = 32
+ inhand_y_dimension = 32
+ weapon_weight = WEAPON_HEAVY
+ fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/rifle_heavy.ogg'
+ suppressed_sound = 'modular_skyrat/modules/modular_weapons/sounds/suppressed_rifle.ogg'
+ fire_sound_volume = 90
+ load_sound = 'sound/weapons/gun/sniper/mag_insert.ogg'
+ rack_sound = 'sound/weapons/gun/sniper/rack.ogg'
+ recoil = 2
+ accepted_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle
+ spawn_magazine_type = /obj/item/ammo_box/magazine/c40sol_rifle
+ internal_magazine = FALSE
+ w_class = WEIGHT_CLASS_BULKY
+ slot_flags = ITEM_SLOT_BACK
+ mag_display = TRUE
+ tac_reloads = TRUE
+ rack_delay = 1.5 SECONDS
+ can_suppress = TRUE
+ can_unsuppress = TRUE
+ special_mags = TRUE
+
+/obj/item/gun/ballistic/rifle/carwil/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
+
+/obj/item/gun/ballistic/rifle/carwil/empty
+ spawnwithmagazine = FALSE
+
+/obj/item/storage/toolbox/guncase/skyrat/ceremonial_rifle
+ name = "Sporting Rifle Case"
+ weapon_to_spawn = /obj/item/gun/ballistic/rifle/carwil/empty
+ extra_to_spawn = /obj/item/ammo_box/magazine/c40sol_rifle/starts_empty
+
+/obj/item/storage/toolbox/guncase/skyrat/ceremonial_rifle/PopulateContents()
+ new weapon_to_spawn (src)
+
+ generate_items_inside(list(
+ /obj/item/ammo_box/c40sol/fragmentation = 1,
+ /obj/item/ammo_box/c40sol = 1,
+ ), src)
+
+//Flechette Rifle
+//This Replace The Battle Rifle, handle with care please
+//This is based on the old CMG Code from Hatterhat when he made it foldable, Dragonfruit made the sprite sometime ago and I'm using it as it's easier than remaking new sprite from the ground up
+
+/obj/item/gun/ballistic/automatic/rom_flech
+ name = "\improper RomTech CMG-1 Rifle"
+ desc = "The Compact Machinegun-1 is an automatic rifle fielded by the Romulus Expeditionary Force, chambered in an experimental flechette cartridge capable of defeating all type of conventional body armour. Has a folding stock"
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun40x32.dmi'
+ icon_state = "cmg1"
+ worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_worn.dmi'
+ worn_icon_state = "infanterie_evil"
+//placeeholder, I had to do this in a crunch hour.. sorry! - Kali
+ lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_lefthand.dmi'
+ righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_righthand.dmi'
+ inhand_icon_state = "infanterie_evil"
+ bolt_type = BOLT_TYPE_LOCKING
+ mag_display = TRUE
+ mag_display_ammo = TRUE
+ empty_indicator = TRUE
+ w_class = WEIGHT_CLASS_BULKY
+ weapon_weight = WEAPON_HEAVY
+ slot_flags = ITEM_SLOT_BACK | ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
+ selector_switch_icon = TRUE
+ burst_size = 2
+ fire_delay = 2
+ spread = 5
+ pin = /obj/item/firing_pin/alert_level
+
+ accepted_magazine_type = /obj/item/ammo_box/magazine/caflechette
+ spawn_magazine_type = /obj/item/ammo_box/magazine/caflechette
+ var/folding_sound = 'sound/weapons/batonextend.ogg'
+ /// is our stock collapsed?
+ var/folded = FALSE
+ /// how long does it take to extend/collapse the stock
+ var/toggle_time = 1 SECONDS
+ /// what's our spread with our extended stock (mild varedit compatibility I Guess)?
+ var/unfolded_spread = 5
+ /// what's our spread with a folded stock (see above comment)?
+ var/folded_spread = 20
+
+/obj/item/gun/ballistic/automatic/rom_flech/examine(mob/user)
+ . = ..()
+ . += span_notice("Alt-click to [folded ? "extend" : "collapse"] the stock.")
+
+/obj/item/gun/ballistic/automatic/rom_flech/click_alt(mob/user)
+ if(!user.is_holding(src))
+ return
+ if(item_flags & IN_STORAGE)
+ return
+ toggle_stock(user)
+
+/obj/item/gun/ballistic/automatic/rom_flech/proc/toggle_stock(mob/user, var/forced)
+ if(!user && forced)
+ folded = !folded
+ update_fold_stats()
+ return
+ balloon_alert(user, "[folded ? "extending" : "collapsing"] stock...")
+ if(!do_after(user, toggle_time))
+ balloon_alert(user, "interrupted!")
+ return
+ folded = !folded
+ update_fold_stats()
+ balloon_alert(user, "stock [folded ? "collapsed" : "extended"]")
+ playsound(src.loc, folding_sound, 30, 1)
+
+/obj/item/gun/ballistic/automatic/rom_flech/proc/update_fold_stats()
+ if(folded)
+ spread = folded_spread
+ else
+ spread = unfolded_spread
+ update_icon()
+
+/obj/item/gun/ballistic/automatic/rom_flech/update_overlays()
+ . = ..()
+ . += "[icon_state]-stock[folded ? "_in" : "_out"]"
+
+/obj/item/gun/ballistic/automatic/rom_flech/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
+
+/obj/item/gun/ballistic/automatic/rom_flech/empty
+ spawnwithmagazine = FALSE
+
+/obj/item/storage/toolbox/guncase/skyrat/rom_flech
+ name = "CMG-1 Rifle Case"
+ weapon_to_spawn = /obj/item/gun/ballistic/automatic/rom_flech/empty
+
+/obj/item/storage/toolbox/guncase/skyrat/rom_flech/PopulateContents()
+ new weapon_to_spawn (src)
+
+ generate_items_inside(list(
+ /obj/item/ammo_box/magazine/caflechette = 2,
+ /obj/item/ammo_box/magazine/caflechette/ballpoint = 3,
+ ), src)
+
+/obj/item/gun/ballistic/automatic/rom_flech/blueshield
+ name = "\improper RomTech CMG-2C Rifle"
+ desc = "The Compact Machinegun-2 Commando is an automatic rifle used by Romulus Executive Protection Service, modified to be one handed for usage with shield."
+ icon_state = "cmg2"
+ worn_icon = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_worn.dmi'
+ worn_icon_state = "infanterie_evil"
+ lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_lefthand.dmi'
+ righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/carwo_defense_systems/guns_righthand.dmi'
+ inhand_icon_state = "infanterie_evil"
+ bolt_type = BOLT_TYPE_LOCKING
+ w_class = WEIGHT_CLASS_BULKY
+ weapon_weight = WEAPON_LIGHT
+ burst_size = 3
+ spread = 0
+ pin = /obj/item/firing_pin
+ unfolded_spread = 0
+ folded_spread = 7
+
+/obj/item/gun/ballistic/automatic/rom_flech/blueshield/empty
+ spawnwithmagazine = FALSE
+
+/obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg
+ name = "CMG-2C Rifle Case"
+ weapon_to_spawn = /obj/item/gun/ballistic/automatic/rom_flech/blueshield/empty
+
+/obj/item/storage/toolbox/guncase/skyrat/blueshield_cmg/PopulateContents()
+ new weapon_to_spawn (src)
+
+ generate_items_inside(list(
+ /obj/item/ammo_box/magazine/caflechette = 2,
+ /obj/item/ammo_box/magazine/caflechette/ripper = 2,
+ ), src)
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/smg.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/smg.dm
new file mode 100644
index 00000000000..6c65d7b7c2b
--- /dev/null
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/romulus_technology/smg.dm
@@ -0,0 +1,49 @@
+//While I could also just, make it a subtype, I prefer to keep it seperate incase I need to switch later
+
+/obj/item/gun/ballistic/automatic/rom_smg
+ name = "\improper RomTech Submachine gun"
+ desc = "A horrible conversion kit of the sindano only seen in usage by PMC and in Romulus Police Force. Accepts any standard Sol pistol magazine."
+
+ icon = 'modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun40x32.dmi'
+ icon_state = "gelato"
+
+ lefthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi'
+ righthand_file = 'modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi'
+ inhand_icon_state = "gelato"
+
+ special_mags = TRUE
+
+ bolt_type = BOLT_TYPE_OPEN
+
+ w_class = WEIGHT_CLASS_BULKY
+ weapon_weight = WEAPON_MEDIUM
+ slot_flags = ITEM_SLOT_SUITSTORE | ITEM_SLOT_BELT
+
+ accepted_magazine_type = /obj/item/ammo_box/magazine/c35sol_pistol
+ spawn_magazine_type = /obj/item/ammo_box/magazine/c35sol_pistol/stendo
+
+ fire_sound = 'modular_skyrat/modules/modular_weapons/sounds/smg_light.ogg'
+ can_suppress = TRUE
+
+ suppressor_x_offset = 11
+
+ burst_size = 1
+ fire_delay = 2
+
+ spread = 4
+
+ actions_types = list()
+
+/obj/item/gun/ballistic/automatic/rom_smg/Initialize(mapload)
+ . = ..()
+
+ give_autofire()
+
+/// Separate proc for handling auto fire just because one of these subtypes isn't otomatica
+/obj/item/gun/ballistic/automatic/rom_smg/proc/give_autofire()
+ AddComponent(/datum/component/automatic_fire, fire_delay)
+
+/obj/item/gun/ballistic/automatic/rom_smg/give_manufacturer_examine()
+ AddElement(/datum/element/manufacturer_examine, COMPANY_ROMTECH)
+
+//Does not have additional examine text.. Yet
diff --git a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/trappiste_fabriek/gunsets.dm b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/trappiste_fabriek/gunsets.dm
index 8343254013d..b738e37d284 100644
--- a/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/trappiste_fabriek/gunsets.dm
+++ b/modular_skyrat/modules/modular_weapons/code/company_and_or_faction_based/trappiste_fabriek/gunsets.dm
@@ -23,7 +23,7 @@
name = "Trappiste 'Wespe' gunset"
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/sol/no_mag
- extra_to_spawn = /obj/item/ammo_box/magazine/c35sol_pistol
+ extra_to_spawn = /obj/item/ammo_box/magazine/c35sol_pistol/starts_empty
/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/eland
name = "Trappiste 'Eland' gunset"
diff --git a/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi b/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi
new file mode 100644
index 00000000000..20739690251
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_lefthand.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi b/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi
new file mode 100644
index 00000000000..2b6faba5850
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_righthand.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi b/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi
new file mode 100644
index 00000000000..f1b1dc9e8a2
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/mob/company_and_or_faction_based/romulus_technology/guns_worn.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi
new file mode 100644
index 00000000000..2365a3bb0bb
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/nanotrasen_system_inc/pistol.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi
new file mode 100644
index 00000000000..428f0307cf0
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/ammo.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun32x32.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun32x32.dmi
new file mode 100644
index 00000000000..647ab9d3210
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun32x32.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun40x32.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun40x32.dmi
new file mode 100644
index 00000000000..c8a6b16215c
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun40x32.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun48x32.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun48x32.dmi
new file mode 100644
index 00000000000..a5da1a182b5
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/gun48x32.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/pistol.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/pistol.dmi
new file mode 100644
index 00000000000..9dad449273e
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/pistol.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/poster.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/poster.dmi
new file mode 100644
index 00000000000..510fbbe82c6
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/poster.dmi differ
diff --git a/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/revolver.dmi b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/revolver.dmi
new file mode 100644
index 00000000000..24165f88a84
Binary files /dev/null and b/modular_skyrat/modules/modular_weapons/icons/obj/company_and_or_faction_based/romulus_technology/revolver.dmi differ
diff --git a/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm b/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm
index ed3c60ed7b0..0dbfcba8baf 100644
--- a/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm
+++ b/modular_skyrat/modules/nanotrasen_rep/code/nanotrasen_consultant.dm
@@ -55,6 +55,7 @@
backpack_contents = list(
/obj/item/melee/baton/telescopic = 1,
/obj/item/choice_beacon/ntc = 1,
+ /obj/item/gun/energy/e_gun/mini = 1,
)
skillchips = list(/obj/item/skillchip/disk_verifier)
@@ -151,20 +152,4 @@
new /obj/item/storage/photo_album/personal(src)
new /obj/item/bedsheet/centcom(src)
new /obj/item/storage/bag/garment/nanotrasen_consultant(src)
-
-//Choice Beacon, I hope in the future they're going to be given proper unique gun but this will do.
-
-
-/obj/item/choice_beacon/ntc
- name = "gunset beacon"
- desc = "A single use beacon to deliver a gunset of your choice. Please only call this in your office"
- company_source = "Trappiste Fabriek Company"
- company_message = span_bold("Supply Pod incoming please stand by")
-
-/obj/item/choice_beacon/ntc/generate_display_names()
- var/static/list/selectable_gun_types = list(
- "Takbok" = /obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/takbok,
- "Skild" = /obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/skild,
- )
-
- return selectable_gun_types
+ new /obj/item/choice_beacon/station_magistrate(src)
diff --git a/modular_skyrat/modules/sec_haul/code/guns/bullets.dm b/modular_skyrat/modules/sec_haul/code/guns/bullets.dm
index d342340466f..8c15871e964 100644
--- a/modular_skyrat/modules/sec_haul/code/guns/bullets.dm
+++ b/modular_skyrat/modules/sec_haul/code/guns/bullets.dm
@@ -54,16 +54,18 @@
/obj/projectile/bullet/c9mm/rubber
name = "9x25mm rubber bullet"
icon_state = "pellet"
- damage = 5
- stamina = 25
+ damage = 18
+ stamina = 32
ricochets_max = 6
ricochet_incidence_leeway = 0
- ricochet_chance = 130
+ ricochet_chance = 180
ricochet_decay_damage = 0.8
shrapnel_type = null
sharpness = NONE
embed_type = null
+/obj/projectile/bullet/c9mm
+ damage = 25
/*
* 10mm Auto
*/
@@ -90,10 +92,13 @@
projectile_type = /obj/projectile/bullet/c10mm/rubber
harmful = FALSE
+/obj/projectile/bullet/c10mm
+ damage = 30
+
/obj/projectile/bullet/c10mm/rubber
name = "10mm rubber bullet"
damage = 10
- stamina = 35
+ stamina = 40
ricochets_max = 6
ricochet_incidence_leeway = 0
ricochet_chance = 130
@@ -123,3 +128,45 @@
pain_mult = 5
jostle_pain_mult = 6
rip_time = 1 SECONDS
+
+// .38 Detective Bullets Override
+
+/obj/projectile/bullet/c38
+ name = ".38 bullet"
+ damage = 30
+
+/obj/projectile/bullet/c38/match/bouncy
+ name = ".38 Rubber bullet"
+ damage = 15
+ stamina = 35
+ weak_against_armour = TRUE
+ ricochets_max = 6
+ ricochet_incidence_leeway = 0
+ ricochet_chance = 130
+ ricochet_decay_damage = 0.8
+ shrapnel_type = null
+ sharpness = NONE
+ embed_data = null
+
+// premium .38 ammo from cargo, weak against armor, lower base damage, but excellent at embedding and causing slice wounds at close range
+/obj/projectile/bullet/c38/dumdum
+ name = ".38 DumDum bullet"
+ damage = 20
+ weak_against_armour = TRUE
+ ricochets_max = 0
+ sharpness = SHARP_EDGED
+ wound_bonus = 35
+ bare_wound_bonus = 30
+ embed_type = /datum/embed_data/dumdum
+ wound_falloff_tile = -8
+ embed_falloff_tile = -20
+
+/datum/embed_data/dumdum
+ embed_chance = 90
+ fall_chance = 3
+ jostle_chance = 4
+ ignore_throwspeed_threshold = TRUE
+ pain_stam_pct = 0.4
+ pain_mult = 5
+ jostle_pain_mult = 6
+ rip_time = 1 SECONDS
diff --git a/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm b/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm
index 97c006240a5..66c5dbbf9d8 100644
--- a/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm
+++ b/modular_skyrat/modules/sec_haul/code/guns/cargo_stuff.dm
@@ -1,10 +1,173 @@
+//SKYRAT AND SOL AMMO
+
+/datum/supply_pack/security/lethalsolpistols
+ name = ".35 Ammunition Crates"
+ desc = "Contains 6 boxes of lethal ammunition for Sol .35 Pistol."
+ cost = CARGO_CRATE_VALUE * 10
+ contains = list(/obj/item/ammo_box/c35sol= 3,
+ /obj/item/ammo_box/c35sol/ripper = 3,
+ )
+ crate_name = ".35 ammo crate"
+
+/datum/supply_pack/security/lethalsolrifles
+ name = ".40 Ammunition Crates"
+ desc = "Contains 6 boxes of lethal ammunition for Sol .40 Rifle."
+ cost = CARGO_CRATE_VALUE * 10
+ contains = list(/obj/item/ammo_box/c40sol= 4,
+ /obj/item/ammo_box/c40sol/pierce = 1,
+ /obj/item/ammo_box/c40sol/incendiary = 1,
+ )
+ crate_name = ".40 ammo crate"
+
+/datum/supply_pack/security/lethalskyratshotgun
+ name = "12 Gauge Ammunition Crates"
+ desc = "Contains 6 boxes of lethal ammunition for all 12 Gauge Shotguns."
+ cost = CARGO_CRATE_VALUE * 8
+ contains = list(/obj/item/ammo_box/advanced/s12gauge/buckshot= 3,
+ /obj/item/ammo_box/advanced/s12gauge = 3,
+ )
+ crate_name = "shotgun ammo crate"
+
+/datum/supply_pack/security/armory/exoticskyratammo
+ name = "12 Gauge Exotic Ammunition Crates"
+ desc = "Contains 6 boxes of exotic ammunition for all 12 Gauge Shotguns."
+ cost = CARGO_CRATE_VALUE * 20
+ contains = list(/obj/item/ammo_box/advanced/s12gauge/incendiary= 1,
+ /obj/item/ammo_box/advanced/s12gauge/flechette = 1,
+ /obj/item/ammo_box/advanced/s12gauge/express = 1,
+ /obj/item/ammo_box/advanced/s12gauge/magnum = 1,
+ /obj/item/ammo_box/advanced/s12gauge/flechette = 1,
+ /obj/item/ammo_box/advanced/s12gauge/antitide = 1,
+ )
+ crate_name = "exotic shotgun ammo crate"
+ contraband = TRUE
+
+/datum/supply_pack/security/antiriotskyratshotgunammo
+ name = "12 Gauge Anti Riot Ammunition Crates"
+ desc = "Contains 6 boxes of anti riot grade ammunition for all 12 Gauge Shotguns."
+ cost = CARGO_CRATE_VALUE * 12
+ contains = list(/obj/item/ammo_box/advanced/s12gauge/bean = 2,
+ /obj/item/ammo_box/advanced/s12gauge/beehive = 2,
+ /obj/item/ammo_box/advanced/s12gauge/rubber = 2,
+ )
+ crate_name = "anti riot shotgun ammo crate"
+
+//SOL GUNS
+
+/datum/supply_pack/security/wespe
+ name = "Wespe Three-Pack Crates"
+ desc = "Contains three case of the .35 sol handgun, magazines included."
+ cost = CARGO_CRATE_VALUE * 12
+ contains = list(/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/wespe = 3,
+ /obj/item/ammo_box/c35sol/incapacitator = 3,
+ )
+ crate_name = "wespe pistols crate"
+
+/datum/supply_pack/security/eland
+ name = "Eland Three-Pack Crates"
+ desc = "Contains three case of the .35 sol revolver, munition boxes included."
+ cost = CARGO_CRATE_VALUE * 12
+ contains = list(/obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/eland = 3,
+ /obj/item/ammo_box/c35sol/incapacitator = 3,
+ )
+ crate_name = "eland pistols crate"
+
+/datum/supply_pack/security/armory/renoster
+ name = "Carwo 'Renoster' Shotgun Crate"
+ desc = "Contains two Carwo 'Renoster' shotguns. Additional ammmo sold separately."
+ cost = CARGO_CRATE_VALUE * 30
+ contains = list(/obj/item/gun/ballistic/shotgun/riot/sol = 2,
+ /obj/item/ammo_box/advanced/s12gauge/buckshot = 2,
+ )
+ crate_name = "Carwo 'Renoster' Shotgun Crate"
+/* commented out until i figure what to do with it
+/datum/supply_pack/security/armory/infanterie
+ name = "Carwil Battle Rifle Crate"
+ desc = "Contains two Carwil Battle Rifles, and two spare each magazines for them."
+ cost = CARGO_CRATE_VALUE * 20
+ contains = list(/obj/item/gun/ballistic/automatic/sol_rifle = 2,
+ /obj/item/ammo_box/magazine/c40sol_rifle = 4,
+ )
+ crate_name = "Carwil Battle Rifle Crate"
+ contraband = TRUE
+*/
+
/datum/supply_pack/security/armory/cmg
+ name = "Romulus Technology CMG Assault Rifle Crate"
+ desc = "Two CMG-1, chambered in experimental steel flechette."
+ cost = CARGO_CRATE_VALUE * 20
+ contains = list(
+ /obj/item/storage/toolbox/guncase/skyrat/rom_flech,
+ /obj/item/storage/toolbox/guncase/skyrat/rom_flech,
+ )
+ crate_name = "RomTech CMG-1 Crate"
+
+/datum/supply_pack/security/armory/sindano
name = "Carwo 'Sindano' Submachinegun Crate"
desc = "Three entirely proprietary Sindano kits, chambered in .35 Sol Short. Each kit contains three empty magazines and a box each of incapacitator and lethal rounds."
cost = CARGO_CRATE_VALUE * 20
contains = list(
- /obj/item/storage/toolbox/guncase/skyrat/carwo_large_case/sindano,
- /obj/item/storage/toolbox/guncase/skyrat/carwo_large_case/sindano,
- /obj/item/storage/toolbox/guncase/skyrat/carwo_large_case/sindano,
+ /obj/item/storage/toolbox/guncase/skyrat/carwo_large_case/sindano = 3,
)
crate_name = "Carwo 'Sindano' Submachinegun Crate"
+
+/datum/supply_pack/security/armory/marksman
+ name = "Carwil Marksman Rifle Crate"
+ desc = "Contains one Carwil Marksman Rifle, as well as 3 spare magazines for it."
+ cost = CARGO_CRATE_VALUE * 12
+ contains = list(/obj/item/gun/ballistic/automatic/sol_rifle/marksman = 1,
+ /obj/item/ammo_box/magazine/c40sol_rifle = 3,
+ )
+ crate_name = "Carwil Marksman Rifle Crate"
+
+/datum/supply_pack/security/armory/rom_ceremonial_rifle
+ name = "Romulus Ceremonial Bolt Action Rifle Crate"
+ desc = "Contains Three Ceremonial Bolt Action Rifle in .40 , as well as ammo for it."
+ cost = CARGO_CRATE_VALUE * 12
+ contains = list(/obj/item/storage/toolbox/guncase/skyrat/ceremonial_rifle = 1,
+ )
+ crate_name = "Romulus Ceremonial Rifle Crate"
+
+/datum/supply_pack/security/ammo
+ contains = list(/obj/item/ammo_box/advanced/s12gauge/bean = 3,
+ /obj/item/ammo_box/advanced/s12gauge/rubber = 3,
+ /obj/item/ammo_box/c38/trac,
+ /obj/item/ammo_box/c38/hotshot,
+ /obj/item/ammo_box/c38/iceblox,
+ )
+ special = FALSE
+//This makes the Security ammo crate use the cool advanced ammo boxes instead of the old ones
+
+/datum/supply_pack/security/armory/kiboko
+ name = "Kiboko Grenade Launcher Crate"
+ cost = CARGO_CRATE_VALUE * 30
+ desc = "Contains a Kiboko 25mm grenade launchers. A small dial on the sight allows you to set the length of the grenade fuse."
+ contains = list(
+ /obj/item/gun/ballistic/automatic/sol_grenade_launcher/no_mag = 1,
+ /obj/item/ammo_box/magazine/c980_grenade/starts_empty = 3
+ )
+ crate_name = "Kiboko Grenade Launcher Crate"
+
+/datum/supply_pack/security/armory/kiboko_riot
+ name = "Kiboko 25mm Riot Pack"
+ cost = CARGO_CRATE_VALUE * 8
+ desc = "Contains three riot grade ammunition box."
+ contains = list(
+ /obj/item/ammo_box/c980grenade/riot = 3,
+ )
+
+/datum/supply_pack/imports/lmg
+ name = "Smuggled Sol Light Machinegun Crate"
+ desc = "(*!&@#GOOD NEWS, OPERATIVE! WE GOT YOU THE BIG LEAGUE AUTOMATIC WEAPONS. BY \
+ SMUGGLING THIS CRATE THROUGH A FEW OUTDATED CUSTOMS CHECKPOINTS, WE'VE THE NEXT BEST THING! \
+ SERVICE AUTORIFLES. DON'T WORRY, THE RUMORS ABOUT THE GUN MELTING YOU ARE JUST THAT! RUMORS! \
+ THESE THINGS WORK FINE! MIGHT BE SLIGHTLY DIRTY.!#@*$"
+ hidden = TRUE
+ cost = CARGO_CRATE_VALUE * 52
+ contains = list(
+ /obj/item/gun/ballistic/automatic/sol_rifle/machinegun = 1,
+ /obj/item/ammo_box/magazine/c40sol_rifle/drum = 2,
+ )
+
+//Goodies
+
diff --git a/modular_skyrat/modules/sec_haul/code/guns/sec_gun_rs.dm b/modular_skyrat/modules/sec_haul/code/guns/sec_gun_rs.dm
new file mode 100644
index 00000000000..a0df65301b1
--- /dev/null
+++ b/modular_skyrat/modules/sec_haul/code/guns/sec_gun_rs.dm
@@ -0,0 +1,33 @@
+//Security Crafting Recipe
+
+/datum/crafting_recipe/sol_rifle_carbine_kit
+ name = "Sol Carbine Conversion"
+ result = /obj/item/gun/ballistic/automatic/rom_carbine
+ reqs = list(
+ /obj/item/gun/ballistic/automatic/sol_rifle = 1,
+ /obj/item/weaponcrafting/gunkit/sol_rifle_carbine_kit = 1,
+ )
+ time = 10 SECONDS
+ category = CAT_WEAPON_RANGED
+
+/datum/crafting_recipe/sol_smg_rapidfire_kit
+ name = "Sol SMG Conversion"
+ result = /obj/item/gun/ballistic/automatic/rom_smg
+ reqs = list(
+ /obj/item/gun/ballistic/automatic/sol_smg = 1,
+ /obj/item/weaponcrafting/gunkit/sol_smg_rapidfire_kit = 1,
+ )
+ time = 10 SECONDS
+ category = CAT_WEAPON_RANGED
+
+/datum/crafting_recipe/sol_bolt_to_rifle
+ name = "Sol Battle Rifle Conversion"
+ result = /obj/item/gun/ballistic/automatic/sol_rifle
+ reqs = list(
+ /obj/item/gun/ballistic/rifle/carwil = 1,
+ /obj/item/weaponcrafting/gunkit/sol_bolt_to_rifle = 1,
+ )
+ time = 10 SECONDS
+ category = CAT_WEAPON_RANGED
+
+//Generic Gun Resource here
diff --git a/modular_skyrat/modules/sec_haul/code/misc/gun_redemption.dm b/modular_skyrat/modules/sec_haul/code/misc/gun_redemption.dm
new file mode 100644
index 00000000000..7405acb815f
--- /dev/null
+++ b/modular_skyrat/modules/sec_haul/code/misc/gun_redemption.dm
@@ -0,0 +1,67 @@
+//Choice Beacon for blueshield, old.
+
+/obj/item/choice_beacon/blueshield
+ name = "blueshield weapon beacon"
+ desc = "A single use beacon to deliver a weapon of your choice. Please only call this in your office"
+ company_source = "Sol Security Solution"
+ company_message = span_bold("Supply Pod incoming please stand by")
+
+/obj/item/choice_beacon/blueshield/generate_display_names()
+ var/static/list/selectable_gun_types = list(
+ "Energy Revolver" = /obj/item/gun/energy/e_gun/blueshield,
+ "Energy Carbine" = /obj/item/gun/energy/e_gun/stun/blueshield,
+ ".585 SMG" = /obj/item/storage/toolbox/guncase/skyrat/xhihao_large_case/bogseo //This can obviously be replaced out with any gun of your choice for future coder
+ )
+
+ return selectable_gun_types
+
+
+//Both of these are defunk but still exist for archival purpose incase someone want to re-visit them later, or as references
+
+
+/obj/item/choice_beacon/ntc
+ name = "gunset beacon"
+ desc = "A single use beacon to deliver a gunset of your choice. Please only call this in your office"
+ company_source = "Trappiste Fabriek Company"
+ company_message = span_bold("Supply Pod incoming please stand by")
+
+/obj/item/choice_beacon/ntc/generate_display_names()
+ var/static/list/selectable_gun_types = list(
+ "Takbok" = /obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/takbok,
+ "Skild" = /obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/skild
+ )
+
+ return selectable_gun_types
+
+//Station Central Command Staff
+
+/obj/item/choice_beacon/station_magistrate
+ name = "nanotrasen dignitaries weapon beacon"
+ desc = "A single use beacon to deliver a weapon of your choice. Please only call this in your office"
+ company_source = "Romulus Armoury"
+ company_message = span_bold("Supply Pod incoming please stand by")
+
+/obj/item/choice_beacon/station_magistrate/generate_display_names()
+ var/static/list/selectable_gun_types = list(
+ "Energy Revolver" = /obj/item/gun/energy/e_gun/blueshield,
+ ".457 Romulus Revolver" = /obj/item/storage/toolbox/guncase/skyrat/hos_revolver,
+ ".460 Rowland Magnum Pistol" = /obj/item/storage/toolbox/guncase/skyrat/m45a5
+ )
+
+ return selectable_gun_types
+
+//Security Sidearm
+
+/obj/item/choice_beacon/security_pistol
+ name = "sidearm weapon beacon"
+ desc = "A single use beacon to deliver a weapon of your choice. Please only call this in your office"
+ company_source = "Romulus Armoury"
+ company_message = span_bold("Supply Pod incoming please stand by")
+
+/obj/item/choice_beacon/security_pistol/generate_display_names()
+ var/static/list/selectable_gun_types = list(
+ "Standard 9x25mm Mk2 Pistol" = /obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_glock,
+ "Police Special 10mm Auto Revolver" = /obj/item/storage/toolbox/guncase/skyrat/pistol/trappiste_small_case/nt_revolver
+ )
+
+ return selectable_gun_types
diff --git a/modular_skyrat/modules/sec_haul/code/misc/packs.dm b/modular_skyrat/modules/sec_haul/code/misc/packs.dm
index d44a4a42901..d2b749c482f 100644
--- a/modular_skyrat/modules/sec_haul/code/misc/packs.dm
+++ b/modular_skyrat/modules/sec_haul/code/misc/packs.dm
@@ -15,3 +15,20 @@
/obj/item/vending_refill/wardrobe/comm_wardrobe,
)
crate_name = "Commandrobe Resupply Crate"
+
+//Goodies..
+
+/datum/supply_pack/goody/m1911
+ name = "Authentic SR Sector M1911"
+ desc = "Old but gold, the m1911 chambered in .460 Ceres. It is sure to give anyone daring to fight you, a second thought."
+ contains = list(/obj/item/storage/toolbox/guncase/skyrat/m1911_gold = 1,
+ )
+ cost = PAYCHECK_COMMAND * 25
+ access_view = ACCESS_WEAPONS
+
+/datum/supply_pack/goody/ceremonial_rifle
+ name = "Romulus Sporting Rifle"
+ desc = "A sporting rifle made of light polymer material chambered in Sol .40, poor recoil handling but quite accurate."
+ contains = list(/obj/item/storage/toolbox/guncase/skyrat/ceremonial_rifle = 1)
+ cost = PAYCHECK_COMMAND * 24
+ access_view = ACCESS_WEAPONS
diff --git a/modular_skyrat/modules/sec_haul/code/misc/vending.dm b/modular_skyrat/modules/sec_haul/code/misc/vending.dm
index fdea431454a..4b6291bf54a 100644
--- a/modular_skyrat/modules/sec_haul/code/misc/vending.dm
+++ b/modular_skyrat/modules/sec_haul/code/misc/vending.dm
@@ -4,23 +4,25 @@
product_ads = "Crack capitalist skulls!;Beat some heads in!;Don't forget - harm is good!;Your weapons are right here.;Handcuffs!;Freeze, scumbag!;Don't tase me bro!;Tase them, bro.;Why not have a donut?"
icon = 'modular_skyrat/modules/sec_haul/icons/vending/vending.dmi'
products = list(
- /obj/item/restraints/handcuffs = 8,
- /obj/item/restraints/handcuffs/cable/zipties = 12,
- /obj/item/grenade/flashbang = 6,
- /obj/item/assembly/flash/handheld = 8,
+ /obj/item/restraints/handcuffs = 18,
+ /obj/item/restraints/handcuffs/cable/zipties = 22,
+ /obj/item/grenade/flashbang = 16,
+ /obj/item/assembly/flash/handheld = 18,
/obj/item/food/donut/plain = 12,
- /obj/item/storage/box/evidence = 6,
- /obj/item/flashlight/seclite = 6,
- /obj/item/restraints/legcuffs/bola/energy = 10,
+ /obj/item/storage/box/evidence = 16,
+ /obj/item/flashlight/seclite = 16,
+ /obj/item/restraints/legcuffs/bola/energy = 20,
/obj/item/clothing/gloves/tackler/security = 5,
+ /obj/item/ammo_box/advanced/s12gauge/bean = 2,
)
contraband = list(
/obj/item/clothing/glasses/sunglasses = 2,
/obj/item/storage/fancy/donut_box = 2,
+ /obj/item/ammo_box/magazine/m9mm = 4,
)
premium = list(
- /obj/item/storage/belt/security/webbing = 5,
- /obj/item/storage/belt/security/webbing/peacekeeper = 5,
+ /obj/item/storage/belt/security/webbing = 10,
+ /obj/item/storage/belt/security/webbing/peacekeeper = 10,
/obj/item/coin/antagtoken = 1,
/obj/item/clothing/head/helmet/blueshirt = 3,
/obj/item/clothing/suit/armor/vest/blueshirt = 3,
@@ -28,6 +30,10 @@
/obj/item/watertank/pepperspray = 2,
/obj/item/storage/belt/holster/energy = 4,
/obj/item/storage/box/holobadge = 1,
+ /obj/item/ammo_box/magazine/m9mm/rubber = 12,
+ /obj/item/ammo_box/magazine/m9mm/ihdf = 12,
+ /obj/item/ammo_box/c10mm/speedloader/rubber = 12,
+ /obj/item/ammo_box/advanced/s12gauge/frangible = 2,
)
/obj/item/vending_refill/security
@@ -66,6 +72,7 @@
/obj/item/clothing/head/hats/warden/police/patrol = 5,
/obj/item/clothing/head/costume/ushanka/sec = 10,
/obj/item/clothing/gloves/color/black/security = 10,
+ /obj/item/clothing/head/helmet/sec/futuristic = 5,
)
premium = list( /obj/item/clothing/under/rank/security/officer/formal = 3,
/obj/item/clothing/suit/jacket/officer/blue = 3,
diff --git a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm
index 4bc97447330..f13945ffd1c 100644
--- a/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm
+++ b/modular_skyrat/modules/sec_haul/code/peacekeeper/peacekeeper_clothing.dm
@@ -36,9 +36,8 @@
desc = "A helmet to protect any officer from bludgeoning attacks, or the occasional bullet."
icon = 'modular_skyrat/master_files/icons/obj/clothing/head/helmet.dmi'
worn_icon = 'modular_skyrat/master_files/icons/mob/clothing/head/helmet.dmi'
- icon_state = "security_helmet_novisor"
- base_icon_state = "security_helmet_novisor"
- actions_types = NONE
+ icon_state = "security_helmet-novisor"
+ base_icon_state = "security_helmet-novisor"
supports_variations_flags = CLOTHING_SNOUTED_VARIATION_NO_NEW_ICON
armor_type = /datum/armor/head_helmet
diff --git a/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm b/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm
new file mode 100644
index 00000000000..72d569b69cb
--- /dev/null
+++ b/modular_skyrat/modules/sec_haul/code/technode/all_nodes.dm
@@ -0,0 +1,85 @@
+// RESEARCH NODES
+//Weaponry Research
+
+/datum/techweb_node/magazineresearch
+ id = "storedmunition_tech"
+ display_name = "Ballisitic Research"
+ description = "In the wake of the NRI Border Conflict, there was a drive to advances our armament, learn how sol does it."
+ prereq_ids = list("exotic_ammo")
+ design_ids = list(
+ "sol40_riflstandardemag",
+ "solgrenade_extmag",
+ "sol35_shortextmag",
+ "ca_flech",
+ "ca_flechmagnesium",
+ "s12g_slug",
+ "s12c_antitide",
+ "s12g_buckshot"
+ )
+ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
+
+/datum/techweb_node/magazineresearch_romfed
+ id = "storedmunition_tech_two"
+ display_name = "Advanced Ballistic Research"
+ description = "Catching up to the modern world in technological advancement, our enemies are everywhere and they are durable."
+ prereq_ids = list("explosives","storedmunition_tech")
+ design_ids = list(
+ "sol_rifle_carbine_gun",
+ "s12g_flechette",
+ "s12g_db"
+ )
+ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS)
+
+/datum/techweb_node/basic_arms/New()
+ design_ids += "sol35_shortmag"
+ design_ids += "c10mm_r"
+ design_ids += "c10mm_rihdf"
+ design_ids += "s12c_fslug"
+
+/datum/techweb_node/magazineresearch_heavy
+ id = "storedmunition_tech_three"
+ display_name = "Romulus Technology"
+ description = "The same technology used in the Sol 2351 Campaign.It is highly classified and resource intensive."
+ prereq_ids = list("syndicate_basic","storedmunition_tech_two")
+ design_ids = list(
+ "sol40_rifldrummag",
+ "m9mm_mag_ext_hp",
+ "m9mm_mag_ext",
+ "m9mm_mag_ext_b",
+ )
+ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS)
+
+/datum/techweb_node/sec_equip/New()
+ design_ids += "m45_mag"
+ design_ids += "s12g_rubber"
+ design_ids += "s12g_bslug"
+ design_ids += "c457_casing"
+ design_ids += "sol40_riflemag"
+ design_ids += "m9mm_mag_rubber"
+ design_ids += "c10mm_rl"
+ . = ..()
+
+/datum/techweb_node/riot_supression/New()
+ design_ids += "s12g_hornet"
+ design_ids += "s12g_br"
+ design_ids += "m9mm_mag_ihdf"
+ design_ids += "ca_flechballpoint"
+ design_ids += "m9mm_mag"
+ . = ..()
+
+/datum/techweb_node/exotic_ammo/New()
+ design_ids += "s12g_incinslug"
+ design_ids += "ca_flechripper"
+ design_ids += "sol_bolt_to_rifle"
+ . = ..()
+
+/datum/techweb_node/syndicate_basic/New()
+ design_ids += "s12g_magnum"
+ design_ids += "s12g_express"
+ design_ids += "s12g_antitide"
+ design_ids += "s12g_ion"
+ . = ..()
+
+/datum/techweb_node/electric_weapons/New()
+ design_ids += "s12g_laser"
+ . = ..()
diff --git a/modular_skyrat/modules/sec_haul/code/technode/conversion_kit.dm b/modular_skyrat/modules/sec_haul/code/technode/conversion_kit.dm
new file mode 100644
index 00000000000..93c67025f5c
--- /dev/null
+++ b/modular_skyrat/modules/sec_haul/code/technode/conversion_kit.dm
@@ -0,0 +1,8 @@
+/obj/item/weaponcrafting/gunkit/sol_rifle_carbine_kit
+ name = "Romulus Carbine Conversion Kit"
+
+/obj/item/weaponcrafting/gunkit/sol_smg_rapidfire_kit
+ name = "Romulus SMG Twin-Burst Conversion Kit"
+
+/obj/item/weaponcrafting/gunkit/sol_bolt_to_rifle
+ name = "Romulus Battle Rifle Conversion Kit"
diff --git a/modular_skyrat/modules/sec_haul/code/technode/sec_research.dm b/modular_skyrat/modules/sec_haul/code/technode/sec_research.dm
new file mode 100644
index 00000000000..c4188520b7a
--- /dev/null
+++ b/modular_skyrat/modules/sec_haul/code/technode/sec_research.dm
@@ -0,0 +1,512 @@
+//Security Technology
+//Sol 35 mag
+
+/datum/design/sol35_mag_pistol
+ name = "Sol .35 Short Pistol Magazine"
+ desc = "A magazine for compatible Sol .35 Short Weaponry."
+ id = "sol35_shortmag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 5)
+ build_path = /obj/item/ammo_box/magazine/c35sol_pistol/starts_empty
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/sol35_mag_ext_pistol
+ name = "Sol .35 Short Extended Pistol Magazine"
+ desc = "An extended capacity magazine for compatible Sol .35 Short Weaponry."
+ id = "sol35_shortextmag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 10)
+ build_path = /obj/item/ammo_box/magazine/c35sol_pistol/stendo/starts_empty
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+// Sol 40 Rifle
+//These use plastic so they are still material costly, but should be not as bad
+
+/datum/design/sol40_mag_rifle
+ name = "Sol .40 Rifle Magazine"
+ desc = "A short Sol .40 Rifle magazine for compatible Weaponry."
+ id = "sol40_riflemag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 5)
+ build_path = /obj/item/ammo_box/magazine/c40sol_rifle/starts_empty
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/sol40_mag_standard_rifle
+ name = "Sol .40 Rifle Standard Magazine"
+ desc = "A regular sized Sol .40 Rifle magazine for compatible Weaponry."
+ id = "sol40_riflstandardemag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 10)
+ build_path = /obj/item/ammo_box/magazine/c40sol_rifle/standard/starts_empty
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/sol40_mag_drum_rifle
+ name = "Sol .40 Rifle Drum Magazine"
+ desc = "A large drum Sol .40 Rifle magazine for compatible Weaponry."
+ id = "sol40_rifldrummag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 40)
+ build_path = /obj/item/ammo_box/magazine/c40sol_rifle/drum/starts_empty
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+//Grenade Launcher stuff
+
+/datum/design/kiboko_mag
+ name = "Kiboko Grenade Magazine"
+ desc = "A standard magazine for compatible grenade launcher."
+ id = "solgrenade_mag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 10)
+ build_path = /obj/item/ammo_box/magazine/c980_grenade/starts_empty
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/kiboko_box_mag
+ name = "Kiboko Grenade Box Magazine"
+ desc = "An extended capacity box magazine for compatible grenade launcher."
+ id = "solgrenade_extmag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 10)
+ build_path = /obj/item/ammo_box/magazine/c980_grenade/drum/starts_empty
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+// 12 Gauge Shell.. Individually.
+// Because People will kill me if they realised the scale of economic
+/datum/design/s12c_fslug
+ name = "Frangible slug(Destructive)"
+ desc = "A 12 gauge slug intended for destroying airlocks"
+ id = "s12c_fslug"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 1, /datum/material/titanium = HALF_SHEET_MATERIAL_AMOUNT)
+ build_path = /obj/item/ammo_casing/shotgun/frangible
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/s12c_antitide
+ name = "12 Gauge Advanced Anti Riot Ammunition Box(Non-Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells. These are less lethal and will embed into target"
+ id = "s12c_antitide"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT, /datum/material/silver = SHEET_MATERIAL_AMOUNT * 2, /datum/material/gold = SHEET_MATERIAL_AMOUNT * 1)
+ build_path = /obj/item/ammo_casing/shotgun/antitide
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+//12 Gauge Ammunition Boxes
+//This shit is a mistake but we embraced it instead of removing it, They all will require plastic to make alongside the iron cost
+//I hate it
+
+/datum/design/advancedgaugeboxes
+ name = "12 Gauge Advanced Buckshot Ammunition Box(Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_buckshot"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 20, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/buckshot
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_slug
+ name = "12 Gauge Advanced Slug Ammunition Box(Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_slug"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 25, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_flech
+ name = "12 Gauge Advanced Flechette Ammunition Box(Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_flechette"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 20, /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 6, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/flechette
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_antitide
+ name = "12 Gauge Advanced Anti Riot Ammunition Box(Non-Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_antitide"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 10, /datum/material/silver = SHEET_MATERIAL_AMOUNT, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/antitide
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_incinslug
+ name = "12 Gauge Advanced Incendiary Slug Ammunition Box(Very Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_incinslug"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 25, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/incendiary
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_hornet
+ name = "12 Gauge Advanced Hornet Ammunition Box(Less-Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_hornet"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 8, /datum/material/silver = SHEET_MATERIAL_AMOUNT, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/beehive
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_magnum
+ name = "12 Gauge Advanced Magnum Ammunition Box(Very Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_magnum"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 35, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/magnum
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_express
+ name = "12 Gauge Advanced Express Ammunition Box(Very Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_express"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 25, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/express
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_beanbagslug
+ name = "12 Gauge Advanced Bean Bag Ammunition Box(Non-Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_bslug"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 10, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/bean
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_rubbershot
+ name = "12 Gauge Advanced Rubber Shot Ammunition Box(Less-Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_rubber"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 10, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/rubber
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_db
+ name = "12 Gauge Advanced Dragons Breath Ammunition Box(Very Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_db"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 20, /datum/material/plasma = SHEET_MATERIAL_AMOUNT * 15 , /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/dragonsbreath
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_breaching
+ name = "12 Gauge Advanced Frangible Slug Ammunition Box(Destructive)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_br"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 20, /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 35 , /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 25)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/frangible
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_laser
+ name = "12 Gauge Advanced Scatter Laser Ammunition Box(Lethal)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_laser"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 15, /datum/material/glass = SMALL_MATERIAL_AMOUNT * 15, /datum/material/gold = SHEET_MATERIAL_AMOUNT * 10)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/laser
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/advancedgaugeboxes_ion
+ name = "12 Gauge Advanced Scatter Laser Ammunition Box(Very Lethal - Silicon)"
+ desc = "A 12 gauge ammunition box for shotgun shells."
+ id = "s12g_ion"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 15, /datum/material/plastic = SMALL_MATERIAL_AMOUNT * 15, /datum/material/gold = SHEET_MATERIAL_AMOUNT * 10)
+ build_path = /obj/item/ammo_box/advanced/s12gauge/scatterion
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+// Misc Gun Stuff
+
+/datum/design/m9mm_mag
+ name = "9x25mm Mk2 Pistol Magazine(Lethal)"
+ desc = "A standard magazine for pistol using 9x25mm Mk2."
+ id = "m9mm_mag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 12)
+ build_path = /obj/item/ammo_box/magazine/m9mm
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/m9mm_mag_rubber
+ name = "9x25mm Mk2 Pistol Magazine(Less-Lethal)"
+ desc = "A standard magazine for pistol using 9x25mm Mk2."
+ id = "m9mm_mag_rubber"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5)
+ build_path = /obj/item/ammo_box/magazine/m9mm/rubber
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/m9mm_mag_ihdf
+ name = "9x25mm Mk2 Pistol Magazine(Non-Lethal)"
+ desc = "A standard magazine for pistol using 9x25mm Mk2."
+ id = "m9mm_mag_ihdf"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 5)
+ build_path = /obj/item/ammo_box/magazine/m9mm/ihdf
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/m9mm_mag_ext
+ name = "9x25mm Mk2 Extended Pistol Magazine(Lethal)"
+ desc = "A standard magazine for pistol using 9x25mm Mk2."
+ id = "m9mm_mag_ext"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 38)
+ build_path = /obj/item/ammo_box/magazine/m9mm/stendo
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/m9mm_mag_ext_rubber
+ name = "9x25mm Mk2 Extended Rubber Pistol Magazine(Less-Lethal)"
+ desc = "A standard magazine for pistol using 9x25mm Mk2."
+ id = "m9mm_mag_ext_b"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 38)
+ build_path = /obj/item/ammo_box/magazine/m9mm/stendo/rubber
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/m9mm_mag_ext_hp
+ name = "9x25mm Mk2 Extended Hollow Point Pistol Magazine(Very Lethal)"
+ desc = "A standard magazine for pistol using 9x25mm Mk2."
+ id = "m9mm_mag_ext_hp"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 38)
+ build_path = /obj/item/ammo_box/magazine/m9mm/stendo/hp
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/m45_mag
+ name = ".460 Ceres Pistol Magazine(Lethal)"
+ desc = "A standard magazine for pistol using .460 Ceres."
+ id = "m45_mag"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5)
+ build_path = /obj/item/ammo_box/magazine/m45
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/casingfor457
+ name = ".457 Government Casing (Very lethal)"
+ desc = "A bullet casing for .457 Government."
+ id = "c457_casing"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 5)
+ build_path = /obj/item/ammo_casing/c457govt
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/c10mm_r
+ name = "10mm Auto Speedloader Rubber (Less lethal)"
+ desc = "A speedloader in 10mm Auto."
+ id = "c10mm_r"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 10, /datum/material/iron = SHEET_MATERIAL_AMOUNT * 15)
+ build_path = /obj/item/ammo_box/c10mm/speedloader/rubber
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/c10mm_rl
+ name = "10mm Auto Speedloader (lethal)"
+ desc = "A speedloader in 10mm Auto."
+ id = "c10mm_rl"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 15)
+ build_path = /obj/item/ammo_box/c10mm/speedloader
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/c10mm_rihdf
+ name = "10mm Auto Speedloader IHDF (non-lethal)"
+ desc = "A speedloader in 10mm Auto."
+ id = "c10mm_rihdf"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 15)
+ build_path = /obj/item/ammo_box/c10mm/speedloader
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+//IDMA Gun Stuff
+/datum/design/caflechette
+ name = "Flechette Rifle Magazine (lethal)"
+ desc = "A magazine for the CMG-1."
+ id = "ca_flech"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 15, /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 15, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 15)
+ build_path = /obj/item/ammo_box/magazine/caflechette
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/caflechette_ripper
+ name = "Flechette Ripper Rifle Magazine (lethal/wounding)"
+ desc = "A magazine for the CMG-1. Very likely to embed and cause further damage"
+ id = "ca_flechripper"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/silver = SHEET_MATERIAL_AMOUNT * 15, /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 15, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 15)
+ build_path = /obj/item/ammo_box/magazine/caflechette/ripper
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/caflechette_magnesium
+ name = "Flechette Magnesium Rod Rifle Magazine (Very Lethal)"
+ desc = "A magazine for the CMG-1. Burns up on impact with target"
+ id = "ca_flechmagnesium"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/plasma = SHEET_MATERIAL_AMOUNT * 15, /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 15, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 15)
+ build_path = /obj/item/ammo_box/magazine/caflechette/magnesium
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+/datum/design/caflechette_ballpoint
+ name = "Flechette Ball Point Rifle Magazine (Less Lethal)"
+ desc = "A magazine for the CMG-1. Great at dispersing kinetic energy on impact with target"
+ id = "ca_flechballpoint"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/titanium = SHEET_MATERIAL_AMOUNT * 15, /datum/material/plastic = SHEET_MATERIAL_AMOUNT * 15)
+ build_path = /obj/item/ammo_box/magazine/caflechette/ballpoint
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_AMMO
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+
+//Conversion Kit
+
+/datum/design/sol_rifle_carbine_kit
+ name = "Sol Carbine Conversion Part Kit(Very Lethal)"
+ desc = "The kit to brutalise your functional battle rifle into a short carbine, ideal for close quarter."
+ id = "sol_rifle_carbine_gun"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/glass =SHEET_MATERIAL_AMOUNT, /datum/material/plastic =SHEET_MATERIAL_AMOUNT * 3.5, /datum/material/titanium =HALF_SHEET_MATERIAL_AMOUNT)
+ build_path = /obj/item/weaponcrafting/gunkit/sol_rifle_carbine_kit
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_KITS
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+ autolathe_exportable = FALSE
+
+/datum/design/sol_smg_rapidfire_kit //this is currently un-balanced, please fix it when convenient
+ name = "Romulus SMG Twin-Burst Conversion Kit(Very Lethal)"
+ desc = "The kit to brutalise your functional submachine gun into a monstrosity that fires in two round-burst at a faster rate."
+ id = "sol_smg_rapidfire_kit"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/glass =SHEET_MATERIAL_AMOUNT, /datum/material/plastic =SHEET_MATERIAL_AMOUNT * 3.5, /datum/material/titanium =HALF_SHEET_MATERIAL_AMOUNT)
+ build_path = /obj/item/weaponcrafting/gunkit/sol_smg_rapidfire_kit
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_KITS
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+ autolathe_exportable = FALSE
+
+/datum/design/sol_bolt_to_rifle
+ name = "Sol Battle rifle Conversion Part Kit(Very Lethal)"
+ desc = "The kit to brutalise your functional bolt action rifle into one suitable for sustained fire."
+ id = "sol_bolt_to_rifle"
+ build_type = PROTOLATHE | AWAY_LATHE
+ materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT * 5, /datum/material/glass =SHEET_MATERIAL_AMOUNT, /datum/material/plastic =SHEET_MATERIAL_AMOUNT * 3.5, /datum/material/titanium =HALF_SHEET_MATERIAL_AMOUNT)
+ build_path = /obj/item/weaponcrafting/gunkit/sol_bolt_to_rifle
+ category = list(
+ RND_CATEGORY_WEAPONS + RND_SUBCATEGORY_WEAPONS_KITS
+ )
+ departmental_flags = DEPARTMENT_BITFLAG_SECURITY
+ autolathe_exportable = FALSE
diff --git a/modular_skyrat/modules/sec_haul/icons/misc/pouches.dmi b/modular_skyrat/modules/sec_haul/icons/misc/pouches.dmi
new file mode 100644
index 00000000000..24b2462e5b3
Binary files /dev/null and b/modular_skyrat/modules/sec_haul/icons/misc/pouches.dmi differ
diff --git a/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm b/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm
index 63011a1e622..25af4d01e77 100644
--- a/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm
+++ b/modular_skyrat/modules/shotgunrebalance/code/ammobox.dm
@@ -7,6 +7,15 @@
max_ammo = 15
multitype = FALSE // if you enable this and set the box's caliber var to CALIBER_SHOTGUN (at time of writing, "shotgun"), then you can have the fabled any-ammo shellbox
+ custom_premium_price = 500
+
+/obj/item/ammo_box/advanced/s12gauge/laser
+ name = "Scatterlaser ammo box"
+ desc = "A box of 15 laser shells. Fires highly lethal laser shell."
+ icon_state = "laser"
+ ammo_type = /obj/item/ammo_casing/shotgun/scatterlaser
+ max_ammo = 15
+
/obj/item/ammo_box/advanced/s12gauge/buckshot
name = "Buckshot ammo box"
desc = "A box of 15 buckshot shells. These have a modest spread of weaker projectiles."
@@ -56,6 +65,13 @@
ammo_type = /obj/item/ammo_casing/shotgun/flechette
max_ammo = 15
+/obj/item/ammo_box/advanced/s12gauge/dragonsbreath
+ name = "Dragons Breathe ammo box"
+ desc = "A box of 15 Dragons Breathe shells. Each shell contains plasma inside to create a massive trailing flame, excel at collateral damage."
+ icon_state = "dragonsbreath"
+ ammo_type = /obj/item/ammo_casing/shotgun/dragonsbreath
+ max_ammo = 15
+
/obj/item/ammo_box/advanced/s12gauge/beehive
name = "Hornet's nest ammo box"
desc = "A box of 15 hornet's nest shells. These are less-lethal shells that will bounce off walls and direct themselves toward nearby targets."
@@ -83,3 +99,31 @@
icon_state = "honk"
ammo_type = /obj/item/ammo_casing/shotgun/honkshot
max_ammo = 35
+
+/obj/item/ammo_box/advanced/s12gauge/frangible
+ name = "Frangible Slug ammo box"
+ desc = "A box of 7 Frangible slug. It's able to punches through windows, airlocks whatever with ease. Less-than-effective against people"
+ icon_state = "fslug"
+ ammo_type = /obj/item/ammo_casing/shotgun/frangible
+ max_ammo = 7
+
+//The one below here has a destruction damage of 200, it two shot most mech, use the one above
+/obj/item/ammo_box/advanced/s12gauge/breaching
+ name = "Breaching Slug ammo box"
+ desc = "A box of 7 Breaching slug. It's able to punches through- quite literally anything with ease."
+ icon_state = "fslug"
+ ammo_type = /obj/item/ammo_casing/shotgun/breacher
+ max_ammo = 7
+
+//This is intended for ERT! Have fun with it
+/obj/item/ammo_box/advanced/s12gauge/pulse
+ name = "Pulse Slug ammo box"
+ desc = "A box of 15 Pulse slug. It's able to punches through structures and anything behind it."
+ icon_state = "pulse"
+ ammo_type = /obj/item/ammo_casing/shotgun/pulseslug
+
+/obj/item/ammo_box/advanced/s12gauge/scatterion
+ name = "Scatter Ion ammo box"
+ desc = "A box of 15 Scatter ion. I hope you have no cybernetic organs."
+ icon_state = "pulse"
+ ammo_type = /obj/item/ammo_casing/shotgun/ion
diff --git a/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm b/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm
index 0ef23660a3a..dcd72718f71 100644
--- a/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm
+++ b/modular_skyrat/modules/shotgunrebalance/code/shotgun.dm
@@ -35,9 +35,14 @@
desc = "A 12 gauge magnesium slug meant for \"setting shit on fire and looking cool while you do it\".\
\
INCENDIARY: Leaves a trail of fire when shot, sets targets aflame."
- advanced_print_req = TRUE
custom_materials = AMMO_MATS_SHOTGUN_PLASMA
+/obj/item/ammo_casing/shotgun/ion
+ custom_materials = AMMO_MATS_SHOTGUN_TIDE
+
+/obj/item/ammo_casing/shotgun/scatterlaser
+ custom_materials = AMMO_MATS_SHOTGUN_TIDE
+
/obj/item/ammo_casing/shotgun/techshell
can_be_printed = FALSE // techshell... casing! so not really usable on its own but if you're gonna make these go raid a seclathe.
@@ -48,7 +53,8 @@
can_be_printed = FALSE // PRELOADED WITH TERROR CHEMS MAYBE LET'S NOT
/obj/item/ammo_casing/shotgun/dragonsbreath
- can_be_printed = FALSE // techshell. assumed intended balance being a pain to assemble
+ advanced_print_req = TRUE
+ custom_materials = AMMO_MATS_SHOTGUN_PLASMA
/obj/item/ammo_casing/shotgun/stunslug
name = "taser slug"
@@ -72,12 +78,6 @@
/obj/item/ammo_casing/shotgun/pulseslug
can_be_printed = FALSE // techshell. assumed intended balance being a pain to assemble
-/obj/item/ammo_casing/shotgun/laserslug
- can_be_printed = FALSE // techshell. assumed intended balance being a pain to assemble
-
-/obj/item/ammo_casing/shotgun/ion
- can_be_printed = FALSE // techshell. assumed intended balance being a pain to assemble
-
/obj/item/ammo_casing/shotgun/incapacitate
name = "hornet's nest shell"
desc = "A 12 gauge shell filled with some kind of material that excels at incapacitating targets. Contains a lot of pellets, \
@@ -124,8 +124,9 @@
/obj/projectile/bullet/pellet/shotgun_buckshot/magnum
name = "magnum blockshot pellet"
- damage = 12
+ damage = 15
wound_bonus = 10
+ weak_against_armour = FALSE
/obj/projectile/bullet/pellet/shotgun_buckshot/magnum/Initialize(mapload)
. = ..()
@@ -142,8 +143,9 @@
/obj/projectile/bullet/pellet/shotgun_buckshot/express
name = "express buckshot pellet"
- damage = 4
- wound_bonus = 0
+ damage = 5.5
+ wound_bonus = 10
+ weak_against_armour = FALSE
/obj/projectile/bullet/pellet/shotgun_buckshot/express/Initialize(mapload)
. = ..()
@@ -151,11 +153,11 @@
/obj/item/ammo_casing/shotgun/flechette
name = "flechette shell"
- desc = "A 12 gauge flechette shell that specializes in ripping unarmored targets apart."
+ desc = "A 12 gauge flechette shell that specializes in ripping armoured targets apart."
icon_state = "fshell"
projectile_type = /obj/projectile/bullet/pellet/shotgun_buckshot/flechette
- pellets = 8 //8 x 6 = 48 Damage Potential
- variance = 25
+ pellets = 5
+ variance = 8
custom_materials = AMMO_MATS_SHOTGUN_FLECH
advanced_print_req = TRUE
@@ -163,10 +165,13 @@
name = "flechette"
icon = 'modular_skyrat/modules/shotgunrebalance/icons/projectiles.dmi'
icon_state = "flechette"
- damage = 6
- wound_bonus = 10
- bare_wound_bonus = 20
+ damage = 10
+ wound_bonus = 5
+ bare_wound_bonus = 10
sharpness = SHARP_EDGED //Did you knew flechettes fly sideways into people
+ weak_against_armour = FALSE
+ damage_falloff_tile = 0
+ armour_penetration = 50
/obj/projectile/bullet/pellet/shotgun_buckshot/flechette/Initialize(mapload)
. = ..()
@@ -191,9 +196,9 @@
icon_state = "hornet"
damage = 4
stamina = 15
- damage_falloff_tile = 0.1
- stamina_falloff_tile = 0.1
- wound_bonus = -5
+ damage_falloff_tile = 1
+ stamina_falloff_tile = 1
+ wound_bonus = 5
bare_wound_bonus = 5
wound_falloff_tile = 0
sharpness = NONE
@@ -204,14 +209,18 @@
ricochet_decay_damage = 1
ricochet_decay_chance = 1
ricochet_incidence_leeway = 0 //nanomachines son
+ homing = TRUE
+ homing_turn_speed = 25
+ homing_inaccuracy_min = 10
+ homing_inaccuracy_max = 80
/obj/item/ammo_casing/shotgun/antitide
name = "stardust shell"
- desc = "A highly experimental shell filled with nanite electrodes that will embed themselves in soft targets. The electrodes are charged from kinetic movement which means moving targets will get punished more."
+ desc = "A highly experimental shell filled with nanite electrodes that will embed themselves in soft targets. The electrodes are charged from kinetic movement which means moving targets will get punished more. it also cannot be reflected by martial art"
icon_state = "lasershell"
projectile_type = /obj/projectile/bullet/pellet/shotgun_buckshot/antitide
- pellets = 8 // 8 * 7 for 56 stamina damage, plus whatever the embedded shells do
- variance = 30
+ pellets = 1
+ variance = 1
harmful = FALSE
fire_sound = 'sound/weapons/taser.ogg'
custom_materials = AMMO_MATS_SHOTGUN_TIDE
@@ -221,33 +230,67 @@
name = "electrode"
icon = 'modular_skyrat/modules/shotgunrebalance/icons/projectiles.dmi'
icon_state = "stardust"
- damage = 2
- stamina = 8
+ damage = 15
+ stamina = 10
damage_falloff_tile = 0.2
stamina_falloff_tile = 0.3
- wound_bonus = 0
- bare_wound_bonus = 0
+ wound_bonus = 15
+ bare_wound_bonus = 15
stutter = 3 SECONDS
jitter = 5 SECONDS
eyeblur = 1 SECONDS
sharpness = NONE
- range = 8
+ range = 12
embed_type = /datum/embed_data/shotgun_buckshot/antitide
+ reflectable = FALSE
/datum/embed_data/shotgun_buckshot/antitide
- embed_chance = 70
- pain_chance = 25
- fall_chance = 15
- jostle_chance = 80
+ embed_chance = 200
+ pain_chance = 90
+ fall_chance = 10
+ jostle_chance = 10
ignore_throwspeed_threshold = TRUE
- pain_stam_pct = 0.9
- pain_mult = 2
+ pain_stam_pct = 1
+ pain_mult = 3
rip_time = 1 SECONDS
/obj/projectile/bullet/pellet/shotgun_buckshot/antitide/on_range()
do_sparks(1, TRUE, src)
..()
+/obj/item/ammo_casing/shotgun/frangible
+ name = "frangible slug"
+ desc = "A weak anti materiel shell intended for dislodging airlock, breaking down barricades and structures. Not effective against people."
+ icon_state = "breacher"
+ projectile_type = /obj/projectile/bullet/frangible_slug
+
+/obj/projectile/bullet/frangible_slug
+ name = "frangible slug"
+ damage = 10 //I'd kill you if you manage to kill someone with this shit
+ wound_bonus = 30
+ bare_wound_bonus = 30
+ demolition_mod = 40
+
+/obj/projectile/bullet/frangible_slug/on_hit(atom/target, blocked = 0, pierce_hit)
+ . = ..()
+ if (!QDELETED(target) && (isturf(target) || isstructure(target)))
+ if(isobj(target))
+ demolition_mod = 200
+ damage = 30
+ else
+ demolition_mod = 40
+ damage = 10
+ if(isobj(target))
+ var/obj/hit_object = target
+ hit_object.take_damage(demolition_mod, BRUTE, BULLET, FALSE)
+ else if(isclosedturf(target))
+ damage = 0
+ demolition_mod = 0
+ if(!isindestructiblewall(target))
+ var/turf/closed/hit_turf = target
+ hit_turf.ScrapeAway()
+ return ..()
+
/obj/item/ammo_casing/shotgun/hunter
name = "hunter slug shell"
desc = "A 12 gauge slug shell that fires specially designed slugs that deal extra damage to the local planetary fauna"
@@ -260,10 +303,7 @@
/obj/projectile/bullet/shotgun_slug/hunter/Initialize(mapload)
. = ..()
- AddElement(/datum/element/bane, mob_biotypes = MOB_BEAST, damage_multiplier = 5)
-
-/obj/projectile/bullet/pellet/shotgun_improvised
- weak_against_armour = TRUE // We will not have Improvised are Better 2.0
+ AddElement(/datum/element/bane, mob_biotypes = MOB_BEAST, damage_multiplier = 6)
/obj/item/ammo_casing/shotgun/honkshot
name = "confetti shell"
@@ -317,3 +357,6 @@
/obj/projectile/bullet/honkshot/on_range()
do_sparks(1, TRUE, src)
return ..()
+
+/obj/item/ammo_casing/shotgun/beanbag
+ harmful = FALSE
diff --git a/modular_skyrat/modules/shotgunrebalance/icons/shotbox.dmi b/modular_skyrat/modules/shotgunrebalance/icons/shotbox.dmi
index 54b191d87c1..41147bd9ab6 100644
Binary files a/modular_skyrat/modules/shotgunrebalance/icons/shotbox.dmi and b/modular_skyrat/modules/shotgunrebalance/icons/shotbox.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 89521b15dc9..fc5f0b97675 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -8071,6 +8071,16 @@
#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\ammo\grenade.dm"
#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\ammo\pistol.dm"
#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\carwo_defense_systems\ammo\rifle.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\nanotrasen_system_inc\alert_pin.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\nanotrasen_system_inc\magazine.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\nanotrasen_system_inc\pistol.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\romulus_technology\magazines.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\romulus_technology\pistol.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\romulus_technology\poster.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\romulus_technology\rifle.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\romulus_technology\smg.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\romulus_technology\ammo\pistol.dm"
+#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\romulus_technology\ammo\rifle.dm"
#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\saibasan\laser_guns.dm"
#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\saibasan\mode_datums.dm"
#include "modular_skyrat\modules\modular_weapons\code\company_and_or_faction_based\saibasan\projectiles.dm"
@@ -8343,15 +8353,20 @@
#include "modular_skyrat\modules\sec_haul\code\guns\armory_spawns.dm"
#include "modular_skyrat\modules\sec_haul\code\guns\bullets.dm"
#include "modular_skyrat\modules\sec_haul\code\guns\cargo_stuff.dm"
+#include "modular_skyrat\modules\sec_haul\code\guns\sec_gun_rs.dm"
#include "modular_skyrat\modules\sec_haul\code\misc\ai_module.dm"
#include "modular_skyrat\modules\sec_haul\code\misc\bullet_drive.dm"
#include "modular_skyrat\modules\sec_haul\code\misc\decals.dm"
+#include "modular_skyrat\modules\sec_haul\code\misc\gun_redemption.dm"
#include "modular_skyrat\modules\sec_haul\code\misc\packs.dm"
#include "modular_skyrat\modules\sec_haul\code\misc\vending.dm"
#include "modular_skyrat\modules\sec_haul\code\peacekeeper\armadyne_clothing.dm"
#include "modular_skyrat\modules\sec_haul\code\peacekeeper\peacekeeper_clothing.dm"
#include "modular_skyrat\modules\sec_haul\code\peacekeeper\peacekeeper_hammer.dm"
#include "modular_skyrat\modules\sec_haul\code\peacekeeper\peacekeeper_lockers.dm"
+#include "modular_skyrat\modules\sec_haul\code\technode\all_nodes.dm"
+#include "modular_skyrat\modules\sec_haul\code\technode\conversion_kit.dm"
+#include "modular_skyrat\modules\sec_haul\code\technode\sec_research.dm"
#include "modular_skyrat\modules\self_actualization_device\code\self_actualization_device.dm"
#include "modular_skyrat\modules\server_overflow\code\chat_link.dm"
#include "modular_skyrat\modules\server_overflow\code\client_procs.dm"