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

mob

The mob, usually meant to be a creature of some type

Has a client attached that is a living person (most of the time), although I have to admit sometimes it's hard to tell they're sentient

Has a lot of the creature game world logic, such as health etc

Vars

LAssailantA weakref to the last mob/living/carbon to push/drag/grab this mob (exclusively used by slimes friend recognition)
actionsList of action hud items the user has
actionspeed_mod_immunitiesList of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)
actionspeed_modificationList of action speed modifiers applying to this mob
active_hand_indexWhat hand is the active hand
active_storageStorage component (for mob inventory)
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.
bodytemperatureDefault body temperature
buckledmovable atom we are buckled to
cached_multiplicative_actions_slowdownThe calculated mob action speed slowdown based on the modifiers list
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
click_interceptAllows a datum to intercept all click calls this mob is the source of
do_aftersFor storing what do_after's someone has, key = string, value = amount of interactions of that type happening.
emotes_usedUsed for tracking last uses of emotes for cooldown purposes
examine_cursor_iconCursor icon used when holding shift over things
has_unlimited_silicon_privilegeCan they interact with station electronics
held_itemslist of items held in hands
hud_usedActive hud
jobWhat job does this mob have
lastKnownIPThe last known IP of the client who was in this mob
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
machineThe machine the mob is interacting with (this is very bad old code btw)
mock_clientA mock client, provided by tests and friends
move_on_shuttleCan this mob enter shuttles
movespeed_mod_immunitiesList of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)
movespeed_modificationList of movement speed modifiers applying to this mob
next_moveTick time the mob can next move
nutritionHunger level of the mob
observersThe list of people observing this mob.
old_bodytemperatureOur body temperatue as of the last process, prevents pointless work when handling alerts
overeatdurationHow many ticks this mob has been over reating
progressbarsList of progress bars this mob is currently seeing for actions
real_nameWhat is the mobs real name (name is overridden for disguises etc)
registered_zTHe z level this mob is currently registered in
remote_controlCalls relay_move() to whatever this is set to when the mob tries to move
satietySatiation level of the mob
sound_environment_overrideOverride for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)
statWhether a mob is alive or dead. TODO: Move this to living - Nodrak (2019, still here)
status_flagsbitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc)
tgui_open_uisglobal
throw_modeIs the mob throw intent on
updating_glide_sizeWhether the mob is updating glide size when movespeed updates or not
zone_selectedThe zone this mob is currently targeting

Procs

