San Francisco - Modules - TypesVar Details - Proc Details

human

Any humanoid (non-Xeno) mob, such as humans, plasmamen, lizards.

Vars

afk_theftsWhen an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds
base_mob_heightBase height of the mob, modified by stuff like dwarfism or species
blood_in_handsHow many "units of blood" we have on our hands
coretemperatureThe core temperature of the human compaired to the skin temp of the body
eye_color_heterochromaticVar used to keep track of a human mob having a heterochromatic right eye. To ensure prefs don't overwrite shit
grad_colorColours used for hair and facial hair gradients.
grad_styleStyles used for hair and facial hair gradients.
heat_exposure_stacksExposure to damaging heat levels increases stacks, stacks clean over time when temperatures are lower. Stack is consumed to add a wound.
last_death_infoA datum that tracks all the information at the time of there death. Used for powers that tell you the sitatuons of there demise.
mob_heightActual height of the mob. Don't touch this one, it is set via update_mob_height()
override_voiceAllows for special overrides of voice
physiqueWhich body type to use
received_ownership_keysList of ownership types the player has claimed keys for (e.g., "apartment", "car")
seconds_in_low_pressureTracks how long in seconds we've been in a low pressure environment

Procs

add_blood_DNA_to_itemsAdds blood DNA to certain slots the mob is wearing
adjust_coretemperatureAdjust the core temperature of a mob
apply_height_filtersApplies a filter to an appearance according to mob height
apply_height_offsetsUsed in some circumstances where appearances can get cut off from the mob sprite from being too tall
burn_clothingUsed by fire code to damage worn items.
change_st_power_levelChange the level of a power the mob possesses.
check_pocket_weghtSignal proc for COMSIG_ATOM_CONTENTS_WEIGHT_CLASS_CHANGED to check if an item is suddenly too heavy for our pockets
check_reflectReflection checks for anything in your l_hand, r_hand, or wear_suit based on the reflection chance of the object
clean_faceCalled on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal
copy_clothing_prefscopies over clothing preferences like underwear to another human
crabizeTurns the source atom into a crab crab, the peak of evolutionary design.
crewlike_monkifyProc used to make monkey roles able to function like crew, but not be able to shift into humans easily.
do_cprPerforms CPR on the target after a delay.
electrocute_actCalculates the siemens coeff based on clothing and species, can also restart hearts.
equip_outfit_and_loadoutEquips this mob with a given outfit and loadout items as per the passed preferences.
equip_species_outfitA version of equipOutfit that overrides passed in outfits with their entry on the species' outfit override registry
fan_hud_set_fandomFAN HUDs! For identifying other fans on-sight.
force_sayMakes the player force say what's in their current input box. Arguments: alter_phrases - Optional list of alternate suffixes to blurt out immediate - If [TRUE], the say must be invoked inline due to side effects that may cause the mob to be unable to speak
format_scarsFor use formatting all of the scars this human has for saving for persistent scarring, returns a string with all current scars/missing limb amputation scars for saving or loading purposes
get_age_textReports how old the mob appears to be
get_base_mob_heightGets the mob's base height, ignoring adjustments from traits or species Necessary due to VAR_PRIVATE (it's not used in hot code anyways)
get_body_temp_normalget_body_temperature Returns the body temperature with any modifications applied
get_clothing_on_partGet all the clothing on a specific body part
get_equipped_itemsUsed to return a list of equipped items on a human mob; does not by default include held items, see include_flags
get_medhud_examine_infoCollects information displayed about src when examined by a user with a medical HUD.
get_mismatched_limb_textReports all body parts which are mismatched with the user's species
get_missing_organsReturns a list of all missing organs this species should have
get_underwear_overlaysReturns a list of all underclothing overlays to be applied to the mob
get_visible_nameCombines get_id_name() and get_face_name() to determine a mob's name variable. Made into a separate proc as it'll be useful elsewhere
give_emote_overlayCreates a new emote bodypart overlay and applies it to the human. The overlay can be removed by simply deleting the returned overlay.
give_st_powerAdd a power with a certain level to the mob. Fails if no splat compatible with the power is found
give_st_powersAdd a list of powers with certain levels to the mob.
handle_environmentEnvironment handlers for species
hardset_dnaSets the DNA of the mob to the given DNA.
increment_scar_slotWhen we're joining the game in /mob/dead/new_player/proc/create_character, we increment our scar slot then store the slot in our mind datum.
infuse_organAttempt to replace/add-to the occupant's organs with "mutated" equivalents. Returns TRUE on success, FALSE on failure. Requires the target mob to have an existing organic organ to "mutate".
invisible_man_toggleWhen TRAIT_INVISIBLE_MAN is added or removed we need to update a few things
load_persistent_scarsRead all the scars we have for the designated character/scar slots, verify they're good/dump them if they're old/wrong format, create them on the user, and write the scars that passed muster back to the file
load_scarTakes a single scar from the persistent scar loader and recreates it from the saved data
make_full_human_copyMakes a full copy of src and returns it. Attempts to copy as much as possible to be a close to the original. This includes job outfit (which handles skillchips), quirks, and mutations. We do not set a mind here, so this is purely the body. Args: location - The turf the human will be spawned on.
name_overrideFor Guestbooks.
no_underwear_toggleWhen TRAIT_NO_UNDERWEAR is added or removed we need to update our body to hide or show underwear sprites
on_dwarf_traitGaining or losing [TRAIT_DWARF] updates our height and grants passtable
on_stakedGaining [TRAIT_STAKED] forces us into torpor if we're kindred, and just murders us if we're not.
on_tootall_traitGaining or losing TRAIT_TOO_TALL updates our height
on_unstakedLosing [TRAIT_STAKED] forces us out of torpor if we're kindred.
pick_infusion_organPicks a random mutated organ from the given infuser entry which is also compatible with this human. Tries to return a typepath of a valid mutant organ if all of the following criteria are true:
psykerizeProc with no side effects that turns someone into a psyker. returns FALSE if it could not psykerize.
randomize_human_appearanceFully randomizes everything according to the given flags.
remove_st_powerRemove a power from the mob.
render_only_headMakes all aspects of the mob invisibile but the head and its associated sprites
rot_bodyRots the vampire's body along four stages of decay.
save_persistent_scarsSave any scars we have to our designated slot, then write our current slot so that the next time we call /mob/living/carbon/human/proc/increment_scar_slot (the next round we join), we'll be there
send_applicable_messagesAny "special" suicide messages are handled by the related item that the mob uses to kill itself. This is just messages for when it's done with the bare hands.
set_auspiceGives the human a Auspice, applying on_gain effects and post_gain effects if the parameter is true. Can also remove Auspices with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the Auspice it already has.
set_body_spriteAssigns a human an alternative body sprite accounting for body model. If no sprite name is supplied, sets it to the default for the human depending on species or Clan.
set_breed_formGives the human a breed_form, applying on_gain effects and post_gain effects if the parameter is true. Can also remove breed_forms with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the breed_form it already has.
set_clanGives the human a vampiric Clan, applying on_gain effects and post_gain effects if the parameter is true. Can also remove Clans with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the Clan it already has.
set_eye_colorSets both mob's and eye organ's eye color values If color_right is not passed, its assumed to be the same as color_left
set_fera_tribeGives the human a tribe, applying on_gain effects and post_gain effects if the parameter is true. Can also remove tribes with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the tribe it already has.
set_mob_heightSetter for mob height - updates the base height of the mob (which is then adjusted by traits or species)
set_service_styleGives the appearance of being an agent
setup_organless_effectsThis proc is for holding effects applied when a mob is missing certain organs It is called very, very early in human init because all humans innately spawn with no organs and gain them during init Gaining said organs removes these effects
singularity_actOverrides the point value that the mob is worth
slow_psykerizeflavorful variant of psykerizing that deals damage and sends messages before calling psykerize()
smart_equip_targetedtake the most recent item out of a slot or place held item in a slot
something_horribleDNA HELPER-PROCS
toggle_externalsReturns TRUE if the tank successfully toggles open/closed. Opens the tank only if a breathing apparatus is found.
update_ID_cardSecurity HUDs! Basic mode shows only the job.
update_face_offsetUpdates face (as of now, only eye) offsets
update_mob_heightUpdates the mob's height
update_visible_nameUsed to update our name based on whether our face is obscured/disfigured
washCalled when this human should be washed
wash_handsWash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured.
write_preference_midroundPreliminary wrapper for the prefs write_preference_midround that ensures your acctually on the same character as the one you spawned in as.

