byond - Modules - TypesVar Details - Proc Details

mob

Vars

active_thinking_indicatorthe icon currently used for the thinking indicator's bubble
active_typing_indicatorthe icon currently used for the typing indicator's bubble
alertscontains /atom/movable/screen/alert only, used by alerts.dm
bubble_iconwhat icon the mob uses for speechbubbles
cached_multiplicative_slowdownThe calculated mob speed slowdown based on the modifiers list.
canon_clientThe current client inhabiting this mob. Managed by login/logout This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed We need to do this because the mob on logout never actually has a reference to client We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
control_objectUsed by admins to possess objects.
dextrousHas enough dexterity to interact with advanced objects?
do_actionsLazylist assoc list of do_after and do_mob actions the mob is currently performing: list([target] = amount)
do_self_harmWhether or not the mob can hit themselves.
focusWhat receives our keyboard inputs. src by default
has_unlimited_silicon_privilegeCan they interact with station electronics
interacteethe thing that the mob is currently interacting with (e.g. a computer, another mob (stripping a mob), manning a hmg)
lighting_color_cutoffsA list of red, green and blue cutoffs This is what actually gets applied to the mob, it's modified by things like glasses
lighting_cutoffPercentage of how much rgb to max the lighting plane at This lets us brighten it without washing out color Scale from 0-100, reset off update_sight()
listed_turfthe current turf being examined in the stat panel
lying_angleMob's angle in BYOND degrees. 0 is north (up/standing for humans), 90 and 270 are east and west respectively (lying horizontally), and 90 is south (upside-down).
machineThe machine the mob is interacting with (this is very bad old code btw)
move_on_shuttleCan move on the shuttle.
movespeed_modificationList of movement speed modifiers applying to this mob. Lazy list, see mob_movespeed.dm
next_move_adjustAmount to adjust action/click delays by, + or -
next_move_slowdownAmount added during the next movement_delay(), then is reset.
observersThe list of people observing this mob.
pain_storedTODO MOVE ME OR EVEN BETTER GET RID OF ME
progbar_towersfor stacking the total pixel height of the aboves.
progressbarsfor stacking do_after bars
queued_interactionsList of queued interactions on this mob
remote_controlCalls relaymove() to whatever it is
s_activeOur mobs currently active storage
speak_emoteVerbs used when speaking instead of the default ones.
statWhether a mob is alive or dead. TODO: Move this to living - Nodrak
tgui_open_uisglobal
thinking_ICUser is thinking in character. Used to revert to thinking state after stop_typing
updating_glide_sizeWhether the mob is updating glide size when movespeed updates or not

Procs