AltClickOnAlt click Unused except for AI
CellSome kind of debug verb that gives atmosphere environment details
ClickOnStandard mob ClickOn() Handles exceptions: Buildmode, middle click, modified clicks, mech actions
CtrlClickOnCtrl click For most objects, pull
CtrlShiftClickOnControl+Shift click Unused except for AI
DblClickOnDefault behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click)
DestroyDelete a mob
GenerateTagGenerate the tag for this mob
InitializeIntialize a mob
LoginRun when a client is put in this mob or reconnets to byond and their client was on this mob. Anything that sleeps can result in the client reference being dropped, due to byond using that sleep to handle a client disconnect. You can save a lot of headache if you make Login use SHOULD_NOT_SLEEP, but that would require quite a bit of refactoring how Login code works.
MiddleClickOnMiddle click Mainly used for swapping hands
MouseDropControls if a mouse drop succeeds (return null if it doesnt)
MouseWheelOnMouseWheelOn
Process_SpacemoveHandles mob/living movement in space (or no gravity)
RangedAttackRanged unarmed attack:
ShiftClickOnShift click For most mobs, examine. This is overridden in ai.dm
UnarmedAttackUnarmedAttack: The higest level of mob click chain discounting click itself.
_pointedpossibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro
abandon_mobAllows you to respawn, abandoning your current mob
add_actionspeed_modifierAdd a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_client_colourAdds an instance of colour_type to the mob's client_colours list colour_type - a typepath (subtyped from /datum/client_colour)
add_movespeed_modifierAdd a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.
add_to_alive_mob_listAdds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.
add_to_current_dead_playersAdds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.
add_to_current_living_antagsAdds the cliented mob reference to the list of living antag player-mobs.
add_to_current_living_playersAdds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.
add_to_dead_mob_listAdds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
add_to_mob_listAdds the mob reference to the list and directory of all mobs. Called on Initialize().
add_to_mob_suicide_listAdds a mob reference to the list of all suicided mobs
add_to_player_listAdds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().
adjust_bodytemperatureAdjust the body temperature of a mob, with min/max settings
adjust_disgustAdjust the disgust level of a mob
adjust_nutritionAdjust the nutrition of a mob
animate_client_colourWorks similarly to 'update_client_colour', but animated.
apply_pref_nameGeneralised helper proc for letting mobs rename themselves. Used to be clname() and ainame()
attack_uiThis proc is called whenever someone clicks an inventory ui slot.
audible_messageShow a message to all mobs in earshot of this one
auto_deadmin_on_loginChecks if the attached client is an admin and may deadmin them
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
buckle_mobBuckle a living mob to this mob. Also turns you to face the other mob
canUseStorageCan this mob use storage
can_block_magicChecks to see if the mob can block magic
can_cast_magicChecks to see if the mob can cast normal magic spells.
can_hearCan the mob hear
can_hold_itemsCan this mob hold items
can_interact_withCan the mob interact() with an atom?
can_mutateReturns TRUE if the mob is allowed to mutate via its DNA, or FALSE if otherwise. Only an organic Carbon with valid DNA may mutate; not robots, AIs, aliens, Ians, or other mobs.
can_perform_actionChecks whether a mob can perform an action to interact with an object
can_readCan this mob read
can_resistCan this mob resist (default FALSE)
can_see_reagentsCan the mob see reagents inside of containers?
can_writeProc that returns TRUE if the mob can write using the writing_instrument, FALSE otherwise.
cancel_cameraSometimes helps if the user is stuck in another perspective or camera
change_mob_type_uncheckedVersion of [change_mob_type] that does no usr prompting (may send an error message though). Satisfies procs with the SHOULD_NOT_SLEEP restriction
check_emoteCheck if this message is an emote
check_respawn_delayChecks if the mob can respawn yet according to the respawn delay
clear_from_recent_examinesthe item in our active hand our active hand, to check if it's disabled/detatched how long it takes for the blind person to find the thing they're examining our current intent, so we can go back to it after touching
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
click_random_mobClicks a random nearby mob with the source from this mob
common_trait_examineExamine text for traits shared by multiple types.
copy_recent_speechReturns an associative list of the logs of a certain amount of lines spoken recently by this mob copy_amount - number of lines to return line_chance - chance to return a line, if you don't want just the most recent x lines
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_countReturns the total amount of do_afters this mob is taking part in
downMoves a mob down a z level
dropItemToGroundUsed to drop an item (if it exists) to the ground.
drop_everythingSafely drop everything, without deconstructing the mob
enable_client_mobs_in_contentspropogates 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
equip_to_appropriate_slotAuto equip the passed in item the appropriate slot based on equipment priority
equip_to_slotActually equips an item to a slot (UNSAFE)
equip_to_slot_if_possibleTry to equip an item to a slot on the mob
equip_to_slot_or_delEquip an item to the slot or delete
examinateSignal sent after the eye has been successfully updated, with the client existing. Examine a mob
execute_modeproc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called
execute_quick_equipproc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded
face_atomSimple helper to face what you clicked on, in case it should be needed in more than one place
first_nameFind the first name of a mob from the real name with regex
fully_replace_character_nameFully update the name of a mob
get_actions_for_statpanelConvert a list of spells into a displyable list for the statpanel
get_actionspeed_modifiersGet the action speed modifiers list of the mob
get_active_handGet the bodypart for whatever hand we have active, Only relevant for carbons
get_active_held_itemReturns the thing we're currently holding
get_config_multiplicative_speedGet the global config movespeed of a mob by type
get_equipped_speed_mod_itemsGet all items in our possession that should affect our movespeed
get_ghostGet the ghost of this mob (from the mind)
get_item_by_slotGet the item on the mob in the storage slot identified by the id passed in
get_item_offsets_for_indexwe adjust the human body for high given by body parts, execpt shoes, because they are always on the bottom
get_message_modsExtracts and cleans message of any extenstions at the begining of the message Inserts the info into the passed list, returns the cleaned message
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_num_held_itemsFind number of held items, multihand compatible
get_organ_by_typeGet the organ object from the mob matching the passed in typepath
get_organ_slotReturns a list of all organs in specified slot
get_organs_for_zoneGet organ objects by zone
get_photo_descriptionReturn the desc of this mob for a photo
get_policy_keywordsGet the list of keywords for policy config
get_random_valid_zoneMore or less ran_zone, but only returns bodyzones that the mob /actually/ has.
get_realname_stringReturns a mob's real name between brackets. Useful when you want to display a mob's name alongside their real name
get_slot_by_itemGets what slot the item on the mob is held in. Returns null if the item isn't in any slots on our mob. Does not check if the passed item is null, which may result in unexpected outcoms.
get_spacemove_backupFinds a target near a mob that is viable for pushing off when moving. Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting
get_status_tab_itemsAdds this list to the output to the stat browser
grab_ghostForce get the ghost from the mind
grant_actions_by_listTakes in an associated list (key /datum/action typepaths, value is the AI blackboard key) and handles granting the action and adding it to the mob's AI controller blackboard. This is only useful in instances where you don't want to store the reference to the action on a variable on the mob. You can set the value to null if you don't want to add it to the blackboard (like in player controlled instances). Is also safe with null AI controllers. Assumes that the action will be initialized and held in the mob itself, which is typically standard.
handle_eye_contacthandle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last 2 seconds within 5 tiles, we make eye contact!
has_actionspeed_modifierIs there a actionspeed modifier for this mob
has_light_nearbyChecks if there is enough light where the mob is located
has_movespeed_modifierIs there a movespeed modifier for this mob
has_nightvisionCan this mob see in the dark
has_status_effectChecks if this mob has a status effect that shares the passed effect's ID
has_status_effect_from_sourceChecks if this mob has a status effect that shares the passed effect's ID and has the passed sources are in its list of sources (ONLY works for grouped efects!)
has_status_effect_listReturns a list of all status effects that share the passed effect type's ID
hide_other_mob_action_buttonsHide another mob's action buttons from this mob
hivecheckCheck if the mob has a hivemind channel
incapacitatedIs the mob incapacitated
initialize_actionspeedAdds a default action speed
is_holding_itemsReturns true if a mob is holding something
is_literateThis mob is abile to read books
is_muzzledIs the mob muzzled (default false)
is_nearsighted_currentlyIs the mob nearsighted CURRENTLY? This check fails if the mob is nearsighted but is wearing glasses, While is_nearsighted will always succeed even if they are wearing glasses.
last_nameFind the last name of a mob from the real name with regex
limb_attack_selfCalled by using Activate Held Object with an empty hand/limb
log_manual_zone_selected_updateGenerates a log message when a user manually changes their targeted zone. Only need to one of new_target or old_target, and the other will be auto populated with the current selected zone.
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:
lost_gameThis proc sends the COMSIG_MOB_LOST_VIDEOGAME signal
lowest_buckled_mobFind the mob at the bottom of a buckle chain
make_paiCreates a new pAI.
me_verbThe me emote verb
memoryShows a tgui window with memories
mob_negates_gravityDoes this mob ignore gravity
modeVerb to activate the object in your held hand
notify_revivalNotify a ghost that its body is being revived
onShuttleMoveMob move procs
on_block_magic_effectsCalled whenever a magic effect with a charge cost is blocked and we haven't recently blocked magic.
on_observing_action_grantedSignal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, we need to update with any newly added buttons granted to the mob.
on_observing_action_removedSignal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, we need to update with any removed buttons from the mob.
open_language_menu_verbShow the language menu for this mob
perform_hand_swapPerforms the actual ritual of swapping hands, such as setting the held index variables
played_gameThis proc sends the COMSIG_MOB_PLAYED_VIDEOGAME signal
pointedPoint at an atom
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)
query_heartAsk someone if they'd like to award a commendation for the round, 3 tries to get the name they want before we give up
ranged_secondary_attackRanged secondary attack
reagent_checkProc used for custom metabolization of reagents, if any
refresh_looping_ambienceTries to play looping ambience to the mobs.
regenerate_iconsRedraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.
remove_actionspeed_modifierRemove a action speed modifier from a mob, whether static or variable.
remove_all_indicatorsRemoves any indicators and marks the mob as not speaking IC.
remove_client_colourRemoves an instance of colour_type from the mob's client_colours list colour_type - a typepath (subtyped from /datum/client_colour)
remove_from_alive_mob_listRemoves the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.
remove_from_current_dead_playersRemoves the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.
remove_from_current_living_antagsRemoves the mob reference from the list of living antag player-mobs.
remove_from_current_living_playersRemoves the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.
remove_from_dead_mob_listRemvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.
remove_from_mob_listRemoves the mob reference from the list and directory of all mobs. Called on Destroy().
remove_from_mob_suicide_listRemoves a mob references from the list of all suicided mobs
remove_from_player_listRemoves the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().
remove_movespeed_modifierRemove a move speed modifier from a mob, whether static or variable.
remove_thinking_indicatorRemoves the thinking indicator over the mob.
remove_typing_indicatorRemoves the typing indicator over the mob.
replace_identification_nameupdate the ID name of this mob
replace_records_nameUpdates GLOB.manifest records with new name , see mob/living/carbon/human
reset_perspectiveReset the attached clients perspective (viewpoint)
say_deadSpeak as a dead person (ghost etc)
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.
set_disgustSet the disgust level of a mob
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_nutritionForce set the mob nutrition
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_speciesDNA MOB-PROCS
shared_ui_interactionpublic
show_messageShow a message to this mob (visual or audible)
show_other_mob_action_buttonsShow (most) of the another mob's action buttons to this mob
shuttleRotateMob rotate procs
slipCalled when this mob slips over, override as needed
spinSpin this mob around it's central axis
sync_lighting_plane_cutoffSet the lighting plane hud filters to the mobs lighting_cutoff var
throw_alertProc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already category is a text string. Each mob may only have one alert per category; the previous one will be replaced path is a type path of the actual alert type to throw severity is an optional number that will be placed at the end of the icon_state for this alert for example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2" new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay. flicks are forwarded to master override makes it so the alert is not replaced until cleared by a clear_alert with clear_override, and it's used for hallucinations.
upMoves a mob upwards in z level
update_action_buttonsThis proc handles adding all of the mob's actions to their screen
update_actionspeedGo through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_bodyUpdates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.
update_client_colourResets the mob's client.color to null, and then reapplies a new color based on the client_colour datums it currently has.
update_clothingUpdates every item slot passed into it.
update_config_movespeedSet or update the global movespeed config on a mob
update_equipment_speed_modsApply a proper movespeed modifier based on items we have equipped
update_held_itemsUpdates the held items overlay(s) & HUD element.
update_inv_earsUpdates the handcuff overlay & HUD element.
update_mob_action_buttonsUpdates all action buttons this mob has.
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. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!
update_pocketsUpdates the handcuff overlay & HUD element.
update_pull_hud_iconUpdate the pulling hud icon
update_rest_hud_iconUpdate the resting hud icon
update_sightUpdate the lighting plane and sight of this mob (sends COMSIG_MOB_UPDATE_SIGHT)
update_stamina_hudChanges the stamina HUD based on new information
update_suit_storageUpdates the handcuff overlay & HUD element.
update_worn_backUpdates the back overlay & HUD element.
update_worn_beltUpdates the belt overlay & HUD element.
update_worn_glassesUpdates the glasses overlay & HUD element.
update_worn_glovesUpdates the glasses overlay & HUD element.
update_worn_handcuffsUpdates the handcuff overlay & HUD element.
update_worn_headUpdates the on-head overlay & HUD element.
update_worn_idUpdates the id overlay & HUD element.
update_worn_legcuffsUpdates the legcuff overlay & HUD element.
update_worn_maskUpdates the mask overlay & HUD element.
update_worn_neckUpdates the neck overlay & HUD element.
update_worn_oversuitUpdates the oversuit overlay & HUD element.
update_worn_shoesUpdates the shoes overlay & HUD element.
update_worn_undersuitUpdates the undersuit/uniform overlay & HUD element.
visible_messageAdds the functionality to self_message.
voteMob level verb that allows players to vote on the current vote.
vv_get_dropdownGet the mob VV dropdown extras
vv_get_varextra var handling for the logging var
whisperWhisper a message.
whisper_verbWhisper verb
won_gameThis proc sends the COMSIG_MOB_WON_VIDEOGAME signal

