living
Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) Oxygen depravation damage (no air in lungs) Toxic damage caused by being poisoned or radiated Burn damage caused by being way too hot, too cold or burnt. Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims Used by [living/Bump()][/mob/living/proc/Bump] and [living/PushAM()][/mob/living/proc/PushAM] to prevent potential infinite loop.
Vars | |
active_grabs | A lazylist of grab objects we have |
---|---|
blood_volume | converted to a list of stun absorption sources this mob has when one is added |
body_maptext_height_offset | The height offset of a mob's maptext due to their current size. |
body_position | Variable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily). |
body_position_pixel_x_offset | The x amount a mob's sprite should be offset due to the current position they're in |
body_position_pixel_y_offset | The y amount a mob's sprite should be offset due to the current position they're in or size (e.g. lying down moves your sprite down) |
body_temp_changes | List of changes to body temperature, used by desease symtoms like fever |
bubble_icon | used to prevent spam with smoke reagent reaction on mob. |
butcher_difficulty | these will always be yielded from butchering |
butcher_results | the id a mob gets when it's created |
can_buckle_to | Is this mob allowed to be buckled/unbuckled to/from things? |
chem_effects | Chemical effects. Built by the chemical processing stage of Life(). |
combat_mode | If combat mode is on or not |
current_size | Tracks the scale of the mob transformation matrix in relation to its identity. Use update_transform(resize) to change it. |
current_turf_slowdown | what multiplicative slowdown we get from turfs currently. |
default_num_hands | How many hands does this mob have by default. This shouldn't change at runtime. |
default_num_legs | does the mob have distinct limbs?(arms,legs, chest,head) How many legs does this mob have by default. This shouldn't change at runtime. |
disease_resistances | list of all diseases in a mob |
fire_stack_decay_rate | Rate at which fire stacks should decay from this mob |
gravity_state | What our current gravity state is. Used to avoid duplicate animates and such |
guaranteed_butcher_results | these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness |
gunpoint | Gunpoint container |
hardcrit_threshold | when the mob goes from "normal" to crit When the mob enters hard critical state and is fully incapacitated. |
has_limbs | more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. |
health | The mob's current health. |
health_doll_icon | what icon the mob uses for speechbubbles |
held_type | The type of /obj/item/mob_holder to create if the mob is picked up. |
held_w_class | The w_class of the holder when held. |
implants | a list of all status effects the mob has |
incorporeal_move | Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects. |
initial_size | How the mob transformation matrix is scaled on init. |
last_bumped | if this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi |
last_special | Directly affects how long a mob will hallucinate for |
last_vent_dir | The last direction we moved in a vent. Used to make holding two directions feel nice |
life_ticks | How many ticks of Life() has this mob gone through |
living_flags | Generic bitflags for boolean conditions at the /mob/living level. Keep this for inherent traits of living types, instead of runtime-changeable ones. |
lying_angle | Number of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on. |
lying_prev | Value of lying lying_angle before last change. TODO: Remove the need for this. |
maxHealth | Maximum health that should be possible. |
mob_mood | Mood datum, can be null. |
mob_surgery_speed_mod | Mob specific surgery speed modifier |
mobility_flags | Flags that determine the potential of a mob to perform certain actions. Do not change this directly. |
navigate_cooldown | Cooldown of the navigate() verb. |
num_hands | How many hands hands does this mob currently have. Should only be changed through set_num_hands() |
num_legs | How many legs does this mob currently have. Should only be changed through set_num_legs() |
numba | if a mob's name should be appended with an id when created e.g. Mob (666) |
on_fire | Helper vars for quick access to firestacks, these should be updated every time firestacks are adjusted |
pipetracker | Cell tracker datum we use to manage the pipes around us, for faster ventcrawling Should only exist if you're in a pipe |
rotate_on_lying | Does the mob rotate when lying |
see_override | how much blood the mob has |
stamina | The holder for stamina handling |
stasis_level | For each life tick, how many do we skip? |
stasis_sources | List of stasis sources to their given value |
stats | The container for stats and skills |
status_effects | 0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight() |
stun_absorption | effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier |
surgeries_in_progress | A lazylist of active surgeries and their relevant data. |
talkcount | The amount of times we've opened our stupid mouth |
timeofdeath | Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out. |
tod | Time of death |
usable_hands | How many usable hands does this mob currently have. Should only be changed through set_usable_hands() |
usable_legs | How many usable legs this mob currently has. Should only be changed through set_usable_legs() |
ventcrawl_layer | used for database logging |
voice_type | The talk chime set to use when speaking. |
worn_slot_flags | if it can be held, can it be equipped to any slots? (think pAI's on head) |
z_eye | Used for lookup/lookdown verbs |
Procs | |
Disorient | Applies the "disoriented" status effect to the mob, among other potential statuses. Args: |
Hear | Play a sound to indicate we just spoke |
IsDisoriented | placeholder |
IsFrozen | FROZEN |
Life | Handles the biological and general over-time processes of the mob. |
Login | pixel x/y/w/z all discard values after the decimal separator. That, coupled with the rendered interpolation, may make the icons look awfuller than they already are, or not, whatever. The solution to this nit is translating the missing decimals. also flooring increases the distance from 0 for negative numbers. Done last, as it can mess with the translation. scaling also affects translation, so we've to undo the old translate beforehand. |
PermaSleeping | Allows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over) |
Write_Memory | Proc used by different station pets such as Ian and Poly so that some of their data can persist between rounds. This base definition only contains a trait and comsig to stop memory from being (over)written. Specific behavior is defined on subtypes that use it. |
add_body_temperature_change | add_body_temperature_change Adds modifications to the body temperature |
add_movespeed_mod_immunities | Ignores specific slowdowns. Accepts a list of slowdowns. |
add_quirk | Adds the passed quirk to the mob |
adjustBloodVolume | BLOOD SYSTEM Adjusts blood volume, returning the difference. |
adjust_drunk_effect | Adjust the "drunk value" the mob is currently experiencing, or applies a drunk effect if the mob isn't currently drunk (or tipsy) |
adjust_fire_stacks | Adjust the amount of fire stacks on a mob |
adjust_incapacitated | |
adjust_status_effects_on_shake_up | CLEAR STATUS |
adjust_timed_status_effect | Adjusts a timed status effect on the mob,taking into account any existing timed status effects. This can be any status effect that takes into account "duration" with their initialize arguments. |
admin_give_speech_impediment | Admin only proc for giving a certain speech impediment to this mob |
after_grab_release | Called by grab objects when a grab has been released |
amount_incapacitated | Proc that returns the remaining duration of the status efect in deciseconds. |
apply_damage | Applies damage to this mob |
apply_damage_type | like apply_damage except it always uses the damage procs |
apply_damages | Applies multiple damages at once via apply_damage |
apply_effect | applies various common status effects or common hardcoded mob effects |
apply_effects | Applies multiple effects at once via /mob/living/proc/apply_effect |
apply_martial_art | Apply a martial art move from src to target. |
apply_pain | Applies pain to a mob. |
apply_prefs_job | Applies the preference options to the spawning mob, taking the job into account. Assumes the client has the proper mind. |
apply_status_effect | Applies a given status effect to this mob. |
befriend | Proc for giving a mob a new 'friend', generally used for AI control and targeting. Returns false if already friends. |
blurry_vision_change | Called when [TRAIT_BLURRY_EYES] is added or removed |
can_contract_pathogen | Returns TRUE if src can contract the passed pathogen. Note: This does not mean that the pathogen will be able to be applied to this mob. |
can_enter_vent | Checks if the mob is able to enter the vent, and provides feedback if they are unable to. |
can_inject | Returns whether or not the mob can be injected. Should not perform any side effects. |
can_look_up | Checks if the user is incapacitated or on cooldown. |
can_spread_airborne_pathogens | Returns TRUE if this mob is able to spread airborne pathogens. |
can_unarmed_attack | Checks if this mob is in a valid state to punch someone. |
canface | Checks mobility move as well as parent checks |
check_block | See if an attack is blocked by an item or effect. Returns TRUE if it is. |
dismembering_strike | Really weird proc that attempts to dismebmer the passed zone if it is at max damage Unless the attacker is an NPC, in which case it disregards the zone and picks a random one |
do_jitter_animation | Helper proc that causes the mob to do a jittering animation by jitter_amount. jitter_amount will only apply up to 300 (maximum jitter effect). |
do_slap_animation | Does a slap animation on an atom |
drag_damage | Take damage from being dragged while prone. Or not. You decide. |
dust | This is the proc for turning a mob into ash. Dusting robots does not eject the MMI, so it's a bit more powerful than gib() |
electrocute_act | As the name suggests, this should be called to apply electric shocks. |
execute_resist | proc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called |
expose_reagents | |
extinguish_mob | Extinguish all fire on the mob |
fakedeath | Induces fake death on a living mob. |
find_nearest_stair_or_ladder | Finds nearest ladder or staircase either up or down. |
flick_emote_popup_on_mob | A proc type that, when called, causes a image/sprite to appear above whatever entity it is called on. |
get_active_grab | Returns the currently selected grab item |
get_all_grabbed_movables | Returns a list of every movable we are grabbing |
get_attack_type | Returns the attack damage type of a living mob such as BRUTE. |
get_blood_dna_list | returns the mob's dna info as a list, to be inserted in an object's blood_DNA list |
get_body_temp_cold_damage_limit | Returns the body temperature at which this mob will start taking cold damage. |
get_body_temp_heat_damage_limit | Returns the body temperature at which this mob will start taking heat damage. |
get_body_temp_normal | get_body_temp_normal Returns the mobs normal body temperature with any modifications applied |
get_body_temp_normal_change | get_body_temp_normal_change Returns the aggregate change to body temperature |
get_damage_amount | return the damage amount for the type given |
get_drunk_amount | Helper to get the amount of drunkness the mob's currently experiencing. |
get_exp_list | Returns an assoc list of assignments and minutes for updating a client's exp time in the databse. |
get_fullness | Get the fullness of the mob |
get_idcard | Gets ID card from a mob. Argument: |
get_incoming_damage_modifier | Used in tandem with /mob/living/proc/apply_damage to calculate modifier applied into incoming damage |
get_organic_health | Returns the health of the mob while ignoring damage of non-organic (prosthetic) limbs Used by cryo cells to not permanently imprison those with damage from prosthetics, as they cannot be healed through chemicals. |
get_pixel_y_offset_standing | Returns what the body_position_pixel_y_offset should be if the current size were value |
get_quirk_string | get_quirk_string() is used to get a printable string of all the quirk traits someone has for certain criteria |
get_status_effect_examinations | The first 1-FLAVOR_PREVIEW_LIMIT characters in the mob's "examine_text" variable. FLAVOR_PREVIEW_LIMIT is defined in flavor_defines.dm. Shows any and all examine text related to any status effects the user has. |
get_taste_sensitivity | Gets taste sensitivity of given mob |
get_timed_status_effect_duration | Gets how many deciseconds are remaining in the duration of the passed status effect on this mob. |
gib | Blow up the mob into giblets |
give_unique_name | Gives simple mobs their unique/randomized name. |
gravity_setup | Living Mob use event based gravity We check here to ensure we haven't dropped any gravity changes |
handle_grabs_during_movement | Called during or immediately after movement. Used to move grab targets around to ensure the grabs do not break during movement. |
handle_ventcrawl | Handles the entrance and exit on ventcrawling |
has_pathogen | Returns TRUE if src is afflicted by a copy of the provided pathogen. |
has_reagent | Check if the mob contains this reagent. |
has_status_effect | Checks if this mob has a status effect that shares the passed effect's ID |
has_status_effect_list | Returns a list of all status effects that share the passed effect type's ID |
hasparasites | parasite tracking/finding procs |
heal_bodypart_damage | heal ONE external organ, organ gets randomly selected from damaged ones. |
heal_ordered_damage | heal up to amount damage, in a given order |
heal_overall_damage | heal MANY bodyparts, in random order |
ignore_slowdown | Ignores all slowdowns that lack the IGNORE_NOSLOW flag. |
in_fov | Is observed_atom in a mob's field of view? This takes blindness, nearsightness and FOV into consideration |
incapacitate | |
incapacitated | Checks if a mob is incapacitated |
is_face_visible | Only defined for carbons who can wear masks and helmets, we just assume other mobs have visible faces |
is_grabbing | Returns TRUE if src is grabbing hold of the target |
leavesBloodTrail | Returns TRUE if we should try to leave a blood trail. |
lying_angle_on_movement | Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling. |
makeBloodTrail | Creates a trail of blood on Start, facing Direction |
mob_pickup | Spawn a /obj/item/mob_holder, move src into it, and put it into the hands of user . |
mob_try_pickup | Attempt to pick up a mob. |
move_grabbed_atoms_towards | Move grabbed atoms towards a destination |
move_into_vent | Moves living mob directly into the vent as a ventcrawler |
on_airflow_trait_gain | Called when TRAIT_EXPERIENCING_AIRFLOW is added to the mob. |
on_airflow_trait_loss | Called when TRAIT_EXPERIENCING_AIRFLOW is removed from the mob. |
on_clumsy_trait_gain | Called when [TRAIT_CLUMSY] is added to the mob. |
on_clumsy_trait_loss | Called when [TRAIT_CLUMSY] is removed from the mob. |
on_deathcoma_trait_gain | Called when TRAIT_DEATHCOMA is added to the mob. |
on_deathcoma_trait_loss | Called when TRAIT_DEATHCOMA is removed from the mob. |
on_exhausted_trait_gain | Called when TRAIT_EXHAUSTED is added to the mob. |
on_exhausted_trait_loss | Called when TRAIT_EXHAUSTED is removed from the mob. |
on_fall | Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment. |
on_fire_stack | Handles effects happening when mob is on normal fire |
on_floored_end | Proc to append behavior to the condition of being floored. Called when the condition ends. |
on_floored_start | Proc to append behavior to the condition of being floored. Called when the condition starts. |
on_floored_trait_gain | Called when TRAIT_FLOORED is added to the mob. |
on_floored_trait_loss | Called when TRAIT_FLOORED is removed from the mob. |
on_force_gravity | Called when TRAIT_FORCED_GRAVITY is gained or lost |
on_forced_standing_trait_gain | Called when TRAIT_FORCED_STANDING is added to the mob. |
on_forced_standing_trait_loss | Called when TRAIT_FORCED_STANDING is removed from the mob. |
on_handsblocked_end | Proc to append behavior to the condition of being handsblocked. Called when the condition ends. |
on_handsblocked_start | Proc to append behavior to the condition of being handsblocked. Called when the condition starts. |
on_handsblocked_trait_gain | Called when TRAIT_HANDS_BLOCKED is added to the mob. |
on_handsblocked_trait_loss | Called when TRAIT_HANDS_BLOCKED is removed from the mob. |
on_hearing_loss | Called when [TRAIT_DEAF] is added to the mob. |
on_hearing_regain | Called when [TRAIT_DEAF] is added to the mob. |
on_ignore_gravity | Called when TRAIT_IGNORING_GRAVITY is gained or lost |
on_immobilized_trait_gain | Called when TRAIT_IMMOBILIZED is added to the mob. |
on_immobilized_trait_loss | Called when TRAIT_IMMOBILIZED is removed from the mob. |
on_incapacitated_trait_gain | Called when [TRAIT_INCAPACITATED] is added to the mob. |
on_incapacitated_trait_loss | Called when [TRAIT_INCAPACITATED] is removed from the mob. |
on_knockedout_trait_gain | Called when TRAIT_KNOCKEDOUT is added to the mob. |
on_knockedout_trait_loss | Called when TRAIT_KNOCKEDOUT is removed from the mob. |
on_loc_force_gravity | Called when our loc's TRAIT_FORCED_GRAVITY is gained or lost |
on_lying_down | Proc to append behavior related to lying down. |
on_movement_type_flag_disabled | From [element/movetype_handler/on_movement_type_trait_loss()] |
on_movement_type_flag_enabled | From [element/movetype_handler/on_movement_type_trait_gain()] |
on_negate_gravity | Called when TRAIT_NEGATES_GRAVITY is gained or lost |
on_pull_blocked_trait_gain | Called when TRAIT_PULL_BLOCKED is added to the mob. |
on_pull_blocked_trait_loss | Called when TRAIT_PULL_BLOCKED is removed from the mob. |
on_restrained_trait_gain | Called when TRAIT_ARMS_RESTRAINED is added to the mob. |
on_restrained_trait_loss | Called when TRAIT_ARMS_RESTRAINED is removed from the mob. |
on_skittish_trait_gain | Called when [TRAIT_SKITTISH] is added to the mob. |
on_skittish_trait_loss | Called when [TRAIT_SKITTISH] is removed from the mob. |
on_stamina_update | Called by [update()][/datum/stamina_container/proc/update] |
on_standing_up | Proc to append behavior related to lying down. |
on_take_combat_damage | Called when we take damage, used to cause effects such as a blood splatter. |
on_ui_blocked_trait_gain | Called when TRAIT_UI_BLOCKED is added to the mob. |
on_ui_blocked_trait_loss | Called when TRAIT_UI_BLOCKED is removed from the mob. |
pre_stamina_change | Called by the stamina holder, passing the change in stamina to modify. |
recursively_get_all_grabbed_movables | Gets every grabbed atom of this mob, and every grabbed atom of that grabber, repeat |
recursively_get_conga_line | Gets every grab object owned by this mob, and every grabbed atom of those grabbed mobs |
refresh_gravity | Handles gravity effects. Call if something about our gravity has potentially changed! |
register_init_signals | Called on /mob/living/Initialize(mapload), for the mob to register to relevant signals. |
release_active_grab | Releases the currently selected grab item |
release_all_grabs | Release all grabs we have |
release_grabs | Release the given movable from a grab |
remove_body_temperature_change | remove_body_temperature_change Removes the modifications to the body temperature |
remove_emote_popup_on_mob | A proc that is automatically called whenever flick_emote_popup_on_mob's addtimer expires, and removes the popup. |
remove_movespeed_mod_immunities | Unignores specific slowdowns. Accepts a list of slowdowns. |
remove_status_effect | Removes all instances of a given status effect from this mob |
resist_buckle | Attempt to break out of a buckle. Returns TRUE if successful. |
resolve_unarmed_attack | Called by UnarmedAttack(), directs the proc to a type-specified child proc. |
right_click_attack_chain | Checks for RIGHT_CLICK in modifiers and runs attack_hand_secondary if so. Returns TRUE if normal chain blocked |
set_body_position | Changes the value of the [living/body_position] variable. |
set_buckled | Reports the event of the change in value of the buckled variable. |
set_drunk_effect | Directly sets the "drunk value" the mob is currently experiencing to the passed value, or applies a drunk effect with the passed value if the mob isn't currently drunk |
set_fire_stacks | Set the fire stacks on a mob |
set_health | Sets the current mob's health value. Do not call directly if you don't know what you are doing, use the damage procs, instead. |
set_incapacitated | |
set_lying_angle | Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions. |
set_lying_down | Change the [body_position] to LYING_DOWN and update associated behavior. |
set_num_hands | Proc to modify the value of num_hands and hook behavior associated to this event. |
set_num_legs | Proc to modify the value of num_legs and hook behavior associated to this event. |
set_resting | Proc to hook behavior to the change of value in the resting variable. |
set_safe_hunger_level | Sets the mob's hunger levels to a safe overall level. Useful for TRAIT_NOHUNGER species changes. |
set_timed_status_effect | Sets a timed status effect of some kind on a mob to a specific value. If only_if_higher is TRUE, it will only set the value up to the passed duration, so any pre-existing status effects of the same type won't be reduced down |
set_usable_hands | Proc to modify the value of usable_hands and hook behavior associated to this event. |
set_usable_legs | Proc to modify the value of usable_legs and hook behavior associated to this event. |
shared_living_ui_distance | public |
singularity_act | Logs, gibs and returns point values of whatever mob is unfortunate enough to get eaten. |
sleeping_carp_help | Verb added to humans who learn the art of the sleeping carp. |
stamina_swing | Take away stamina from an attack being thrown. |
stat_roll | Perform a stat roll, returning a roll result datum. |
take_bodypart_damage | damage ONE external organ, organ gets randomly selected from damaged ones. |
take_overall_damage | damage MANY bodyparts, in random order |
tram_slam_land | A proc triggered by callback when someone gets slammed by the tram and lands somewhere. |
transfer_blood_to | BLOOD TRANSFERS |
treat_message | Treats the passed message with things that may modify speech (stuttering, slurring etc). |
try_airborne_contract_pathogen | Attempt to contract a disease through the air. Returns TRUE on infection. |
try_contact_contract_pathogen | Attempt to contract a disease through touch. Returns TRUE on infection. |
try_contract_pathogen | Attempt to contract a pathogen. Returns TRUE on infection. |
try_inject | Like can_inject, but it can perform side effects. |
try_make_grab | Attempt to create a grab, returns TRUE on success |
try_slapcraft | Have a living mob attempt to do a slapcraft. The mob is using the second item on the first item. |
unequip_everything | Drop all items to the floor. |
unfriend | Proc for removing a friend you added with the proc 'befriend'. Returns true if you removed a friend. |
unignore_slowdown | Unignores all slowdowns that lack the IGNORE_NOSLOW flag. |
update_fire_overlay | Sets fire overlay of the mob. |
update_fullscreen | Proc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc. |
update_med_hud | Updates both the Health and Status huds. ATOM HUDS, NOT SCREEN HUDS. |
update_pipe_vision | Everything related to pipe vision on ventcrawling is handled by update_pipe_vision(). Called on exit, entrance, and pipenet differences (e.g. moving to a new pipenet). One important thing to note however is that the movement of the client's eye is handled by the relaymove() proc in /obj/machinery/atmospherics. We move first and then call update. Dont flip this around |
update_resting | Proc to append and redefine behavior to the change of the [/mob/living/var/resting] variable. |
update_slots_for_item | Update any visuals relating to an item when it's equipped, unequipped, or it's flags_inv changes. |
update_transform | Called whenever a mob should be resized or for standing/lying up. |
update_wound_overlays | Proc that only really gets called for humans, to handle bleeding overlays. |
whisper | Living level whisper. |
will_escape_storage | Whether or not this mob will escape from storages while being picked up/held. |
wipe_inventory | Delete all held/equipped items. |
Var Details
active_grabs
A lazylist of grab objects we have
blood_volume
converted to a list of stun absorption sources this mob has when one is added
body_maptext_height_offset
The height offset of a mob's maptext due to their current size.
body_position
Variable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).
body_position_pixel_x_offset
The x amount a mob's sprite should be offset due to the current position they're in
body_position_pixel_y_offset
The y amount a mob's sprite should be offset due to the current position they're in or size (e.g. lying down moves your sprite down)
body_temp_changes
List of changes to body temperature, used by desease symtoms like fever
bubble_icon
used to prevent spam with smoke reagent reaction on mob.
butcher_difficulty
these will always be yielded from butchering
butcher_results
the id a mob gets when it's created
can_buckle_to
Is this mob allowed to be buckled/unbuckled to/from things?
chem_effects
Chemical effects. Built by the chemical processing stage of Life().
combat_mode
If combat mode is on or not
current_size
Tracks the scale of the mob transformation matrix in relation to its identity. Use update_transform(resize) to change it.
current_turf_slowdown
what multiplicative slowdown we get from turfs currently.
default_num_hands
How many hands does this mob have by default. This shouldn't change at runtime.
default_num_legs
does the mob have distinct limbs?(arms,legs, chest,head) How many legs does this mob have by default. This shouldn't change at runtime.
disease_resistances
list of all diseases in a mob
fire_stack_decay_rate
Rate at which fire stacks should decay from this mob
gravity_state
What our current gravity state is. Used to avoid duplicate animates and such
guaranteed_butcher_results
these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness
gunpoint
Gunpoint container
hardcrit_threshold
when the mob goes from "normal" to crit When the mob enters hard critical state and is fully incapacitated.
has_limbs
more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
health
The mob's current health.
health_doll_icon
what icon the mob uses for speechbubbles
held_type
The type of /obj/item/mob_holder to create if the mob is picked up.
held_w_class
The w_class of the holder when held.
implants
a list of all status effects the mob has
incorporeal_move
Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
FALSE is off, INCORPOREAL_MOVE_BASIC is normal, INCORPOREAL_MOVE_SHADOW is for ninjas and INCORPOREAL_MOVE_JAUNT is blocked by holy water/salt
initial_size
How the mob transformation matrix is scaled on init.
last_bumped
if this exists AND the normal sprite is bigger than 32x32, this is the replacement icon state (because health doll size limitations). the icon will always be screen_gen.dmi
last_special
Directly affects how long a mob will hallucinate for
last_vent_dir
The last direction we moved in a vent. Used to make holding two directions feel nice
life_ticks
How many ticks of Life() has this mob gone through
living_flags
Generic bitflags for boolean conditions at the /mob/living level. Keep this for inherent traits of living types, instead of runtime-changeable ones.
lying_angle
Number of degrees of rotation of a mob. 0 means no rotation, up-side facing NORTH. 90 means up-side rotated to face EAST, and so on.
lying_prev
Value of lying lying_angle before last change. TODO: Remove the need for this.
maxHealth
Maximum health that should be possible.
mob_mood
Mood datum, can be null.
mob_surgery_speed_mod
Mob specific surgery speed modifier
mobility_flags
Flags that determine the potential of a mob to perform certain actions. Do not change this directly.
navigate_cooldown
Cooldown of the navigate() verb.
num_hands
How many hands hands does this mob currently have. Should only be changed through set_num_hands()
num_legs
How many legs does this mob currently have. Should only be changed through set_num_legs()
numba
if a mob's name should be appended with an id when created e.g. Mob (666)
on_fire
Helper vars for quick access to firestacks, these should be updated every time firestacks are adjusted
pipetracker
Cell tracker datum we use to manage the pipes around us, for faster ventcrawling Should only exist if you're in a pipe
rotate_on_lying
Does the mob rotate when lying
see_override
how much blood the mob has
stamina
The holder for stamina handling
stasis_level
For each life tick, how many do we skip?
stasis_sources
List of stasis sources to their given value
stats
The container for stats and skills
status_effects
0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight()
stun_absorption
effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier
surgeries_in_progress
A lazylist of active surgeries and their relevant data.
talkcount
The amount of times we've opened our stupid mouth
timeofdeath
Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.
tod
Time of death
usable_hands
How many usable hands does this mob currently have. Should only be changed through set_usable_hands()
usable_legs
How many usable legs this mob currently has. Should only be changed through set_usable_legs()
ventcrawl_layer
used for database logging
voice_type
The talk chime set to use when speaking.
worn_slot_flags
if it can be held, can it be equipped to any slots? (think pAI's on head)
z_eye
Used for lookup/lookdown verbs
Proc Details
Disorient
Applies the "disoriented" status effect to the mob, among other potential statuses. Args:
- amount : duration for src to be disoriented
- stamina_amount : stamina damage to deal before LERP
- ignore_canstun : ignore stun immunities, if using a secondary form of status
- knockdown : duration to knock src down
- stun : duration to stun src
- paralyze : duration to paralyze src
- overstam : If TRUE, stamina_amount will be able to deal stamina damage over the waekened threshold, allowing it to also stamina stun.
- stack_status : Should the given status value(s) stack ontop of existing status values?
Hear
Play a sound to indicate we just spoke
IsDisoriented
placeholder
IsFrozen
FROZEN
Life
Handles the biological and general over-time processes of the mob.
Arguments:
- delta_time: The amount of time that has elapsed since this last fired.
- times_fired: The number of times SSmobs has fired
Login
pixel x/y/w/z all discard values after the decimal separator. That, coupled with the rendered interpolation, may make the icons look awfuller than they already are, or not, whatever. The solution to this nit is translating the missing decimals. also flooring increases the distance from 0 for negative numbers. Done last, as it can mess with the translation. scaling also affects translation, so we've to undo the old translate beforehand.
PermaSleeping
Allows us to set a permanent sleep on a player (use with caution and remember to unset it with SetSleeping() after the effect is over)
Write_Memory
Proc used by different station pets such as Ian and Poly so that some of their data can persist between rounds. This base definition only contains a trait and comsig to stop memory from being (over)written. Specific behavior is defined on subtypes that use it.
add_body_temperature_change
add_body_temperature_change Adds modifications to the body temperature
This collects all body temperature changes that the mob is experiencing to the list body_temp_changes the aggrogate result is used to derive the new body temperature for the mob
arguments:
- key_name (str) The unique key for this change, if it already exist it will be overridden
- amount (int) The amount of change from the base body temperature
add_movespeed_mod_immunities
Ignores specific slowdowns. Accepts a list of slowdowns.
add_quirk
Adds the passed quirk to the mob
Arguments
- quirktype - Quirk typepath to add to the mob
- override_client - optional, allows a client to be passed to the quirks on add procs. If not passed, defaults to this mob's client.
Returns TRUE on success, FALSE on failure (already has the quirk, etc)
adjustBloodVolume
BLOOD SYSTEM Adjusts blood volume, returning the difference.
adjust_drunk_effect
Adjust the "drunk value" the mob is currently experiencing, or applies a drunk effect if the mob isn't currently drunk (or tipsy)
The drunk effect doesn't have a set duration, like dizziness or drugginess, but instead relies on a value that decreases every status effect tick (2 seconds) by: 4% the current drunk_value + 0.01
A "drunk value" of 6 is the border between "tipsy" and "drunk".
amount - the amount of "drunkness" to apply to the mob. down_to - the lower end of the clamp, when adding the value up_to - the upper end of the clamp, when adding the value
adjust_fire_stacks
Adjust the amount of fire stacks on a mob
This modifies the fire stacks on a mob.
Vars:
- stacks: int The amount to modify the fire stacks
- fire_type: type Type of fire status effect that we apply, should be subtype of /datum/status_effect/fire_handler/fire_stacks
adjust_incapacitated
- Proc that adds duration to an incapacitated status effect.
- Checks if the mob has the status effect. If yes, it adds the amount passed in arguments to the remaining duration. If not, applies the status effect
- and sets the duration to the amount passed in arguments.
-
- amount - Amount of time the status effect should be set to, in deciseconds.
-
- ignore_canstun - If TRUE, the mob's resistance to stuns is ignored.
adjust_status_effects_on_shake_up
CLEAR STATUS
adjust_timed_status_effect
Adjusts a timed status effect on the mob,taking into account any existing timed status effects. This can be any status effect that takes into account "duration" with their initialize arguments.
Positive durations will add deciseconds to the duration of existing status effects or apply a new status effect of that duration to the mob.
Negative durations will remove deciseconds from the duration of an existing version of the status effect, removing the status effect entirely if the duration becomes less than zero (less than the current world time).
duration - the duration, in deciseconds, to add or remove from the effect effect - the type of status effect being adjusted on the mob max_duration - optional - if set, positive durations will only be added UP TO the passed max duration
admin_give_speech_impediment
Admin only proc for giving a certain speech impediment to this mob
after_grab_release
Called by grab objects when a grab has been released
amount_incapacitated
Proc that returns the remaining duration of the status efect in deciseconds.
apply_damage
Applies damage to this mob
Sends COMSIG_MOB_APPLY_DAMAGE
Arguuments:
- damage - Amount of damage
- damagetype - What type of damage to do. one of BRUTE, BURN, TOX, OXY, CLONE, STAMINA, BRAIN.
- def_zone - What body zone is being hit. Or a reference to what bodypart is being hit.
- blocked - Percent modifier to damage. 100 = 100% less damage dealt, 50% = 50% less damage dealt.
- forced - "Force" exactly the damage dealt. This means it skips damage modifier from blocked.
- spread_damage - For carbons, spreads the damage across all bodyparts rather than just the targeted zone.
- sharpness - Sharpness of the weapon.
- attack_direction - Direction of the attack from the attacker to [src].
- attacking_item - Item that is attacking [src].
Returns TRUE if damage applied
apply_damage_type
like apply_damage except it always uses the damage procs
apply_damages
Applies multiple damages at once via apply_damage
apply_effect
applies various common status effects or common hardcoded mob effects
apply_effects
Applies multiple effects at once via /mob/living/proc/apply_effect
Pretty much only used for projectiles applying effects on hit, don't use this for anything else please just cause the effects directly
apply_martial_art
Apply a martial art move from src to target.
This is used to process martial art attacks against nonhumans. It is also used to process martial art attacks by nonhumans, even against humans Human vs human attacks are handled in species code right now.
apply_pain
Applies pain to a mob.
Arguments:
-
amount - amount to apply
-
def_zone - Body zone to adjust the pain of. If null, will be divided amongst all bodyparts
-
message - A to_chat() to play if the target hasn't had one in a while.
-
ignore_cd - Ignores the message cooldown.
-
updating_health - Should this proc call updatehealth()?
-
Returns TRUE if pain changed.
apply_prefs_job
Applies the preference options to the spawning mob, taking the job into account. Assumes the client has the proper mind.
apply_status_effect
Applies a given status effect to this mob.
new_effect - TYPEPATH of a status effect to apply. Additional status effect arguments can be passed.
Returns the instance of the created effected, if successful. Returns 'null' if unsuccessful.
befriend
Proc for giving a mob a new 'friend', generally used for AI control and targeting. Returns false if already friends.
blurry_vision_change
Called when [TRAIT_BLURRY_EYES] is added or removed
can_contract_pathogen
Returns TRUE if src can contract the passed pathogen. Note: This does not mean that the pathogen will be able to be applied to this mob.
can_enter_vent
Checks if the mob is able to enter the vent, and provides feedback if they are unable to.
can_inject
Returns whether or not the mob can be injected. Should not perform any side effects.
Arguments:
- user - The user trying to inject the mob.
- target_zone - The zone being targeted.
- injection_flags - A bitflag for extra properties to check. Check _DEFINES/injection.dm for more details, specifically the ones prefixed INJECT_CHECK*.
can_look_up
Checks if the user is incapacitated or on cooldown.
can_spread_airborne_pathogens
Returns TRUE if this mob is able to spread airborne pathogens.
can_unarmed_attack
Checks if this mob is in a valid state to punch someone.
canface
Checks mobility move as well as parent checks
check_block
See if an attack is blocked by an item or effect. Returns TRUE if it is.
dismembering_strike
Really weird proc that attempts to dismebmer the passed zone if it is at max damage Unless the attacker is an NPC, in which case it disregards the zone and picks a random one
Cannot dismember heads
Returns a falsy value (null) on success, and a truthy value (the hit zone) on failure
do_jitter_animation
Helper proc that causes the mob to do a jittering animation by jitter_amount. jitter_amount will only apply up to 300 (maximum jitter effect).
do_slap_animation
Does a slap animation on an atom
Uses do_attack_animation to animate the attacker attacking then draws a hand moving across the top half of the target(where a mobs head would usually be) to look like a slap Arguments:
- atom/A - atom being slapped
drag_damage
Take damage from being dragged while prone. Or not. You decide.
dust
This is the proc for turning a mob into ash. Dusting robots does not eject the MMI, so it's a bit more powerful than gib()
Arguments:
- just_ash - If TRUE, ash will spawn where the mob was, as opposed to remains
- drop_items - Should the mob drop their items before dusting?
- force - Should this mob be FORCABLY dusted?
electrocute_act
As the name suggests, this should be called to apply electric shocks.
execute_resist
proc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called
expose_reagents
-
Handles exposing a mob to reagents.
-
If the methods include INGEST the mob tastes the reagents.
-
If the methods include VAPOR it incorporates permiability protection.
extinguish_mob
Extinguish all fire on the mob
This removes all fire stacks, fire effects, alerts, and moods Signals the extinguishing.
fakedeath
Induces fake death on a living mob.
find_nearest_stair_or_ladder
Finds nearest ladder or staircase either up or down.
Arguments:
- direction - UP or DOWN.
flick_emote_popup_on_mob
A proc type that, when called, causes a image/sprite to appear above whatever entity it is called on.
There are two types: on_mob and on_obj, they can only be called on their respective typepaths.
Arguments:
- state -- The icon_state of whatever .dmi file you're attempting to use for the sprite, in "" format. Ex. "combat", not combat.dmi.
- time -- The amount of time the sprite remains before remove_emote_popup_on_mob is called. Is used in the addtimer.
get_active_grab
Returns the currently selected grab item
get_all_grabbed_movables
Returns a list of every movable we are grabbing
get_attack_type
Returns the attack damage type of a living mob such as BRUTE.
get_blood_dna_list
returns the mob's dna info as a list, to be inserted in an object's blood_DNA list
get_body_temp_cold_damage_limit
Returns the body temperature at which this mob will start taking cold damage.
get_body_temp_heat_damage_limit
Returns the body temperature at which this mob will start taking heat damage.
get_body_temp_normal
get_body_temp_normal Returns the mobs normal body temperature with any modifications applied
This applies the result from proc/get_body_temp_normal_change() against the BODYTEMP_NORMAL and returns the result
arguments:
- apply_change (optional) Default True This applies the changes to body temperature normal
get_body_temp_normal_change
get_body_temp_normal_change Returns the aggregate change to body temperature
This aggregates all the changes in the body_temp_changes list and returns the result
get_damage_amount
return the damage amount for the type given
get_drunk_amount
Helper to get the amount of drunkness the mob's currently experiencing.
get_exp_list
Returns an assoc list of assignments and minutes for updating a client's exp time in the databse.
Arguments:
- minutes - The number of minutes to allocate to each valid role.
get_fullness
Get the fullness of the mob
This returns a value form 0 upwards to represent how full the mob is. The value is a total amount of consumable reagents in the body combined with the total amount of nutrition they have. This does not have an upper limit.
get_idcard
Gets ID card from a mob. Argument:
- hand_firsts - boolean that checks the hands of the mob first if TRUE.
get_incoming_damage_modifier
Used in tandem with /mob/living/proc/apply_damage to calculate modifier applied into incoming damage
get_organic_health
Returns the health of the mob while ignoring damage of non-organic (prosthetic) limbs Used by cryo cells to not permanently imprison those with damage from prosthetics, as they cannot be healed through chemicals.
get_pixel_y_offset_standing
Returns what the body_position_pixel_y_offset should be if the current size were value
get_quirk_string
get_quirk_string() is used to get a printable string of all the quirk traits someone has for certain criteria
Arguments:
- Medical- If we want the long, fancy descriptions that show up in medical records, or if not, just the name
- Category- Which types of quirks we want to print out. Defaults to everything
get_status_effect_examinations
The first 1-FLAVOR_PREVIEW_LIMIT characters in the mob's "examine_text" variable. FLAVOR_PREVIEW_LIMIT is defined in flavor_defines.dm. Shows any and all examine text related to any status effects the user has.
get_taste_sensitivity
Gets taste sensitivity of given mob
This is used in calculating what flavours the mob can pick up, with a lower number being able to pick up more distinct flavours.
get_timed_status_effect_duration
Gets how many deciseconds are remaining in the duration of the passed status effect on this mob.
If the mob is unaffected by the passed effect, returns 0.
gib
Blow up the mob into giblets
Arguments:
- no_brain - Should the mob NOT drop a brain?
- no_organs - Should the mob NOT drop organs?
- no_bodyparts - Should the mob NOT drop bodyparts?
give_unique_name
Gives simple mobs their unique/randomized name.
gravity_setup
Living Mob use event based gravity We check here to ensure we haven't dropped any gravity changes
handle_grabs_during_movement
Called during or immediately after movement. Used to move grab targets around to ensure the grabs do not break during movement.
handle_ventcrawl
Handles the entrance and exit on ventcrawling
has_pathogen
Returns TRUE if src is afflicted by a copy of the provided pathogen.
has_reagent
Check if the mob contains this reagent.
This will validate the the reagent holder for the mob and any sub holders contain the requested reagent. Vars:
- reagent (typepath) takes a PATH to a reagent.
- amount (int) checks for having a specific amount of that chemical.
- needs_metabolizing (bool) takes into consideration if the chemical is matabolizing when it's checked.
has_status_effect
Checks if this mob has a status effect that shares the passed effect's ID
checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath
Returns an instance of a status effect, or NULL if none were found.
has_status_effect_list
Returns a list of all status effects that share the passed effect type's ID
checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath
Returns a list
hasparasites
parasite tracking/finding procs
heal_bodypart_damage
heal ONE external organ, organ gets randomly selected from damaged ones.
needs to return amount healed in order to calculate things like tend wounds xp gain
heal_ordered_damage
heal up to amount damage, in a given order
heal_overall_damage
heal MANY bodyparts, in random order
ignore_slowdown
Ignores all slowdowns that lack the IGNORE_NOSLOW flag.
in_fov
Is observed_atom
in a mob's field of view? This takes blindness, nearsightness and FOV into consideration
incapacitate
- Proc that actually applies the status effect.
- Applies the Incapacitated status effect to a mob/living.
-
- amount - Amount of time the status effect should be applied for, in deciseconds.
-
- ignore_canstun - If TRUE, the mob's resistance to stuns is ignored.
incapacitated
Checks if a mob is incapacitated
Normally being restrained, agressively grabbed, or in stasis counts as incapacitated unless there is a flag being used to check if it's ignored
args:
- flags (optional) bitflags that determine if special situations are exempt from being considered incapacitated
bitflags: (see code/__DEFINES/status_effects.dm)
- IGNORE_RESTRAINTS - mob in a restraint (handcuffs) is not considered incapacitated
- IGNORE_STASIS - mob in stasis (stasis bed, etc.) is not considered incapacitated
- IGNORE_GRAB - mob that is agressively grabbed is not considered incapacitated
is_face_visible
Only defined for carbons who can wear masks and helmets, we just assume other mobs have visible faces
is_grabbing
Returns TRUE if src is grabbing hold of the target
leavesBloodTrail
Returns TRUE if we should try to leave a blood trail.
lying_angle_on_movement
Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.
makeBloodTrail
Creates a trail of blood on Start, facing Direction
mob_pickup
Spawn a /obj/item/mob_holder, move src
into it, and put it into the hands of user
.
/mob/living/proc/mob_try_pickup should be called instead of this under most circumstances.
Arguments:
- mob/living/user - The user picking up this mob.
mob_try_pickup
Attempt to pick up a mob.
src
is the mob being picked up, user
is the mob doing the pick upping.
Arguments:
- mob/living/user - The user attempting to pick up this mob.
- instant - Should the mob be picked up instantly?
move_grabbed_atoms_towards
Move grabbed atoms towards a destination
move_into_vent
Moves living mob directly into the vent as a ventcrawler
Arguments:
- ventcrawl_target - The vent into which we are moving the mob
on_airflow_trait_gain
Called when TRAIT_EXPERIENCING_AIRFLOW is added to the mob.
on_airflow_trait_loss
Called when TRAIT_EXPERIENCING_AIRFLOW is removed from the mob.
on_clumsy_trait_gain
Called when [TRAIT_CLUMSY] is added to the mob.
on_clumsy_trait_loss
Called when [TRAIT_CLUMSY] is removed from the mob.
on_deathcoma_trait_gain
Called when TRAIT_DEATHCOMA is added to the mob.
on_deathcoma_trait_loss
Called when TRAIT_DEATHCOMA is removed from the mob.
on_exhausted_trait_gain
Called when TRAIT_EXHAUSTED is added to the mob.
on_exhausted_trait_loss
Called when TRAIT_EXHAUSTED is removed from the mob.
on_fall
Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment.
on_fire_stack
Handles effects happening when mob is on normal fire
Vars:
- delta_time
- times_fired
- fire_handler: Current fire status effect that called the proc
on_floored_end
Proc to append behavior to the condition of being floored. Called when the condition ends.
on_floored_start
Proc to append behavior to the condition of being floored. Called when the condition starts.
on_floored_trait_gain
Called when TRAIT_FLOORED is added to the mob.
on_floored_trait_loss
Called when TRAIT_FLOORED is removed from the mob.
on_force_gravity
Called when TRAIT_FORCED_GRAVITY is gained or lost
on_forced_standing_trait_gain
Called when TRAIT_FORCED_STANDING is added to the mob.
on_forced_standing_trait_loss
Called when TRAIT_FORCED_STANDING is removed from the mob.
on_handsblocked_end
Proc to append behavior to the condition of being handsblocked. Called when the condition ends.
on_handsblocked_start
Proc to append behavior to the condition of being handsblocked. Called when the condition starts.
on_handsblocked_trait_gain
Called when TRAIT_HANDS_BLOCKED is added to the mob.
on_handsblocked_trait_loss
Called when TRAIT_HANDS_BLOCKED is removed from the mob.
on_hearing_loss
Called when [TRAIT_DEAF] is added to the mob.
on_hearing_regain
Called when [TRAIT_DEAF] is added to the mob.
on_ignore_gravity
Called when TRAIT_IGNORING_GRAVITY is gained or lost
on_immobilized_trait_gain
Called when TRAIT_IMMOBILIZED is added to the mob.
on_immobilized_trait_loss
Called when TRAIT_IMMOBILIZED is removed from the mob.
on_incapacitated_trait_gain
Called when [TRAIT_INCAPACITATED] is added to the mob.
on_incapacitated_trait_loss
Called when [TRAIT_INCAPACITATED] is removed from the mob.
on_knockedout_trait_gain
Called when TRAIT_KNOCKEDOUT is added to the mob.
on_knockedout_trait_loss
Called when TRAIT_KNOCKEDOUT is removed from the mob.
on_loc_force_gravity
Called when our loc's TRAIT_FORCED_GRAVITY is gained or lost
on_lying_down
Proc to append behavior related to lying down.
on_movement_type_flag_disabled
From [element/movetype_handler/on_movement_type_trait_loss()]
on_movement_type_flag_enabled
From [element/movetype_handler/on_movement_type_trait_gain()]
on_negate_gravity
Called when TRAIT_NEGATES_GRAVITY is gained or lost
on_pull_blocked_trait_gain
Called when TRAIT_PULL_BLOCKED is added to the mob.
on_pull_blocked_trait_loss
Called when TRAIT_PULL_BLOCKED is removed from the mob.
on_restrained_trait_gain
Called when TRAIT_ARMS_RESTRAINED is added to the mob.
on_restrained_trait_loss
Called when TRAIT_ARMS_RESTRAINED is removed from the mob.
on_skittish_trait_gain
Called when [TRAIT_SKITTISH] is added to the mob.
on_skittish_trait_loss
Called when [TRAIT_SKITTISH] is removed from the mob.
on_stamina_update
Called by [update()][/datum/stamina_container/proc/update]
on_standing_up
Proc to append behavior related to lying down.
on_take_combat_damage
Called when we take damage, used to cause effects such as a blood splatter.
Return TRUE if an effect was done, FALSE otherwise.
on_ui_blocked_trait_gain
Called when TRAIT_UI_BLOCKED is added to the mob.
on_ui_blocked_trait_loss
Called when TRAIT_UI_BLOCKED is removed from the mob.
pre_stamina_change
Called by the stamina holder, passing the change in stamina to modify.
recursively_get_all_grabbed_movables
Gets every grabbed atom of this mob, and every grabbed atom of that grabber, repeat
recursively_get_conga_line
Gets every grab object owned by this mob, and every grabbed atom of those grabbed mobs
refresh_gravity
Handles gravity effects. Call if something about our gravity has potentially changed!
register_init_signals
Called on /mob/living/Initialize(mapload), for the mob to register to relevant signals.
release_active_grab
Releases the currently selected grab item
release_all_grabs
Release all grabs we have
release_grabs
Release the given movable from a grab
remove_body_temperature_change
remove_body_temperature_change Removes the modifications to the body temperature
This removes the recorded change to body temperature from the body_temp_changes list
arguments:
- key_name (str) The unique key for this change that will be removed
remove_emote_popup_on_mob
A proc that is automatically called whenever flick_emote_popup_on_mob's addtimer expires, and removes the popup.
Arguments:
- emote_overlay -- Inherits state from the preceding proc.
remove_movespeed_mod_immunities
Unignores specific slowdowns. Accepts a list of slowdowns.
remove_status_effect
Removes all instances of a given status effect from this mob
removed_effect - TYPEPATH of a status effect to remove. Additional status effect arguments can be passed - these are passed into before_remove.
Returns TRUE if at least one was removed.
resist_buckle
Attempt to break out of a buckle. Returns TRUE if successful.
resolve_unarmed_attack
Called by UnarmedAttack(), directs the proc to a type-specified child proc.
right_click_attack_chain
Checks for RIGHT_CLICK in modifiers and runs attack_hand_secondary if so. Returns TRUE if normal chain blocked
set_body_position
Changes the value of the [living/body_position] variable.
set_buckled
Reports the event of the change in value of the buckled variable.
set_drunk_effect
Directly sets the "drunk value" the mob is currently experiencing to the passed value, or applies a drunk effect with the passed value if the mob isn't currently drunk
set_to - the amount of "drunkness" to set on the mob.
set_fire_stacks
Set the fire stacks on a mob
This sets the fire stacks on a mob, stacks are clamped between -20 and 20. If the fire stacks are reduced to 0 then we will extinguish the mob.
Vars:
- stacks: int The amount to set fire_stacks to
- fire_type: type Type of fire status effect that we apply, should be subtype of /datum/status_effect/fire_handler/fire_stacks
- remove_wet_stacks: bool If we remove all wet stacks upon doing this
set_health
Sets the current mob's health value. Do not call directly if you don't know what you are doing, use the damage procs, instead.
set_incapacitated
- Proc that set the incapacitated status effect's remaining duration to a certain time.
- Checks if the mob has the status effect. If yes, it sets the duration to the amount passed in arguments. If not, applies the status effect
- and sets the duration to the amount passed in arguments.
-
- amount - Amount of time the status effect should be set to, in deciseconds.
-
- ignore_canstun - If TRUE, the mob's resistance to stuns is ignored.
set_lying_angle
Changes the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.
In BYOND-angles 0 is NORTH, 90 is EAST, 180 is SOUTH and 270 is WEST. This usually means that 0 is standing up, 90 and 270 are horizontal positions to right and left respectively, and 180 is upside-down. Mobs that do now follow these conventions due to unusual sprites should require a special handling or redefinition of this proc, due to the density and layer changes. The return of this proc is the previous value of the modified lying_angle if a change was successful (might include zero), or null if no change was made.
set_lying_down
Change the [body_position] to LYING_DOWN and update associated behavior.
set_num_hands
Proc to modify the value of num_hands and hook behavior associated to this event.
set_num_legs
Proc to modify the value of num_legs and hook behavior associated to this event.
set_resting
Proc to hook behavior to the change of value in the resting variable.
set_safe_hunger_level
Sets the mob's hunger levels to a safe overall level. Useful for TRAIT_NOHUNGER species changes.
set_timed_status_effect
Sets a timed status effect of some kind on a mob to a specific value. If only_if_higher is TRUE, it will only set the value up to the passed duration, so any pre-existing status effects of the same type won't be reduced down
duration - the duration, in deciseconds, of the effect. 0 or lower will either remove the current effect or do nothing if none are present effect - the type of status effect given to the mob only_if_higher - if TRUE, we will only set the effect to the new duration if the new duration is longer than any existing duration
set_usable_hands
Proc to modify the value of usable_hands and hook behavior associated to this event.
set_usable_legs
Proc to modify the value of usable_legs and hook behavior associated to this event.
shared_living_ui_distance
public
Distance versus interaction check.
required src_object atom/movable The object which owns the UI.
return UI_state The state of the UI.
singularity_act
Logs, gibs and returns point values of whatever mob is unfortunate enough to get eaten.
sleeping_carp_help
Verb added to humans who learn the art of the sleeping carp.
stamina_swing
Take away stamina from an attack being thrown.
stat_roll
Perform a stat roll, returning a roll result datum.
args:
- requirement (int) The baseline value required to roll a Success.
- stat (string) The stat, if applicable, to take into account.
- modifier (int) A modifier applied to the value after roll. Lower means the roll is more difficult.
- crit_fail_modifier (int) A value subtracted from the requirement, which dictates the crit fail threshold.
take_bodypart_damage
damage ONE external organ, organ gets randomly selected from damaged ones.
take_overall_damage
damage MANY bodyparts, in random order
tram_slam_land
A proc triggered by callback when someone gets slammed by the tram and lands somewhere.
This proc is used to force people to fall through things like lattice and unplated flooring at the expense of some extra damage, so jokers can't use half a stack of iron rods to make getting hit by the tram immediately lethal.
transfer_blood_to
BLOOD TRANSFERS
treat_message
Treats the passed message with things that may modify speech (stuttering, slurring etc).
message - The message to treat. correct_grammar - Whether or not to capitalize the first letter and add punctuation.
try_airborne_contract_pathogen
Attempt to contract a disease through the air. Returns TRUE on infection.
try_contact_contract_pathogen
Attempt to contract a disease through touch. Returns TRUE on infection.
try_contract_pathogen
Attempt to contract a pathogen. Returns TRUE on infection.
try_inject
Like can_inject, but it can perform side effects.
Arguments:
- user - The user trying to inject the mob.
- target_zone - The zone being targeted.
- injection_flags - A bitflag for extra properties to check. Check __DEFINES/injection.dm for more details. Check _DEFINES/injection.dm for more details. Unlike can_inject, the INJECT_TRY* defines will behave differently.
try_make_grab
Attempt to create a grab, returns TRUE on success
try_slapcraft
Have a living mob attempt to do a slapcraft. The mob is using the second item on the first item.
unequip_everything
Drop all items to the floor.
unfriend
Proc for removing a friend you added with the proc 'befriend'. Returns true if you removed a friend.
unignore_slowdown
Unignores all slowdowns that lack the IGNORE_NOSLOW flag.
update_fire_overlay
Sets fire overlay of the mob.
Vars:
- stacks: Current amount of fire_stacks
- on_fire: If we're lit on fire
- last_icon_state: Holds last fire overlay icon state, used for optimization
- suffix: Suffix for the fire icon state for special fire types
This should return last_icon_state for the fire status efect
update_fullscreen
Proc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc.
update_med_hud
Updates both the Health and Status huds. ATOM HUDS, NOT SCREEN HUDS.
update_pipe_vision
Everything related to pipe vision on ventcrawling is handled by update_pipe_vision(). Called on exit, entrance, and pipenet differences (e.g. moving to a new pipenet). One important thing to note however is that the movement of the client's eye is handled by the relaymove() proc in /obj/machinery/atmospherics. We move first and then call update. Dont flip this around
update_resting
Proc to append and redefine behavior to the change of the [/mob/living/var/resting] variable.
update_slots_for_item
Update any visuals relating to an item when it's equipped, unequipped, or it's flags_inv changes.
update_transform
Called whenever a mob should be resized or for standing/lying up.
update_wound_overlays
Proc that only really gets called for humans, to handle bleeding overlays.
whisper
Living level whisper.
Living mobs which whisper have their message only appear to people very close.
message - the message to display bubble_type - the type of speech bubble that shows up when they speak (currently does nothing) spans - a list of spans to apply around the message sanitize - whether we sanitize the message language - typepath language to force them to speak / whisper in ignore_spam - whether we ignore the spam filter forced - string source of what forced this speech to happen, also bypasses spam filter / mutes if supplied filterproof - whether we ignore the word filter
will_escape_storage
Whether or not this mob will escape from storages while being picked up/held.
wipe_inventory
Delete all held/equipped items.