Merge pull request #16613 from Qwertytoforty/transforming-views

Removes transformation sting
This commit is contained in:
variableundefined
2021-09-06 21:40:06 -05:00
committed by GitHub
5 changed files with 3 additions and 58 deletions
-1
View File
@@ -74,7 +74,6 @@
//Species traits.
#define NO_BLOOD "no_blood"
#define NOTRANSSTING "no_trans_sting"
#define IS_WHITELISTED "whitelisted"
#define LIPS "lips"
#define EXOTIC_COLOR "exotic_blood_color"
@@ -66,60 +66,6 @@
add_attack_logs(user, target, "Unsuccessful sting (changeling)")
return 1
/datum/action/changeling/sting/transformation
name = "Transformation Sting"
desc = "We silently sting a human, injecting a retrovirus that forces them to transform. Costs 50 chemicals."
helptext = "The victim will transform much like a changeling would. The effects will be obvious to the victim, and the process will damage our genomes."
button_icon_state = "sting_transform"
sting_icon = "sting_transform"
chemical_cost = 50
dna_cost = 3
genetic_damage = 100
var/datum/dna/selected_dna = null
/datum/action/changeling/sting/transformation/Trigger()
var/mob/user = usr
var/datum/changeling/changeling = user.mind.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.species.species_traits) || selected_dna.species.is_small)
to_chat(user, "<span class='warning'>The selected DNA is incompatible with our sting.</span>")
return
..()
/datum/action/changeling/sting/transformation/can_sting(mob/user, mob/target)
if(!..())
return
if(HAS_TRAIT(target, TRAIT_HUSK) || !ishuman(target) || (NOTRANSSTING in target.dna.species.species_traits))
to_chat(user, "<span class='warning'>Our sting appears ineffective against its DNA.</span>")
return FALSE
if(ishuman(target))
var/mob/living/carbon/human/H = target
if(HAS_TRAIT(H, TRAIT_GENELESS))
to_chat(user, "<span class='warning'>This won't work on a creature without DNA.</span>")
return FALSE
return TRUE
/datum/action/changeling/sting/transformation/sting_action(mob/user, mob/target)
add_attack_logs(user, target, "Transformation sting (changeling) (new identity is [selected_dna.real_name])")
if(issmall(target))
to_chat(user, "<span class='notice'>Our genes cry out as we sting [target.name]!</span>")
if(iscarbon(target) && (target.status_flags & CANWEAKEN))
var/mob/living/carbon/C = target
C.do_jitter_animation(500)
target.visible_message("<span class='danger'>[target] begins to violenty convulse!</span>","<span class='userdanger'>You feel a tiny prick and a begin to uncontrollably convulse!</span>")
spawn(10)
transform_dna(target,selected_dna)//target is always human so no problem here
SSblackbox.record_feedback("nested tally", "changeling_powers", 1, list("[name]"))
return TRUE
/datum/action/changeling/sting/extract_dna
name = "Extract DNA Sting"
desc = "We stealthily sting a target and extract their DNA. Costs 25 chemicals."
@@ -21,7 +21,7 @@
death_message = "gives a short series of shrill beeps, their chassis shuddering before falling limp, nonfunctional."
death_sounds = list('sound/voice/borg_deathsound.ogg') //I've made this a list in the event we add more sounds for dead robots.
species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_CLONESCAN, NO_INTORGANS, NOTRANSSTING)
species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_CLONESCAN, NO_INTORGANS)
inherent_traits = list(TRAIT_VIRUSIMMUNE, TRAIT_NOBREATH, TRAIT_RADIMMUNE, TRAIT_NOGERMS, TRAIT_NODECAY, TRAIT_NOPAIN, TRAIT_GENELESS) //Computers that don't decay? What a lie!
inherent_biotypes = MOB_ROBOTIC | MOB_HUMANOID
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS
@@ -5,7 +5,7 @@
dangerous_existence = TRUE //So so much
//language = "Clatter"
species_traits = list(IS_WHITELISTED, NO_BLOOD, NOTRANSSTING, NO_HAIR)
species_traits = list(IS_WHITELISTED, NO_BLOOD, NO_HAIR)
inherent_traits = list(TRAIT_RADIMMUNE, TRAIT_NOHUNGER)
inherent_biotypes = MOB_HUMANOID | MOB_MINERAL
forced_heartattack = TRUE // Plasmamen have no blood, but they should still get heart-attacks
@@ -22,7 +22,7 @@
eyes = "vox_eyes_s"
species_traits = list(NO_CLONESCAN, IS_WHITELISTED, NOTRANSSTING)
species_traits = list(NO_CLONESCAN, IS_WHITELISTED)
inherent_traits = list(TRAIT_NOGERMS, TRAIT_NODECAY)
clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS //Species-fitted 'em all.
dietflags = DIET_OMNI