species datum
Datum that handles different species in the game.
This datum handles species in the game, such as lizardpeople, mothmen, zombies, skeletons, etc. It is used in carbon humans to determine various things about them, like their food preferences, if they have biological genders, their damage resistances, and more.
Vars | |
armor | Percentage modifier for overall defense of the race, or less defense, if it's negative. |
---|---|
ass_image | For custom overrides for species ass images |
attack_type | Type of damage attack does. Ethereals attack with burn damage for example. |
attack_verb | Punch-specific attack verb. |
blush_color | The color used for blush overlay |
bodytemp_autorecovery_divisor | This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery. |
bodytemp_autorecovery_min | Minimum amount of kelvin moved toward normal body temperature per tick. |
bodytemp_cold_damage_limit | The body temperature limit the body can take before it starts taking damage from cold. |
bodytemp_cold_divisor | Similar to the autorecovery_divisor, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to gain bodytemp faster. |
bodytemp_cooling_rate_max | The maximum rate at which a species can heat up per tick |
bodytemp_environment_change | How much temp is the environment is causing us to charge? |
bodytemp_heat_damage_limit | The body temperature limit the body can take before it starts taking damage from heat. |
bodytemp_heat_divisor | Similar to the autorecovery_divsor, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to lose bodytemp faster. |
bodytemp_heating_rate_max | The maximum rate at which a species can cool down per tick |
bodytemp_natural_stabilization | How much temp is our body stabilizing naturally? |
bodytemp_normal | The natural temperature for a body |
breathid | What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm] |
brutemod | multiplier for brute damage |
burnmod | multiplier for burn damage |
changesource_flags | Bitflag that controls what in game ways something can select this species as a spawnable source, such as magic mirrors. See [mob defines][code/_DEFINES/mobs.dm] for possible sources. |
coldmod | multiplier for damage from cold temperature |
custom_overlay_icon | for species with a unique body size(above 32x32), who need a custom icon file for overlays |
damage_overlay_type | What kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay. |
deathsound | Used to set the mob's deathsound upon species change |
default_features | Default mutant bodyparts for this species. Don't forget to set one for every mutant bodypart you allow this species to have. |
digitigrade_customization | Never, Optional, or Forced digi legs? |
disliked_food | Bitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example. |
examine_limb_id | This is used for children, it will determine their default limb ID for use of examine. See examine.dm. |
exotic_blood | If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity. |
exotic_bloodtype | If your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood. |
fixed_mut_color | To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA. |
fly | The actual flying ability given to flying species |
flying_species | Is this species a flying species? Used as an easy 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 invisible. |
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. If "fixedmutcolor", it uses fixedmutcolor |
has_innate_wings | Used to determine what description to give when using a potion of flight, if false it will describe them as growing new wings |
heatmod | multiplier for damage from hot temperature |
id | If the game needs to manually check your race to do something not included in a proc here, it will use this. |
inert_mutation | Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache |
inherent_biotypes | List of biotypes the mob belongs to. Used by diseases. |
inherent_factions | List of factions the mob gain upon gaining this species. |
inherent_traits | Generic traits tied to having the species. |
liked_food | Bitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example. |
max_temp_comfortable | The maximum temperature the species is comfortable at. Going above this does not apply any effects, but warns players that the temperture is hot |
meat | What the species drops when gibbed by a gibber machine. |
min_temp_comfortable | The minimum temperature the species is comfortable at. Going below this does not apply any effects, but warns players that the temperture is chilly |
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 datum/species/handle_mutant_bodyparts() below. |
mutant_organs | Internal organs that are unique to this race, like a tail. |
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 |
mutanttongue | Replaces default tongue with a different organ |
name | This is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize. |
no_equip | Inventory slots the race can't equip stuff to. |
nojumpsuit | Allows the species to equip items that normally require a jumpsuit without having one equipped. |
outfit_important_for_life | A path to an outfit that is important for species life e.g. plasmaman outfit |
override_float | Allows the species to not give a single F about gravity. Used by wings. |
punchdamagehigh | Highest possible punch damage this species can give. |
punchdamagelow | Lowest possible punch damage this species can give. If this is set to 0, punches will always miss. |
punchstunthreshold | Damage at which punches from this race will stun |
reagent_tag | Used for metabolizing reagents. We're going to assume you're a meatbag unless you say otherwise. |
sclera_color | The color used for the "white" of the eye, if the eye has one. |
sexes | Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows |
siemens_coeff | Base electrocution coefficient. Basically a multiplier for damage from electrocutions. |
skinned_type | What skin the species drops when gibbed by a gibber machine. |
special_step_sounds | Sounds to override barefeet walking |
species_age_max | Maximum species age |
species_age_min | Minimum species_age |
species_clothing_path | Does this species have a special set of overlay clothing, and if so, what is the name of the folder under .../clothing/species that contains them? |
species_eye_path | Icon file used for eyes, defaults to 'icons/mob/human_face.dmi' |
species_gibs | Does this mob have special gibs? |
species_language_holder | What languages this species can understand and say. Use a language holder datum in this var. |
species_traits | Species-only traits. Can be found in [code/_DEFINES/DNA.dm] |
speedmod | Multiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster. |
staminamod | multiplier for stamina damage |
stunmod | multiplier for stun durations |
toxic_food | Bitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example. |
use_damage_color | Does our species have colors for its' damage overlays? |
use_skintones | Does the species use skintones or not? As of now only used by humans. |
wings_icon | Current wings icon |
Procs | |
check_roundstart_eligible | Checks if a species is eligible to be picked at roundstart. |
copy_properties_from | Copies some vars and properties over that should be kept when creating a copy of this species. |
get_custom_icons | Calls the DMI data for a custom icon for a given bodypart from the Species Datum. |
give_important_for_life | Equip the outfit required for life. Replaces items currently worn. |
handle_body | Handles the body of a human |
handle_body_temperature | Handle the body temperature status effects for the species Traits for resitance to heat or cold are handled here. |
handle_environment | Enviroment handler for species |
handle_environment_pressure | Handle the air pressure of the environment |
handle_hair | Handles hair icons and dynamic hair. |
handle_mutant_bodyparts | Handles the mutant bodyparts of a human |
harm | This proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason... |
mutant_bodyparts_layertext | /PUT ALL YOUR WEIRD ASS REAL-LIMB HANDLING HERE Digi handling End digi handling /END REAL-LIMB HANDLING |
natural_bodytemperature_stabilization | Used to stabilize the body temperature back to normal on living mobs |
on_species_gain | Proc called when a carbon becomes this species. |
on_species_loss | Proc called when a carbon is no longer this species. |
random_name | Generates a random name for a carbon. |
regenerate_organs |
Var Details
armor
Percentage modifier for overall defense of the race, or less defense, if it's negative.
ass_image
For custom overrides for species ass images
attack_type
Type of damage attack does. Ethereals attack with burn damage for example.
attack_verb
Punch-specific attack verb.
blush_color
The color used for blush overlay
bodytemp_autorecovery_divisor
This is the divisor which handles how much of the temperature difference between the current body temperature and 310.15K (optimal temperature) humans auto-regenerate each tick. The higher the number, the slower the recovery.
bodytemp_autorecovery_min
Minimum amount of kelvin moved toward normal body temperature per tick.
bodytemp_cold_damage_limit
The body temperature limit the body can take before it starts taking damage from cold.
bodytemp_cold_divisor
Similar to the autorecovery_divisor, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is lower than their body temperature. Make it lower to gain bodytemp faster.
bodytemp_cooling_rate_max
The maximum rate at which a species can heat up per tick
bodytemp_environment_change
How much temp is the environment is causing us to charge?
bodytemp_heat_damage_limit
The body temperature limit the body can take before it starts taking damage from heat.
bodytemp_heat_divisor
Similar to the autorecovery_divsor, but this is the divisor which is applied at the stage that follows autorecovery. This is the divisor which comes into play when the human's loc temperature is higher than their body temperature. Make it lower to lose bodytemp faster.
bodytemp_heating_rate_max
The maximum rate at which a species can cool down per tick
bodytemp_natural_stabilization
How much temp is our body stabilizing naturally?
bodytemp_normal
The natural temperature for a body
breathid
What gas does this species breathe? Used by suffocation screen alerts, most of actual gas breathing is handled by mutantlungs. See [life.dm][code/modules/mob/living/carbon/human/life.dm]
brutemod
multiplier for brute damage
burnmod
multiplier for burn damage
changesource_flags
Bitflag that controls what in game ways something can select this species as a spawnable source, such as magic mirrors. See [mob defines][code/_DEFINES/mobs.dm] for possible sources.
coldmod
multiplier for damage from cold temperature
custom_overlay_icon
for species with a unique body size(above 32x32), who need a custom icon file for overlays
damage_overlay_type
What kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay.
deathsound
Used to set the mob's deathsound upon species change
default_features
Default mutant bodyparts for this species. Don't forget to set one for every mutant bodypart you allow this species to have.
digitigrade_customization
Never, Optional, or Forced digi legs?
disliked_food
Bitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.
examine_limb_id
This is used for children, it will determine their default limb ID for use of examine. See examine.dm.
exotic_blood
If your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.
exotic_bloodtype
If your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.
fixed_mut_color
To use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.
fly
The actual flying ability given to flying species
flying_species
Is this species a flying species? Used as an easy 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 invisible.
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. If "fixedmutcolor", it uses fixedmutcolor
has_innate_wings
Used to determine what description to give when using a potion of flight, if false it will describe them as growing new wings
heatmod
multiplier for damage from hot temperature
id
If the game needs to manually check your race to do something not included in a proc here, it will use this.
inert_mutation
Special mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
inherent_biotypes
List of biotypes the mob belongs to. Used by diseases.
inherent_factions
List of factions the mob gain upon gaining this species.
inherent_traits
Generic traits tied to having the species.
liked_food
Bitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.
max_temp_comfortable
The maximum temperature the species is comfortable at. Going above this does not apply any effects, but warns players that the temperture is hot
meat
What the species drops when gibbed by a gibber machine.
min_temp_comfortable
The minimum temperature the species is comfortable at. Going below this does not apply any effects, but warns players that the temperture is chilly
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 datum/species/handle_mutant_bodyparts() below.
mutant_organs
Internal organs that are unique to this race, like a tail.
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
mutanttongue
Replaces default tongue with a different organ
name
This is the fluff name. They are displayed on health analyzers and in the character setup menu. Leave them generic for other servers to customize.
no_equip
Inventory slots the race can't equip stuff to.
nojumpsuit
Allows the species to equip items that normally require a jumpsuit without having one equipped.
outfit_important_for_life
A path to an outfit that is important for species life e.g. plasmaman outfit
override_float
Allows the species to not give a single F about gravity. Used by wings.
punchdamagehigh
Highest possible punch damage this species can give.
punchdamagelow
Lowest possible punch damage this species can give. If this is set to 0, punches will always miss.
punchstunthreshold
Damage at which punches from this race will stun
reagent_tag
Used for metabolizing reagents. We're going to assume you're a meatbag unless you say otherwise.
sclera_color
The color used for the "white" of the eye, if the eye has one.
sexes
Whether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows
siemens_coeff
Base electrocution coefficient. Basically a multiplier for damage from electrocutions.
skinned_type
What skin the species drops when gibbed by a gibber machine.
special_step_sounds
Sounds to override barefeet walking
species_age_max
Maximum species age
species_age_min
Minimum species_age
species_clothing_path
Does this species have a special set of overlay clothing, and if so, what is the name of the folder under .../clothing/species that contains them?
species_eye_path
Icon file used for eyes, defaults to 'icons/mob/human_face.dmi'
species_gibs
Does this mob have special gibs?
species_language_holder
What languages this species can understand and say. Use a language holder datum in this var.
species_traits
Species-only traits. Can be found in [code/_DEFINES/DNA.dm]
speedmod
Multiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.
staminamod
multiplier for stamina damage
stunmod
multiplier for stun durations
toxic_food
Bitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.
use_damage_color
Does our species have colors for its' damage overlays?
use_skintones
Does the species use skintones or not? As of now only used by humans.
wings_icon
Current wings icon
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].
copy_properties_from
Copies some vars and properties over that should be kept when creating a copy of this species.
Used by slimepeople to copy themselves, and by the DNA datum to hardset DNA to a species Arguments:
- old_species - The species that the carbon used to be before copying
get_custom_icons
Calls the DMI data for a custom icon for a given bodypart from the Species Datum.
give_important_for_life
Equip the outfit required for life. Replaces items currently worn.
handle_body
Handles the body of a human
Handles lipstick, having no eyes, eye color, undergarnments like underwear, undershirts, and socks, and body layers. Calls handle_mutant_bodyparts Arguments:
- H - Human, whoever we're handling the body for
handle_body_temperature
Handle the body temperature status effects for the species Traits for resitance to heat or cold are handled here.
handle_environment
Enviroment handler for species
vars:
- environment The environment gas mix
- H The mob we will stabilize
handle_environment_pressure
Handle the air pressure of the environment
handle_hair
Handles hair icons and dynamic hair.
Handles hiding hair with clothing, hair layers, losing hair due to husking or augmented heads, facial hair, head hair, and hair styles. Arguments:
- H - Human, whoever we're handling the hair for
- forced_colour - The colour of hair we're forcing on this human. Leave null to not change. Mind the british spelling!
handle_mutant_bodyparts
Handles the mutant bodyparts of a human
Handles the adding and displaying of, layers, colors, and overlays of mutant bodyparts and accessories. Handles digitigrade leg displaying and squishing. Arguments:
- H - Human, whoever we're handling the body for
- forced_colour - The forced color of an accessory. Leave null to use mutant color.
harm
This proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason...
mutant_bodyparts_layertext
/PUT ALL YOUR WEIRD ASS REAL-LIMB HANDLING HERE Digi handling End digi handling /END REAL-LIMB HANDLING
natural_bodytemperature_stabilization
Used to stabilize the body temperature back to normal on living mobs
vars:
- environment The environment gas mix
- H The mob we will stabilize
on_species_gain
Proc called when a carbon becomes this species.
This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. Produces a [COMSIG_SPECIES_GAIN] signal. Arguments:
- C - Carbon, this is whoever became the new species.
- old_species - The species that the carbon used to be before becoming this race, used for regenerating organs.
- pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc.
on_species_loss
Proc called when a carbon is no longer this species.
This sets up and adds/changes/removes things, qualities, abilities, and traits so that the transformation is as smooth and bugfree as possible. Produces a [COMSIG_SPECIES_LOSS] signal. Arguments:
- C - Carbon, this is whoever lost this species.
- new_species - The new species that the carbon became, used for genetics mutations.
- pref_load - Preferences to be loaded from character setup, loads in preferred mutant things like bodyparts, digilegs, skin color, etc.
random_name
Generates a random name for a carbon.
This generates a random unique name based on a human's species and gender. Arguments:
- gender - The gender that the name should adhere to. Use MALE for male names, use anything else for female names.
- unique - If true, ensures that this new name is not a duplicate of anyone else's name currently on the station.
- lastname - Does this species' naming system adhere to the last name system? Set to false if it doesn't.
regenerate_organs
-
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
-
- excluded_zones - list, add zone defines to block organs inside of the zones from getting handled. see headless mutation for an example