From 562d5a1fa5a8265bf09a81744cd36e11cb2c2ed3 Mon Sep 17 00:00:00 2001 From: Geeves Date: Wed, 10 Mar 2021 21:06:28 +0200 Subject: [PATCH] Improvised Weapon Pin Fix (#11405) --- code/modules/projectiles/guns/projectile/rifle.dm | 3 +++ code/modules/projectiles/pins.dm | 10 +++++++--- html/changelogs/geeves-improvised_gun_fix.yml | 7 +++++++ 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 html/changelogs/geeves-improvised_gun_fix.yml diff --git a/code/modules/projectiles/guns/projectile/rifle.dm b/code/modules/projectiles/guns/projectile/rifle.dm index 18aa81fabb4..e25ec45dade 100644 --- a/code/modules/projectiles/guns/projectile/rifle.dm +++ b/code/modules/projectiles/guns/projectile/rifle.dm @@ -62,6 +62,9 @@ max_shells = 4 can_sawoff = FALSE + needspin = FALSE + has_safety = FALSE + jam_chance = 0 /obj/item/gun/projectile/shotgun/pump/rifle/pipegun/examine(mob/user) diff --git a/code/modules/projectiles/pins.dm b/code/modules/projectiles/pins.dm index 721f157f70d..e0cfccc62a8 100644 --- a/code/modules/projectiles/pins.dm +++ b/code/modules/projectiles/pins.dm @@ -38,16 +38,20 @@ Firing pins as a rule can't be removed without replacing them, blame a really sh if(proximity_flag) if(istype(target, /obj/item/gun)) var/obj/item/gun/G = target + if(!G.needspin) + to_chat(user, SPAN_WARNING("\The [G] doesn't take pins.")) + return + if(G.pin && (force_replace || G.pin.pin_replaceable)) G.pin.forceMove(get_turf(G)) G.pin.gun_remove(user) - to_chat(user, "You remove [G]'s old pin.") + to_chat(user, SPAN_NOTICE("You remove \the [G]'s old pin.")) if(!G.pin) gun_insert(user, G) - to_chat(user, "You insert [src] into [G].") + to_chat(user, SPAN_NOTICE("You insert [src] into \the [G].")) else - to_chat(user, "This firearm already has a firing pin installed.") + to_chat(user, SPAN_NOTICE("This firearm already has a firing pin installed.")) /obj/item/device/firing_pin/emag_act() if(!emagged) diff --git a/html/changelogs/geeves-improvised_gun_fix.yml b/html/changelogs/geeves-improvised_gun_fix.yml new file mode 100644 index 00000000000..8bd3af450a7 --- /dev/null +++ b/html/changelogs/geeves-improvised_gun_fix.yml @@ -0,0 +1,7 @@ +author: Geeves + +delete-after: True + +changes: + - bugfix: "Pipeguns no longer spawn with pins, they also no longer have a safety." + - bugfix: "Trying to install a pin on a gun that doesn't use pins now gives a warning message." \ No newline at end of file