Var Details

afk_thefts

When an braindead player has their equipment fiddled with, we log that info here for when they come back so they know who took their ID while they were DC'd for 30 seconds

base_mob_height

Base height of the mob, modified by stuff like dwarfism or species

blood_in_hands

How many "units of blood" we have on our hands

coretemperature

The core temperature of the human compaired to the skin temp of the body

eye_color_heterochromatic

Var used to keep track of a human mob having a heterochromatic right eye. To ensure prefs don't overwrite shit

grad_color

Colours used for hair and facial hair gradients.

grad_style

Styles used for hair and facial hair gradients.

heat_exposure_stacks

Exposure to damaging heat levels increases stacks, stacks clean over time when temperatures are lower. Stack is consumed to add a wound.

last_death_info

A datum that tracks all the information at the time of there death. Used for powers that tell you the sitatuons of there demise.

mob_height

Actual height of the mob. Don't touch this one, it is set via update_mob_height()

override_voice

Allows for special overrides of voice

physique

Which body type to use

received_ownership_keys

List of ownership types the player has claimed keys for (e.g., "apartment", "car")

seconds_in_low_pressure

Tracks how long in seconds we've been in a low pressure environment

Proc Details

add_blood_DNA_to_items

Adds blood DNA to certain slots the mob is wearing

