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.
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 | |
ai_controlled_species | This supresses the "dosen't appear to be himself" examine text for if the mob is run by an AI controller. Should be used on any NPC human subtypes. Monkeys are the prime example. |
---|---|
always_customizable | If a species can always be picked in prefs for the purposes of customizing it for ghost roles or events |
blood_deficiency_drain_rate | The rate at which blood is passively drained by having the blood deficiency quirk. Some races such as slimepeople can regen their blood at different rates so this is to account for that |
body_markings | A list of actual body markings on the owner of the species. Associative lists with keys named by limbs defines, pointing to a list with names and colors for the marking to be rendered. This is also stored in the DNA |
body_size_restricted | Is this species restricted from changing their body_size in character creation? |
bodypart_overrides | The bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive. |
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] |
can_augment | Whether a species can use augmentations in preferences |
can_have_genitals | Self explanatory |
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 for possible sources. |
coldmod | multiplier for damage from cold temperature |
custom_worn_icons | Path to BODYSHAPE_CUSTOM species worn icons. An assoc list of ITEM_SLOT_X => /icon |
damage_modifier | Store body marking defines. See mobs.dm for bitflags Flat modifier on all damage taken via apply_damage (so being punched, shot, etc.) IE: 10 = 10% less damage taken. |
death_sound | Used to set the mob's death_sound upon species change |
dust_anim | What anim to use for dusting |
examine_limb_id | This is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine]. |
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. |
external_organs | List of external organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP |
eyes_icon | Override of the eyes icon file, used for Vox and maybe more in the future - The future is now, with Teshari using it too |
facial_hair_alpha | The alpha used by the facial hair. 255 is completely solid, 0 is invisible. |
family_heirlooms | List of family heirlooms this species can get with the family heirloom quirk. List of types. |
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 the mcolor feature in DNA. |
flavor_text | Flavor text of the species displayed on character creation screeen |
gib_anim | What anim to use for gibbing |
grab_sound | Special sound for grabbing |
hair_alpha | The alpha used by the hair. 255 is completely solid, 0 is invisible. |
hair_color_mode | This allows races to have specific hair colors. If null, it uses the mob's hair/facial hair colors. If USE_MUTANT_COLOR, it uses the mob's mutant_color. If USE_FIXED_MUTANT_COLOR, 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_respiration_type | The type of respiration the mob is capable of doing. Used by adjustOxyLoss. |
inherent_traits | Generic traits tied to having the species. |
knife_butcher_results | List of results you get from knife-butchering. null means you cant butcher it. Associated by resulting type - value of amount |
language_prefs_whitelist | Adding a language type to this in the form of /datum/language will allow the language to be displayed in preferences for that species, even if it is a secret language. Currently used for ashtongue in ashwalkers. |
lore_protected | Are we lore protected? This prevents people from changing the species lore or species name. |
markings_alpha | Override for alpha value of markings, should be much lower than the above value. |
max_bodypart_count | The maximum number of bodyparts this species can have. |
meat | What the species drops when gibbed by a gibber machine. |
modsuit_slot_exceptions | A bitfield of exceptions, relating to no_equip_flags. If a mod item is equipped into a blocked slot, and that slot is in this bitfield, it will not be skipped. |
mutant_organs | Internal organs that are unique to this race, like a tail. list(typepath of organ 1, typepath of organ 2) |
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 |
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_flags | flags for inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example. |
no_gender_shaping | Whether or not the gender shaping is disabled for this species |
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 |
outfit_override_registry | A list containing outfits that will be overridden in the species_equip_outfit proc. [Key = Typepath passed in] [Value = Typepath of outfit you want to equip for this specific species instead]. |
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" |
preload | Should we preload this species's organs? |
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. |
properly_gained | Was on_species_gain ever actually called? Species code is really odd... |
reagent_flags | How are we treated regarding processing reagents, by default we process them as if we're organic |
roundstart_changed | Was the species changed from its original type at the start of the round? |
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_cookie | Unique cookie given by admins through prayers |
species_language_holder | What languages this species can understand and say. Use a language holder datum typepath in this var. Should never be null. |
specific_alpha | Override for the alpha of bodyparts and mutant parts. |
stunmod | multiplier for stun durations |
veteran_only | If a species requires the player to be a Veteran to be able to pick it. |
Procs | |
add_body_markings | Add species appropriate body markings |
apply_burn_wounds | Used to apply burn wounds on random limbs |
body_temperature_alerts | Used to set alerts and debuffs based on body temperature vars: |
body_temperature_core | Used to stabilize the core temperature back to normal on living mobs |
body_temperature_damage | Used to apply wounds and damage based on core/body temp vars: |
body_temperature_skin | Used to normalize the skin temperature on living mobs |
check_head_flags | Checks if the species has a head with these head flags, by default. Admittedly, this is a very weird and seemingly redundant proc, but it gets used by some preferences (such as hair style) to determine whether or not they are accessible. |
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. |
create_fresh_body | Creates body parts for the target completely from scratch based on the species |
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_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_organs_perks | Adds any perks relating to inherent differences to this species' organs. This proc is only suitable for generic differences, like alcohol tolerance, or heat threshold for breathing. |
create_pref_temperature_perks | Adds adds any perks related to how the species deals with temperature. |
create_pref_unique_perks | Used to add any species specific perks to the perk list. |
generate_custom_worn_icon | Allow for custom clothing icon generation. Only called if the species is BODYSHAPE_CUSTOM If null is returned, use default human icon. Arguments: |
generate_custom_worn_icon_fallback | Generate a fallback worn icon, if the species supports it. You must call it in an override of generate_custom_worn_icon() |
get_cough_sound | Returns the species' cough sound. |
get_cry_sound | Returns the species' cry sound. |
get_custom_worn_config_fallback | Modularly get the species' fallback greyscale config. Only used if you use generate_custom_worn_icon_fallback() Arguments: |
get_custom_worn_icon | Modularly returns one of worn_icon_vox, worn_icon_teshari, etc. Arguments: |
get_custom_worn_icon_cached | Read from freely usable cache of generated icons for your species. Arguments: |
get_default_mutant_bodyparts | Returns a list of the default mutant bodyparts, and whether or not they can be randomized or not |
get_features | Returns a list of strings representing features this species has. |
get_fixed_hair_color | Get what hair color is used by this species for a mob. |
get_laugh_sound | Returns the species' laugh sound |
get_mutant_bodyparts | Returns a list of mutant_bodyparts |
get_mutant_organ_type_for_slot | Gets the default mutant organ for the species based on the provided slot. |
get_physical_attributes | Gets a description of the species' physical attributes. What makes playing as one different. Used in magic mirrors. |
get_sigh_sound | Returns the species' sigh sound. |
get_sneeze_sound | Returns the species' sneeze sound. |
get_sniff_sound | Returns the species' sniff sound. |
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. |
give_important_for_life | Equip the outfit required for life. Replaces items currently worn. |
go_bald | Makes the target human bald. |
grab_maneuver_state_check | State check for grab maneuver - because you can't logically suplex a man if you've stopped grappling them. |
handle_arousal | Handles throwing the arousal alerts to screen. |
handle_body_temperature | Body temperature handler for species |
handle_chemical | Handling special reagent interactions. |
handle_environment | Environment handler for species |
handle_environment_pressure | Handle the air pressure of the environment |
handle_radiation | Species based handling for irradiation |
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 | Handles the body of a human |
normalize_blood | Normalizes blood in a human if it is excessive. If it is above BLOOD_VOLUME_NORMAL, this will clamp it to that value. It will not give the human more blodo than they have less than this value. |
on_owner_login | Owner login |
on_species_loss | Proc called when a carbon is no longer this species. |
overlay_pain | Sends an icon to the screen that gives an approximate indication of the mob's pain. Looks like spikes/barbed wire. |
overlay_pleasure | Sends an icon to the screen that gives an approximate indication of the mob's pleasure. Looks like a pink-white border on the arousal alert heart. |
pre_equip_species_outfit | Equips the necessary species-relevant gear before putting on the rest of the uniform. |
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. |
randomize_active_underwear | Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob |
randomize_active_underwear_only | Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob, but will not update the body right away. |
randomize_main_appearance_element | Proc that will randomise the hair, or primary appearance element (i.e. for moths wings) of a species' associated mob |
remove_body_markings | Remove body markings |
replace_body | Handles replacing all of the bodyparts with their species version during set_species() |
set_custom_worn_icon | Modularly set one of worn_icon_vox, worn_icon_teshari, etc. Arguments: |
set_custom_worn_icon_cached | Write to a freely usable cache of generated icons for your species. Arguments: |
stagger_combo | Handles the stagger combo effect of our punch. Follows the same logic as the above proc, target is our owner, user is our attacker. |
throw_arousal_alert | Sends an icon to the screen that gives an approximate indication of the mob's arousal. |
try_dislocate | Attempts to perform a limb dislocation, with the user violently twisting one of target's limbs (as passed in). Only useful for extremities, because only extremities can eat dislocations. |
try_grab_maneuver | Tries a grab maneuver - suplex, limb dislocation, or headslam depending on targeted limb. |
try_headslam | Attempts to perform a headslam, with the user slamming target's head into the floor. (Does not account for the potential nonexistence of aforementioned floor, e.g. space.) |
try_suplex | Attempts to perform a suplex after SUPLEX_TIMER, causing both to be stunned. (Why spacemen are able to do such a thing on reflex, nobody knows.) |
update_body_markings | Update the overlays if necessary |
Var Details
ai_controlled_species
This supresses the "dosen't appear to be himself" examine text for if the mob is run by an AI controller. Should be used on any NPC human subtypes. Monkeys are the prime example.
always_customizable
If a species can always be picked in prefs for the purposes of customizing it for ghost roles or events
blood_deficiency_drain_rate
The rate at which blood is passively drained by having the blood deficiency quirk. Some races such as slimepeople can regen their blood at different rates so this is to account for that
body_markings
A list of actual body markings on the owner of the species. Associative lists with keys named by limbs defines, pointing to a list with names and colors for the marking to be rendered. This is also stored in the DNA
body_size_restricted
Is this species restricted from changing their body_size in character creation?
bodypart_overrides
The bodyparts this species uses. assoc of bodypart string - bodypart type. Make sure all the fucking entries are in or I'll skin you alive.
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]
can_augment
Whether a species can use augmentations in preferences
can_have_genitals
Self explanatory
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 for possible sources.
coldmod
multiplier for damage from cold temperature
custom_worn_icons
Path to BODYSHAPE_CUSTOM species worn icons. An assoc list of ITEM_SLOT_X => /icon
damage_modifier
Store body marking defines. See mobs.dm for bitflags Flat modifier on all damage taken via apply_damage (so being punched, shot, etc.) IE: 10 = 10% less damage taken.
death_sound
Used to set the mob's death_sound upon species change
dust_anim
What anim to use for dusting
examine_limb_id
This is used for children, it will determine their default limb ID for use of examine. See [/mob/living/carbon/human/proc/examine].
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.
external_organs
List of external organs to generate like horns, frills, wings, etc. list(typepath of organ = "Round Beautiful BDSM Snout"). Still WIP
eyes_icon
Override of the eyes icon file, used for Vox and maybe more in the future - The future is now, with Teshari using it too
facial_hair_alpha
The alpha used by the facial hair. 255 is completely solid, 0 is invisible.
family_heirlooms
List of family heirlooms this species can get with the family heirloom quirk. List of types.
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 the mcolor feature in DNA.
flavor_text
Flavor text of the species displayed on character creation screeen
gib_anim
What anim to use for gibbing
grab_sound
Special sound for grabbing
hair_alpha
The alpha used by the hair. 255 is completely solid, 0 is invisible.
hair_color_mode
This allows races to have specific hair colors. If null, it uses the mob's hair/facial hair colors. If USE_MUTANT_COLOR, it uses the mob's mutant_color. If USE_FIXED_MUTANT_COLOR, 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_respiration_type
The type of respiration the mob is capable of doing. Used by adjustOxyLoss.
inherent_traits
Generic traits tied to having the species.
knife_butcher_results
List of results you get from knife-butchering. null means you cant butcher it. Associated by resulting type - value of amount
language_prefs_whitelist
Adding a language type to this in the form of /datum/language will allow the language to be displayed in preferences for that species, even if it is a secret language. Currently used for ashtongue in ashwalkers.
lore_protected
Are we lore protected? This prevents people from changing the species lore or species name.
markings_alpha
Override for alpha value of markings, should be much lower than the above value.
max_bodypart_count
The maximum number of bodyparts this species can have.
meat
What the species drops when gibbed by a gibber machine.
modsuit_slot_exceptions
A bitfield of exceptions, relating to no_equip_flags. If a mod item is equipped into a blocked slot, and that slot is in this bitfield, it will not be skipped.
mutant_organs
Internal organs that are unique to this race, like a tail. list(typepath of organ 1, typepath of organ 2)
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
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_flags
flags for inventory slots the race can't equip stuff to. Golems cannot wear jumpsuits, for example.
no_gender_shaping
Whether or not the gender shaping is disabled for this species
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
outfit_override_registry
A list containing outfits that will be overridden in the species_equip_outfit proc. [Key = Typepath passed in] [Value = Typepath of outfit you want to equip for this specific species instead].
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"
preload
Should we preload this species's organs?
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.
properly_gained
Was on_species_gain ever actually called? Species code is really odd...
reagent_flags
How are we treated regarding processing reagents, by default we process them as if we're organic
roundstart_changed
Was the species changed from its original type at the start of the round?
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_cookie
Unique cookie given by admins through prayers
species_language_holder
What languages this species can understand and say. Use a language holder datum typepath in this var. Should never be null.
specific_alpha
Override for the alpha of bodyparts and mutant parts.
stunmod
multiplier for stun durations
veteran_only
If a species requires the player to be a Veteran to be able to pick it.
Proc Details
add_body_markings
Add species appropriate body markings
apply_burn_wounds
Used to apply burn wounds on random limbs
This is called from body_temperature_damage when exposure to extream heat adds up and causes a wound. The wounds will increase in severity as the temperature increases. vars:
- humi (required) The mob we will targeting
body_temperature_alerts
Used to set alerts and debuffs based on body temperature vars:
- humi (required) The mob we will targeting
body_temperature_core
Used to stabilize the core temperature back to normal on living mobs
The metabolisim heats up the core of the mob trying to keep it at the normal body temp vars:
- humi (required) The mob we will stabilize
body_temperature_damage
Used to apply wounds and damage based on core/body temp vars:
- humi (required) The mob we will targeting
body_temperature_skin
Used to normalize the skin temperature on living mobs
The core temp effects the skin, then the enviroment effects the skin, then we refect that back to the core. This happens even when dead so bodies revert to room temp over time. vars:
- humi (required) The mob we will targeting
- seconds_per_tick: The amount of time that is considered as elapsing
- times_fired: The number of times SSmobs has fired
check_head_flags
Checks if the species has a head with these head flags, by default. Admittedly, this is a very weird and seemingly redundant proc, but it gets used by some preferences (such as hair style) to determine whether or not they are accessible.
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_and_languages.
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
create_fresh_body
Creates body parts for the target completely from scratch based on the 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_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_organs_perks
Adds any perks relating to inherent differences to this species' organs. This proc is only suitable for generic differences, like alcohol tolerance, or heat threshold for breathing.
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_unique_perks
Used to add any species specific perks to the perk list.
Returns null by default. When overriding, return a list of perks.
generate_custom_worn_icon
Allow for custom clothing icon generation. Only called if the species is BODYSHAPE_CUSTOM If null is returned, use default human icon. Arguments:
- item_slot: The slot we're updating. One of OFFSET_HEAD, etc.
- item: The item being rendered.
- human_owner: The human wearing the item.
generate_custom_worn_icon_fallback
Generate a fallback worn icon, if the species supports it. You must call it in an override of generate_custom_worn_icon()
get_cough_sound
Returns the species' cough sound.
get_cry_sound
Returns the species' cry sound.
get_custom_worn_config_fallback
Modularly get the species' fallback greyscale config. Only used if you use generate_custom_worn_icon_fallback() Arguments:
- item_slot: The slot we're updating. One of OFFSET_HEAD, etc.
- item: The item being rendered.
get_custom_worn_icon
Modularly returns one of worn_icon_vox, worn_icon_teshari, etc. Arguments:
- item_slot: The slot we're updating. One of OFFSET_HEAD, etc.
- item is the item we're checking.
get_custom_worn_icon_cached
Read from freely usable cache of generated icons for your species. Arguments:
- file_to_use: icon you're substituting
- state_to_use: icon state you're substituting
- meta: string containing other info.
get_default_mutant_bodyparts
Returns a list of the default mutant bodyparts, and whether or not they can be randomized or not
get_features
Returns a list of strings representing features this species has.
Used by the preferences UI to know what buttons to show.
get_fixed_hair_color
Get what hair color is used by this species for a mob.
Arguments
- for_mob - The mob to get the hair color for. Required.
Returns a color string or null.
get_laugh_sound
Returns the species' laugh sound
get_mutant_bodyparts
Returns a list of mutant_bodyparts
Gets the default species mutant_bodyparts list for the given species datum and sets up its sprite accessories.
Arguments:
- features - Features are needed for the part color
- existing_mutant_bodyparts - When passed a list of existing mutant bodyparts, the existing ones will not get overwritten
get_mutant_organ_type_for_slot
Gets the default mutant organ for the species based on the provided slot.
get_physical_attributes
Gets a description of the species' physical attributes. What makes playing as one different. Used in magic mirrors.
Returns a string.
get_sigh_sound
Returns the species' sigh sound.
get_sneeze_sound
Returns the species' sneeze sound.
get_sniff_sound
Returns the species' sniff sound.
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.
give_important_for_life
Equip the outfit required for life. Replaces items currently worn.
go_bald
Makes the target human bald.
Arguments:
- target: The mob to make go bald.
grab_maneuver_state_check
State check for grab maneuver - because you can't logically suplex a man if you've stopped grappling them.
handle_arousal
Handles throwing the arousal alerts to screen.
handle_body_temperature
Body temperature handler for species
These procs manage body temp, bamage, and alerts Some of these will still fire when not alive to balance body temp to the room temp. vars:
- humi (required)(type: /mob/living/carbon/human) The mob we will target
handle_chemical
Handling special reagent interactions.
Return null continue running the normal on_mob_life() for that reagent. Return COMSIG_MOB_STOP_REAGENT_CHECK to not run the normal metabolism effects.
NOTE: If you return COMSIG_MOB_STOP_REAGENT_CHECK, that reagent will not be removed liike normal! You must handle it manually.
handle_environment
Environment handler for species
vars:
- environment (required) The environment gas mix
- humi (required)(type: /mob/living/carbon/human) The mob we will target
handle_environment_pressure
Handle the air pressure of the environment
handle_radiation
Species based handling for irradiation
Arguments:
- source: The mob requesting handling
- time_since_irradiated: The amount of time since the mob was first irradiated
- seconds_per_tick: The amount of time that has passed since the last tick
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
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][/datum/species/proc/handle_mutant_bodyparts] Arguments:
- species_human - Human, whoever we're handling the body for
normalize_blood
Normalizes blood in a human if it is excessive. If it is above BLOOD_VOLUME_NORMAL, this will clamp it to that value. It will not give the human more blodo than they have less than this value.
on_owner_login
Owner login
A simple proc to be overwritten if something needs to be done when a mob logs in. Does nothing by default.
Arguments:
- owner - The owner of our species.
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.
overlay_pain
Sends an icon to the screen that gives an approximate indication of the mob's pain. Looks like spikes/barbed wire.
overlay_pleasure
Sends an icon to the screen that gives an approximate indication of the mob's pleasure. Looks like a pink-white border on the arousal alert heart.
pre_equip_species_outfit
Equips the necessary species-relevant gear before putting on the rest of the uniform.
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.
randomize_active_underwear
Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob
randomize_active_underwear_only
Proc that will randomise the underwear (i.e. top, pants and socks) of a species' associated mob, but will not update the body right away.
randomize_main_appearance_element
Proc that will randomise the hair, or primary appearance element (i.e. for moths wings) of a species' associated mob
remove_body_markings
Remove body markings
replace_body
Handles replacing all of the bodyparts with their species version during set_species()
set_custom_worn_icon
Modularly set one of worn_icon_vox, worn_icon_teshari, etc. Arguments:
- item_slot: The slot we're updating. One of OFFSET_HEAD, etc.
- item is the item we're updating.
- icon is the icon we're setting to the var.
set_custom_worn_icon_cached
Write to a freely usable cache of generated icons for your species. Arguments:
- file_to_use: icon you're substituting
- state_to_use: icon state you're substituting
- meta: string containing other info.
- cached_value: Cached value
stagger_combo
Handles the stagger combo effect of our punch. Follows the same logic as the above proc, target is our owner, user is our attacker.
throw_arousal_alert
Sends an icon to the screen that gives an approximate indication of the mob's arousal.
try_dislocate
Attempts to perform a limb dislocation, with the user violently twisting one of target's limbs (as passed in). Only useful for extremities, because only extremities can eat dislocations.
try_grab_maneuver
Tries a grab maneuver - suplex, limb dislocation, or headslam depending on targeted limb.
try_headslam
Attempts to perform a headslam, with the user slamming target's head into the floor. (Does not account for the potential nonexistence of aforementioned floor, e.g. space.)
try_suplex
Attempts to perform a suplex after SUPLEX_TIMER, causing both to be stunned. (Why spacemen are able to do such a thing on reflex, nobody knows.)
update_body_markings
Update the overlays if necessary