Shiptest 13 - Modules - TypesVar Details - Proc Details

living

Vars

abilitiesused for database logging
blood_volumeconverted to a list of stun absorption sources this mob has when one is added
body_pixel_x_offsetDefault X offset
body_pixel_y_offsetDefault Y offset
body_positionVariable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).
body_temp_changesList of changes to body temperature, used by desease symtoms like fever
broken_legsHow many broken legs this mob currently has. Should only be changed through set_broken_legs()
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()][/mob/living/Bump] and [living/PushAM()][/mob/living/PushAM] to prevent potential infinite loop.
clonelossBurn damage caused by being way too hot, too cold or burnt.
crit_thresholdStamina damage, or exhaustion. You recover it slowly naturally, and are knocked down if it gets too high. Holodeck and hallucinations deal this.
default_num_handsHow many hands does this mob have by default. This shouldn't change at runtime.
default_num_legsdoes 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_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.
hardcrit_thresholdwhen the mob goes from "normal" to crit When the mob enters hard critical state and is fully incapacitated.
has_limbsmore or less efficiency to metabolize helpful/harmful reagents and regulate body temperature..
healthThe mob's current health.
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
living_flagsGeneric bitflags for boolean conditions at the /mob/living level. Keep this for inherent traits of living types, instead of runtime-changeable ones.
lying_angleNumber 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_prevValue of lying lying_angle before last change. TODO: Remove the need for this.
maxHealthMaximum health that should be possible.
mobility_flagsFlags that determine the potential of a mob to perform certain actions. Do not change this directly.
now_pushinga list of surgery datums. generally empty, they're added when the player wants them.
num_handsHow many hands hands does this mob currently have. Should only be changed through set_num_hands()
num_legsHow many legs does this mob currently have. Should only be changed through set_num_legs()
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)
ranged_abilityhow much blood the mob has
see_overrideAny ranged ability the mob has, as a click override
speedAdjusts the mob's speed. 0 is default human speed.
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)
usable_handsHow many usable hands does this mob currently have. Should only be changed through set_usable_hands()
usable_legsHow many usable legs this mob currently has. Should only be changed through set_usable_legs()
ventcrawl_layerIf the mob is irradiated.
weather_immunitiesPeople who've signed infernal contracts are unrevivable.

Procs

