mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-31 07:57:47 +01:00
Merge pull request #16613 from Qwertytoforty/transforming-views
Removes transformation sting
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user