AltRightClickOnCalled when a owner mob Alt + Rightmouseclicks an atom, given that Altclick does not return TRUE
ClickOnStandard mob ClickOn() Handles exceptions: Buildmode, middle click, modified clicks, mech actions
Process_SpacemoveProcess_Spacemove Called by /client/Move() For moving in space Return 1 for movement 0 for none
RightClickOnCalled when a owner mob Rightmouseclicks an atom
ShiftRightClickOnCalled when a owner mob Shift + Rightmouseclicks an atom
UnEquipDO NOT CALL THIS PROC
UnarmedAttackTranslates into attack_hand, etc.
add_click_catcherSets up the click_catcher for the client
add_movespeed_modifierAdd a move speed modifier to a mob
additive_flagged_slowdownGive the sum of all slowdown that have inputted flag
attack_uiThis proc is called whenever someone clicks an inventory ui slot.
become_unclientedCleanup proc that's called when a mob loses a client, either through client destroy or logout Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent
binarycheckReturns false by default
buckle_mobBuckle to another mob You can buckle on mobs if you're next to them since most are dense Turns you to face the other mob too
can_be_facehuggedCan this mob be facehugged?
can_put_in_handReturns if we're able to put something in a hand of a mob
can_wait_in_larva_queueReturns if the mob is valid to keep waiting in the larva queue
changeNext_movehow many times we've fired the railgun this cycle max times we can fire within a single volley used to check if we have valid targets Delays the mob's next click/action by num deciseconds eg: 10 - 3 = 7 deciseconds of delay eg: 10 * 0.5 = 5 deciseconds of delay DOES NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK
check_emoteCheck if this message is an emote
clear_fullscreenRemoves a fullscreen overlay
clear_important_client_contentsWe got our awareness updated by the important recursive contents stuff, now we add our membership Clears the clients channel of this mob
create_chat_messageCreates a message overlay at a defined location for a given speaker
create_thinking_indicatorCreates a thinking indicator over the mob.
create_typing_indicatorCreates a typing indicator over the mob.
default_lighting_cutoffReturns this mob's default lighting alpha
do_after_coefficentMultiplier on all do_afters for this mob
downMoves a mob down a z level
draw_from_slot_if_possibleChecks an inventory slot for an item that can be drawn that is directly stored, or inside another storage item, and draws it if possible
dropItemToGroundUsed to drop an item (if it exists) to the ground.
drop_all_held_itemsDrops the items in our hands.
drop_held_itemDrops the item in our active hand.
drop_item_vHelper proc used by the drop_item verb and on screen button.
drop_l_handDrops the item in our left hand.
drop_r_handDrops the item in our right hand.
enable_client_mobs_in_contentsWe get our awareness updated by the important recursive contents stuff, here we remove our membership propogates ourselves through our nested contents, similar to other important_recursive_contents procs main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye
eord_respawnThis is only available to mobs once they join EORD.
equip_to_appropriate_slotAttempts to store an item in a valid location based on SLOT_EQUIP_ORDER
equip_to_slotThis is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on whether you can or can't eqip need to be done before! Use mob_can_equip() for that task. In most cases you will want to use equip_to_slot_if_possible()
equip_to_slot_if_possibleThis is a SAFE proc. Use this instead of equip_to_slot()! set del_on_fail to have it delete item_to_equip if it fails to equip unset redraw_mob to prevent the mob from being redrawn at the end.
equip_to_slot_or_delThis is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to equip people when the rounds starts and when events happen and such.
equip_to_slot_or_handTries to equip an item to the slot provided, otherwise tries to put it in hands, if hands are full the item is deleted
examinateThis is a mob verb for speed reasons (nice one BYOND). See this BYOND forum post for why this isnt something like /atom/verb/examine.
finish_clear_fullscreenActually removes the fullscreen overlay when ready
get_active_held_itemreturns the thing in our currently active hand
get_config_multiplicative_speedGet the global config movespeed of a mob by type
get_equipped_slotFind the slot an item is equipped to and returns its slot define
get_held_itemProc to get the item in the active hand.
get_held_itemsGet a list of all held items
get_inactive_held_itemreturns the thing in our currently inactive hand
get_item_by_slotReturns the item in a given slot
get_item_by_slot_bitReturns the item in a given bit slot
get_item_for_held_indexgets an item by hand index
get_liquid_slowdownReturns the slowdown applied to the mob when moving through liquids like water
get_mob_buckling_heightreturns the height in pixel the mob should have when buckled to another mob.
get_movespeed_modifiersGet the move speed modifiers list of the mob
get_policy_keywordsGet the list of keywords for policy config
get_status_tab_itemsAdds this list to the output to the stat browser
has_movespeed_modifierIs there a movespeed modifier for this mob
index_to_handreturns the hand based on index (1 for left hand, 2 for right)
interaction_emoteAll in one function to begin interactions
is_holding_item_of_typeChecks if this mob is holding a certain type of item in hands returns the item if found Args:
log_messageLogs a message in a mob's individual log, and in the global logs as well if log_globally is true
log_mob_tagLogs a mesage to the mob_tags log, including the mobs tag Arguments:
movespeed_modifier_identical_checkCheck if a movespeed modifier is identical to another
onShuttleMoveMob move procs
on_eordSide effects of being sent to the end of round deathmatch zone
overlay_fullscreenApplies a fullscreen overlay
play_screen_textproc for playing a screen_text on a mob. enqueues it if a screen text is running and plays i otherwise Arguments:
playsound_localsnowflake, note this ignores walls cus I cant be assed rn Plays a sound locally
post_buckle_mobCall back post buckle to a mob to offset your visual height
post_unbuckle_mobCall back post unbuckle from a mob, (reset your visual height here)
put_in_active_handPuts the item into our active hand if possible.
put_in_any_hand_if_possibleAttempts to put an item in either hand, prioritizing the active hand
put_in_handPuts an item in a specific hand index (so left or right)
put_in_hand_checkProc that checks if we can put something into someone's hands
put_in_handsPuts the item our active hand if possible. Failing that it tries our inactive hand. If both hands fail the item falls to the floor.
put_in_inactive_handPuts the item into our inactive hand if possible.
put_in_l_handPuts the item into your l_hand if possible and calls all necessary triggers/updates.
put_in_r_handPuts the item into your r_hand if possible and calls all necessary triggers/updates.
record_structures_builtTally when a structure is constructed
record_traps_createdShort proc that tallies up traps_created; reduce copy pasta
remove_all_indicatorsRemoves any indicators and marks the mob as not speaking IC.
remove_movespeed_modifierRemove a move speed modifier from a mob
remove_thinking_indicatorRemoves the thinking indicator over the mob.
remove_typing_indicatorRemoves the typing indicator over the mob.
say_verbwhat clients use to speak. when you type a message into the chat bar in say mode, this is the first thing that goes off serverside.
setGrabStateUpdates the grab state of the mob and updates movespeed
set_invis_seesee invisibility is the mob's capability to see things that ought to be hidden from it Can think of it as a primitive version of changing the alpha of planes We mostly use it to hide ghosts, no real reason why
set_sightSight here is the mob.sight var, which tells byond what to actually show to our client See code__DEFINES\sight.dm for more details
set_skillsHandles setting or changing a mob's skills
shared_ui_interactionpublic
shuttleRotateMob rotate procs
sort_movespeed_modlistSort the list of move speed modifiers
stripPanelUnequipThe mob is trying to strip an item from someone
sync_lighting_plane_cutoffSet the lighting plane hud filters to the mobs lighting_cutoff var
temporarilyRemoveItemFromInventoryRemoves an item on a mob's inventory.
throw_itemThrows active held item at target in params
transferItemToLocFor when the item will be immediately placed in a loc other than the ground.
upMoves a mob upwards in z level
update_action_buttonsThis is the proc used to update all the action buttons.
update_config_movespeedSet or update the global movespeed config on a mob
update_joined_player_listSignal sent after the eye has been successfully updated, with the client existing.
update_mouse_pointerUpdate the mouse pointer of the attached client in this mob
update_movespeedGo through the list of movespeed modifiers and calculate a final movespeed
update_sightUpdate the lighting plane and sight of this mob (sends COMSIG_MOB_UPDATE_SIGHT)
update_statCalled to update the stat var, returns a boolean to indicate if it has been handled.

