changeling 
Vars | |
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. |
Procs | |
absorb_dna | Absorb the the target's DNA and their languages. |
add_new_languages | Store the languages from the new_languages list into the absorbed_languages list. Teaches the changeling the new languages. |
calculate_stasis_delay | Additional stasis delay from different sources. |
can_absorb_dna | Returns TRUE if the changeling can absorb the target mob's DNA. |
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. |
get_powers_of_type | Gets a list of changeling action typepaths based on the passed in power_type . |
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. |
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. |
remove_unnatural_languages | Removes all the languages the mob user has absorbed throughout their life as a changeling and should no longer have. |
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. |
store_dna | Store the target DNA. If the DNA belongs to one of the changeling's "escape with identity" objectives, make the DNA protected. |
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. |
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:
- mob/living/carbon/user - the mob to absorb DNA from
add_new_languages
Store the languages from the new_languages
list into the absorbed_languages
list. Teaches the changeling the new languages.
Arguments:
- list/new_languages - a list of /datum/language to be added
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:
- mob/living/carbon/target - the mob's DNA we're trying to absorb
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:
- datum/dna/tDNA - a reference to a DNA datum that we want to find
get_powers_of_type
Gets a list of changeling action typepaths based on the passed in power_type
.
Arguments:
- power_type - should be a define related to /datum/action/changeling/var/power_type.
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:
- datum/action/changeling/power - the power to give to the changeling.
- mob/living/changeling - the changeling who owns this datum. Optional argument.
- take_cost - if we should spend genetic points when giving the power
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:
- keep_innate_powers - set to TRUE if changeling actions with a
power_type
ofCHANGELING_INNATE_POWER
should be kept.
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:
- mob/living/user - the changeling mob to remove languages from
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:
- message - the message of the
input()
window - title - the title of the
input()
window - not_in_bank - if we should filter out DNA that's already in the hivemind bank
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:
- datum/dna/new_dna - the DNA to store
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.