diff --git a/code/modules/clothing/spacesuits/alien.dm b/code/modules/clothing/spacesuits/alien.dm
index 730529e5e22..43a19c558f6 100644
--- a/code/modules/clothing/spacesuits/alien.dm
+++ b/code/modules/clothing/spacesuits/alien.dm
@@ -33,7 +33,6 @@
w_class = ITEMSIZE_NORMAL
item_flags = STOPPRESSUREDAMAGE | THICKMATERIAL | PHORONGUARD
allowed = list(/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs,/obj/item/weapon/tank)
- slowdown = 1
phoronproof = 1
armor = list(melee = 60, bullet = 50, laser = 40,energy = 15, bomb = 30, bio = 30, rad = 30)
siemens_coefficient = 0.2
diff --git a/code/modules/clothing/spacesuits/rig/suits/alien.dm b/code/modules/clothing/spacesuits/rig/suits/alien.dm
index 1da4fbba4b4..ee82610d3e5 100644
--- a/code/modules/clothing/spacesuits/rig/suits/alien.dm
+++ b/code/modules/clothing/spacesuits/rig/suits/alien.dm
@@ -65,6 +65,7 @@
/obj/item/clothing/shoes/magboots/rig/vox
name = "talons"
species_restricted = list("Vox")
+ icon = 'icons/mob/species/vox/shoes.dmi'
phoronproof = 1
/obj/item/clothing/suit/space/rig/vox
@@ -74,11 +75,33 @@
/obj/item/clothing/gloves/gauntlets/rig/vox
siemens_coefficient = 0
species_restricted = list("Vox")
+ icon = 'icons/mob/species/vox/gloves.dmi'
phoronproof = 1
+/obj/item/weapon/rig/vox/carapace
+ name = "dense alien control module"
+ suit_type = "dense alien"
+ armor = list(melee = 60, bullet = 50, laser = 40, energy = 15, bomb = 30, bio = 30, rad = 30)
+ emp_protection = 40 //change this to 30 if too high.
+ phoronproof = 1
+
+ req_access = list(access_syndicate)
+
+ cell_type = /obj/item/weapon/cell/hyper
+
+ initial_modules = list(
+ /obj/item/rig_module/mounted/energy_blade,
+ /obj/item/rig_module/sprinter,
+ /obj/item/rig_module/electrowarfare_suite,
+ /obj/item/rig_module/vision,
+ /obj/item/rig_module/power_sink,
+ /obj/item/rig_module/self_destruct
+ )
+
/obj/item/weapon/rig/vox/stealth
name = "sinister alien control module"
suit_type = "sinister alien"
+ icon_state = "voxstealth_rig"
armor = list(melee = 40, bullet = 30, laser = 30, energy = 15, bomb = 30, bio = 100, rad = 100)
emp_protection = 40 //change this to 30 if too high.
slowdown = 0
@@ -90,6 +113,7 @@
initial_modules = list(
/obj/item/rig_module/stealth_field,
+ /obj/item/rig_module/electrowarfare_suite,
/obj/item/rig_module/vision,
/obj/item/rig_module/power_sink,
/obj/item/rig_module/self_destruct
diff --git a/code/modules/clothing/under/xenos/vox.dm b/code/modules/clothing/under/xenos/vox.dm
index 0ba583d536b..e84f6952761 100644
--- a/code/modules/clothing/under/xenos/vox.dm
+++ b/code/modules/clothing/under/xenos/vox.dm
@@ -21,8 +21,8 @@
//Vox Accessories
/obj/item/clothing/accessory/storage/vox
name = ""
- desc = "An alien mesh. Seems to be made up mostly of pockets"
-// icon_state = "webbing"
+ desc = "An alien mesh. Seems to be made up mostly of pockets and writhing flesh."
+ icon_state = "vox-webbing"
slot = "vox"
slots = 5
diff --git a/code/modules/mob/living/carbon/human/species/outsider/vox.dm b/code/modules/mob/living/carbon/human/species/outsider/vox.dm
index 8a7df26cf0e..1a9a986dd1d 100644
--- a/code/modules/mob/living/carbon/human/species/outsider/vox.dm
+++ b/code/modules/mob/living/carbon/human/species/outsider/vox.dm
@@ -17,6 +17,8 @@
// taste_sensitivity = TASTE_DULL
+ slowdown = -0.5
+
speech_sounds = list('sound/voice/shriek1.ogg')
speech_chance = 20
diff --git a/code/modules/projectiles/guns/alien.dm b/code/modules/projectiles/guns/alien.dm
deleted file mode 100644
index 5889b523e10..00000000000
--- a/code/modules/projectiles/guns/alien.dm
+++ /dev/null
@@ -1,46 +0,0 @@
-// Alien pinning weapon.
-/obj/item/weapon/gun/launcher/spikethrower
-
- name = "spike thrower"
- desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
-
- var/last_regen = 0
- var/spike_gen_time = 150
- var/max_spikes = 3
- var/spikes = 3
- release_force = 30
- icon = 'icons/obj/gun.dmi'
- icon_state = "spikethrower3"
- item_state = "spikethrower"
- fire_sound_text = "a strange noise"
- fire_sound = 'sound/weapons/bladeslice.ogg'
-
-/obj/item/weapon/gun/launcher/spikethrower/New()
- ..()
- processing_objects.Add(src)
- last_regen = world.time
-
-/obj/item/weapon/gun/launcher/spikethrower/Destroy()
- processing_objects.Remove(src)
- ..()
-
-/obj/item/weapon/gun/launcher/spikethrower/process()
- if(spikes < max_spikes && world.time > last_regen + spike_gen_time)
- spikes++
- last_regen = world.time
- update_icon()
-
-/obj/item/weapon/gun/launcher/spikethrower/examine(mob/user)
- ..(user)
- user << "It has [spikes] spike\s remaining."
-
-/obj/item/weapon/gun/launcher/spikethrower/update_icon()
- icon_state = "spikethrower[spikes]"
-
-/obj/item/weapon/gun/launcher/spikethrower/update_release_force()
- return
-
-/obj/item/weapon/gun/launcher/spikethrower/consume_next_projectile()
- if(spikes < 1) return null
- spikes--
- return new /obj/item/weapon/spike(src)
diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm
index d8d6496722e..4443775df5b 100644
--- a/code/modules/projectiles/guns/energy/special.dm
+++ b/code/modules/projectiles/guns/energy/special.dm
@@ -149,20 +149,4 @@ obj/item/weapon/gun/energy/staff/focus
charge_cost = 200
user << "The [src.name] will now strike only a single person."
projectile_type = "/obj/item/projectile/forcebolt"
- */
-
-//Vox toys
-/obj/item/weapon/gun/energy/sonicgun
- name = "sonic cannon"
- desc = "A vicious alien sonic weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
- icon_state = "plasma_stun"
- item_state = "plasma_stun"
- fire_sound = 'sound/effects/basscannon.ogg'
- fire_delay = 10
-
- self_recharge = 1
-
- firemodes = list(
- list(mode_name="incapacitate", projectile_type=/obj/item/projectile/energy/sonic/weak, fire_delay=10, charge_cost = 120),
- list(mode_name="kill", projectile_type=/obj/item/projectile/energy/sonic/strong, fire_delay=20, charge_cost = 240),
- )
\ No newline at end of file
+ */
\ No newline at end of file
diff --git a/code/modules/projectiles/guns/vox.dm b/code/modules/projectiles/guns/vox.dm
new file mode 100644
index 00000000000..4ca70855f5e
--- /dev/null
+++ b/code/modules/projectiles/guns/vox.dm
@@ -0,0 +1,109 @@
+/*
+ * Vox Spike Thrower
+ * Alien pinning weapon.
+ */
+
+/obj/item/weapon/gun/launcher/spikethrower
+ name = "spike thrower"
+ desc = "A vicious alien projectile weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
+
+ var/last_regen = 0
+ var/spike_gen_time = 150
+ var/max_spikes = 3
+ var/spikes = 3
+ release_force = 30
+ icon = 'icons/obj/gun.dmi'
+ icon_state = "spikethrower3"
+ item_state = "spikethrower"
+ fire_sound_text = "a strange noise"
+ fire_sound = 'sound/weapons/bladeslice.ogg'
+
+/obj/item/weapon/gun/launcher/spikethrower/New()
+ ..()
+ processing_objects.Add(src)
+ last_regen = world.time
+
+/obj/item/weapon/gun/launcher/spikethrower/Destroy()
+ processing_objects.Remove(src)
+ ..()
+
+/obj/item/weapon/gun/launcher/spikethrower/process()
+ if(spikes < max_spikes && world.time > last_regen + spike_gen_time)
+ spikes++
+ last_regen = world.time
+ update_icon()
+
+/obj/item/weapon/gun/launcher/spikethrower/examine(mob/user)
+ ..(user)
+ user << "It has [spikes] spike\s remaining."
+
+/obj/item/weapon/gun/launcher/spikethrower/update_icon()
+ icon_state = "spikethrower[spikes]"
+
+/obj/item/weapon/gun/launcher/spikethrower/update_release_force()
+ return
+
+/obj/item/weapon/gun/launcher/spikethrower/consume_next_projectile()
+ if(spikes < 1) return null
+ spikes--
+ return new /obj/item/weapon/spike(src)
+
+/*
+ * Vox Darkmatter Cannon
+ */
+/obj/item/weapon/gun/energy/darkmatter
+ name = "spike thrower"
+ desc = "A vicious alien beam weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
+ icon_state = "darkcannon"
+ item_state = "darkcannon"
+ fire_sound = 'sound/weapons/eLuger.ogg'
+ charge_cost = 600
+ self_recharge = 1
+ projectile_type = /obj/item/projectile/beam/darkmatter
+
+/obj/item/projectile/beam/darkmatter
+ name = "dark matter bolt"
+ icon_state = "laser"
+ damage = 45
+ armor_penetration = 10
+ damage_type = BRUTE
+ check_armour = "energy"
+
+/*
+ * Vox Darkmatter Cannon
+ */
+/obj/item/weapon/gun/energy/sonic
+ name = "soundcannon"
+ desc = "A vicious alien sound weapon. Parts of it quiver gelatinously, as though the thing is insectile and alive."
+ icon_state = "noise"
+ item_state = "noise"
+ fire_sound = 'sound/effects/basscannon.ogg'
+ self_recharge = 1
+
+ firemodes = list(
+ list(mode_name="normal", projectile_type=/obj/item/projectile/sonic/strong, charge_cost = 600),
+ list(mode_name="suppressive", projectile_type=/obj/item/projectile/sonic/weak, charge_cost = 300),
+ )
+
+/obj/item/projectile/sonic
+ name = "sonic pulse"
+ icon_state = "sound"
+ damage = 15
+ armor_penetration = 100
+ damage_type = BRUTE
+ check_armour = "melee"
+ embed_chance = 0
+ vacuum_traversal = 0
+
+/obj/item/projectile/sonic/weak
+ agony = 30
+
+/obj/item/projectile/sonic/strong
+ damage = 45
+
+//Already have thoughts on how to improve this, will take a day or two
+/obj/item/projectile/sonic/strong/on_hit(var/atom/movable/target, var/blocked = 0)
+ if(istype(target))
+ var/throwdir = get_dir(firer,target)
+ target.throw_at(get_edge_target_turf(target, throwdir),10,10)
+ return 1
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile/beams.dm b/code/modules/projectiles/projectile/beams.dm
index 1f0dd03854f..bf83edececb 100644
--- a/code/modules/projectiles/projectile/beams.dm
+++ b/code/modules/projectiles/projectile/beams.dm
@@ -8,6 +8,7 @@
eyeblur = 4
var/frequency = 1
hitscan = 1
+ embed_chance = 0
invisibility = 101 //beam projectiles are invisible as they are rendered by the effect engine
light_range = 2
light_power = 0.5
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index 59c881d99e0..23630954b00 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -151,9 +151,9 @@
var/ear_safety = 0
ear_safety = M.get_ear_protection()
if(ear_safety == 1)
- M.Weaken(2)
+ M.confused += 150
else if (ear_safety > 1)
- M.Weaken(1)
+ M.confused += 30
else if (!ear_safety)
M.Stun(10)
M.Weaken(3)
@@ -171,51 +171,4 @@
/obj/item/projectile/energy/plasmastun/on_hit(var/atom/target)
bang(target)
- . = ..()
-
-/obj/item/projectile/energy/sonic
- name = "sonic pulse"
- icon_state = "sonic_pulse"
- armor_penetration = 50
- kill_count = 8
- damage_type = BRUTE
- embed_chance = 0
- check_armour = "melee"
- vacuum_traversal = 0
- var/ear_pain = 10
-
-/obj/item/projectile/energy/sonic/on_hit(var/atom/target)
- sonicboom(target, ear_pain)
- . = ..()
-
-/obj/item/projectile/energy/sonic/proc/sonicboom(var/mob/living/carbon/M, var/ear_pain)
- to_chat(M, "You hear a loud roar.")
- var/ear_safety = 0
- var/ear_effect = ear_pain
- ear_safety = M.get_ear_protection()
- if (ear_safety > 1)
- ear_effect *= 0.5
- else if (!ear_safety)
- ear_effect *= 2
-
- M.adjustEarDamage(ear_effect, ear_effect*2)
- M.halloss += ear_effect
-
- if (M.ear_damage >= 15)
- to_chat(M, "Your ears start to ring badly!")
- M.confused = max(M.confused, 100) //Balance thrown off
- if (prob(M.ear_damage - 5))
- to_chat(M, "You can't hear anything!")
- M.sdisabilities |= DEAF
- else
- if (M.ear_damage >= 5)
- to_chat(M, "Your ears start to ring!")
- M.update_icons()
-
-/obj/item/projectile/energy/sonic/weak
- damage = 10
- ear_pain = 20
-
-/obj/item/projectile/energy/sonic/strong
- damage = 40
- ear_pain = 10
\ No newline at end of file
+ . = ..()
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile/special.dm b/code/modules/projectiles/projectile/special.dm
index 7ce94948fcc..8aba3c0928d 100644
--- a/code/modules/projectiles/projectile/special.dm
+++ b/code/modules/projectiles/projectile/special.dm
@@ -156,4 +156,3 @@
nodamage = 1
damage_type = HALLOSS
muzzle_type = /obj/effect/projectile/bullet/muzzle
-
diff --git a/icons/mob/items/lefthand_guns.dmi b/icons/mob/items/lefthand_guns.dmi
index dd4369cce7f..3c2b317e8f6 100644
Binary files a/icons/mob/items/lefthand_guns.dmi and b/icons/mob/items/lefthand_guns.dmi differ
diff --git a/icons/mob/items/righthand_guns.dmi b/icons/mob/items/righthand_guns.dmi
index d8f221abef0..02594c78bbc 100644
Binary files a/icons/mob/items/righthand_guns.dmi and b/icons/mob/items/righthand_guns.dmi differ
diff --git a/icons/mob/rig_back.dmi b/icons/mob/rig_back.dmi
index aee3eedc772..19bf38764e6 100644
Binary files a/icons/mob/rig_back.dmi and b/icons/mob/rig_back.dmi differ
diff --git a/icons/mob/species/vox/gloves.dmi b/icons/mob/species/vox/gloves.dmi
index e069f8e36ff..16fbe55fee0 100644
Binary files a/icons/mob/species/vox/gloves.dmi and b/icons/mob/species/vox/gloves.dmi differ
diff --git a/icons/mob/species/vox/head.dmi b/icons/mob/species/vox/head.dmi
index fcaae2a02cf..6f272f4d1d0 100644
Binary files a/icons/mob/species/vox/head.dmi and b/icons/mob/species/vox/head.dmi differ
diff --git a/icons/mob/species/vox/shoes.dmi b/icons/mob/species/vox/shoes.dmi
index 661e90562ab..a5a271f7cb9 100644
Binary files a/icons/mob/species/vox/shoes.dmi and b/icons/mob/species/vox/shoes.dmi differ
diff --git a/icons/mob/species/vox/suit.dmi b/icons/mob/species/vox/suit.dmi
index 6e8269a9581..9692c5d111e 100644
Binary files a/icons/mob/species/vox/suit.dmi and b/icons/mob/species/vox/suit.dmi differ
diff --git a/icons/mob/ties.dmi b/icons/mob/ties.dmi
index ff4a15e6798..c081276a2fd 100644
Binary files a/icons/mob/ties.dmi and b/icons/mob/ties.dmi differ
diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi
index 9b3739078fc..6518425b548 100644
Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ
diff --git a/icons/obj/clothing/hats.dmi b/icons/obj/clothing/hats.dmi
index a4f3cf88933..88105392b5a 100644
Binary files a/icons/obj/clothing/hats.dmi and b/icons/obj/clothing/hats.dmi differ
diff --git a/icons/obj/clothing/shoes.dmi b/icons/obj/clothing/shoes.dmi
index 23cece26b74..daddbeddbc6 100644
Binary files a/icons/obj/clothing/shoes.dmi and b/icons/obj/clothing/shoes.dmi differ
diff --git a/icons/obj/clothing/species/vox/hats.dmi b/icons/obj/clothing/species/vox/hats.dmi
index f5f7b557247..a9a71009bff 100644
Binary files a/icons/obj/clothing/species/vox/hats.dmi and b/icons/obj/clothing/species/vox/hats.dmi differ
diff --git a/icons/obj/clothing/species/vox/suits.dmi b/icons/obj/clothing/species/vox/suits.dmi
index 933e0be8172..5efadccb805 100644
Binary files a/icons/obj/clothing/species/vox/suits.dmi and b/icons/obj/clothing/species/vox/suits.dmi differ
diff --git a/icons/obj/clothing/ties.dmi b/icons/obj/clothing/ties.dmi
index 2aa2e822c89..3adab0f88e4 100644
Binary files a/icons/obj/clothing/ties.dmi and b/icons/obj/clothing/ties.dmi differ
diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi
index 6bf741b8afd..09fb9b6b7aa 100644
Binary files a/icons/obj/gun.dmi and b/icons/obj/gun.dmi differ
diff --git a/icons/obj/projectiles.dmi b/icons/obj/projectiles.dmi
index a01b88cfb2d..de97f6cf49f 100644
Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ
diff --git a/icons/obj/rig_modules.dmi b/icons/obj/rig_modules.dmi
index e179a67f4ac..970d2f8a425 100644
Binary files a/icons/obj/rig_modules.dmi and b/icons/obj/rig_modules.dmi differ
diff --git a/polaris.dme b/polaris.dme
index c05f4a6db31..f2b31306a10 100644
--- a/polaris.dme
+++ b/polaris.dme
@@ -1820,10 +1820,10 @@
#include "code\modules\projectiles\projectile.dm"
#include "code\modules\projectiles\ammunition\boxes.dm"
#include "code\modules\projectiles\ammunition\bullets.dm"
-#include "code\modules\projectiles\guns\alien.dm"
#include "code\modules\projectiles\guns\energy.dm"
#include "code\modules\projectiles\guns\launcher.dm"
#include "code\modules\projectiles\guns\projectile.dm"
+#include "code\modules\projectiles\guns\vox.dm"
#include "code\modules\projectiles\guns\energy\laser.dm"
#include "code\modules\projectiles\guns\energy\nuclear.dm"
#include "code\modules\projectiles\guns\energy\pulse.dm"