/mob/living
Vars | |
abilities | used for database logging |
---|---|
blood_volume | converted to a list of stun absorption sources this mob has when one is added |
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_temp_changes | List of changes to body temperature, used by desease symtoms like fever |
broken_legs | How many broken legs this mob currently has. Should only be changed through set_broken_legs() |
bruteloss | A mob's health |
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 |
cameraFollow | used by [living/Bump()][/mob/living/Bump] and [living/PushAM()][/mob/living/PushAM] to prevent potential infinite loop. |
cloneloss | Burn damage caused by being way too hot, too cold or burnt. |
crit_threshold | Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this. |
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 |
druggy | a list of all status effects the mob has |
fire_stacks | The "Are we on fire?" var |
fireloss | Toxic damage caused by being poisoned or radiated |
guaranteed_butcher_results | these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness |
hallucination | Makes the mob move in random directions. |
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 | Maximum health that should be possible. |
health_doll_icon | what icon the mob uses for speechbubbles |
hellbound | effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier |
holder | Tracks how many stacks of fire we have on, max is usually 20 |
incorporeal_move | Allows mobs to move through dense areas without restriction. For instance, in space or out of holder objects. |
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 |
lastattacker | Badminnery resize |
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. |
mobility_flags | Flags that determine the potential of a mob to perform certain actions. Do not change this directly. |
now_pushing | a list of surgery datums. generally empty, they're added when the player wants them. |
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 | Time of death |
ownedSoullinks | Whether the mob is slowed down when dragging another prone mob |
oxyloss | Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage) |
ranged_ability | how much blood the mob has |
see_override | Any ranged ability the mob has, as a click override |
staminaloss | Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims |
status_effects | 0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight() |
timeofdeath | Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out. |
toxloss | Oxygen depravation damage (no air in lungs) |
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 | If the mob is irradiated. |
weather_immunities | People who've signed infernal contracts are unrevivable. |
Procs | |
IsFrozen | FROZEN |
IsImmobilized | IMMOBILIZED |
IsKnockdown | KNOCKDOWN |
IsParalyzed | PARALYZED |
IsSleeping | SLEEPING |
IsStun | STUN |
IsUnconscious | UNCONSCIOUS |
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) |
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 | DISABILITIES |
add_stun_absorption | STUN ABSORPTION |
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 |
bleedDragAmount | Returns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail] |
can_look_up | Checks if the user is incapacitated or on cooldown. |
canface | Checks mobility move as well as parent checks |
cure_blind | TRAIT PROCS |
electrocute_act | As the name suggests, this should be called to apply electric shocks. |
expose_reagents | |
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_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_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. |
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 |
hud_set_nanite_indicator | Diagnostic HUDs! |
ignore_slowdown | Ignores all slowdowns that lack the IGNORE_NOSLOW flag. |
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. |
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_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_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_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_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(), for the mob to register to relevant signals. |
remove_body_temperature_change | remove_body_temperature_change Removes the modifications to the body temperature |
remove_movespeed_mod_immunities | Unignores specific slowdowns. Accepts a list of slowdowns. |
setGrabState | Updates the grab state of the mob and updates movespeed |
set_body_position | Changes the value of the [living/body_position] variable. |
set_broken_legs | Proc to modify the value of brokene_legs and hook behavior associated to this event. |
set_buckled | Reports the event of the change in value of the buckled variable. |
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_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_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. |
subtler | VERB CODE |
take_bodypart_damage | damage ONE external organ, organ gets randomly selected from damaged ones. |
take_overall_damage | damage MANY bodyparts, in random order |
transfer_blood_to | BLOOD TRANSFERS |
unignore_slowdown | Unignores all slowdowns that lack the IGNORE_NOSLOW flag. |
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. |
Var Details
abilities
used for database logging
blood_volume
converted to a list of stun absorption sources this mob has when one is added
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_temp_changes
List of changes to body temperature, used by desease symtoms like fever
broken_legs
How many broken legs this mob currently has. Should only be changed through set_broken_legs()
bruteloss
A mob's health
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
cameraFollow
used by [living/Bump()][/mob/living/Bump] and [living/PushAM()][/mob/living/PushAM] to prevent potential infinite loop.
cloneloss
Burn damage caused by being way too hot, too cold or burnt.
crit_threshold
Stamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this.
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
druggy
a list of all status effects the mob has
fire_stacks
The "Are we on fire?" var
fireloss
Toxic damage caused by being poisoned or radiated
guaranteed_butcher_results
these will be yielded from butchering with a probability chance equal to the butcher item's effectiveness
hallucination
Makes the mob move in random directions.
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
Maximum health that should be possible.
health_doll_icon
what icon the mob uses for speechbubbles
hellbound
effectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier
holder
Tracks how many stacks of fire we have on, max is usually 20
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_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
lastattacker
Badminnery resize
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.
mobility_flags
Flags that determine the potential of a mob to perform certain actions. Do not change this directly.
now_pushing
a list of surgery datums. generally empty, they're added when the player wants them.
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
Time of death
ownedSoullinks
Whether the mob is slowed down when dragging another prone mob
oxyloss
Brutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage)
ranged_ability
how much blood the mob has
see_override
Any ranged ability the mob has, as a click override
staminaloss
Damage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims
status_effects
0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight()
timeofdeath
Used by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.
toxloss
Oxygen depravation damage (no air in lungs)
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
If the mob is irradiated.
weather_immunities
People who've signed infernal contracts are unrevivable.
Proc Details
IsFrozen
FROZEN
IsImmobilized
IMMOBILIZED
IsKnockdown
KNOCKDOWN
IsParalyzed
PARALYZED
IsSleeping
SLEEPING
IsStun
STUN
IsUnconscious
UNCONSCIOUS
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)
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
DISABILITIES
add_stun_absorption
STUN ABSORPTION
apply_damage
Applies damage to this mob
Sends COMSIG_MOB_APPLY_DAMGE
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
bleedDragAmount
Returns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail]
can_look_up
Checks if the user is incapacitated or on cooldown.
canface
Checks mobility move as well as parent checks
cure_blind
TRAIT PROCS
electrocute_act
As the name suggests, this should be called to apply electric shocks.
expose_reagents
-
Handles exposing a mob to reagents.
- If the method is INGEST the mob tastes the reagents.
- If the method is VAPOR it incorporates permiability protection.
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_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_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.
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
hud_set_nanite_indicator
Diagnostic HUDs!
ignore_slowdown
Ignores all slowdowns that lack the IGNORE_NOSLOW flag.
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.
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_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_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_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_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(), 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_movespeed_mod_immunities
Unignores specific slowdowns. Accepts a list of slowdowns.
setGrabState
Updates the grab state of the mob and updates movespeed
set_body_position
Changes the value of the [living/body_position] variable.
set_broken_legs
Proc to modify the value of brokene_legs and hook behavior associated to this event.
set_buckled
Reports the event of the change in value of the buckled variable.
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_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_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.
subtler
VERB CODE
take_bodypart_damage
damage ONE external organ, organ gets randomly selected from damaged ones.
take_overall_damage
damage MANY bodyparts, in random order
transfer_blood_to
BLOOD TRANSFERS
unignore_slowdown
Unignores all slowdowns that lack the IGNORE_NOSLOW flag.
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.