diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index ffb23a6a899..79551a4b273 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -74,9 +74,15 @@
reload(AM, user)
to_chat(user, "You load a new magazine into \the [src].")
return TRUE
- else if(!can_reload() && !can_tactical)
+ else if(!can_tactical)
to_chat(user, "There's already a magazine in \the [src].")
return TRUE
+ else
+ to_chat(user, "You perform a tactical reload on \the [src], replacing the magazine.")
+ magazine.loc = get_turf(loc)
+ magazine.update_icon()
+ magazine = null
+ reload(AM, user)
else
to_chat(user, "You can't put this type of ammo in \the [src].")
return TRUE
diff --git a/code/modules/projectiles/guns/projectile/automatic.dm b/code/modules/projectiles/guns/projectile/automatic.dm
index 24c13dd1e33..50c3470ba96 100644
--- a/code/modules/projectiles/guns/projectile/automatic.dm
+++ b/code/modules/projectiles/guns/projectile/automatic.dm
@@ -20,21 +20,6 @@
overlays += "[initial(icon_state)]burst"
icon_state = "[initial(icon_state)][magazine ? "-[magazine.max_ammo]" : ""][chambered ? "" : "-e"][suppressed ? "-suppressed" : ""]"
-/obj/item/gun/projectile/automatic/attackby(var/obj/item/A as obj, mob/user as mob, params)
- . = ..()
- if(.)
- return
- if(istype(A, /obj/item/ammo_box/magazine))
- var/obj/item/ammo_box/magazine/AM = A
- if(istype(AM, mag_type))
- if(!can_reload())
- to_chat(user, "You perform a tactical reload on \the [src], replacing the magazine.")
- magazine.loc = get_turf(loc)
- magazine.update_icon()
- magazine = null
- reload(AM, user)
- return
-
/obj/item/gun/projectile/automatic/ui_action_click()
burst_select()