Var Details

LAssailant

A weakref to the last mob/living/carbon to push/drag/grab this mob (exclusively used by slimes friend recognition)

actions

List of action hud items the user has

actionspeed_mod_immunities

List of action speed modifiers ignored by this mob. List -> List (id) -> List (sources)

actionspeed_modification

List of action speed modifiers applying to this mob

active_hand_index

What hand is the active hand

active_storage

Storage component (for mob inventory)

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.

On /mob so clientless mobs will throw alerts properly.

bodytemperature

Default body temperature

buckled

movable atom we are buckled to

cached_multiplicative_actions_slowdown

The calculated mob action speed slowdown based on the modifiers list

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

click_intercept

Allows a datum to intercept all click calls this mob is the source of

do_afters

For storing what do_after's someone has, key = string, value = amount of interactions of that type happening.

emotes_used

Used for tracking last uses of emotes for cooldown purposes

examine_cursor_icon

Cursor icon used when holding shift over things

has_unlimited_silicon_privilege

Can they interact with station electronics

held_items

list of items held in hands

len = number of hands, eg: 2 nulls is 2 empty hands, 1 item and 1 null is 1 full hand and 1 empty hand.

NB: contains nulls!

held_items[active_hand_index] is the actively held item, but please use get_active_held_item() instead, because OOP

