/datum/species
BODYPARTS
Vars | |
acidmod | multiplier for acid damage // yogs - Old Plant People |
---|---|
action_speed_coefficient | base action speed coefficient |
aiminginaccuracy | values of inaccuracy that adds to the spread of any ranged weapon |
allow_numbers_in_name | Can this species use numbers in its name? |
armor | overall defense for the race... or less defense, if it's negative. |
attack_effect | The visual effect of the attack. |
attack_sound | the melee attack sound |
attack_type | Type of damage attack does |
attack_verbs | punch-specific attack verbs |
barefoot_step_sound | Barefoot step sound |
breathid | what type of gas is breathed |
brutemod | multiplier for brute damage |
bubble_icon | Special typing indicators |
burnmod | multiplier for burn damage |
changesource_flags | Bitflag that controls what in game ways can select this species as a spawnable source. Think magic mirror and pride mirror, slime extract, ERT etc, see defines in __DEFINES/mobs.dm, defaults to NONE, so people actually have to think about it |
clonemod | multiplier for cloneloss |
coldmod | multiplier for cold damage |
damage_overlay_type | what kind of damage overlays (if any) appear on our species when wounded? |
deathsound | used to set the mobs deathsound on species change |
default_color | if alien colors are disabled, this is the color that will be used by that race |
default_features | Default mutant bodyparts for this species. Don't forget to set one for every mutant bodypart you allow this species to have. |
disliked_food | What kind of foods the species dislikes! |
emp_mod | multiplier for EMP severity |
exotic_blood | If your race wants to bleed something other than bog standard blood, change this to reagent id. |
exotic_bloodtype | If your race uses a non standard bloodtype (A+, O-, AB-, etc) |
extra_no_equip | slots the race can't equip stuff to that have been added externally that should be inherited on species change |
fire_overlay | The icon_state of the fire overlay added when sufficently ablaze and standing. see onfire.dmi |
fixed_mut_color | to use MUTCOLOR with a fixed color that's independent of dna.feature["mcolor"] |
fly | the actual flying ability given to flying species |
flying_species | is a flying species, just a check for some things |
grab_sound | Special sound for grabbing |
grad_color | The gradient color used to color the gradient. |
grad_style | The gradient style used for the mob's hair. |
hair_alpha | the alpha used by the hair. 255 is completely solid, 0 is transparent. |
hair_color | this allows races to have specific hair colors... if null, it uses the H's hair/facial hair colors. if "mutcolor", it uses the H's mutant_color |
heatmod | multiplier for heat damage |
id | if the game needs to manually check your race to do something not included in a proc here, it will use this |
ignored_by | list of mobs that will ignore this species |
inert_mutation | special mutation that can be found in the genepool. Dont leave empty or changing species will be a headache |
inherent_biotypes | biotypes, used for viruses and the like |
inherent_traits | generic traits tied to having the species |
liked_food | What kind of foods the species loves |
limbs_id | this is used if you want to use a different species limb sprites. Mainly used for angels as they look like humans. |
meat | What the species drops on gibbing |
miss_sound | the swing and miss sound |
mutant_bodyparts | Visible CURRENT bodyparts that are unique to a species. DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK SHIT UP! Changes to this list for non-species specific bodyparts (ie cat ears and tails) should be assigned at organ level if possible. Layer hiding is handled by handle_mutant_bodyparts() below. |
mutant_organs | Internal organs that are unique to this race. |
mutantappendix | Replaces default appendix with a different organ. |
mutantbrain | Replaces default brain with a different organ |
mutantears | Replaces default ears with a different organ |
mutanteyes | Replaces default eyes with a different organ |
mutanthands | Forces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research. |
mutantheart | Replaces default heart with a different organ |
mutantliver | Replaces default liver with a different organ |
mutantlungs | Replaces default lungs with a different organ |
mutantstomach | Replaces default stomach with a different organ |
mutanttail | Forces a species tail |
mutanttongue | Replaces default tongue with a different organ |
name | this is the fluff name. these will be left generic (such as 'Lizardperson' for the lizard race) so servers can change them to whatever |
no_equip | slots the race can't equip stuff to |
nojumpsuit | this is sorta... weird. it basically lets you equip stuff that usually needs jumpsuits without one, like belts and pockets and ids |
offset_features | A list that contains pixel offsets for various clothing features, if your species is a different shape |
oxymod | multiplier for oxyloss |
plural_form | The formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. Ex "[Plasmamen] are weak", "[Mothmen] are strong", "[Lizardpeople] don't like", "[Golems] hate" |
possible_genders | What genders can this race be? |
pressuremod | multiplier for pressure damage |
prevent_perspective_change | Do we try to prevent reset_perspective() from working? Useful for Dullahans to stop perspective changes when they're looking through their head. |
punchdamagehigh | highest possible punch damage |
punchdamagelow | lowest possible punch damage. if this is set to 0, punches will always miss |
punchstunthreshold | damage at which punches from this race will stun //yes it should be to the attacked race but it's not useful that way even if it's logical |
rare_say_mod | Weighted list. NOTE: Picks one of the list component and then does a prob() on it, since we can't do a proper weighted pick, since we need to take into account the regular say_mod. |
say_mod | affects the speech message |
screamsound | yogs - audio of a species' scream |
siemens_coeff | base electrocution coefficient |
skinned_type | What, if any, leather will be dropped |
special_step_sounds | Sounds to override barefeet walking |
special_step_volume | How loud to play the step override |
special_walk_sounds | Sounds to play while walking regardless of wearing shoes |
species_gibs | What kind of gibs to spawn |
species_language_holder | Used if you want to give your species thier own language |
species_traits | species-only traits. Can be found in DNA.dm |
speedmod | this affects the race's speed. positive numbers make it move slower, negative numbers make it move faster |
staminamod | multiplier for stun duration |
stunmod | multiplier for stun duration |
tempmod | multiplier for temperature adjustment |
toxic_food | What kind of foods cause harm to the species |
toxmod | multiplier for toxloss |
use_damage_color | Does our species have colors for its' damage overlays? |
use_skintones | does it use skintones or not? (spoiler alert this is only used by humans) |
wings_icon | the icon used for the wings + details icon of a different source colour |
Procs | |
check_roundstart_eligible | Checks if a species is eligible to be picked at roundstart. |
create_pref_biotypes_perks | Adds adds any perks related to the species' inherent_biotypes flags. |
create_pref_blood_perks | Adds adds any perks related to the species' blood (or lack thereof). |
create_pref_combat_perks | Adds adds any perks related to combat. For example, the damage type of their punches. |
create_pref_damage_perks | Adds adds any perks related to sustaining damage. For example, brute damage vulnerability, or fire damage resistance. |
create_pref_language_perk | Adds in a language perk based on all the languages the species can speak by default (according to their language holder). |
create_pref_temperature_perks | Adds adds any perks related to how the species deals with temperature. |
create_pref_traits_perks | Adds adds any perks related to the species' inherent_traits list. |
create_pref_unique_perks | Used to add any species specific perks to the perk list. |
get_biological_state | The human species version of /mob/living/carbon/proc/get_biological_state. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds |
get_butt_sprite | Sprite to show for photocopying mob butts |
get_features | Returns a list of strings representing features this species has. Used by the preferences UI to know what buttons to show. |
get_species_description | Gets a short description for the specices. Should be relatively succinct. Used in the preference menu. |
get_species_diet | Translate the species liked foods from bitfields into strings and returns it in the form of an associated list. |
get_species_lore | Gets the lore behind the type of species. Can be long. Used in the preference menu. |
get_species_perks | Generates a list of "perks" related to this species (Postives, neutrals, and negatives) in the format of a list of lists. Used in the preference menu. |
prepare_human_for_preview | Given a human, will adjust it before taking a picture for the preferences UI. This should create a CONSISTENT result, so the icons don't randomly change. |
regenerate_organs | Corrects organs in a carbon, removing ones it doesn't need and adding ones it does. |
Var Details
acidmod
multiplier for acid damage // yogs - Old Plant People
action_speed_coefficient
base action speed coefficient
aiminginaccuracy
values of inaccuracy that adds to the spread of any ranged weapon
allow_numbers_in_name
Can this species use numbers in its name?
armor
overall defense for the race... or less defense, if it's negative.
attack_effect
The visual effect of the attack.
attack_sound
the melee attack sound
attack_type
Type of damage attack does
attack_verbs
punch-specific attack verbs
barefoot_step_sound
Barefoot step sound
breathid
what type of gas is breathed
brutemod
multiplier for brute damage
bubble_icon
Special typing indicators
burnmod
multiplier for burn damage
changesource_flags
Bitflag that controls what in game ways can select this species as a spawnable source. Think magic mirror and pride mirror, slime extract, ERT etc, see defines in __DEFINES/mobs.dm, defaults to NONE, so people actually have to think about it
clonemod
multiplier for cloneloss
coldmod
multiplier for cold damage
damage_overlay_type
what kind of damage overlays (if any) appear on our species when wounded?
deathsound
used to set the mobs deathsound on species change
default_color
if alien colors are disabled, this is the color that will be used by that race
default_features
Default mutant bodyparts for this species. Don't forget to set one for every mutant bodypart you allow this species to have.
disliked_food
What kind of foods the species dislikes!
emp_mod
multiplier for EMP severity
exotic_blood
If your race wants to bleed something other than bog standard blood, change this to reagent id.
exotic_bloodtype
If your race uses a non standard bloodtype (A+, O-, AB-, etc)
extra_no_equip
slots the race can't equip stuff to that have been added externally that should be inherited on species change
fire_overlay
The icon_state of the fire overlay added when sufficently ablaze and standing. see onfire.dmi
fixed_mut_color
to use MUTCOLOR with a fixed color that's independent of dna.feature["mcolor"]
fly
the actual flying ability given to flying species
flying_species
is a flying species, just a check for some things
grab_sound
Special sound for grabbing
grad_color
The gradient color used to color the gradient.
grad_style
The gradient style used for the mob's hair.
hair_alpha
the alpha used by the hair. 255 is completely solid, 0 is transparent.
hair_color
this allows races to have specific hair colors... if null, it uses the H's hair/facial hair colors. if "mutcolor", it uses the H's mutant_color
heatmod
multiplier for heat damage
id
if the game needs to manually check your race to do something not included in a proc here, it will use this
ignored_by
list of mobs that will ignore this species
inert_mutation
special mutation that can be found in the genepool. Dont leave empty or changing species will be a headache
inherent_biotypes
biotypes, used for viruses and the like
inherent_traits
generic traits tied to having the species
liked_food
What kind of foods the species loves
limbs_id
this is used if you want to use a different species limb sprites. Mainly used for angels as they look like humans.
meat
What the species drops on gibbing
miss_sound
the swing and miss sound
mutant_bodyparts
Visible CURRENT bodyparts that are unique to a species. DO NOT USE THIS AS A LIST OF ALL POSSIBLE BODYPARTS AS IT WILL FUCK SHIT UP! Changes to this list for non-species specific bodyparts (ie cat ears and tails) should be assigned at organ level if possible. Layer hiding is handled by handle_mutant_bodyparts() below.
mutant_organs
Internal organs that are unique to this race.
mutantappendix
Replaces default appendix with a different organ.
mutantbrain
Replaces default brain with a different organ
mutantears
Replaces default ears with a different organ
mutanteyes
Replaces default eyes with a different organ
mutanthands
Forces an item into this species' hands. Only an honorary mutantthing because this is not an organ and not loaded in the same way, you've been warned to do your research.
mutantheart
Replaces default heart with a different organ
mutantliver
Replaces default liver with a different organ
mutantlungs
Replaces default lungs with a different organ
mutantstomach
Replaces default stomach with a different organ
mutanttail
Forces a species tail
mutanttongue
Replaces default tongue with a different organ
name
this is the fluff name. these will be left generic (such as 'Lizardperson' for the lizard race) so servers can change them to whatever
no_equip
slots the race can't equip stuff to
nojumpsuit
this is sorta... weird. it basically lets you equip stuff that usually needs jumpsuits without one, like belts and pockets and ids
offset_features
A list that contains pixel offsets for various clothing features, if your species is a different shape
oxymod
multiplier for oxyloss
plural_form
The formatting of the name of the species in plural context. Defaults to "[name]\s" if unset. Ex "[Plasmamen] are weak", "[Mothmen] are strong", "[Lizardpeople] don't like", "[Golems] hate"
possible_genders
What genders can this race be?
pressuremod
multiplier for pressure damage
prevent_perspective_change
Do we try to prevent reset_perspective() from working? Useful for Dullahans to stop perspective changes when they're looking through their head.
punchdamagehigh
highest possible punch damage
punchdamagelow
lowest possible punch damage. if this is set to 0, punches will always miss
punchstunthreshold
damage at which punches from this race will stun //yes it should be to the attacked race but it's not useful that way even if it's logical
rare_say_mod
Weighted list. NOTE: Picks one of the list component and then does a prob() on it, since we can't do a proper weighted pick, since we need to take into account the regular say_mod.
say_mod
affects the speech message
screamsound
yogs - audio of a species' scream
siemens_coeff
base electrocution coefficient
skinned_type
What, if any, leather will be dropped
special_step_sounds
Sounds to override barefeet walking
special_step_volume
How loud to play the step override
special_walk_sounds
Sounds to play while walking regardless of wearing shoes
species_gibs
What kind of gibs to spawn
species_language_holder
Used if you want to give your species thier own language
species_traits
species-only traits. Can be found in DNA.dm
speedmod
this affects the race's speed. positive numbers make it move slower, negative numbers make it move faster
staminamod
multiplier for stun duration
stunmod
multiplier for stun duration
tempmod
multiplier for temperature adjustment
toxic_food
What kind of foods cause harm to the species
toxmod
multiplier for toxloss
use_damage_color
Does our species have colors for its' damage overlays?
use_skintones
does it use skintones or not? (spoiler alert this is only used by humans)
wings_icon
the icon used for the wings + details icon of a different source colour
Proc Details
check_roundstart_eligible
Checks if a species is eligible to be picked at roundstart.
Checks the config to see if this species is allowed to be picked in the character setup menu. Used by /proc/generate_selectable_species.
create_pref_biotypes_perks
Adds adds any perks related to the species' inherent_biotypes flags.
Returns a list containing perks, or an empty list.
create_pref_blood_perks
Adds adds any perks related to the species' blood (or lack thereof).
Returns a list containing perks, or an empty list.
create_pref_combat_perks
Adds adds any perks related to combat. For example, the damage type of their punches.
Returns a list containing perks, or an empty list.
create_pref_damage_perks
Adds adds any perks related to sustaining damage. For example, brute damage vulnerability, or fire damage resistance.
Returns a list containing perks, or an empty list.
create_pref_language_perk
Adds in a language perk based on all the languages the species can speak by default (according to their language holder).
Returns a list containing perks, or an empty list.
create_pref_temperature_perks
Adds adds any perks related to how the species deals with temperature.
Returns a list containing perks, or an empty list.
create_pref_traits_perks
Adds adds any perks related to the species' inherent_traits list.
Returns a list containing perks, or an empty list.
create_pref_unique_perks
Used to add any species specific perks to the perk list.
Returns null by default. When overriding, return a list of perks.
get_biological_state
The human species version of /mob/living/carbon/proc/get_biological_state. Depends on the HAS_FLESH and HAS_BONE species traits, having bones lets you have bone wounds, having flesh lets you have burn, slash, and piercing wounds
get_butt_sprite
Sprite to show for photocopying mob butts
get_features
Returns a list of strings representing features this species has. Used by the preferences UI to know what buttons to show.
get_species_description
Gets a short description for the specices. Should be relatively succinct. Used in the preference menu.
Returns a string.
get_species_diet
Translate the species liked foods from bitfields into strings and returns it in the form of an associated list.
Returns a list, or null if they have no diet.
get_species_lore
Gets the lore behind the type of species. Can be long. Used in the preference menu.
Returns a list of strings. Between each entry in the list, a newline will be inserted, for formatting.
get_species_perks
Generates a list of "perks" related to this species (Postives, neutrals, and negatives) in the format of a list of lists. Used in the preference menu.
"Perk" format is as followed: list( SPECIES_PERK_TYPE = type of perk (postiive, negative, neutral - use the defines) SPECIES_PERK_ICON = icon shown within the UI SPECIES_PERK_NAME = name of the perk on hover SPECIES_PERK_DESC = description of the perk on hover )
Returns a list of lists. The outer list is an assoc list of [perk type]s to a list of perks. The innter list is a list of perks. Can be empty, but won't be null.
prepare_human_for_preview
Given a human, will adjust it before taking a picture for the preferences UI. This should create a CONSISTENT result, so the icons don't randomly change.
regenerate_organs
Corrects organs in a carbon, removing ones it doesn't need and adding ones it does.
Takes all organ slots, removes organs a species should not have, adds organs a species should have. can use replace_current to refresh all organs, creating an entirely new set.
Arguments:
- C - carbon, the owner of the species datum AKA whoever we're regenerating organs in
- old_species - datum, used when regenerate organs is called in a switching species to remove old mutant organs.
- replace_current - boolean, forces all old organs to get deleted whether or not they pass the species' ability to keep that organ
- visual_only - boolean, only load organs that change how the species looks. Do not use for normal gameplay stuff