diff --git a/code/game/gamemodes/changeling/powers/tiny_prick.dm b/code/game/gamemodes/changeling/powers/tiny_prick.dm
index abc8dfbff8d..504f90b2756 100644
--- a/code/game/gamemodes/changeling/powers/tiny_prick.dm
+++ b/code/game/gamemodes/changeling/powers/tiny_prick.dm
@@ -88,6 +88,11 @@
if((HUSK in target.mutations) || (!ishuman(target)))
to_chat(user, "Our sting appears ineffective against its DNA.")
return FALSE
+ if(selected_dna)
+ var/datum/species/newspecies = all_species[selected_dna.species]
+ if((newspecies.flags & NOTRANSSTING) || newspecies.is_small)
+ to_chat(user, "The selected DNA is incompatible with our sting.")
+ return FALSE
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(H.species.flags & NO_DNA)
@@ -97,10 +102,6 @@
/obj/effect/proc_holder/changeling/sting/transformation/sting_action(var/mob/user, var/mob/target)
add_logs(user, target, "stung", object="transformation sting", addition=" new identity is [selected_dna.real_name]")
- var/datum/species/newspecies = all_species[selected_dna.species]
- if(newspecies.flags & NOTRANSSTING)
- to_chat(user, "The selected DNA is incompatible with our sting.")
- return FALSE
var/datum/dna/NewDNA = selected_dna
if(issmall(target))
to_chat(user, "Our genes cry out as we sting [target.name]!")
diff --git a/code/game/gamemodes/objective.dm b/code/game/gamemodes/objective.dm
index 07836c824d7..54928483b5f 100644
--- a/code/game/gamemodes/objective.dm
+++ b/code/game/gamemodes/objective.dm
@@ -293,11 +293,11 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) \
var/target_real_name // Has to be stored because the target's real_name can change over the course of the round
/datum/objective/escape/escape_with_identity/find_target()
- var/list/possible_targets = list() //Copypasta because NO_SCAN races, yay for snowflakes.
+ var/list/possible_targets = list() //Copypasta because NO_DNA races, yay for snowflakes.
for(var/datum/mind/possible_target in ticker.minds)
if(possible_target != owner && ishuman(possible_target.current) && (possible_target.current.stat != DEAD) && possible_target.current.client)
var/mob/living/carbon/human/H = possible_target.current
- if(!(H.species.flags & NO_SCAN))
+ if(!(H.species.flags & NO_DNA))
possible_targets += possible_target
if(possible_targets.len > 0)
target = pick(possible_targets)
@@ -453,12 +453,12 @@ var/list/potential_theft_objectives = subtypesof(/datum/theft_objective) \
if(ticker.current_state == GAME_STATE_SETTING_UP)
for(var/mob/new_player/P in player_list)
if(P.client && P.ready && P.mind != owner)
- if(P.client.prefs && (P.client.prefs.species == "Vox" || P.client.prefs.species == "Slime People" || P.client.prefs.species == "Machine")) // Special check for species that can't be absorbed. No better solution.
+ if(P.client.prefs && (P.client.prefs.species == "Machine")) // Special check for species that can't be absorbed. No better solution.
continue
n_p++
else if(ticker.current_state == GAME_STATE_PLAYING)
for(var/mob/living/carbon/human/P in player_list)
- if(P.species.flags & NO_SCAN)
+ if(P.species.flags & NO_DNA)
continue
if(P.client && !(P.mind in ticker.mode.changelings) && P.mind!=owner)
n_p++
diff --git a/icons/mob/screen_gen.dmi b/icons/mob/screen_gen.dmi
index 1957a0aa1e0..54d39e581db 100644
Binary files a/icons/mob/screen_gen.dmi and b/icons/mob/screen_gen.dmi differ