diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index 2e71bd1ac69..8d864128905 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -227,7 +227,7 @@ var/list/uplink_items = list()
/datum/uplink_item/dangerous/crossbow
name = "Energy Crossbow"
desc = "A miniature energy crossbow that is small enough both to fit into a pocket and to slip into a backpack unnoticed by observers. Fires bolts tipped with toxin, a poisonous substance that is the product of a living organism. Stuns enemies for a short period of time. Recharges automatically."
- item = /obj/item/weapon/gun/energy/crossbow
+ item = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
cost = 12
excludefrom = list("nuclear emergency")
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index e77fa66bd64..a98dae042cf 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -36,7 +36,7 @@
var/uplink_items = {"Highly Visible and Dangerous Weapons;
/obj/item/weapon/gun/projectile:6:Revolver;
/obj/item/ammo_magazine/a357:2:Ammo-357;
-/obj/item/weapon/gun/energy/crossbow:5:Energy Crossbow;
+/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow:5:Energy Crossbow;
/obj/item/weapon/melee/energy/sword:4:Energy Sword;
/obj/item/weapon/storage/box/syndicate:10:Syndicate Bundle;
/obj/item/weapon/storage/box/emps:3:5 EMP Grenades;
@@ -557,7 +557,7 @@ proc/get_nt_opposed()
dudes += man
if(dudes.len == 0) return null
return pick(dudes)
-
+
//Announces objectives/generic antag text.
/proc/show_generic_antag_text(var/datum/mind/player)
if(player.current)
@@ -567,7 +567,7 @@ proc/get_nt_opposed()
other players have fun! If you are confused or at a loss, always adminhelp, \
and before taking extreme actions, please try to also contact the administration! \
Think through your actions and make the roleplay immersive! Please remember all \
- rules aside from those without explicit exceptions apply to antagonists."
+ rules aside from those without explicit exceptions apply to antagonists."
/proc/show_objectives(var/datum/mind/player)
if(!player || !player.current) return
diff --git a/code/game/gamemodes/wizard/rightandwrong.dm b/code/game/gamemodes/wizard/rightandwrong.dm
index b87d0de8b50..3562603df8d 100644
--- a/code/game/gamemodes/wizard/rightandwrong.dm
+++ b/code/game/gamemodes/wizard/rightandwrong.dm
@@ -65,7 +65,7 @@
if("sabr")
new /obj/item/weapon/gun/projectile/automatic(get_turf(H))
if("crossbow")
- new /obj/item/weapon/gun/energy/crossbow(get_turf(H))
+ new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(get_turf(H))
if("saw")
new /obj/item/weapon/gun/projectile/automatic/l6_saw(get_turf(H))
if("car")
diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm
index 8213c2f8879..84d6915556c 100644
--- a/code/game/machinery/portable_turret.dm
+++ b/code/game/machinery/portable_turret.dm
@@ -151,13 +151,13 @@
iconholder = null
reqpower = 600
- if(/obj/item/weapon/gun/energy/crossbow/largecrossbow)
+ if(/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large)
projectile = /obj/item/projectile/energy/bolt/large
eprojectile = projectile
iconholder = null
reqpower = 125
- if(/obj/item/weapon/gun/energy/crossbow)
+ if(/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow)
projectile = /obj/item/projectile/energy/bolt
eprojectile = projectile
iconholder = null
diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm
index 7d98671321f..758b76814ab 100644
--- a/code/game/machinery/recharger.dm
+++ b/code/game/machinery/recharger.dm
@@ -29,7 +29,7 @@
user << "\red The [name] blinks red as you try to insert the item!"
return
- if (istype(G, /obj/item/weapon/gun/energy/gun/nuclear) || istype(G, /obj/item/weapon/gun/energy/crossbow))
+ if (istype(G, /obj/item/weapon/gun/energy/gun/nuclear))
user << "Your gun's recharge port was removed to make room for a miniaturized reactor."
return
if(istype(G, /obj/item/device/laptop))
diff --git a/code/game/objects/items/weapons/storage/storage.dm b/code/game/objects/items/weapons/storage/storage.dm
index c49a79f07c6..c9df562f289 100644
--- a/code/game/objects/items/weapons/storage/storage.dm
+++ b/code/game/objects/items/weapons/storage/storage.dm
@@ -258,7 +258,7 @@
W.dropped(usr)
add_fingerprint(usr)
- if(!prevent_warning && !istype(W, /obj/item/weapon/gun/energy/crossbow))
+ if(!prevent_warning && !istype(W, /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow))
for(var/mob/M in viewers(usr, null))
if (M == usr)
usr << "You put the [W] into [src]."
diff --git a/code/game/objects/items/weapons/storage/uplink_kits.dm b/code/game/objects/items/weapons/storage/uplink_kits.dm
index 6c0a0adb432..6b4fc5a43bd 100644
--- a/code/game/objects/items/weapons/storage/uplink_kits.dm
+++ b/code/game/objects/items/weapons/storage/uplink_kits.dm
@@ -11,7 +11,7 @@
return
if("stealth")
- new /obj/item/weapon/gun/energy/crossbow(src)
+ new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow(src)
new /obj/item/weapon/pen/paralysis(src)
new /obj/item/device/chameleon(src)
return
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index 30d9a28206b..abd1f40f15a 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -809,7 +809,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
del(briefcase_item)
for(var/i=3, i>0, i--)
sec_briefcase.contents += new /obj/item/weapon/spacecash/c1000
- sec_briefcase.contents += new /obj/item/weapon/gun/energy/crossbow
+ sec_briefcase.contents += new /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
sec_briefcase.contents += new /obj/item/weapon/gun/projectile/revolver/mateba
sec_briefcase.contents += new /obj/item/ammo_box/a357
sec_briefcase.contents += new /obj/item/weapon/plastique
diff --git a/code/modules/flufftext/Hallucination.dm b/code/modules/flufftext/Hallucination.dm
index d1dfd17227b..bc39a2cbf00 100644
--- a/code/modules/flufftext/Hallucination.dm
+++ b/code/modules/flufftext/Hallucination.dm
@@ -333,7 +333,7 @@ proc/check_panel(mob/M)
return
var/list/non_fakeattack_weapons = list(/obj/item/weapon/gun/projectile, /obj/item/ammo_box/a357,\
- /obj/item/weapon/gun/energy/crossbow, /obj/item/weapon/melee/energy/sword,\
+ /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow, /obj/item/weapon/melee/energy/sword,\
/obj/item/weapon/storage/box/syndicate, /obj/item/weapon/storage/box/emps,\
/obj/item/weapon/cartridge/syndicate, /obj/item/clothing/under/chameleon,\
/obj/item/clothing/shoes/syndigaloshes, /obj/item/weapon/card/id/syndicate,\
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index 40b8c6d022c..d598d461895 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -244,11 +244,37 @@ modules/mob/living/carbon/human/life.dm if you die, you will be zoomed out.
if(overheat || recent_reload)
return
power_supply.give(5000)
- playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
+ if(!silenced)
+ playsound(src.loc, 'sound/weapons/kenetic_reload.ogg', 60, 1)
+ else
+ usr << "You silently charge [src]."
recent_reload = 1
update_icon()
return
+/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow
+ name = "mini energy crossbow"
+ desc = "A weapon favored by syndicate stealth specialists."
+ icon_state = "crossbow"
+ item_state = "crossbow"
+ w_class = 2
+ m_amt = 2000
+ origin_tech = "combat=2;magnets=2;syndicate=5"
+ silenced = 1
+ projectile_type = "/obj/item/projectile/energy/bolt"
+ fire_sound = 'sound/weapons/Genhit.ogg'
+
+/obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
+ name = "energy crossbow"
+ desc = "A reverse engineered weapon using syndicate technology."
+ icon_state = "crossbowlarge"
+ w_class = 3
+ m_amt = 4000
+ origin_tech = "combat=2;magnets=2;syndicate=3" //can be further researched for more syndie tech
+ silenced = 0
+ projectile_type = "/obj/item/projectile/energy/bolt/large"
+
+
/obj/item/weapon/gun/energy/disabler
name = "disabler"
desc = "A self-defense weapon that exhausts organic targets, weakening them until they collapse."
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index 6fabb33422e..1cb70a29513 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -72,7 +72,6 @@
nodamage = 0
weaken = 5
stutter = 5
- range = 10
/obj/item/projectile/energy/bolt/large
name = "largebolt"
diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm
index adeb3859e9c..399f226e15c 100644
--- a/code/modules/research/designs/weapon_designs.dm
+++ b/code/modules/research/designs/weapon_designs.dm
@@ -23,8 +23,8 @@
materials = list("$gold" = 5000,"$uranium" = 10000, "mutagen" = 40)
build_path = /obj/item/weapon/gun/energy/decloner
locked = 1
- category = list("Weapons")
-
+ category = list("Weapons")
+
/datum/design/largecrossbow
name = "Energy Crossbow"
desc = "A reverse-engineered energy crossbow favored by syndicate infiltration teams and carp hunters."
@@ -32,10 +32,10 @@
req_tech = list("combat" = 5, "materials" = 5, "engineering" = 3, "biotech" = 4, "syndicate" = 3)
build_type = PROTOLATHE
materials = list("$metal" = 5000, "$glass" = 1500, "$uranium" = 1500, "$silver" = 1500)
- build_path = /obj/item/weapon/gun/energy/crossbow/largecrossbow
+ build_path = /obj/item/weapon/gun/energy/kinetic_accelerator/crossbow/large
locked = 1
category = list("Weapons")
-
+
/datum/design/flora_gun
name = "Floral Somatoray"
desc = "A tool that discharges controlled radiation which induces mutation in plant cells. Harmless to other organic life."
@@ -45,7 +45,7 @@
materials = list("$metal" = 2000, "$glass" = 500, "radium" = 20)
build_path = /obj/item/weapon/gun/energy/floragun
category = list("Weapons")
-
+
/datum/design/ionrifle
name = "Ion Rifle"
desc = "How to dismantle a cyborg : The gun."
@@ -67,7 +67,7 @@
reliability_base = 79
build_path = /obj/item/weapon/grenade/chem_grenade/large
category = list("Weapons")
-
+
/datum/design/lasercannon
name = "Laser Cannon"
desc = "A heavy duty laser cannon."
@@ -77,8 +77,8 @@
materials = list("$metal" = 10000, "$glass" = 2000, "$diamond" = 2000)
build_path = /obj/item/weapon/gun/energy/lasercannon
locked = 1
- category = list("Weapons")
-
+ category = list("Weapons")
+
/datum/design/plasmapistol
name = "Plasma Pistol"
desc = "A specialized firearm designed to fire lethal bolts of toxins."
@@ -89,7 +89,7 @@
build_path = /obj/item/weapon/gun/energy/toxgun
locked = 1
category = list("Weapons")
-
+
/datum/design/smg
name = "Prototype Submachine Gun"
desc = "A prototype weapon made using lightweight materials on a traditional frame, designed to fire standard 9mm rounds."
@@ -99,8 +99,8 @@
materials = list("$metal" = 8000, "$silver" = 2000, "$diamond" = 1000)
build_path = /obj/item/weapon/gun/projectile/automatic
locked = 1
- category = list("Weapons")
-
+ category = list("Weapons")
+
/datum/design/mag_smg
name = "Prototype Submachine Gun Magazine (9mm)"
desc = "A 20-round magazine for the prototype submachine gun."
@@ -121,7 +121,7 @@
build_path = /obj/item/weapon/gun/syringe/rapidsyringe
locked = 1
category = list("Weapons")
-
+
/datum/design/stunshell
name = "Stun Shell"
desc = "A stunning shell for a shotgun."
@@ -130,8 +130,8 @@
build_type = PROTOLATHE
materials = list("$metal" = 200)
build_path = /obj/item/ammo_casing/shotgun/stunslug
- category = list("Weapons")
-
+ category = list("Weapons")
+
/datum/design/stunrevolver
name = "Stun Revolver"
desc = "A high-tech revolver that fires internal, reusable stun cartidges in a revolving cylinder. The stun cartridges can be recharged using a conventional energy weapon recharger."
@@ -162,8 +162,8 @@
build_type = PROTOLATHE
materials = list("$metal" = 2000, "$silver" = 500)
build_path = /obj/item/weapon/suppressor
- category = list("Weapons")
-
+ category = list("Weapons")
+
/datum/design/techshell
name = "Unloaded Technological Shotshell"
desc = "A high-tech shotgun shell which can be loaded with materials to produce unique effects."
diff --git a/icons/mob/in-hand/guns.dmi b/icons/mob/in-hand/guns.dmi
index 74b5aad9402..9173af72b35 100644
Binary files a/icons/mob/in-hand/guns.dmi and b/icons/mob/in-hand/guns.dmi differ
diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi
index 273552a5f6c..a2dd9d92a9c 100644
Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