Space Station 13 - Modules - TypesVar Details - Proc Details

changeling

Vars

absorbed_countNumber of victims the changeling has absorbed.
absorbed_dnaList of /datum/dna which have been absorbed through the DNA sting or absorb power.
absorbed_languagesList of /datum/language UIDs, learned from absorbed victims.
acquired_powersA list of instanced /datum/action/changeling the changeling has aquired.
can_respecIf the changeling can respec their purchased abilities.
changelingIDThe changeling's identifier when speaking in the hivemind, i.e. "Mr. Delta 123".
chem_chargesThe current amount of chemicals the changeling has stored.
chem_recharge_rateThe amount of chemicals that recharges per Life() call.
chem_recharge_slowdownAmount of chemical recharge slowdown, calculated as chem_recharge_rate - chem_recharge_slowdown
chem_storageThe total amount of chemicals able to be stored.
chosen_dnaCurrently chosen DNA
chosen_stingThe current sting power the changeling has active.
dna_maxHow many total DNA strands the changeling can store for transformation.
eventedSpawned by headslug event
fakedeath_delayThis variable is applied to default LING_FAKEDEATH_TIME
genetic_damageThe current amount of genetic damage incurred from power use.
genetic_pointsThe amount of points available to purchase changeling abilities.
innate_powersA list of /datum/action/changeling typepaths with a power_type of CHANGELING_INNATE_POWER.
is_absorbingIf the changeling is in the process of absorbing someone.
is_linkingIf the changeling is in the process of linking with someone.
mimickingA name that will display in place of the changeling's real name when speaking.
oncepopedCheck for event headslugs not to do start things in the time of popping after first pop
protected_dnaDNA that is not lost when capacity is otherwise full.
purchaseable_powersA list of /datum/action/changeling typepaths with a power_type of CHANGELING_PURCHASABLE_POWER.
regeneratingIf the changeling is in the process of regenerating from their fake death.
sting_rangeThe range of changeling stings.
tts_mimickingTTS seed used in mimic voice ability.

Procs

absorb_dnaAbsorb the the target's DNA and their languages.
add_new_languagesStore the languages from the new_languages list into the absorbed_languages list. Teaches the changeling the new languages.
calculate_stasis_delayAdditional stasis delay from different sources.
can_absorb_dnaReturns TRUE if the changeling can absorb the target mob's DNA.
get_dnaGets a /datum/dna that matches the passed in tDNA. Also used as a check to see if the changeling has this DNA already stored.
get_powers_of_typeGets a list of changeling action typepaths based on the passed in power_type.
give_objectivesOBJECTIVES - Always absorb 5 genomes, plus random traitor objectives. If they have two objectives as well as absorb, they must survive rather than escape. No escape alone because changelings aren't suited for it and it'd probably just lead to rampant robusting. If it seems like they'd be able to do it in play, add a 10% chance to have to escape alone.
give_powerGives the changeling the passed in power. Subtracts the cost of the power from our genetic points.
has_stingTakes path or action datum and checks if it presents on changeling powers.
on_click_stingSignal proc for COMSIG_MOB_MIDDLECLICKON(not yet) and COMSIG_MOB_ALTCLICKON. Allows the changeling to sting people with a click.
remove_changeling_powersRemoves a changeling's abilities.
remove_unnatural_languagesRemoves all the languages the mob user has absorbed throughout their life as a changeling and should no longer have.
respecResets a changeling to the point they were when they first became a changeling, i.e no genetic points to spend, no non-innate powers, etc.
select_dnaPrompt the changeling with a list of names associated with their stored DNA. Return a /datum/dna based on the name chosen.
store_dnaStore the target DNA. If the DNA belongs to one of the changeling's "escape with identity" objectives, make the DNA protected.
trim_dnaClears the most "stale" DNA from the absorbed_dna list.
try_respecRespec the changeling's powers after first checking if they're able to respec.
update_languagesTeach the changeling every language in the absorbed_language list. Already known languages will be ignored.
using_stale_dnaDetermines if the changeling's current DNA is stale.

Var Details

absorbed_count

Number of victims the changeling has absorbed.

absorbed_dna