hud_used

Active hud

job

What job does this mob have

lastKnownIP

The last known IP of the client who was in this mob

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

machine

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

mock_client

A mock client, provided by tests and friends

move_on_shuttle

Can this mob enter shuttles

movespeed_mod_immunities

List of movement speed modifiers ignored by this mob. List -> List (id) -> List (sources)

movespeed_modification

List of movement speed modifiers applying to this mob

next_move

Tick time the mob can next move

nutrition

Hunger level of the mob

observers

The list of people observing this mob.

old_bodytemperature

Our body temperatue as of the last process, prevents pointless work when handling alerts

overeatduration

How many ticks this mob has been over reating

progressbars

List of progress bars this mob is currently seeing for actions

real_name

What is the mobs real name (name is overridden for disguises etc)

registered_z

THe z level this mob is currently registered in

remote_control

Calls relay_move() to whatever this is set to when the mob tries to move

satiety

Satiation level of the mob

sound_environment_override

Override for sound_environments. If this is set the user will always hear a specific type of reverb (Instead of the area defined reverb)

stat

Whether a mob is alive or dead. TODO: Move this to living - Nodrak (2019, still here)

status_flags

bitflags defining which status effects can be inflicted (replaces canknockdown, canstun, etc)

tgui_open_uis

global

Tracks open UIs for a user.

throw_mode

Is the mob throw intent on

updating_glide_size

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

zone_selected

The zone this mob is currently targeting

Proc Details

AltClickOn

Alt click Unused except for AI

Cell

Some kind of debug verb that gives atmosphere environment details

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:

CtrlClickOn

Ctrl click For most objects, pull

CtrlShiftClickOn

Control+Shift click Unused except for AI

DblClickOn

Default behavior: ignore double clicks (the second click that makes the doubleclick call already calls for a normal click)

Destroy

Delete a mob

Removes mob from the following global lists

Unsets the focus var

Clears alerts for this mob

Resets all the observers perspectives to the tile this mob is on

qdels any client colours in place on this mob

Clears any refs to the mob inside its current location

Ghostizes the client attached to this mob

If our mind still exists, clear its current var to prevent harddels

Parent call

GenerateTag

Generate the tag for this mob

This is simply "mob_"+ a global incrementing counter that goes up for every mob

Initialize

Intialize a mob

Sends global signal COMSIG_GLOB_MOB_CREATED

Adds to global lists

Other stuff:

Login

