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"