diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm
index b41c1b090b..41e8c9a53d 100644
--- a/code/modules/projectiles/guns/energy/stun.dm
+++ b/code/modules/projectiles/guns/energy/stun.dm
@@ -55,3 +55,14 @@
force = 10
matter = list(DEFAULT_WALL_MATERIAL = 200000)
projectile_type = /obj/item/projectile/energy/bolt/large
+
+/obj/item/weapon/gun/energy/plasmastun
+ name = "plasma pulse projector"
+ desc = "The Mars Military Industries MA21 Selkie is a weapon that uses a laser pulse to ionise the local atmosphere, creating a disorienting pulse of plasma and deafening shockwave as the wave expands."
+ icon_state = "plasma_stun"
+ item_state = "plasma_stun"
+ fire_sound = 'sound/weapons/blaster.ogg'
+ origin_tech = list(TECH_COMBAT = 2, TECH_MATERIAL = 2, TECH_POWER = 3)
+ fire_delay = 20
+ charge_cost = 600
+ projectile_type = /obj/item/projectile/energy/plasmastun
\ No newline at end of file
diff --git a/code/modules/projectiles/projectile/energy.dm b/code/modules/projectiles/projectile/energy.dm
index 0d9d4ef5fa..97b40c07f1 100644
--- a/code/modules/projectiles/projectile/energy.dm
+++ b/code/modules/projectiles/projectile/energy.dm
@@ -133,3 +133,50 @@
light_range = 2
light_power = 0.5
light_color = "#33CC00"
+
+/obj/item/projectile/energy/plasmastun
+ name = "plasma pulse"
+ icon_state = "plasma_stun"
+ armor_penetration = 10
+ kill_count = 4
+ damage = 5
+ agony = 70
+ damage_type = BURN
+// vacuum_traversal = 0 //Projectile disappears in empty space, TODO: Implement this
+
+/obj/item/projectile/energy/plasmastun/proc/bang(var/mob/living/carbon/M)
+
+ to_chat(M, "You hear a loud roar.")
+ playsound(M.loc, 'sound/effects/bang.ogg', 50, 1)
+ var/ear_safety = 0
+ var/mob/living/carbon/human/H = M
+ if(iscarbon(M))
+ if(ishuman(M))
+ if(istype(H.l_ear, /obj/item/clothing/ears/earmuffs) || istype(H.r_ear, /obj/item/clothing/ears/earmuffs))
+ ear_safety += 2
+ if(HULK in M.mutations)
+ ear_safety += 1
+ if(istype(H.head, /obj/item/clothing/head/helmet))
+ ear_safety += 1
+ if(ear_safety == 1)
+ M.Weaken(2)
+ else if (ear_safety > 1)
+ M.Weaken(1)
+ else if (!ear_safety)
+ M.Stun(10)
+ M.Weaken(3)
+ M.ear_damage += rand(1, 10)
+ M.ear_deaf = max(M.ear_deaf,15)
+ if (M.ear_damage >= 15)
+ to_chat(M, "Your ears start to ring badly!")
+ 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/plasmastun/on_hit(var/atom/target)
+ bang(target)
+ . = ..()
\ No newline at end of file
diff --git a/icons/obj/gun.dmi b/icons/obj/gun.dmi
index 996ab9699d..6bf741b8af 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 2e254cc5cb..522d540bdb 100644
Binary files a/icons/obj/projectiles.dmi and b/icons/obj/projectiles.dmi differ