From 4dc384c8a7cef319fc4437a68ee84de0ed426a7b Mon Sep 17 00:00:00 2001
From: juniper <70682905+crunchypretzels@users.noreply.github.com>
Date: Fri, 28 Jul 2023 16:17:45 -0400
Subject: [PATCH] Gun Information Rework (#16860)
* yangechog
* a dash of dashes
---
code/modules/projectiles/guns/bang.dm | 5 ++-
code/modules/projectiles/guns/bang/pistol.dm | 13 ++++--
.../modules/projectiles/guns/bang/revolver.dm | 4 +-
code/modules/projectiles/guns/energy.dm | 4 +-
code/modules/projectiles/guns/launcher.dm | 3 ++
code/modules/projectiles/guns/projectile.dm | 5 +--
.../projectiles/guns/projectile/automatic.dm | 28 ++++++------
.../projectiles/guns/projectile/improvised.dm | 4 +-
.../projectiles/guns/projectile/pistol.dm | 41 ++++++++++--------
.../projectiles/guns/projectile/plasma.dm | 4 +-
.../projectiles/guns/projectile/revolver.dm | 13 +++---
.../projectiles/guns/projectile/rifle.dm | 12 +++---
.../projectiles/guns/projectile/shotgun.dm | 4 +-
.../projectiles/guns/projectile/sniper.dm | 14 +++---
.../crunchypretzels-gunrefactor.yml | 43 +++++++++++++++++++
15 files changed, 131 insertions(+), 66 deletions(-)
create mode 100644 html/changelogs/crunchypretzels-gunrefactor.yml
diff --git a/code/modules/projectiles/guns/bang.dm b/code/modules/projectiles/guns/bang.dm
index 2951a2d8794..5126ed679be 100644
--- a/code/modules/projectiles/guns/bang.dm
+++ b/code/modules/projectiles/guns/bang.dm
@@ -6,6 +6,7 @@
item_state = "revolver"
fire_sound = 'sound/misc/sadtrombone.ogg'
needspin = FALSE
+ var/fakecaliber = "357"
var/image/bang_flag
var/fired_gun = 0
var/pixel_offset_x = -2
@@ -14,6 +15,8 @@
/obj/item/gun/bang/Initialize()
. = ..()
+ desc_info = "This is a ballistic weapon. It fires [fakecaliber] ammunition. To fire the weapon, toggle the safety with ctrl-click (or enable HARM intent), \
+ then click where you want to fire. To reload, click the gun with an empty hand to remove any spent casings or magazines, and then insert new ones."
bang_flag = image('icons/obj/bang_flag.dmi', "bang_flag")
bang_flag.pixel_x = pixel_offset_x
bang_flag.pixel_y = pixel_offset_y
@@ -46,4 +49,4 @@
playsound(src.loc, 'sound/weapons/TargetOff.ogg', 50,1)
fired_gun = 0
else
- return ..()
\ No newline at end of file
+ return ..()
diff --git a/code/modules/projectiles/guns/bang/pistol.dm b/code/modules/projectiles/guns/bang/pistol.dm
index 0b089b23bfc..e402dc754d6 100644
--- a/code/modules/projectiles/guns/bang/pistol.dm
+++ b/code/modules/projectiles/guns/bang/pistol.dm
@@ -6,6 +6,7 @@
item_state = "colt"
pixel_offset_x = 30
pixel_offset_y = 18
+ fakecaliber = ".45"
/obj/item/gun/bang/sec
name = "\improper .45 pistol"
@@ -16,9 +17,10 @@
item_state = "secgun"
pixel_offset_x = 28
pixel_offset_y = 14
-
+ fakecaliber = ".45"
/obj/item/gun/bang/sec/flash
name = ".45 signal pistol"
+ fakecaliber = ".45 signal"
/obj/item/gun/bang/sec/wood
name = "custom .45 pistol"
@@ -27,7 +29,7 @@
icon = 'icons/obj/guns/secgun_wood.dmi'
icon_state = "secgunwood"
item_state = "secgunwood"
-
+ fakecaliber = ".45"
/obj/item/gun/bang/x9
name = "automatic .45 pistol"
desc = "The x9 tactical pistol is a lightweight fast firing handgun. Uses .45 rounds."
@@ -36,6 +38,7 @@
item_state = "x9"
pixel_offset_x = 28
pixel_offset_y = 13
+ fakecaliber = ".45"
/obj/item/gun/bang/tanto
desc = "A crude-looking open-bolt machine pistol manufactured by a multitude of arms companies, or in some cases, particularly handy individuals. \
@@ -47,6 +50,7 @@
item_state = "c05r"
pixel_offset_x = 31
pixel_offset_y = 14
+ fakecaliber = "10mm"
/obj/item/gun/bang/silenced
name = "silenced pistol"
@@ -56,7 +60,7 @@
item_state = "silenced_pistol"
pixel_offset_x = -4
pixel_offset_y = 15
-
+ fakecaliber = ".45"
/obj/item/gun/bang/deagle
name = ".50 magnum pistol"
desc = "A robust handgun that uses .50 AE ammo."
@@ -65,6 +69,7 @@
item_state = "deagle"
pixel_offset_x = -4
pixel_offset_y = 16
+ fakecaliber = ".50"
/obj/item/gun/bang/pistol
name = "9mm pistol"
@@ -74,6 +79,7 @@
item_state = "pistol"
pixel_offset_x = 26
pixel_offset_y = 14
+ fakecaliber = "9mm"
/obj/item/gun/bang/pirate
name = "zip gun"
@@ -83,3 +89,4 @@
item_state = "zipgun"
pixel_offset_x = 0
pixel_offset_y = 12
+ fakecaliber = "7.62mm"
diff --git a/code/modules/projectiles/guns/bang/revolver.dm b/code/modules/projectiles/guns/bang/revolver.dm
index b98d7fa6f3f..2cb7b0dd4d4 100644
--- a/code/modules/projectiles/guns/bang/revolver.dm
+++ b/code/modules/projectiles/guns/bang/revolver.dm
@@ -1,3 +1,5 @@
/obj/item/gun/bang/revolver
name = "revolver"
- desc = "The classic Zavodskoi Interstellar .357 revolver, for when you only want to shoot once."
\ No newline at end of file
+ desc = "The classic Zavodskoi Interstellar .357 revolver, for when you only want to shoot once."
+ fakecaliber = ".357"
+
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm
index 0b6b4bbe3ef..6edebeea356 100644
--- a/code/modules/projectiles/guns/energy.dm
+++ b/code/modules/projectiles/guns/energy.dm
@@ -1,7 +1,7 @@
/obj/item/gun/energy
name = "energy gun"
desc = "A basic energy-based gun."
- desc_info = "This is an energy weapon. To fire the weapon, ensure your intent is *not* set to 'help', have your gun mode set to 'fire', \
+ desc_info = "This is an energy weapon. To fire this weapon, toggle the safety with ctrl-click (or enable HARM intent), \
then click where you want to fire. Most energy weapons can fire through windows harmlessly. To recharge this weapon, use a weapon recharger."
icon = 'icons/obj/guns/ecarbine.dmi'
icon_state = "energykill100"
@@ -188,4 +188,4 @@
. += P_second.get_print_info()
. += "
"
- . += ..(FALSE)
\ No newline at end of file
+ . += ..(FALSE)
diff --git a/code/modules/projectiles/guns/launcher.dm b/code/modules/projectiles/guns/launcher.dm
index 29071164a7c..8125affe050 100644
--- a/code/modules/projectiles/guns/launcher.dm
+++ b/code/modules/projectiles/guns/launcher.dm
@@ -1,6 +1,9 @@
/obj/item/gun/launcher
name = "launcher"
desc = "A device that launches things."
+ desc_info = "This is a projectile launcher, which launches objects such as arrows, rockets, or syringes. To fire it, toggle the safety(if one is present) with CTRL-click or by \
+ switching to HARM intent, then click where you wish to fire. To reload it, insert the appropriate items. Some weapons may require additional drawing of the string or charging, \
+ which can typically be done with the Unique-Action macro or button located in the bottom right of the screen."
w_class = ITEMSIZE_HUGE
flags = CONDUCT
slot_flags = SLOT_BACK
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index a10acfff83f..62bd1b94700 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -1,9 +1,6 @@
/obj/item/gun/projectile
name = "gun"
desc = "A gun that fires bullets."
- desc_info = "This is a ballistic weapon. To fire the weapon, ensure your intent is *not* set to 'help', have your gun mode set to 'fire', \
- then click where you want to fire. To reload, click the weapon in your hand to unload (if needed), then add the appropiate ammo. The description \
- will tell you what caliber you need."
origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2)
w_class = ITEMSIZE_NORMAL
matter = list(DEFAULT_WALL_MATERIAL = 1000)
@@ -37,6 +34,8 @@
/obj/item/gun/projectile/Initialize()
. = ..()
+ desc_info = "This is a ballistic weapon. It fires [caliber] ammunition. To fire the weapon, toggle the safety with ctrl-click (or enable HARM intent), \
+ then click where you want to fire. To reload, click the gun with an empty hand to remove any spent casings or magazines, and then insert new ones."
if(ispath(ammo_type) && (load_method & (SINGLE_CASING|SPEEDLOADER)))
for(var/i in 1 to max_shells)
loaded += new ammo_type(src)
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 7ba86ac1250..2462a321e71 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -1,6 +1,6 @@
/obj/item/gun/projectile/automatic
name = "prototype SMG"
- desc = "A protoype lightweight, fast firing gun. Uses 9mm rounds."
+ desc = "A prototype version of a lightweight, fast-firing gun."
icon = 'icons/obj/guns/saber.dmi'
icon_state = "saber" //ugly //yup
item_state = "saber"
@@ -28,7 +28,7 @@
/obj/item/gun/projectile/automatic/mini_uzi
name = ".45 machine pistol"
- desc = "A lightweight, fast firing gun. For when you want someone dead. Uses .45 rounds."
+ desc = "A lightweight, fast-firing gun. For when you want someone dead."
icon = 'icons/obj/guns/mini-uzi.dmi'
icon_state = "mini-uzi"
item_state = "mini-uzi"
@@ -47,7 +47,7 @@
/obj/item/gun/projectile/automatic/c20r
name = "submachine gun"
- desc = "A conventional bullpup submachine gun with an extendable stock. Loads from 9mm magazines."
+ desc = "A conventional bullpup submachine gun with an extendable stock."
desc_extended = "The Colettish Armaments Model 25 SMG is a typical product of the San Colette Interstellar Armaments Company (CAISC). Rejected by the Solarian military due to competition with the Zavodskoi M470-L, the CA-M25 was repurposed \
into the Colettish Armaments Model 25 Export (CA-25E) and has found reasonable success in mercenary groups across the Orion Spur. Recently many have found their ways into the hands of violent non-state actors in the Corporate Reconstruction Zone, where \
they contribute to the further destabilization of the region. Curiously, these models typically have a filed-off serial number or no serial number at all."
@@ -76,7 +76,7 @@
/obj/item/gun/projectile/automatic/c20r/sol
name = "solarian submachine gun"
- desc = "Designed by Zavodskoi as a scaled-down version of their M469, the M470-L is a personal defense weapon intended for use by second-line personnel from all branches of the Solarian military, such as support troops and Navy crewmen. Chambered in 10mm."
+ desc = "Designed by Zavodskoi as a scaled-down version of their M469, the M470-L is a personal defense weapon intended for use by second-line personnel from all branches of the Solarian military, such as support troops and Navy crewmen."
icon = 'icons/obj/guns/sol_smg.dmi'
icon_state = "vityaz"
item_state = "vityaz"
@@ -87,7 +87,7 @@
/obj/item/gun/projectile/automatic/wt550
name = "machine pistol"
- desc = "The NI 550 Saber is a cheap self-defense weapon, mass-produced by Zavodskoi Interstellar for paramilitary and private use. Uses 9mm rounds."
+ desc = "The NI 550 Saber is a cheap self-defense weapon, mass-produced by Zavodskoi Interstellar for paramilitary and private use."
icon = 'icons/obj/guns/wt550.dmi'
icon_state = "wt550"
item_state = "wt550"
@@ -151,7 +151,7 @@
/obj/item/gun/projectile/automatic/rifle/sts35
name = "assault rifle"
- desc = "A durable, rugged looking automatic weapon of a make popular on the frontier worlds. Uses 7.62mm rounds. It is unmarked."
+ desc = "A durable, rugged-looking automatic weapon of a make popular on the frontier worlds. It is unmarked."
desc_extended = "The STS35 is a durable, reliable and cheap to buy fully automatic assault rifle with many licensed manufacturers across \
the galaxy. It comes in different versions and calibres, this one uses 7.62 rounds. The manufacturer markings have been filed off."
can_bayonet = TRUE
@@ -167,7 +167,7 @@
desc = "A durable, rugged-looking automatic weapon that has been heavily modified. \
Key changes include significant shortening of the barrel and the addition of an improvised vertical foregrip, \
condensing heavy firepower into a relatively small and maneuverable package intended for close-in \
- fighting aboard ships and space stations. Affectionately referred to as the \"Shorty\" in some circles. Uses 7.62mm rounds."
+ fighting aboard ships and space stations. Affectionately referred to as the \"Shorty\" in some circles."
desc_extended = "The STS35 is a durable, reliable, and cheap fully-automatic assault rifle with many licensed manufacturers across \
the galaxy. It comes in many different versions and calibres; this one uses 7.62mm rounds. This example has been heavily modified and is illegal in some jurisdictions. \
Much of the barrel has been lopped off to decrease overall length, while a pistol grip from another STS35 has been clamped on below what remains of the handguard \
@@ -194,8 +194,7 @@
/obj/item/gun/projectile/automatic/rifle/carbine
name = "ballistic carbine"
- desc = "A durable, rugged looking semi-automatic weapon of a make popular on the frontier worlds. Uses 5.56mm rounds and does not accept large \
- capacity magazines. It is unmarked."
+ desc = "A durable, rugged-looking semi-automatic weapon of a make popular on the frontier worlds. Doesn't accept large-capacity magazines. It is unmarked."
desc_extended = "The ST24 is often considered the little brother of its larger and fully automatic counterpart, the STS35. It is a \
reliable and cheap to buy carbine with many licensed manufacturers across the galaxy. It comes in different versions and calibres, \
some even boasting select fire functionality. This one uses 5.56 rounds and is semi-automatic. The manufacturer markings have been filed off."
@@ -218,7 +217,8 @@
/obj/item/gun/projectile/automatic/rifle/carbine/civcarbine
name = "bullpup carbine"
- desc = "A variant of the ZI Bulldog assault carbine, the ZI Terrier is a slimmer and lighter version, chambered in the same 5.56 caliber but only capable of accepting smaller magazines. It lacks the integral grenade launcher and the burst fire of the Bulldog."
+ desc = "A variant of the ZI Bulldog assault carbine, the ZI Terrier is a slimmer and lighter version, only capable of accepting smaller magazines. \
+ It also lacks the integrated grenade launcher and burst fire of the Bulldog."
desc_extended = "It makes you feel like a corporate goon when you hold it."
icon = 'icons/obj/guns/crew_rifle.dmi'
magazine_type = /obj/item/ammo_magazine/a556/carbine/polymer
@@ -234,7 +234,7 @@
/obj/item/gun/projectile/automatic/rifle/sol
name = "solarian assault rifle"
desc = "A reliable assault rifle manufactured by Zavodskoi Interstellar, the M469 is the standard service rifle of the Solarian Armed Forces, most commonly associated with its ground forces. \
- Though the design is old, it continues to see widespread use in the Alliance and its breakaway states and likely will for years to come. Chambered in 7.62mm."
+ Though the design is old, it continues to see widespread use in the Alliance and its breakaway states and likely will for years to come."
icon = 'icons/obj/guns/sol_rifle.dmi'
icon_state = "battlerifle"
item_state = "battlerifle"
@@ -270,7 +270,7 @@
/obj/item/gun/projectile/automatic/rifle/z8
name = "bullpup assault carbine"
- desc = "The ZI Bulldog bullpup assault carbine, Zavodskoi Industries' answer to any problem that can be solved by an assault rifle. Uses 5.56mm rounds."
+ desc = "The ZI Bulldog bullpup assault carbine, Zavodskoi Industries' answer to any problem that can be solved by an assault rifle."
desc_extended = "It makes you feel like a corporate commando when you hold it."
icon = 'icons/obj/guns/carbine.dmi'
icon_state = "carbine"
@@ -514,7 +514,7 @@
/obj/item/gun/projectile/automatic/tommygun
name = "submachine gun"
- desc = "An adhomian made submachine gun. Uses .45 rounds."
+ desc = "An Adhomian-made submachine gun."
icon = 'icons/obj/guns/tommygun.dmi'
icon_state = "tommygun"
item_state = "tommygun"
@@ -535,7 +535,7 @@
/obj/item/gun/projectile/automatic/tommygun/dom
name = "dominian submachine gun"
- desc = "A .45 caliber submachine gun featuring a novel top loading configuration, used by the Empire of Dominia's armed forces."
+ desc = "A submachine gun featuring a novel top loading configuration, used by the Empire of Dominia's armed forces."
desc_extended = "The Moroz Pattern Machine Carbine, Model of 2430 is a lightweight, handy weapon intended for use by vehicle crews, airborne troops, and other units that do not require a full-length rifle. \
Simplistic in design and function, the MPMC-30 is highly reliable in nearly all environments, lending itself well to use by colonial forces. In particular, the Imperial Fisanduhian Gendarmerie are known to make heavy use of the weapon."
icon = 'icons/obj/guns/dom_smg.dmi'
diff --git a/code/modules/projectiles/guns/projectile/improvised.dm b/code/modules/projectiles/guns/projectile/improvised.dm
index 8ff564d3df1..6600e167b48 100644
--- a/code/modules/projectiles/guns/projectile/improvised.dm
+++ b/code/modules/projectiles/guns/projectile/improvised.dm
@@ -135,7 +135,7 @@
/obj/item/gun/projectile/improvised_handgun
name = "improvised handgun"
- desc = "A common sight in an amateur's workshop, a simple yet effective assembly made to chamber and fire .45 Rounds."
+ desc = "A common sight in an amateur's workshop, this is a simple- yet effective- improvised handgun."
max_shells = 7
recoil = 2
accuracy = -1
@@ -209,7 +209,7 @@
/obj/item/gun/projectile/automatic/improvised
name = "improvised machine pistol"
- desc = "An improvised automatic handgun. Uses .45 rounds."
+ desc = "An improvised automatic handgun."
icon = 'icons/obj/guns/ismg.dmi'
icon_state = "ismg"
item_state = "ismg"
diff --git a/code/modules/projectiles/guns/projectile/pistol.dm b/code/modules/projectiles/guns/projectile/pistol.dm
index 041d23a8251..3a568fa80a4 100644
--- a/code/modules/projectiles/guns/projectile/pistol.dm
+++ b/code/modules/projectiles/guns/projectile/pistol.dm
@@ -1,6 +1,6 @@
/obj/item/gun/projectile/colt
name = ".45 combat pistol"
- desc = "A robust metal-framed semi-automatic pistol produced in the system of San Colette. Uses .45 rounds."
+ desc = "A robust metal-framed semi-automatic pistol produced in the system of San Colette."
desc_extended = "The Pattern 5 Pistol is the standard-issue sidearm for the Civil Guard, San Colette’s local military force. Loosely based on the standard 9mm pistol of the Solarian Army, the P5 fires a larger .45 round intended for use against heavier targets. \
The P5 is produced by the San Colette Interstellar Armaments Company (CAISC) and is often found abroad due to its rugged construction."
magazine_type = /obj/item/ammo_magazine/c45m
@@ -47,7 +47,7 @@
/obj/item/gun/projectile/colt/super
name = "ornamental .45 combat pistol"
- desc = "A robust metal-framed semi-automatic pistol produced in the system of San Colette. Uses .45 rounds. This example sports a short slide, wood-paneled grips, and few signs of use, likely belonging to someone of higher stature."
+ desc = "A robust metal-framed semi-automatic pistol produced in the system of San Colette. This example sports a short slide, wood-paneled grips, and few signs of use, likely belonging to someone of higher stature."
desc_extended = "The Pattern 5 Pistol is the standard-issue sidearm for the Civil Guard, San Colette’s local military force. Loosely based on the standard 9mm pistol of the Solarian Army, the P5 fires a larger .45 round intended for use against heavier targets. \
The P5 is produced by the San Colette Interstellar Armaments Company (CAISC) and is often found abroad due to its rugged construction."
magazine_type = /obj/item/ammo_magazine/c45m/stendo
@@ -64,7 +64,7 @@
/obj/item/gun/projectile/automatic/lebman
name = "automatic .45 combat pistol"
- desc = "A robust metal-framed semi-automatic pistol produced in the system of San Colette. Uses .45 rounds. This example has been modified to allow fully-automatic fire, and sports a prominent vertical grip and muzzle compensator to aid in control."
+ desc = "A robust metal-framed semi-automatic pistol produced in the system of San Colette. This example has been modified to allow fully-automatic fire, and sports a prominent vertical grip and muzzle compensator to aid in control."
desc_extended = "The Pattern 5 Pistol is the standard-issue sidearm for the Civil Guard, San Colette’s local military force. Loosely based on the standard 9mm pistol of the Solarian Army, the P5 fires a larger .45 round intended for use against heavier targets. \
The P5 is produced by the San Colette Interstellar Armaments Company (CAISC) and is often found abroad due to its rugged construction."
magazine_type = /obj/item/ammo_magazine/c45m/lebman
@@ -91,7 +91,7 @@
/obj/item/gun/projectile/sec
name = "\improper .45 pistol"
- desc = "A NanoTrasen designed sidearm, found among law enforcement and security forces. Uses .45 rounds."
+ desc = "A NanoTrasen designed sidearm, found among law enforcement and security forces."
desc_extended = "The NT Mk58 is a ballistic sidearm developed and produced by NanoTrasen. Bulky and heavy, the Mk58 is nonetheless used by security forces and law enforcement for its ease of use, low maintenance requirement, longevity, reliability - and most of all, extremely inexpensive price tag. A trademark of NanoTrasen security forces. It uses .45 rounds."
icon = 'icons/obj/guns/secgun.dmi'
icon_state = "secgun"
@@ -122,7 +122,7 @@
/obj/item/gun/projectile/sec/wood
name = "custom .45 pistol"
- desc = "A NanoTrasen designed sidearm, found among law enforcement and security forces. It has a wooden grip. Uses .45 rounds."
+ desc = "A NanoTrasen designed sidearm, found among law enforcement and security forces. It has a wooden grip."
desc_extended = "The NT Mk58 is a ballistic sidearm developed and produced by NanoTrasen. Bulky and heavy, the Mk58 is nonetheless used by security forces and law enforcement for its ease of use, low maintenance requirement, longevity, reliability - and most of all, extremely inexpensive price tag. A trademark of NanoTrasen security forces. This one has a faux wooden grip. It uses .45 rounds."
icon = 'icons/obj/guns/secgun_wood.dmi'
icon_state = "secgunwood"
@@ -137,7 +137,7 @@
/obj/item/gun/projectile/automatic/x9
name = "automatic .45 pistol"
- desc = "A NanoTrasen-designed sidearm, modified for fully-automatic fire. Issued to select security and law enforcement groups. Uses .45 rounds."
+ desc = "A NanoTrasen-designed sidearm, modified for fully-automatic fire. Issued to select security and law enforcement groups."
desc_extended = "The NT Mk58 is a ballistic sidearm developed and produced by NanoTrasen. Bulky and heavy, the Mk58 is nonetheless used by security \
forces and law enforcement for its ease of use, low maintenance requirement, longevity, reliability - and most of all, extremely inexpensive price tag. \
A trademark of NanoTrasen security forces. This one has been modified for fully-automatic fire from the factory and sports a collapsible shoulder stock for better control. It uses .45 rounds."
@@ -199,7 +199,7 @@
/obj/item/gun/projectile/silenced
name = "silenced pistol"
- desc = "A small, quiet, easily concealable gun. Uses .45 rounds."
+ desc = "A small, quiet, easily concealable gun."
desc_extended = "Created as a disposable and concealable weapon, the Mrrazhakulii suppressed pistol is a firearm with a silencer integrated as part of its barrel. \
Carried by guerrilla forces and spies, those guns are used in assassination and subterfuge operations. Due to using cheap and available materials, such as \
recycled iron and tires, countless of those pistols were distributed among cells and ALA soldiers."
@@ -227,7 +227,7 @@
/obj/item/gun/projectile/deagle
name = ".50 magnum pistol"
- desc = "A robust handgun that uses .50 AE ammo."
+ desc = "A very robust handgun."
icon = 'icons/obj/guns/deagle.dmi'
icon_state = "deagle"
item_state = "deagle"
@@ -250,7 +250,7 @@
/obj/item/gun/projectile/deagle/adhomai
name = "adhomian heavy pistol"
- desc = "A bulk handgun used by republican commissars and high-ranking members of the Hadiist Party."
+ desc = "A bulky handgun used by republican commissars and high-ranking members of the Hadiist Party."
icon = 'icons/obj/guns/adhomian_heavy_pistol.dmi'
icon_state = "adhomian_heavy_pistol"
item_state = "adhomian_heavy_pistol"
@@ -260,7 +260,7 @@
/obj/item/gun/projectile/gyropistol
name = "gyrojet pistol"
- desc = "A bulky pistol designed to fire self propelled rounds"
+ desc = "A massive experimental pistol, designed to fire self-propelled rounds."
icon = 'icons/obj/guns/gyropistol.dmi'
icon_state = "gyropistol"
item_state = "gyropistol"
@@ -286,7 +286,7 @@
/obj/item/gun/projectile/pistol
name = "9mm pistol"
- desc = "A compact 9mm handgun, extremely popular all throughout human space."
+ desc = "An extremely popular compact handgun, used throughout human space."
desc_extended = "The Zavodskoi Interstellar Moonlight 9mm can be found in the hands of just about anyone imaginable - special operatives, common criminals, police officers, the average Joe - on account of the time-tested design, low price point, reliability, and ease of concealment. Having a threaded barrel helps, too, and it isn't uncommon to see the Moonlight as a prop in spy films, suppressed."
icon = 'icons/obj/guns/pistol.dmi'
icon_state = "pistol"
@@ -309,7 +309,7 @@
magazine_type = /obj/item/ammo_magazine/mc9mm/flash
/obj/item/gun/projectile/pistol/detective
- desc = "A compact NanoTrasen designed sidearm, popular with law enforcement personnel for concealed carry purposes. It has a faux wooden grip. Uses 9mm rounds."
+ desc = "A compact NanoTrasen designed sidearm, popular with law enforcement personnel for concealed carry purposes. It has a faux wooden grip."
desc_extended = "The NT Mk21 Blackjack is a ballistic sidearm developed and produced by NanoTrasen. Unlike the related Mk58, the Blackjack is a rather high quality piece - typically issued to higher ranking law enforcement personnel, the Mk21 is compact and chambered in 9mm caliber. With all the bells and whistles of a modern, quality police pistol, the Blackjack's main drawback is the notoriously nippy recoil - 9mm in such a small package can be unpleasant for the average shooter."
name = "compact 9mm pistol"
magazine_type = /obj/item/ammo_magazine/mc9mm
@@ -412,15 +412,15 @@
/obj/item/gun/projectile/pirate/Initialize()
ammo_type = pick(ammo_types)
- desc += " Uses [ammo_types[ammo_type]] rounds."
-
var/obj/item/ammo_casing/ammo = ammo_type
caliber = initial(ammo.caliber)
. = ..()
/obj/item/gun/projectile/leyon
name = "10mm pistol"
- desc = "NanoTrasen's first marketed firearm design, the Mk1, better known as the Everyman, was an instant hit - though it is a crude, stripper clip-fed design with a very small capacity, the Everyman is absurdly inexpensive and famously reliable, and is now one of the most common weapons found in the Orion Spur. Chambered in 10mm."
+ desc = "NanoTrasen's first marketed firearm design, the Mk1, better known as the Everyman, was an instant hit - though it is a crude, \
+ stripper clip-fed design with a very small capacity, the Everyman is absurdly inexpensive and famously reliable, and is now one of the most \
+ common weapons found in the Orion Spur."
icon = 'icons/obj/guns/leyon.dmi'
icon_state = "leyon"
item_state = "leyon"
@@ -443,7 +443,7 @@
/obj/item/gun/projectile/pistol/sol
name = "solarian service pistol"
- desc = "Manufactured by Zavodskoi Interstellar and based off of a full-sized variant of their 9mm design, the compact M8 is the standard service pistol of the Solarian Armed Forces. Chambered in 9mm."
+ desc = "Manufactured by Zavodskoi Interstellar and based off of a full-sized variant of their 9mm design, the compact M8 is the standard service pistol of the Solarian Armed Forces."
icon = 'icons/obj/guns/sol_pistol.dmi'
icon_state = "m8"
item_state = "m8"
@@ -458,7 +458,7 @@
/obj/item/gun/projectile/pistol/adhomai
name = "adhomian service pistol"
- desc = "The Adar'Mazy pistol is an adhomian firearm commonly issued to People's Republic officers, government officials and low-ranking Party members."
+ desc = "The Adar'Mazy pistol is an Adhomian firearm commonly issued to People's Republic officers, government officials and low-ranking Party members."
icon = 'icons/obj/guns/adhomian_pistol.dmi'
icon_state = "adhomian_pistol"
item_state = "adhomian_pistol"
@@ -475,8 +475,7 @@
/obj/item/gun/projectile/pistol/super_heavy
name = "super-heavy pistol"
- desc = "A big, bulky and extremely powerful pistol, intended to pierce even your strongest enemy. You should wield this thing with two hands, if you want your wrists to stay intact."
- desc_info = "You should not shoot this pistol unwielded, if you are not a Unathi or a G2. It will fly out of your hand and almost certainly break the hand you are using. Even as a Unathi or G2, the accuracy will suffer, if shot unwielded."
+ desc = "A big, bulky, and extremely powerful pistol, intended to pierce even your strongest enemy. You should wield this thing with two hands, if you want your wrists to stay intact."
desc_extended = "The Kumar Arms 2557 is a newly designed type of \"super-heavy\" pistol. \
It features a light-weight polymer pistol grip, a bulky plasteel frame and an extra long barrel. \
It is chambered in the newly developed .599 Kumar Super rifle cartridge. Despite designed for rifle use, the newly developed propellants allows this cartridge for use in the Kumar Arms 2557, upping the stopping power significantly. \
@@ -505,6 +504,10 @@
accuracy = -3
accuracy_wielded = 1
+/obj/item/gun/projectile/Initialize()
+ . = ..()
+ desc_info = "This is an extremely powerful ballistic weapon, using .599 Kumar Super ammunition. If you aren't an Unathi or a G2 IPC, firing without wielding (clicking in-hand) could lead to serious injury or death; Unathi and G2s may fire it unwielded \
+ with an aim penalty. To fire the weapon, toggle the safety with ctrl-click (or enable HARM intent), then click where you want to fire. To reload, click the gun with an empty hand to remove the magazine, and then insert a new one."
/obj/item/gun/projectile/pistol/super_heavy/update_icon()
..()
diff --git a/code/modules/projectiles/guns/projectile/plasma.dm b/code/modules/projectiles/guns/projectile/plasma.dm
index 8175adb0297..a8ea23825e0 100644
--- a/code/modules/projectiles/guns/projectile/plasma.dm
+++ b/code/modules/projectiles/guns/projectile/plasma.dm
@@ -49,7 +49,7 @@
/obj/item/gun/projectile/plasma/bolter/pistol
name = "plasma pistol"
- desc = "An Elyran designed firearm used for diplomatic protection and high value escort which fires super heated bolts of plasma. Rare outside of it's birth country due to the maintenance and production costs."
+ desc = "An Elyran designed firearm, used for diplomatic protection and high-value escort, which fires super heated bolts of plasma. Rare outside of Elyra due to the maintenance and production costs."
icon = 'icons/obj/guns/plasma_pistol.dmi'
icon_state = "plasma"
item_state = "plasma"
@@ -71,4 +71,4 @@
item_state = "[initial(item_state)][ratio]"
else
icon_state = "[initial(icon_state)]-empty"
- item_state = "[initial(item_state)]-empty"
\ No newline at end of file
+ item_state = "[initial(item_state)]-empty"
diff --git a/code/modules/projectiles/guns/projectile/revolver.dm b/code/modules/projectiles/guns/projectile/revolver.dm
index 3527c0a2a74..49c6f0b85d8 100644
--- a/code/modules/projectiles/guns/projectile/revolver.dm
+++ b/code/modules/projectiles/guns/projectile/revolver.dm
@@ -1,6 +1,6 @@
/obj/item/gun/projectile/revolver
name = "revolver"
- desc = "The revised Mark II Zavodskoi Interstellar revolver, chambering .357 rounds and utilizing a robust firing mechanism to deliver deadly rounds downrange. This is a monster of a hand cannon with a beautiful cedar grip and a transparent plastic cover so as to not splinter your hands while firing."
+ desc = "The revised Mark II Zavodskoi Interstellar revolver, utilizing a robust firing mechanism to deliver deadly rounds downrange. This is a monster of a hand cannon, with a beautiful cedar grip and a transparent plastic cover(so as to not splinter your hands while firing)."
icon = 'icons/obj/guns/revolver.dmi'
icon_state = "revolver"
item_state = "revolver"
@@ -89,7 +89,7 @@
/obj/item/gun/projectile/revolver/detective
name = "antique revolver"
- desc = "An old, obsolete revolver. It has no identifying marks. Chambered in the antiquated .38 caliber. Maybe the Tajara made it?"
+ desc = "An old, obsolete revolver. It has no identifying marks, and is chambered in an equally antiquated caliber. Maybe the Tajara made it?"
icon = 'icons/obj/guns/detective.dmi'
icon_state = "detective"
item_state = "detective"
@@ -123,7 +123,7 @@
/obj/item/gun/projectile/revolver/derringer
name = "derringer"
- desc = "A small pocket pistol, easily concealed. Uses .357 rounds."
+ desc = "A small pocket pistol, easily concealed."
icon = 'icons/obj/guns/derringer.dmi'
icon_state = "derringer"
item_state = "derringer"
@@ -163,7 +163,7 @@
/obj/item/gun/projectile/revolver/lemat
name = "grapeshot revolver"
- desc = "A six shot revolver with a secondary firing barrel loading shotgun shells. Uses .38-Special and 12g rounds depending on the barrel."
+ desc = "A six shot revolver, with a secondary firing barrel for loading shotgun shells."
icon = 'icons/obj/guns/lemat.dmi'
icon_state = "lemat"
item_state = "lemat"
@@ -185,6 +185,9 @@
/obj/item/gun/projectile/revolver/lemat/Initialize()
. = ..()
+ desc_info = "This is a unique ballistic weapon. It fires .38 ammunition, but may also load shotgun shells into a secondary barrel. To fire the weapon, toggle the safety \
+ with ctrl-click (or enable HARM intent), then click where you want to fire. By using the Unique-Action macro, you can switch from one barrel to the other. To reload, click the gun \
+ with an empty hand to remove any spent casings or shells, then insert new ones."
for(var/i in 1 to secondary_max_shells)
secondary_loaded += new secondary_ammo_type(src)
@@ -269,7 +272,7 @@
/obj/item/gun/projectile/revolver/knife
name = "knife-revolver"
- desc = "An adhomian revolver with a blade attached to its barrel."
+ desc = "An Adhomian revolver with a blade attached to its barrel."
icon = 'icons/obj/guns/knifegun.dmi'
icon_state = "knifegun"
item_state = "knifegun"
diff --git a/code/modules/projectiles/guns/projectile/rifle.dm b/code/modules/projectiles/guns/projectile/rifle.dm
index 3adec8cf63f..2c1ce136e7d 100644
--- a/code/modules/projectiles/guns/projectile/rifle.dm
+++ b/code/modules/projectiles/guns/projectile/rifle.dm
@@ -1,6 +1,6 @@
/obj/item/gun/projectile/shotgun/pump/rifle
name = "bolt action rifle"
- desc = "A cheap ballistic rifle often found in the hands of Tajaran conscripts. Uses 7.62mm rounds."
+ desc = "A cheap ballistic rifle, often found in the hands of Tajaran conscripts."
icon = 'icons/obj/guns/moistnugget.dmi'
icon_state = "moistnugget"
item_state = "moistnugget"
@@ -21,12 +21,12 @@
sawnoff_workmsg = "shorten the barrel and stock"
/obj/item/gun/projectile/shotgun/pump/rifle/blank
- desc = "A replica of a traditional adhomian bolt action rifle. It has the seal of the Grand Romanovich Casino on its stock. Uses 7.62mm rounds."
+ desc = "A replica of a traditional Adhomian bolt action rifle. It has the seal of the Grand Romanovich Casino on its stock."
ammo_type = /obj/item/ammo_casing/a762/blank
/obj/item/gun/projectile/shotgun/pump/rifle/scope
name = "sniper bolt action rifle"
- desc = "A cheap ballistic rifle often found in the hands of Tajaran conscripts. This one has a telescopic sight attached to it. Uses 7.62mm rounds."
+ desc = "A cheap ballistic rifle, often found in the hands of Tajaran conscripts. This one has a telescopic sight attached to it."
icon = 'icons/obj/guns/bolt_scope.dmi'
/obj/item/gun/projectile/shotgun/pump/rifle/scope/verb/scope()
@@ -54,12 +54,12 @@
bayonet = null
update_icon()
name = "sawn-off bolt action rifle"
- desc = "A shortened bolt action rifle, not really acurate. Uses 7.62mm rounds."
+ desc = "A shortened bolt action rifle, not really acurate."
to_chat(user, "You shorten the barrel and stock of the rifle!")
/obj/item/gun/projectile/shotgun/pump/rifle/obrez
name = "sawn-off bolt action rifle"
- desc = "A shortened bolt action rifle, not really accurate. Uses 7.62mm rounds."
+ desc = "A shortened bolt action rifle, not really accurate."
icon = 'icons/obj/guns/obrez.dmi'
icon_state = "obrez"
item_state = "obrez"
@@ -128,7 +128,7 @@
/obj/item/gun/projectile/contender
name = "pocket rifle"
- desc = "A perfect, pristine replica of an ancient one-shot hand-cannon. This one has been modified to work almost like a bolt-action. Uses 5.56mm rounds."
+ desc = "A perfect, pristine replica of an ancient one-shot hand-cannon. This one has been modified to work almost like a bolt-action."
icon = 'icons/obj/guns/pockrifle.dmi'
icon_state = "pockrifle"
item_state = "pockrifle"
diff --git a/code/modules/projectiles/guns/projectile/shotgun.dm b/code/modules/projectiles/guns/projectile/shotgun.dm
index fc01ad142d0..416a3e53363 100644
--- a/code/modules/projectiles/guns/projectile/shotgun.dm
+++ b/code/modules/projectiles/guns/projectile/shotgun.dm
@@ -1,6 +1,9 @@
/obj/item/gun/projectile/shotgun
name = "strange shotgun"
desc = DESC_PARENT
+ desc_info = "This is a shotgun, chambered for various shells and slugs. To fire the weapon, toggle the safety with CTRL-Click or enable 'HARM' intent, then click where \
+ you want to fire. To pump a pump-action shotgun, use the Unique-Action hotkey or the button in the bottom right of your screen. To reload, insert shells or a magazine \
+ into the shotgun, then pump the shotgun to chamber a fresh round."
var/can_sawoff = FALSE
var/sawnoff_workmsg
var/sawing_in_progress = FALSE
@@ -121,7 +124,6 @@
/obj/item/gun/projectile/shotgun/doublebarrel
name = "double-barreled shotgun"
desc = "A true classic."
- desc_info = "Use in hand to unload, alt click to change firemodes."
icon = 'icons/obj/guns/dshotgun.dmi'
icon_state = "dshotgun"
item_state = "dshotgun"
diff --git a/code/modules/projectiles/guns/projectile/sniper.dm b/code/modules/projectiles/guns/projectile/sniper.dm
index 1b6841ebd8d..00a9e89cda6 100644
--- a/code/modules/projectiles/guns/projectile/sniper.dm
+++ b/code/modules/projectiles/guns/projectile/sniper.dm
@@ -1,7 +1,7 @@
/obj/item/gun/projectile/heavysniper
name = "anti-materiel rifle"
- desc = "The PTR-7 is man-portable anti-armor rifle fitted with a high-powered scope, capable of penetrating through most windows, airlocks, and non-reinforced walls with ease. Fires armor piercing 14.5mm shells."
- desc_info = "A single-shot, bolt-action anachronism in an age of energy weapons, the PTR-7 was originally developed to combat exosuits, either by disabling critical systems \
+ desc = "The PTR-7 is man-portable anti-armor rifle fitted with a high-powered scope, capable of penetrating through most windows, airlocks, and non-reinforced walls with ease."
+ desc_extended = "A single-shot, bolt-action anachronism in an age of energy weapons, the PTR-7 was originally developed to combat exosuits, either by disabling critical systems \
or killing the pilot. Firing a high-velocity 14.5mm cartridge designed to defeat heavy armor, the PTR-7 boasts penetrative power unmatched by most in its class, though recent advancements \
in composites have rendered the weapon less effective at its intended purpose. Nonetheless, it still sees use among some groups as a general-purpose anti-materiel rifle."
icon = 'icons/obj/guns/heavysniper.dmi'
@@ -142,7 +142,7 @@
/obj/item/gun/projectile/heavysniper/tranq
name = "tranquilizer rifle"
- desc = "A nonlethal modification to the PTR-7 anti-materiel rifle meant for sedation and capture of the most dangerous of game. Fires .50 cal PPS shells that deploy a torpor inducing drug payload."
+ desc = "A less-than-lethal modification to the PTR-7 anti-materiel rifle, designed to incapacitate rioters. Fires .50 cal PPS shells that deploy a torpor-inducing drug payload."
icon = 'icons/obj/guns/tranqsniper.dmi'
icon_state = "tranqsniper"
item_state = "tranqsniper"
@@ -173,7 +173,7 @@
/obj/item/gun/projectile/dragunov
name = "marksman rifle"
- desc = "A semi-automatic marksman rifle. Uses 7.62mm rounds."
+ desc = "A semi-automatic marksman rifle."
icon = 'icons/obj/guns/dragunov.dmi'
icon_state = "dragunov"
item_state = "dragunov"
@@ -228,9 +228,9 @@
/obj/item/gun/projectile/automatic/rifle/w556
name = "scout rifle"
- desc = "The ZI Pointer, the designated marksman rifle variant of Zavodskoi's ZI Bulldog carbine. \
- Features a longer, heavier barrel and low-power fixed-magnification optic in lieu of the grenade launcher. \
- A vertical grip has been attached under the forend to help offset the change in balance and improve handling. Uses 5.56mm rounds."
+ desc = "The ZI Greyhound, the designated marksman rifle variant of Zavodskoi's ZI Bulldog carbine. Features a longer, heavier barrel \
+ with a low-power fixed-magnification optic. A vertical grip has been attached under the forend, to help offset the change in balance \
+ and improve handling."
icon = 'icons/obj/guns/w556.dmi'
icon_state = "w556rifle"
item_state = "w556rifle"
diff --git a/html/changelogs/crunchypretzels-gunrefactor.yml b/html/changelogs/crunchypretzels-gunrefactor.yml
new file mode 100644
index 00000000000..14739d1f2a0
--- /dev/null
+++ b/html/changelogs/crunchypretzels-gunrefactor.yml
@@ -0,0 +1,43 @@
+################################
+# Example Changelog File
+#
+# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb.
+#
+# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.)
+# When it is, any changes listed below will disappear.
+#
+# Valid Prefixes:
+# bugfix
+# wip (For works in progress)
+# tweak
+# soundadd
+# sounddel
+# rscadd (general adding of nice things)
+# rscdel (general deleting of nice things)
+# imageadd
+# imagedel
+# maptweak
+# spellcheck (typo fixes)
+# experiment
+# balance
+# admin
+# backend
+# security
+# refactor
+#################################
+
+# Your name.
+author: crunchypretzels
+
+# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again.
+delete-after: True
+
+# Any changes you've made. See valid prefix list above.
+# INDENT WITH TWO SPACES. NOT TABS. SPACES.
+# SCREW THIS UP AND IT WON'T WORK.
+# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries.
+# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog.
+changes:
+ - tweak: "Gun information now provides caliber, as well as a guide to toggling the safety and any unique firearm features."
+ - spellcheck: "Checked some gun descriptions for grammar."
+