List of /datum/dna which have been absorbed through the DNA sting or absorb power.

absorbed_languages

List of /datum/language UIDs, learned from absorbed victims.

acquired_powers

A list of instanced /datum/action/changeling the changeling has aquired.

can_respec

If the changeling can respec their purchased abilities.

changelingID

The changeling's identifier when speaking in the hivemind, i.e. "Mr. Delta 123".

chem_charges

The current amount of chemicals the changeling has stored.

chem_recharge_rate

The amount of chemicals that recharges per Life() call.

chem_recharge_slowdown

Amount of chemical recharge slowdown, calculated as chem_recharge_rate - chem_recharge_slowdown

chem_storage

The total amount of chemicals able to be stored.

chosen_dna

Currently chosen DNA

chosen_sting

The current sting power the changeling has active.

dna_max

How many total DNA strands the changeling can store for transformation.

evented

Spawned by headslug event

fakedeath_delay

This variable is applied to default LING_FAKEDEATH_TIME

genetic_damage

The current amount of genetic damage incurred from power use.

genetic_points

The amount of points available to purchase changeling abilities.

innate_powers

A list of /datum/action/changeling typepaths with a power_type of CHANGELING_INNATE_POWER.

is_absorbing

If the changeling is in the process of absorbing someone.

is_linking

If the changeling is in the process of linking with someone.

mimicking

A name that will display in place of the changeling's real name when speaking.

oncepoped

Check for event headslugs not to do start things in the time of popping after first pop

protected_dna

DNA that is not lost when capacity is otherwise full.

purchaseable_powers

A list of /datum/action/changeling typepaths with a power_type of CHANGELING_PURCHASABLE_POWER.

regenerating

If the changeling is in the process of regenerating from their fake death.

sting_range

The range of changeling stings.

tts_mimicking

TTS seed used in mimic voice ability.

Proc Details

absorb_dna

Absorb the the target's DNA and their languages.

Arguments:

add_new_languages

Store the languages from the new_languages list into the absorbed_languages list. Teaches the changeling the new languages.

Arguments:

calculate_stasis_delay

Additional stasis delay from different sources.

can_absorb_dna

Returns TRUE if the changeling can absorb the target mob's DNA.

Arguments:

get_dna

Gets a /datum/dna that matches the passed in tDNA. Also used as a check to see if the changeling has this DNA already stored.

Arguments:

get_powers_of_type

Gets a list of changeling action typepaths based on the passed in power_type.

Arguments:

give_objectives

OBJECTIVES - Always absorb 5 genomes, plus random traitor objectives. If they have two objectives as well as absorb, they must survive rather than escape. No escape alone because changelings aren't suited for it and it'd probably just lead to rampant robusting. If it seems like they'd be able to do it in play, add a 10% chance to have to escape alone.

give_power

Gives the changeling the passed in power. Subtracts the cost of the power from our genetic points.

Arugments:

has_sting

Takes path or action datum and checks if it presents on changeling powers.

on_click_sting

Signal proc for COMSIG_MOB_MIDDLECLICKON(not yet) and COMSIG_MOB_ALTCLICKON. Allows the changeling to sting people with a click.

remove_changeling_powers

Removes a changeling's abilities.

Arguments:

remove_unnatural_languages

Removes all the languages the mob user has absorbed throughout their life as a changeling and should no longer have.

Ignores languages the player has chosen from character creation, and species languages from the changeling mob's current species.

Arguments:

respec

Resets a changeling to the point they were when they first became a changeling, i.e no genetic points to spend, no non-innate powers, etc.

select_dna

Prompt the changeling with a list of names associated with their stored DNA. Return a /datum/dna based on the name chosen.

Arguments:

store_dna

Store the target DNA. If the DNA belongs to one of the changeling's "escape with identity" objectives, make the DNA protected.

Arguments:

trim_dna

Clears the most "stale" DNA from the absorbed_dna list.

try_respec

Respec the changeling's powers after first checking if they're able to respec.

update_languages

Teach the changeling every language in the absorbed_language list. Already known languages will be ignored.

using_stale_dna

Determines if the changeling's current DNA is stale.