diff --git a/code/datums/components/crafting/recipes/weapons.dm b/code/datums/components/crafting/recipes/weapons.dm
index b8fe974e056..bcb00d0d076 100644
--- a/code/datums/components/crafting/recipes/weapons.dm
+++ b/code/datums/components/crafting/recipes/weapons.dm
@@ -56,3 +56,14 @@
time = 120
category = CAT_WEAPONRY
subcategory = CAT_WEAPON
+
+/datum/crafting_recipe/scopedrifle
+ name = "Bolt scope to bolt-action (cannot be removed)"
+ result = /obj/item/weapon/gun/projectile/shotgun/pump/rifle/scoped
+ reqs = list(
+ /obj/item/device/binoculars/scope = 1,
+ /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 1
+ )
+ time = 180
+ category = CAT_WEAPONRY
+ subcategory = CAT_WEAPON
\ No newline at end of file
diff --git a/code/datums/supplypacks/munitions.dm b/code/datums/supplypacks/munitions.dm
index 30ccee5746e..4dfe256d75b 100644
--- a/code/datums/supplypacks/munitions.dm
+++ b/code/datums/supplypacks/munitions.dm
@@ -129,6 +129,17 @@
containername = "Ballistic weapon crate"
access = access_armory
+/datum/supply_pack/munitions/bolt_rifles_lethal
+ name = "Weapons - Bolt-Action Rifles"
+ contains = list(
+ /obj/item/weapon/gun/projectile/shotgun/pump/rifle = 2,
+ /obj/item/ammo_magazine/ammo_box/b762 = 4,
+ )
+ cost = 60
+ containertype = /obj/structure/closet/crate/secure/weapon
+ containername = "Ballistic Weapons crate"
+ access = access_armory
+
/datum/supply_pack/munitions/bolt_rifles_competitive
name = "Weapons - Competitive shooting rifles"
contains = list(
diff --git a/code/game/objects/items/devices/binoculars.dm b/code/game/objects/items/devices/binoculars.dm
index 1bb63fab38d..90b7af0a603 100644
--- a/code/game/objects/items/devices/binoculars.dm
+++ b/code/game/objects/items/devices/binoculars.dm
@@ -18,4 +18,9 @@
name = "spyglass"
desc = "It's a hand-held telescope, useful for star-gazing, peeping, and recon."
icon_state = "spyglass"
- slot_flags = SLOT_BELT
\ No newline at end of file
+ slot_flags = SLOT_BELT
+
+/obj/item/device/binoculars/scope
+ name = "rifle scope"
+ desc = "It's a rifle scope. Would be better if it were actually attached to a rifle."
+ icon_state = "rifle_scope"
\ No newline at end of file
diff --git a/code/modules/projectiles/ammunition/magazines.dm b/code/modules/projectiles/ammunition/magazines.dm
index d5dd39e82f6..f578b057354 100644
--- a/code/modules/projectiles/ammunition/magazines.dm
+++ b/code/modules/projectiles/ammunition/magazines.dm
@@ -742,27 +742,25 @@
// Clip
/obj/item/ammo_magazine/clip/c12g
name = "ammo clip (12g slug)"
- icon_state = "12gclipslug" // Still a placeholder sprite. Feel free to make a better one.
- desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with slugs."
+ icon_state = "12gclipslug"
+ desc = "A metal clip for holding and quickly loading two shotgun shells."
caliber = "12g"
ammo_type = /obj/item/ammo_casing/a12g
- matter = list(MAT_STEEL = 1070) // slugs shells x2 + 350 metal for the clip itself.
+ matter = list(MAT_STEEL = 1070)
max_ammo = 2
multiple_sprites = 1
/obj/item/ammo_magazine/clip/c12g/pellet
name = "ammo clip (12g buckshot)"
icon_state = "12gclipshell"
- desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with buckshot."
ammo_type = /obj/item/ammo_casing/a12g/pellet
- matter = list(MAT_STEEL = 1070) // buckshot and slugs cost the same
+ matter = list(MAT_STEEL = 1070)
/obj/item/ammo_magazine/clip/c12g/beanbag
name = "ammo clip (12g beanbag)"
icon_state = "12gclipbean"
- desc = "A color-coded metal clip for holding and quickly loading shotgun shells. This one is loaded with beanbags."
ammo_type = /obj/item/ammo_casing/a12g/beanbag
- matter = list(MAT_STEEL = 710) //beanbags x2 + 350 metal
+ matter = list(MAT_STEEL = 710)
///////// .75 Gyrojet /////////
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index cea479f48cf..028c988a2a1 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -289,13 +289,18 @@
return
..()
+/*
+ * Automatic Shotgun
+ */
/obj/item/weapon/gun/projectile/automatic/as24
name = "automatic shotgun"
- desc = "The AS-24 is a rugged looking automatic shotgun produced exclusively for the SCG Fleet by Hephaestus Industries. For very obvious reasons, it's illegal to own in many juristictions. Uses 12g rounds."
- description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by professional armed forces across human space."
+ desc = "The AS-24 is a rugged looking automatic shotgun produced exclusively for the SCG Fleet by Hephaestus \
+ Industries. For very obvious reasons, it's illegal to own in many juristictions. Uses 12g rounds."
+ description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' \
+ branding for its military-grade equipment used by professional armed forces across human space."
icon_state = "ashot"
- item_state = null
- wielded_item_state = "woodarifle-wielded" //Placeholder
+ item_state = "ashot"
+ wielded_item_state = "ashot-wielded"
w_class = ITEMSIZE_LARGE
force = 10
caliber = "12g"
@@ -311,7 +316,6 @@
firemodes = list(
list(mode_name="semiauto", burst=1, fire_delay=0),
list(mode_name="3-round bursts", burst=3, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30), dispersion = list(0.0, 0.6, 0.6))
-// list(mode_name="6-round bursts", burst=6, move_delay=6, burst_accuracy = list(0,-15,-15,-30,-30, -30), dispersion = list(0.6, 1.0, 1.0, 1.0, 1.2, 1.2)),
)
/obj/item/weapon/gun/projectile/automatic/as24/update_icon()
diff --git a/code/modules/projectiles/guns/projectile/boltaction.dm b/code/modules/projectiles/guns/projectile/boltaction.dm
index d90d27ab702..0065ab0844f 100644
--- a/code/modules/projectiles/guns/projectile/boltaction.dm
+++ b/code/modules/projectiles/guns/projectile/boltaction.dm
@@ -1,13 +1,20 @@
-// For all intents and purposes, these work exactly the same as pump shotguns. It's unnecessary to make their own procs for them.
-
-////////Base Rifle////////
+/*
+ * Bolt-Action Rifle
+ */
/obj/item/weapon/gun/projectile/shotgun/pump/rifle
name = "bolt-action rifle"
- desc = "The Hedberg-Hammarstrom Volsung is a modern interpretation of an almost ancient weapon design. The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
- description_fluff = "Sif’s largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
- The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
- item_state = "boltaction"
+ desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. \
+ The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, \
+ the Weissen Arms Company are the leading manufacturer of - not only quality - \
+ but affordable rifles for the average frontiersman looking to protect his \
+ claim. The company operates just one production plant in the Mytis system, \
+ but their weapons have found popularity on garden worlds as far afield as \
+ the Tajaran homeworld due to their excellent build quality, precision, and \
+ stopping power. Thier bolt-action rifles and brushguns are a staple amongst \
+ the rural communities that dot this infinite frontier."
icon_state = "boltaction"
+ item_state = "boltaction"
fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 5
caliber = "7.62mm"
@@ -17,24 +24,53 @@
action_sound = 'sound/weapons/riflebolt.ogg'
pump_animation = "boltaction-cycling"
-////////Practice Rifle////////
+/*
+ * Practice Rifle
+ */
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice // For target practice
name = "practice bolt-action rifle"
icon_state = "boltaction_practice"
- desc = "A bolt-action rifle with a lightweight synthetic wood stock, designed for competitive shooting. Comes shipped with practice rounds pre-loaded into the gun. Popular among professional marksmen. Uses 7.62mm rounds."
+ desc = "A bolt-action rifle with a lightweight synthetic wood stock, designed for competitive shooting. \
+ Comes shipped with practice rounds pre-loaded into the gun. Popular among professional marksmen. Uses 7.62mm rounds."
ammo_type = /obj/item/ammo_casing/a762/practice
pump_animation = "boltaction_practice-cycling"
+ max_shells = 4
-////////Ceremonial Rifle////////
+/*
+ * Moist Nugget
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/moistnugget
+ name = "mosin-nagant"
+ icon_state = "moistnugget"
+ item_state = "rifle"
+ desc = "Developed from 1882 to 1891, it was used by the armed forces of the Russian Empire, the Soviet \
+ Union and various other nations. It is one of the most mass-produced military bolt-action rifles in history. Uses 7.62mm rounds."
+ description_fluff = "Hailing from the Human homeworld, the M1891, otherwise known as the Mosin-Nagant is one of the most \
+ prevalant and cheapest rifles of its time. This modern remake of the classic design was used by early colonists of the \
+ Commonwealth to stake claims. It was favored because of how cheap and easy the weapon was to manufacture as well as its \
+ ease of use making it a better choice for those that didn't have proper firearms training."
+ ammo_type = /obj/item/ammo_casing/a762
+ pump_animation = "moistnugget-cycling"
+
+/*
+ * Ceremonial Rifle
+ */
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial
name = "ceremonial bolt-action rifle"
- desc = "A bolt-action rifle with a heavy, high-quality wood stock that has a beautiful finish. Clearly not intended to be used in combat. Uses 7.62mm rounds."
- item_state = "boltaction_c"
+ desc = "A bolt-action rifle with a heavy, high-quality wood stock that has a beautiful finish. \
+ Clearly not intended to be used in combat. Uses 7.62mm rounds."
+ item_state = "ceremonial_rifle"
icon_state = "ceremonial_rifle"
ammo_type = /obj/item/ammo_casing/a762/blank
pump_animation = "ceremonial_rifle-cycling"
+ max_shells = 5
+
+ var/sawn_off = FALSE
/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial/attackby(var/obj/item/A as obj, mob/user as mob)
+ if(sawn_off)
+ to_chat(user, "The [src] is already shortened!")
+ return
if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter) && w_class != ITEMSIZE_NORMAL)
to_chat(user, "You begin to shorten the barrel and stock of \the [src].")
if(loaded.len)
@@ -43,39 +79,72 @@
user.visible_message("[src] goes off!", "The rifle goes off in your face!")
return
if(do_after(user, 30))
+ if(sawn_off)
+ return
icon_state = "sawn_rifle"
w_class = ITEMSIZE_NORMAL
recoil = 2 // Owch
accuracy = -15 // You know damn well why.
item_state = "gun"
- slot_flags &= ~SLOT_BACK //you can't sling it on your back
- slot_flags |= (SLOT_BELT|SLOT_HOLSTER) //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
+ slot_flags &= ~SLOT_BACK // You can't sling it on your back
+ slot_flags |= (SLOT_BELT|SLOT_HOLSTER) // But you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
name = "sawn-off rifle"
desc = "The firepower of a rifle, now the size of a pistol, with an effective combat range of about three feet. Uses 7.62mm rounds."
pump_animation = "sawn_rifle-cycling"
to_chat(user, "You shorten the barrel and stock of \the [src]!")
+ sawn_off = TRUE
else
..()
-//Lever actions are the same thing, but bigger.
+/*
+ * Surplus Rifle
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/surplus
+ name = "surplus rifle"
+ desc = "An ancient weapon from an era long past, crude in design, but still just as effective \
+ as any modern interpretation. Uses 7.62mm rounds."
+ icon_state = "surplus"
+ item_state = "rifle"
+ fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
+ max_shells = 4
+ slot_flags = null
+ caliber = "7.62mm"
+ origin_tech = list(TECH_COMBAT = 1) // Old(er) as shit rifle doesn't have very good tech.
+ ammo_type = /obj/item/ammo_casing/a762
+ load_method = SINGLE_CASING|SPEEDLOADER
+ action_sound = 'sound/weapons/riflebolt.ogg'
+ pump_animation = "surplus-cycling"
-////////Standard Lever Action Rifle////////
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
- name = "lever-action rifle"
- desc = "The Hedberg-Hammarstrom Edda is the latest version of an almost ancient weapon design from the 19th century, popular with some due to its simplistic design. This one uses a lever-action to move new rounds into the chamber. Uses 7.62mm rounds."
- description_fluff = "Sif’s largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
- The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
- item_state = "leveraction"
- icon_state = "leveraction"
+/*
+ * Scoped Rifle
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/scoped
+ name = "scoped bolt-action rifle"
+ desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. \
+ The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, \
+ the Weissen Arms Company are the leading manufacturer of - not only quality - \
+ but affordable rifles for the average frontiersman looking to protect his \
+ claim. The company operates just one production plant in the Mytis system, \
+ but their weapons have found popularity on garden worlds as far afield as \
+ the Tajaran homeworld due to their excellent build quality, precision, and \
+ stopping power. Thier bolt-action rifles and brushguns are a staple amongst \
+ the rural communities that dot this infinite frontier."
+ icon_state = "scoped-boltaction"
+ item_state = "boltaction_scoped"
+ fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
max_shells = 5
caliber = "7.62mm"
- load_method = SINGLE_CASING
- pump_animation = "leveraction-cycling"
+ origin_tech = list(TECH_COMBAT = 2)// Old as shit rifle doesn't have very good tech, but it does have a scope.
+ ammo_type = /obj/item/ammo_casing/a762
+ load_method = SINGLE_CASING|SPEEDLOADER
+ action_sound = 'sound/weapons/riflebolt.ogg'
+ pump_animation = "scoped-boltaction-cycling"
-////////Vintage Lever Action Rifle////////
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage
- name = "vintage repeater"
- desc = "An iconic manually operated lever action rifle, offering adequate stopping power due to it's still powerful cartridge while at the same time having a rather respectable firing rate due to it's mechanism. It is very probable this is a replica instead of a museum piece, but rifles of this pattern still see usage as colonist guns in some far off regions. Uses 7.62mm rounds."
- item_state = "levercarbine"
- icon_state = "levercarbine"
- pump_animation = "levercarbine-cycling"
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ui_action_click()
+ scope()
+
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/verb/scope()
+ set category = "Object"
+ set name = "Use Scope"
+ set popup_menu = 1
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/projectile/boltaction_vr.dm b/code/modules/projectiles/guns/projectile/boltaction_vr.dm
deleted file mode 100644
index 3e538adf4ee..00000000000
--- a/code/modules/projectiles/guns/projectile/boltaction_vr.dm
+++ /dev/null
@@ -1,55 +0,0 @@
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle
- desc = "The Weissen Company Type-19 is a modern interpretation of an almost ancient weapon design. The model is popular among hunters and collectors due to its reliability. Uses 7.62mm rounds."
- description_fluff = "The frontier’s largest home-grown firearms manufacturer, the APEX Arms Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
- The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
- icon = 'icons/obj/gun_vr.dmi'
-
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle/practice //For target practice
- name = "practice rifle"
- icon = 'icons/obj/gun_vr.dmi'
- icon_state = "boltaction_p"
- item_state = "boltaction_p"
- item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi')
- max_shells = 4
-
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle/ceremonial
- max_shells = 5
-
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
- desc = "The Weissen Company Thunderking is the latest version of an almost ancient weapon design from the 19th century, popular with some due to its simplistic design. This one uses a lever-action to move new rounds into the chamber. Uses 7.62mm rounds."
- description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
- The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
- icon = 'icons/obj/gun_vr.dmi'
- icon_state = "levergun"
- max_shells = 6
-
-/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage
- desc = "The Weissen Company's version of an iconic manually operated lever action rifle, the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at the same time having a rather respectable firing rate due to it's mechanism. It is very probable this is a replica instead of a museum piece, but rifles of this pattern still see usage as colonist guns in some far off regions. Uses 7.62mm rounds."
- description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the wild frontier wilderness - and its wildlife - in mind. \
- The company operates just one production plant in the Mytis system, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, precision, and stopping power."
- icon = 'icons/obj/gun_vr.dmi'
- icon_state = "levergunv"
- item_state = "leveraction"
- max_shells = 5
- caliber = "7.62mm"
- load_method = SINGLE_CASING
- pump_animation = null
-
-////////////////////////surplus gun - for derelicts (04/26/2021)////////////////////////
-
-/obj/item/weapon/gun/projectile/shotgun/pump/surplus
- name = "surplus rifle"
- desc = "An ancient weapon from an era long pas, crude in design, but still just as effective as any modern interpretation. Uses 7.62mm rounds."
- icon = 'icons/obj/gun_vr.dmi'
- icon_state = "boltaction_s"
- item_state = "boltaction_p"
- item_icons = list(slot_l_hand_str = 'icons/mob/items/lefthand_guns_vr.dmi', slot_r_hand_str = 'icons/mob/items/righthand_guns_vr.dmi')
- fire_sound = 'sound/weapons/Gunshot_generic_rifle.ogg'
- max_shells = 4
- slot_flags = null
- caliber = "7.62mm"
- origin_tech = list(TECH_COMBAT = 1) // Old(er) as shit rifle doesn't have very good tech.
- ammo_type = /obj/item/ammo_casing/a762
- load_method = SINGLE_CASING|SPEEDLOADER
- action_sound = 'sound/weapons/riflebolt.ogg'
- pump_animation = null
diff --git a/code/modules/projectiles/guns/projectile/leveraction.dm b/code/modules/projectiles/guns/projectile/leveraction.dm
new file mode 100644
index 00000000000..0379ace324f
--- /dev/null
+++ b/code/modules/projectiles/guns/projectile/leveraction.dm
@@ -0,0 +1,101 @@
+/*
+ * Lever-Action Rifle
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever
+ name = "lever-action rifle"
+ desc = "The Weissen Company's version of an iconic manually operated lever action rifle, \
+ the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at \
+ the same time having a rather respectable firing rate due to it's mechanism. It is very probable \
+ this is a replica instead of a museum piece, but rifles of this pattern still see usage as \
+ colonist guns in some far off regions. Uses 7.62mm rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen \
+ Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \
+ the wild frontier wilderness - and its wildlife - in mind. The company operates just one \
+ production plant in the Mytis system, but their weapons have found popularity on garden \
+ worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
+ precision, and stopping power."
+ icon_state = "leveraction"
+ item_state = "huntrifle"
+ max_shells = 5
+ caliber = "7.62mm"
+ load_method = SINGLE_CASING
+ pump_animation = "leveraction-cycling"
+
+/*
+ * Vintage Lever-Action
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/vintage
+ name = "vintage lever-action rifle"
+ desc = "The Weissen Company's version of an iconic manually operated lever action rifle, \
+ the Bushhog, offering adequate stopping power due to it's still powerful cartridge while at \
+ the same time having a rather respectable firing rate due to it's mechanism. It is very probable \
+ this is a replica instead of a museum piece, but rifles of this pattern still see usage as \
+ colonist guns in some far off regions. Uses 7.62mm rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, the Weissen \
+ Company offers a range of high-quality, high-cost hunting rifles and shotguns designed with \
+ the wild frontier wilderness - and its wildlife - in mind. The company operates just one \
+ production plant in the Mytis system, but their weapons have found popularity on garden \
+ worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
+ precision, and stopping power."
+ icon_state = "levercarbine"
+ pump_animation = "levercarbine-cycling"
+
+/*
+ * Cowboy Repeater
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/repeater
+ name = "repeater"
+ desc = "The Weissen Company's answer to varmint shooting on frontier ranches, the T-7 Boone \
+ gives ranchers and farmers alike a perfect rider rifle for protecting the fenceline. Uses .357 rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, \
+ the Weissen Arms Company are the leading manufacturer of - not only quality - \
+ but affordable rifles for the average frontiersman looking to protect his \
+ claim. The company operates just one production plant in the Mytis system, \
+ but their weapons have found popularity on garden worlds as far afield as \
+ the Tajaran homeworld due to their excellent build quality, precision, and \
+ stopping power. Thier bolt-action and brushguns are a staple amongst the rural communities \
+ that dot this infinite frontier."
+ icon_state = "repeater"
+ max_shells = 8
+ caliber = ".357"
+ pump_animation = "repeater-cycling"
+
+/*
+ * Brushgun
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/brushgun
+ name = "brushgun"
+ desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \
+ the T-10 Cassidy Uses .44 rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, \
+ the Weissen Arms Company are the leading manufacturer of - not only quality - \
+ but affordable rifles for the average frontiersman looking to protect his \
+ claim. The company operates just one production plant in the Mytis system, \
+ but their weapons have found popularity on garden worlds as far afield as \
+ the Tajaran homeworld due to their excellent build quality, precision, and \
+ stopping power. Thier bolt-action and brushguns are a staple amongst the rural communities \
+ that dot this infinite frontier."
+ icon_state = "brushgun"
+ max_shells = 8
+ caliber = ".44"
+ pump_animation = "brushgun-cycling"
+
+/*
+ * Trailgun
+ */
+/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/trailgun
+ name = "brushgun"
+ desc = "Weissen Company's newest budget caravan rifle for those that want a light yet effective rifle, \
+ the T-10 Cassidy Uses .44 rounds."
+ description_fluff = "The frontier’s largest home-grown firearms manufacturer, \
+ the Weissen Arms Company are the leading manufacturer of - not only quality - \
+ but affordable rifles for the average frontiersman looking to protect his \
+ claim. The company operates just one production plant in the Mytis system, \
+ but their weapons have found popularity on garden worlds as far afield as \
+ the Tajaran homeworld due to their excellent build quality, precision, and \
+ stopping power. Thier bolt-action and brushguns are a staple amongst the rural communities \
+ that dot this infinite frontier."
+ icon_state = "trailgun"
+ max_shells = 8
+ caliber = ".44"
+ pump_animation = "trailgun-cycling"
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/projectile/semiauto.dm b/code/modules/projectiles/guns/projectile/semiauto.dm
index d3fec59325d..e04c896ecc6 100644
--- a/code/modules/projectiles/guns/projectile/semiauto.dm
+++ b/code/modules/projectiles/guns/projectile/semiauto.dm
@@ -1,11 +1,17 @@
+/*
+ * M1 Garand
+ */
/obj/item/weapon/gun/projectile/garand
name = "semi-automatic rifle"
- desc = "A vintage styled frontier rifle by Hedberg-Hammarstrom. The distinctive 'ping' is considered traditional, though its origins are much debated.. Uses 7.62mm rounds."
- description_fluff = "Sif’s largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
- The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
+ desc = "A vintage styled frontier rifle by Hedberg-Hammarstrom. The distinctive 'ping' is considered \
+ traditional, though its origins are much debated. Uses 7.62mm rounds."
+ description_fluff = "Sif’s largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a \
+ range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its \
+ wildlife - in mind. The company operates just one production plant in Kalmar, but their weapons have found \
+ popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
precision, and stopping power."
icon_state = "garand"
- item_state = "boltaction"
+ item_state = "rifle"
w_class = ITEMSIZE_LARGE
caliber = "7.62mm"
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
@@ -23,14 +29,19 @@
else
icon_state = "[initial(icon_state)]-e"
-//Bastard child of a revolver and a semi-auto rifle.
-
-//Standard Revolving Rifle
+/*
+ * Revolver Rifle
+ * Bastard child of a revolver and a semi-auto rifle.
+ */
/obj/item/weapon/gun/projectile/revolvingrifle
name = "revolving rifle"
- desc = "The Gungnir is a novel, antique idea brought into the modern era by Hedberg-Hammarstrom. The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. Uses .44 magnum revolver rounds."
- description_fluff = "Sif’s largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its wildlife - in mind. \
- The company operates just one production plant in Kalmar, but their weapons have found popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
+ desc = "The Gungnir is a novel, antique idea brought into the modern era by Hedberg-Hammarstrom. \
+ The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. \
+ Uses .44 magnum revolver rounds."
+ description_fluff = "Sif’s largest home-grown firearms manufacturer, the Hedberg-Hammarstrom company offers a \
+ range of high-quality, high-cost hunting rifles and shotguns designed with the Sivian wilderness - and its \
+ wildlife - in mind. The company operates just one production plant in Kalmar, but their weapons have found \
+ popularity on garden worlds as far afield as the Tajaran homeworld due to their excellent build quality, \
precision, and stopping power."
icon_state = "revolvingrifle"
item_state = "rifle"
@@ -43,9 +54,13 @@
max_shells = 6
ammo_type = /obj/item/ammo_casing/a44/rifle
-//Vintage Revolving Rifle
+/*
+ * Vintage Revolver Rifle
+ */
/obj/item/weapon/gun/projectile/revolvingrifle/vintage
name = "vintage revolving rifle"
- desc = "The Willhem is the Gungir's older cousin by Hedberg-Hammarstrom, the perfect collector piece. The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. Uses .44 magnum revolver rounds."
+ desc = "The Willhem is the Gungir's older cousin by Hedberg-Hammarstrom, the perfect collector piece. \
+ The semi-automatic revolving mechanism offers no real advantage, but some colonists swear by it. \
+ Uses .44 magnum revolver rounds."
icon_state = "vintagerevolvingrifle"
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index 6e69b65a6a1..20868b555e4 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -1,7 +1,11 @@
+/*
+ * Shotgun
+ */
/obj/item/weapon/gun/projectile/shotgun/pump
name = "shotgun"
desc = "The mass-produced MarsTech Meteor 29 shotgun is a favourite of police and security forces on many worlds. Uses 12g rounds."
- description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, MarsTech has been the provider of choice for law enforcement and security forces for over 300 years."
+ description_fluff = "The leading civilian-sector high-quality small arms brand of Hephaestus Industries, \
+ MarsTech has been the provider of choice for law enforcement and security forces for over 300 years."
icon_state = "shotgun"
item_state = "shotgun"
max_shells = 4
@@ -32,17 +36,22 @@
/obj/item/weapon/gun/projectile/shotgun/pump/proc/pump(mob/M as mob)
playsound(src, action_sound, 60, 1)
- if(chambered)//We have a shell in the chamber
- chambered.loc = get_turf(src)//Eject casing
+ // We have a shell in the chamber
+ if(chambered)
+ if(chambered.caseless)
+ qdel(chambered) // Delete casing
+ else
+ chambered.loc = get_turf(src) // Eject casing
chambered = null
+ // Load next shell
if(loaded.len)
- var/obj/item/ammo_casing/AC = loaded[1] //load next casing.
- loaded -= AC //Remove casing from loaded list.
+ var/obj/item/ammo_casing/AC = loaded[1] // Load next casing.
+ loaded -= AC // Remove casing from loaded list.
chambered = AC
- if(pump_animation)//This affects all bolt action and shotguns.
- flick("[pump_animation]", src)//This plays any pumping
+ if(pump_animation) // This affects all bolt action and shotguns.
+ flick("[pump_animation]", src) // This plays any pumping
update_icon()
@@ -62,10 +71,14 @@
ammo_type = /obj/item/ammo_casing/a12g
pump_animation = null
+/*
+ * Combat Shotgun
+ */
/obj/item/weapon/gun/projectile/shotgun/pump/combat
name = "combat shotgun"
desc = "Built for close quarters combat, the Hephaestus Industries KS-40 is widely regarded as a weapon of choice for repelling boarders. Uses 12g rounds."
- description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' branding for its military-grade equipment used by armed forces across human space."
+ description_fluff = "The leading arms producer in the SCG, Hephaestus typically only uses its 'top level' \
+ branding for its military-grade equipment used by armed forces across human space."
icon_state = "cshotgun"
item_state = "cshotgun"
origin_tech = list(TECH_COMBAT = 5, TECH_MATERIAL = 2)
@@ -77,6 +90,9 @@
/obj/item/weapon/gun/projectile/shotgun/pump/combat/empty
ammo_type = null
+/*
+ * Double-Barreled Shotgun
+ */
/obj/item/weapon/gun/projectile/shotgun/doublebarrel
name = "double-barreled shotgun"
desc = "A truely classic weapon. No need to change what works. Uses 12g rounds."
@@ -94,6 +110,9 @@
origin_tech = list(TECH_COMBAT = 3, TECH_MATERIAL = 1)
ammo_type = /obj/item/ammo_casing/a12g/beanbag
+ var/unique_reskin
+ var/sawn_off = FALSE
+
burst_delay = 0
firemodes = list(
list(mode_name="fire one barrel at a time", burst=1),
@@ -111,8 +130,49 @@
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/unload_ammo(user, allow_dump)
..(user, allow_dump=1)
-//this is largely hacky and bad :( -Pete
+/obj/item/weapon/gun/projectile/shotgun/doublebarrel/verb/rename_gun()
+ set name = "Name Gun"
+ set category = "Object"
+ set desc = "Rename your gun."
+
+ var/input = sanitizeSafe(input(usr, "What do you want to name the gun?", ,""), MAX_NAME_LEN)
+
+ var/mob/M = usr
+ if(src && input && !M.stat && in_range(M,src))
+ name = input
+ to_chat(M, "You name the gun [input]. Say hello to your new friend.")
+ return 1
+
+/obj/item/weapon/gun/projectile/shotgun/doublebarrel/verb/reskin_gun()
+ set name = "Resprite gun"
+ set category = "Object"
+ set desc = "Click to choose a sprite for your gun."
+
+ var/mob/M = usr
+ var/list/options = list()
+ options["Default"] = "dshotgun"
+ options["Cherry Red"] = "dshotgun_d"
+ options["Ash"] = "dshotgun_f"
+ options["Faded Grey"] = "dshotgun_g"
+ options["Maple"] = "dshotgun_l"
+ options["Rosewood"] = "dshotgun_p"
+ options["Olive Green"] = "dshotgun_o"
+ options["Blued"] = "dshotgun_b"
+ var/choice = tgui_input_list(M,"Choose your sprite!","Resprite Gun", options)
+ if(sawn_off)
+ to_chat(M, "The [src] is already shortened and cannot be resprited!")
+ return
+ if(src && choice && !M.stat && in_range(M,src))
+ icon_state = options[choice]
+ unique_reskin = options[choice]
+ to_chat(M, "Your gun is now sprited as [choice]. Say hello to your new friend.")
+ return 1
+
+//this is largely hacky and bad :( -Pete //less hacky and bad now :) -Ghost
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/attackby(var/obj/item/A as obj, mob/user as mob)
+ if(sawn_off)
+ to_chat(user, "The [src] is already shortened!")
+ return
if(istype(A, /obj/item/weapon/surgical/circular_saw) || istype(A, /obj/item/weapon/melee/energy) || istype(A, /obj/item/weapon/pickaxe/plasmacutter))
to_chat(user, "You begin to shorten the barrel of \the [src].")
if(loaded.len)
@@ -122,25 +182,35 @@
Fire_userless(user)
burst = burstsetting
return
- if(do_after(user, 30)) //SHIT IS STEALTHY EYYYYY
- icon_state = "sawnshotgun"
+ if(do_after(user, 30)) // SHIT IS STEALTHY EYYYYY
+ if(sawn_off)
+ return
+ if(unique_reskin)
+ icon_state = "[unique_reskin]_sawn"
+ else
+ icon_state = "dshotgun_sawn"
item_state = "sawnshotgun"
w_class = ITEMSIZE_NORMAL
force = 5
- slot_flags &= ~SLOT_BACK //you can't sling it on your back
- slot_flags |= (SLOT_BELT|SLOT_HOLSTER) //but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
+ slot_flags &= ~SLOT_BACK // you can't sling it on your back
+ slot_flags |= (SLOT_BELT|SLOT_HOLSTER) // but you can wear it on your belt (poorly concealed under a trenchcoat, ideally) - or in a holster, why not.
name = "sawn-off shotgun"
desc = "Omar's coming!"
to_chat(user, "You shorten the barrel of \the [src]!")
+ sawn_off = TRUE
else
..()
+/*
+ * Sawn-Off Shotgun
+ */
/obj/item/weapon/gun/projectile/shotgun/doublebarrel/sawn
name = "sawn-off shotgun"
desc = "Omar's coming!" // I'm not gonna add "Uses 12g rounds." to this one. I'll just let this reference go undisturbed.
- icon_state = "sawnshotgun"
+ icon_state = "dshotgun_sawn"
item_state = "sawnshotgun"
slot_flags = SLOT_BELT|SLOT_HOLSTER
ammo_type = /obj/item/ammo_casing/a12g/pellet
w_class = ITEMSIZE_NORMAL
force = 5
+ sawn_off = TRUE
diff --git a/code/modules/research/designs/misc.dm b/code/modules/research/designs/misc.dm
index 169959bd115..3e81be232e7 100644
--- a/code/modules/research/designs/misc.dm
+++ b/code/modules/research/designs/misc.dm
@@ -72,3 +72,12 @@
materials = list(MAT_STEEL = 4000, MAT_GLASS = 2000, MAT_SILVER = 2000)
build_path = /obj/item/device/spaceflare
sort_string = "TBAAC"
+
+/datum/design/item/general/riflescope
+ name = "rifle scope"
+ desc = "A scope that can be mounted to certain rifles."
+ id = "riflescope"
+ req_tech = list(TECH_ILLEGAL = 2, TECH_MATERIAL = 2)
+ materials = list(MAT_STEEL = 4000, MAT_GLASS = 4000)
+ build_path = /obj/item/device/binoculars/scope
+ sort_string = "TBAAD"
\ No newline at end of file
diff --git a/icons/mob/items/lefthand_guns.dmi b/icons/mob/items/lefthand_guns.dmi
index a7360f8a34b..7856c5be046 100644
Binary files a/icons/mob/items/lefthand_guns.dmi and b/icons/mob/items/lefthand_guns.dmi differ
diff --git a/icons/mob/items/righthand_guns.dmi b/icons/mob/items/righthand_guns.dmi
index 26e830efde2..b1f6d51b4c7 100644
Binary files a/icons/mob/items/righthand_guns.dmi and b/icons/mob/items/righthand_guns.dmi differ
diff --git a/icons/obj/ammo.dmi b/icons/obj/ammo.dmi
index 6c5c1d07387..c8fd11c08ac 100644
Binary files a/icons/obj/ammo.dmi and b/icons/obj/ammo.dmi differ
diff --git a/icons/obj/ammo_boxes.dmi b/icons/obj/ammo_boxes.dmi
index 0117deddeec..fbb1f8b4c11 100644
Binary files a/icons/obj/ammo_boxes.dmi and b/icons/obj/ammo_boxes.dmi differ
diff --git a/icons/obj/device_vr.dmi b/icons/obj/device_vr.dmi
index 3c4a3c5d09c..1a1c28af569 100644
Binary files a/icons/obj/device_vr.dmi and b/icons/obj/device_vr.dmi differ
diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi
index 14147bf9fb5..5f891233031 100644
Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ
diff --git a/maps/submaps/pois_vr/aerostat/DeadSettlers1.dmm b/maps/submaps/pois_vr/aerostat/DeadSettlers1.dmm
new file mode 100644
index 00000000000..24e024f3161
--- /dev/null
+++ b/maps/submaps/pois_vr/aerostat/DeadSettlers1.dmm
@@ -0,0 +1,31 @@
+"a" = (/turf/template_noop,/area/template_noop)
+"d" = (/obj/item/device/flashlight/flare,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"e" = (/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"g" = (/obj/item/trash/meatration,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"n" = (/obj/tether_away_spawner/aerostat_surface,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"o" = (/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/trailgun,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"p" = (/turf/template_noop,/area/submap/virgo2/DeadSettlers1)
+"q" = (/obj/item/ammo_casing,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"t" = (/obj/random/multiple/voidsuit,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"B" = (/obj/item/device/radio/off,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"K" = (/obj/effect/decal/remains,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"Q" = (/obj/item/ammo_magazine/ammo_box/b44,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+"W" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers1)
+
+(1,1,1) = {"
+aaaaaaaaaaaaaaa
+apppppppppppppa
+apppeeeeppppppa
+appeeeeeeeppppa
+apeeeneeeeepppa
+apeeeeeQeegpppa
+apeeeeeeqKeeppa
+appeeeedeBeeppa
+apppeqtWeeneppa
+apppeoqeeeeeppa
+appppeWeeeepppa
+appppppeeeppppa
+apppppppepppppa
+apppppppppppppa
+aaaaaaaaaaaaaaa
+"}
diff --git a/maps/submaps/pois_vr/aerostat/DeadSettlers2.dmm b/maps/submaps/pois_vr/aerostat/DeadSettlers2.dmm
new file mode 100644
index 00000000000..fc5b53640c3
--- /dev/null
+++ b/maps/submaps/pois_vr/aerostat/DeadSettlers2.dmm
@@ -0,0 +1,28 @@
+"a" = (/turf/template_noop,/area/template_noop)
+"m" = (/obj/structure/bonfire,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"n" = (/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"o" = (/obj/random/multiple/voidsuit,/obj/effect/decal/remains,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"u" = (/obj/item/device/flashlight/color/red,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"v" = (/obj/item/ammo_casing,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"x" = (/obj/tether_away_spawner/aerostat_surface,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"z" = (/turf/template_noop,/area/submap/virgo2/DeadSettlers2)
+"D" = (/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"F" = (/obj/item/device/radio/off,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"I" = (/obj/random/firstaid,/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"S" = (/obj/effect/decal/cleanable/blood,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+"W" = (/obj/item/weapon/gun/projectile/shotgun/pump/rifle/lever/brushgun,/turf/simulated/mineral/floor/ignore_mapgen/virgo2,/area/submap/virgo2/DeadSettlers2)
+
+(1,1,1) = {"
+aaaaaaaaaaaa
+azzzzzzzzzza
+azzDDDDDDzza
+azDDDDDoDzza
+avDDvDmDDDza
+aDDnuDDFDDza
+aDWvDDDDDSDa
+aDDDDxDInDDa
+azzDDDDDSDDa
+azzzzDDDDDza
+azzzzzzzzzza
+aaaaaaaaaaaa
+"}
diff --git a/maps/submaps/pois_vr/aerostat/virgo2_submap_areas.dm b/maps/submaps/pois_vr/aerostat/virgo2_submap_areas.dm
index ddfa01ebaf7..c0a3049c188 100644
--- a/maps/submaps/pois_vr/aerostat/virgo2_submap_areas.dm
+++ b/maps/submaps/pois_vr/aerostat/virgo2_submap_areas.dm
@@ -82,3 +82,9 @@
/area/submap/virgo2/Rocky4
name = "POI - Rocky4"
+
+/area/submap/virgo2/DeadSettlers1
+ name = "POI - DeadSettlers1"
+
+/area/submap/virgo2/DeadSettlers2
+ name = "POI - DeadSettlers2"
\ No newline at end of file
diff --git a/vorestation.dme b/vorestation.dme
index 2f19f687443..b7edf147fdc 100644
--- a/vorestation.dme
+++ b/vorestation.dme
@@ -3553,11 +3553,11 @@
#include "code\modules\projectiles\guns\projectile\automatic.dm"
#include "code\modules\projectiles\guns\projectile\automatic_vr.dm"
#include "code\modules\projectiles\guns\projectile\boltaction.dm"
-#include "code\modules\projectiles\guns\projectile\boltaction_vr.dm"
#include "code\modules\projectiles\guns\projectile\caseless.dm"
#include "code\modules\projectiles\guns\projectile\contender.dm"
#include "code\modules\projectiles\guns\projectile\dartgun.dm"
#include "code\modules\projectiles\guns\projectile\dartgun_vr.dm"
+#include "code\modules\projectiles\guns\projectile\leveraction.dm"
#include "code\modules\projectiles\guns\projectile\pistol.dm"
#include "code\modules\projectiles\guns\projectile\pistol_vr.dm"
#include "code\modules\projectiles\guns\projectile\revolver.dm"