adjust_coretemperature

Adjust the core temperature of a mob

vars:

apply_height_filters

Applies a filter to an appearance according to mob height

apply_height_offsets

Used in some circumstances where appearances can get cut off from the mob sprite from being too tall

upper_torso is to specify whether the appearance is locate in the upper half of the mob rather than the lower half, higher up things (hats for example) need to be offset more due to the location of the filter displacement

burn_clothing

Used by fire code to damage worn items.

Arguments:

change_st_power_level

Change the level of a power the mob possesses.

check_pocket_weght

Signal proc for COMSIG_ATOM_CONTENTS_WEIGHT_CLASS_CHANGED to check if an item is suddenly too heavy for our pockets

check_reflect

Reflection checks for anything in your l_hand, r_hand, or wear_suit based on the reflection chance of the object

clean_face

Called on the COMSIG_COMPONENT_CLEAN_FACE_ACT signal

copy_clothing_prefs

copies over clothing preferences like underwear to another human

crabize

Turns the source atom into a crab crab, the peak of evolutionary design.

crewlike_monkify

Proc used to make monkey roles able to function like crew, but not be able to shift into humans easily.

do_cpr

Performs CPR on the target after a delay.

electrocute_act

Calculates the siemens coeff based on clothing and species, can also restart hearts.

equip_outfit_and_loadout

Equips this mob with a given outfit and loadout items as per the passed preferences.

Loadout items override the pre-existing item in the corresponding slot of the job outfit. Some job items are preserved after being overridden - belt items, ear items, and glasses. The rest of the slots, the items are overridden completely and deleted.

Species with special outfits are snowflaked to have loadout items placed in their bags instead of overriding the outfit.

equip_species_outfit

A version of equipOutfit that overrides passed in outfits with their entry on the species' outfit override registry

fan_hud_set_fandom

FAN HUDs! For identifying other fans on-sight.

force_say

Makes the player force say what's in their current input box. Arguments: alter_phrases - Optional list of alternate suffixes to blurt out immediate - If [TRUE], the say must be invoked inline due to side effects that may cause the mob to be unable to speak

format_scars

For use formatting all of the scars this human has for saving for persistent scarring, returns a string with all current scars/missing limb amputation scars for saving or loading purposes

get_age_text

Reports how old the mob appears to be

get_base_mob_height

Gets the mob's base height, ignoring adjustments from traits or species Necessary due to VAR_PRIVATE (it's not used in hot code anyways)

get_body_temp_normal

get_body_temperature Returns the body temperature with any modifications applied

This applies the result from proc/get_body_temp_normal_change() against the bodytemp_normal for the species and returns the result

arguments:

get_clothing_on_part

Get all the clothing on a specific body part

get_equipped_items

Used to return a list of equipped items on a human mob; does not by default include held items, see include_flags

Argument(s):

get_medhud_examine_info

Collects information displayed about src when examined by a user with a medical HUD.

get_mismatched_limb_text

Reports all body parts which are mismatched with the user's species

get_missing_organs

Returns a list of all missing organs this species should have

list [key] is the ORGAN_SLOT missing an organ, list value is the text name of the slot organ

get_underwear_overlays

Returns a list of all underclothing overlays to be applied to the mob

get_visible_name

Combines get_id_name() and get_face_name() to determine a mob's name variable. Made into a separate proc as it'll be useful elsewhere

give_emote_overlay

Creates a new emote bodypart overlay and applies it to the human. The overlay can be removed by simply deleting the returned overlay.

Returns the given overlay, which can be deleted to stop displaying it. Will return null if no bodypart matching the overlay's attached_body_zone field can be found.

give_st_power

Add a power with a certain level to the mob. Fails if no splat compatible with the power is found

give_st_powers

Add a list of powers with certain levels to the mob.

Defaults to level 1 if no corresponding level is given for a power. Adds the power to a splat that can support it, fails if no splats compatible with the power are found.

Arguments:

handle_environment

Environment handlers for species

hardset_dna

Sets the DNA of the mob to the given DNA.

increment_scar_slot

When we're joining the game in /mob/dead/new_player/proc/create_character, we increment our scar slot then store the slot in our mind datum.

infuse_organ

Attempt to replace/add-to the occupant's organs with "mutated" equivalents. Returns TRUE on success, FALSE on failure. Requires the target mob to have an existing organic organ to "mutate".

invisible_man_toggle

When TRAIT_INVISIBLE_MAN is added or removed we need to update a few things

load_persistent_scars

Read all the scars we have for the designated character/scar slots, verify they're good/dump them if they're old/wrong format, create them on the user, and write the scars that passed muster back to the file

