From f09bcd6cdd5ceb0926a3198cdbd26190039725c2 Mon Sep 17 00:00:00 2001 From: Casper3667 <8396443+Casper3667@users.noreply.github.com> Date: Wed, 25 Mar 2026 22:19:47 +0100 Subject: [PATCH] Replaces security disruptors with ballistics and removes all disruptors (#21987) Security officers and the warden each get a .45 pistol loaded with rubbers, and a spare rubber mag in their lockers. The investigator get a new .45 revolver loaded with rubbers, based on the konyang revolver, and a speedloader, also with rubbers. The armory has had .45 speedloaders added to it, but is otherwise untouched. Also the autolathe gets to print .45 speedloaders now for the investigator gun. Practice ammo has been added to the autolathe. The Elyran ERT had their disruptors replaced with plasma pistols. Other non-Horizon disruptors were replaced with lethal .45. Horizon disruptors were replaced with rubber .45. --- aurorastation.dme | 1 - code/datums/outfits/ert/ap_eridani.dm | 10 +-- .../outfits/event/outfit_generic/security.dm | 1 - .../datums/outfits/event/outfit_nanotrasen.dm | 3 +- code/game/jobs/job/event.dm | 2 +- .../objects/items/weapons/storage/belt.dm | 11 ---- code/game/objects/random/loot.dm | 2 - code/game/objects/random/weapon.dm | 1 - .../closets/secure/engineering.dm | 2 +- .../closets/secure/guncabinet.dm | 4 ++ .../crates_lockers/closets/secure/medical.dm | 2 +- .../closets/secure/operations.dm | 2 +- .../closets/secure/scientist.dm | 2 +- .../crates_lockers/closets/secure/security.dm | 11 ++-- .../crates_lockers/crates/gear_loadout.dm | 12 +++- code/modules/cargo/items/weaponry.dm | 13 ---- .../designs/general/designs_ammo.dm | 45 +++++++++++++ .../projectiles/ammunition/ammo_pile.dm | 3 + code/modules/projectiles/ammunition/boxes.dm | 12 ++++ .../projectiles/guns/energy/disruptor.dm | 62 ------------------ .../projectiles/guns/energy/nuclear.dm | 4 +- .../projectiles/guns/projectile/pistol.dm | 3 + .../projectiles/guns/projectile/revolver.dm | 15 +++++ .../modules/projectiles/projectile/bullets.dm | 4 +- code/modules/projectiles/projectile/energy.dm | 35 +++------- html/changelogs/BallisticOnceMore.yml | 12 ++++ .../guns/disruptorpistol/disruptorpistolc.dmi | Bin 998 -> 0 bytes .../guns/disruptorpistol/disruptorpistolm.dmi | Bin 1198 -> 0 bytes .../guns/disruptorpistol/disruptorpistols.dmi | Bin 1033 -> 0 bytes .../zavodskoi_interstellar/sec_revolver.dmi | Bin 0 -> 591 bytes 30 files changed, 136 insertions(+), 138 deletions(-) delete mode 100644 code/modules/projectiles/guns/energy/disruptor.dm create mode 100644 html/changelogs/BallisticOnceMore.yml delete mode 100644 icons/obj/guns/disruptorpistol/disruptorpistolc.dmi delete mode 100644 icons/obj/guns/disruptorpistol/disruptorpistolm.dmi delete mode 100644 icons/obj/guns/disruptorpistol/disruptorpistols.dmi create mode 100644 icons/obj/guns/faction/zavodskoi_interstellar/sec_revolver.dmi diff --git a/aurorastation.dme b/aurorastation.dme index 3e62d8b482e..611dbec244e 100644 --- a/aurorastation.dme +++ b/aurorastation.dme @@ -3408,7 +3408,6 @@ #include "code\modules\projectiles\guns\energy\blaster.dm" #include "code\modules\projectiles\guns\energy\crank.dm" #include "code\modules\projectiles\guns\energy\cult.dm" -#include "code\modules\projectiles\guns\energy\disruptor.dm" #include "code\modules\projectiles\guns\energy\freezeray.dm" #include "code\modules\projectiles\guns\energy\laser.dm" #include "code\modules\projectiles\guns\energy\lawgiver.dm" diff --git a/code/datums/outfits/ert/ap_eridani.dm b/code/datums/outfits/ert/ap_eridani.dm index ce18782c10c..9e57bd77bf8 100644 --- a/code/datums/outfits/ert/ap_eridani.dm +++ b/code/datums/outfits/ert/ap_eridani.dm @@ -96,7 +96,7 @@ belt = /obj/item/storage/belt/medical/paramedic/combat back = /obj/item/storage/backpack/satchel/med accessory = /obj/item/clothing/accessory/holster/thigh - accessory_contents = list(/obj/item/gun/energy/disruptorpistol/magnum = 1) + accessory_contents = list(/obj/item/gun/projectile/plasma/bolter/pistol = 1) r_ear = /obj/item/flashlight/pen l_pocket = /obj/item/healthanalyzer r_pocket = /obj/item/melee/telebaton @@ -112,7 +112,8 @@ /obj/item/clothing/accessory/storage/pouches/black = 1, /obj/item/reagent_containers/glass/bottle/thetamycin = 1, /obj/item/surgery/scalpel/manager = 1, - /obj/item/tank/emergency_oxygen/double = 1 + /obj/item/tank/emergency_oxygen/double = 1, + /obj/item/ammo_magazine/plasma/light/pistol = 2 ) belt_contents = list( @@ -140,7 +141,7 @@ back = /obj/item/storage/backpack/messenger/med belt = /obj/item/storage/belt/medical/paramedic/combat accessory = /obj/item/clothing/accessory/holster/thigh - accessory_contents = list(/obj/item/gun/energy/disruptorpistol/magnum = 1) + accessory_contents = list(/obj/item/gun/projectile/plasma/bolter/pistol = 1) l_pocket = /obj/item/healthanalyzer r_pocket = /obj/item/crowbar l_hand = /obj/item/storage/firstaid/adv @@ -151,7 +152,8 @@ /obj/item/storage/firstaid/combat = 1, /obj/item/clothing/accessory/storage/pouches/black = 1, /obj/item/reagent_containers/glass/bottle/thetamycin = 1, - /obj/item/storage/pill_bottle/mortaphenyl = 1 + /obj/item/storage/pill_bottle/mortaphenyl = 1, + /obj/item/ammo_magazine/plasma/light/pistol = 2 ) belt_contents = list( diff --git a/code/datums/outfits/event/outfit_generic/security.dm b/code/datums/outfits/event/outfit_generic/security.dm index 534c4462e29..16f0d1c71b5 100644 --- a/code/datums/outfits/event/outfit_generic/security.dm +++ b/code/datums/outfits/event/outfit_generic/security.dm @@ -19,7 +19,6 @@ belt = list( /obj/item/storage/belt/security/full, /obj/item/storage/belt/security/full/alt, - /obj/item/storage/belt/security/full/disruptor, /obj/item/storage/belt/security/full/pistol45, ) glasses = list( diff --git a/code/datums/outfits/event/outfit_nanotrasen.dm b/code/datums/outfits/event/outfit_nanotrasen.dm index a6b3927c3b9..9687e79b674 100644 --- a/code/datums/outfits/event/outfit_nanotrasen.dm +++ b/code/datums/outfits/event/outfit_nanotrasen.dm @@ -53,7 +53,8 @@ /obj/item/storage/box/survival/engineer = 1, /obj/item/clothing/head/helmet/swat/peacekeeper = 1, /obj/item/clothing/accessory/holster/hip = 1, - /obj/item/gun/energy/disruptorpistol/magnum = 1 + /obj/item/gun/projectile/sec/wood/lethal = 1, + /obj/item/ammo_magazine/c45m = 2 ) implants = list( diff --git a/code/game/jobs/job/event.dm b/code/game/jobs/job/event.dm index e8c7aec4091..3b4d92e5240 100644 --- a/code/game/jobs/job/event.dm +++ b/code/game/jobs/job/event.dm @@ -37,7 +37,7 @@ accessory_contents = list( /obj/item/gun/projectile/sec = 1 ) - belt = /obj/item/storage/belt/security/full/disruptor + belt = /obj/item/storage/belt/security/full/pistol45 /datum/job/eventmed diff --git a/code/game/objects/items/weapons/storage/belt.dm b/code/game/objects/items/weapons/storage/belt.dm index 158b20de654..7fc03e42a99 100644 --- a/code/game/objects/items/weapons/storage/belt.dm +++ b/code/game/objects/items/weapons/storage/belt.dm @@ -339,7 +339,6 @@ /obj/item/crowbar, /obj/item/gun/projectile/sec, /obj/item/gun/energy/repeater/pistol, - /obj/item/gun/energy/disruptorpistol, /obj/item/taperoll/police, /obj/item/material/knife/trench, /obj/item/shield/energy, @@ -373,16 +372,6 @@ /obj/item/gun/energy/taser = 1, ) -/obj/item/storage/belt/security/full/disruptor - starts_with = list( - /obj/item/melee/baton/loaded = 1, - /obj/item/reagent_containers/spray/pepper = 1, - /obj/item/handcuffs = 2, - /obj/item/flash = 1, - /obj/item/gun/energy/disruptorpistol = 1, - /obj/item/flashlight/flare = 1, - ) - /obj/item/storage/belt/security/full/pistol45 starts_with = list( /obj/item/melee/baton/loaded = 1, diff --git a/code/game/objects/random/loot.dm b/code/game/objects/random/loot.dm index 93c8e4ede21..d2e5a1506cc 100644 --- a/code/game/objects/random/loot.dm +++ b/code/game/objects/random/loot.dm @@ -181,7 +181,6 @@ /obj/item/gun/projectile/automatic/terminator = 0.1, /obj/item/personal_shield = 0.4, /obj/random/safe_rig = 0.4, - /obj/item/gun/energy/disruptorpistol/magnum = 0.3, /obj/item/gun/projectile/shotgun/pump/combat = 0.2, /obj/item/clothing/glasses/thermal = 0.5 ) @@ -238,7 +237,6 @@ /obj/item/clothing/glasses/thermal = 0.3, /obj/item/storage/toolbox/infiltration = 0.3, /obj/random/melee/highvalue = 0.3, - /obj/item/gun/energy/disruptorpistol/magnum = 0.3, /obj/item/gun/projectile/shotgun/pump/combat = 0.2, /obj/item/gun/energy/acp = 0.1, /obj/item/gun/projectile/automatic/terminator = 0.1, diff --git a/code/game/objects/random/weapon.dm b/code/game/objects/random/weapon.dm index 86089ce0de9..a96a719744d 100644 --- a/code/game/objects/random/weapon.dm +++ b/code/game/objects/random/weapon.dm @@ -138,7 +138,6 @@ /obj/item/gun/projectile/revolver/lemat, /obj/item/gun/projectile/tanto, /obj/item/gun/projectile/automatic/x9, - /obj/item/gun/energy/disruptorpistol, /obj/item/gun/energy/retro, /obj/item/gun/projectile/revolver/konyang/pirate ) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm index 1b9a6946380..63f29261487 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/engineering.dm @@ -21,7 +21,7 @@ new /obj/item/flash(src) new /obj/item/taperoll/engineering(src) new /obj/item/rfd/piping(src) - new /obj/item/gun/energy/disruptorpistol/miniature(src) + new /obj/item/gun/projectile/sec(src) new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/gps/engineering(src) new /obj/item/pipewrench(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm index e89d555c8b1..c5fdf3265fc 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/guncabinet.dm @@ -61,6 +61,8 @@ /obj/structure/closet/secure_closet/guncabinet/station/lessthanlethals/fill() for(var/i = 1 to 15) new /obj/item/ammo_magazine/c45m/rubber(src) + for(var/i = 1 to 4) + new /obj/item/ammo_magazine/c45/revolver/rubber(src) for(var/i = 1 to 8) new /obj/item/ammo_magazine/mc9mmt/rubber(src) for(var/i = 1 to 4) @@ -75,6 +77,8 @@ /obj/structure/closet/secure_closet/guncabinet/station/lethals/fill() for(var/i = 1 to 8) new /obj/item/ammo_magazine/c45m(src) + for(var/i = 1 to 4) + new /obj/item/ammo_magazine/c45/revolver(src) for(var/i = 1 to 6) new /obj/item/ammo_magazine/mc9mmt(src) new /obj/item/ammo_magazine/a556/carbine/polymer(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm index 901b0228109..b704c2a1550 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/medical.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/medical.dm @@ -154,7 +154,7 @@ new /obj/item/clothing/accessory/stethoscope(src) new /obj/item/storage/box/fancy/keypouch/med(src) new /obj/item/advanced_healthanalyzer(src) - new /obj/item/gun/energy/disruptorpistol/miniature(src) + new /obj/item/gun/projectile/sec(src) new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/eftpos(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/operations.dm b/code/game/objects/structures/crates_lockers/closets/secure/operations.dm index 5b4a2b7274e..f6bb0c12588 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/operations.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/operations.dm @@ -24,7 +24,7 @@ new /obj/item/orbital_dropper/drill(src) new /obj/item/megaphone/cargo(src) new /obj/item/storage/stickersheet/goldstar(src) - new /obj/item/gun/energy/disruptorpistol/miniature(src) + new /obj/item/gun/projectile/sec(src) new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/storage/belt/utility/full(src) new /obj/item/multitool(src) diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index b5471413c0b..0b4a6dae673 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -42,7 +42,7 @@ new /obj/item/paicard(src) new /obj/item/storage/box/tethers(src) new /obj/item/taperoll/science(src) - new /obj/item/gun/energy/disruptorpistol/miniature(src) + new /obj/item/gun/projectile/sec(src) new /obj/item/clothing/accessory/holster/waist(src) new /obj/item/storage/box/unique/freezer/organcooler/psireceiver(src) new /obj/item/megaphone/sci(src) 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 9f83312bb12..90128e4c4e6 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm @@ -201,7 +201,8 @@ new /obj/item/clothing/glasses/sunglasses/sechud/aviator(src) new /obj/item/clothing/glasses/sunglasses/sechud(src) new /obj/item/taperoll/police(src) - new /obj/item/gun/energy/disruptorpistol(src) + new /obj/item/gun/projectile/sec(src) + new /obj/item/ammo_magazine/c45m/rubber(src) new /obj/item/breath_analyzer(src) //Belts new /obj/item/clothing/accessory/storage/black_vest(src) @@ -269,7 +270,8 @@ new /obj/item/radio/headset/headset_sec/alt(src) new /obj/item/clothing/glasses/sunglasses/sechud/aviator(src) new /obj/item/clothing/glasses/sunglasses/sechud(src) - new /obj/item/gun/energy/disruptorpistol/security(src) + new /obj/item/gun/projectile/sec(src) + new /obj/item/ammo_magazine/c45m/rubber(src) new /obj/item/taperoll/police(src) new /obj/item/hailer(src) new /obj/item/flashlight/flare/glowstick/red(src) @@ -300,7 +302,8 @@ new /obj/item/radio/headset/headset_sec(src) new /obj/item/radio/headset/headset_sec/alt(src) new /obj/item/clothing/suit/armor/carrier/officer(src) - new /obj/item/gun/energy/disruptorpistol/miniature/security(src) + new /obj/item/gun/projectile/revolver/security(src) + new /obj/item/ammo_magazine/c45/revolver/rubber(src) new /obj/item/laser_pointer/blue(src) new /obj/item/camera_film(src) new /obj/item/stamp/investigations(src) @@ -376,7 +379,7 @@ new /obj/item/clothing/head/caphat/bridge_crew/alt(src) new /obj/item/clothing/glasses/sunglasses(src) new /obj/item/clothing/accessory/holster/waist(src) - new /obj/item/gun/energy/disruptorpistol/miniature(src) + new /obj/item/gun/projectile/sec(src) new /obj/item/radio/headset/headset_com(src) new /obj/item/radio/headset/headset_com/alt(src) new /obj/item/radio/off(src) diff --git a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm index ad5d8a61063..e3edbb4c83f 100644 --- a/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm +++ b/code/game/objects/structures/crates_lockers/crates/gear_loadout.dm @@ -108,8 +108,12 @@ new /obj/item/clothing/suit/space/void/cruiser(src) new /obj/item/gun/energy/gun/nuclear(src) new /obj/item/gun/energy/gun/nuclear(src) - new /obj/item/gun/energy/disruptorpistol/magnum(src) - new /obj/item/gun/energy/disruptorpistol/magnum(src) + new /obj/item/gun/projectile/sec/lethal(src) + new /obj/item/gun/projectile/sec/lethal(src) + new /obj/item/ammo_magazine/c45m(src) + new /obj/item/ammo_magazine/c45m(src) + new /obj/item/ammo_magazine/c45m(src) + new /obj/item/ammo_magazine/c45m(src) new /obj/item/gun/energy/net(src) new /obj/item/gun/projectile/automatic/x9(src) new /obj/item/gun/projectile/automatic/x9(src) @@ -124,7 +128,9 @@ new /obj/item/clothing/head/helmet/space/void/cruiser(src) new /obj/item/clothing/suit/space/void/cruiser(src) new /obj/item/gun/energy/gun/nuclear(src) - new /obj/item/gun/energy/disruptorpistol/magnum(src) + new /obj/item/gun/projectile/sec/lethal(src) + new /obj/item/ammo_magazine/c45m(src) + new /obj/item/ammo_magazine/c45m(src) /obj/structure/closet/crate/secure/gear_loadout/elyra/fill() new /obj/item/rig/elyran/equipped(src) diff --git a/code/modules/cargo/items/weaponry.dm b/code/modules/cargo/items/weaponry.dm index fceadb5b833..ee9c6c1044c 100644 --- a/code/modules/cargo/items/weaponry.dm +++ b/code/modules/cargo/items/weaponry.dm @@ -1,18 +1,5 @@ //Weapons// -/singleton/cargo_item/disruptorpistol - category = "weaponry" - name = "disruptor pistol" - supplier = "nanotrasen" - description = "A nanotrasen designed blaster pistol with two settings: stun and lethal." - price = 500 - items = list( - /obj/item/gun/energy/disruptorpistol - ) - access = ACCESS_ARMORY - container_type = "crate" - groupable = TRUE - spawn_amount = 1 /singleton/cargo_item/tasergun category = "weaponry" name = "taser gun" diff --git a/code/modules/fabrication/designs/general/designs_ammo.dm b/code/modules/fabrication/designs/general/designs_ammo.dm index 1ed9713cd49..3e51bac762e 100644 --- a/code/modules/fabrication/designs/general/designs_ammo.dm +++ b/code/modules/fabrication/designs/general/designs_ammo.dm @@ -22,6 +22,7 @@ ABSTRACT_TYPE(/singleton/fabricator_recipe/ammunition) name = "syringe gun cartridge" path = /obj/item/syringe_cartridge +// Shotuns /singleton/fabricator_recipe/ammunition/shotgun name = "shells (blank, shotgun)" path = /obj/item/ammo_pile/shotgun_blanks @@ -48,6 +49,11 @@ ABSTRACT_TYPE(/singleton/fabricator_recipe/ammunition) path = /obj/item/ammo_pile/shotgun_pellet security_level = SEC_LEVEL_RED +/singleton/fabricator_recipe/ammunition/shotgun/practice + name = "shells (buckshot, shotgun)" + path = /obj/item/ammo_pile/shotgun_practice + +// Revolvers /singleton/fabricator_recipe/ammunition/magazine_revolver_1 name = "speed loader (.357)" path = /obj/item/ammo_magazine/a357 @@ -63,6 +69,24 @@ ABSTRACT_TYPE(/singleton/fabricator_recipe/ammunition) path = /obj/item/ammo_magazine/c38 hack_only = TRUE +/singleton/fabricator_recipe/ammunition/revolver_fourty_five + name = "speedloader (.45, revolver)" + path = /obj/item/ammo_magazine/c45/revolver + security_level = SEC_LEVEL_RED + +/singleton/fabricator_recipe/ammunition/revolver_rubber + name = "speedloader (.45, rubber, revolver)" + path = /obj/item/ammo_magazine/c45/revolver/rubber + +/singleton/fabricator_recipe/ammunition/revolver_flash + name = "speedloader (.45, flash, revolver)" + path = /obj/item/ammo_magazine/c45/revolver/flash + +/singleton/fabricator_recipe/ammunition/revolver_practice + name = "speedloader (.45, practice, revolver)" + path = /obj/item/ammo_magazine/c45/revolver/practice + +// .45 pistol /singleton/fabricator_recipe/ammunition/magazine_fourty_five name = "magazine (.45, pistol)" path = /obj/item/ammo_magazine/c45m @@ -76,11 +100,16 @@ ABSTRACT_TYPE(/singleton/fabricator_recipe/ammunition) name = "magazine (.45, flash, pistol)" path = /obj/item/ammo_magazine/c45m/flash +/singleton/fabricator_recipe/ammunition/magazine_practice + name = "magazine (.45, practice, pistol)" + path = /obj/item/ammo_magazine/c45m/practice + /singleton/fabricator_recipe/ammunition/magazine_fourty_five/extended name = "magazine (.45, extended, pistol)" path = /obj/item/ammo_magazine/c45m/stendo security_level = SEC_LEVEL_RED +// .45 other /singleton/fabricator_recipe/ammunition/submachine_mag name = "magazine (.45, submachine gun)" path = /obj/item/ammo_magazine/submachinemag @@ -91,6 +120,7 @@ ABSTRACT_TYPE(/singleton/fabricator_recipe/ammunition) path = /obj/item/ammo_magazine/c45uzi security_level = SEC_LEVEL_RED +// 9mm /singleton/fabricator_recipe/ammunition/magazine_stetchkin name = "magazine (9mm)" path = /obj/item/ammo_magazine/mc9mm @@ -109,11 +139,17 @@ ABSTRACT_TYPE(/singleton/fabricator_recipe/ammunition) name = "magazine (9mm rubber, top mounted, machine pistol)" path = /obj/item/ammo_magazine/mc9mmt/rubber +/singleton/fabricator_recipe/ammunition/magazine_smg_practice + name = "magazine (9mm practice, top mounted, machine pistol)" + path = /obj/item/ammo_magazine/mc9mmt/practice + +// 10mm /singleton/fabricator_recipe/ammunition/magazine_c20r name = "magazine (10mm)" path = /obj/item/ammo_magazine/a10mm hack_only = TRUE +// 5.56mm /singleton/fabricator_recipe/ammunition/magazine_carbine name = "magazine (5.56mm, rifle)" path = /obj/item/ammo_magazine/a556 @@ -134,6 +170,15 @@ ABSTRACT_TYPE(/singleton/fabricator_recipe/ammunition) path = /obj/item/ammo_magazine/a556/carbine/polymer security_level = SEC_LEVEL_RED +/singleton/fabricator_recipe/ammunition/magazine_carbine_practice + name = "magazine (5.56mm, practice, rifle)" + path = /obj/item/ammo_magazine/a556/practice + +/singleton/fabricator_recipe/ammunition/magazine_smallcarbine_practice + name = "magazine (5.56mm, practice, carbine)" + path = /obj/item/ammo_magazine/a556/carbine/practice + +// 7.62mm /singleton/fabricator_recipe/ammunition/magazine_arifle name = "magazine (7.62mm)" path = /obj/item/ammo_magazine/c762 diff --git a/code/modules/projectiles/ammunition/ammo_pile.dm b/code/modules/projectiles/ammunition/ammo_pile.dm index ebdd66e4df3..d0158b1bfcf 100644 --- a/code/modules/projectiles/ammunition/ammo_pile.dm +++ b/code/modules/projectiles/ammunition/ammo_pile.dm @@ -203,5 +203,8 @@ /obj/item/ammo_pile/shotgun_stunshell ammo_type = /obj/item/ammo_casing/shotgun/stunshell +/obj/item/ammo_pile/shotgun_practice + ammo_type = /obj/item/ammo_casing/shotgun/practice + /obj/item/ammo_pile/fourty_five ammo_type = /obj/item/ammo_casing/c45 diff --git a/code/modules/projectiles/ammunition/boxes.dm b/code/modules/projectiles/ammunition/boxes.dm index a761452cf30..6e766fb289e 100644 --- a/code/modules/projectiles/ammunition/boxes.dm +++ b/code/modules/projectiles/ammunition/boxes.dm @@ -58,6 +58,18 @@ If nothing is chosen, reload sounds revert to the default, which is metal_slide_ max_ammo = 6 multiple_sprites = TRUE +/obj/item/ammo_magazine/c45/revolver/rubber + name = "speed loader (.45 rubber)" + ammo_type = /obj/item/ammo_casing/c45/rubber + +/obj/item/ammo_magazine/c45/revolver/flash + name = "speed loader (.45 flash)" + ammo_type = /obj/item/ammo_casing/c45/flash + +/obj/item/ammo_magazine/c45/revolver/practice + name = "speed loader (.45 practice)" + ammo_type = /obj/item/ammo_casing/c45/practice + // End of Revolvos // // Pistols and handguns // diff --git a/code/modules/projectiles/guns/energy/disruptor.dm b/code/modules/projectiles/guns/energy/disruptor.dm deleted file mode 100644 index 59d46e1a2b7..00000000000 --- a/code/modules/projectiles/guns/energy/disruptor.dm +++ /dev/null @@ -1,62 +0,0 @@ -/obj/item/gun/energy/disruptorpistol - name = "disruptor pistol" - desc = "A NanoTrasen designed blaster pistol with two settings: stun and lethal." - desc_extended = "Developed and produced by NanoTrasen for its internal security division, the NT DP-7 is a state of the art blaster pistol capable of firing reduced-power bolts which disrupt the central nervous system, inducing a stunning effect on the victim. It is also capable of firing full-power blaster bolts." - icon = 'icons/obj/guns/disruptorpistol/disruptorpistols.dmi' - icon_state = "disruptorpistol" - item_state = "disruptorpistol" - fire_sound = 'sound/weapons/gunshot/bolter.ogg' - slot_flags = SLOT_BELT|SLOT_HOLSTER - w_class = WEIGHT_CLASS_NORMAL - force = 11 - origin_tech = list(TECH_COMBAT = 3, TECH_MAGNET = 2) - matter = list(DEFAULT_WALL_MATERIAL = 2000) - projectile_type = /obj/projectile/energy/disruptorstun - secondary_projectile_type = /obj/projectile/energy/blaster/disruptor - max_shots = 10 - charge_cost = 150 - accuracy = 1 - has_item_ratio = FALSE - modifystate = "disruptorpistolstun" - sel_mode = 1 - firemodes = list( - list(mode_name="stun", projectile_type=/obj/projectile/energy/disruptorstun, modifystate="disruptorpistolstun", fire_sound = 'sound/weapons/gunshot/bolter.ogg'), - list(mode_name="lethal", projectile_type=/obj/projectile/energy/blaster/disruptor, modifystate="disruptorpistolkill", recoil = 1, fire_sound = 'sound/weapons/gunshot/bolter.ogg') - ) - required_firemode_auth = list(WIRELESS_PIN_STUN, WIRELESS_PIN_LETHAL) - var/selectframecheck = FALSE - -/obj/item/gun/energy/disruptorpistol/practice - name = "practice disruptor pistol" - desc = "A variant of the NT DP-7. It fires less concentrated energy bolts that are visible, but ultimately harmless, designed for target practice." - projectile_type = /obj/projectile/energy/disruptorstun/practice - secondary_projectile_type = /obj/projectile/energy/blaster/disruptor/practice - firemodes = list( - list(mode_name="stun (practice)", projectile_type=/obj/projectile/energy/disruptorstun/practice, modifystate="disruptorpistolstun", fire_sound = 'sound/weapons/gunshot/bolter.ogg'), - list(mode_name="lethal (practice)", projectile_type=/obj/projectile/energy/blaster/disruptor/practice, modifystate="disruptorpistolkill", recoil = 1, fire_sound = 'sound/weapons/gunshot/bolter.ogg') - ) - -/obj/item/gun/energy/disruptorpistol/security - pin = /obj/item/firing_pin/wireless - -/obj/item/gun/energy/disruptorpistol/miniature - name = "miniature disruptor pistol" - desc = "A NanoTrasen designed blaster pistol with two settings: stun and lethal. This is the miniature version." - icon = 'icons/obj/guns/disruptorpistol/disruptorpistolc.dmi' - max_shots = 8 - force = 3 - slot_flags = SLOT_BELT|SLOT_HOLSTER|SLOT_POCKET - w_class = WEIGHT_CLASS_SMALL - -/obj/item/gun/energy/disruptorpistol/miniature/security - pin = /obj/item/firing_pin/wireless - -/obj/item/gun/energy/disruptorpistol/magnum - name = "magnum disruptor pistol" - desc = "A NanoTrasen designed blaster pistol with two settings: stun and lethal. This is the magnum version." - icon = 'icons/obj/guns/disruptorpistol/disruptorpistolm.dmi' - max_shots = 15 - force = 14 - -/obj/item/gun/energy/disruptorpistol/magnum/security - pin = /obj/item/firing_pin/wireless diff --git a/code/modules/projectiles/guns/energy/nuclear.dm b/code/modules/projectiles/guns/energy/nuclear.dm index bd6dd6dcfa4..1cf6d0d9c58 100644 --- a/code/modules/projectiles/guns/energy/nuclear.dm +++ b/code/modules/projectiles/guns/energy/nuclear.dm @@ -344,11 +344,11 @@ ABSTRACT_TYPE(/obj/item/gun/energy/gun/skrell) secondary_projectile_type = /obj/projectile/energy/blaster/skrell secondary_fire_sound = 'sound/weapons/laser3.ogg' can_switch_modes = TRUE - projectile_type = /obj/projectile/energy/disruptorstun/skrell + projectile_type = /obj/projectile/energy/disruptorskrell modifystate = "psipistolstun" firemodes = list( - list(mode_name="stun", projectile_type=/obj/projectile/energy/disruptorstun/skrell, modifystate="psipistolstun", fire_sound='sound/weapons/Taser.ogg'), + list(mode_name="stun", projectile_type=/obj/projectile/energy/disruptorskrell, modifystate="psipistolstun", fire_sound='sound/weapons/Taser.ogg'), list(mode_name="lethal", projectile_type=/obj/projectile/energy/blaster/skrell, modifystate="psipistollethal", fire_sound='sound/weapons/laser3.ogg'), list(mode_name="ion", projectile_type=/obj/projectile/ion/small, modifystate="psipistolion", fire_sound='sound/weapons/laser1.ogg') ) diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm index 1d20f2036c4..3985a3bc1a6 100644 --- a/code/modules/projectiles/guns/projectile/pistol.dm +++ b/code/modules/projectiles/guns/projectile/pistol.dm @@ -138,6 +138,9 @@ else icon_state = "secgunwood-e" +/obj/item/gun/projectile/sec/wood/lethal + magazine_type = /obj/item/ammo_magazine/c45m + /obj/item/gun/projectile/automatic/x9 name = "\improper Mk58-A machine pistol" desc = "A NanoTrasen-designed .45 sidearm, modified for fully-automatic fire. Issued to select security and law enforcement groups." diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm index c0117cc58c0..46e3f7f4ec2 100644 --- a/code/modules/projectiles/guns/projectile/revolver.dm +++ b/code/modules/projectiles/guns/projectile/revolver.dm @@ -341,3 +341,18 @@ ammo_type = /obj/item/ammo_casing/c45/revolver magazine_type = /obj/item/ammo_magazine/c45/revolver max_shells = 6 + +/obj/item/gun/projectile/revolver/security + name = "C45 revolver" + desc = "A Zavodskoi-designed .45 revolver, found among law enforcement and security support personnel." + desc_extended = "The C45 is a .45 chambered revolver designed and manufactured by Zavodskoi Interstellar for use among security forces across the Spur. \ + Compact and minimalist, the C45 is prized for its form factor, low maintenance, and extremely long longevity. \ + Its low capacity sees it used primarily as a trusty back-up for personnel needing protection, but without the volume or firepower of a bulky automatic pistol." + icon = 'icons/obj/guns/faction/zavodskoi_interstellar/sec_revolver.dmi' + icon_state = "sec_revolver" + item_state = "sec_revolver" + w_class = WEIGHT_CLASS_NORMAL + caliber = ".45" + ammo_type = /obj/item/ammo_casing/c45/rubber + magazine_type = /obj/item/ammo_magazine/c45/revolver + max_shells = 6 diff --git a/code/modules/projectiles/projectile/bullets.dm b/code/modules/projectiles/projectile/bullets.dm index e1e28ceda4b..a9dd182dca5 100644 --- a/code/modules/projectiles/projectile/bullets.dm +++ b/code/modules/projectiles/projectile/bullets.dm @@ -205,8 +205,8 @@ /obj/projectile/bullet/pistol/rubber //"rubber" bullets name = "rubber bullet" check_armor = MELEE - damage = 5 - agony = 40 + damage = 3 + agony = 30 embed = 0 /obj/projectile/bullet/pistol/assassin diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm index 6815f7eddc0..cf6d2c969ae 100644 --- a/code/modules/projectiles/projectile/energy.dm +++ b/code/modules/projectiles/projectile/energy.dm @@ -178,36 +178,11 @@ muzzle_type = /obj/effect/projectile/muzzle/bolt impact_effect_type = /obj/effect/temp_visual/blaster_effect -/obj/projectile/energy/blaster/disruptor - damage = 20 - pass_flags = PASSTABLE | PASSRAILING - -/obj/projectile/energy/blaster/disruptor/practice - damage = 5 - damage_type = DAMAGE_PAIN - eyeblur = 0 - /obj/projectile/energy/blaster/skrell // for nralakk fed consular pistol damage = 30 armor_penetration = 5 pass_flags = PASSTABLE | PASSRAILING -/obj/projectile/energy/disruptorstun - name = "disruptor bolt" - icon_state = "bluelaser" - damage = 1 - agony = 40 - speed = 0.4 - damage_type = DAMAGE_BURN - eyeblur = 1 - pass_flags = PASSTABLE | PASSRAILING - muzzle_type = /obj/effect/projectile/muzzle/bolt - -/obj/projectile/energy/disruptorstun/practice - damage = 5 - damage_type = DAMAGE_PAIN - eyeblur = 0 - /obj/projectile/energy/blaster/heavy damage = 35 armor_penetration = 10 @@ -218,5 +193,13 @@ armor_penetration = 60 incinerate = 2 -/obj/projectile/energy/disruptorstun/skrell // for nralakk fed consular pistol +/obj/projectile/energy/disruptorskrell // for nralakk fed consular pistol + name = "disruptor bolt" + icon_state = "bluelaser" + damage = 1 agony = 45 + speed = 0.4 + damage_type = DAMAGE_BURN + eyeblur = 1 + pass_flags = PASSTABLE | PASSRAILING + muzzle_type = /obj/effect/projectile/muzzle/bolt diff --git a/html/changelogs/BallisticOnceMore.yml b/html/changelogs/BallisticOnceMore.yml new file mode 100644 index 00000000000..1c7c25a9009 --- /dev/null +++ b/html/changelogs/BallisticOnceMore.yml @@ -0,0 +1,12 @@ +author: TheGreyWolf + +delete-after: True + +changes: + - rscadd: "Replaces security officers and the wardens disruptors with .45 loaded with rubbers, and a spare rubber mag." + - rscadd: "Replaced investigators disruptor with a .45 revolver loaded with rubbers, and a spare rubber speedloader." + - rscadd: "Added the ability for the autolathe to print .45 speedloaders for the investigators handgun." + - rscadd: "Added .45 revolver speedloaders to the armory." + - rscadd: "Added practice rounds to the autolathe." + - balance: "Reduced the effectiveness of rubber bullets." + - rscdel: "Removed all disruptors, replacing them with ballistics and for the elyran ERT with plasma pistols." diff --git a/icons/obj/guns/disruptorpistol/disruptorpistolc.dmi b/icons/obj/guns/disruptorpistol/disruptorpistolc.dmi deleted file mode 100644 index d0487fea1f2d40e8979865eba0f8553ce7f66095..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 998 zcmV@Gnr!qf=LOneV=-0C=38lf4RqFc5&}fcv8yCFm~oJ?{>WqwY2Tfx|?^UcNMvESbqPK_f!kE z9oj!uUf7ijR}Ssv=H}C7mb!9SuGU$%2hO~`+N@L5&$j0cH)+~Roq6#@%~tBn^MBR) z_HN(j8h%TCOnrP! ze2iV+V5*KVpgy5Kxh6irUZcqKpVbY=dJXII0Hw(DJ(&^zb*R@U@_g?$BmQux*C_LR zwy@>(2A1amK^v5LUiy|?1kb-b9iYhb>VJH!hvzf;0NXr2m6lw@Cmq_r?mWqZGwLT9}tj_}!o(C9)VHk#Cj-oaN{2AX=t=%iw#c5ynt9BWU(gA)mAOhV6^LOPI z;=R7XMZH6)mUh+U`njgQ)AC|kRpAXC{ZsJN^{%=&Vtk^hZ+>l*JB!yeu0NfTc5YU# z8|c^Smrr#dT_wWPFEb3oFbu;m{|>$>`M+!;5Y+&$L<|Q$X!(F{!qxf{4I&(`<;C-5 z7~Rk6w{MxM3S6C^NO$-A0mW;PsDv&u`u=}MrV4O%ej?4yomOwEEbPxz2EV88|4ULh zRoA#WKauA4e17<;j0_Rlfr88rs9N^`hD{iTVHk#Cn7^3=z5~3B&=4YV>KCSu1bZN2 zLxV>&Z-mpwgBw6(XmG0L4H19TCG UqR)`^GXMYp07*qoM6N<$g7)#-1poj5 diff --git a/icons/obj/guns/disruptorpistol/disruptorpistolm.dmi b/icons/obj/guns/disruptorpistol/disruptorpistolm.dmi deleted file mode 100644 index 2bcec3ffb9c47b32420a5969efaf081841d7f580..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1198 zcmV;f1X25mP)?PpJzICDHyV=-0C=38lf4RqFc5&}k2ULmMbm$<3s-(0_p*Dt2fkIXXY7lJ(W9X0{ z;0~UeKp>C~H8fCYepFAAeL9`)TBSX8Xuk&s{GPtMPp3HHea{F101&fkJLH9Ntt740 zw>Eb=o87J(Bzo;t|KZDis_R?4-sJU8hu7(PNWcB&aQEPl4D=FB8}ydfd40(1-2+~y z>ml977;lpwJSs&a9dm$<>_d^ z2)yz%8DM@PC1_Ncd8KLq0D%9B)D5fA40_8UFSF|^(mB?TLh?!r8mGLzYVK`*;>o7e2 z!s>6lzT))vMCXb9{L^sRV4*L<@ck!7f9Cb^KBq4hI!Em1g9uNF&Y?UH@Wg(ei9CO* z^9>?DA4Q&;8l8Vck)MxfsnK<=QR3(KNP!xS?~VBlD9rtxoiix!x4 zYRi?zqU#;51M&3fQ9$($W-ghlg83^|JE_<1qZPq*WOFAA#!xe9&*8*mw&RK#7(+X$ zF)rVNg-r;z{uEpaVRN-G!HQLUK&aYA{|0JF~wA2KIa`Tzg` M07*qoM6N<$g1{a(mH+?% diff --git a/icons/obj/guns/disruptorpistol/disruptorpistols.dmi b/icons/obj/guns/disruptorpistol/disruptorpistols.dmi deleted file mode 100644 index 090ba7bb700b3011bc56282c7d7337e86b1689c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1033 zcmV+k1or!hP)@Gnr!qf=LOneV=-0C=38lf4RqFc5&}2MK412TmsTBU?Bkyd+`wO0m-R| zg+ea|6a@RB+&^|__MI7<))^@JKG3qy?99H|Hi6$e8$u8SDd>a|YcuA|X?OeaC>)J? z{I~a>CN=Lu--iAKc}`xFgT!&OCcpEuI~|b?5njmvDEU4M_hG2Tqzx?$i+kK@f{baodW^~FxRT3!u=h^W! zU7^VH@ljQv^!MjqujvX!o)5*}@NZqA$n#l8V$0P6MV@CJTTWqtGS5c?OHRAsBWJrG zV2=*q4Os05=h61Z?mD6tLS5&<+9bSL^)%#Cksf!F~Wi5ClOGw|YtGL>%V}G}FB_Ue$Vx>Y}&DaR0w#ukn)Uj`IaN zc;kf-^`V01C6V}8cZ?tif*=Tj{P(O(+v-=v^c6xWp~5Sz_?-m zUnKNDG$ofq`(wlYzm(8TP03oEtg-)ZYDy3Uxe@#V$dJm!NovJH00000NkvXXu0mjf DcdYK7 diff --git a/icons/obj/guns/faction/zavodskoi_interstellar/sec_revolver.dmi b/icons/obj/guns/faction/zavodskoi_interstellar/sec_revolver.dmi new file mode 100644 index 0000000000000000000000000000000000000000..db1d6b31e417c3474a5439ea4efb15bdc9d87ad9 GIT binary patch literal 591 zcmV-V0fFDZ*Bkpc$`yKaB_9`^iy#0_2eo`Eh^5;&r`5fFwryM z;w;ZhDainGjE%TBGg33tGfE(w;*!LYR3KBSI5j!GD77p<2dGhri!&v&s2C`0$iNkl>LYFKV0)f!kboA=K=vwjv9n(Lm>Xi7oJR5l_ zl;~^{_wuei`1%0^{xQ*%12F9?pTks|JI=YUL5NwJF4HviHL#h@jFINn*8swDo(pfe zoA4yf++PnX7sm|HC&lWass-yo6^;@SR5C{Y=2f83yw+we& zM?t7gO(rS5&X?#gmXpT3(3D{tUpFJR@Yy6(3j>eeMYZu7kE)KurDr<2s1)W3z-Xs}nL4ssnKY%@U%h1*Ya)2h1MnC8P^A dL>%}Fz5v$6FpuKWL