living

Vars | |
blood_volume | how much blood the mob has |
---|---|
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 y amount a mob's sprite should be offset due to the current position they're in (e.g. lying down moves your sprite down) |
body_position_pixel_y_offset | The x amount a mob's sprite should be offset due to the current position they're in |
body_temp_changes | List of changes to body temperature, used by desease symtoms like fever |
bruteloss | Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) |
bubble_icon | used to prevent spam with smoke reagent reaction on mob. what icon the mob uses for speechbubbles |
butcher_difficulty | effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier |
butcher_results | these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness |
can_be_held | whether this can be picked up and held. |
can_buckle_to | Is this mob allowed to be buckled/unbuckled to/from things? |
cloneloss | Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims |
combat_mode | If combat mode is on or not |
crit_threshold | when the mob goes from "normal" to crit |
current_turf_slowdown | what multiplicative slowdown we get from turfs currently. |
death_message | A message sent when the mob dies, with the *deathgasp emote |
death_sound | A sound sent when the mob dies, with the *deathgasp emote |
default_num_hands | How many hands does this mob have by default. This shouldn't change at runtime. |
default_num_legs | How many legs does this mob have by default. This shouldn't change at runtime. |
diseases | list of all diseases in a mob |
fireloss | Burn damage caused by being way too hot, too cold or burnt. |
fov_traits | Lazy list of FOV traits that will apply a FOV view when handled. |
fov_view | FOV view that is applied from either nativeness or traits |
guaranteed_butcher_results | these will always be yielded from butchering |
hardcrit_threshold | When the mob enters hard critical state and is fully incapacitated. |
has_limbs | does the mob have distinct limbs?(arms,legs, chest,head) |
head_icon | what it looks like when the mob is held on your head |
health | The mob's current health. |
health_doll_icon | 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 |
held_lh | left hand icon for holding mobs |
held_rh | right hand icon for holding mobs |
held_state | icon_state for holding mobs. |
held_w_class | The w_class of the holder when held. |
imaginary_group | Contains the owner and all imaginary friend mobs if they exist, otherwise null |
incorporeal_move | Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects. |
last_special | Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out. |
last_vent_dir | The last direction we moved in a vent. Used to make holding two directions feel nice |
last_words | used for database logging |
limb_destroyer | Sets AI behavior that allows mobs to target and dismember limbs with their basic attack. |
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. |
max_stamina | The max amount of stamina damage we can have at once (Does NOT effect stamcrit thresholds. See crit_threshold) |
melee_damage_lower | Lower bound of damage done by unarmed melee attacks. Mob code is a mess, only works where this is checked for. |
melee_damage_upper | Upper bound of damage done by unarmed melee attacks. Please ensure you check the xyz_defenses.dm for the mobs in question to see if it uses this or hardcoded values. |
metabolism_efficiency | more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature.. |
mob_mood | Living mob's mood datum |
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. |
now_pushing | Used by [living/Bump()][/mob/living/proc/Bump] and [living/PushAM()][/mob/living/proc/PushAM] to prevent potential infinite loop. |
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 | the id a mob gets when it's created |
on_fire | Helper vars for quick access to firestacks, these should be updated every time firestacks are adjusted |
oxyloss | Oxygen depravation damage (no air in lungs) |
pipetracker | Cell tracker datum we use to manage the pipes around us, for faster ventcrawling Should only exist if you're in a pipe |
resize | Badminnery resize |
see_override | 0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight() |
slowed_by_drag | Whether the mob is slowed down when dragging another prone mob |
staminaloss | Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this. |
status_effects | a list of all status effects the mob has |
stun_absorption | converted to a list of stun absorption sources this mob has when one is added |
surgeries | a list of surgery datums. generally empty, they're added when the player wants them. |
tod | Time of death |
toxloss | Toxic damage caused by being poisoned or radiated |
unique_name | if a mob's name should be appended with an id when created e.g. Mob (666) |
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() |
worn_slot_flags | if it can be held, can it be equipped to any slots? (think pAI's on head) |
Procs | |
IsFrozen | FROZEN |
Life | Handles the biological and general over-time processes of the mob. |
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. |
_cause_hallucination | Unless you need this for an explicit reason, use the cause_hallucination wrapper. |
add_body_temperature_change | add_body_temperature_change Adds modifications to the body temperature |
add_fov_trait | Adds a trait which limits a user's FOV |
add_mood_event | Adds a mood event to the mob |
add_movespeed_mod_immunities | Ignores specific slowdowns. Accepts a list of slowdowns. |
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_delusion | Admin only proc for giving the mob a delusion hallucination with specific arguments |
admin_give_hallucination | Admin only proc for making the mob hallucinate a certain thing |
admin_give_speech_impediment | Admin only proc for giving a certain speech impediment to this mob |
amount_incapacitated | Proc that returns the remaining duration of the status efect in deciseconds. |
appears_alive | Helper to check if we seem to be alive or not |
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 /mob/living/proc/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_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 targetting |
bleedDragAmount | Returns how much blood we're losing from being dragged a tile, from [/mob/living/proc/makeTrail] |
can_be_revived | Checks if we are actually able to ressuscitate this mob. (We don't want to revive then to have them instantly die again) |
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. |
clear_mood_event | Clears a mood event from the mob |
create_thinking_indicator | Overrides for overlay creation |
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 |
do_strange_reagent_revival | Called by strange_reagent, with the amount of healing the strange reagent is doing It uses the healing amount on brute/fire damage, and then uses the excess healing for revive |
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. |
fully_heal | A grand proc used whenever this mob is, quote, "fully healed". Fully healed could mean a number of things, such as "healing all the main damage types", "healing all the organs", etc So, you can pass flags to specify |
get_all_linked_holoparasites | /////parasite tracking/finding procs Returns a list of all holoparasites that has this mob as a summoner. |
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_equipped_items | Used to return a list of equipped items on a mob; does not include held items (use get_all_gear) |
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_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_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 | 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 |
handle_ventcrawl | Handles the entrance and exit on ventcrawling |
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 |
heal_and_revive | Heals up the mob up to [heal_to] of the main damage types. EX: If heal_to is 50, and they have 150 brute damage, they will heal 100 brute (up to 50 brute damage) |
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 |
look_down | look_down Changes the perspective of the mob to any openspace turf below the mob |
look_up | look_up Changes the perspective of the mob to any openspace turf above the mob |
lying_angle_on_movement | Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling. |
move_into_vent | Moves living mob directly into the vent as a ventcrawler |
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_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_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_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_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_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_RESTRAINED is added to the mob. |
on_restrained_trait_loss | Called when TRAIT_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_standing_up | Proc to append behavior related to lying down. |
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. |
register_init_signals | Called on /mob/living/Initialize(mapload), for the mob to register to relevant signals. |
remove_body_temperature_change | remove_body_temperature_change Removes the modifications to the body temperature |
remove_fov_trait | Removes a trait which limits a user's FOV |
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 | see defines/combat.dm, this should be baseline 60% Resist chance divided by the value imparted by your grab state. It isn't until you reach neckgrab that you gain a penalty to escaping a grab. |
resolve_right_click_attack | Called when an unarmed attack performed with right click hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro. This will call a secondary attack proc that can vary from mob type to mob type on the target. Sometimes, a target is interacted differently when right_clicked, in that case the secondary attack proc should return a SECONDARY_ATTACK_* value that's not SECONDARY_ATTACK_CALL_NORMAL. Otherwise, it should just return SECONDARY_ATTACK_CALL_NORMAL. Failure to do so will result in an exception (runtime error). |
resolve_unarmed_attack | Called when the unarmed attack hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro or the right_click_attack_chain proc. This will call an attack proc that can vary from mob type to mob type on the target. |
revive | Proc used to resuscitate a mob, bringing them back to life. |
right_click_attack_chain | Checks for RIGHT_CLICK in modifiers and runs resolve_right_click_attack if so. Returns TRUE if normal chain blocked. |
setGrabState | Updates the grab state of the mob and updates movespeed |
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. |
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_inject | Like can_inject, but it can perform side effects. |
unignore_slowdown | Unignores all slowdowns that lack the IGNORE_NOSLOW flag. |
update_fire_overlay | Sets fire overlay of the mob. |
update_fov | Getting a direction vector Calculate angle Calculate vision angle and compare Updates the applied FOV value and applies the handler to client if able |
update_fov_client | Updates the FOV for the client. |
update_fullscreen | Proc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc. |
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_succumb_action | Called when traits that alter succumbing are added/removed. |
update_transform | Called whenever the mob is to be resized or when lying/standing up for carbons. |
update_wound_overlays | Proc that only really gets called for humans, to handle bleeding overlays. |
wabbajack | Polymorphs our mob into another mob. If successful, our current mob is qdeleted! |
wear_mask_update | Handle stuff to update when a mob equips/unequips a mask. |
whisper | Living level whisper. |
will_escape_storage | Whether or not this mob will escape from storages while being picked up/held. |
zMove | We want to relay the zmovement to the buckled atom when possible and only run what we can't have on buckled.zMove() or buckled.can_z_move() here. This way we can avoid esoteric bugs, copypasta and inconsistencies. |
Var Details
blood_volume

how much blood the mob has
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 y amount a mob's sprite should be offset due to the current position they're in (e.g. lying down moves your sprite down)
body_position_pixel_y_offset

The x amount a mob's sprite should be offset due to the current position they're in
body_temp_changes

List of changes to body temperature, used by desease symtoms like fever
bruteloss

Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage)
bubble_icon

used to prevent spam with smoke reagent reaction on mob. what icon the mob uses for speechbubbles
butcher_difficulty

effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier
butcher_results

these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness
can_be_held

whether this can be picked up and held.
can_buckle_to

Is this mob allowed to be buckled/unbuckled to/from things?
cloneloss

Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims
combat_mode

If combat mode is on or not
crit_threshold

when the mob goes from "normal" to crit
current_turf_slowdown

what multiplicative slowdown we get from turfs currently.
death_message

A message sent when the mob dies, with the *deathgasp emote
death_sound

A sound sent when the mob dies, with the *deathgasp emote
default_num_hands

How many hands does this mob have by default. This shouldn't change at runtime.
default_num_legs

How many legs does this mob have by default. This shouldn't change at runtime.
diseases

list of all diseases in a mob
fireloss

Burn damage caused by being way too hot, too cold or burnt.
fov_traits

Lazy list of FOV traits that will apply a FOV view when handled.
fov_view

FOV view that is applied from either nativeness or traits
guaranteed_butcher_results

these will always be yielded from butchering
hardcrit_threshold

When the mob enters hard critical state and is fully incapacitated.
has_limbs

does the mob have distinct limbs?(arms,legs, chest,head)
head_icon

what it looks like when the mob is held on your head
health

The mob's current health.
health_doll_icon

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
held_lh

left hand icon for holding mobs
held_rh

right hand icon for holding mobs
held_state

icon_state for holding mobs.
held_w_class

The w_class of the holder when held.
imaginary_group

Contains the owner and all imaginary friend mobs if they exist, otherwise null
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
last_special

Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.
last_vent_dir

The last direction we moved in a vent. Used to make holding two directions feel nice
last_words

used for database logging
limb_destroyer

Sets AI behavior that allows mobs to target and dismember limbs with their basic attack.
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.
max_stamina

The max amount of stamina damage we can have at once (Does NOT effect stamcrit thresholds. See crit_threshold)
melee_damage_lower

Lower bound of damage done by unarmed melee attacks. Mob code is a mess, only works where this is checked for.
melee_damage_upper

Upper bound of damage done by unarmed melee attacks. Please ensure you check the xyz_defenses.dm for the mobs in question to see if it uses this or hardcoded values.
metabolism_efficiency

more or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
mob_mood

Living mob's mood datum
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.
now_pushing

Used by [living/Bump()][/mob/living/proc/Bump] and [living/PushAM()][/mob/living/proc/PushAM] to prevent potential infinite loop.
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

the id a mob gets when it's created
on_fire

Helper vars for quick access to firestacks, these should be updated every time firestacks are adjusted
oxyloss

Oxygen depravation damage (no air in lungs)
pipetracker

Cell tracker datum we use to manage the pipes around us, for faster ventcrawling Should only exist if you're in a pipe
resize

Badminnery resize
see_override

0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight()
slowed_by_drag

Whether the mob is slowed down when dragging another prone mob
staminaloss

Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this.
status_effects

a list of all status effects the mob has
stun_absorption

converted to a list of stun absorption sources this mob has when one is added
surgeries

a list of surgery datums. generally empty, they're added when the player wants them.
tod

Time of death
toxloss

Toxic damage caused by being poisoned or radiated
unique_name

if a mob's name should be appended with an id when created e.g. Mob (666)
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()
worn_slot_flags

if it can be held, can it be equipped to any slots? (think pAI's on head)
Proc Details
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
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.
_cause_hallucination
Unless you need this for an explicit reason, use the cause_hallucination wrapper.
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_fov_trait
Adds a trait which limits a user's FOV
add_mood_event
Adds a mood event to the mob
add_movespeed_mod_immunities
Ignores specific slowdowns. Accepts a list of slowdowns.
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_delusion
Admin only proc for giving the mob a delusion hallucination with specific arguments
admin_give_hallucination
Admin only proc for making the mob hallucinate a certain thing
admin_give_speech_impediment
Admin only proc for giving a certain speech impediment to this mob
amount_incapacitated
Proc that returns the remaining duration of the status efect in deciseconds.
appears_alive
Helper to check if we seem to be alive or not
apply_damage
Applies damage to this mob
Sends COMSIG_MOB_APPLY_DAMAGE
Arguuments:
- damage - amount of damage
- damagetype - one of BRUTE, BURN, TOX, OXY, CLONE, STAMINA
- def_zone - zone that is being hit if any
- blocked - armor value applied
- forced - bypass hit percentage
- spread_damage - used in overrides
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 /mob/living/proc/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_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 targetting
bleedDragAmount
Returns how much blood we're losing from being dragged a tile, from [/mob/living/proc/makeTrail]
can_be_revived
Checks if we are actually able to ressuscitate this mob. (We don't want to revive then to have them instantly die again)
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.
clear_mood_event
Clears a mood event from the mob
create_thinking_indicator
Overrides for overlay creation
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
do_strange_reagent_revival
Called by strange_reagent, with the amount of healing the strange reagent is doing It uses the healing amount on brute/fire damage, and then uses the excess healing for revive
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.
fully_heal
A grand proc used whenever this mob is, quote, "fully healed". Fully healed could mean a number of things, such as "healing all the main damage types", "healing all the organs", etc So, you can pass flags to specify
See [mobs.dm] for more information on the flags
If you ever think "hey I'm adding something and want it to be reverted on full heal", consider handling it via signal instead of implementing it in this proc
get_all_linked_holoparasites
/////parasite tracking/finding procs Returns a list of all holoparasites that has this mob as a summoner.
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_equipped_items
Used to return a list of equipped items on a mob; does not include held items (use get_all_gear)
Argument(s):
- Optional - include_pockets (TRUE/FALSE), whether or not to include the pockets and suit storage in the returned list
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_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_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
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?
handle_ventcrawl
Handles the entrance and exit on ventcrawling
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
heal_and_revive
Heals up the mob up to [heal_to] of the main damage types. EX: If heal_to is 50, and they have 150 brute damage, they will heal 100 brute (up to 50 brute damage)
If the target is dead, also revives them and heals their organs / restores blood. If we have a [revive_message], play a visible message if the revive was successful.
Arguments
- heal_to - the health threshold to heal the mob up to for each of the main damage types.
- revive_message - if provided, a visible message to show on a successful revive.
Returns TRUE if the mob is alive afterwards, or FALSE if they're still dead (revive failed).
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
look_down
look_down Changes the perspective of the mob to any openspace turf below the mob
This also checks if an openspace turf is below the mob before looking down or resets the perspective if already looking up
look_up
look_up Changes the perspective of the mob to any openspace turf above the mob
This also checks if an openspace turf is above the mob before looking up or resets the perspective if already looking up
lying_angle_on_movement
Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.
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_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_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_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_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_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_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_RESTRAINED is added to the mob.
on_restrained_trait_loss
Called when TRAIT_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_standing_up
Proc to append behavior related to lying down.
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.
register_init_signals
Called on /mob/living/Initialize(mapload), for the mob to register to relevant signals.
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_fov_trait
Removes a trait which limits a user's FOV
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
see defines/combat.dm, this should be baseline 60% Resist chance divided by the value imparted by your grab state. It isn't until you reach neckgrab that you gain a penalty to escaping a grab.
resolve_right_click_attack
Called when an unarmed attack performed with right click hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro. This will call a secondary attack proc that can vary from mob type to mob type on the target. Sometimes, a target is interacted differently when right_clicked, in that case the secondary attack proc should return a SECONDARY_ATTACK_* value that's not SECONDARY_ATTACK_CALL_NORMAL. Otherwise, it should just return SECONDARY_ATTACK_CALL_NORMAL. Failure to do so will result in an exception (runtime error).
resolve_unarmed_attack
Called when the unarmed attack hasn't been stopped by the LIVING_UNARMED_ATTACK_BLOCKED macro or the right_click_attack_chain proc. This will call an attack proc that can vary from mob type to mob type on the target.
revive
Proc used to resuscitate a mob, bringing them back to life.
Note that, even if a mob cannot be revived, the healing from this proc will still be applied.
Arguments
- full_heal_flags - Optional. If supplied, /mob/living/fully_heal will be called with these flags before revival.
- excess_healing - Optional. If supplied, this number will be used to apply a bit of healing to the mob. Currently, 1 "excess healing" translates to -1 oxyloss, -1 toxloss, +2 blood, -5 to all organ damage.
- force_grab_ghost - We grab the ghost of the mob on revive. If TRUE, we force grab the ghost (includes suiciders). If FALSE, we do not. See /mob/grab_ghost.
right_click_attack_chain
Checks for RIGHT_CLICK in modifiers and runs resolve_right_click_attack if so. Returns TRUE if normal chain blocked.
setGrabState
Updates the grab state of the mob and updates movespeed
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.
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. capitalize_message - Whether we run capitalize() on the message after we're done.
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.
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_fov
Getting a direction vector Calculate angle Calculate vision angle and compare Updates the applied FOV value and applies the handler to client if able
update_fov_client
Updates the FOV for the client.
update_fullscreen
Proc used to handle the fullscreen overlay updates, realistically meant for the reset_perspective() proc.
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_succumb_action
Called when traits that alter succumbing are added/removed.
Will show or hide the succumb alert prompt.
update_transform
Called whenever the mob is to be resized or when lying/standing up for carbons.
update_wound_overlays
Proc that only really gets called for humans, to handle bleeding overlays.
wabbajack
Polymorphs our mob into another mob. If successful, our current mob is qdeleted!
what_to_randomize - what are we randomizing the mob into? See the defines for valid options. change_flags - only used for humanoid randomization (currently), what pool of changeflags should we draw from?
Returns a mob (what our mob turned into) or null (if we failed).
wear_mask_update
Handle stuff to update when a mob equips/unequips a mask.
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.
zMove
We want to relay the zmovement to the buckled atom when possible and only run what we can't have on buckled.zMove() or buckled.can_z_move() here. This way we can avoid esoteric bugs, copypasta and inconsistencies.