Run when a client is put in this mob or reconnets to byond and their client was on this mob. Anything that sleeps can result in the client reference being dropped, due to byond using that sleep to handle a client disconnect. You can save a lot of headache if you make Login use SHOULD_NOT_SLEEP, but that would require quite a bit of refactoring how Login code works.

Things it does:

MiddleClickOn

Middle click Mainly used for swapping hands

MouseDrop

Controls if a mouse drop succeeds (return null if it doesnt)

MouseWheelOn

MouseWheelOn

Process_Spacemove

Handles mob/living movement in space (or no gravity)

Called by /client/Move()

return TRUE for movement or FALSE for none

You can move in space if you have a spacewalk ability

RangedAttack

Ranged unarmed attack:

This currently is just a default for all mobs, involving laser eyes and telekinesis. You could easily add exceptions for things like ranged glove touches, spitting alien acid/neurotoxin, animals lunging, etc.

ShiftClickOn

Shift click For most mobs, examine. This is overridden in ai.dm

UnarmedAttack

UnarmedAttack: The higest level of mob click chain discounting click itself.

This handles, just "clicking on something" without an item. It translates into atom/proc/attack_hand, atom/proc/attack_animal etc.

Note: proximity_flag here is used to distinguish between normal usage (flag=1), and usage when clicking on things telekinetically (flag=0). This proc will not be called at ranged except with telekinesis.

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

modifiers is a lazy list of click modifiers this attack had, used for figuring out different properties of the click, mostly right vs left and such.

_pointed

possibly delayed verb that finishes the pointing process starting in [/mob/verb/pointed()]. either called immediately or in the tick after pointed() was called, as per the [DEFAULT_QUEUE_OR_CALL_VERB()] macro

abandon_mob

Allows you to respawn, abandoning your current mob

This sends you back to the lobby creating a new dead mob

Only works if flag/allow_respawn is allowed in config

add_actionspeed_modifier

Add a action speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_client_colour

Adds an instance of colour_type to the mob's client_colours list colour_type - a typepath (subtyped from /datum/client_colour)

add_movespeed_modifier

Add a move speed modifier to a mob. If a variable subtype is passed in as the first argument, it will make a new datum. If ID conflicts, it will overwrite the old ID.

add_to_alive_mob_list

Adds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs.

add_to_current_dead_players

Adds the cliented mob reference to either the list of dead player-mobs or to the list of observers, depending on how they joined the game.

add_to_current_living_antags

Adds the cliented mob reference to the list of living antag player-mobs.

add_to_current_living_players

Adds the cliented mob reference to the list of living player-mobs. If the mob is an antag, it adds it to the list of living antag player-mobs.

add_to_dead_mob_list

Adds the mob reference to the list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

add_to_mob_list

Adds the mob reference to the list and directory of all mobs. Called on Initialize().

add_to_mob_suicide_list

Adds a mob reference to the list of all suicided mobs

add_to_player_list

Adds the cliented mob reference to the list of all player-mobs, besides to either the of dead or alive player-mob lists, as appropriate. Called on Login().

adjust_bodytemperature

Adjust the body temperature of a mob, with min/max settings

adjust_disgust

Adjust the disgust level of a mob

adjust_nutrition

Adjust the nutrition of a mob

animate_client_colour

Works similarly to 'update_client_colour', but animated.

apply_pref_name

Generalised helper proc for letting mobs rename themselves. Used to be clname() and ainame()

attack_ui

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

Mostly tries to put the item into the slot if possible, or call attack hand on the item in the slot if the users active hand is empty

audible_message

Show a message to all mobs in earshot of this one

This would be for audible actions by the src mob

vars:

auto_deadmin_on_login

Checks if the attached client is an admin and may deadmin them

Configs:

Called from login

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

buckle_mob

Buckle a living mob to this mob. Also turns you to face the other mob

You can buckle on mobs if you're next to them since most are dense

canUseStorage

Can this mob use storage

can_block_magic

Checks to see if the mob can block magic

args:

can_cast_magic

Checks to see if the mob can cast normal magic spells.

args:

can_hear

Can the mob hear

can_hold_items

Can this mob hold items

can_interact_with

Can the mob interact() with an atom?

can_mutate

Returns TRUE if the mob is allowed to mutate via its DNA, or FALSE if otherwise. Only an organic Carbon with valid DNA may mutate; not robots, AIs, aliens, Ians, or other mobs.

can_perform_action

Checks whether a mob can perform an action to interact with an object

The default behavior checks if the mob is:

action_bitflags: (see code/__DEFINES/mobs.dm)

can_read

Can this mob read

can_resist

Can this mob resist (default FALSE)

can_see_reagents

Can the mob see reagents inside of containers?

can_write

Proc that returns TRUE if the mob can write using the writing_instrument, FALSE otherwise.

This proc a side effect, outputting a message to the mob's chat with a reason if it returns FALSE. Unless silent_if_not_writing_tool is TRUE. In that case it'll be silent if it isn't a writing implement/tool/instrument w/e.

cancel_camera

Sometimes helps if the user is stuck in another perspective or camera

change_mob_type_unchecked

Version of [change_mob_type] that does no usr prompting (may send an error message though). Satisfies procs with the SHOULD_NOT_SLEEP restriction

check_emote

Check if this message is an emote