Var Details

active_thinking_indicator

the icon currently used for the thinking indicator's bubble

active_typing_indicator

the icon currently used for the typing indicator's bubble

alerts

contains /atom/movable/screen/alert only, used by alerts.dm

bubble_icon

what icon the mob uses for speechbubbles

cached_multiplicative_slowdown

The calculated mob speed slowdown based on the modifiers list.

canon_client

The current client inhabiting this mob. Managed by login/logout This exists so we can do cleanup in logout for occasions where a client was transfere rather then destroyed We need to do this because the mob on logout never actually has a reference to client We also need to clear this var/do other cleanup in client/Destroy, since that happens before logout HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

control_object

Used by admins to possess objects.

dextrous

Has enough dexterity to interact with advanced objects?

do_actions

Lazylist assoc list of do_after and do_mob actions the mob is currently performing: list([target] = amount)

do_self_harm

Whether or not the mob can hit themselves.

focus

What receives our keyboard inputs. src by default

has_unlimited_silicon_privilege

Can they interact with station electronics

interactee

the thing that the mob is currently interacting with (e.g. a computer, another mob (stripping a mob), manning a hmg)

lighting_color_cutoffs

A list of red, green and blue cutoffs This is what actually gets applied to the mob, it's modified by things like glasses

lighting_cutoff

