Files
39a0bcd60e Encode changes (#18052)
* change encode

* guhh

* .

* .

* .

* Update code/game/antagonist/antagonist_objectives.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/clothing/spacesuits/rig/modules/specific/voice.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/news/new_newspaper.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/admin/DB ban/functions.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/tgui/modules/communications.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

* Update code/modules/mob/living/carbon/human/human.dm

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>

---------

Co-authored-by: Selis <12716288+ItsSelis@users.noreply.github.com>
2025-08-05 00:19:22 +02:00

66 lines
1.6 KiB
Plaintext

/mob/living/carbon/alien/verb/evolve()
set name = "Evolve"
set desc = "Evolve into your adult form."
set category = "Abilities.General"
if(stat != CONSCIOUS)
return
if(!adult_form)
remove_verb(src, /mob/living/carbon/alien/verb/evolve)
return
if(handcuffed || legcuffed)
to_chat(src, span_red("You cannot evolve when you are cuffed."))
return
if(amount_grown < max_grown)
to_chat(src, span_red("You are not fully grown."))
return
// confirm_evolution() handles choices and other specific requirements.
var/new_species = confirm_evolution()
if(!new_species || !adult_form )
return
var/mob/living/carbon/human/adult = new adult_form(get_turf(src))
adult.set_species(new_species)
show_evolution_blurb()
transfer_languages(src, adult)
if(src.faction != "neutral")
adult.faction = src.faction
if(mind)
mind.transfer_to(adult)
if (can_namepick_as_adult)
var/newname = tgui_input_text(adult, "You have become an adult. Choose a name for yourself.", "Adult Name", null, MAX_NAME_LEN)
if(!newname)
adult.fully_replace_character_name(name, "[src.adult_name] ([instance_num])")
else
adult.fully_replace_character_name(name, newname)
else
adult.key = src.key
for (var/obj/item/W in src.contents)
src.drop_from_inventory(W)
for(var/datum/language/L in languages)
adult.add_language(L.name)
qdel(src)
/mob/living/carbon/alien/proc/update_progression()
if(amount_grown < max_grown)
amount_grown++
return
/mob/living/carbon/alien/proc/confirm_evolution()
return
/mob/living/carbon/alien/proc/show_evolution_blurb()
return