IsFrozenFROZEN
IsImmobilizedIMMOBILIZED
IsKnockdownKNOCKDOWN
IsParalyzedPARALYZED
IsSleepingSLEEPING
IsStunSTUN
IsUnconsciousUNCONSCIOUS
PermaSleepingAllows 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_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
can_look_upChecks if the user is incapacitated or on cooldown.
canfaceChecks mobility move as well as parent checks
cure_blindTRAIT PROCS
electrocute_actAs the name suggests, this should be called to apply electric shocks.
execute_resistproc extender of [/mob/living/verb/resist] meant to make the process queable if the server is overloaded when the verb is called
expose_reagents
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
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.
is_face_visibleOnly defined for carbons who can wear masks and helmets, we just assume other mobs have visible faces
key_downSpecial key down handling of /living mobs, currently only used for typing indicator
look_downlook_down Changes the perspective of the mob to any openspace turf below the mob
look_uplook_up Changes the perspective of the mob to any openspace turf above the mob
lying_angle_on_movementCalled by mob Move() when the lying_angle is different than zero, to better visually simulate crawling.
on_deathcoma_trait_gainCalled when [TRAIT_DEATHCOMA] is added to the mob.
on_deathcoma_trait_lossCalled when [TRAIT_DEATHCOMA] is removed from the mob.
on_fallCalled when mob changes from a standing position into a prone while lacking the ability to stand up at the moment.
on_floored_endProc to append behavior to the condition of being floored. Called when the condition ends.
on_floored_startProc to append behavior to the condition of being floored. Called when the condition starts.
on_floored_trait_gainCalled when TRAIT_FLOORED is added to the mob.
on_floored_trait_lossCalled when TRAIT_FLOORED is removed from the mob.
on_handsblocked_endProc to append behavior to the condition of being handsblocked. Called when the condition ends.
on_handsblocked_startProc to append behavior to the condition of being handsblocked. Called when the condition starts.
on_handsblocked_trait_gainCalled when TRAIT_HANDS_BLOCKED is added to the mob.
on_handsblocked_trait_lossCalled when TRAIT_HANDS_BLOCKED is removed from the mob.
on_immobilized_trait_gainCalled when TRAIT_IMMOBILIZED is added to the mob.
on_immobilized_trait_lossCalled when TRAIT_IMMOBILIZED is removed from the mob.
on_incapacitated_trait_gainCalled when [TRAIT_INCAPACITATED] is added to the mob.
on_incapacitated_trait_lossCalled when [TRAIT_INCAPACITATED] is removed from the mob.
on_knockedout_trait_gainCalled when TRAIT_KNOCKEDOUT is added to the mob.
on_knockedout_trait_lossCalled when TRAIT_KNOCKEDOUT is removed from the mob.
on_lying_downProc to append behavior related to lying down.
on_pull_blocked_trait_gainCalled when TRAIT_PULL_BLOCKED is added to the mob.
on_pull_blocked_trait_lossCalled when TRAIT_PULL_BLOCKED is removed from the mob.
on_restrained_trait_gainCalled when TRAIT_RESTRAINED is added to the mob.
on_restrained_trait_lossCalled when TRAIT_RESTRAINED is removed from the mob.
on_standing_upProc to append behavior related to lying down.
on_ui_blocked_trait_gainCalled when TRAIT_UI_BLOCKED is added to the mob.
on_ui_blocked_trait_lossCalled when TRAIT_UI_BLOCKED is removed from the mob.
register_init_signalsCalled on /mob/living/Initialize(), for the mob to register to relevant signals.
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.
setGrabStateUpdates the grab state of the mob and updates movespeed
set_body_positionChanges the value of the [living/body_position] variable.
set_broken_legsProc to modify the value of brokene_legs and hook behavior associated to this event.
set_buckledReports the event of the change in value of the buckled variable.
set_healthSets 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_angleChanges the inclination angle of a mob, used by humans and others to differentiate between standing up and prone positions.
set_lying_downChange the [body_position] to LYING_DOWN and update associated behavior.
set_num_handsProc to modify the value of num_hands and hook behavior associated to this event.
set_num_legsProc to modify the value of num_legs and hook behavior associated to this event.
set_restingProc to hook behavior to the change of value in the resting variable.
set_typing_indicatorUsed for setting typing indicator on/off. Checking the state should be done not on the proc to avoid overhead.
set_usable_handsProc to modify the value of usable_hands and hook behavior associated to this event.
set_usable_legsProc to modify the value of usable_legs and hook behavior associated to this event.
set_varspeedSets the mob's speed variable and then calls update_living_varspeed().
shared_living_ui_distancepublic
shift_layerShift the visual layer of the mob by delta MOB_LAYERSHIFT_MINIMUM < delta < MOB_LAYERSHIFT_MAXIMUM
singularity_actLogs, gibs and returns point values of whatever mob is unfortunate enough to get eaten.
subtlerVERB CODE
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.
update_living_varspeedApplies the mob's speed variable to a movespeed modifier.
update_restingProc to append and redefine behavior to the change of the [/mob/living/var/resting] variable.
update_succumb_actionCalled 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_pixel_x_offset

Default X offset

body_pixel_y_offset

Default Y offset

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()

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

The mob's current health.

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.

maxHealth

Maximum health that should be possible.

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

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

speed

Adjusts the mob's speed. 0 is default human speed.

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:

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

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.

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

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 HUMAN_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

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

key_down

Special key down handling of /living mobs, currently only used for typing indicator

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:

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_typing_indicator

Used for setting typing indicator on/off. Checking the state should be done not on the proc to avoid overhead.

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.

set_varspeed

Sets the mob's speed variable and then calls update_living_varspeed().

Sets the mob's speed variable, which does nothing by itself. It then calls update_living_varspeed(), which then actually applies the movespeed change. Arguments:

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.

shift_layer

Shift the visual layer of the mob by delta MOB_LAYERSHIFT_MINIMUM < delta < MOB_LAYERSHIFT_MAXIMUM

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_living_varspeed

Applies the mob's speed variable to a movespeed modifier.

Applies the speed variable to a movespeed variable. If the speed is 0, removes the movespeed modifier.

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.