check_respawn_delay

Checks if the mob can respawn yet according to the respawn delay

clear_from_recent_examines

the item in our active hand our active hand, to check if it's disabled/detatched how long it takes for the blind person to find the thing they're examining our current intent, so we can go back to it after touching

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

click_random_mob

Clicks a random nearby mob with the source from this mob

common_trait_examine

Examine text for traits shared by multiple types.

I wish examine was less copypasted. (oranges say, be the change you want to see buddy)

copy_recent_speech

Returns an associative list of the logs of a certain amount of lines spoken recently by this mob copy_amount - number of lines to return line_chance - chance to return a line, if you don't want just the most recent x lines

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_count

Returns the total amount of do_afters this mob is taking part in

down

Moves a mob down a z level

dropItemToGround

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

drop_everything

Safely drop everything, without deconstructing the mob

enable_client_mobs_in_contents

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

equip_to_appropriate_slot

Auto equip the passed in item the appropriate slot based on equipment priority

puts the item "W" into an appropriate slot in a human's inventory

returns 0 if it cannot, 1 if successful

equip_to_slot

Actually equips an item to a slot (UNSAFE)

This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on whether you can or can't equip 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

Try to equip an item to a slot on the mob

This is a SAFE proc. Use this instead of equip_to_slot()!

set qdel_on_fail to have it delete W if it fails to equip

set disable_warning to disable the 'you are unable to equip that' warning.

unset redraw_mob to prevent the mob icons from being redrawn at the end.

Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it

set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob

equip_to_slot_or_del

Equip an item to the slot or delete

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

Also bypasses equip delay checks, since the mob isn't actually putting it on. Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob

examinate

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

mob verbs are faster than object verbs. See this byond forum post for why this isn't atom/verb/examine()

execute_mode

proc version to finish /mob/verb/mode() execution. used in case the proc needs to be queued for the tick after its first called

execute_quick_equip

proc extender of [/mob/verb/quick_equip] used to make the verb queuable if the server is overloaded

face_atom

Simple helper to face what you clicked on, in case it should be needed in more than one place

first_name

Find the first name of a mob from the real name with regex

fully_replace_character_name

Fully update the name of a mob

This will update a mob's name, real_name, mind.name, GLOB.manifest records, pda, id and traitor text

Calling this proc without an oldname will only update the mob and skip updating the pda, id and records ~Carn

get_actions_for_statpanel

Convert a list of spells into a displyable list for the statpanel

Shows charge and other important info

get_actionspeed_modifiers

Get the action speed modifiers list of the mob

get_active_hand

Get the bodypart for whatever hand we have active, Only relevant for carbons

get_active_held_item

Returns the thing we're currently holding

get_config_multiplicative_speed

Get the global config movespeed of a mob by type

get_equipped_speed_mod_items

Get all items in our possession that should affect our movespeed

get_ghost

Get the ghost of this mob (from the mind)

get_item_by_slot

Get the item on the mob in the storage slot identified by the id passed in

get_item_offsets_for_index

we adjust the human body for high given by body parts, execpt shoes, because they are always on the bottom

get_message_mods

Extracts and cleans message of any extenstions at the begining of the message Inserts the info into the passed list, returns the cleaned message

Result can be

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_num_held_items

Find number of held items, multihand compatible

get_organ_by_type

Get the organ object from the mob matching the passed in typepath

Arguments:

get_organ_slot

Returns a list of all organs in specified slot

Arguments:

get_organs_for_zone

Get organ objects by zone

This will return a list of all the organs that are relevant to the zone that is passedin

Arguments:

get_photo_description

Return the desc of this mob for a photo

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_random_valid_zone

More or less ran_zone, but only returns bodyzones that the mob /actually/ has.

get_realname_string

Returns a mob's real name between brackets. Useful when you want to display a mob's name alongside their real name

get_slot_by_item

Gets what slot the item on the mob is held in. Returns null if the item isn't in any slots on our mob. Does not check if the passed item is null, which may result in unexpected outcoms.

get_spacemove_backup

Finds a target near a mob that is viable for pushing off when moving. Takes the intended movement direction as input, alongside if the context is checking if we're allowed to continue drifting

get_status_tab_items

Adds this list to the output to the stat browser

grab_ghost

Force get the ghost from the mind

grant_actions_by_list

Takes in an associated list (key /datum/action typepaths, value is the AI blackboard key) and handles granting the action and adding it to the mob's AI controller blackboard. This is only useful in instances where you don't want to store the reference to the action on a variable on the mob. You can set the value to null if you don't want to add it to the blackboard (like in player controlled instances). Is also safe with null AI controllers. Assumes that the action will be initialized and held in the mob itself, which is typically standard.

handle_eye_contact

handle_eye_contact() is called when we examine() something. If we examine an alive mob with a mind who has examined us in the last 2 seconds within 5 tiles, we make eye contact!

Note that if either party has their face obscured, the other won't get the notice about the eye contact Also note that examine_more() doesn't proc this or extend the timer, just because it's simpler this way and doesn't lose much. The nice part about relying on examining is that we don't bother checking visibility, because we already know they were both visible to each other within the last second, and the one who triggers it is currently seeing them

has_actionspeed_modifier

