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