diff --git a/_maps/RandomRuins/BeachRuins/beach_colony.dmm b/_maps/RandomRuins/BeachRuins/beach_colony.dmm
index 95f9f4baa89c..05a810e004ad 100644
--- a/_maps/RandomRuins/BeachRuins/beach_colony.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_colony.dmm
@@ -383,7 +383,7 @@
},
/area/overmap_encounter/planetoid/beachplanet/explored)
"NG" = (
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{
pixel_x = 13
},
/obj/item/toy/plush/carpplushie{
diff --git a/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm b/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm
index 87df4d5dc092..346458a87daf 100644
--- a/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_crashed_starwalker.dmm
@@ -3374,7 +3374,7 @@
/obj/structure/cable/orange{
icon_state = "2-10"
},
-/obj/item/gun/ballistic/shotgun/lethal,
+/obj/item/gun/ballistic/shotgun/brimstone,
/obj/structure/spacevine,
/turf/open/floor/mineral/plastitanium,
/area/ruin/beach/starwalker)
diff --git a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm
index 588fe99b9792..3b801c086ff3 100644
--- a/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm
+++ b/_maps/RandomRuins/BeachRuins/beach_fishing_hut.dmm
@@ -297,7 +297,7 @@
"mD" = (
/obj/structure/table/wood,
/obj/machinery/light/small/directional/north,
-/obj/item/gun/ballistic/shotgun/winchester,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
/turf/open/floor/wood,
/area/ruin/beach)
"mE" = (
diff --git a/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm b/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm
index 96126bfbaf4e..67613238e83d 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_hydroponics_lab.dmm
@@ -870,7 +870,7 @@
/turf/open/floor/plasteel/tech,
/area/ruin/powered/hydroponicslab)
"oo" = (
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{
pixel_x = 2;
pixel_y = -3
},
@@ -1794,7 +1794,7 @@
/area/ruin/powered/hydroponicslab)
"Mz" = (
/obj/effect/decal/cleanable/blood,
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag,
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag,
/obj/effect/turf_decal/techfloor{
dir = 4
},
diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm
index 06f364c61fea..3f105e83ef81 100644
--- a/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm
+++ b/_maps/RandomRuins/IceRuins/icemoon_underground_hermit.dmm
@@ -56,7 +56,7 @@
/turf/open/floor/wood,
/area/ruin/powered)
"sC" = (
-/obj/item/gun/ballistic/rifle/boltaction,
+/obj/item/gun/ballistic/rifle/illestren,
/obj/structure/table/wood,
/obj/item/flashlight/lantern,
/turf/open/floor/wood,
diff --git a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm
index cca97a317ce2..3876950222a8 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_cavecrew.dmm
@@ -1379,7 +1379,7 @@
/obj/item/gun/ballistic/shotgun/automatic/combat{
pixel_y = 5
},
-/obj/item/gun/ballistic/revolver/nagant{
+/obj/item/gun/ballistic/revolver/ashhand{
pixel_y = -1
},
/turf/open/floor/plasteel/tech,
@@ -1760,13 +1760,12 @@
pixel_x = -3;
pixel_y = -5
},
-/obj/item/ammo_box/n762_clip,
-/obj/item/ammo_box/n762,
+/obj/item/ammo_casing/a4570,
/obj/item/ammo_box/magazine/aks74u,
/obj/item/ammo_box/magazine/aks74u,
/obj/item/ammo_box/magazine/aks74u,
-/obj/item/ammo_box/n762,
-/obj/item/ammo_box/n762_clip,
+/obj/item/ammo_box/magazine/illestren_a850r,
+/obj/item/ammo_box/magazine/illestren_a850r,
/turf/open/floor/plasteel/tech,
/area/ruin/jungle/cavecrew/security)
"vr" = (
diff --git a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm
index 7aa1aa7bfd2c..720ed17fc830 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_medtech_outbreak.dmm
@@ -745,7 +745,7 @@
/obj/effect/mob_spawn/human/corpse/assistant{
outfit = /datum/outfit/job/chemist
},
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{
pixel_y = -13
},
/turf/open/floor/plating/dirt/jungle/wasteland/lit,
diff --git a/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm b/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm
index 55bb54c7012d..83f17d9f7026 100644
--- a/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm
+++ b/_maps/RandomRuins/JungleRuins/jungle_pirate.dmm
@@ -265,7 +265,7 @@
/turf/open/floor/wood,
/area/ruin/unpowered)
"LD" = (
-/obj/item/ammo_box/n762,
+/obj/item/ammo_box/c45_speedloader,
/obj/structure/table/wood/poker,
/turf/open/floor/wood,
/area/ruin/unpowered)
@@ -313,9 +313,9 @@
/area/ruin/unpowered)
"Sk" = (
/obj/structure/safe,
-/obj/item/gun/ballistic/shotgun/lethal,
-/obj/item/gun/ballistic/shotgun/lethal,
-/obj/item/gun/ballistic/shotgun/lethal,
+/obj/item/gun/ballistic/shotgun/brimstone,
+/obj/item/gun/ballistic/shotgun/brimstone,
+/obj/item/gun/ballistic/shotgun/brimstone,
/obj/item/gun/grenadelauncher,
/turf/open/floor/wood,
/area/ruin/unpowered)
diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm
index 98488b286f8d..2cffcb4d76bd 100644
--- a/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm
+++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_fuckedupandevilclub.dmm
@@ -562,7 +562,7 @@
/obj/structure/table/reinforced,
/obj/item/ammo_casing/shotgun/incendiary,
/obj/item/ammo_casing/shotgun/dragonsbreath,
-/obj/item/gun/ballistic/shotgun/lethal,
+/obj/item/gun/ballistic/shotgun/brimstone,
/turf/open/floor/plasteel/cult,
/area/ruin/unpowered)
"OF" = (
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm
index 9cf2b5a40bae..74e490508f4b 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_budgetcuts.dmm
@@ -2130,7 +2130,7 @@
pixel_x = 5;
pixel_y = -9
},
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag,
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag,
/obj/machinery/door/firedoor,
/turf/open/floor/plasteel,
/area/ruin/powered)
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_house.dmm b/_maps/RandomRuins/RockRuins/rockplanet_house.dmm
index 275e2b7b1c17..e06f8a456840 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_house.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_house.dmm
@@ -11,7 +11,7 @@
/area/ruin/unpowered)
"h" = (
/obj/structure/table/wood,
-/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/item/gun/ballistic/automatic/pistol/candor,
/obj/item/ammo_box/magazine/m45,
/obj/effect/gibspawner/human/bodypartless,
/obj/item/ammo_box/magazine/m45,
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm
index e4f0f716266c..f617a687b16c 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_miningexpedition.dmm
@@ -41,6 +41,12 @@
/obj/structure/sign/poster/contraband/tools,
/turf/closed/wall/r_wall/rust,
/area/ruin/unpowered)
+"js" = (
+/obj/item/chair,
+/obj/effect/decal/cleanable/blood,
+/obj/item/gun/ballistic/automatic/pistol/candor,
+/turf/open/floor/plasteel/grimy,
+/area/ruin/unpowered)
"lg" = (
/obj/structure/table,
/obj/machinery/microwave,
@@ -162,6 +168,12 @@
/obj/machinery/vending/mining_equipment,
/turf/open/floor/plasteel/mono,
/area/ruin/unpowered)
+"Cy" = (
+/obj/effect/decal/cleanable/blood,
+/obj/effect/mob_spawn/human/miner,
+/obj/item/pickaxe,
+/turf/open/floor/plating/asteroid/rockplanet/lit,
+/area/overmap_encounter/planetoid/rockplanet/explored)
"CL" = (
/obj/structure/sign/poster/random,
/turf/closed/wall/r_wall/rust,
@@ -262,12 +274,6 @@
},
/turf/open/floor/plasteel/rockvault,
/area/ruin/unpowered)
-"Qo" = (
-/obj/effect/decal/cleanable/blood,
-/obj/effect/mob_spawn/human/miner,
-/obj/item/pickaxe,
-/turf/open/floor/plating/asteroid/rockplanet/lit,
-/area/overmap_encounter/planetoid/rockplanet/explored)
"Qr" = (
/obj/effect/turf_decal/rechargefloor,
/obj/structure/mecha_wreckage/ripley,
@@ -293,12 +299,6 @@
/obj/machinery/light/broken/directional/east,
/turf/open/floor/plasteel/grimy,
/area/ruin/unpowered)
-"TI" = (
-/obj/item/chair,
-/obj/effect/decal/cleanable/blood,
-/obj/item/gun/ballistic/automatic/pistol/m1911,
-/turf/open/floor/plasteel/grimy,
-/area/ruin/unpowered)
"Uu" = (
/obj/machinery/light/broken/directional/north,
/obj/effect/decal/cleanable/oil,
@@ -448,7 +448,7 @@ tN
(5,1,1) = {"
yZ
yZ
-Qo
+Cy
yZ
Vw
YN
@@ -523,7 +523,7 @@ yZ
tN
yZ
Vw
-TI
+js
Wz
Vw
yZ
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm
index 5fee55e35c6d..35c9612a7998 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_nomadcrash.dmm
@@ -1128,7 +1128,7 @@
/obj/item/ammo_box/magazine/m45{
pixel_x = 7
},
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag,
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag,
/turf/open/floor/plating/ashplanet/rocky,
/area/ruin/rockplanet/nanotrasen)
"HG" = (
diff --git a/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm b/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm
index a7af51d9a489..8a494f719a2c 100644
--- a/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm
+++ b/_maps/RandomRuins/RockRuins/rockplanet_saloon.dmm
@@ -477,7 +477,7 @@
pixel_x = 4;
pixel_y = 6
},
-/obj/item/gun/ballistic/shotgun/riot{
+/obj/item/gun/ballistic/shotgun/hellfire{
pixel_x = -10;
pixel_y = 2
},
diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm
index aaea1e5ca79d..379e35a7d2f9 100644
--- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm
+++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_combination.dmm
@@ -744,7 +744,7 @@
/area/ruin)
"Df" = (
/obj/structure/table,
-/obj/item/gun/ballistic/rifle/boltaction/polymer,
+/obj/item/gun/ballistic/rifle/polymer,
/turf/open/floor/concrete,
/area/ruin)
"Di" = (
@@ -882,7 +882,7 @@
"Hn" = (
/obj/structure/closet/secure_closet/hydroponics,
/obj/item/circuitboard/machine/plantgenes,
-/obj/item/gun/ballistic/rifle/boltaction/polymer,
+/obj/item/gun/ballistic/rifle/polymer,
/turf/open/floor/wood,
/area/ruin)
"HP" = (
@@ -923,7 +923,7 @@
/area/overmap_encounter/planetoid/sand/explored)
"Ig" = (
/obj/structure/table,
-/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/item/gun/ballistic/automatic/pistol/candor,
/turf/open/floor/concrete,
/area/ruin)
"Io" = (
diff --git a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm
index 6b6f03797383..673b21cf90ae 100644
--- a/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm
+++ b/_maps/RandomRuins/SandRuins/whitesands_surface_camp_saloon.dmm
@@ -1342,7 +1342,7 @@
/area/ruin/whitesands/saloon)
"Oc" = (
/obj/structure/closet/cabinet,
-/obj/item/gun/ballistic/shotgun/riot,
+/obj/item/gun/ballistic/shotgun/hellfire,
/obj/item/storage/box/rubbershot{
pixel_x = -5;
pixel_y = 5
diff --git a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
index 58799b7c71ca..a4f6006bf88b 100644
--- a/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
+++ b/_maps/RandomRuins/SpaceRuins/bigderelict1.dmm
@@ -522,7 +522,7 @@
/turf/open/floor/plasteel,
/area/ruin/space/has_grav/derelictoutpost/powerstorage)
"bI" = (
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
spawnwithmagazine = 0
},
/turf/open/floor/plasteel,
@@ -1333,7 +1333,7 @@
desc = "A thick gelatinous surface covers the floor. Someone get the golashes.";
name = "gelatinous floor"
},
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
spawnwithmagazine = 0
},
/obj/item/ammo_box/magazine/m45,
@@ -1493,7 +1493,7 @@
/turf/open/floor/plating,
/area/ruin/space/has_grav/derelictoutpost)
"dJ" = (
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
spawnwithmagazine = 0
},
/obj/structure/alien/weeds{
diff --git a/_maps/RandomRuins/SpaceRuins/fueldepot.dmm b/_maps/RandomRuins/SpaceRuins/fueldepot.dmm
index 478e36ffe5bb..abe9e9f4562c 100644
--- a/_maps/RandomRuins/SpaceRuins/fueldepot.dmm
+++ b/_maps/RandomRuins/SpaceRuins/fueldepot.dmm
@@ -224,7 +224,7 @@
dir = 8
},
/obj/effect/decal/cleanable/dirt/dust,
-/obj/item/gun/ballistic/shotgun/lethal,
+/obj/item/gun/ballistic/shotgun/brimstone,
/turf/open/floor/mineral/plastitanium,
/area/ruin/unpowered)
"hL" = (
diff --git a/_maps/RandomRuins/SpaceRuins/lab4071.dmm b/_maps/RandomRuins/SpaceRuins/lab4071.dmm
index b69f076fa2f6..86829ac573bd 100644
--- a/_maps/RandomRuins/SpaceRuins/lab4071.dmm
+++ b/_maps/RandomRuins/SpaceRuins/lab4071.dmm
@@ -3369,7 +3369,7 @@
pixel_y = -2
},
/obj/item/ammo_box/magazine/m45,
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
pixel_x = -3;
pixel_y = 5
},
diff --git a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm
index 617cde29db7b..c1ba42b3c415 100644
--- a/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm
+++ b/_maps/RandomRuins/WasteRuins/wasteplanet_lab.dmm
@@ -99,7 +99,7 @@
/area/ruin/powered)
"fq" = (
/obj/structure/table,
-/obj/item/ammo_box/n762,
+/obj/item/ammo_box/c45_speedloader,
/turf/open/floor/plasteel/mono/white,
/area/ruin/powered)
"fJ" = (
@@ -165,12 +165,6 @@
"hl" = (
/turf/open/floor/plasteel/mono/dark,
/area/ruin/powered)
-"hL" = (
-/obj/structure/displaycase/noalert{
- start_showpiece_type = /obj/item/ammo_box/magazine/sniper_rounds
- },
-/turf/open/floor/plasteel,
-/area/ruin/powered)
"ih" = (
/obj/structure/table/wood/reinforced,
/obj/item/stack/sheet/mineral/uranium/five,
@@ -207,12 +201,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/ruin/powered)
-"iE" = (
-/obj/structure/displaycase/noalert{
- start_showpiece_type = /obj/item/ammo_box/magazine/mm712x82
- },
-/turf/open/floor/plasteel,
-/area/ruin/powered)
"jn" = (
/obj/effect/turf_decal/industrial/warning{
dir = 1
@@ -313,12 +301,6 @@
/obj/item/modular_computer/laptop/preset,
/turf/open/floor/plasteel/dark,
/area/ruin/powered)
-"os" = (
-/obj/structure/displaycase/noalert{
- start_showpiece_type = /obj/item/ammo_box/magazine/smgm45
- },
-/turf/open/floor/plasteel,
-/area/ruin/powered)
"ov" = (
/obj/effect/turf_decal/corner/transparent/neutral/diagonal,
/obj/machinery/autolathe/hacked,
@@ -496,9 +478,7 @@
/turf/open/floor/plasteel/white,
/area/ruin/powered)
"wf" = (
-/obj/structure/displaycase/noalert{
- start_showpiece_type = /obj/item/ammo_box/magazine/co9mm
- },
+/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/ruin/powered)
"wp" = (
@@ -626,9 +606,7 @@
/area/ruin/powered)
"BK" = (
/obj/effect/decal/cleanable/dirt,
-/obj/structure/displaycase/noalert{
- start_showpiece_type = /obj/item/ammo_box/magazine/mm712x82
- },
+/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/ruin/powered)
"Cl" = (
@@ -866,9 +844,7 @@
/turf/open/floor/plasteel,
/area/ruin/powered)
"Ta" = (
-/obj/structure/displaycase/noalert{
- start_showpiece_type = /obj/item/ammo_box/magazine/ebr
- },
+/obj/item/kirbyplants/random,
/turf/open/floor/plating/rust,
/area/ruin/powered)
"Tb" = (
@@ -1179,7 +1155,7 @@ Rw
Rw
Rw
Ta
-iE
+wf
wf
GR
tD
@@ -1529,9 +1505,9 @@ Rw
Rw
Rw
Rw
-os
+wf
BK
-hL
+wf
GR
tD
tD
diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm
index e2b1ff97158c..9a4a9424fde0 100644
--- a/_maps/map_files/generic/CentCom.dmm
+++ b/_maps/map_files/generic/CentCom.dmm
@@ -8951,7 +8951,7 @@
"hra" = (
/obj/structure/table/reinforced,
/obj/item/storage/lockbox/loyalty,
-/obj/item/gun/ballistic/automatic/assault/ar,
+/obj/item/gun/energy/e_gun/hades,
/obj/machinery/light/directional/north,
/obj/effect/turf_decal/industrial/warning,
/turf/open/floor/plasteel,
diff --git a/_maps/shuttles/independent/independent_dwayne.dmm b/_maps/shuttles/independent/independent_dwayne.dmm
index e5ff88f9fc28..c1a9eab8c37f 100644
--- a/_maps/shuttles/independent/independent_dwayne.dmm
+++ b/_maps/shuttles/independent/independent_dwayne.dmm
@@ -2102,9 +2102,9 @@
dir = 4
},
/obj/structure/guncase/shotgun,
-/obj/item/gun/ballistic/shotgun/winchester,
-/obj/item/gun/ballistic/shotgun/winchester,
-/obj/item/gun/ballistic/shotgun/winchester,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
/turf/open/floor/plasteel,
/area/ship/cargo)
"WE" = (
diff --git a/_maps/shuttles/independent/independent_halftrack.dmm b/_maps/shuttles/independent/independent_halftrack.dmm
index f82d26ffd66d..e619a9951f92 100644
--- a/_maps/shuttles/independent/independent_halftrack.dmm
+++ b/_maps/shuttles/independent/independent_halftrack.dmm
@@ -949,10 +949,10 @@
dir = 8
},
/obj/structure/rack,
-/obj/item/gun/ballistic/shotgun/riot,
-/obj/item/gun/ballistic/shotgun/riot,
-/obj/item/gun/ballistic/shotgun/riot,
-/obj/item/gun/ballistic/shotgun/riot,
+/obj/item/gun/ballistic/shotgun/hellfire,
+/obj/item/gun/ballistic/shotgun/hellfire,
+/obj/item/gun/ballistic/shotgun/hellfire,
+/obj/item/gun/ballistic/shotgun/hellfire,
/turf/open/floor/plasteel/dark,
/area/ship/security/armory)
"vT" = (
diff --git a/_maps/shuttles/independent/independent_nemo.dmm b/_maps/shuttles/independent/independent_nemo.dmm
index f693cbcbdc27..0bb1bf8fe690 100644
--- a/_maps/shuttles/independent/independent_nemo.dmm
+++ b/_maps/shuttles/independent/independent_nemo.dmm
@@ -2178,7 +2178,7 @@
},
/obj/item/firing_pin,
/obj/item/kitchen/knife/hunting,
-/obj/item/gun/ballistic/shotgun/contender,
+/obj/item/gun/ballistic/shotgun/doublebarrel/beacon,
/obj/item/ammo_box/a4570,
/obj/item/ammo_box/a4570,
/turf/open/floor/carpet/black,
diff --git a/_maps/shuttles/independent/independent_rigger.dmm b/_maps/shuttles/independent/independent_rigger.dmm
index 3c3235362343..a6312b7de614 100644
--- a/_maps/shuttles/independent/independent_rigger.dmm
+++ b/_maps/shuttles/independent/independent_rigger.dmm
@@ -1005,8 +1005,8 @@
pixel_y = 28;
req_access_txt = "1"
},
-/obj/item/gun/ballistic/shotgun/winchester,
-/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
+/obj/item/gun/ballistic/automatic/pistol/candor,
/turf/open/floor/plasteel/dark,
/area/ship/security)
"mJ" = (
@@ -3770,7 +3770,7 @@
/obj/item/clothing/suit/armor/vest/capcarapace/duster,
/obj/item/clothing/glasses/sunglasses,
/obj/item/clothing/head/caphat/cowboy,
-/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/item/gun/ballistic/automatic/pistol/candor,
/obj/structure/closet/secure_closet/wall{
dir = 8;
icon_state = "solgov_wall";
diff --git a/_maps/shuttles/independent/independent_rube_goldberg.dmm b/_maps/shuttles/independent/independent_rube_goldberg.dmm
index b8960b78342d..1f4b57035031 100644
--- a/_maps/shuttles/independent/independent_rube_goldberg.dmm
+++ b/_maps/shuttles/independent/independent_rube_goldberg.dmm
@@ -1311,7 +1311,7 @@
/obj/item/rcd_ammo,
/obj/item/rcd_ammo,
/obj/item/clothing/gloves/color/yellow,
-/obj/item/gun/ballistic/shotgun/winchester,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
/obj/item/ammo_box/c38_box,
/obj/item/storage/fancy/cigarettes/cigars/cohiba,
/obj/effect/turf_decal/corner/opaque/yellow/border{
diff --git a/_maps/shuttles/independent/independent_tranquility.dmm b/_maps/shuttles/independent/independent_tranquility.dmm
index 4a8f4e5ed30b..ed3087952f1d 100644
--- a/_maps/shuttles/independent/independent_tranquility.dmm
+++ b/_maps/shuttles/independent/independent_tranquility.dmm
@@ -1775,18 +1775,6 @@
},
/turf/open/floor/carpet/nanoweave/beige,
/area/ship/hallway/port)
-"nO" = (
-/obj/structure/chair/sofa/corner{
- dir = 8
- },
-/obj/effect/turf_decal/siding/wood{
- dir = 6
- },
-/obj/structure/sign/poster/rilena/random{
- pixel_x = 32
- },
-/turf/open/floor/wood/walnut,
-/area/ship/crew)
"nX" = (
/obj/structure/frame/machine,
/obj/item/stack/cable_coil/random/five,
@@ -2671,6 +2659,35 @@
/obj/structure/reagent_dispensers/watertank,
/turf/open/floor/plasteel/tech/techmaint,
/area/ship/engineering/engine)
+"vU" = (
+/obj/structure/table,
+/obj/item/ammo_box/magazine/m45/rubber{
+ pixel_x = 7;
+ pixel_y = -2
+ },
+/obj/effect/turf_decal/borderfloorblack{
+ dir = 6
+ },
+/obj/effect/turf_decal/borderfloorblack{
+ dir = 5
+ },
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag{
+ pixel_x = -2;
+ pixel_y = 9
+ },
+/obj/item/reagent_containers/glass/rag{
+ pixel_x = -6;
+ pixel_y = 1
+ },
+/obj/machinery/power/apc/auto_name/directional/east,
+/obj/structure/cable{
+ icon_state = "0-8"
+ },
+/obj/structure/sign/poster/contraband/lusty_xenomorph{
+ pixel_y = 32
+ },
+/turf/open/floor/plasteel/tech,
+/area/ship/security/armory)
"vV" = (
/obj/structure/table,
/obj/effect/turf_decal/siding/wood{
@@ -3832,6 +3849,18 @@
},
/turf/open/floor/plasteel/tech,
/area/ship/crew/crewfour)
+"Fk" = (
+/obj/structure/chair/sofa/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/siding/wood{
+ dir = 6
+ },
+/obj/structure/sign/poster/rilena/random{
+ pixel_x = 32
+ },
+/turf/open/floor/wood/walnut,
+/area/ship/crew)
"Fl" = (
/obj/structure/table,
/obj/item/defibrillator/loaded,
@@ -5478,35 +5507,6 @@
},
/turf/closed/wall/mineral/titanium/nodiagonal,
/area/ship/engineering/engine)
-"Rk" = (
-/obj/structure/table,
-/obj/item/ammo_box/magazine/m45/rubber{
- pixel_x = 7;
- pixel_y = -2
- },
-/obj/effect/turf_decal/borderfloorblack{
- dir = 6
- },
-/obj/effect/turf_decal/borderfloorblack{
- dir = 5
- },
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag{
- pixel_x = -2;
- pixel_y = 9
- },
-/obj/item/reagent_containers/glass/rag{
- pixel_x = -6;
- pixel_y = 1
- },
-/obj/machinery/power/apc/auto_name/directional/east,
-/obj/structure/cable{
- icon_state = "0-8"
- },
-/obj/structure/sign/poster/contraband/lusty_xenomorph{
- pixel_y = 32
- },
-/turf/open/floor/plasteel/tech,
-/area/ship/security/armory)
"Rm" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
dir = 4
@@ -6906,7 +6906,7 @@ KI
HP
PH
gk
-nO
+Fk
Ef
wz
xo
@@ -7658,7 +7658,7 @@ qa
qa
qa
PS
-Rk
+vU
fZ
qq
xI
diff --git a/_maps/shuttles/minutemen/minutemen_asclepius.dmm b/_maps/shuttles/minutemen/minutemen_asclepius.dmm
index b2d763063f39..a3ac29a8791f 100644
--- a/_maps/shuttles/minutemen/minutemen_asclepius.dmm
+++ b/_maps/shuttles/minutemen/minutemen_asclepius.dmm
@@ -4064,7 +4064,7 @@
/obj/item/clothing/head/helmet/bulletproof/minutemen,
/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch,
/obj/item/storage/belt/security,
-/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/item/gun/ballistic/automatic/pistol/candor,
/obj/item/ammo_box/magazine/m45/rubber,
/obj/item/ammo_box/magazine/m45/rubber{
pixel_x = 3
@@ -4436,13 +4436,13 @@
/obj/item/clothing/gloves/color/latex/nitrile,
/obj/item/healthanalyzer/advanced,
/obj/item/clothing/neck/cloak/cmo,
-/obj/item/gun/ballistic/revolver/nagant,
-/obj/item/ammo_box/n762_clip,
-/obj/item/ammo_box/n762_clip,
+/obj/item/gun/ballistic/revolver/shadow,
+/obj/item/ammo_box/c45_speedloader,
+/obj/item/ammo_box/c45_speedloader,
/obj/item/clothing/suit/armor/vest/capcarapace/minutemen,
/obj/item/reagent_containers/hypospray/CMO,
-/obj/item/ammo_box/n762,
-/obj/item/ammo_box/n762,
+/obj/item/ammo_box/c45_speedloader,
+/obj/item/ammo_box/c45_speedloader,
/turf/open/floor/carpet/royalblue,
/area/ship/bridge)
"NY" = (
diff --git a/_maps/shuttles/minutemen/minutemen_cepheus.dmm b/_maps/shuttles/minutemen/minutemen_cepheus.dmm
index 9686aff53035..d6fadf76305e 100644
--- a/_maps/shuttles/minutemen/minutemen_cepheus.dmm
+++ b/_maps/shuttles/minutemen/minutemen_cepheus.dmm
@@ -431,8 +431,8 @@
/obj/item/clothing/glasses/hud/security/sunglasses/eyepatch,
/obj/item/clothing/shoes/cowboy/white,
/obj/item/storage/belt/sabre,
-/obj/item/gun/ballistic/revolver/nagant,
-/obj/item/ammo_box/n762_clip,
+/obj/item/gun/ballistic/revolver/shadow,
+/obj/item/ammo_box/c45_speedloader,
/obj/item/clothing/suit/armor/vest/capcarapace/minutemen,
/turf/open/floor/plasteel/telecomms_floor,
/area/ship/bridge)
@@ -1911,21 +1911,21 @@
dir = 4;
layer = 4.1
},
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
pixel_y = 3
},
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
pixel_y = 3
},
/obj/machinery/light/directional/west,
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer2,
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
pixel_y = 3
},
/obj/structure/sign/poster/contraband/twelve_gauge{
pixel_y = 32
},
-/obj/item/gun/ballistic/shotgun/riot,
+/obj/item/gun/ballistic/shotgun/hellfire,
/turf/open/floor/plasteel/tech,
/area/ship/security)
"tX" = (
diff --git a/_maps/shuttles/minutemen/minutemen_corvus.dmm b/_maps/shuttles/minutemen/minutemen_corvus.dmm
index 36e4581f8dcd..a82b0630b66a 100644
--- a/_maps/shuttles/minutemen/minutemen_corvus.dmm
+++ b/_maps/shuttles/minutemen/minutemen_corvus.dmm
@@ -69,11 +69,11 @@
dir = 4
},
/obj/structure/extinguisher_cabinet/directional/north,
-/obj/item/gun/ballistic/automatic/pistol/m1911{
+/obj/item/gun/ballistic/automatic/pistol/candor{
pixel_x = 2;
pixel_y = 5
},
-/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/item/gun/ballistic/automatic/pistol/candor,
/obj/item/flamethrower/full/tank,
/obj/item/gun/ballistic/automatic/smg/cm5,
/turf/open/floor/plasteel/dark,
diff --git a/_maps/shuttles/minutemen/minutemen_vela.dmm b/_maps/shuttles/minutemen/minutemen_vela.dmm
index ab5b6c7e8a1f..ab113e52e2c5 100644
--- a/_maps/shuttles/minutemen/minutemen_vela.dmm
+++ b/_maps/shuttles/minutemen/minutemen_vela.dmm
@@ -562,7 +562,7 @@
/obj/item/clothing/suit/toggle/lawyer/minutemen,
/obj/item/clothing/shoes/combat,
/obj/item/clothing/glasses/sunglasses,
-/obj/item/gun/ballistic/automatic/pistol/m1911,
+/obj/item/gun/ballistic/automatic/pistol/candor,
/obj/item/clothing/head/cowboy/sec/minutemen,
/obj/item/radio/headset/minutemen/alt/captain,
/obj/item/storage/backpack,
@@ -8315,8 +8315,8 @@
/area/ship/crew/office)
"Th" = (
/obj/structure/guncase,
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag,
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag,
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag,
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag,
/obj/item/gun/ballistic/automatic/smg/cm5{
spawnwithmagazine = 0
},
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm
index 669e1df22ab8..f230095f1023 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm
@@ -3506,12 +3506,6 @@
},
/turf/open/floor/plasteel/tech,
/area/ship/engineering/electrical)
-"mW" = (
-/obj/structure/guncase,
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag,
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag,
-/turf/open/floor/plasteel/tech,
-/area/ship/cargo/office)
"mX" = (
/obj/effect/decal/cleanable/dirt,
/obj/machinery/atmospherics/pipe/simple/purple/hidden,
@@ -4314,27 +4308,6 @@
},
/turf/open/floor/plasteel/white,
/area/ship/medical)
-"pS" = (
-/obj/structure/closet/wall/orange{
- name = "Pilot's Locker";
- pixel_y = 28
- },
-/obj/item/clothing/under/rank/security/officer/military/eng,
-/obj/item/clothing/suit/jacket/leather/duster,
-/obj/item/clothing/suit/jacket/miljacket,
-/obj/item/clothing/mask/bandana/skull,
-/obj/item/clothing/suit/armor/vest/marine,
-/obj/item/instrument/piano_synth/headphones/spacepods{
- pixel_x = -5;
- pixel_y = -1
- },
-/obj/item/clothing/neck/shemagh,
-/obj/item/reagent_containers/spray/pepper{
- pixel_x = 7;
- pixel_y = -6
- },
-/turf/open/floor/plasteel/mono/dark,
-/area/ship/hangar)
"pT" = (
/obj/machinery/atmospherics/pipe/layer_manifold{
dir = 1
@@ -5851,6 +5824,26 @@
},
/turf/open/floor/plasteel/elevatorshaft,
/area/ship/science/robotics)
+"vb" = (
+/obj/structure/closet/wall/orange{
+ name = "Pilot's Locker";
+ pixel_y = 28
+ },
+/obj/item/clothing/under/rank/security/officer/military/eng,
+/obj/item/clothing/suit/jacket/leather/duster,
+/obj/item/clothing/suit/jacket/miljacket,
+/obj/item/clothing/suit/armor/vest/marine,
+/obj/item/instrument/piano_synth/headphones/spacepods{
+ pixel_x = -5;
+ pixel_y = -1
+ },
+/obj/item/clothing/neck/shemagh,
+/obj/item/reagent_containers/spray/pepper{
+ pixel_x = 7;
+ pixel_y = -6
+ },
+/turf/open/floor/plasteel/mono/dark,
+/area/ship/hangar)
"vg" = (
/obj/machinery/atmospherics/pipe/manifold/scrubbers/hidden/layer4{
dir = 8
@@ -9197,6 +9190,27 @@
},
/turf/open/floor/wood,
/area/ship/crew/dorm/dormtwo)
+"HI" = (
+/obj/structure/closet/wall/orange{
+ name = "Pilot's Locker";
+ pixel_y = 28
+ },
+/obj/item/clothing/under/rank/security/officer/military/eng,
+/obj/item/clothing/suit/jacket/leather/duster,
+/obj/item/clothing/suit/jacket/miljacket,
+/obj/item/clothing/mask/bandana/skull,
+/obj/item/clothing/suit/armor/vest/marine,
+/obj/item/instrument/piano_synth/headphones/spacepods{
+ pixel_x = -5;
+ pixel_y = -1
+ },
+/obj/item/clothing/neck/shemagh,
+/obj/item/reagent_containers/spray/pepper{
+ pixel_x = 7;
+ pixel_y = -6
+ },
+/turf/open/floor/plasteel/mono/dark,
+/area/ship/hangar)
"HO" = (
/obj/effect/turf_decal/techfloor{
dir = 4
@@ -9367,26 +9381,6 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel/tech,
/area/ship/engineering/electrical)
-"Io" = (
-/obj/structure/closet/wall/orange{
- name = "Pilot's Locker";
- pixel_y = 28
- },
-/obj/item/clothing/under/rank/security/officer/military/eng,
-/obj/item/clothing/suit/jacket/leather/duster,
-/obj/item/clothing/suit/jacket/miljacket,
-/obj/item/clothing/suit/armor/vest/marine,
-/obj/item/instrument/piano_synth/headphones/spacepods{
- pixel_x = -5;
- pixel_y = -1
- },
-/obj/item/clothing/neck/shemagh,
-/obj/item/reagent_containers/spray/pepper{
- pixel_x = 7;
- pixel_y = -6
- },
-/turf/open/floor/plasteel/mono/dark,
-/area/ship/hangar)
"Ip" = (
/obj/structure/table,
/obj/item/reagent_containers/food/snacks/mint,
@@ -11619,6 +11613,12 @@
/obj/item/kirbyplants/random,
/turf/open/floor/plasteel,
/area/ship/hallway/aft)
+"Rs" = (
+/obj/structure/guncase,
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag,
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag,
+/turf/open/floor/plasteel/tech,
+/area/ship/cargo/office)
"Ru" = (
/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{
dir = 4
@@ -15417,7 +15417,7 @@ uQ
uQ
uQ
uQ
-pS
+HI
JE
gN
MI
@@ -15454,9 +15454,9 @@ Ob
Zg
mk
lv
-mW
+Rs
Zg
-Io
+vb
zC
EO
fv
diff --git a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
index 8f7fb343e1a4..d6cc2ca80968 100644
--- a/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
+++ b/_maps/shuttles/nanotrasen/nanotrasen_mimir.dmm
@@ -70,16 +70,6 @@
},
/turf/open/floor/plasteel/tech/grid,
/area/ship/maintenance/port)
-"aC" = (
-/obj/structure/window/reinforced/spawner{
- dir = 4
- },
-/obj/machinery/conveyor{
- id = "prison_scrap";
- dir = 1
- },
-/turf/open/floor/plating,
-/area/ship/engineering/engine)
"aE" = (
/obj/structure/table,
/obj/machinery/door/window,
@@ -1696,7 +1686,7 @@
/area/ship/engineering/electrical)
"jC" = (
/obj/structure/rack,
-/obj/item/gun/ballistic/shotgun/lethal,
+/obj/item/gun/ballistic/shotgun/brimstone,
/obj/item/storage/box/lethalshot,
/obj/effect/turf_decal/siding/red{
dir = 10
@@ -3721,6 +3711,16 @@
},
/turf/open/floor/plasteel/tech/grid,
/area/ship/maintenance/starboard)
+"vT" = (
+/obj/structure/window/reinforced/spawner{
+ dir = 4
+ },
+/obj/machinery/conveyor{
+ id = "prison_scrap";
+ dir = 1
+ },
+/turf/open/floor/plating,
+/area/ship/engineering/engine)
"wa" = (
/obj/structure/sink/kitchen{
dir = 8;
@@ -5775,7 +5775,7 @@
/area/ship/maintenance/port)
"Ht" = (
/obj/structure/rack,
-/obj/item/gun/ballistic/shotgun/riot,
+/obj/item/gun/ballistic/shotgun/hellfire,
/obj/item/storage/box/rubbershot,
/obj/item/clothing/suit/armor/riot,
/obj/item/shield/riot,
@@ -9127,7 +9127,7 @@ yz
tY
jS
TO
-aC
+vT
Kk
wm
Jy
diff --git a/_maps/shuttles/pirate/pirate_ember.dmm b/_maps/shuttles/pirate/pirate_ember.dmm
index f114c64f153f..a44c02e8a814 100644
--- a/_maps/shuttles/pirate/pirate_ember.dmm
+++ b/_maps/shuttles/pirate/pirate_ember.dmm
@@ -2894,7 +2894,7 @@
pixel_y = -4;
pixel_x = 3
},
-/obj/item/gun/ballistic/rifle/boltaction/polymer{
+/obj/item/gun/ballistic/rifle/polymer{
pixel_y = -8
},
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{
@@ -5596,11 +5596,11 @@
/area/ship/engineering/incinerator)
"Bx" = (
/obj/structure/table/reinforced,
-/obj/item/gun/ballistic/revolver/nagant{
+/obj/item/gun/ballistic/revolver/shadow{
pixel_y = 6
},
-/obj/item/gun/ballistic/revolver/nagant,
-/obj/item/gun/ballistic/revolver/nagant{
+/obj/item/gun/ballistic/revolver/shadow,
+/obj/item/gun/ballistic/revolver/shadow{
pixel_y = -5
},
/obj/effect/turf_decal/techfloor{
@@ -5614,7 +5614,7 @@
/area/ship/security/armory)
"By" = (
/obj/structure/guncase,
-/obj/item/gun/ballistic/automatic/smg/thompson{
+/obj/item/gun/ballistic/automatic/smg/mini_uzi{
pixel_y = -3
},
/obj/effect/turf_decal/techfloor{
@@ -5623,7 +5623,7 @@
/obj/structure/railing{
dir = 1
},
-/obj/item/gun/ballistic/rifle/boltaction{
+/obj/item/gun/ballistic/rifle/illestren{
pixel_y = 5
},
/turf/open/floor/plasteel/dark,
@@ -8985,10 +8985,10 @@
/obj/effect/turf_decal/techfloor/hole{
dir = 8
},
-/obj/item/ammo_box/n762{
+/obj/item/ammo_box/c45_speedloader{
pixel_y = -3
},
-/obj/item/ammo_box/n762{
+/obj/item/ammo_box/c45_speedloader{
pixel_y = -1;
pixel_x = 1
},
@@ -8999,20 +8999,20 @@
pixel_y = 2;
pixel_x = -4
},
-/obj/item/ammo_box/magazine/smgm45/drum{
+/obj/item/ammo_box/magazine/uzim9mm{
pixel_y = -4
},
-/obj/item/ammo_box/magazine/smgm45,
-/obj/item/ammo_box/n762{
+/obj/item/ammo_box/magazine/uzim9mm,
+/obj/item/ammo_box/c45_speedloader{
pixel_y = -3
},
-/obj/item/ammo_box/n762{
+/obj/item/ammo_box/c45_speedloader{
pixel_y = -5;
pixel_x = -1
},
-/obj/item/ammo_box/a762,
-/obj/item/ammo_box/a762,
-/obj/item/storage/toolbox/ammo/a762{
+/obj/item/ammo_box/magazine/illestren_a850r,
+/obj/item/ammo_box/magazine/illestren_a850r,
+/obj/item/storage/toolbox/ammo/a850r{
pixel_y = -6;
pixel_x = 5
},
diff --git a/_maps/shuttles/roumain/srm_glaive.dmm b/_maps/shuttles/roumain/srm_glaive.dmm
index 5c7f90c25492..4b5929d9b2ac 100644
--- a/_maps/shuttles/roumain/srm_glaive.dmm
+++ b/_maps/shuttles/roumain/srm_glaive.dmm
@@ -359,8 +359,8 @@
pixel_y = 2
},
/obj/item/kitchen/knife/combat,
-/obj/item/gun/ballistic/revolver/nagant,
-/obj/item/ammo_box/n762,
+/obj/item/gun/ballistic/revolver/montagne,
+/obj/item/ammo_box/c38,
/obj/structure/closet/secure_closet/montagnes,
/obj/item/disk/holodisk/roumain,
/obj/item/clothing/shoes/cowboy/black,
@@ -903,7 +903,7 @@
/obj/item/storage/backpack/cultpack,
/obj/item/flashlight/lantern,
/obj/item/kitchen/knife/combat/survival,
-/obj/item/gun/ballistic/shotgun/winchester,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
/obj/structure/closet/secure_closet/hunter,
/obj/item/lighter,
/obj/item/ammo_box/c38_box,
@@ -979,7 +979,7 @@
/obj/item/borg/upgrade/modkit/indoors,
/obj/item/gun/energy/kinetic_accelerator,
/obj/item/storage/bag/ore,
-/obj/item/gun/ballistic/shotgun/winchester/mk1,
+/obj/item/gun/ballistic/shotgun/flamingarrow/bolt,
/obj/item/shovel,
/obj/item/gps/mining,
/obj/structure/closet/secure_closet/miningcloset,
@@ -2835,7 +2835,7 @@
},
/obj/item/circuitboard/machine/rdserver,
/obj/item/circuitboard/machine/autolathe,
-/obj/item/disk/design_disk/ammo_n762,
+/obj/item/ammo_box/c38_box,
/obj/item/disk/design_disk/ammo_1911,
/obj/item/circuitboard/machine/protolathe/department/ballistics,
/obj/item/circuitboard/computer/rdconsole,
@@ -3298,7 +3298,7 @@
/obj/item/storage/backpack/cultpack,
/obj/item/flashlight/lantern,
/obj/item/kitchen/knife/combat/survival,
-/obj/item/gun/ballistic/shotgun/winchester,
+/obj/item/gun/ballistic/shotgun/flamingarrow,
/obj/structure/closet/secure_closet/hunter,
/obj/item/lighter,
/obj/item/ammo_box/c38_box,
diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm
index dae3f0a86b96..0623ace12678 100644
--- a/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm
+++ b/_maps/shuttles/syndicate/syndicate_gorlex_hyena.dmm
@@ -491,7 +491,7 @@
pixel_x = 32
},
/obj/effect/turf_decal/industrial/outline,
-/obj/item/gun/ballistic/shotgun/lethal,
+/obj/item/gun/ballistic/shotgun/brimstone,
/obj/machinery/button/door{
dir = 1;
id = "wreckerarmory";
diff --git a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm
index 3da232da75dc..23eb56cb400c 100644
--- a/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm
+++ b/_maps/shuttles/syndicate/syndicate_gorlex_komodo.dmm
@@ -2734,43 +2734,6 @@
},
/turf/open/floor/plasteel,
/area/ship/engineering)
-"AS" = (
-/obj/effect/turf_decal/borderfloor{
- dir = 8
- },
-/obj/item/gun/ballistic/automatic/pistol/m1911{
- pixel_x = 1;
- pixel_y = 5
- },
-/obj/item/ammo_box/magazine/m45,
-/obj/item/ammo_box/magazine/m45{
- pixel_x = 3
- },
-/obj/item/clothing/under/syndicate/aclfgrunt,
-/obj/item/clothing/gloves/tackler/combat/insulated,
-/obj/item/clothing/suit/armor/vest/leather{
- desc = "Lightly armored leather overcoat meant as casual wear for high-ranking officers. Bears the crest of the Gorlex Marauders."
- },
-/obj/item/clothing/mask/gas/sechailer/swat,
-/obj/item/clothing/head/HoS/beret/syndicate,
-/obj/structure/cable{
- icon_state = "4-8"
- },
-/obj/structure/closet/secure_closet/wall{
- dir = 1;
- icon_state = "sec_wall";
- name = "Sergeant's locker";
- pixel_y = -29;
- req_access_txt = "58"
- },
-/obj/item/melee/classic_baton/telescopic,
-/obj/item/clothing/suit/armor/vest/blueshirt,
-/obj/item/clothing/under/syndicate/combat,
-/obj/item/clothing/accessory/holster,
-/obj/item/clothing/shoes/combat,
-/obj/item/radio/headset/syndicate,
-/turf/open/floor/plasteel/dark,
-/area/ship/bridge)
"AY" = (
/obj/structure/sign/syndicate,
/turf/closed/wall/mineral/plastitanium/nodiagonal,
@@ -3137,33 +3100,6 @@
},
/turf/open/floor/mineral/plastitanium/red,
/area/ship/crew/canteen)
-"Ek" = (
-/obj/structure/closet/secure_closet{
- anchored = 1;
- icon_state = "hos";
- name = "captain's locker";
- req_access_txt = "20"
- },
-/obj/item/clothing/under/syndicate/combat,
-/obj/item/clothing/under/syndicate/officer,
-/obj/item/clothing/suit/armor/vest/capcarapace/syndicate,
-/obj/item/clothing/gloves/krav_maga/combatglovesplus,
-/obj/item/clothing/shoes/jackboots,
-/obj/item/clothing/glasses/thermal/eyepatch,
-/obj/item/clothing/head/HoS/beret/syndicate,
-/obj/item/clothing/head/HoS/syndicate,
-/obj/item/clothing/head/gorlexcap{
- pixel_x = 5;
- pixel_y = -4
- },
-/obj/item/gun/ballistic/derringer/traitor,
-/obj/item/clothing/under/syndicate/sniper,
-/obj/item/clothing/suit/gorlex,
-/obj/item/ammo_box/a357,
-/obj/item/ammo_box/a357,
-/obj/item/radio/headset/syndicate/alt/leader,
-/turf/open/floor/carpet/black,
-/area/ship/bridge)
"El" = (
/obj/structure/filingcabinet,
/obj/item/folder/syndicate/mining,
@@ -3886,6 +3822,33 @@
},
/turf/open/floor/plasteel/dark,
/area/ship/bridge)
+"KG" = (
+/obj/structure/closet/secure_closet{
+ anchored = 1;
+ icon_state = "hos";
+ name = "captain's locker";
+ req_access_txt = "20"
+ },
+/obj/item/clothing/under/syndicate/combat,
+/obj/item/clothing/under/syndicate/officer,
+/obj/item/clothing/suit/armor/vest/capcarapace/syndicate,
+/obj/item/clothing/gloves/krav_maga/combatglovesplus,
+/obj/item/clothing/shoes/jackboots,
+/obj/item/clothing/glasses/thermal/eyepatch,
+/obj/item/clothing/head/HoS/beret/syndicate,
+/obj/item/clothing/head/HoS/syndicate,
+/obj/item/clothing/head/gorlexcap{
+ pixel_x = 5;
+ pixel_y = -4
+ },
+/obj/item/gun/ballistic/derringer/traitor,
+/obj/item/clothing/under/syndicate/sniper,
+/obj/item/clothing/suit/gorlex,
+/obj/item/ammo_box/a357,
+/obj/item/ammo_box/a357,
+/obj/item/radio/headset/syndicate/alt/leader,
+/turf/open/floor/carpet/black,
+/area/ship/bridge)
"KL" = (
/obj/machinery/vending/custom,
/obj/structure/railing{
@@ -4823,6 +4786,43 @@
/obj/structure/catwalk/over,
/turf/open/floor/plating,
/area/ship/engineering)
+"UJ" = (
+/obj/effect/turf_decal/borderfloor{
+ dir = 8
+ },
+/obj/item/gun/ballistic/automatic/pistol/candor{
+ pixel_x = 1;
+ pixel_y = 5
+ },
+/obj/item/ammo_box/magazine/m45,
+/obj/item/ammo_box/magazine/m45{
+ pixel_x = 3
+ },
+/obj/item/clothing/under/syndicate/aclfgrunt,
+/obj/item/clothing/gloves/tackler/combat/insulated,
+/obj/item/clothing/suit/armor/vest/leather{
+ desc = "Lightly armored leather overcoat meant as casual wear for high-ranking officers. Bears the crest of the Gorlex Marauders."
+ },
+/obj/item/clothing/mask/gas/sechailer/swat,
+/obj/item/clothing/head/HoS/beret/syndicate,
+/obj/structure/cable{
+ icon_state = "4-8"
+ },
+/obj/structure/closet/secure_closet/wall{
+ dir = 1;
+ icon_state = "sec_wall";
+ name = "Sergeant's locker";
+ pixel_y = -29;
+ req_access_txt = "58"
+ },
+/obj/item/melee/classic_baton/telescopic,
+/obj/item/clothing/suit/armor/vest/blueshirt,
+/obj/item/clothing/under/syndicate/combat,
+/obj/item/clothing/accessory/holster,
+/obj/item/clothing/shoes/combat,
+/obj/item/radio/headset/syndicate,
+/turf/open/floor/plasteel/dark,
+/area/ship/bridge)
"UK" = (
/obj/machinery/door/firedoor,
/obj/machinery/door/airlock/hatch{
@@ -5880,11 +5880,11 @@ ME
WP
WA
TH
-AS
+UJ
tC
FL
up
-Ek
+KG
tC
tC
tC
diff --git a/code/datums/components/storage/concrete/pockets.dm b/code/datums/components/storage/concrete/pockets.dm
index 19d092156405..bd0a59f85f42 100644
--- a/code/datums/components/storage/concrete/pockets.dm
+++ b/code/datums/components/storage/concrete/pockets.dm
@@ -36,7 +36,7 @@
. = ..()
var/static/list/exception_cache = typecacheof(list(
/obj/item/katana, /obj/item/toy/katana, /obj/item/nullrod/claymore/katana,
- /obj/item/energy_katana, /obj/item/gun/ballistic/automatic/smg/thompson/drum
+ /obj/item/energy_katana, /obj/item/gun/ballistic/automatic/smg/firestorm/pan
))
exception_hold = exception_cache
@@ -86,7 +86,7 @@
/obj/item/reagent_containers/food/drinks/bottle/vodka,
/obj/item/reagent_containers/food/drinks/bottle/molotov,
/obj/item/reagent_containers/food/drinks/drinkingglass,
- /obj/item/ammo_box/a762
+ /obj/item/ammo_box/magazine/illestren_a850r
))
/datum/component/storage/concrete/pockets/holster
diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm
index fba5fd1b4fc7..84b34bed9ea7 100644
--- a/code/game/objects/items/storage/belt.dm
+++ b/code/game/objects/items/storage/belt.dm
@@ -689,17 +689,17 @@
/obj/item/storage/belt/bandolier
name = "bandolier"
- desc = "A bandolier for holding shotgun ammunition."
+ desc = "A bandolier for holding ammunition. Does not hold magazines"
icon_state = "bandolier"
item_state = "bandolier"
/obj/item/storage/belt/bandolier/ComponentInitialize()
. = ..()
var/datum/component/storage/STR = GetComponent(/datum/component/storage)
- STR.max_items = 18
+ STR.max_items = 40
STR.display_numerical_stacking = TRUE
STR.set_holdable(list(
- /obj/item/ammo_casing/shotgun
+ /obj/item/ammo_casing
))
/obj/item/storage/belt/fannypack
diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm
index 1daf6cf922a1..312ce3e14d0f 100644
--- a/code/game/objects/items/storage/toolbox.dm
+++ b/code/game/objects/items/storage/toolbox.dm
@@ -233,39 +233,47 @@
drop_sound = 'sound/items/handling/ammobox_drop.ogg'
pickup_sound = 'sound/items/handling/ammobox_pickup.ogg'
material_flags = NONE
+ has_latches = FALSE
-/obj/item/storage/toolbox/ammo/a762/PopulateContents()
- name = "ammo can (7.62x54mmR)"
+/obj/item/storage/toolbox/ammo/a850r/PopulateContents()
+ name = "ammo can (8x50mmR)"
+ icon_state = "ammobox_850"
for(var/i in 1 to 7)
- new /obj/item/ammo_box/a762(src)
+ new /obj/item/ammo_box/magazine/illestren_a850r(src)
/obj/item/storage/toolbox/ammo/a762_39/PopulateContents()
name = "ammo can (7.62x39mm)"
+ icon_state = "ammobox_762"
for (var/i in 1 to 4)
new /obj/item/ammo_box/a762_39(src)
/obj/item/storage/toolbox/ammo/a308/PopulateContents()
name = "ammo can (.308)"
+ icon_state = "ammobox_308"
for (var/i in 1 to 4)
new /obj/item/ammo_box/a308(src)
/obj/item/storage/toolbox/ammo/c45/PopulateContents()
name = "ammo can (.45)"
+ icon_state = "ammobox_45"
for (var/i in 1 to 4)
new /obj/item/ammo_box/c45(src)
/obj/item/storage/toolbox/ammo/c9mm/PopulateContents()
name = "ammo can (9mm)"
+ icon_state = "ammobox_9mm"
for (var/i in 1 to 4)
new /obj/item/ammo_box/c9mm(src)
/obj/item/storage/toolbox/ammo/c10mm/PopulateContents()
name = "ammo can (10mm)"
+ icon_state = "ammobox_10mm"
for (var/i in 1 to 4)
new /obj/item/ammo_box/c10mm(src)
/obj/item/storage/toolbox/ammo/shotgun/PopulateContents()
name = "ammo can (12ga)"
+ icon_state = "ammobox_12ga"
for (var/i in 1 to 4)
new /obj/item/ammo_box/a12g(src)
diff --git a/code/game/objects/items/storage/uplink_kits.dm b/code/game/objects/items/storage/uplink_kits.dm
index 6b3658b523df..221cdf42d3f3 100644
--- a/code/game/objects/items/storage/uplink_kits.dm
+++ b/code/game/objects/items/storage/uplink_kits.dm
@@ -194,7 +194,7 @@
if("made_man")
new /obj/effect/spawner/lootdrop/mafia_outfit(src) // 0 TC, just an outfit for the new 'don of this family
- new /obj/item/gun/ballistic/automatic/smg/thompson/drum(src) // 20 TC, a gun with 50 .45 bullets on a three round burst is kinda outstanding
+ new /obj/item/gun/ballistic/automatic/smg/firestorm/pan(src) // 20 TC, a gun with 50 .45 bullets on a three round burst is kinda outstanding
new /obj/item/switchblade(src) // 3 TC? It's nice, but it's really a stealth/oh fuck I'm out of ammo weapon
new /obj/item/reagent_containers/food/drinks/bottle/vodka (src) // 5 TC, free molotov assemblies
new /obj/item/reagent_containers/food/drinks/bottle/vodka (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 66b803e7d041..f94a5d5de585 100644
--- a/code/game/objects/structures/crates_lockers/closets/secure/security.dm
+++ b/code/game/objects/structures/crates_lockers/closets/secure/security.dm
@@ -300,7 +300,7 @@
for(var/i in 1 to 3)
new /obj/item/storage/box/rubbershot(src)
for(var/i in 1 to 3)
- new /obj/item/gun/ballistic/shotgun/riot(src)
+ new /obj/item/gun/ballistic/shotgun/hellfire(src)
/obj/structure/closet/secure_closet/armory3
name = "armory energy gun locker"
diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm
index 26f0bb1d81ea..003abfd42991 100644
--- a/code/modules/antagonists/cult/blood_magic.dm
+++ b/code/modules/antagonists/cult/blood_magic.dm
@@ -839,7 +839,7 @@
if(uses < BLOOD_BARRAGE_COST)
to_chat(user, "You need [BLOOD_BARRAGE_COST] charges to perform this rite.")
else
- var/obj/rite = new /obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage/blood()
+ var/obj/rite = new /obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage/blood()
uses -= BLOOD_BARRAGE_COST
qdel(src)
if(user.put_in_hands(rite))
diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm
index b09b7d989758..7d0e9f7a4346 100644
--- a/code/modules/antagonists/cult/cult_items.dm
+++ b/code/modules/antagonists/cult/cult_items.dm
@@ -704,7 +704,7 @@
spear.throw_at(owner, 10, 2, owner)
-/obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage/blood
+/obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage/blood
name = "blood bolt barrage"
desc = "Blood for blood."
color = "#ff0000"
diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm
index be343bb8bc6e..98f51e73fec2 100644
--- a/code/modules/antagonists/fugitive/fugitive_outfits.dm
+++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm
@@ -65,7 +65,7 @@
name = "Spacepol Officer"
uniform = /obj/item/clothing/under/rank/security/officer/beatcop
suit = /obj/item/clothing/suit/armor/vest/blueshirt
- belt = /obj/item/gun/ballistic/automatic/pistol/m1911
+ belt = /obj/item/gun/ballistic/automatic/pistol/candor
head = /obj/item/clothing/head/helmet/police
gloves = /obj/item/clothing/gloves/tackler/combat
shoes = /obj/item/clothing/shoes/jackboots
@@ -87,7 +87,7 @@
/datum/outfit/frontier/hunter
name = "Frontiersman Corpse (Hunter)"
ears = /obj/item/radio/headset
- r_hand = /obj/item/gun/ballistic/rifle/boltaction
+ r_hand = /obj/item/gun/ballistic/rifle/illestren
/datum/outfit/frontier/hunter/pre_equip(mob/living/carbon/human/H)
if(prob(50))
diff --git a/code/modules/antagonists/gang/outfits.dm b/code/modules/antagonists/gang/outfits.dm
index afe4c65b7e28..3cd09047a269 100644
--- a/code/modules/antagonists/gang/outfits.dm
+++ b/code/modules/antagonists/gang/outfits.dm
@@ -21,7 +21,7 @@
ears = /obj/item/radio/headset/headset_sec
mask = null
head = /obj/item/clothing/head/spacepolice
- belt = /obj/item/gun/ballistic/automatic/pistol/m1911
+ belt = /obj/item/gun/ballistic/automatic/pistol/candor
r_pocket = /obj/item/lighter
l_pocket = /obj/item/restraints/handcuffs
id = /obj/item/card/id
diff --git a/code/modules/cargo/bounties/security.dm b/code/modules/cargo/bounties/security.dm
index bcf7b89f3af1..26711f560922 100644
--- a/code/modules/cargo/bounties/security.dm
+++ b/code/modules/cargo/bounties/security.dm
@@ -3,7 +3,7 @@
description = "Hooligans have boarded CentCom! Ship riot shotguns quick, or things are going to get dirty."
reward = 5000
required_count = 2
- wanted_types = list(/obj/item/gun/ballistic/shotgun/riot)
+ wanted_types = list(/obj/item/gun/ballistic/shotgun/hellfire)
/datum/bounty/item/security/recharger
name = "Rechargers"
diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm
index 33a5ee37be02..47ce167c7680 100644
--- a/code/modules/cargo/packs/ammo.dm
+++ b/code/modules/cargo/packs/ammo.dm
@@ -15,8 +15,8 @@
cost = 1500
/datum/supply_pack/ammo/m45_mag
- name = ".45 ACP M1911 Magazine Crate"
- desc = "Contains three .45 ACP magazines for the M1911 pistol, each containing eight rounds."
+ name = ".45 ACP Candor Magazine Crate"
+ desc = "Contains three .45 ACP magazines for the Candor pistol, each containing eight rounds."
contains = list(/obj/item/ammo_box/magazine/m45,
/obj/item/ammo_box/magazine/m45,
/obj/item/ammo_box/magazine/m45)
@@ -77,22 +77,22 @@
name = "Buckshot Crate"
desc = "Contains two boxes of buckshot for use in lethal persuasion."
cost = 2000
- contains = list(/obj/item/storage/box/lethalshot,
- /obj/item/storage/box/lethalshot)
+ contains = list(/obj/item/ammo_box/a12g,
+ /obj/item/ammo_box/a12g)
/datum/supply_pack/ammo/slugs
name = "Shotgun Slug Crate"
desc = "Contains two boxes of slug shells for use in lethal persuasion."
cost = 2000
- contains = list(/obj/item/storage/box/slugshot,
- /obj/item/storage/box/slugshot)
+ contains = list(/obj/item/ammo_box/a12g/slug,
+ /obj/item/ammo_box/a12g/slug)
/*
.38 ammo
*/
/datum/supply_pack/ammo/winchester_ammo
- name = "Winchester and Detective Special .38 Ammo Boxes"
+ name = "Flaming Arrow and Detective Special .38 Ammo Boxes"
desc = "Contains two 30 round ammo boxes for refilling .38 weapons."
cost = 1000
contains = list(/obj/item/ammo_box/c38_box,
@@ -181,10 +181,10 @@
cost = 2000
/datum/supply_pack/ammo/a762_ammo
- name = "7.62x54mm Stripper Clip Crate"
- desc = "Contains four 7.62x54mm stripper clips for rifles like the illestren rifle, each containing five rounds."
- contains = list(/obj/item/ammo_box/a762,
- /obj/item/ammo_box/a762,
- /obj/item/ammo_box/a762,
- /obj/item/ammo_box/a762)
+ name = "8x50mmR Stripper Clip Crate"
+ desc = "Contains four 8x50mmR stripper clips for rifles like the illestren rifle, each containing five rounds."
+ contains = list(/obj/item/ammo_box/magazine/illestren_a850r,
+ /obj/item/ammo_box/magazine/illestren_a850r,
+ /obj/item/ammo_box/magazine/illestren_a850r,
+ /obj/item/ammo_box/magazine/illestren_a850r)
cost = 1000
diff --git a/code/modules/cargo/packs/gun.dm b/code/modules/cargo/packs/gun.dm
index 6ca715889855..8cb9bad2e80e 100644
--- a/code/modules/cargo/packs/gun.dm
+++ b/code/modules/cargo/packs/gun.dm
@@ -19,7 +19,7 @@
/datum/supply_pack/gun/commanders
name = "Commander pistol crate"
- desc = "Contains two modified M1911 'Commander' pistols, produced by Nanotrasen and chambered in 9mm."
+ desc = "Contains two modified Candor 'Commander' pistols, produced by Nanotrasen and chambered in 9mm."
cost = 1500
contains = list(/obj/item/gun/ballistic/automatic/pistol/commander,
/obj/item/gun/ballistic/automatic/pistol/commander)
@@ -45,12 +45,12 @@
contains = list(/obj/item/gun/ballistic/revolver/detective,
/obj/item/gun/ballistic/revolver/detective)
-/datum/supply_pack/gun/cattlemanrevolver
- name = "Cattleman Revolver crate"
- desc = "Contains two concealable Cattleman revolvers, chambered in .45 ACP."
+/datum/supply_pack/gun/shadowrevolver
+ name = "Shadow Revolver crate"
+ desc = "Contains two concealable Shadow revolvers, chambered in .45 ACP."
cost = 2500
- contains = list(/obj/item/gun/ballistic/revolver/cattleman,
- /obj/item/gun/ballistic/revolver/cattleman)
+ contains = list(/obj/item/gun/ballistic/revolver/shadow,
+ /obj/item/gun/ballistic/revolver/shadow)
/*
@@ -86,42 +86,42 @@
Shotguns
*/
-/datum/supply_pack/gun/riot_shotgun
- name = "Riot Shotguns Crate"
- desc = "For when the greytide gets out of hand. Contains 2 pump shotguns, each with a 4-round magazine."
- cost = 2500
- contains = list(/obj/item/gun/ballistic/shotgun/lethal,
- /obj/item/gun/ballistic/shotgun/lethal)
+/datum/supply_pack/gun/hellfire_shotgun
+ name = "Hellfire Shotguns Crate"
+ desc = "For when you need to deal with 7 hooligans. Contains 2 pump shotguns, each with a 8-round capacity."
+ cost = 4500
+ contains = list(/obj/item/gun/ballistic/shotgun/hellfire,
+ /obj/item/gun/ballistic/shotgun/hellfire)
crate_name = "shotguns crate"
-/datum/supply_pack/gun/ballistic
- name = "Combat Shotguns Crate"
- desc = "For when the enemy absolutely needs to be replaced with lead. Contains two Aussec-designed combat shotguns."
+/datum/supply_pack/gun/brimstone_shotgun
+ name = "Brimstone Shotguns Crate"
+ desc = "For when you need to deal with 5 hooligans, and QUICKLY. Contains 2 slamfire shotguns, each with a 5-round capacity. Warranty voided if sawed off."
cost = 4500
- contains = list(/obj/item/gun/ballistic/shotgun/automatic/combat,
- /obj/item/gun/ballistic/shotgun/automatic/combat)
- crate_name = "combat shotguns crate"
+ contains = list(/obj/item/gun/ballistic/shotgun/brimstone,
+ /obj/item/gun/ballistic/shotgun/brimstone)
+ crate_name = "shotguns crate"
/*
Rifles
*/
/datum/supply_pack/gun/winchester
- name = "Winchester Lever Action Rifle Crate"
+ name = "Flaming Arrow Lever Action Rifle Crate"
desc = "Contains three antiquated lever action rifles intended for hunting wildlife. Chambered in .38 rounds."
cost = 1500
- contains = list(/obj/item/gun/ballistic/shotgun/winchester,
- /obj/item/gun/ballistic/shotgun/winchester,
- /obj/item/gun/ballistic/shotgun/winchester)
+ contains = list(/obj/item/gun/ballistic/shotgun/flamingarrow,
+ /obj/item/gun/ballistic/shotgun/flamingarrow,
+ /obj/item/gun/ballistic/shotgun/flamingarrow)
crate_name = "rifle crate"
/datum/supply_pack/gun/illestren
name = "Illestren Rifle Crate"
- desc = "Contains three expertly made bolt action rifles intended for hunting wildlife. Chambered in 7.62x54 rounds."
+ desc = "Contains three expertly made bolt action rifles intended for hunting wildlife. Chambered in 8x50mmR rounds."
cost = 4000
- contains = list(/obj/item/gun/ballistic/rifle/boltaction,
- /obj/item/gun/ballistic/rifle/boltaction,
- /obj/item/gun/ballistic/rifle/boltaction)
+ contains = list(/obj/item/gun/ballistic/rifle/illestren,
+ /obj/item/gun/ballistic/rifle/illestren,
+ /obj/item/gun/ballistic/rifle/illestren)
crate_name = "rifle crate"
/datum/supply_pack/gun/wt550
diff --git a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm
index 27d89d1b7226..431170b5f3dc 100644
--- a/code/modules/clothing/outfits/ert/frontiersmen_ert.dm
+++ b/code/modules/clothing/outfits/ert/frontiersmen_ert.dm
@@ -4,7 +4,7 @@
head = /obj/item/clothing/head/beret/sec/frontier
mask = /obj/item/clothing/mask/gas/sechailer/minutemen
suit = /obj/item/clothing/suit/armor/vest/bulletproof/frontier
- suit_store = /obj/item/gun/ballistic/rifle/boltaction
+ suit_store = /obj/item/gun/ballistic/rifle/illestren
uniform = /obj/item/clothing/under/rank/security/officer/frontier
shoes = /obj/item/clothing/shoes/combat
gloves = /obj/item/clothing/gloves/color/black
@@ -15,7 +15,7 @@
id = null // lol
- backpack_contents = list(/obj/item/ammo_box/a762=5, /obj/item/grenade/frag=1)
+ backpack_contents = list(/obj/item/ammo_box/magazine/illestren_a850r=5, /obj/item/grenade/frag=1)
/datum/outfit/job/frontiersmen/ert/random
name = "ERT - Frontiersman Randomized"
@@ -88,22 +88,22 @@
var/weapon = pick(list("Bolt-Action", "Pistol", "Melee"))
switch(weapon)
if("Bolt-Action")
- r_hand = /obj/item/gun/ballistic/rifle/boltaction
+ r_hand = /obj/item/gun/ballistic/rifle/illestren
if(prob(70) && istype(back, /obj/item/storage/backpack))
- backpack_contents += list(/obj/item/ammo_box/a762 = rand(1,4))
+ backpack_contents += list(/obj/item/ammo_box/magazine/illestren_a850r = rand(1,4))
if(prob(55))
- l_pocket = /obj/item/ammo_box/a762
+ l_pocket = /obj/item/ammo_box/magazine/illestren_a850r
if("Pistol")
r_hand = pick(list(
/obj/item/gun/ballistic/automatic/pistol/disposable,
/obj/item/gun/ballistic/automatic/pistol,
- /obj/item/gun/ballistic/revolver/pepperbox,
+ /obj/item/gun/ballistic/revolver/firebrand,
/obj/item/gun/energy/e_gun/mini))
if(prob(30))
l_hand = pick(list(
/obj/item/gun/ballistic/automatic/pistol/disposable,
/obj/item/gun/ballistic/automatic/pistol,
- /obj/item/gun/ballistic/revolver/pepperbox,
+ /obj/item/gun/ballistic/revolver/firebrand,
/obj/item/gun/energy/e_gun/mini))
if("Melee")
r_hand = pickweight(list(
@@ -124,10 +124,10 @@
ears = /obj/item/radio/headset/pirate/alt/captain
back = /obj/item/storage/backpack/satchel/leather
suit = /obj/item/clothing/suit/armor/frontier
- suit_store = /obj/item/gun/ballistic/revolver/nagant
+ suit_store = /obj/item/gun/ballistic/revolver
belt = /obj/item/storage/belt/military/assault
- backpack_contents = list(/obj/item/ammo_box/n762_clip=3, /obj/item/binoculars=1, /obj/item/kitchen/knife/combat/survival)
+ backpack_contents = list(/obj/item/ammo_box/a357=3, /obj/item/binoculars=1, /obj/item/kitchen/knife/combat/survival)
/datum/outfit/job/frontiersmen/ert/medic
name = "ERT - Frontiersman Medic"
diff --git a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm
index 2d397b8de828..7baeb4e4ca09 100644
--- a/code/modules/clothing/outfits/ert/nanotrasen_ert.dm
+++ b/code/modules/clothing/outfits/ert/nanotrasen_ert.dm
@@ -235,10 +235,10 @@
ears = /obj/item/radio/headset/headset_cent
glasses = /obj/item/clothing/glasses/sunglasses
belt = /obj/item/melee/classic_baton
- r_hand = /obj/item/gun/ballistic/rifle/boltaction
+ r_hand = /obj/item/gun/ballistic/rifle/illestren
back = /obj/item/storage/backpack/satchel
- l_pocket = /obj/item/ammo_box/a762
- r_pocket = /obj/item/ammo_box/a762
+ l_pocket = /obj/item/ammo_box/magazine/illestren_a850r
+ r_pocket = /obj/item/ammo_box/magazine/illestren_a850r
id = /obj/item/card/id/centcom
backpack_contents = list(/obj/item/storage/box/survival = 1)
/datum/outfit/centcom/centcom_intern/unarmed
@@ -263,7 +263,7 @@
name = "CentCom Head Intern"
belt = /obj/item/melee/baton/loaded
suit = /obj/item/clothing/suit/armor/vest
- suit_store = /obj/item/gun/ballistic/rifle/boltaction
+ suit_store = /obj/item/gun/ballistic/rifle/illestren
r_hand = /obj/item/megaphone
head = /obj/item/clothing/head/intern
diff --git a/code/modules/clothing/under/accessories.dm b/code/modules/clothing/under/accessories.dm
index 7bb36a9086b4..2f0660bffebf 100644
--- a/code/modules/clothing/under/accessories.dm
+++ b/code/modules/clothing/under/accessories.dm
@@ -512,7 +512,7 @@
/obj/item/clothing/accessory/holster/marine/Initialize()
. = ..()
- new /obj/item/gun/ballistic/automatic/pistol/m1911(src)
+ new /obj/item/gun/ballistic/automatic/pistol/candor(src)
new /obj/item/ammo_box/magazine/m45(src)
new /obj/item/ammo_box/magazine/m45(src)
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index 9ca494d431e9..2f262b562148 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -764,7 +764,7 @@ GLOBAL_LIST_INIT(hallucination_list, list(
"stun baton","flash","syringe gun","circular saw","tank transfer valve",\
"ritual dagger","spellbook",\
"pulse rifle","hypospray","ship blueprints",\
- "ship keys","M1911","Commander","credits","handcuffs","you",\
+ "ship keys","Candor","Commander","credits","handcuffs","you",\
)] into [equipped_backpack].")
message_pool.Add("[other] [pick("sneezes","coughs")].")
diff --git a/code/modules/mob/living/simple_animal/hostile/frontiersman.dm b/code/modules/mob/living/simple_animal/hostile/frontiersman.dm
index 1a71ed52da78..3d33bae0aca1 100644
--- a/code/modules/mob/living/simple_animal/hostile/frontiersman.dm
+++ b/code/modules/mob/living/simple_animal/hostile/frontiersman.dm
@@ -34,12 +34,12 @@
icon_state = "frontiersmanranged"
icon_living = "frontiersmanranged"
loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged,
- /obj/item/gun/ballistic/revolver/nagant)
+ /obj/item/gun/ballistic/revolver)
ranged = 1
retreat_distance = 5
minimum_distance = 5
projectilesound = 'sound/weapons/gun/revolver/shot.ogg'
- casingtype = /obj/item/ammo_casing/n762_38
+ casingtype = /obj/item/ammo_casing/a357
/mob/living/simple_animal/hostile/frontier/ranged/neutered
loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged)
@@ -48,8 +48,8 @@
icon_state = "frontiersmanrangedrifle"
icon_living = "frontiersmanrangedrifle"
loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged,
- /obj/item/gun/ballistic/rifle/boltaction)
- casingtype = /obj/item/ammo_casing/a762_54
+ /obj/item/gun/ballistic/rifle/illestren)
+ casingtype = /obj/item/ammo_casing/a8_50r
projectilesound = 'sound/weapons/gun/rifle/mosin.ogg'
/mob/living/simple_animal/hostile/frontier/ranged/mosin/neutered
@@ -63,7 +63,7 @@
projectilesound = 'sound/weapons/gun/shotgun/shot.ogg'
casingtype = /obj/item/ammo_casing/shotgun/buckshot
loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper,
- /obj/item/gun/ballistic/shotgun/lethal)
+ /obj/item/gun/ballistic/shotgun/brimstone)
/mob/living/simple_animal/hostile/frontier/ranged/trooper/neutered
loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper)
@@ -86,8 +86,8 @@
icon_living = "frontiersmanrangedmosin"
loot = list(/obj/effect/mob_spawn/human/corpse/frontier/ranged/trooper,
- /obj/item/gun/ballistic/rifle/boltaction)
- casingtype = /obj/item/ammo_casing/a762_54
+ /obj/item/gun/ballistic/rifle/illestren)
+ casingtype = /obj/item/ammo_casing/a8_50r
projectilesound = 'sound/weapons/gun/rifle/mosin.ogg'
/mob/living/simple_animal/hostile/frontier/ranged/trooper/rifle/neutered
diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
index 474c9c5d9ca6..124695ba9a38 100644
--- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
+++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/hivelord.dm
@@ -903,7 +903,7 @@
suit = /obj/item/clothing/suit/armor/roumain
head = /obj/item/clothing/head/cowboy/sec/roumain
if(prob(25))
- suit_store = /obj/item/gun/ballistic/shotgun/winchester
+ suit_store = /obj/item/gun/ballistic/shotgun/flamingarrow
r_pocket = /obj/item/book/manual/trickwines_4_brewers
belt = pick(list(/obj/item/kitchen/knife/hunting = 1, /obj/item/gun/ballistic/derringer = 1))
back = /obj/item/storage/backpack/cultpack
diff --git a/code/modules/mob/living/simple_animal/hostile/survivors.dm b/code/modules/mob/living/simple_animal/hostile/survivors.dm
index c0601050c54c..a1b52f981cec 100644
--- a/code/modules/mob/living/simple_animal/hostile/survivors.dm
+++ b/code/modules/mob/living/simple_animal/hostile/survivors.dm
@@ -324,7 +324,7 @@
suit_store = null
if (survivor_type == "hunter")
if(prob(20))
- new /obj/item/gun/ballistic/rifle/boltaction/polymer(loc)
+ new /obj/item/gun/ballistic/rifle/polymer(loc)
else
visible_message("The hunter's weapon shatters as they impact the ground!")
suit_store = null
diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm
index f8e1aa1dff1e..ee155db4e719 100644
--- a/code/modules/projectiles/ammunition/_firing.dm
+++ b/code/modules/projectiles/ammunition/_firing.dm
@@ -34,7 +34,8 @@
if (zone_override)
BB.def_zone = zone_override
else
- BB.def_zone = user.zone_selected
+ if(user)
+ BB.def_zone = user.zone_selected
BB.suppressed = quiet
if(isgun(fired_from))
@@ -66,6 +67,23 @@
BB = null
return TRUE
+#define BULLET_POP_CHANCE 30
+
+/obj/item/ammo_casing/fire_act(exposed_temperature, exposed_volume)
+ . = ..()
+ if(!prob(BULLET_POP_CHANCE) || !BB)
+ return
+ ready_proj()
+ BB.trajectory_ignore_forcemove = TRUE
+ BB.forceMove(get_turf(src))
+ BB.trajectory_ignore_forcemove = FALSE
+ BB.starting = get_turf(src)
+ BB.fire(rand(0,360))
+ BB = null
+ playsound(src, 'sound/weapons/gun/pistol/shot.ogg', 100, TRUE)
+ update_appearance()
+ return TRUE
+
/obj/item/ammo_casing/proc/spread(turf/target, turf/current, distro)
var/dx = abs(target.x - current.x)
var/dy = abs(target.y - current.y)
diff --git a/code/modules/projectiles/ammunition/ballistic/pistol.dm b/code/modules/projectiles/ammunition/ballistic/pistol.dm
index b9237ea91b4d..a105ae6602ee 100644
--- a/code/modules/projectiles/ammunition/ballistic/pistol.dm
+++ b/code/modules/projectiles/ammunition/ballistic/pistol.dm
@@ -76,7 +76,7 @@
bullet_skin = "rubber"
projectile_type = /obj/projectile/bullet/c9mm/rubber
-// .45 (M1911 + C20r)
+// .45 (Candor + C20r)
/obj/item/ammo_casing/c45
name = ".45 bullet casing"
diff --git a/code/modules/projectiles/ammunition/ballistic/revolver.dm b/code/modules/projectiles/ammunition/ballistic/revolver.dm
index 47ad1b7aba84..a15eac049667 100644
--- a/code/modules/projectiles/ammunition/ballistic/revolver.dm
+++ b/code/modules/projectiles/ammunition/ballistic/revolver.dm
@@ -4,6 +4,7 @@
name = ".357 bullet casing"
desc = "A .357 bullet casing."
caliber = ".357"
+ icon_state = "magnum-brass"
projectile_type = /obj/projectile/bullet/a357
/obj/item/ammo_casing/a357/match
@@ -15,14 +16,17 @@
/obj/item/ammo_casing/a357/hp
name = ".357 hollow point bullet casing"
desc = "A .357 hollow point bullet casing."
+ icon_state = "magnum-brass"
+ bullet_skin = "hollow"
projectile_type = /obj/projectile/bullet/a357/hp
-// .45-70 (Hunting Revolver, Contender)
+// .45-70 (Hunting Revolver, Beacon)
/obj/item/ammo_casing/a4570
name = ".45-70 bullet casing"
desc = "A .45-70 bullet casing."
caliber = ".45-70"
+ icon_state = "magnum-brass"
projectile_type = /obj/projectile/bullet/a4570
/obj/item/ammo_casing/a4570/match
@@ -42,15 +46,6 @@
desc = "A .45-70 explosive bullet casing."
projectile_type = /obj/projectile/bullet/a4570/explosive
-// 7.62x38mmR (Nagant Revolver)
-
-/obj/item/ammo_casing/n762_38
- name = "7.62x38mmR bullet casing"
- desc = "A 7.62x38mmR bullet casing."
- caliber = "7.62x38mmR"
- projectile_type = /obj/projectile/bullet/n762
-
-
// .38 Special (Colt Detective Special & Winchester)
/obj/item/ammo_casing/c38
diff --git a/code/modules/projectiles/ammunition/ballistic/rifle.dm b/code/modules/projectiles/ammunition/ballistic/rifle.dm
index 63c8340e99bd..a615fc97d2fa 100644
--- a/code/modules/projectiles/ammunition/ballistic/rifle.dm
+++ b/code/modules/projectiles/ammunition/ballistic/rifle.dm
@@ -1,11 +1,11 @@
-// 7.62x54mmR (Illestren Hunting Rifle)
+// 8x50mmR (Illestren Hunting Rifle)
-/obj/item/ammo_casing/a762_54
- name = "7.62x54mmR bullet casing"
- desc = "A 7.62x54mmR bullet casing."
+/obj/item/ammo_casing/a8_50r
+ name = "8x50mmR bullet casing"
+ desc = "A 8x50mmR bullet casing."
icon_state = "rifle-brass"
- caliber = "7.62x54mmR"
- projectile_type = /obj/projectile/bullet/a762_54
+ caliber = "8x50mmR"
+ projectile_type = /obj/projectile/bullet/a8_50r
// 8x58mm Caseless (SSG-669C)
@@ -21,7 +21,7 @@
/obj/item/ammo_casing/a300
name = ".300 Magnum bullet casing"
desc = "A .300 Magnum bullet casing."
- icon_state = "rifle-brass"
+ icon_state = "rifle-steel"
caliber = "a300"
projectile_type = /obj/projectile/bullet/a300
@@ -78,14 +78,14 @@
caliber = ".300 BLK"
projectile_type = /obj/projectile/bullet/aac_300blk
-//.308 Winchester (M514 EBR & CM-GAL-S)
+//.308 (M514 EBR & CM-GAL-S)
-/obj/item/ammo_casing/win308
- name = ".308 Winchester bullet casing"
- desc = "A .308 Winchester bullet casing."
- icon_state = "rifle-steel"
- caliber = ".308 Winchester"
- projectile_type = /obj/projectile/bullet/win308
+/obj/item/ammo_casing/a308
+ name = ".308 bullet casing"
+ desc = "A .308 bullet casing."
+ icon_state = "rifle-brass"
+ caliber = ".308"
+ projectile_type = /obj/projectile/bullet/a308
/obj/item/ammo_casing/caseless/c299
name = ".229 Eoehoma caseless bullet casing"
diff --git a/code/modules/projectiles/ammunition/energy/laser.dm b/code/modules/projectiles/ammunition/energy/laser.dm
index dd68cd2e5619..401fab165957 100644
--- a/code/modules/projectiles/ammunition/energy/laser.dm
+++ b/code/modules/projectiles/ammunition/energy/laser.dm
@@ -31,7 +31,7 @@
projectile_type = /obj/projectile/beam/laser/weak/negative_ap
e_cost = 799 //12 shots with a normal power cell, 25 with an upgraded
select_name = "kill"
- delay = 0.2 SECONDS
+ delay = 0.1 SECONDS
/obj/item/ammo_casing/energy/lasergun/old
projectile_type = /obj/projectile/beam/laser
diff --git a/code/modules/projectiles/ammunition/energy/stun.dm b/code/modules/projectiles/ammunition/energy/stun.dm
index c47a88b38830..917e1c8c8189 100644
--- a/code/modules/projectiles/ammunition/energy/stun.dm
+++ b/code/modules/projectiles/ammunition/energy/stun.dm
@@ -46,4 +46,4 @@
/obj/item/ammo_casing/energy/disabler/smg
projectile_type = /obj/projectile/beam/disabler/weak/negative_ap
e_cost = 330
- delay = 0.2 SECONDS
+ delay = 0.1 SECONDS
diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm
index c3989e7a4952..6b04646697e2 100644
--- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm
+++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm
@@ -94,14 +94,14 @@
if(istype(A, /obj/item/ammo_box))
var/obj/item/ammo_box/AM = A
for(var/obj/item/ammo_casing/AC in AM.stored_ammo)
- if(!((instant_load && AM.instant_load) || do_after_mob(user, list(AM), 1 SECONDS,)))
+ if(!((instant_load && AM.instant_load) || (stored_ammo.len >= max_ammo) || do_after_mob(user, list(AM), 1 SECONDS,)))
break
var/did_load = give_round(AC, replace_spent)
if(!did_load)
break
AM.stored_ammo -= AC
if(!silent)
- playsound(AM, 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use AM
+ playsound(get_turf(AM), 'sound/weapons/gun/general/mag_bullet_insert.ogg', 60, TRUE) //src is nullspaced, which means internal magazines won't properly play sound, thus we use AM
num_loaded++
A.update_appearance()
update_appearance()
@@ -173,6 +173,11 @@
if(!(caliber || istype(src, /obj/item/ammo_box/magazine) || instant_load))
. += "Alt-click on [src] while it in a pocket or your off-hand to take out a round while it is there."
+/obj/item/ammo_box/fire_act(exposed_temperature, exposed_volume)
+ . = ..()
+ for(var/obj/item/ammo_casing/bullet2pop in stored_ammo)
+ bullet2pop.fire_act()
+
/obj/item/ammo_box/magazine
w_class = WEIGHT_CLASS_SMALL //Default magazine weight, only differs for tiny mags and drums
@@ -201,3 +206,4 @@
/obj/item/ammo_box/magazine/handle_atom_del(atom/A)
stored_ammo -= A
update_ammo_count()
+
diff --git a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm
index e8c47f60f85b..ab8e65c069bf 100644
--- a/code/modules/projectiles/boxes_magazines/ammo_boxes.dm
+++ b/code/modules/projectiles/boxes_magazines/ammo_boxes.dm
@@ -24,44 +24,30 @@
// .45-70 Ammo Holders (Hunting Revolver)
/obj/item/ammo_box/a4570
- name = "ammo holder (.45-70)"
- desc = "A 6-round ammo holder for .45-70 revolvers. These rounds do significant damage with average performance against armor."
+ name = "ammo box (.45-70)"
+ desc = "A box of top grade .45-70 ammo. These rounds do significant damage with average performance against armor."
icon_state = "4570"
ammo_type = /obj/item/ammo_casing/a4570
- max_ammo = 6
- multiple_sprites = AMMO_BOX_PER_BULLET
- item_flags = NO_MAT_REDEMPTION
- w_class = WEIGHT_CLASS_TINY
- instant_load = TRUE
+ max_ammo = 12
/obj/item/ammo_box/a4570/match
name = "ammo holder (.45-70 match)"
desc = "A 6-round ammo holder for .45-70 revolvers. These match rounds travel faster, perform better against armor, and can ricochet off targets."
+ icon_state = "4570-match"
ammo_type = /obj/item/ammo_casing/a4570/match
/obj/item/ammo_box/a4570/hp
name = "ammo holder (.45-70 hollow point)"
desc = "A 6-round ammo holder for .45-70 revolvers. These hollow point rounds do legendary damage against soft targets, but are nearly ineffective against armored ones."
+ icon_state = "4570-hp"
ammo_type = /obj/item/ammo_casing/a357/hp
/obj/item/ammo_box/a4570/explosive
name = "ammo holder (.45-70 explosive)"
desc = "A 6-round ammo holder for .45-70 revolvers. These explosive rounds contain a small explosive charge that detonates on impact, creating large wounds and potentially removing limbs."
+ icon_state = "4570-explosive"
ammo_type = /obj/item/ammo_casing/a4570/explosive
-// 7.62x38mmR Ammo Holders (Nagant Revolver)
-
-/obj/item/ammo_box/n762_clip
- name = "ammo holder (7.62x38mmR)"
- desc = "A 7-round ammo holder for the Nagant revolver. These rounds do good damage, but struggle against armor."
- icon_state = "n762"
- ammo_type = /obj/item/ammo_casing/n762_38
- max_ammo = 7
- multiple_sprites = AMMO_BOX_PER_BULLET
- item_flags = NO_MAT_REDEMPTION
- w_class = WEIGHT_CLASS_TINY
- instant_load = TRUE
-
// .38 special Speed Loaders (Colt Detective Special)
/obj/item/ammo_box/c38
@@ -105,34 +91,48 @@
desc = "A 6-round speed loader for quickly reloading .38 special revolvers. These iceblox bullets contain a cryogenic payload that chills targets."
ammo_type = /obj/item/ammo_casing/c38/iceblox
-// 7.62x54mmR Stripper Clip (Illestren Hunting Rifle)
+// 8x58mm Stripper Clip (SSG-669C)
+
+/obj/item/ammo_box/a858
+ name = "stripper clip (8x58mm)"
+ desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration."
+ icon_state = "858"
+ ammo_type = /obj/item/ammo_casing/caseless/a858
+ max_ammo = 5
+ multiple_sprites = AMMO_BOX_PER_BULLET
+ instant_load = TRUE
+
+// .308 Stripper Clip (Vickland)
-/obj/item/ammo_box/a762
- name = "stripper clip (7.62x54mmR)"
- desc = "A 5-round stripper clip for the Illestren Hunting Rifle. These rounds do good damage with significant armor penetration."
- icon_state = "762"
- ammo_type = /obj/item/ammo_casing/a762_54
+/obj/item/ammo_box/vickland_a308
+ name = "stripper clip (.308)"
+ desc = "A 5-round stripper clip for the Vickland Battle Rifle. The Vickland itself has a 10 round capacity, so keep in mind two of these are needed to fully reload it. These rounds do good damage with significant armor penetration."
+ icon_state = "308"
+ ammo_type = /obj/item/ammo_casing/a308
max_ammo = 5
multiple_sprites = AMMO_BOX_PER_BULLET
w_class = WEIGHT_CLASS_TINY
instant_load = TRUE
-// 8x58mm Stripper Clip (SSG-669C)
-/obj/item/ammo_box/a858
- name = "stripper clip (8x58mm)"
- desc = "A 5-round stripper clip for the SSG-669C rifle. These rounds do good damage with significant armor penetration."
- icon_state = "762"
- ammo_type = /obj/item/ammo_casing/caseless/a858
+// .300 Magnum Stripper Clip (Scout)
+
+/obj/item/ammo_box/a300
+ name = "stripper clip (.300 Magnum)"
+ desc = "A 5-round stripper clip for the Scout Rifle. These rounds do great damage with significant armor penetration."
+ icon_state = "300m"
+ ammo_type = /obj/item/ammo_casing/a300
max_ammo = 5
multiple_sprites = AMMO_BOX_PER_BULLET
+ w_class = WEIGHT_CLASS_TINY
+ instant_load = TRUE
// .300 Blackout Stripper Clip (Polymer Survivor Rifle)
/obj/item/ammo_box/aac_300blk_stripper
name = "stripper clip (.300 BLK)"
desc = "A 5-round stripper clip for makeshift bolt-action rifles. These rounds do good damage with good armor penetration."
- icon_state = "762"
+ icon_state = "300m"
ammo_type = /obj/item/ammo_casing/aac_300blk
caliber = ".300 BLK"
max_ammo = 5
@@ -336,13 +336,6 @@
multiple_sprites = AMMO_BOX_PER_BULLET
w_class = WEIGHT_CLASS_NORMAL
-/obj/item/ammo_box/n762
- name = "ammo box (7.62x38mmR)"
- icon_state = "n762box"
- desc = "A box of unusual revolver ammunition with the bullet seated below the mouth of the cartridge."
- ammo_type = /obj/item/ammo_casing/n762_38
- max_ammo = 28
-
/obj/item/ammo_box/a762_39
name = "ammo box (7.62x39mm)"
icon_state = "a762_39box"
@@ -352,9 +345,12 @@
/obj/item/ammo_box/a308
name = "ammo box (.308)"
icon_state = "a308box"
- ammo_type = /obj/item/ammo_casing/win308
+ ammo_type = /obj/item/ammo_casing/a308
max_ammo = 30
+/obj/item/ammo_box/a308/hunterspride //just an alternative graphic for srm ships
+ icon_state = "a308box-HP"
+
/obj/item/ammo_box/foambox
name = "ammo box (Foam Darts)"
icon = 'icons/obj/guns/toy.dmi'
diff --git a/code/modules/projectiles/boxes_magazines/external/lmg.dm b/code/modules/projectiles/boxes_magazines/external/lmg.dm
index 402db1502853..fdf1b7985b29 100644
--- a/code/modules/projectiles/boxes_magazines/external/lmg.dm
+++ b/code/modules/projectiles/boxes_magazines/external/lmg.dm
@@ -1,7 +1,7 @@
/obj/item/ammo_box/magazine/mm712x82
name = "box magazine (7.12x82mm)"
desc = "A 50-round box magazine for the L6 SAW machine gun. These rounds do moderate damage with significant armor penetration."
- icon_state = "a762-50"
+ icon_state = "a762-100"
base_icon_state = "a762"
ammo_type = /obj/item/ammo_casing/mm712x82
caliber = "7.12x82mm"
diff --git a/code/modules/projectiles/boxes_magazines/external/pistol.dm b/code/modules/projectiles/boxes_magazines/external/pistol.dm
index 0c25c8a2282e..e96d8d434ddb 100644
--- a/code/modules/projectiles/boxes_magazines/external/pistol.dm
+++ b/code/modules/projectiles/boxes_magazines/external/pistol.dm
@@ -33,7 +33,7 @@
/obj/item/ammo_box/magazine/m45
name = "pistol magazine (.45)"
- desc = "An 8-round single-stack magazine for the M1911 pistol. These rounds do moderate damage, but struggle against armor."
+ desc = "An 8-round single-stack magazine for the Candor pistol. These rounds do moderate damage, but struggle against armor."
icon_state = "45-8"
base_icon_state = "45"
ammo_type = /obj/item/ammo_casing/c45
@@ -42,22 +42,22 @@
/obj/item/ammo_box/magazine/m45/inc
name = "pistol magazine (.45 incendiary)"
- desc = "An 8-round single-stack magazine for the M1911 pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze."
+ desc = "An 8-round single-stack magazine for the Candor pistol. These incendiary rounds deal mediocre damage, but leave flaming trails which set targets ablaze."
ammo_type = /obj/item/ammo_casing/c45/inc
/obj/item/ammo_box/magazine/m45/hp
name = "pistol magazine (.45 HP)"
- desc= "An 8-round single-stack magazine for the M1911 pistol. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones."
+ desc= "An 8-round single-stack magazine for the Candor pistol. These hollow point rounds do incredible damage against soft targets, but are nearly ineffective against armored ones."
ammo_type = /obj/item/ammo_casing/c45/hp
/obj/item/ammo_box/magazine/m45/ap
name = "pistol magazine (.45 AP)"
- desc= "An 8-round single-stack magazine for the M1911 pistol. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power."
+ desc= "An 8-round single-stack magazine for the Candor pistol. These armor-piercing rounds are okay at piercing protective equipment, but lose some stopping power."
ammo_type = /obj/item/ammo_casing/c45/ap
/obj/item/ammo_box/magazine/m45/rubber
name = "pistol magazine (.45 rubber)"
- desc = "An 8-round single-stack magazine for the M1911 pistol. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor."
+ desc = "An 8-round single-stack magazine for the Candor pistol. These rubber rounds trade lethality for a heavy impact which can incapacitate targets. Performs even worse against armor."
ammo_type = /obj/item/ammo_casing/c45/rubber
/obj/item/ammo_box/magazine/m45/update_icon_state()
@@ -123,9 +123,9 @@
name = "part of a disposable gun"
desc = "You ripped out part of the gun, somehow, rendering it unusuable. I hope you're happy."
icon_state = "45-8"
- ammo_type = /obj/item/ammo_casing/c38
- caliber = ".38"
- max_ammo = 3
+ ammo_type = /obj/item/ammo_casing/c22lr
+ caliber = ".22lr"
+ max_ammo = 10
w_class = WEIGHT_CLASS_TINY
/obj/item/ammo_box/magazine/zip_ammo_9mm
diff --git a/code/modules/projectiles/boxes_magazines/external/rifle.dm b/code/modules/projectiles/boxes_magazines/external/rifle.dm
index 786bf8e9dfb6..e946d4c3287d 100644
--- a/code/modules/projectiles/boxes_magazines/external/rifle.dm
+++ b/code/modules/projectiles/boxes_magazines/external/rifle.dm
@@ -71,11 +71,11 @@
icon_state = "ak47_mag-[!!ammo_count()]"
/obj/item/ammo_box/magazine/ebr
- name = "battle rifle magazine (.308 Winchester)"
+ name = "battle rifle magazine (.308)"
desc = "A small, 10-round steel magazine for the M514 EBR. These rounds do good damage with significant armor penetration."
icon_state = "ebr_mag"
- ammo_type = /obj/item/ammo_casing/win308
- caliber = ".308 Winchester"
+ ammo_type = /obj/item/ammo_casing/a308
+ caliber = ".308"
max_ammo = 10
/obj/item/ammo_box/magazine/ebr/update_icon_state()
@@ -83,11 +83,11 @@
icon_state = "ebr_mag-[!!ammo_count()]"
/obj/item/ammo_box/magazine/gal
- name = "\improper GAL Magazine (.308 Winchester)"
+ name = "\improper GAL Magazine (.308)"
desc = "A standard 10-round magazine for GAL platform DMRs. These rounds do good damage with significant armor penetration."
icon_state = "ebr_mag"
- ammo_type = /obj/item/ammo_casing/win308
- caliber = ".308 Winchester"
+ ammo_type = /obj/item/ammo_casing/a308
+ caliber = ".308"
max_ammo = 10
/obj/item/ammo_box/magazine/gal/update_icon_state()
@@ -128,3 +128,14 @@
/obj/item/ammo_box/magazine/e40/update_icon_state()
. = ..()
icon_state = "e40_mag-[!!ammo_count()]"
+
+// 8x50mmR En Bloc Clip (Illestren Hunting Rifle)
+
+/obj/item/ammo_box/magazine/illestren_a850r //this is a magazine codewise do nothing breaks
+ name = "en bloc clip (8x50mmR)"
+ desc = "A 5-round en bloc clip for the Illestren Hunting Rifle. These rounds do good damage with significant armor penetration."
+ icon_state = "enbloc_858"
+ ammo_type = /obj/item/ammo_casing/a8_50r
+ max_ammo = 5
+ multiple_sprites = AMMO_BOX_PER_BULLET
+ w_class = WEIGHT_CLASS_TINY
diff --git a/code/modules/projectiles/boxes_magazines/external/smg.dm b/code/modules/projectiles/boxes_magazines/external/smg.dm
index 587718e5caad..7e5f418ec7b2 100644
--- a/code/modules/projectiles/boxes_magazines/external/smg.dm
+++ b/code/modules/projectiles/boxes_magazines/external/smg.dm
@@ -97,16 +97,29 @@
. = ..()
icon_state = "c20r45-[round(ammo_count(),2)]"
-/obj/item/ammo_box/magazine/smgm45/drum
- name = "drum magazine (.45)"
- desc = "A bulky, 50-round drum magazine for .45 submachine guns. These rounds do moderate damage, but struggle against armor."
- icon_state = "drum45"
+/obj/item/ammo_box/magazine/c45_firestorm_mag
+ name = "stick magazine (.45)"
+ desc = "A 28-round stick magazine for the toploading Firestorm submachine gun. These rounds do moderate damage, but struggle against armor."
+ icon_state = "firestorm_mag"
+ base_icon_state = "firestorm_mag"
+ ammo_type = /obj/item/ammo_casing/c45
+ caliber = ".45"
+ max_ammo = 28
+
+/obj/item/ammo_box/magazine/c45_firestorm_mag/update_icon_state()
+ . = ..()
+ icon_state = "firestorm_mag-[!!ammo_count()]"
+
+/obj/item/ammo_box/magazine/c45_firestorm_mag/pan
+ name = "pan magazine (.45)"
+ desc = "A bulky, 50-round pan magazine for the toploading Firestorm submachine gun. These rounds struggle against armor, but with this many you could cut anyone down regardless."
+ icon_state = "firestorm_pan"
max_ammo = 50
w_class = WEIGHT_CLASS_NORMAL
-/obj/item/ammo_box/magazine/smgm45/drum/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery
+/obj/item/ammo_box/magazine/c45_firestorm_mag/pan/update_icon_state() //Causes the mag to NOT inherit the parent's update_icon oooh the misery
. = ..()
- icon_state = "drum45"
+ icon_state = "firestorm_pan"
/obj/item/ammo_box/magazine/pistol556mm
name = "handgun magazine (5.56mm HITP caseless)"
diff --git a/code/modules/projectiles/boxes_magazines/external/toy.dm b/code/modules/projectiles/boxes_magazines/external/toy.dm
index 7ed352a1941a..ab9656cdf111 100644
--- a/code/modules/projectiles/boxes_magazines/external/toy.dm
+++ b/code/modules/projectiles/boxes_magazines/external/toy.dm
@@ -49,8 +49,8 @@
/obj/item/ammo_box/magazine/toy/m762
name = "donksoft box magazine"
desc = "A huge toy LMG magazine designed to fit vast quantities of harmless foam darts."
- icon_state = "a762-toy"
- base_icon_state = "a762"
+ icon_state = "a850r-toy"
+ base_icon_state = "a850r"
caliber = "foam_force"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart
max_ammo = 50
@@ -62,5 +62,5 @@
/obj/item/ammo_box/magazine/toy/m762/riot
desc = "A huge toy LMG magazine designed to fit vast quantities of legally-harmless riot control darts."
- icon_state = "a762-riot"
+ icon_state = "a850r-riot"
ammo_type = /obj/item/ammo_casing/caseless/foam_dart/riot
diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
index 7715d31b1323..0c3bdac1be36 100644
--- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm
@@ -5,12 +5,9 @@
max_ammo = 6
instant_load = TRUE
-/obj/item/ammo_box/magazine/internal/cylinder/rev762
- name = "\improper Nagant revolver cylinder"
- ammo_type = /obj/item/ammo_casing/n762_38
- caliber = "7.62x38mmR"
+/obj/item/ammo_box/magazine/internal/cylinder/rev38/big
+ name = "\improper Montagne cylinder"
max_ammo = 7
- instant_load = FALSE
/obj/item/ammo_box/magazine/internal/cylinder/rev4570
name = "hunting revolver cylinder"
diff --git a/code/modules/projectiles/boxes_magazines/internal/rifle.dm b/code/modules/projectiles/boxes_magazines/internal/rifle.dm
index b85b223c254b..921ff98293a1 100644
--- a/code/modules/projectiles/boxes_magazines/internal/rifle.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/rifle.dm
@@ -1,14 +1,14 @@
/obj/item/ammo_box/magazine/internal/boltaction
name = "bolt action rifle internal magazine"
desc = "Oh god, this shouldn't be here"
- ammo_type = /obj/item/ammo_casing/a762_54
- caliber = "7.62x54mmR"
+ ammo_type = /obj/item/ammo_casing/a8_50r
+ caliber = "8x50mmR"
max_ammo = 5
instant_load = TRUE
/obj/item/ammo_box/magazine/internal/boltaction/enchanted
max_ammo = 1
- ammo_type = /obj/item/ammo_casing/a762_54
+ ammo_type = /obj/item/ammo_casing/a8_50r
/obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage
ammo_type = /obj/item/ammo_casing/magic/arcane_barrage
@@ -32,3 +32,10 @@
ammo_type = /obj/item/ammo_casing/aac_300blk
caliber = ".300 BLK"
max_ammo = 5
+
+/obj/item/ammo_box/magazine/internal/vickland
+ name = "Vickland battle rifle internal magazine"
+ ammo_type = /obj/item/ammo_casing/a308
+ caliber = ".308"
+ max_ammo = 10
+ instant_load = TRUE
diff --git a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm
index 2b3adeea371d..38c99aec9372 100644
--- a/code/modules/projectiles/boxes_magazines/internal/shotgun.dm
+++ b/code/modules/projectiles/boxes_magazines/internal/shotgun.dm
@@ -35,8 +35,8 @@
/obj/item/ammo_box/magazine/internal/shot/riot
name = "riot shotgun internal magazine"
- ammo_type = /obj/item/ammo_casing/shotgun/rubbershot
- max_ammo = 6
+ ammo_type = /obj/item/ammo_casing/shotgun/buckshot
+ max_ammo = 7
/obj/item/ammo_box/magazine/internal/shot/bounty
name = "triple-barrel shotgun internal magazine"
@@ -47,13 +47,10 @@
name = "winchester internal magazine"
ammo_type = /obj/item/ammo_casing/c38
caliber = ".38"
- max_ammo = 7
-
-/obj/item/ammo_box/magazine/internal/shot/winchester/lethal
- ammo_type = /obj/item/ammo_casing/c38
+ max_ammo = 12
-/obj/item/ammo_box/magazine/internal/shot/contender
- name = "contender internal magazine"
+/obj/item/ammo_box/magazine/internal/shot/beacon
+ name = "beacon internal magazine"
ammo_type = /obj/item/ammo_casing/a4570
caliber = ".45-70"
max_ammo = 1
diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm
index 642fcdf0c0b0..b640390ebfe4 100644
--- a/code/modules/projectiles/guns/ballistic.dm
+++ b/code/modules/projectiles/guns/ballistic.dm
@@ -60,6 +60,8 @@
var/empty_indicator = FALSE
///Whether the gun alarms when empty or not.
var/empty_alarm = FALSE
+ ///Do we eject the magazine upon runing out of ammo?
+ var/empty_autoeject = FALSE
///Whether the gun supports multiple special mag types
var/special_mags = FALSE
///The bolt type of the gun, affects quite a bit of functionality, see combat.dm defines for bolt types: BOLT_TYPE_STANDARD; BOLT_TYPE_LOCKING; BOLT_TYPE_OPEN; BOLT_TYPE_NO_BOLT
@@ -240,8 +242,8 @@
else
to_chat(user, "Your reload was interupted!")
return
-
- user.put_in_hands(old_mag)
+ if(user)
+ user.put_in_hands(old_mag)
update_appearance()
/obj/item/gun/ballistic/can_shoot()
@@ -338,6 +340,9 @@
if (empty_alarm && last_shot_succeeded)
playsound(src, empty_alarm_sound, empty_alarm_volume, empty_alarm_vary)
update_appearance()
+ if (empty_autoeject && last_shot_succeeded && !internal_magazine)
+ eject_magazine(display_message = FALSE)
+ update_appearance()
if (last_shot_succeeded && bolt_type == BOLT_TYPE_LOCKING)
bolt_locked = TRUE
update_appearance()
@@ -403,6 +408,7 @@
. += "The [bolt_wording] is locked back and needs to be released before firing."
if (suppressed)
. += "It has a suppressor attached that can be removed with alt+click."
+ . += "You can [bolt_wording] [src] by pressing the unqiue action key. By default, this is space"
///Gets the number of bullets in the gun
/obj/item/gun/ballistic/proc/get_ammo(countchambered = TRUE)
diff --git a/code/modules/projectiles/guns/ballistic/assault.dm b/code/modules/projectiles/guns/ballistic/assault.dm
index ab54f3dd247c..576a914cce01 100644
--- a/code/modules/projectiles/guns/ballistic/assault.dm
+++ b/code/modules/projectiles/guns/ballistic/assault.dm
@@ -128,22 +128,6 @@
icon_state = "cm16"
item_state = "cm16"
-/obj/item/gun/ballistic/automatic/assault/ar
- name = "\improper NT-ARG 'Boarder'"
- desc = "A burst-fire 5.56mm carbine occasionally found in the hands of Nanotrasen marines."
- fire_sound = 'sound/weapons/gun/rifle/shot_alt2.ogg'
- icon_state = "arg"
- item_state = "arg"
- slot_flags = 0
- mag_type = /obj/item/ammo_box/magazine/p16
- can_suppress = FALSE
- burst_size = 3
- fire_delay = 1
-
-/obj/item/gun/ballistic/automatic/assault/ar/ComponentInitialize()
- . = ..()
- AddComponent(/datum/component/automatic_fire, 0.2 SECONDS)
-
/obj/item/gun/ballistic/automatic/assault/swiss_cheese
name = "\improper Swiss Cheese"
desc = "An ancient longarm famous for its boxy, modular design. The DMA on this unit is, sadly, broken. Uses 5.56mm ammunition for Matter mode."
@@ -319,3 +303,28 @@
w_class = WEIGHT_CLASS_NORMAL
ammo_type = list(/obj/item/ammo_casing/energy/laser/assault)
fire_delay = 2
+
+//techinically a battle rifle, i'm putting it here for organisation sake
+
+/obj/item/gun/ballistic/automatic/vickland //weapon designed by Apogee-dev
+ name = "\improper Vickland"
+ desc = "The pride of the Saint-Roumain Militia, the Vickland is a rare semi-automatic battle rifle produced by Hunter's Pride exclusively for SRM use. It is unusual in its class for its internal rotary magazine, which must be reloaded using stripper clips. Chambered in .308."
+ icon = 'icons/obj/guns/48x32guns.dmi'
+ fire_sound = 'sound/weapons/gun/rifle/vickland.ogg'
+ icon_state = "vickland"
+ item_state = "vickland"
+ weapon_weight = WEAPON_MEDIUM
+ w_class = WEIGHT_CLASS_BULKY
+ internal_magazine = TRUE
+ mag_type = /obj/item/ammo_box/magazine/internal/vickland
+ fire_sound = 'sound/weapons/gun/rifle/vickland.ogg'
+ burst_size = 0
+ actions_types = list()
+ manufacturer = MANUFACTURER_HUNTERSPRIDE
+
+ rack_sound = 'sound/weapons/gun/rifle/ar_cock.ogg'
+
+ spread_unwielded = 25
+ recoil = 0
+ recoil_unwielded = 4
+ wield_slowdown = 0.75
diff --git a/code/modules/projectiles/guns/ballistic/automatic.dm b/code/modules/projectiles/guns/ballistic/automatic.dm
index 841e36927cb5..7cbd8574ba86 100644
--- a/code/modules/projectiles/guns/ballistic/automatic.dm
+++ b/code/modules/projectiles/guns/ballistic/automatic.dm
@@ -128,7 +128,7 @@
/obj/item/gun/ballistic/automatic/ebr
name = "\improper M514 EBR"
- desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308 Winchester. Effective against personnel and armor alike."
+ desc = "A reliable, high-powered battle rifle often found in the hands of Syndicate personnel and remnants, chambered in .308. Effective against personnel and armor alike."
icon = 'icons/obj/guns/48x32guns.dmi'
lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi'
righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi'
diff --git a/code/modules/projectiles/guns/ballistic/gauss.dm b/code/modules/projectiles/guns/ballistic/gauss.dm
index b8b8e36e04b7..400633520129 100644
--- a/code/modules/projectiles/guns/ballistic/gauss.dm
+++ b/code/modules/projectiles/guns/ballistic/gauss.dm
@@ -42,9 +42,9 @@
empty_indicator = FALSE
manufacturer = MANUFACTURER_SOLARARMORIES
recoil = 1
- recoil_unwielded = 2
+ recoil_unwielded = 4
spread = 3
- spread_unwielded = 6
+ spread_unwielded = 12
/obj/item/gun/ballistic/automatic/powered/gauss/claris
@@ -66,8 +66,8 @@
manufacturer = MANUFACTURER_SOLARARMORIES
/obj/item/gun/ballistic/automatic/powered/gauss/gar
- name = "Solar 'GAR' Assault Rifle"
- desc = "A Solarian assault rifle, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds."
+ name = "Solar 'GAR' Carbine"
+ desc = "A Solarian carbine, unusually modern for its producers. Launches ferromagnetic lances at alarming speeds."
mag_type = /obj/item/ammo_box/magazine/gar
icon = 'icons/obj/guns/48x32guns.dmi'
icon_state = "gar"
@@ -76,14 +76,13 @@
load_sound = 'sound/weapons/gun/gauss/rifle_reload.ogg'
cell_type = /obj/item/stock_parts/cell/gun/solgov
burst_size = 2
- fire_delay = 2
+ fire_delay = 1
actions_types = list()
empty_indicator = FALSE
manufacturer = MANUFACTURER_SOLARARMORIES
wield_delay = 0.7 SECONDS
- fire_delay = 1
/obj/item/gun/ballistic/automatic/powered/gauss/gar/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.2 SECONDS) //setiting this to 0.1 breaks auotfire, not sure why, so we use the standard fire rate but in 2 shot bursts to shoot 'faster'
+ AddComponent(/datum/component/automatic_fire, 0.2 SECONDS)
diff --git a/code/modules/projectiles/guns/ballistic/pistol.dm b/code/modules/projectiles/guns/ballistic/pistol.dm
index 97974ff341fb..964151a8a665 100644
--- a/code/modules/projectiles/guns/ballistic/pistol.dm
+++ b/code/modules/projectiles/guns/ballistic/pistol.dm
@@ -28,8 +28,8 @@
manufacturer = MANUFACTURER_SCARBOROUGH
wield_delay = 0.2 SECONDS
- spread = -2
- spread_unwielded = 4
+ spread = 2
+ spread_unwielded = 5
wield_slowdown = 0.15
muzzleflash_iconstate = "muzzle_flash_light"
@@ -42,25 +42,37 @@
var/obj/item/suppressor/S = new(src)
install_suppressor(S)
-/obj/item/gun/ballistic/automatic/pistol/m1911
- name = "\improper M1911A8"
- desc = "A classic .45 handgun. An engraving on the slide marks it as a product of Hunter's Pride."
- icon_state = "m1911"
+/obj/item/gun/ballistic/automatic/pistol/candor
+ name = "\improper Candor"
+ desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. Chambered in .45."
+ icon_state = "candor"
+ item_state = "hp_generic"
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/m45
can_suppress = FALSE
- fire_sound = 'sound/weapons/gun/pistol/m1911.ogg'
- rack_sound = 'sound/weapons/gun/pistol/m1911_cocked.ogg'
+ fire_sound = 'sound/weapons/gun/pistol/candor.ogg'
+ rack_sound = 'sound/weapons/gun/pistol/candor_cocked.ogg'
lock_back_sound = 'sound/weapons/gun/pistol/slide_lock.ogg'
bolt_drop_sound = 'sound/weapons/gun/pistol/slide_drop.ogg'
manufacturer = MANUFACTURER_HUNTERSPRIDE
- load_sound = 'sound/weapons/gun/pistol/m1911_reload.ogg'
- load_empty_sound = 'sound/weapons/gun/pistol/m1911_reload.ogg'
- eject_sound = 'sound/weapons/gun/pistol/m1911_unload.ogg'
- eject_empty_sound = 'sound/weapons/gun/pistol/m1911_unload.ogg'
+ load_sound = 'sound/weapons/gun/pistol/candor_reload.ogg'
+ load_empty_sound = 'sound/weapons/gun/pistol/candor_reload.ogg'
+ eject_sound = 'sound/weapons/gun/pistol/candor_unload.ogg'
+ eject_empty_sound = 'sound/weapons/gun/pistol/candor_unload.ogg'
recoil = -2
-/obj/item/gun/ballistic/automatic/pistol/m1911/no_mag
+/obj/item/gun/ballistic/automatic/pistol/candor/no_mag
+ spawnwithmagazine = FALSE
+
+/obj/item/gun/ballistic/automatic/pistol/candor/factory //also give this to the srm, their candors should probably look factory fresh from how well taken care of they are
+ desc = "A classic semi-automatic handgun, widely popular throughout the Frontier. An engraving on the slide marks it as a product of Hunter's Pride. This example has been kept in especially good shape, and may as well be fresh out of the workshop. Chambered in .45."
+ item_state = "hp_generic_fresh"
+
+/obj/item/gun/ballistic/automatic/pistol/candor/factory/update_overlays()
+ . = ..()
+ . += "[initial(icon_state)]_factory"
+
+/obj/item/gun/ballistic/automatic/pistol/candor/factory/no_mag
spawnwithmagazine = FALSE
/obj/item/gun/ballistic/automatic/pistol/deagle
@@ -238,26 +250,17 @@
/obj/item/gun/ballistic/automatic/pistol/disposable
name = "disposable gun"
desc = "An exceedingly flimsy plastic gun that is extremely cheap to produce. You get what you pay for."
- icon_state = "disposable"
+ fire_sound = 'sound/weapons/gun/pistol/himehabu.ogg'
+ icon_state = "disposable" //credit to discord user any% for the sprite
w_class = WEIGHT_CLASS_NORMAL
mag_type = /obj/item/ammo_box/magazine/disposable
custom_materials = list(/datum/material/plastic=2000)
can_suppress = FALSE
- var/random_icon = TRUE
manufacturer = MANUFACTURER_NONE
-
has_safety = FALSE //thing barely costs anything, why would it have a safety?
safety = FALSE
-/obj/item/gun/ballistic/automatic/pistol/disposable/Initialize()
- . = ..()
- var/picked = pick("none","red","purple","yellow","green","dark")
- if(random_icon)
- if(picked == "none")
- return
- icon_state = "disposable_[picked]"
-
-/obj/item/gun/ballistic/automatic/pistol/disposable/eject_magazine(mob/user)
+/obj/item/gun/ballistic/automatic/pistol/disposable/eject_magazine(mob/user, display_message = TRUE)
to_chat(user, "Theres no magazine to eject!")
return
@@ -269,7 +272,6 @@
name = "pizza disposable gun"
desc = "How horrible. Whoever you point at with this won't be very cheesed to meet you." //this is a warcrime against italians // IF YOU'RE GOING TO DO US DIRTY SPELL IT RIGHT
icon_state = "disposable_pizza"
- random_icon = FALSE
custom_materials = list(/datum/material/pizza=2000)
//not technically a pistol but whatever
diff --git a/code/modules/projectiles/guns/ballistic/revolver.dm b/code/modules/projectiles/guns/ballistic/revolver.dm
index 454a790728d2..4047f54590bb 100644
--- a/code/modules/projectiles/guns/ballistic/revolver.dm
+++ b/code/modules/projectiles/guns/ballistic/revolver.dm
@@ -117,16 +117,13 @@
. += "It can be spun with alt+click"
/obj/item/gun/ballistic/revolver/detective
- name = "\improper Hunter's Pride Detective Special"
- desc = "A compact and ridiculously old-fashioned law enforcement firearm. Uses .38 special rounds."
+ name = "\improper HP Detective Special"
+ desc = "A small law enforcement firearm. Originally commissioned by Nanotrasen for their Private Investigation division, it has become extremely popular among independent civilians as a cheap, compact sidearm. Uses .38 Special rounds."
fire_sound = 'sound/weapons/gun/revolver/shot_light.ogg'
icon_state = "detective"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38
obj_flags = UNIQUE_RENAME
unique_reskin = list("Default" = "detective",
- "Fitz Special" = "detective_fitz",
- "Police Positive Special" = "detective_police",
- "Blued Steel" = "detective_blued",
"Stainless Steel" = "detective_stainless",
"Gold Trim" = "detective_gold",
"Leopard Spots" = "detective_leopard",
@@ -200,25 +197,26 @@
pin = /obj/item/firing_pin
manufacturer = MANUFACTURER_NONE
-/obj/item/gun/ballistic/revolver/nagant
- name = "\improper Nagant revolver"
- desc = "An ancient model of revolver with notoriously poor ergonomics, chambered in 7.62x38mmR. Uniquely able to be suppressed."
- icon_state = "nagant"
- can_suppress = TRUE
- manufacturer = MANUFACTURER_NONE
+/obj/item/gun/ballistic/revolver/montagne
+ name = "\improper HP Montagne"
+ desc = "An ornate break-open revolver issued to high-ranking members of the Saint-Roumain Militia. Chambered in .38 Special."
+ icon = 'icons/obj/guns/48x32guns.dmi'
+ icon_state = "montagne"
+ manufacturer = MANUFACTURER_HUNTERSPRIDE
spread_unwielded = 12
recoil = 0
- recoil_unwielded = 0
- mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev762
+ mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev38/big
-/obj/item/gun/ballistic/revolver/hunting
- name = "hunting revolver"
- desc = "A massive, long-barreled revolver designed for the most dangerous game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo."
- icon_state = "hunting"
+/obj/item/gun/ballistic/revolver/ashhand
+ name = "HP Ashhand"
+ desc = "A massive, long-barreled revolver often used by the Saint-Roumain Militia as protection against big game. Can only be reloaded one cartridge at a time due to its reinforced frame. Uses .45-70 ammo."
+ icon = 'icons/obj/guns/48x32guns.dmi'
+ icon_state = "ashhand"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev4570
fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg'
+ manufacturer = MANUFACTURER_HUNTERSPRIDE
wield_slowdown = 0.5
spread_unwielded = 5
spread = 2
@@ -329,15 +327,11 @@
user.drop_all_held_items()
user.Paralyze(80)
-/obj/item/gun/ballistic/revolver/srm
- name = "SRM Standard Issue .357 Revolver" //should have used the pepperbox...
- desc = "A sturdy, powerful, and reliable revolver utilized by the Saint-Roumain Militia."
- manufacturer = MANUFACTURER_HUNTERSPRIDE
-
-/obj/item/gun/ballistic/revolver/pepperbox
- name = "\improper pepperbox pistol"
+/obj/item/gun/ballistic/revolver/firebrand
+ name = "\improper HP Firebrand"
desc = "An archaic precursor to revolver-type firearms, this gun was rendered completely obsolete millennia ago. While fast to fire, it is extremely inaccurate. Uses .357 ammo."
icon_state = "pepperbox"
+ item_state = "hp_generic_fresh"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/pepperbox
spread = 20
manufacturer = MANUFACTURER_HUNTERSPRIDE
@@ -345,17 +339,18 @@
fire_delay = 0
semi_auto = TRUE
-/obj/item/gun/ballistic/revolver/cattleman
- name = "\improper Cattleman"
- desc = "A strangely ancient revolver. Despite the age, it is a favorite of fast drawing spacers and officers in various militaries, but sometimes very rarely used in small colonial police units. Uses .45 ACP."
+/obj/item/gun/ballistic/revolver/shadow
+ name = "\improper HP Shadow"
+ desc = "A mid-size revolver. Despite the antiquated design, it is cheap, reliable, and stylish, making it a favorite among fast-drawing spacers and the officers of various militaries, as well as small-time police units. Chambered in .45."
fire_sound = 'sound/weapons/gun/revolver/cattleman.ogg'
icon = 'icons/obj/guns/48x32guns.dmi'
- icon_state = "cattleman"
+ icon_state = "shadow"
mag_type = /obj/item/ammo_box/magazine/internal/cylinder/rev45
+ manufacturer = MANUFACTURER_HUNTERSPRIDE
obj_flags = UNIQUE_RENAME
- unique_reskin = list("Default" = "cattleman",
- "Army" = "cattleman_army",
- "General" = "cattleman_general"
+ unique_reskin = list("Default" = "shadow",
+ "Army" = "shadow_army",
+ "General" = "shadow_general"
)
recoil = 0 //weaker than normal revovler, no recoil
diff --git a/code/modules/projectiles/guns/ballistic/rifle.dm b/code/modules/projectiles/guns/ballistic/rifle.dm
index 6506edc4bb1d..60aa20ab3a50 100644
--- a/code/modules/projectiles/guns/ballistic/rifle.dm
+++ b/code/modules/projectiles/guns/ballistic/rifle.dm
@@ -1,10 +1,15 @@
/obj/item/gun/ballistic/rifle
name = "Bolt Rifle"
desc = "Some kind of bolt-action rifle. You get the feeling you shouldn't have this."
+ icon = 'icons/obj/guns/48x32guns.dmi'
+ mob_overlay_icon = 'icons/mob/clothing/back.dmi'
icon_state = "hunting"
item_state = "hunting"
mag_type = /obj/item/ammo_box/magazine/internal/boltaction
bolt_wording = "bolt"
+ w_class = WEIGHT_CLASS_BULKY
+ weapon_weight = WEAPON_HEAVY
+ slot_flags = ITEM_SLOT_BACK
bolt_type = BOLT_TYPE_STANDARD
semi_auto = FALSE
internal_magazine = TRUE
@@ -35,9 +40,18 @@
process_chamber(FALSE, FALSE, FALSE)
bolt_locked = TRUE
update_appearance()
+ if (magazine && !magazine?.ammo_count() && empty_autoeject && !internal_magazine)
+ eject_magazine(display_message = FALSE)
+ update_appearance()
return
drop_bolt(user)
+/obj/item/gun/ballistic/rifle/eject_magazine(mob/user, display_message = TRUE, obj/item/ammo_box/magazine/tac_load = null)
+ if (!bolt_locked && empty_autoeject)
+ to_chat(user, "The bolt is closed!")
+ return
+ return ..()
+
/obj/item/gun/ballistic/rifle/can_shoot()
if (bolt_locked)
return FALSE
@@ -57,38 +71,49 @@
// BOLT ACTION RIFLE //
///////////////////////
-/obj/item/gun/ballistic/rifle/boltaction
- name = "\improper Illestren Hunting Rifle"
- desc = "One of Hunter's Pride most successful firearms. The bolt-action is popular among colonists, pirates, snipers, and countless more. Chambered in 7.62x54."
- sawn_desc = "An extremely sawn-off Illestren, generally known as an \"obrez\". There was probably a reason it wasn't made this short to begin with."
- w_class = WEIGHT_CLASS_BULKY
- weapon_weight = WEAPON_HEAVY
- icon = 'icons/obj/guns/48x32guns.dmi'
- mob_overlay_icon = 'icons/mob/clothing/back.dmi'
- icon_state = "hunting"
- item_state = "hunting"
- slot_flags = ITEM_SLOT_BACK
- mag_type = /obj/item/ammo_box/magazine/internal/boltaction
- can_bayonet = TRUE
- knife_x_offset = 27
- knife_y_offset = 13
+/obj/item/gun/ballistic/rifle/illestren
+ name = "\improper HP Illestren"
+ desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, the Illestren is popular among colonists, pirates, snipers, and countless others. Chambered in 8x50mmR."
+ sawn_desc = "An Illestren rifle sawn down to a ridiculously small size. There was probably a reason it wasn't made this short to begin with, but it still packs a punch."
+ eject_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg'
+ eject_empty_sound = 'sound/weapons/gun/rifle/vickland_unload.ogg'
+ icon_state = "illestren"
+ item_state = "illestren"
+ internal_magazine = FALSE
+ mag_type = /obj/item/ammo_box/magazine/illestren_a850r
+ empty_autoeject = TRUE
+ eject_sound_vary = FALSE
can_be_sawn_off = TRUE
manufacturer = MANUFACTURER_HUNTERSPRIDE
-/obj/item/gun/ballistic/rifle/boltaction/sawoff(mob/user)
+/obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user)
. = ..()
if(.)
spread = 36
+ spread_unwielded = 108
can_bayonet = FALSE
- item_state = "hunting_sawn"
+ item_state = "illestren_sawn"
+ mob_overlay_state = item_state
+ weapon_weight = WEAPON_MEDIUM //you can fire it onehanded, makes it worse than worse than useless onehanded, but you can
-/obj/item/gun/ballistic/rifle/boltaction/blow_up(mob/user)
+/obj/item/gun/ballistic/rifle/illestren/blow_up(mob/user)
. = 0
if(chambered && chambered.BB)
process_fire(user, user, FALSE)
. = 1
-/obj/item/gun/ballistic/rifle/boltaction/solgov
+/obj/item/gun/ballistic/rifle/illestren/factory
+ desc = "A sturdy and conventional bolt-action rifle. One of Hunter's Pride's most successful firearms, this example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in 8x50mmR."
+ icon_state = "illestren_factory"
+ item_state = "illestren_factory"
+
+/obj/item/gun/ballistic/rifle/illestren/sawoff(mob/user)
+ . = ..()
+ if(.)
+ item_state = "illestren_factory_sawn"
+ mob_overlay_state = item_state
+
+/obj/item/gun/ballistic/rifle/solgov
name = "SSG-669C"
desc = "A bolt-action sniper rifle used by Solarian troops. Beloved for its rotary design and accuracy. Chambered in 8x58mm Caseless."
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/solgov
@@ -109,17 +134,25 @@
wield_slowdown = 1
wield_delay = 1.3 SECONDS
-/obj/item/gun/ballistic/rifle/boltaction/roumain
- name = "standard-issue 'Smile' rifle"
- desc = "A bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia. Chambered in .300 Magnum."
+/obj/item/gun/ballistic/rifle/scout
+ name = "HP Scout"
+ desc = "A powerful bolt-action rifle usually given to mercenary hunters of the Saint-Roumain Militia, equally suited for taking down big game or two-legged game. Chambered in .300 Magnum."
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/smile
- icon_state = "roma"
- item_state = "roma"
+ fire_sound = 'sound/weapons/gun/rifle/scout.ogg'
+
+ rack_sound = 'sound/weapons/gun/rifle/scout_bolt_out.ogg'
+ bolt_drop_sound = 'sound/weapons/gun/rifle/scout_bolt_in.ogg'
+ icon_state = "scout"
+ item_state = "scout"
can_be_sawn_off = FALSE
+ zoomable = TRUE
+ zoom_amt = 10 //Long range, enough to see in front of you, but no tiles behind you.
+ zoom_out_amt = 5
+
manufacturer = MANUFACTURER_HUNTERSPRIDE
-/obj/item/gun/ballistic/rifle/boltaction/enchanted
+/obj/item/gun/ballistic/rifle/illestren/enchanted
name = "enchanted bolt-action rifle"
desc = "Careful not to lose your head."
var/guns_left = 30
@@ -127,7 +160,7 @@
can_be_sawn_off = FALSE
manufacturer = MANUFACTURER_NONE
-/obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage
+/obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage
name = "arcane barrage"
desc = "Pew Pew Pew."
fire_sound = 'sound/weapons/emitter.ogg'
@@ -145,25 +178,25 @@
mag_type = /obj/item/ammo_box/magazine/internal/boltaction/enchanted/arcane_barrage
-/obj/item/gun/ballistic/rifle/boltaction/enchanted/dropped()
+/obj/item/gun/ballistic/rifle/illestren/enchanted/dropped()
. = ..()
guns_left = 0
-/obj/item/gun/ballistic/rifle/boltaction/enchanted/proc/discard_gun(mob/living/user)
+/obj/item/gun/ballistic/rifle/illestren/enchanted/proc/discard_gun(mob/living/user)
user.throw_item(pick(oview(7,get_turf(user))))
-/obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage/discard_gun(mob/living/user)
+/obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage/discard_gun(mob/living/user)
qdel(src)
-/obj/item/gun/ballistic/rifle/boltaction/enchanted/attack_self()
+/obj/item/gun/ballistic/rifle/illestren/enchanted/attack_self()
return
-/obj/item/gun/ballistic/rifle/boltaction/enchanted/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
+/obj/item/gun/ballistic/rifle/illestren/enchanted/process_fire(atom/target, mob/living/user, message = TRUE, params = null, zone_override = "", bonus_spread = 0)
. = ..()
if(!.)
return
if(guns_left)
- var/obj/item/gun/ballistic/rifle/boltaction/enchanted/gun = new type
+ var/obj/item/gun/ballistic/rifle/illestren/enchanted/gun = new type
gun.guns_left = guns_left - 1
discard_gun(user)
user.swap_hand()
@@ -171,7 +204,7 @@
else
user.dropItemToGround(src, TRUE)
-/obj/item/gun/ballistic/rifle/boltaction/polymer
+/obj/item/gun/ballistic/rifle/polymer
name = "polymer survivor rifle"
desc = "A bolt-action rifle made of scrap, desperation, and luck. Likely to shatter at any moment. Chambered in .300 Blackout."
icon = 'icons/obj/guns/projectile.dmi'
diff --git a/code/modules/projectiles/guns/ballistic/shotgun.dm b/code/modules/projectiles/guns/ballistic/shotgun.dm
index 8d4390398075..ab404b1261d5 100644
--- a/code/modules/projectiles/guns/ballistic/shotgun.dm
+++ b/code/modules/projectiles/guns/ballistic/shotgun.dm
@@ -1,12 +1,6 @@
/obj/item/gun/ballistic/shotgun
name = "shotgun"
- desc = "A traditional shotgun with wood furniture and a four-shell capacity underneath."
- icon_state = "shotgun"
- lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi'
- righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi'
item_state = "shotgun"
- inhand_x_dimension = 64
- inhand_y_dimension = 64
fire_sound = 'sound/weapons/gun/shotgun/shot.ogg'
vary_fire_sound = FALSE
fire_sound_volume = 90
@@ -29,39 +23,80 @@
manufacturer = MANUFACTURER_HUNTERSPRIDE
wield_slowdown = 0.45
- wield_delay = 0.6 SECONDS //Shotguns are really easy to put up to fire, since they are designed for CQC (at least compared to a rifle)
+ wield_delay = 0.8 SECONDS
spread = 4
spread_unwielded = 10
- recoil = 2
+ recoil = 1
recoil_unwielded = 4
/obj/item/gun/ballistic/shotgun/blow_up(mob/user)
- . = 0
if(chambered && chambered.BB)
process_fire(user, user, FALSE)
- . = 1
+ return TRUE
+ for(var/obj/item/ammo_casing/ammo in magazine.stored_ammo)
+ if(ammo.BB)
+ process_chamber(FALSE, FALSE)
+ process_fire(user, user, FALSE)
+ return TRUE
+ return FALSE
+
+// BRIMSTONE SHOTGUN //
+
+/obj/item/gun/ballistic/shotgun/brimstone
+ name = "HP Brimstone"
+ desc = "A simple and sturdy pump-action shotgun sporting a 5-round capacity, manufactured by Hunter's Pride. Found widely throughout the Frontier in the hands of hunters, pirates, police, and countless others. Chambered in 12g."
+ sawn_desc = "A stockless and shortened pump-action shotgun. The worsened recoil and accuracy make it a poor sidearm anywhere beyond punching distance."
+ fire_sound = 'sound/weapons/gun/shotgun/brimstone.ogg'
+ icon = 'icons/obj/guns/48x32guns.dmi'
+ icon_state = "brimstone"
+ item_state = "brimstone"
-/obj/item/gun/ballistic/shotgun/lethal
mag_type = /obj/item/ammo_box/magazine/internal/shot/lethal
+ manufacturer = MANUFACTURER_HUNTERSPRIDE
+ fire_delay = 1
+
+ can_be_sawn_off = TRUE
+
+
+/obj/item/gun/ballistic/shotgun/brimstone/ComponentInitialize()
+ . = ..()
+ AddComponent(/datum/component/automatic_fire, 0.1 SECONDS)
+
+/obj/item/gun/ballistic/shotgun/brimstone/sawoff(mob/user)
+ . = ..()
+ if(.)
+ weapon_weight = WEAPON_MEDIUM
+ wield_slowdown = 0.25
+ wield_delay = 0.3 SECONDS //OP? maybe
+
+ spread = 18
+ spread_unwielded = 25
+ recoil = 5 //your punishment for sawing off an short shotgun
+ recoil_unwielded = 8
+ item_state = "illestren_factory_sawn" // i couldnt care about making another sprite, looks close enough
+ mob_overlay_state = item_state
-// RIOT SHOTGUN //
+// HELLFIRE SHOTGUN //
-/obj/item/gun/ballistic/shotgun/riot //for spawn in the armory
- name = "riot shotgun"
- desc = "A sturdy shotgun with a six-shell tube and a fixed wooden stock designed for non-lethal riot control."
+/obj/item/gun/ballistic/shotgun/hellfire
+ name = "HP Hellfire"
+ desc = "A hefty pump-action riot shotgun with a seven-round tube, manufactured by Hunter's Pride. Especially popular among the Frontier's police forces. Chambered in 12g."
icon = 'icons/obj/guns/48x32guns.dmi'
- icon_state = "riotshotgun"
- item_state = "shotgun"
+ icon_state = "hellfire"
+ item_state = "hellfire"
mag_type = /obj/item/ammo_box/magazine/internal/shot/riot
sawn_desc = "Come with me if you want to live."
can_be_sawn_off = TRUE
rack_sound = 'sound/weapons/gun/shotgun/rack_alt.ogg'
fire_delay = 1
-/obj/item/gun/ballistic/shotgun/riot/sawoff(mob/user)
+/obj/item/gun/ballistic/shotgun/hellfire/sawoff(mob/user)
. = ..()
if(.)
+ var/obj/item/ammo_box/magazine/internal/tube = magazine
+ tube.max_ammo = 5 //this makes the gun so much worse
+
weapon_weight = WEAPON_MEDIUM
wield_slowdown = 0.25
wield_delay = 0.3 SECONDS //OP? maybe
@@ -70,6 +105,8 @@
spread_unwielded = 15
recoil = 3 //or not
recoil_unwielded = 5
+ item_state = "dshotgun_sawn" // ditto
+ mob_overlay_state = item_state
// Automatic Shotguns//
/obj/item/gun/ballistic/shotgun/automatic
@@ -86,6 +123,8 @@
..()
rack()
+//im not sure what to do with the combat shotgun, as it's functionally the same as the semi auto shotguns except it automattically racks instead of being semi-auto
+
/obj/item/gun/ballistic/shotgun/automatic/combat
name = "combat shotgun"
desc = "A semi-automatic shotgun with tactical furniture and six-shell capacity underneath."
@@ -161,14 +200,13 @@
righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
inhand_x_dimension = 32
inhand_y_dimension = 32
- w_class = WEIGHT_CLASS_NORMAL
weapon_weight = WEAPON_MEDIUM
mag_type = /obj/item/ammo_box/magazine/m12g
can_suppress = FALSE
burst_size = 1
fire_delay = 0
pin = /obj/item/firing_pin/implant/pindicate
- fire_sound = 'sound/weapons/gun/shotgun/shot.ogg'
+ fire_sound = 'sound/weapons/gun/shotgun/bulldog.ogg'
actions_types = list()
mag_display = TRUE
empty_indicator = TRUE
@@ -219,34 +257,87 @@
/obj/item/gun/ballistic/shotgun/doublebarrel
name = "double-barreled shotgun"
- desc = "A true classic. Both barrels can be fired in quick succession."
+ desc = "A classic break action shotgun, hand-made in a Hunter's Pride workshop. Both barrels can be fired in quick succession or even simultaneously. Guns like this have been popular with hunters, sporters, and criminals for millennia. Chambered in 12g."
+ sawn_desc = "A break action shotgun cut down to the size of a sidearm. While the recoil is even harsher, it offers a lot of power in a very small package. Chambered in 12g."
+
+
+ icon = 'icons/obj/guns/48x32guns.dmi'
+ base_icon_state = "dshotgun"
+
icon_state = "dshotgun"
- item_state = "shotgun_db"
+ item_state = "dshotgun"
+
+ rack_sound = 'sound/weapons/gun/shotgun/dbshotgun_break.ogg'
+ bolt_drop_sound = 'sound/weapons/gun/shotgun/dbshotgun_close.ogg'
+
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_MEDIUM
force = 10
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BACK
mag_type = /obj/item/ammo_box/magazine/internal/shot/dual
- sawn_desc = "Omar's coming!"
+
obj_flags = UNIQUE_RENAME
- rack_sound_volume = 0
unique_reskin = list("Default" = "dshotgun",
- "Dark Red Finish" = "dshotgun_d",
- "Ash" = "dshotgun_f",
- "Faded Grey" = "dshotgun_g",
- "Maple" = "dshotgun_l",
- "Rosewood" = "dshotgun_p"
+ "Stainless Steel" = "dshotgun_white",
+ "Stained Green" = "dshotgun_green"
)
semi_auto = TRUE
- bolt_type = BOLT_TYPE_NO_BOLT
can_be_sawn_off = TRUE
+ bolt_type = BOLT_TYPE_NO_BOLT
pb_knockback = 3 // it's a super shotgun!
manufacturer = MANUFACTURER_HUNTERSPRIDE
+ bolt_wording = "barrel"
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/unique_action(mob/living/user)
+ if (bolt_locked == FALSE)
+ to_chat(user, "You snap open the [bolt_wording] of \the [src].")
+ playsound(src, rack_sound, rack_sound_volume, rack_sound_vary)
+ chambered = null
+ var/num_unloaded = 0
+ for(var/obj/item/ammo_casing/casing_bullet in get_ammo_list(FALSE, TRUE))
+ casing_bullet.forceMove(drop_location())
+ casing_bullet.bounce_away(FALSE, NONE)
+ num_unloaded++
+ SSblackbox.record_feedback("tally", "station_mess_created", 1, casing_bullet.name)
+ if (num_unloaded)
+ playsound(user, eject_sound, eject_sound_volume, eject_sound_vary)
+ update_appearance()
+ bolt_locked = TRUE
+ update_appearance()
+ return
+ drop_bolt(user)
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/drop_bolt(mob/user = null)
+ playsound(src, bolt_drop_sound, bolt_drop_sound_volume, FALSE)
+ if (user)
+ to_chat(user, "You snap the [bolt_wording] of \the [src] closed.")
+ chamber_round()
+ bolt_locked = FALSE
+ update_appearance()
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/can_shoot()
+ if (bolt_locked)
+ return FALSE
+ return ..()
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/attackby(obj/item/A, mob/user, params)
+ if (!bolt_locked)
+ to_chat(user, "The [bolt_wording] is shut closed!")
+ return
+ return ..()
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/update_icon_state()
+ . = ..()
+ if(current_skin)
+ icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]"
+ else
+ icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""][bolt_locked ? "_open" : ""]"
+
/obj/item/gun/ballistic/shotgun/doublebarrel/AltClick(mob/user)
. = ..()
- if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY))
+ if(unique_reskin && !current_skin && user.canUseTopic(src, BE_CLOSE, NO_DEXTERITY) && (!bolt_locked))
reskin_obj(user)
/obj/item/gun/ballistic/shotgun/doublebarrel/sawoff(mob/user)
@@ -260,12 +351,29 @@
spread_unwielded = 15
recoil = 3 //or not
recoil_unwielded = 5
+ item_state = "dshotgun_sawn"
+ mob_overlay_state = item_state
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/roumain
+ name = "HP antique double-barreled shotgun"
+ desc = "A special-edition shotgun hand-made by Hunter's Pride with a high-quality walnut stock inlaid with brass scrollwork. Shotguns like this are very rare outside of the Saint-Roumain Militia's ranks. Otherwise functionally identical to a common double-barreled shotgun. Chambered in 12g."
+ sawn_desc = "A special-edition Hunter's Pride shotgun, cut down to the size of a sidearm by some barbarian. The brass inlay on the stock and engravings on the barrel have been obliterated in the process, destroying any value beyond its use as a crude sidearm."
+ base_icon_state = "dshotgun_srm"
+ icon_state = "dshotgun_srm"
+ item_state = "dshotgun_srm"
+ unique_reskin = null
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/roumain/sawoff(mob/user)
+ . = ..()
+ if(.)
+ item_state = "dshotgun_srm_sawn"
// IMPROVISED SHOTGUN //
/obj/item/gun/ballistic/shotgun/doublebarrel/improvised
name = "improvised shotgun"
desc = "A length of pipe and miscellaneous bits of scrap fashioned into a rudimentary single-shot shotgun."
+ base_icon_state = "ishotgun"
icon_state = "ishotgun"
item_state = "ishotgun"
w_class = WEIGHT_CLASS_BULKY
@@ -414,6 +522,7 @@
/obj/item/gun/ballistic/shotgun/doublebarrel/brazil
name = "six-barreled \"TRABUCO\" shotgun"
desc = "Dear fucking god, what the fuck even is this!? The recoil caused by the sheer act of firing this thing would probably kill you, if the gun itself doesn't explode in your face first! Theres a green flag with a blue circle and a yellow diamond around it. Some text in the circle says: \"ORDEM E PROGRESSO.\""
+ base_icon_state = "shotgun_brazil"
icon_state = "shotgun_brazil"
icon = 'icons/obj/guns/48x32guns.dmi'
lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi'
@@ -424,10 +533,11 @@
attack_verb = list("bludgeoned", "smashed")
mag_type = /obj/item/ammo_box/magazine/internal/shot/sex
burst_size = 6
- fire_delay = 0.1
+ fire_delay = 0.8
pb_knockback = 12
unique_reskin = null
recoil = 10
+ recoil_unwielded = 30
weapon_weight = WEAPON_LIGHT
fire_sound = 'sound/weapons/gun/shotgun/quadfire.ogg'
rack_sound = 'sound/weapons/gun/shotgun/quadrack.ogg'
@@ -453,19 +563,24 @@
/obj/item/gun/ballistic/shotgun/doublebarrel/brazil/death
name = "Force of Nature"
desc = "So you have chosen death."
+ base_icon_state = "shotgun_e"
icon_state = "shotgun_e"
burst_size = 100
+ fire_delay = 0.1
pb_knockback = 40
recoil = 100
+ recoil_unwielded = 200
fire_sound_volume = 100
mag_type = /obj/item/ammo_box/magazine/internal/shot/hundred
//Lever-Action Rifles
-/obj/item/gun/ballistic/shotgun/winchester
- name = "Winchester MK.2"
- desc = "A sturdy lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. Modern and sleek."
- icon_state = "winchester"
- item_state = "winchester"
+/obj/item/gun/ballistic/shotgun/flamingarrow
+ name = "HP Flaming Arrow"
+ desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. A popular choice among Frontier homesteaders for hunting small game and rudimentary self-defense. Chambered in .38."
+ sawn_desc = "A lever-action rifle that has been sawed down and modified for extra portability. While surprisingly effective as a sidearm, the more important benefit is how much cooler it looks."
+ base_icon_state = "flamingarrow"
+ icon_state = "flamingarrow"
+ item_state = "flamingarrow"
icon = 'icons/obj/guns/48x32guns.dmi'
mob_overlay_icon = 'icons/mob/clothing/back.dmi'
lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
@@ -473,39 +588,75 @@
inhand_x_dimension = 32
inhand_y_dimension = 32
mag_type = /obj/item/ammo_box/magazine/internal/shot/winchester
- fire_sound = 'sound/weapons/gun/rifle/shot.ogg'
+ fire_sound = 'sound/weapons/gun/rifle/flamingarrow.ogg'
rack_sound = 'sound/weapons/gun/rifle/ak47_cocked.ogg'
bolt_wording = "lever"
cartridge_wording = "bullet"
+ can_be_sawn_off = TRUE
+
+ wield_slowdown = 0.5
+ wield_delay = 0.65 SECONDS
spread = -5
spread_unwielded = 7
+
recoil = 0
recoil_unwielded = 2
- wield_slowdown = 0.5
-/obj/item/gun/ballistic/shotgun/winchester/rack(mob/user = null)
+//sawn off
+ weapon_weight = WEAPON_MEDIUM
+
+ wield_slowdown = 0.25
+ wield_delay = 0.2 SECONDS //THE COWBOY RIFLE
+
+ spread = 4
+ spread_unwielded = 12
+
+ recoil = 1
+ recoil_unwielded = 2
+
+/obj/item/gun/ballistic/shotgun/flamingarrow/update_icon_state()
+ . = ..()
+ if(current_skin)
+ icon_state = "[unique_reskin[current_skin]][sawn_off ? "_sawn" : ""]"
+ else
+ icon_state = "[base_icon_state || initial(icon_state)][sawn_off ? "_sawn" : ""]"
+
+
+/obj/item/gun/ballistic/shotgun/flamingarrow/factory
+ desc = "A sturdy and lightweight lever-action rifle with hand-stamped Hunter's Pride marks on the receiver. This example has been kept in excellent shape and may as well be fresh out of the workshop. Chambered in .38."
+ icon_state = "flamingarrow_factory"
+ base_icon_state = "flamingarrow_factory"
+ item_state = "flamingarrow_factory"
+
+/obj/item/gun/ballistic/shotgun/flamingarrow/factory/sawoff(mob/user)
. = ..()
- if(!wielded)
- SpinAnimation(7,1)
+ if(.)
+ item_state = "flamingarrow_factory_sawn"
+
+/obj/item/gun/ballistic/shotgun/flamingarrow/bolt
+ name = "HP Flaming Bolt"
+ desc = "A sturdy, excellently-made lever-action rifle. This one appears to be a genuine antique, kept in incredibly good condition despite its advanced age. Chambered in .38."
+ icon_state = "flamingbolt"
+ item_state = "flamingbolt"
-/obj/item/gun/ballistic/shotgun/winchester/mk1
- name = "Winchester MK.1"
- desc = "A sturdy lever-action rifle. This antique pattern appears to be in excellent condition despite its age."
- icon_state = "winchestermk1"
- item_state = "winchestermk1"
+/obj/item/gun/ballistic/shotgun/flamingarrow/bolt/sawoff(mob/user)
+ . = ..()
+ if(.)
+ item_state = "flamingbolt_sawn"
//Elephant Gun
/obj/item/gun/ballistic/shotgun/doublebarrel/twobore
- name = "two-bore rifle"
- desc = "Take this, elephant! If you want an intact trophy, don't aim for the head. Chambered in two-bore."
+ name = "HP Huntsman"
+ desc = "A comically huge double-barreled rifle replete with brass inlays depicting flames and naturalistic scenes, clearly meant for the nastiest monsters the Frontier has to offer. If you want an intact trophy, don't aim for the head. Chambered in two-bore."
icon = 'icons/obj/guns/48x32guns.dmi'
lefthand_file = 'icons/mob/inhands/weapons/guns_lefthand.dmi'
righthand_file = 'icons/mob/inhands/weapons/guns_righthand.dmi'
inhand_x_dimension = 32
inhand_y_dimension = 32
- icon_state = "twobore"
- item_state = "twobore"
+ base_icon_state = "huntsman"
+ icon_state = "huntsman"
+ item_state = "huntsman"
unique_reskin = null
attack_verb = list("bludgeoned", "smashed")
mag_type = /obj/item/ammo_box/magazine/internal/shot/twobore
@@ -523,30 +674,27 @@
manufacturer = MANUFACTURER_HUNTERSPRIDE
//Break-Action Rifle
-/obj/item/gun/ballistic/shotgun/contender
- name = "Contender"
- desc = "A single-shot break-action rifle made by Hunter's Pride. Boasts excellent accuracy and stopping power. Uses .45-70 ammo."
- icon_state = "contender"
- item_state = "contender"
+/obj/item/gun/ballistic/shotgun/doublebarrel/beacon
+ name = "HP Beacon"
+ desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. Boasts excellent accuracy and stopping power. Uses .45-70 ammo."
+ sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim."
+ base_icon_state = "beacon"
+ icon_state = "beacon"
+ item_state = "beacon"
icon = 'icons/obj/guns/48x32guns.dmi'
mob_overlay_icon = 'icons/mob/clothing/back.dmi'
- lefthand_file = 'icons/mob/inhands/weapons/64x_guns_left.dmi'
- righthand_file = 'icons/mob/inhands/weapons/64x_guns_right.dmi'
inhand_x_dimension = 32
inhand_y_dimension = 32
- mag_type = /obj/item/ammo_box/magazine/internal/shot/contender
+ mag_type = /obj/item/ammo_box/magazine/internal/shot/beacon
fire_sound = 'sound/weapons/gun/revolver/shot_hunting.ogg'
can_be_sawn_off=TRUE
- sawn_desc= "A single-shot pistol. It's hard to aim without a front sight."
w_class = WEIGHT_CLASS_BULKY
weapon_weight = WEAPON_MEDIUM
force = 10
flags_1 = CONDUCT_1
slot_flags = ITEM_SLOT_BACK
obj_flags = UNIQUE_RENAME
- rack_sound_volume = 0
semi_auto = TRUE
- bolt_type = BOLT_TYPE_NO_BOLT
can_be_sawn_off = TRUE
pb_knockback = 3
wield_slowdown = 0.7
@@ -555,12 +703,11 @@
recoil = 0
recoil_unwielded = 5
-
-
-/obj/item/gun/ballistic/shotgun/contender/sawoff(mob/user)
+/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/sawoff(mob/user)
. = ..()
if(.)
- item_state = "contender_sawn"
+ item_state = "beacon_sawn"
+ mob_overlay_state = item_state
wield_slowdown = 0.5
wield_delay = 0.5 SECONDS
@@ -568,3 +715,16 @@
spread = 2
recoil = 2
recoil_unwielded = 3
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory
+ desc = "A single-shot break-action rifle made by Hunter's Pride and sold to civilian hunters. This example has been kept in excellent shape and may as well be fresh out of the workshop. Uses .45-70 ammo."
+ sawn_desc= "A single-shot break-action pistol chambered in .45-70. A bit difficult to aim."
+ base_icon_state = "beacon_factory"
+ icon_state = "beacon_factory"
+ item_state = "beacon_factory"
+
+/obj/item/gun/ballistic/shotgun/doublebarrel/beacon/factory/sawoff(mob/user)
+ . = ..()
+ if(.)
+ item_state = "beacon_factory_sawn"
+ mob_overlay_state = item_state
diff --git a/code/modules/projectiles/guns/ballistic/smg.dm b/code/modules/projectiles/guns/ballistic/smg.dm
index 7efd0a579925..8644534e3117 100644
--- a/code/modules/projectiles/guns/ballistic/smg.dm
+++ b/code/modules/projectiles/guns/ballistic/smg.dm
@@ -5,7 +5,7 @@
spread = 4
spread_unwielded = 10
wield_slowdown = 0.35
- recoil_unwielded = 0.5
+ recoil_unwielded = 4
load_sound = 'sound/weapons/gun/smg/smg_reload.ogg'
load_empty_sound = 'sound/weapons/gun/smg/smg_reload.ogg'
@@ -25,7 +25,7 @@
/obj/item/gun/ballistic/automatic/smg/proto/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
/obj/item/gun/ballistic/automatic/smg/proto/unrestricted
pin = /obj/item/firing_pin
@@ -47,7 +47,7 @@
/obj/item/gun/ballistic/automatic/smg/c20r/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
/obj/item/gun/ballistic/automatic/smg/c20r/unrestricted
pin = /obj/item/firing_pin
@@ -80,7 +80,7 @@
/obj/item/gun/ballistic/automatic/smg/inteq/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
/obj/item/gun/ballistic/automatic/smg/wt550
name = "\improper WT-550 Automatic Rifle"
@@ -88,7 +88,6 @@
icon_state = "wt550"
item_state = "arg"
mag_type = /obj/item/ammo_box/magazine/wt550m9
- fire_delay = 2
can_suppress = FALSE
burst_size = 1
actions_types = list()
@@ -103,7 +102,7 @@
/obj/item/gun/ballistic/automatic/smg/wt550/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
/obj/item/gun/ballistic/automatic/smg/mini_uzi
name = "\improper Type U3 Uzi"
@@ -143,7 +142,7 @@
/obj/item/gun/ballistic/automatic/smg/vector/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
/obj/item/gun/ballistic/automatic/smg/m90
name = "\improper M-90gl Carbine"
@@ -223,29 +222,34 @@
update_appearance()
return
-/obj/item/gun/ballistic/automatic/smg/thompson
- name = "\improper Thompson"
- desc = "A old submachinegun design. Chambered in .45."
- icon_state = "tommygun"
- item_state = "tommygun"
+/obj/item/gun/ballistic/automatic/smg/firestorm //weapon designed by Apogee-dev
+ name = "HP Firestorm"
+ desc = "An unconventional submachinegun, rarely issued to Saint-Roumain Militia mercenary hunters for outstanding situations where normal hunting weapons fall short. Chambered in .45."
icon = 'icons/obj/guns/48x32guns.dmi'
- slot_flags = 0
- mag_type = /obj/item/ammo_box/magazine/smgm45
+ icon_state = "firestorm"
+ item_state = "firestorm"
+ mag_type = /obj/item/ammo_box/magazine/c45_firestorm_mag
can_suppress = FALSE
burst_size = 1
actions_types = list()
fire_delay = 1
- bolt_type = BOLT_TYPE_OPEN
+ rack_sound = 'sound/weapons/gun/smg/uzi_cocked.ogg'
+ fire_sound = 'sound/weapons/gun/smg/firestorm.ogg'
+
+ manufacturer = MANUFACTURER_HUNTERSPRIDE
wield_slowdown = 0.4
-/obj/item/gun/ballistic/automatic/smg/thompson/Initialize()
+/obj/item/gun/ballistic/automatic/smg/firestorm/Initialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
+
+/obj/item/gun/ballistic/automatic/smg/firestorm/pan //spawns with pan magazine, can take sticks instead of just drums, not sure where this would be used, maybe erts?
+ spawnwithmagazine = FALSE
-/obj/item/gun/ballistic/automatic/smg/thompson/drum
- name = "\improper Chicago Typewriter"
- desc = "A gun for good fellas. Chambered in .45."
- mag_type = /obj/item/ammo_box/magazine/smgm45/drum
+/obj/item/gun/ballistic/automatic/smg/firestorm/pan/Initialize()
+ . = ..()
+ magazine = new /obj/item/ammo_box/magazine/c45_firestorm_mag/pan(src)
+ chamber_round()
/obj/item/gun/ballistic/automatic/smg/cm5
name = "\improper CM-5"
@@ -259,7 +263,7 @@
/obj/item/gun/ballistic/automatic/smg/cm5/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
/obj/item/gun/ballistic/automatic/smg/cm5/no_mag
spawnwithmagazine = FALSE
@@ -278,4 +282,4 @@
/obj/item/gun/ballistic/automatic/smg/aks74u/ComponentInitialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.15 SECONDS) //last autofire system made the fire rate REALLY fucking fast, but because of how poor it was, it was normal speed.
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS) //last autofire system made the fire rate REALLY fucking fast, but because of how poor it was, it was normal speed.
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index 229d49c4a8c6..a6be53e82ea2 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -299,3 +299,9 @@
playsound(user, BB.hitsound_non_living, 50, TRUE)
cell.use(E.e_cost)
. = "[user] casually lights their [A.name] with [src]. Damn."
+
+
+/obj/item/gun/energy/examine(mob/user)
+ . = ..()
+ if(ammo_type.len > 1)
+ . += "You can switch firemodes by pressing the unqiue action key. By default, this is space"
diff --git a/code/modules/projectiles/guns/energy/energy_gun.dm b/code/modules/projectiles/guns/energy/energy_gun.dm
index 223cdc09e157..5c7153727646 100644
--- a/code/modules/projectiles/guns/energy/energy_gun.dm
+++ b/code/modules/projectiles/guns/energy/energy_gun.dm
@@ -217,7 +217,7 @@
/obj/item/gun/energy/e_gun/smg/Initialize()
. = ..()
- AddComponent(/datum/component/automatic_fire, 0.2 SECONDS)
+ AddComponent(/datum/component/automatic_fire, 0.13 SECONDS)
/obj/item/gun/energy/e_gun/iot
name = "\improper E-SG 500 Second Edition"
diff --git a/code/modules/projectiles/guns/energy/pulse.dm b/code/modules/projectiles/guns/energy/pulse.dm
index f5efacbf96c3..9ed110dfa041 100644
--- a/code/modules/projectiles/guns/energy/pulse.dm
+++ b/code/modules/projectiles/guns/energy/pulse.dm
@@ -89,7 +89,7 @@
to_chat(user, "[src.name] has three settings, and they are all DESTROY.")
/obj/item/gun/energy/pulse/pistol/m1911
- name = "\improper M1911-P"
+ name = "\improper Candor-P"
desc = "A compact pulse core in a classic handgun frame for Nanotrasen officers. It's not the size of the gun, it's the size of the hole it puts through people."
icon_state = "m1911"
item_state = "gun"
diff --git a/code/modules/projectiles/projectile/bullets/pistol.dm b/code/modules/projectiles/projectile/bullets/pistol.dm
index 6a1323e481dc..a04fc2995c26 100644
--- a/code/modules/projectiles/projectile/bullets/pistol.dm
+++ b/code/modules/projectiles/projectile/bullets/pistol.dm
@@ -64,7 +64,7 @@
stamina = 38
armour_penetration = -40
-// .45 (M1911, C20r, Thompson)
+// .45 (Candor, C20r, Thompson)
/obj/projectile/bullet/c45
name = ".45 bullet"
diff --git a/code/modules/projectiles/projectile/bullets/revolver.dm b/code/modules/projectiles/projectile/bullets/revolver.dm
index ecd8b5abbbb9..ec210c410dc4 100644
--- a/code/modules/projectiles/projectile/bullets/revolver.dm
+++ b/code/modules/projectiles/projectile/bullets/revolver.dm
@@ -1,10 +1,3 @@
-// 7.62x38mmR (Nagant Revolver)
-
-/obj/projectile/bullet/n762
- name = "7.62x38mmR bullet"
- damage = 30
- armour_penetration = -20
-
// .50 AE (Desert Eagle)
/obj/projectile/bullet/a50AE
@@ -155,4 +148,4 @@
damage = 20
armour_penetration = -45
ricochet_incidence_leeway = 20
- ricochet_chance = 45
+ ricochet_chance = 65
diff --git a/code/modules/projectiles/projectile/bullets/rifle.dm b/code/modules/projectiles/projectile/bullets/rifle.dm
index f72ecfdfbcd4..d819fabc61b4 100644
--- a/code/modules/projectiles/projectile/bullets/rifle.dm
+++ b/code/modules/projectiles/projectile/bullets/rifle.dm
@@ -5,10 +5,10 @@
damage = 25
armour_penetration = 20
-// 7.62x54mmR (Illestren Rifle)
+// 8x50mmR (Illestren Rifle)
-/obj/projectile/bullet/a762_54
- name = "7.62x54mmR bullet"
+/obj/projectile/bullet/a8_50r
+ name = "8x50mmR bullet"
speed = 0.3
damage = 30
armour_penetration = 40
@@ -25,7 +25,7 @@
// Bloat evil wizard stupid shit
/obj/projectile/bullet/a762_enchanted
- name = "enchanted 7.62x54mmR bullet"
+ name = "enchanted 8x50mmR bullet"
damage = 20
stamina = 80
@@ -52,8 +52,8 @@
//.308 WIN (M514 & GAL DMRs)
-/obj/projectile/bullet/win308
- name = ".308 Winchester"
+/obj/projectile/bullet/a308
+ name = ".308"
speed = 0.3
damage = 30
armour_penetration = 40
diff --git a/code/modules/projectiles/projectile/bullets/shotgun.dm b/code/modules/projectiles/projectile/bullets/shotgun.dm
index 0979a268ee16..e102c4c3b48f 100644
--- a/code/modules/projectiles/projectile/bullets/shotgun.dm
+++ b/code/modules/projectiles/projectile/bullets/shotgun.dm
@@ -8,7 +8,7 @@
name = "beanbag slug"
damage = 10
stamina = 60
- armour_penetration = -20
+ armour_penetration = -45
/obj/projectile/bullet/incendiary/shotgun
name = "incendiary slug"
@@ -73,8 +73,7 @@
/obj/projectile/bullet/pellet/buckshot
name = "buckshot pellet"
- damage = 20
- armour_penetration = -10
+ damage = 13
/obj/projectile/bullet/pellet/rubbershot
name = "rubbershot pellet"
@@ -101,6 +100,7 @@
/obj/projectile/bullet/pellet/improvised
damage = 6
+ armour_penetration = -35
tile_dropoff = 0.6
// Mech Scattershot
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index ec4038ec8f2b..60addfc99e17 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -137,13 +137,6 @@ other types of metals and chemistry for reagents).
. = ..()
blueprints[1] = new /datum/design/c10mm()
-/obj/item/disk/design_disk/ammo_n762
- name = "Design Disk - 7.62x38mmR Ammo"
- desc = "A design disk containing the pattern for an ammo holder of 7.62x38mmR ammo, used in Nagant revolvers. It's a wonder anybody still makes these."
-
-/obj/item/disk/design_disk/ammo_n762/Initialize()
- . = ..()
- blueprints[1] = new /datum/design/n762()
/obj/item/disk/design_disk/adv/disposable_gun
name = "design disk - disposable gun"
diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm
index 4d28452521af..53fe74529767 100644
--- a/code/modules/research/designs/weapon_designs.dm
+++ b/code/modules/research/designs/weapon_designs.dm
@@ -280,7 +280,7 @@
/datum/design/commanderammo
name = "Commander magazine (9mm)"
- desc = "A single stack M1911 reproduction magazine, modified to chamber 9mm and fit into Commander sidearms."
+ desc = "A single stack magazine chambered in 9mm for Commander sidearms."
id = "commanderammo"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 15000)
@@ -298,10 +298,10 @@
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_SECURITY
-/datum/design/m1911ammo
- name = "M1911 magazine (.45)"
- desc = "A single stack M1911 magazine, faithfully designed to chamber .45 and fit into the popular M1911 sidearms."
- id = "m1911ammo"
+/datum/design/candorammo
+ name = "Candor magazine (.45)"
+ desc = "A single stack Candor magazine, faithfully designed to chamber .45 and fit into the popular Candor sidearms."
+ id = "candorammo"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 15000)
build_path = /obj/item/ammo_box/magazine/m45
@@ -663,14 +663,6 @@
build_path = /obj/item/ammo_box/magazine/m45
category = list("Imported")
-/datum/design/n762
- name = "Ammo Holder (7.62x38mmR)"
- id = "n762"
- build_type = AUTOLATHE
- materials = list(/datum/material/iron = 20000)
- build_path = /obj/item/ammo_box/n762
- category = list("Imported")
-
/datum/design/disposable_gun
name = "Disposable Gun"
id = "disposable"
@@ -698,13 +690,13 @@
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
-/datum/design/m1911
- name = "M1911 Pistol"
+/datum/design/Candor
+ name = "Candor Pistol"
desc = "A classic pistol."
- id = "m1911"
+ id = "candor"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 8000, /datum/material/silver = 3000, /datum/material/titanium = 2000)
- build_path = /obj/item/gun/ballistic/automatic/pistol/m1911/no_mag
+ build_path = /obj/item/gun/ballistic/automatic/pistol/candor/factory/no_mag
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
@@ -719,22 +711,12 @@
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
/datum/design/winchestermk2
- name = "Winchester Mk2 Rifle"
- desc = "A newer model of Winchester Rifle, sturdy and lever action."
+ name = "Flaming Arrow Lever-action Rifle"
+ desc = "A Flaming Arrow, sturdy and lever action."
id = "winchmk2"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 10000, /datum/material/glass = 3000, /datum/material/silver = 4000, /datum/material/gold = 500)
- build_path = /obj/item/gun/ballistic/shotgun/winchester
- category = list("Weapons")
- departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
-
-/datum/design/srmrevolver
- name = "SRM Standard Issue .357 Revolver"
- desc = "A trusty revolver common amongst hunters and Montagnes."
- id = "srmrevolver"
- build_type = PROTOLATHE
- materials = list(/datum/material/iron = 9000, /datum/material/glass = 1000, /datum/material/silver = 1000, /datum/material/uranium = 1000)
- build_path = /obj/item/gun/ballistic/revolver/srm
+ build_path = /obj/item/gun/ballistic/shotgun/flamingarrow
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
@@ -744,27 +726,27 @@
id = "pepperbox"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 7000, /datum/material/glass = 1000)
- build_path = /obj/item/gun/ballistic/revolver/pepperbox
+ build_path = /obj/item/gun/ballistic/revolver/firebrand
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
-/datum/design/nagantrevolver
- name = "Nagant Revolver"
- desc = "An old model of revolver. Uses 7.62."
- id = "nagantrevolver"
+/datum/design/montagne
+ name = "Montagne Revolver"
+ desc = "The revolver of choice of Hunger Montagnes all over. Uses .38."
+ id = "montagne"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 90000, /datum/material/glass = 1500, /datum/material/silver = 1500)
- build_path = /obj/item/gun/ballistic/revolver/nagant
+ build_path = /obj/item/gun/ballistic/revolver/montagne
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
/datum/design/stripper762
- name = "7.62x54mm Stripperclip"
- desc = "A stripperclip of 7.62x54mm."
+ name = "8x50mmR Stripperclip"
+ desc = "A stripperclip of 8x50mmR."
id = "stripper762"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 10000)
- build_path = /obj/item/ammo_box/a762
+ build_path = /obj/item/ammo_box/magazine/illestren_a850r
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
@@ -778,12 +760,12 @@
category = list("Ammo")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
-/datum/design/nagantrifle
- name = "Nagant Rifle"
- desc = "An old model of rifle. Uses 7.62."
- id = "nagantrifle"
+/datum/design/illestren
+ name = "Illestren Rifle"
+ desc = "The pride of Hunter's Pride. Uses 8x50mmR."
+ id = "illestren"
build_type = PROTOLATHE
materials = list(/datum/material/iron = 85000, /datum/material/glass = 1500, /datum/material/silver = 1500)
- build_path = /obj/item/gun/ballistic/rifle/boltaction
+ build_path = /obj/item/gun/ballistic/rifle/illestren/factory
category = list("Weapons")
departmental_flags = DEPARTMENTAL_FLAG_BALLISTICS
diff --git a/code/modules/research/techweb/all_nodes.dm b/code/modules/research/techweb/all_nodes.dm
index 79009ed1fdf6..12ce53dc175d 100644
--- a/code/modules/research/techweb/all_nodes.dm
+++ b/code/modules/research/techweb/all_nodes.dm
@@ -19,7 +19,7 @@
// Security Stuff
"sec_rshot", "sec_beanbag_slug", "sec_slug", "sec_Islug", "sec_dart", "sec_38", "buckshot_shell", "beanbag_slug", "rubber_shot",
//Handgun Ammo (Security)
- "commanderammo", "stechkinammo", "m1911ammo", "m9cammo", "c9mm", "c10mm", "c45", "c556mmHITP", "rubbershot9mm", "rubbershot10mm", "rubbershot45", "rubbershot556mmHITP",
+ "commanderammo", "stechkinammo", "candorammo", "m9cammo", "c9mm", "c10mm", "c45", "c556mmHITP", "rubbershot9mm", "rubbershot10mm", "rubbershot45", "rubbershot556mmHITP",
// Construction Materials
"rglass", "plasteel", "plastitanium", "plasmaglass", "plasmareinforcedglass", "titaniumglass", "plastitaniumglass",
// You People Are Animals
@@ -766,7 +766,7 @@
display_name = "Saint-Roumain Pistols"
description = "Pistols normally manufactured by the Saint-Roumain Militia."
prereq_ids = list("adv_ballistics")
- design_ids = list("pepperbox", "nagantrevolver", "derringer", "speedload357")
+ design_ids = list("pepperbox", "montagne", "derringer", "speedload357")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 5000)
export_price = 5000
@@ -775,7 +775,7 @@
display_name = "Saint-Roumain Specialty Ballistics"
description = "Specialty ballistics normally manufactured by the Saint-Roumain Militia."
prereq_ids = list("srm_ballistics", "srm_pistols")
- design_ids = list("srmrevolver", "m1911", "stripper762", "nagantrifle")
+ design_ids = list("candor", "stripper762", "illestren")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 12000)
export_price = 5000
diff --git a/code/modules/spells/spell_types/infinite_guns.dm b/code/modules/spells/spell_types/infinite_guns.dm
index d3361284814a..3f400a8fb4bc 100644
--- a/code/modules/spells/spell_types/infinite_guns.dm
+++ b/code/modules/spells/spell_types/infinite_guns.dm
@@ -10,7 +10,7 @@
clothes_req = TRUE
cooldown_min = 10 //Gun wizard
action_icon_state = "bolt_action"
- var/summon_path = /obj/item/gun/ballistic/rifle/boltaction/enchanted
+ var/summon_path = /obj/item/gun/ballistic/rifle/illestren/enchanted
/obj/effect/proc_holder/spell/targeted/infinite_guns/cast(list/targets, mob/user = usr)
for(var/mob/living/carbon/C in targets)
@@ -24,4 +24,4 @@
name = "Arcane Barrage"
desc = "Fire a torrent of arcane energy at your foes with this (powerful) spell. Deals much more damage than Lesser Summon Guns, but won't knock targets down. Requires both hands free to use. Learning this spell makes you unable to learn Lesser Summon Gun."
action_icon_state = "arcane_barrage"
- summon_path = /obj/item/gun/ballistic/rifle/boltaction/enchanted/arcane_barrage
+ summon_path = /obj/item/gun/ballistic/rifle/illestren/enchanted/arcane_barrage
diff --git a/code/modules/spells/spell_types/rightandwrong.dm b/code/modules/spells/spell_types/rightandwrong.dm
index ee40b2782574..aae206d6fb0a 100644
--- a/code/modules/spells/spell_types/rightandwrong.dm
+++ b/code/modules/spells/spell_types/rightandwrong.dm
@@ -3,6 +3,7 @@
// 1 in 50 chance of getting something really special.
#define SPECIALIST_MAGIC_PROB 2
+// todo: this probably neds to be reorganized sometime
GLOBAL_LIST_INIT(summoned_guns, list(
/obj/item/gun/energy/disabler,
/obj/item/gun/energy/e_gun,
@@ -17,9 +18,9 @@ GLOBAL_LIST_INIT(summoned_guns, list(
/obj/item/gun/ballistic/shotgun/doublebarrel,
/obj/item/gun/ballistic/shotgun,
/obj/item/gun/ballistic/shotgun/automatic/combat,
- /obj/item/gun/ballistic/automatic/assault/ar,
+ /obj/item/gun/ballistic/automatic/assault/p16,
/obj/item/gun/ballistic/revolver/mateba,
- /obj/item/gun/ballistic/rifle/boltaction,
+ /obj/item/gun/ballistic/rifle/illestren,
/obj/item/pneumatic_cannon/speargun,
/obj/item/gun/ballistic/automatic/smg/mini_uzi,
/obj/item/gun/energy/lasercannon,
diff --git a/code/modules/uplink/uplink_items.dm b/code/modules/uplink/uplink_items.dm
index 53b49ab30f0b..48c79382444e 100644
--- a/code/modules/uplink/uplink_items.dm
+++ b/code/modules/uplink/uplink_items.dm
@@ -517,7 +517,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/dangerous/bolt_action
name = "Surplus Rifle"
desc = "A horribly outdated bolt action weapon. You've got to be desperate to use this."
- item = /obj/item/gun/ballistic/rifle/boltaction
+ item = /obj/item/gun/ballistic/rifle/illestren
cost = 1
include_modes = list(/datum/game_mode/nuclear)
@@ -948,7 +948,7 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item))
/datum/uplink_item/ammo/bolt_action
name = "Surplus Rifle Clip"
desc = "A stripper clip used to quickly load bolt action rifles. Contains 5 rounds."
- item = /obj/item/ammo_box/a762
+ item = /obj/item/ammo_box/magazine/illestren_a850r
cost = 1
include_modes = list(/datum/game_mode/nuclear)
diff --git a/code/modules/vending/liberation.dm b/code/modules/vending/liberation.dm
index d2fb11bfef4b..015bbdc2c340 100644
--- a/code/modules/vending/liberation.dm
+++ b/code/modules/vending/liberation.dm
@@ -12,12 +12,11 @@
/obj/item/reagent_containers/food/drinks/beer/light = 10, //O'er the ramparts we watched, were so gallantly streaming?
/obj/item/gun/ballistic/automatic/pistol/deagle/gold = 2,
/obj/item/gun/ballistic/automatic/pistol/deagle/camo = 2,
- /obj/item/gun/ballistic/automatic/pistol/m1911 = 2,
+ /obj/item/gun/ballistic/automatic/pistol/candor = 2,
/obj/item/gun/ballistic/automatic/smg/proto/unrestricted = 2,
/obj/item/gun/ballistic/shotgun/automatic/combat = 2,
/obj/item/gun/ballistic/automatic/gyropistol = 1,
- /obj/item/gun/ballistic/shotgun = 2,
- /obj/item/gun/ballistic/automatic/assault/ar = 2)
+ /obj/item/gun/ballistic/shotgun = 2)
premium = list(
/obj/item/ammo_box/magazine/smgm9mm = 2,
/obj/item/ammo_box/magazine/m50 = 4,
diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi
index 13baacb46614..dbb2a6a40ff5 100644
Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ
diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi
index 7feb4662b2ec..b67e589ef5d4 100644
Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ
diff --git a/icons/mob/clothing/belt_mirror.dmi b/icons/mob/clothing/belt_mirror.dmi
index 3440e0b3e663..137b0673482d 100644
Binary files a/icons/mob/clothing/belt_mirror.dmi and b/icons/mob/clothing/belt_mirror.dmi differ
diff --git a/icons/mob/inhands/weapons/guns_lefthand.dmi b/icons/mob/inhands/weapons/guns_lefthand.dmi
index 7b15fb84a247..24557d26a896 100644
Binary files a/icons/mob/inhands/weapons/guns_lefthand.dmi and b/icons/mob/inhands/weapons/guns_lefthand.dmi differ
diff --git a/icons/mob/inhands/weapons/guns_righthand.dmi b/icons/mob/inhands/weapons/guns_righthand.dmi
index 0354d2352120..b68f44a56727 100644
Binary files a/icons/mob/inhands/weapons/guns_righthand.dmi and b/icons/mob/inhands/weapons/guns_righthand.dmi differ
diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi
index 038ad37895ca..aaddd3b8de70 100644
Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ
diff --git a/icons/obj/guns/48x32guns.dmi b/icons/obj/guns/48x32guns.dmi
index 89bacfc64afd..2d0e82cb0a77 100644
Binary files a/icons/obj/guns/48x32guns.dmi and b/icons/obj/guns/48x32guns.dmi differ
diff --git a/icons/obj/guns/projectile.dmi b/icons/obj/guns/projectile.dmi
index 02e7d3812dcb..8e6b46f822d6 100644
Binary files a/icons/obj/guns/projectile.dmi and b/icons/obj/guns/projectile.dmi differ
diff --git a/icons/obj/storage.dmi b/icons/obj/storage.dmi
index 250f7220713d..26b4ebd8a83f 100644
Binary files a/icons/obj/storage.dmi and b/icons/obj/storage.dmi differ
diff --git a/icons/obj/transforming_energy.dmi b/icons/obj/transforming_energy.dmi
index 4037a51d2ffa..ff2f99832d1c 100644
Binary files a/icons/obj/transforming_energy.dmi and b/icons/obj/transforming_energy.dmi differ
diff --git a/sound/weapons/gun/pistol/m1911.ogg b/sound/weapons/gun/pistol/candor.ogg
similarity index 100%
rename from sound/weapons/gun/pistol/m1911.ogg
rename to sound/weapons/gun/pistol/candor.ogg
diff --git a/sound/weapons/gun/pistol/m1911_cocked.ogg b/sound/weapons/gun/pistol/candor_cocked.ogg
similarity index 100%
rename from sound/weapons/gun/pistol/m1911_cocked.ogg
rename to sound/weapons/gun/pistol/candor_cocked.ogg
diff --git a/sound/weapons/gun/pistol/m1911_reload.ogg b/sound/weapons/gun/pistol/candor_reload.ogg
similarity index 100%
rename from sound/weapons/gun/pistol/m1911_reload.ogg
rename to sound/weapons/gun/pistol/candor_reload.ogg
diff --git a/sound/weapons/gun/pistol/m1911_unload.ogg b/sound/weapons/gun/pistol/candor_unload.ogg
similarity index 100%
rename from sound/weapons/gun/pistol/m1911_unload.ogg
rename to sound/weapons/gun/pistol/candor_unload.ogg
diff --git a/sound/weapons/gun/rifle/flamingarrow.ogg b/sound/weapons/gun/rifle/flamingarrow.ogg
new file mode 100644
index 000000000000..0362cf72013f
Binary files /dev/null and b/sound/weapons/gun/rifle/flamingarrow.ogg differ
diff --git a/sound/weapons/gun/rifle/m16.ogg b/sound/weapons/gun/rifle/m16.ogg
index d7f5b22067bb..b81834891201 100644
Binary files a/sound/weapons/gun/rifle/m16.ogg and b/sound/weapons/gun/rifle/m16.ogg differ
diff --git a/sound/weapons/gun/rifle/scout.ogg b/sound/weapons/gun/rifle/scout.ogg
new file mode 100644
index 000000000000..8c4227a44871
Binary files /dev/null and b/sound/weapons/gun/rifle/scout.ogg differ
diff --git a/sound/weapons/gun/rifle/scout_bolt_in.ogg b/sound/weapons/gun/rifle/scout_bolt_in.ogg
new file mode 100644
index 000000000000..13a854b3b1d4
Binary files /dev/null and b/sound/weapons/gun/rifle/scout_bolt_in.ogg differ
diff --git a/sound/weapons/gun/rifle/scout_bolt_out.ogg b/sound/weapons/gun/rifle/scout_bolt_out.ogg
new file mode 100644
index 000000000000..4e1107079a13
Binary files /dev/null and b/sound/weapons/gun/rifle/scout_bolt_out.ogg differ
diff --git a/sound/weapons/gun/rifle/vickland.ogg b/sound/weapons/gun/rifle/vickland.ogg
new file mode 100644
index 000000000000..d6f46cbc610b
Binary files /dev/null and b/sound/weapons/gun/rifle/vickland.ogg differ
diff --git a/sound/weapons/gun/rifle/vickland_unload.ogg b/sound/weapons/gun/rifle/vickland_unload.ogg
new file mode 100644
index 000000000000..b251d7b70095
Binary files /dev/null and b/sound/weapons/gun/rifle/vickland_unload.ogg differ
diff --git a/sound/weapons/gun/rifle/winchester_cocked.ogg b/sound/weapons/gun/rifle/winchester_cocked.ogg
deleted file mode 100644
index 5f2d32e31eaf..000000000000
Binary files a/sound/weapons/gun/rifle/winchester_cocked.ogg and /dev/null differ
diff --git a/sound/weapons/gun/shotgun/brimstone.ogg b/sound/weapons/gun/shotgun/brimstone.ogg
new file mode 100644
index 000000000000..432a690f9ec3
Binary files /dev/null and b/sound/weapons/gun/shotgun/brimstone.ogg differ
diff --git a/sound/weapons/gun/shotgun/bulldog.ogg b/sound/weapons/gun/shotgun/bulldog.ogg
new file mode 100644
index 000000000000..090e5a81a88e
Binary files /dev/null and b/sound/weapons/gun/shotgun/bulldog.ogg differ
diff --git a/sound/weapons/gun/shotgun/dbshotgun_break.ogg b/sound/weapons/gun/shotgun/dbshotgun_break.ogg
new file mode 100644
index 000000000000..33196c3ac386
Binary files /dev/null and b/sound/weapons/gun/shotgun/dbshotgun_break.ogg differ
diff --git a/sound/weapons/gun/shotgun/dbshotgun_close.ogg b/sound/weapons/gun/shotgun/dbshotgun_close.ogg
new file mode 100644
index 000000000000..c6f4a26bc56b
Binary files /dev/null and b/sound/weapons/gun/shotgun/dbshotgun_close.ogg differ
diff --git a/sound/weapons/gun/smg/firestorm.ogg b/sound/weapons/gun/smg/firestorm.ogg
new file mode 100644
index 000000000000..2ff8319777de
Binary files /dev/null and b/sound/weapons/gun/smg/firestorm.ogg differ