/tg/ Station 13 - Modules - TypesVar Details - Proc Details

/mob/living

Vars

abilitiesused for database logging
blood_volumeconverted to a list of stun absorption sources this mob has when one is added
body_temp_changesList of changes to body temperature, used by desease symtoms like fever
brutelossA mob's health
bubble_iconused to prevent spam with smoke reagent reaction on mob.
butcher_difficultythese will always be yielded from butchering
butcher_resultsthe id a mob gets when it's created
cameraFollowused by living/Bump() and living/PushAM() to prevent potential infinite loop.
clonelossBurn damage caused by being way too hot, too cold or burnt.
confusedlast value of lying on update_mobility
crit_thresholdStamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this.
disease_resistanceslist of all diseases in a mob
druggya list of all status effects the mob has
fire_stacksThe "Are we on fire?" var
firelossToxic damage caused by being poisoned or radiated
guaranteed_butcher_resultsthese will be yielded from butchering with a probability chance equal to the butcher item's effectiveness
hallucinationMakes the mob move in random directions.
has_limbsmore or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
healthMaximum health that should be possible.
health_doll_iconwhat icon the mob uses for speechbubbles
hellboundeffectiveness prob. is modified negatively by this amount; positive numbers make it more difficult, negative ones make it easier
holderTracks how many stacks of fire we have on, max is usually 20
incorporeal_moveAllows mobs to move through dense areas without restriction. For instance, in space or out of holder objects.
last_bumpedif 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_specialDirectly affects how long a mob will hallucinate for
lastattackerBadminnery resize
lying_prevnumber of degrees. DO NOT USE THIS IN CHECKS. CHECK FOR MOBILITY FLAGS INSTEAD!!
mobility_flagswhen the mob goes from "normal" to crit
now_pushinga list of surgery datums. generally empty, they're added when the player wants them.
numbaif a mob's name should be appended with an id when created e.g. Mob (666)
on_fireTime of death
ownedSoullinksWhether the mob is slowed down when dragging another prone mob
oxylossBrutal damage caused by brute force (punching, being clubbed by a toolbox ect... this also accounts for pressure damage)
pipes_showndoes the mob have distinct limbs?(arms,legs, chest,head)
ranged_abilityhow much blood the mob has
see_overrideAny ranged ability the mob has, as a click override
staminalossDamage caused by being cloned or ejected from the cloner early. slimes also deal cloneloss damage to victims
status_effects0 for no override, sets see_invisible = see_override in silicon & carbon life process via update_sight()
timeofdeathUsed by the resist verb, likely used to prevent players from bypassing next_move by logging in/out.
toxlossOxygen depravation damage (no air in lungs)
ventcrawl_layerIf the mob is irradiated.
weather_immunitiesPeople who've signed infernal contracts are unrevivable.

Procs

IsFrozenFROZEN
IsImmobilizedIMMOBILIZED
IsKnockdownKNOCKDOWN
IsParalyzedPARALYZED
IsSleepingSLEEPING
IsStunSTUN
IsUnconsciousUNCONSCIOUS
add_body_temperature_changeadd_body_temperature_change Adds modifications to the body temperature
add_movespeed_mod_immunitiesIgnores specific slowdowns. Accepts a list of slowdowns.
add_quirkDISABILITIES
add_stun_absorptionSTUN ABSORPTION
apply_damageApplies damage to this mob
apply_damage_typelike apply_damage except it always uses the damage procs
apply_damagesapplies multiple damages at once via /mob/living/proc/apply_damage
apply_effectapplies various common status effects or common hardcoded mob effects
apply_effectsapplies multiple effects at once via /mob/living/proc/apply_effect
canfaceChecks mobility move as well as parent checks
cure_blindTRAIT PROCS
electrocute_actAs the name suggests, this should be called to apply electric shocks.
get_blood_dna_listreturns the mob's dna info as a list, to be inserted in an object's blood_DNA list
get_body_temp_normalget_body_temp_normal Returns the mobs normal body temperature with any modifications applied
get_body_temp_normal_changeget_body_temp_normal_change Returns the aggregate change to body temperature
get_damage_amountreturn the damage amount for the type given
hasparasitesparasite tracking/finding procs
heal_bodypart_damageheal ONE external organ, organ gets randomly selected from damaged ones.
heal_ordered_damageheal up to amount damage, in a given order
heal_overall_damageheal MANY bodyparts, in random order
hud_set_nanite_indicatorDiagnostic HUDs!
ignore_slowdownIgnores all slowdowns that lack the IGNORE_NOSLOW flag.
lying_angle_on_movementCalled by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.
on_fallCalled when mob changes from a standing position into a prone while lacking the ability to stand up at the moment, through update_mobility()
remove_body_temperature_changeremove_body_temperature_change Removes the modifications to the body temperature
remove_movespeed_mod_immunitiesUnignores specific slowdowns. Accepts a list of slowdowns.
set_lying_angleChanges the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.
shared_living_ui_distancepublic
singularity_actLogs, gibs and returns point values of whatever mob is unfortunate enough to get eaten.
take_bodypart_damagedamage ONE external organ, organ gets randomly selected from damaged ones.
take_overall_damagedamage MANY bodyparts, in random order
transfer_blood_toBLOOD TRANSFERS
unignore_slowdownUnignores all slowdowns that lack the IGNORE_NOSLOW flag.

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_temp_changes

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

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() and living/PushAM() to prevent potential infinite loop.

cloneloss

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

confused

last value of lying on update_mobility

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.

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.

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

lying_prev

number of degrees. DO NOT USE THIS IN CHECKS. CHECK FOR MOBILITY FLAGS INSTEAD!!

mobility_flags

when the mob goes from "normal" to crit

now_pushing

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

numba

if a mob's name should be appended with an id when created e.g. Mob (666)

on_fire

Time of death

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)

pipes_shown

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

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)

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

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:

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:

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

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.

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:

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

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.

lying_angle_on_movement

Called by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.

on_fall

Called when mob changes from a standing position into a prone while lacking the ability to stand up at the moment, through update_mobility()

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:

remove_movespeed_mod_immunities

Unignores specific slowdowns. Accepts a list of slowdowns.

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.

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.

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.