diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index 7f3372e6271..05a8971bc50 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -511,6 +511,14 @@ var/list/uplink_items = list()
item = /obj/item/weapon/soap/syndie
cost = 1
surplus = 50
+
+/datum/uplink_item/stealthy_weapons/dart_pistol
+ name = "Dart Pistol"
+ desc = "A miniaturized version of a normal syringe gun. It is very quiet when fired and can fit into any space a small item can."
+ reference = "DART"
+ item = /obj/item/weapon/gun/syringe/syndicate
+ cost = 4
+ surplus = 50
/datum/uplink_item/stealthy_weapons/detomatix
name = "Detomatix PDA Cartridge"
diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm
index 2497bb89c6c..c1eb0f1ebee 100644
--- a/code/modules/projectiles/gun.dm
+++ b/code/modules/projectiles/gun.dm
@@ -27,6 +27,7 @@
var/ghettomodded = 0
var/recoil = 0
var/can_suppress = 0
+ var/can_unsuppress = 1
var/clumsy_check = 1
var/sawn_desc = null
var/sawn_state = SAWN_INTACT
diff --git a/code/modules/projectiles/guns/projectile.dm b/code/modules/projectiles/guns/projectile.dm
index 03340af09b7..f7b61436dfe 100644
--- a/code/modules/projectiles/guns/projectile.dm
+++ b/code/modules/projectiles/guns/projectile.dm
@@ -100,7 +100,7 @@
/obj/item/weapon/gun/projectile/attack_hand(mob/user as mob)
if(loc == user)
- if(silenced)
+ if(silenced && can_unsuppress)
var/obj/item/weapon/suppressor/S = silenced
if(user.l_hand != src && user.r_hand != src)
..()
diff --git a/code/modules/reagents/syringe_gun.dm b/code/modules/projectiles/guns/syringe_gun.dm
similarity index 76%
rename from code/modules/reagents/syringe_gun.dm
rename to code/modules/projectiles/guns/syringe_gun.dm
index 7a0d207aca1..672f683e3b2 100644
--- a/code/modules/reagents/syringe_gun.dm
+++ b/code/modules/projectiles/guns/syringe_gun.dm
@@ -1,66 +1,77 @@
-/obj/item/weapon/gun/syringe
- name = "syringe gun"
- desc = "A spring loaded rifle designed to fit syringes, used to incapacitate unruly patients from a distance."
- icon_state = "syringegun"
- item_state = "syringegun"
- w_class = 3
- throw_speed = 2
- throw_range = 10
- force = 4
- materials = list(MAT_METAL=2000)
- clumsy_check = 0
- fire_sound = 'sound/items/syringeproj.ogg'
- var/list/syringes = list()
- var/max_syringes = 1
-
-/obj/item/weapon/gun/syringe/process_chambered()
- if(!syringes.len) return 0
-
- var/obj/item/weapon/reagent_containers/syringe/S = syringes[1]
-
- if(!S) return 0
-
- in_chamber = new /obj/item/projectile/bullet/dart/syringe(src)
- S.reagents.trans_to(in_chamber, S.reagents.total_volume)
- in_chamber.name = S.name
- syringes.Remove(S)
-
- qdel(S)
- return 1
-
-/obj/item/weapon/gun/syringe/examine(mob/user)
- ..(user)
- user << "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining."
-
-/obj/item/weapon/gun/syringe/attack_self(mob/living/user as mob)
- if(!syringes.len)
- user << "[src] is empty."
- return 0
-
- var/obj/item/weapon/reagent_containers/syringe/S = syringes[syringes.len]
-
- if(!S) return 0
- S.loc = user.loc
-
- syringes.Remove(S)
- user << "You unload [S] from \the [src]!"
-
- return 1
-
-/obj/item/weapon/gun/syringe/attackby(var/obj/item/A as obj, mob/user as mob, var/show_msg = 1, params)
- if(istype(A, /obj/item/weapon/reagent_containers/syringe))
- if(syringes.len < max_syringes)
- user.drop_item()
- user << "You load [A] into \the [src]!"
- syringes.Add(A)
- A.loc = src
- return 1
- else
- usr << "[src] cannot hold more syringes."
- return 0
-
-/obj/item/weapon/gun/syringe/rapidsyringe
- name = "rapid syringe gun"
- desc = "A modification of the syringe gun design, using a rotating cylinder to store up to six syringes."
- icon_state = "rapidsyringegun"
- max_syringes = 6
\ No newline at end of file
+/obj/item/weapon/gun/syringe
+ name = "syringe gun"
+ desc = "A spring loaded rifle designed to fit syringes, used to incapacitate unruly patients from a distance."
+ icon_state = "syringegun"
+ item_state = "syringegun"
+ w_class = 3
+ throw_speed = 3
+ throw_range = 7
+ force = 4
+ materials = list(MAT_METAL=2000)
+ clumsy_check = 0
+ fire_sound = 'sound/items/syringeproj.ogg'
+ var/list/syringes = list()
+ var/max_syringes = 1
+
+/obj/item/weapon/gun/syringe/process_chambered()
+ if(!syringes.len) return 0
+
+ var/obj/item/weapon/reagent_containers/syringe/S = syringes[1]
+
+ if(!S) return 0
+
+ in_chamber = new /obj/item/projectile/bullet/dart/syringe(src)
+ S.reagents.trans_to(in_chamber, S.reagents.total_volume)
+ in_chamber.name = S.name
+ syringes.Remove(S)
+
+ qdel(S)
+ return 1
+
+/obj/item/weapon/gun/syringe/examine(mob/user)
+ ..(user)
+ user << "Can hold [max_syringes] syringe\s. Has [syringes.len] syringe\s remaining."
+
+/obj/item/weapon/gun/syringe/attack_self(mob/living/user as mob)
+ if(!syringes.len)
+ user << "[src] is empty."
+ return 0
+
+ var/obj/item/weapon/reagent_containers/syringe/S = syringes[syringes.len]
+
+ if(!S) return 0
+ S.forceMove(user.loc)
+
+ syringes.Remove(S)
+ user << "You unload [S] from \the [src]!"
+
+ return 1
+
+/obj/item/weapon/gun/syringe/attackby(var/obj/item/A as obj, mob/user as mob, var/show_msg = 1, params)
+ if(istype(A, /obj/item/weapon/reagent_containers/syringe))
+ if(syringes.len < max_syringes)
+ user.drop_item()
+ user << "You load [A] into \the [src]!"
+ syringes.Add(A)
+ A.forceMove(src)
+ return 1
+ else
+ usr << "[src] cannot hold more syringes."
+ return 0
+
+/obj/item/weapon/gun/syringe/rapidsyringe
+ name = "rapid syringe gun"
+ desc = "A modification of the syringe gun design, using a rotating cylinder to store up to six syringes."
+ icon_state = "rapidsyringegun"
+ max_syringes = 6
+
+/obj/item/weapon/gun/syringe/syndicate
+ name = "dart pistol"
+ desc = "A small spring-loaded sidearm that functions identically to a syringe gun."
+ icon_state = "syringe_pistol"
+ item_state = "gun" //Smaller inhand
+ w_class = 2
+ origin_tech = "combat=2;syndicate=2"
+ force = 2 //Also very weak because it's smaller
+ silenced = 1 //Softer fire sound
+ can_unsuppress = 0 //Permanently silenced
diff --git a/code/modules/reagents/reagent_containers/borghydro.dm b/code/modules/reagents/reagent_containers/borghydro.dm
index 757ff34b630..f34c8aa8eb3 100644
--- a/code/modules/reagents/reagent_containers/borghydro.dm
+++ b/code/modules/reagents/reagent_containers/borghydro.dm
@@ -29,7 +29,7 @@
icon_state = "borghypo_s"
charge_cost = 20
recharge_time = 2
- reagent_ids = list("omnizine", "salbutamol", "mannitol", "mutadone", "charcoal", "potass_iodide")
+ reagent_ids = list("syndicate_nanites", "potass_iodide", "ether")
/obj/item/weapon/reagent_containers/borghypo/New()
..()
@@ -100,7 +100,7 @@
charge_tick = 0 //Prevents wasted chems/cell charge if you're cycling through modes.
var/datum/reagent/R = chemical_reagents_list[reagent_ids[mode]]
- user << "\blue Synthesizer is now producing '[R.name]'."
+ user << "Synthesizer is now producing '[R.name]'."
return
/obj/item/weapon/reagent_containers/borghypo/examine(mob/user)
@@ -112,8 +112,8 @@
for(var/datum/reagents/RS in reagent_list)
var/datum/reagent/R = locate() in RS.reagent_list
if(R)
- user << "\blue It currently has [R.volume] units of [R.name] stored."
+ user << "It currently has [R.volume] units of [R.name] stored."
empty = 0
if(empty)
- user << "\blue It is currently empty. Allow some time for the internal syntheszier to produce more."
+ user << "It is currently empty. Allow some time for the internal syntheszier to produce more."
diff --git a/paradise.dme b/paradise.dme
index 510d4864fbe..641a34617f1 100644
--- a/paradise.dme
+++ b/paradise.dme
@@ -1608,6 +1608,7 @@
#include "code\modules\projectiles\guns\energy.dm"
#include "code\modules\projectiles\guns\magic.dm"
#include "code\modules\projectiles\guns\projectile.dm"
+#include "code\modules\projectiles\guns\syringe_gun.dm"
#include "code\modules\projectiles\guns\energy\advtaser.dm"
#include "code\modules\projectiles\guns\energy\hos.dm"
#include "code\modules\projectiles\guns\energy\laser.dm"
@@ -1642,7 +1643,6 @@
#include "code\modules\reagents\grenade_launcher.dm"
#include "code\modules\reagents\reagent_containers.dm"
#include "code\modules\reagents\reagent_dispenser.dm"
-#include "code\modules\reagents\syringe_gun.dm"
#include "code\modules\reagents\newchem\Blob-Reagents.dm"
#include "code\modules\reagents\newchem\chem_heater.dm"
#include "code\modules\reagents\newchem\drinks.dm"