Percentage of how much rgb to max the lighting plane at This lets us brighten it without washing out color Scale from 0-100, reset off update_sight()

listed_turf

the current turf being examined in the stat panel

lying_angle

Mob's angle in BYOND degrees. 0 is north (up/standing for humans), 90 and 270 are east and west respectively (lying horizontally), and 90 is south (upside-down).

machine

The machine the mob is interacting with (this is very bad old code btw)

move_on_shuttle

Can move on the shuttle.

movespeed_modification

List of movement speed modifiers applying to this mob. Lazy list, see mob_movespeed.dm

next_move_adjust

Amount to adjust action/click delays by, + or -

next_move_slowdown

Amount added during the next movement_delay(), then is reset.

observers

The list of people observing this mob.

pain_stored

TODO MOVE ME OR EVEN BETTER GET RID OF ME

progbar_towers

for stacking the total pixel height of the aboves.

progressbars

for stacking do_after bars

queued_interactions

List of queued interactions on this mob

remote_control

Calls relaymove() to whatever it is

s_active

Our mobs currently active storage

speak_emote

Verbs used when speaking instead of the default ones.

stat

Whether a mob is alive or dead. TODO: Move this to living - Nodrak

tgui_open_uis

global

Tracks open UIs for a user.

thinking_IC

User is thinking in character. Used to revert to thinking state after stop_typing

updating_glide_size

Whether the mob is updating glide size when movespeed updates or not

Proc Details

AltRightClickOn

Called when a owner mob Alt + Rightmouseclicks an atom, given that Altclick does not return TRUE

ClickOn

Standard mob ClickOn() Handles exceptions: Buildmode, middle click, modified clicks, mech actions

After that, mostly just check your state, check whether you're holding an item, check whether you're adjacent to the target, then pass off the click to whoever is receiving it. The most common are:

Process_Spacemove

Process_Spacemove Called by /client/Move() For moving in space Return 1 for movement 0 for none

RightClickOn

Called when a owner mob Rightmouseclicks an atom

ShiftRightClickOn

Called when a owner mob Shift + Rightmouseclicks an atom

UnEquip

DO NOT CALL THIS PROC

UnarmedAttack

Translates into attack_hand, etc.

has_proximity is TRUE if this afterattack was called on something adjacent, in your square, or on your person.

has_proximity is not currently passed to attack_hand, and is instead used in human click code to allow glove touches only at melee range.

params is passed on here as the third arg

add_click_catcher

Sets up the click_catcher for the client

add_movespeed_modifier

Add a move speed modifier to a mob

additive_flagged_slowdown

Give the sum of all slowdown that have inputted flag

attack_ui

This proc is called whenever someone clicks an inventory ui slot.

become_uncliented

Cleanup proc that's called when a mob loses a client, either through client destroy or logout Logout happens post client del, so we can't just copypaste this there. This keeps things clean and consistent

binarycheck

Returns false by default

buckle_mob

Buckle to another mob You can buckle on mobs if you're next to them since most are dense Turns you to face the other mob too

can_be_facehugged

Can this mob be facehugged?

can_put_in_hand

Returns if we're able to put something in a hand of a mob

can_wait_in_larva_queue

Returns if the mob is valid to keep waiting in the larva queue

changeNext_move

how many times we've fired the railgun this cycle max times we can fire within a single volley used to check if we have valid targets Delays the mob's next click/action by num deciseconds eg: 10 - 3 = 7 deciseconds of delay eg: 10 * 0.5 = 5 deciseconds of delay DOES NOT EFFECT THE BASE 1 DECISECOND DELAY OF NEXT_CLICK