Is there a actionspeed modifier for this mob

has_light_nearby

Checks if there is enough light where the mob is located

Args: light_amount (optional) - A decimal amount between 1.0 through 0.0 (default is 0.2)

has_movespeed_modifier

Is there a movespeed modifier for this mob

has_nightvision

Can this mob see in the dark

This checks all traits, glasses, and robotic eyeball implants to see if the mob can see in the dark this does NOT check if the mob is missing it's eyeballs.

has_status_effect

Checks if this mob has a status effect that shares the passed effect's ID

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

Returns an instance of a status effect, or NULL if none were found.

has_status_effect_from_source

Checks if this mob has a status effect that shares the passed effect's ID and has the passed sources are in its list of sources (ONLY works for grouped efects!)

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

Returns an instance of a status effect, or NULL if none were found.

has_status_effect_list

Returns a list of all status effects that share the passed effect type's ID

checked_effect - TYPEPATH of a status effect to check for. Checks for its ID, not it's typepath

Returns a list

hide_other_mob_action_buttons

Hide another mob's action buttons from this mob

Used for observers viewing another mob's screen

hivecheck

Check if the mob has a hivemind channel

incapacitated

Is the mob incapacitated

initialize_actionspeed

Adds a default action speed

is_holding_items

Returns true if a mob is holding something

is_literate

This mob is abile to read books

is_muzzled

Is the mob muzzled (default false)

is_nearsighted_currently

Is the mob nearsighted CURRENTLY? This check fails if the mob is nearsighted but is wearing glasses, While is_nearsighted will always succeed even if they are wearing glasses.

last_name

Find the last name of a mob from the real name with regex

limb_attack_self

Called by using Activate Held Object with an empty hand/limb

Does nothing by default. The intended use is to allow limbs to call their own attack_self procs. It is up to the individual mob to override this parent and actually use it.

log_manual_zone_selected_update

Generates a log message when a user manually changes their targeted zone. Only need to one of new_target or old_target, and the other will be auto populated with the current selected zone.

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:

lost_game

This proc sends the COMSIG_MOB_LOST_VIDEOGAME signal

This should be called by games when the gamer reaches a losing state

lowest_buckled_mob

Find the mob at the bottom of a buckle chain

make_pai

Creates a new pAI.

@param {boolean} delete_old - If TRUE, deletes the old pAI.

me_verb

The me emote verb

memory

Shows a tgui window with memories

mob_negates_gravity

Does this mob ignore gravity

mode

Verb to activate the object in your held hand

Calls attack self on the item and updates the inventory hud for hands

notify_revival

Notify a ghost that its body is being revived

onShuttleMove

Mob move procs

on_block_magic_effects

Called whenever a magic effect with a charge cost is blocked and we haven't recently blocked magic.

on_observing_action_granted

Signal proc for COMSIG_MOB_GRANTED_ACTION - If we're viewing another mob's action buttons, we need to update with any newly added buttons granted to the mob.

on_observing_action_removed

Signal proc for COMSIG_MOB_REMOVED_ACTION - If we're viewing another mob's action buttons, we need to update with any removed buttons from the mob.

open_language_menu_verb

Show the language menu for this mob

perform_hand_swap

Performs the actual ritual of swapping hands, such as setting the held index variables

played_game

This proc sends the COMSIG_MOB_PLAYED_VIDEOGAME signal

This should be called by games whenever the gamer interacts with the device

pointed

Point at an atom

mob verbs are faster than object verbs. See this byond forum post for why this isn't atom/verb/pointed()

note: ghosts can point, this is intended

visible_message will handle invisibility properly

overridden here and in /mob/dead/observer for different point span classes and sanity checks

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)

query_heart

Ask someone if they'd like to award a commendation for the round, 3 tries to get the name they want before we give up

ranged_secondary_attack

Ranged secondary attack

If the same conditions are met to trigger RangedAttack but it is instead initialized via a right click, this will trigger instead. Useful for mobs that have their abilities mapped to right click.

reagent_check

Proc used for custom metabolization of reagents, if any

refresh_looping_ambience

Tries to play looping ambience to the mobs.

regenerate_icons

Redraws the entire mob. For carbons, this is rather expensive, please use the individual update_X procs.

remove_actionspeed_modifier

Remove a action speed modifier from a mob, whether static or variable.

remove_all_indicators

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

remove_client_colour

Removes an instance of colour_type from the mob's client_colours list colour_type - a typepath (subtyped from /datum/client_colour)

remove_from_alive_mob_list

Removes the mob reference from the list of all mobs alive. If mob is cliented, it removes it from the list of all living player-mobs.

remove_from_current_dead_players

Removes the mob reference from either the list of dead player-mobs or from the list of observers, depending on how they joined the game.

remove_from_current_living_antags

Removes the mob reference from the list of living antag player-mobs.

remove_from_current_living_players

Removes the mob reference from the list of living player-mobs. If the mob is an antag, it removes it from the list of living antag player-mobs.

remove_from_dead_mob_list

Remvoes the mob reference from list of all the dead mobs. If mob is cliented, it adds it to the list of all dead player-mobs.

remove_from_mob_list

Removes the mob reference from the list and directory of all mobs. Called on Destroy().

