/tg/ Station 13 - Modules - TypesVar Details - Proc Details

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

armorPercentage modifier for overall defense of the race, or less defense, if it's negative.
attack_typeType of damage attack does. Ethereals attack with burn damage for example.
attack_verbPunch-specific attack verb.
bodytemp_autorecovery_minMinimum amount of kelvin moved toward normal body temperature per tick.
bodytemp_cold_damage_limitThe body temperature limit the body can take before it starts taking damage from cold.
bodytemp_heat_damage_limitThe body temperature limit the body can take before it starts taking damage from heat.
bodytemp_normalThe natural temperature for a body
breathidWhat 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]
brutemodmultiplier for brute damage
burnmodmultiplier for burn damage
changesource_flagsBitflag 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.
coldmodmultiplier for damage from cold temperature
damage_overlay_typeWhat kind of damage overlays (if any) appear on our species when wounded? If this is "", does not add an overlay.
deathsoundUsed to set the mob's deathsound upon species change
default_featuresDefault mutant bodyparts for this species, like horns. Don't forget to set one for every mutant bodypart you allow this species to have.
disliked_foodBitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.
exotic_bloodIf your race bleeds something other than bog standard blood, change this to reagent id. For example, ethereals bleed liquid electricity.
exotic_bloodtypeIf your race uses a non standard bloodtype (A+, O-, AB-, etc). For example, lizards have L type blood.
fixed_mut_colorTo use MUTCOLOR with a fixed color that's independent of the mcolor feature in DNA.
flyThe actual flying ability given to flying species
flying_speciesIs this species a flying species? Used as an easy check for some things
grab_soundSpecial sound for grabbing
hair_alphaThe alpha used by the hair. 255 is completely solid, 0 is invisible.
hair_colorThis 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
heatmodmultiplier for damage from hot temperature
idIf the game needs to manually check your race to do something not included in a proc here, it will use this.
inert_mutationSpecial mutation that can be found in the genepool exclusively in this species. Dont leave empty or changing species will be a headache
inherent_biotypesList of biotypes the mob belongs to. Used by diseases.
inherent_factionsList of factions the mob gain upon gaining this species.
inherent_traitsGeneric traits tied to having the species.
liked_foodBitfield for food types that the species likes, giving them a mood boost. Lizards like meat, for example.
meatWhat the species drops when gibbed by a gibber machine.
mutant_bodypartsVisible 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_organsInternal organs that are unique to this race, like a tail.
mutantappendixReplaces default appendix with a different organ.
mutantbrainReplaces default brain with a different organ
mutantearsReplaces default ears with a different organ
mutanteyesReplaces default eyes with a different organ
mutanthandsForces 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.
mutantheartReplaces default heart with a different organ
mutantliverReplaces default liver with a different organ
mutantlungsReplaces default lungs with a different organ
mutantstomachReplaces default stomach with a different organ
mutanttongueReplaces default tongue with a different organ
nameThis 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_equipInventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.
nojumpsuitAllows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.
offset_featuresClothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.
outfit_important_for_lifeA path to an outfit that is important for species life e.g. plasmaman outfit
override_floatAllows the species to not give a single F about gravity. Used by wings.
punchdamagehighHighest possible punch damage this species can give.
punchdamagelowLowest possible punch damage this species can give. If this is set to 0, punches will always miss.
punchstunthresholdDamage at which punches from this race will stun
say_modAffects the speech message, for example: Motharula flutters, "My speech message is flutters!"
sexesWhether or not the race has sexual characteristics (biological genders). At the moment this is only FALSE for skeletons and shadows
siemens_coeffBase electrocution coefficient. Basically a multiplier for damage from electrocutions.
skinned_typeWhat skin the species drops when gibbed by a gibber machine.
special_step_soundsSounds to override barefeet walking
species_language_holderWhat languages this species can understand and say. Use a language holder datum in this var.
species_traitsSpecies-only traits. Can be found in [code/_DEFINES/DNA.dm]
speedmodMultiplier for the race's speed. Positive numbers make it move slower, negative numbers make it move faster.
stunmodmultiplier for stun durations
toxic_foodBitfield for food types that the species absolutely hates, giving them even more disgust than disliked food. Meat is "toxic" to moths, for example.
use_skintonesDoes the species use skintones or not? As of now only used by humans.
wings_iconThe icon used for the wings

Procs

check_roundstart_eligibleChecks if a species is eligible to be picked at roundstart.
copy_properties_fromCopies some vars and properties over that should be kept when creating a copy of this species.
give_important_for_lifeEquip the outfit required for life. Replaces items currently worn.
handle_bodyHandles the body of a human
handle_body_temperatureHandle the body temperature status effects for the species Traits for resitance to heat or cold are handled here.
handle_environmentEnviroment handler for species
handle_environment_pressureHandle the air pressure of the environment
handle_hairHandles hair icons and dynamic hair.
handle_mutant_bodypartsHandles the mutant bodyparts of a human
harmThis proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason...
natural_bodytemperature_stabilizationUsed to stabilize the body temperature back to normal on living mobs
on_species_gainProc called when a carbon becomes this species.
on_species_lossProc called when a carbon is no longer this species.
qualifies_for_rankChecks if this carbon is allowed to be a certain job or rank.
random_nameGenerates 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.

attack_type

Type of damage attack does. Ethereals attack with burn damage for example.

attack_verb

Punch-specific attack verb.

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_heat_damage_limit

The body temperature limit the body can take before it starts taking damage from heat.

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

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, like horns. Don't forget to set one for every mutant bodypart you allow this species to have.

disliked_food

Bitfield for food types that the species dislikes, giving them disgust. Humans hate raw food, for example.

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

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

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.

meat

What the species drops when gibbed by a gibber machine.

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. Golems cannot wear jumpsuits, for example.

nojumpsuit

Allows the species to equip items that normally require a jumpsuit without having one equipped. Used by golems.

offset_features

Clothing offsets. If a species has a different body than other species, you can offset clothing so they look less weird.

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

say_mod

Affects the speech message, for example: Motharula flutters, "My speech message is flutters!"

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_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.

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_skintones

Does the species use skintones or not? As of now only used by humans.

wings_icon

The icon used for the wings

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:

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:

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:

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:

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:

harm

This proc handles punching damage. IMPORTANT: Our owner is the TARGET and not the USER in this proc. For whatever reason...

natural_bodytemperature_stabilization

Used to stabilize the body temperature back to normal on living mobs

vars:

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:

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:

qualifies_for_rank

Checks if this carbon is allowed to be a certain job or rank.

Override this locally if you want to define when this species qualifies for what rank if human authority is enforced. Arguments:

random_name

Generates a random name for a carbon.

This generates a random unique name based on a human's species and gender. Arguments:

regenerate_organs