diff --git a/code/game/objects/items/weapons/dnascrambler.dm b/code/game/objects/items/weapons/dnascrambler.dm
index 3b65e921e60..07277512f97 100644
--- a/code/game/objects/items/weapons/dnascrambler.dm
+++ b/code/game/objects/items/weapons/dnascrambler.dm
@@ -4,44 +4,34 @@
icon = 'icons/obj/syringe.dmi'
item_state = "syringe_0"
icon_state = "b10"
- var/used = null
- update_icon()
- if(used)
- icon_state = "b0"
+/obj/item/weapon/dnascrambler/attack(var/mob/living/carbon/human/M, var/mob/living/carbon/human/user)
+ if(!istype(M) || !istype(user))
+ return
+
+ if(M == user)
+ user.visible_message("\The [user] injects \himself with [src]!")
+ src.injected(user,user)
+ else
+ user.visible_message("\The [user] is trying to inject \the [M] with [src]!")
+ if (do_mob(user,M,30))
+ user.visible_message("\The [user] injects \the [M] with [src].")
+ src.injected(M, user)
else
- icon_state = "b10"
+ to_chat(user, "You fail to inject \the [M].")
- attack(mob/M as mob, mob/user as mob)
- if(!M || !user)
- return
+/obj/item/weapon/dnascrambler/proc/injected(var/mob/living/carbon/target, var/mob/living/carbon/user)
+ target.generate_name()
- if(!ishuman(M) || !ishuman(user))
- return
+ scramble(1, target, 100)
- if(src.used)
- return
+ log_attack("[key_name(user)] injected [key_name(target)] with \the [src]")
+ log_game("[key_name_admin(user)] injected [key_name_admin(target)] with \the [src]")
- if(M == user)
- user.visible_message("[user.name] injects \himself with [src]!")
- src.injected(user,user)
- else
- user.visible_message("[user.name] is trying to inject [M.name] with [src]!")
- if (do_mob(user,M,30))
- user.visible_message("[user.name] injects [M.name] with [src].")
- src.injected(M, user)
- else
- to_chat(user, "You failed to inject [M.name].")
+ user.drop_item(src, force_drop = 1)
+ //We don't want to leave an obvious "used dna scrambler" behind, let's just create a harmless syringe.
+ var/obj/item/weapon/reagent_containers/syringe/spent = new(get_turf(user))
+ transfer_fingerprints(src, spent)
+ user.put_in_hands(spent)
- proc/injected(var/mob/living/carbon/target, var/mob/living/carbon/user)
- target.generate_name()
- target.real_name = target.name
-
- scramble(1, target, 100)
-
- log_attack("[key_name(user)] injected [key_name(target)] with the [name]")
- log_game("[key_name_admin(user)] injected [key_name_admin(target)] with the [name]")
-
- src.used = 1
- src.update_icon()
- src.name = "used " + src.name
\ No newline at end of file
+ qdel(src)