diff --git a/code/modules/antagonists/changeling/powers/tiny_prick.dm b/code/modules/antagonists/changeling/powers/tiny_prick.dm
index 5c3ea52952..6e9d7b6d4c 100644
--- a/code/modules/antagonists/changeling/powers/tiny_prick.dm
+++ b/code/modules/antagonists/changeling/powers/tiny_prick.dm
@@ -1,3 +1,4 @@
+<<<<<<< HEAD
/obj/effect/proc_holder/changeling/sting
name = "Tiny Prick"
desc = "Stabby stabby."
@@ -244,3 +245,248 @@
if(target.reagents)
target.reagents.add_reagent("frostoil", 30)
return TRUE
+=======
+/obj/effect/proc_holder/changeling/sting
+ name = "Tiny Prick"
+ desc = "Stabby stabby."
+ var/sting_icon = null
+
+/obj/effect/proc_holder/changeling/sting/Click()
+ var/mob/user = usr
+ if(!user || !user.mind)
+ return
+ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
+ if(!changeling)
+ return
+ if(!changeling.chosen_sting)
+ set_sting(user)
+ else
+ unset_sting(user)
+ return
+
+/obj/effect/proc_holder/changeling/sting/proc/set_sting(mob/user)
+ to_chat(user, "We prepare our sting, use alt+click or middle mouse button on target to sting them.")
+ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
+ changeling.chosen_sting = src
+
+ user.hud_used.lingstingdisplay.icon_state = sting_icon
+ user.hud_used.lingstingdisplay.invisibility = 0
+
+/obj/effect/proc_holder/changeling/sting/proc/unset_sting(mob/user)
+ to_chat(user, "We retract our sting, we can't sting anyone for now.")
+ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
+ changeling.chosen_sting = null
+
+ user.hud_used.lingstingdisplay.icon_state = null
+ user.hud_used.lingstingdisplay.invisibility = INVISIBILITY_ABSTRACT
+
+/mob/living/carbon/proc/unset_sting()
+ if(mind)
+ var/datum/antagonist/changeling/changeling = mind.has_antag_datum(/datum/antagonist/changeling)
+ if(changeling && changeling.chosen_sting)
+ changeling.chosen_sting.unset_sting(src)
+
+/obj/effect/proc_holder/changeling/sting/can_sting(mob/user, mob/target)
+ if(!..())
+ return
+ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
+ if(!changeling.chosen_sting)
+ to_chat(user, "We haven't prepared our sting yet!")
+ if(!iscarbon(target))
+ return
+ if(!isturf(user.loc))
+ return
+ if(!AStar(user, target.loc, /turf/proc/Distance, changeling.sting_range, simulated_only = 0))
+ return
+ return 1
+
+/obj/effect/proc_holder/changeling/sting/sting_feedback(mob/user, mob/target)
+ if(!target)
+ return
+ to_chat(user, "We stealthily sting [target.name].")
+ if(target.mind && target.mind.has_antag_datum(/datum/antagonist/changeling))
+ to_chat(target, "You feel a tiny prick.")
+ return 1
+
+
+/obj/effect/proc_holder/changeling/sting/transformation
+ name = "Transformation Sting"
+ desc = "We silently sting a human, injecting a retrovirus that forces them to transform."
+ helptext = "The victim will transform much like a changeling would. Does not provide a warning to others. Mutations will not be transferred, and monkeys will become human."
+ sting_icon = "sting_transform"
+ chemical_cost = 50
+ dna_cost = 3
+ var/datum/changelingprofile/selected_dna = null
+
+/obj/effect/proc_holder/changeling/sting/transformation/Click()
+ var/mob/user = usr
+ var/datum/antagonist/changeling/changeling = user.mind.has_antag_datum(/datum/antagonist/changeling)
+ if(changeling.chosen_sting)
+ unset_sting(user)
+ return
+ selected_dna = changeling.select_dna("Select the target DNA: ", "Target DNA")
+ if(!selected_dna)
+ return
+ if(NOTRANSSTING in selected_dna.dna.species.species_traits)
+ to_chat(user, "That DNA is not compatible with changeling retrovirus!")
+ return
+ ..()
+
+/obj/effect/proc_holder/changeling/sting/transformation/can_sting(mob/user, mob/living/carbon/target)
+ if(!..())
+ return
+ if((target.has_trait(TRAIT_HUSK)) || !iscarbon(target) || (NOTRANSSTING in target.dna.species.species_traits))
+ to_chat(user, "Our sting appears ineffective against its DNA.")
+ return 0
+ return 1
+
+/obj/effect/proc_holder/changeling/sting/transformation/sting_action(mob/user, mob/target)
+ add_logs(user, target, "stung", "transformation sting", " new identity is [selected_dna.dna.real_name]")
+ var/datum/dna/NewDNA = selected_dna.dna
+ if(ismonkey(target))
+ to_chat(user, "Our genes cry out as we sting [target.name]!")
+
+ var/mob/living/carbon/C = target
+ . = TRUE
+ if(istype(C))
+ C.real_name = NewDNA.real_name
+ NewDNA.transfer_identity(C)
+ if(ismonkey(C))
+ C.humanize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPORGANS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_DEFAULTMSG)
+ C.updateappearance(mutcolor_update=1)
+
+
+/obj/effect/proc_holder/changeling/sting/false_armblade
+ name = "False Armblade Sting"
+ desc = "We silently sting a human, injecting a retrovirus that mutates their arm to temporarily appear as an armblade."
+ helptext = "The victim will form an armblade much like a changeling would, except the armblade is dull and useless."
+ sting_icon = "sting_armblade"
+ chemical_cost = 20
+ dna_cost = 1
+
+/obj/item/melee/arm_blade/false
+ desc = "A grotesque mass of flesh that used to be your arm. Although it looks dangerous at first, you can tell it's actually quite dull and useless."
+ force = 5 //Basically as strong as a punch
+
+/obj/item/melee/arm_blade/false/afterattack(atom/target, mob/user, proximity)
+ return
+
+/obj/effect/proc_holder/changeling/sting/false_armblade/can_sting(mob/user, mob/target)
+ if(!..())
+ return
+ if(isliving(target))
+ var/mob/living/L = target
+ if((L.has_trait(TRAIT_HUSK)) || !L.has_dna())
+ to_chat(user, "Our sting appears ineffective against its DNA.")
+ return 0
+ return 1
+
+/obj/effect/proc_holder/changeling/sting/false_armblade/sting_action(mob/user, mob/target)
+ add_logs(user, target, "stung", object="falso armblade sting")
+
+ var/obj/item/held = target.get_active_held_item()
+ if(held && !target.dropItemToGround(held))
+ to_chat(user, "[held] is stuck to their hand, you cannot grow a false armblade over it!")
+ return
+
+ if(ismonkey(target))
+ to_chat(user, "Our genes cry out as we sting [target.name]!")
+
+ var/obj/item/melee/arm_blade/false/blade = new(target,1)
+ target.put_in_hands(blade)
+ target.visible_message("A grotesque blade forms around [target.name]\'s arm!", "Your arm twists and mutates, transforming into a horrific monstrosity!", "You hear organic matter ripping and tearing!")
+ playsound(target, 'sound/effects/blobattack.ogg', 30, 1)
+
+ addtimer(CALLBACK(src, .proc/remove_fake, target, blade), 600)
+ return TRUE
+
+/obj/effect/proc_holder/changeling/sting/false_armblade/proc/remove_fake(mob/target, obj/item/melee/arm_blade/false/blade)
+ playsound(target, 'sound/effects/blobattack.ogg', 30, 1)
+ target.visible_message("With a sickening crunch, \
+ [target] reforms their [blade.name] into an arm!",
+ "[blade] reforms back to normal.",
+ "Your eyes burn horrifically!")
+ target.become_nearsighted(EYE_DAMAGE)
+ target.blind_eyes(20)
+ target.blur_eyes(40)
+ return TRUE
+
+/obj/effect/proc_holder/changeling/sting/LSD
+ name = "Hallucination Sting"
+ desc = "Causes terror in the target."
+ helptext = "We evolve the ability to sting a target with a powerful hallucinogenic chemical. The target does not notice they have been stung, and the effect occurs after 30 to 60 seconds."
+ sting_icon = "sting_lsd"
+ chemical_cost = 10
+ dna_cost = 1
+
+/obj/effect/proc_holder/changeling/sting/LSD/sting_action(mob/user, mob/living/carbon/target)
+ add_logs(user, target, "stung", "LSD sting")
+ addtimer(CALLBACK(src, .proc/hallucination_time, target), rand(300,600))
+ return TRUE
+
+/obj/effect/proc_holder/changeling/sting/LSD/proc/hallucination_time(mob/living/carbon/target)
+ if(target)
+ target.hallucination = max(400, target.hallucination)
+
+/obj/effect/proc_holder/changeling/sting/cryo
+ name = "Cryogenic Sting"
+ desc = "We silently sting a human with a cocktail of chemicals that freeze them."
+ helptext = "Does not provide a warning to the victim, though they will likely realize they are suddenly freezing."
+ sting_icon = "sting_cryo"
+ chemical_cost = 15
+ dna_cost = 2
+
+/obj/effect/proc_holder/changeling/sting/cryo/sting_action(mob/user, mob/target)
+ add_logs(user, target, "stung", "cryo sting")
+ if(target.reagents)
+ target.reagents.add_reagent("frostoil", 30)
+ return TRUE
+>>>>>>> a9aa745... fixes #36813 (#37110)