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_sting | The current sting power the changeling has active. |
dna_max | How many total DNA strands the changeling can store for transformation. |
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. |
protected_dna | List of /datum/dna which are not lost when the changeling has no more room for DNA. |
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. |
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. |
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_power | Gives the changeling the passed in power . Subtracts the cost of the power from our genetic points. |
remove_changeling_powers | Removes a changeling's abilities. |
remove_specific_power | Removes all power_type abilities that the changeling has. Refunds the cost of the power from our genetic points. |
remove_unnatural_languages | Removes all the languages the mob L 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_sting
The current sting power the changeling has active.
dna_max
How many total DNA strands the changeling can store for transformation.
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.
protected_dna
List of /datum/dna which are not lost when the changeling has no more room for DNA.
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.
Proc Details
absorb_dna
Absorb the the target's DNA and their languages.
Arguments:
- mob/living/carbon/C - 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
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_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
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_specific_power
Removes all power_type
abilities that the changeling has. Refunds the cost of the power from our genetic points.
Arugments:
- datum/action/changeling/power - the typepath power to remove from the changeling.
- refund_cost - if we should refund genetic points when giving the power
remove_unnatural_languages
Removes all the languages the mob L
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/L - 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.