remove_from_mob_suicide_list

Removes a mob references from the list of all suicided mobs

remove_from_player_list

Removes the mob reference from the list of all player-mobs, besides from either the of dead or alive player-mob lists, as appropriate. Called on Logout().

remove_movespeed_modifier

Remove a move speed modifier from a mob, whether static or variable.

remove_thinking_indicator

Removes the thinking indicator over the mob.

remove_typing_indicator

Removes the typing indicator over the mob.

replace_identification_name

update the ID name of this mob

replace_records_name

Updates GLOB.manifest records with new name , see mob/living/carbon/human

reset_perspective

Reset the attached clients perspective (viewpoint)

reset_perspective(null) set eye to common default : mob on turf, loc otherwise reset_perspective(thing) set the eye to the thing (if it's equal to current default reset to mob perspective)

say_dead

Speak as a dead person (ghost etc)

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.

set_disgust

Set the disgust level of a mob

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_nutrition

Force set the mob nutrition

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_species

DNA MOB-PROCS

shared_ui_interaction

public

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

return UI_state The state of the UI.

show_message

Show a message to this mob (visual or audible)

show_other_mob_action_buttons

Show (most) of the another mob's action buttons to this mob

Used for observers viewing another mob's screen

shuttleRotate

Mob rotate procs

slip

Called when this mob slips over, override as needed

knockdown_amount - time (in deciseconds) the slip leaves them on the ground slipped_on - optional, what'd we slip on? if not set, we assume they just fell over lube - bitflag of "lube flags", see [mobs.dm] for more information paralyze - time (in deciseconds) the slip leaves them paralyzed / unable to move force_drop = the slip forces them to drop held items

spin

Spin this mob around it's central axis

sync_lighting_plane_cutoff

Set the lighting plane hud filters to the mobs lighting_cutoff var

throw_alert

Proc to create or update an alert. Returns the alert if the alert is new or updated, 0 if it was thrown already category is a text string. Each mob may only have one alert per category; the previous one will be replaced path is a type path of the actual alert type to throw severity is an optional number that will be placed at the end of the icon_state for this alert for example, high pressure's icon_state is "highpressure" and can be serverity 1 or 2 to get "highpressure1" or "highpressure2" new_master is optional and sets the alert's icon state to "template" in the ui_style icons with the master as an overlay. flicks are forwarded to master override makes it so the alert is not replaced until cleared by a clear_alert with clear_override, and it's used for hallucinations.

up

Moves a mob upwards in z level

update_action_buttons

This proc handles adding all of the mob's actions to their screen

If you just need to update existing buttons, use /mob/proc/update_mob_action_buttons!

Arguments:

update_actionspeed

Go through the list of actionspeed modifiers and calculate a final actionspeed. ANY ADD/REMOVE DONE IN UPDATE_actionspeed MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_body

Updates every part of a carbon's body. Including parts, mutant parts, lips, underwear, and socks.

update_client_colour

Resets the mob's client.color to null, and then reapplies a new color based on the client_colour datums it currently has.

update_clothing

Updates every item slot passed into it.

update_config_movespeed

Set or update the global movespeed config on a mob

update_equipment_speed_mods

Apply a proper movespeed modifier based on items we have equipped

update_held_items

Updates the held items overlay(s) & HUD element.

update_inv_ears

Updates the handcuff overlay & HUD element.

update_mob_action_buttons

Updates all action buttons this mob has.

Arguments:

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. ANY ADD/REMOVE DONE IN UPDATE_MOVESPEED MUST HAVE THE UPDATE ARGUMENT SET AS FALSE!

update_pockets

Updates the handcuff overlay & HUD element.

update_pull_hud_icon

Update the pulling hud icon

update_rest_hud_icon

Update the resting hud icon

update_sight

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

update_stamina_hud

Changes the stamina HUD based on new information

update_suit_storage

Updates the handcuff overlay & HUD element.

update_worn_back

Updates the back overlay & HUD element.

update_worn_belt

Updates the belt overlay & HUD element.

update_worn_glasses

Updates the glasses overlay & HUD element.

update_worn_gloves

Updates the glasses overlay & HUD element.

update_worn_handcuffs

Updates the handcuff overlay & HUD element.

update_worn_head

Updates the on-head overlay & HUD element.

update_worn_id

Updates the id overlay & HUD element.

update_worn_legcuffs

Updates the legcuff overlay & HUD element.

update_worn_mask

Updates the mask overlay & HUD element.

update_worn_neck

Updates the neck overlay & HUD element.

update_worn_oversuit

Updates the oversuit overlay & HUD element.

update_worn_shoes

Updates the shoes overlay & HUD element.

update_worn_undersuit

Updates the undersuit/uniform overlay & HUD element.

visible_message

Adds the functionality to self_message.

vote

Mob level verb that allows players to vote on the current vote.

vv_get_dropdown

Get the mob VV dropdown extras

vv_get_var

extra var handling for the logging var

whisper

Whisper a message.

Basic level implementation just speaks the message, nothing else.

whisper_verb

Whisper verb

won_game

This proc sends the COMSIG_MOB_WON_VIDEOGAME signal

This should be called by games when the gamer reaches a winning state