load_scar

Takes a single scar from the persistent scar loader and recreates it from the saved data

make_full_human_copy

Makes a full copy of src and returns it. Attempts to copy as much as possible to be a close to the original. This includes job outfit (which handles skillchips), quirks, and mutations. We do not set a mind here, so this is purely the body. Args: location - The turf the human will be spawned on.

name_override

For Guestbooks.

no_underwear_toggle

When TRAIT_NO_UNDERWEAR is added or removed we need to update our body to hide or show underwear sprites

on_dwarf_trait

Gaining or losing [TRAIT_DWARF] updates our height and grants passtable

on_staked

Gaining [TRAIT_STAKED] forces us into torpor if we're kindred, and just murders us if we're not.

on_tootall_trait

Gaining or losing TRAIT_TOO_TALL updates our height

on_unstaked

Losing [TRAIT_STAKED] forces us out of torpor if we're kindred.

pick_infusion_organ

Picks a random mutated organ from the given infuser entry which is also compatible with this human. Tries to return a typepath of a valid mutant organ if all of the following criteria are true:

  1. Target must have a pre-existing organ in the same organ slot as the new organ;
  1. Target's pre-existing organ must be organic / not robotic.
  2. Target must not have the same/identical organ.

psykerize

Proc with no side effects that turns someone into a psyker. returns FALSE if it could not psykerize.

randomize_human_appearance

Fully randomizes everything according to the given flags.

remove_st_power

Remove a power from the mob.

render_only_head

Makes all aspects of the mob invisibile but the head and its associated sprites

rot_body

Rots the vampire's body along four stages of decay.

Vampire bodies are either pre-decayed if they're Cappadocians, or they decay on death to what their body should naturally be according to their chronological age. Stage 1 is fairly normal looking with discoloured skin, stage 2 is somewhat decayed-looking, stage 3 is very decayed, and stage 4 is a long-dead completely decayed corpse. This has no effect on Clans that already have alt_sprites unless they're being rotted to stage 3 and above.

Arguments:

save_persistent_scars

Save any scars we have to our designated slot, then write our current slot so that the next time we call /mob/living/carbon/human/proc/increment_scar_slot (the next round we join), we'll be there

send_applicable_messages

Any "special" suicide messages are handled by the related item that the mob uses to kill itself. This is just messages for when it's done with the bare hands.

set_auspice

Gives the human a Auspice, applying on_gain effects and post_gain effects if the parameter is true. Can also remove Auspices with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the Auspice it already has.

Arguments:

set_body_sprite

Assigns a human an alternative body sprite accounting for body model. If no sprite name is supplied, sets it to the default for the human depending on species or Clan.

Arguments:

set_breed_form

Gives the human a breed_form, applying on_gain effects and post_gain effects if the parameter is true. Can also remove breed_forms with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the breed_form it already has.

Arguments:

set_clan

Gives the human a vampiric Clan, applying on_gain effects and post_gain effects if the parameter is true. Can also remove Clans with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the Clan it already has.

Arguments:

set_eye_color

Sets both mob's and eye organ's eye color values If color_right is not passed, its assumed to be the same as color_left

set_fera_tribe

Gives the human a tribe, applying on_gain effects and post_gain effects if the parameter is true. Can also remove tribes with or without a replacement, and apply on_lose effects. Will have no effect the human is being given the tribe it already has.

Arguments:

set_mob_height

Setter for mob height - updates the base height of the mob (which is then adjusted by traits or species)

set_service_style

Gives the appearance of being an agent

setup_organless_effects

This proc is for holding effects applied when a mob is missing certain organs It is called very, very early in human init because all humans innately spawn with no organs and gain them during init Gaining said organs removes these effects

singularity_act

Overrides the point value that the mob is worth

slow_psykerize

flavorful variant of psykerizing that deals damage and sends messages before calling psykerize()

smart_equip_targeted

take the most recent item out of a slot or place held item in a slot

something_horrible

DNA HELPER-PROCS

toggle_externals

Returns TRUE if the tank successfully toggles open/closed. Opens the tank only if a breathing apparatus is found.

update_ID_card

Security HUDs! Basic mode shows only the job.

update_face_offset

Updates face (as of now, only eye) offsets

update_mob_height

Updates the mob's height

Mainly so that dwarfism can adjust height without needing to override existing height

Returns a mob height num

update_visible_name

Used to update our name based on whether our face is obscured/disfigured

wash

Called when this human should be washed

wash_hands

Wash the hands, cleaning either the gloves if equipped and not obscured, otherwise the hands themselves if they're not obscured.

Returns false if we couldn't wash our hands due to them being obscured, otherwise true

write_preference_midround

Preliminary wrapper for the prefs write_preference_midround that ensures your acctually on the same character as the one you spawned in as.