check_emote

Check if this message is an emote

clear_fullscreen

Removes a fullscreen overlay

clear_important_client_contents

We got our awareness updated by the important recursive contents stuff, now we add our membership Clears the clients channel of this mob

create_chat_message

Creates a message overlay at a defined location for a given speaker

Arguments:

create_thinking_indicator

Creates a thinking indicator over the mob.

create_typing_indicator

Creates a typing indicator over the mob.

default_lighting_cutoff

Returns this mob's default lighting alpha

do_after_coefficent

Multiplier on all do_afters for this mob

down

Moves a mob down a z level

draw_from_slot_if_possible

Checks an inventory slot for an item that can be drawn that is directly stored, or inside another storage item, and draws it if possible

dropItemToGround

Used to drop an item (if it exists) to the ground.

drop_all_held_items

Drops the items in our hands.

Returns TURE if it was successful.

drop_held_item

Drops the item in our active hand.

Returns TURE if it was successful.

drop_item_v

Helper proc used by the drop_item verb and on screen button.

Returns TURE if it was successful.

drop_l_hand

Drops the item in our left hand.

Returns TURE if it was successful.

drop_r_hand

Drops the item in our right hand.

Returns TURE if it was successful.

enable_client_mobs_in_contents

We get our awareness updated by the important recursive contents stuff, here we remove our membership propogates ourselves through our nested contents, similar to other important_recursive_contents procs main difference is that client contents need to possibly duplicate recursive contents for the clients mob AND its eye

eord_respawn

This is only available to mobs once they join EORD.

equip_to_appropriate_slot

Attempts to store an item in a valid location based on SLOT_EQUIP_ORDER

equip_to_slot

This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on whether you can or can't eqip need to be done before! Use mob_can_equip() for that task. In most cases you will want to use equip_to_slot_if_possible()

equip_to_slot_if_possible

This is a SAFE proc. Use this instead of equip_to_slot()! set del_on_fail to have it delete item_to_equip if it fails to equip unset redraw_mob to prevent the mob from being redrawn at the end.

equip_to_slot_or_del

This is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to equip people when the rounds starts and when events happen and such.

equip_to_slot_or_hand

Tries to equip an item to the slot provided, otherwise tries to put it in hands, if hands are full the item is deleted

examinate

This is a mob verb for speed reasons (nice one BYOND). See this BYOND forum post for why this isnt something like /atom/verb/examine.

SIGNAL FUN: Produces a signal COMSIG_MOB_EXAMINATE, for doing stuff to people who examine things, like applying debilitating effects to someone who examines a specific type of atom.

finish_clear_fullscreen

Actually removes the fullscreen overlay when ready

get_active_held_item

returns the thing in our currently active hand

get_config_multiplicative_speed

Get the global config movespeed of a mob by type

get_equipped_slot

Find the slot an item is equipped to and returns its slot define

get_held_item

Proc to get the item in the active hand.

get_held_items

Get a list of all held items

get_inactive_held_item

returns the thing in our currently inactive hand

get_item_by_slot

Returns the item in a given slot

get_item_by_slot_bit

Returns the item in a given bit slot

get_item_for_held_index

gets an item by hand index

get_liquid_slowdown

Returns the slowdown applied to the mob when moving through liquids like water

get_mob_buckling_height

returns the height in pixel the mob should have when buckled to another mob.

get_movespeed_modifiers

Get the move speed modifiers list of the mob

get_policy_keywords

Get the list of keywords for policy config

This gets the type, mind assigned roles and antag datums as a list, these are later used to send the user relevant headadmin policy config

get_status_tab_items

Adds this list to the output to the stat browser

has_movespeed_modifier

Is there a movespeed modifier for this mob

index_to_hand

returns the hand based on index (1 for left hand, 2 for right)

interaction_emote

All in one function to begin interactions

is_holding_item_of_type

