mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-01 21:21:59 +00:00
* Adds the check components * Adds in trailing newlines * Converts all CRLF to LF * Post merge EOF * Post merge line endings * Final commit
36 lines
1.0 KiB
Plaintext
36 lines
1.0 KiB
Plaintext
/datum/action/changeling/transform
|
|
name = "Transform"
|
|
desc = "We take on the appearance and voice of one we have absorbed. Costs 5 chemicals."
|
|
button_icon_state = "transform"
|
|
chemical_cost = 5
|
|
dna_cost = 0
|
|
req_dna = 1
|
|
req_human = 1
|
|
max_genetic_damage = 3
|
|
|
|
//Change our DNA to that of somebody we've absorbed.
|
|
/datum/action/changeling/transform/sting_action(var/mob/living/carbon/human/user)
|
|
var/datum/changeling/changeling = user.mind.changeling
|
|
var/datum/dna/chosen_dna = changeling.select_dna("Select the target DNA: ", "Target DNA")
|
|
|
|
if(!chosen_dna)
|
|
return
|
|
|
|
transform_dna(user,chosen_dna)
|
|
|
|
user.changeling_update_languages(changeling.absorbed_languages)
|
|
|
|
feedback_add_details("changeling_powers","TR")
|
|
return 1
|
|
|
|
/datum/changeling/proc/select_dna(var/prompt, var/title)
|
|
var/list/names = list()
|
|
for(var/datum/dna/DNA in (absorbed_dna+protected_dna))
|
|
names += "[DNA.real_name]"
|
|
|
|
var/chosen_name = input(prompt, title, null) as null|anything in names
|
|
if(!chosen_name)
|
|
return
|
|
var/datum/dna/chosen_dna = GetDNA(chosen_name)
|
|
return chosen_dna
|