diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm
index d7b6ef50879..0375b0e1894 100644
--- a/code/datums/uplink_item.dm
+++ b/code/datums/uplink_item.dm
@@ -353,6 +353,12 @@ var/list/uplink_items = list()
cost = 6
excludefrom = list(/datum/game_mode/nuclear)
+/datum/uplink_item/stealthy_weapons/edagger
+ name = "Energy Dagger"
+ desc = "A dagger made of energy that looks and functions as a pen when off."
+ item = /obj/item/weapon/pen/edagger
+ cost = 2
+
/datum/uplink_item/stealthy_weapons/foampistol
name = "Toy Gun (with Stun Darts)"
desc = "An innocent-looking toy pistol designed to fire foam darts. Comes loaded with riot-grade darts, to incapacitate a target."
diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm
index 6e0f9b5e979..219449f1228 100644
--- a/code/modules/paperwork/pen.dm
+++ b/code/modules/paperwork/pen.dm
@@ -3,6 +3,7 @@
* Pens
* Sleepy Pens
* Parapens
+ * Edaggers
*/
@@ -48,13 +49,17 @@
if(!istype(M))
return
- if(M.can_inject(user, 1))
- user << "You stab [M] with the pen."
- if(!stealth)
- M << "You feel a tiny prick!"
- . = 1
+ if(!force)
+ if(M.can_inject(user, 1))
+ user << "You stab [M] with the pen."
+ if(!stealth)
+ M << "You feel a tiny prick!"
+ . = 1
- add_logs(user, M, "stabbed", src)
+ add_logs(user, M, "stabbed", src)
+
+ else
+ . = ..()
/*
* Sleepypens
@@ -77,4 +82,43 @@
reagents.add_reagent("morphine", 20)
reagents.add_reagent("mutetoxin", 15)
reagents.add_reagent("tirizene", 10)
- ..()
+ ..()
+
+/*
+ * (Alan) Edaggers
+ */
+/obj/item/weapon/pen/edagger
+ origin_tech = "combat=3;syndicate=5"
+ attack_verb = list("slashed", "stabbed", "sliced", "torn", "ripped", "diced", "cut") //these wont show up if the pen is off
+ var/on = 0
+
+/obj/item/weapon/pen/edagger/attack_self(mob/living/user)
+ if(on)
+ on = 0
+ force = initial(force)
+ w_class = initial(w_class)
+ name = initial(name)
+ hitsound = initial(hitsound)
+ embed_chance = initial(embed_chance)
+ throwforce = initial(throwforce)
+ playsound(user, 'sound/weapons/saberoff.ogg', 5, 1)
+ user << "[src] can now be concealed."
+ else
+ on = 1
+ force = 18
+ w_class = 3
+ name = "energy dagger"
+ hitsound = 'sound/weapons/blade1.ogg'
+ embed_chance = 100 //rule of cool
+ throwforce = 35
+ playsound(user, 'sound/weapons/saberon.ogg', 5, 1)
+ user << "[src] is now active."
+ update_icon()
+
+/obj/item/weapon/pen/edagger/update_icon()
+ if(on)
+ icon_state = "edagger"
+ item_state = "edagger"
+ else
+ icon_state = initial(icon_state) //looks like a normal pen when off.
+ item_state = initial(item_state)
diff --git a/html/changelogs/Miauw-edaggers.yml b/html/changelogs/Miauw-edaggers.yml
new file mode 100644
index 00000000000..2de9a6f5b65
--- /dev/null
+++ b/html/changelogs/Miauw-edaggers.yml
@@ -0,0 +1,7 @@
+#working traitor items are power creep
+author: Miauw
+
+delete-after: True
+
+changes:
+ - tweak: "Edaggers actually work now and have been buffed to 18 brute and 2 TC."