Checks if this mob is holding a certain type of item in hands returns the item if found Args:

log_message

Logs a message in a mob's individual log, and in the global logs as well if log_globally is true

log_mob_tag

Logs a mesage to the mob_tags log, including the mobs tag Arguments:

movespeed_modifier_identical_check

Check if a movespeed modifier is identical to another

onShuttleMove

Mob move procs

on_eord

Side effects of being sent to the end of round deathmatch zone

overlay_fullscreen

Applies a fullscreen overlay

play_screen_text

proc for playing a screen_text on a mob. enqueues it if a screen text is running and plays i otherwise Arguments:

playsound_local

snowflake, note this ignores walls cus I cant be assed rn Plays a sound locally

Arguments:

post_buckle_mob

Call back post buckle to a mob to offset your visual height

post_unbuckle_mob

Call back post unbuckle from a mob, (reset your visual height here)

put_in_active_hand

Puts the item into our active hand if possible.

Arguments

Returns TRUE on success.

put_in_any_hand_if_possible

Attempts to put an item in either hand, prioritizing the active hand

put_in_hand

Puts an item in a specific hand index (so left or right)

put_in_hand_check

Proc that checks if we can put something into someone's hands

put_in_hands

Puts the item our active hand if possible. Failing that it tries our inactive hand. If both hands fail the item falls to the floor.

Arguments

Returns TRUE if it was able to put the thing into one of our hands.

put_in_inactive_hand

Puts the item into our inactive hand if possible.

Arguments

put_in_l_hand

Puts the item into your l_hand if possible and calls all necessary triggers/updates.

Arguments

Returns TRUE on success.

put_in_r_hand

Puts the item into your r_hand if possible and calls all necessary triggers/updates.

Arguments

Returns TRUE on success.

record_structures_built

Tally when a structure is constructed

record_traps_created

Short proc that tallies up traps_created; reduce copy pasta

remove_all_indicators

Removes any indicators and marks the mob as not speaking IC.

remove_movespeed_modifier

Remove a move speed modifier from a mob

remove_thinking_indicator

Removes the thinking indicator over the mob.

remove_typing_indicator

Removes the typing indicator over the mob.

say_verb

what clients use to speak. when you type a message into the chat bar in say mode, this is the first thing that goes off serverside.

setGrabState

Updates the grab state of the mob and updates movespeed

set_invis_see

see invisibility is the mob's capability to see things that ought to be hidden from it Can think of it as a primitive version of changing the alpha of planes We mostly use it to hide ghosts, no real reason why

set_sight

Sight here is the mob.sight var, which tells byond what to actually show to our client See code__DEFINES\sight.dm for more details

set_skills

Handles setting or changing a mob's skills

shared_ui_interaction

public

Standard interaction/sanity checks. Different mob types may have overrides.

return UI_state The state of the UI.

shuttleRotate

Mob rotate procs

sort_movespeed_modlist

Sort the list of move speed modifiers

Verifies it too. Sorts highest priority (first applied) to lowest priority (last applied)

stripPanelUnequip

The mob is trying to strip an item from someone

sync_lighting_plane_cutoff

Set the lighting plane hud filters to the mobs lighting_cutoff var

temporarilyRemoveItemFromInventory

Removes an item on a mob's inventory.

throw_item

Throws active held item at target in params

transferItemToLoc

For when the item will be immediately placed in a loc other than the ground.

up

Moves a mob upwards in z level

update_action_buttons

This is the proc used to update all the action buttons.

update_config_movespeed

Set or update the global movespeed config on a mob

update_joined_player_list

Signal sent after the eye has been successfully updated, with the client existing.

update_mouse_pointer

Update the mouse pointer of the attached client in this mob

update_movespeed

Go through the list of movespeed modifiers and calculate a final movespeed

update_sight

Update the lighting plane and sight of this mob (sends COMSIG_MOB_UPDATE_SIGHT)

update_stat

Called to update the stat var, returns a boolean to indicate if it has been handled.