mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-21 19:17:50 +01:00
edited absorb + identity objectives, added sting icons
This commit is contained in:
@@ -88,6 +88,11 @@
|
||||
if((HUSK in target.mutations) || (!ishuman(target)))
|
||||
to_chat(user, "<span class='warning'>Our sting appears ineffective against its DNA.</span>")
|
||||
return FALSE
|
||||
if(selected_dna)
|
||||
var/datum/species/newspecies = all_species[selected_dna.species]
|
||||
if((newspecies.flags & NOTRANSSTING) || newspecies.is_small)
|
||||
to_chat(user, "<span class='warning'>The selected DNA is incompatible with our sting.</span>")
|
||||
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, "<span class='warning'>The selected DNA is incompatible with our sting.</span>")
|
||||
return FALSE
|
||||
var/datum/dna/NewDNA = selected_dna
|
||||
if(issmall(target))
|
||||
to_chat(user, "<span class='notice'>Our genes cry out as we sting [target.name]!</span>")
|
||||
|
||||
@@ -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++
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 128 KiB After Width: | Height: | Size: 130 KiB |
Reference in New Issue
Block a user