living ![code/datums/character_profile.dm 1](git.png)
Mob Living
Vars | |
active_block_item | The item the user is actively blocking with if any. |
---|---|
active_parry_item | The itme the user is currently parrying with, if any. |
block_parry_data | Our block_parry_data for unarmed blocks/parries. Currently only used for parrying, as unarmed block isn't implemented yet. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING! |
body_maptext_height_offset | The height offset of a mob's maptext due to their current size. |
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_position_pixel_x_offset | The x amount a mob's sprite should be offset due to the current position they're in |
body_position_pixel_y_offset | The y amount a mob's sprite should be offset due to the current position they're in or size (e.g. lying down moves your sprite down) |
buckle_message_cooldown | Next world.time when we can get the "you can't move while buckled to [thing]" message. |
combat_flags | / CITADEL STATION COMBAT //// See __DEFINES/combat.dm |
combat_mode | If combat mode is on or not |
combatmessagecooldown | Next world.time when we will show a visible message on entering combat mode voluntarily again. |
default_block_parry_data | Default |
fov_traits | Lazy list of FOV traits that will apply a FOV view when handled. |
fov_view | FOV view that is applied from either nativeness or traits |
last_autoparry | Last autoparry |
native_fov | Native FOV that will be applied if a config is enabled |
navigate_cooldown | Cooldown of the navigate() verb. |
next_preyloop | Next time vore sounds get played for the prey, do not change manually as it is intended to be set automatically |
parry_end_time_last | world.time of last parry end |
parry_start_time | world.time of parry action start |
parry_visual_effect | Current parry effect. |
parrying | Whether or not the user is in the middle of an active parry. Set to UNARMED_PARRY, [ITEM_PARRY], [MARTIAL_PARRY] if parrying. |
pugilist_block_parry_data | If we're a pugilist |
stamina_buffer | Our stamina buffer |
stamina_buffer_last_use | Last time we used stamina buffer |
stamina_buffer_regen_last | Last time stamina buffer regen was done |
stamina_buffer_regen_mod | Stamina buffer regen modifier |
successful_parries | Successful parries within the current parry cycle. It's a list of efficiency percentages. |
successful_parry_counterattacks | Current parry counterattacks. Makes sure we can only counterattack someone once per parry. |
vore_organs | List of vore containers inside a mob |
vore_selected | Default to no vore capability. |
vore_smell | What the character smells like |
vore_taste | What the character tastes like |
Procs | |
AdjustConfused | Sets confusion to current amount + given, clamped between lower and higher bounds. |
BiologicalLife | Handles biological life processes like chemical metabolism, breathing, etc Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop. |
Confused | Sets confusion if it's higher than current. |
HealAllImmobilityUpTo | Makes sure all 5 of the non-knockout immobilizing status effects are lower or equal to amount. |
IsDazed | DAZED |
IsFrozen | FROZEN |
IsImmobilized | IMMOBILIZED |
IsKnockdown | KNOCKDOWN |
IsParalyzed | PARALYZED |
IsSleeping | SLEEPING |
IsStaggered | STAGGERED |
IsStun | STUN |
IsUnconscious | UNCONSCIOUS |
Life | Called by SSmobs at an interval of 2 seconds. Splits off into PhysicalLife() and BiologicalLife(). Override those instead of this. |
PhysicalLife | Handles physical life processes like being on fire. Don't ask why this is considered "Life". Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop. |
RechargeStaminaBuffer | Boosts our stamina buffer by this much. |
SetConfused | Sets confusion if it's higher than zero. |
ShoveOffBalance | OFF BALANCE/SHOVIES |
UpdateStaminaBuffer | Updates our stamina buffer amount. |
UseStaminaBuffer | Attempts to use an amount of stamina from our stamina buffer. Does not use anything if we don't have enough. |
active_block_effect_end | Visual effect cleanup for starting a directional block |
active_block_effect_start | Visual effect setup for starting a directional block |
active_parry_reflex_counter | Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack. |
add_fov_trait | Adds a trait which limits a user's FOV |
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 |
attempt_auto_parry | Attempts to automatically parry an attacker. |
bleedDragAmount | Returns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail] |
can_move_under_living | whether or not we can slide under another living mob. defaults to if we're not dense. CanPass should check "overriding circumstances" like buckled mobs/having PASSMOB flag, etc. |
change_gender | Gender Change |
check_orgasm | Acts properly if the given genital has orgasm modifiers |
check_unarmed_parry_activation_special | Check if we can unarmed parry |
cure_blind | TRAIT PROCS |
determine_parry_method | Massive snowflake proc for getting something to parry with. |
do_facefart | U N H O L Y |
do_resist | The actual proc for resisting. Return TRUE to give CLICK_CD_RESIST clickdelay. |
do_run_block | |
do_strange_reagent_revival | Called by strange_reagent, with the amount of healing the strange reagent is doing It uses the healing amount on brute/fire damage, and then uses the excess healing for revive |
electrocute_act | As the name suggests, this should be called to apply electric shocks. |
emote_laugh_maniac | Особый эмоут для антуража (кекв) |
end_parry_sequence | Called via timer when the parry sequence ends. |
find_active_block_item | Gets the first item we can that can block, but if that fails, default to active held item.COMSIG_ENABLE_COMBAT_MODE |
find_backup_parry_item | Tries to find a backup parry item. Does not look at active held item. |
find_nearest_stair_or_ladder | Finds nearest ladder or staircase either up or down. |
get_blocking_items | Gets an unsortedlist of objects to run block checks on. List must have associative values for priorities! |
get_confusion | Returns current amount of confusion, 0 if none. |
get_equipped_items | Used to return a list of equipped items on a mob; does not include held items (use get_all_gear) |
get_fluid_mod | Returns the fluid modifier if the genital has one. |
get_parry_data | Gets the datum/block_parry_data we're going to use to parry. |
get_parry_stage | Gets the stage of our parry sequence we're currently in. |
get_parry_time | Gets the current decisecond "frame" of an active parry. |
handle_block_parry | Called every life tick to handle blocking/parrying effects. |
handle_parry_ending_effects | Handles ending effects for parrying. |
handle_parry_starting_effects | Handles starting effects for parrying. |
handle_post_sex | Handles the sex, if cumming returns true. |
hasparasites | parasite tracking/finding procs |
hud_set_nanite_indicator | Diagnostic HUDs! |
ignore_slowdown | Ignores all slowdowns that lack the IGNORE_NOSLOW flag. |
in_fov | Is observed_atom in a mob's field of view? This takes blindness, nearsightness and FOV into consideration |
initiate_parry_sequence | Initiates a parrying sequence. |
is_barefoot | Are we wearing something that covers our shoes? |
is_bottomless | Are we wearing something that covers our groin? |
is_topless | Are we wearing something that covers our chest? |
keybind_parry | Called from keybindings. |
keybind_start_active_blocking | Proc called by keybindings to start active blocking. |
keybind_stop_active_blocking | Proc called by keybindings to stop active blocking. |
keybind_toggle_active_blocking | Proc called by keybindings to toggle active blocking. |
remove_fov_trait | Removes a trait which limits a user's FOV |
remove_movespeed_mod_immunities | Unignores specific slowdowns. Accepts a list of slowdowns. |
resist | Resist verb for attempting to get out of whatever is restraining your motion. Gives you resist clickdelay if do_resist() returns true. |
run_parry | same return values as normal blocking, called with absolute highest priority in the block "chain". |
run_parry_countereffects | Run counterattack if any |
set_activity | Continuous and static "/me" |
set_jump_component | Sets up the jump component for the mob. Proc args can be altered so different mobs have different 'default' jump settings |
shared_living_ui_distance | public |
subtle | VERB CODE |
subtler | VERB CODE 2 |
subtler_table | VERB CODE 3 |
toggle_admin_freeze | Toggle admin frozen |
toggle_admin_sleep | Toggle admin sleeping |
transfer_blood_to | BLOOD TRANSFERS |
unignore_slowdown | Unignores all slowdowns that lack the IGNORE_NOSLOW flag. |
update_fov | Updates the applied FOV value and applies the handler to client if able |
update_fov_client | Updates the FOV for the client. |
update_size | Returns false on failure |
Var Details
active_block_item ![code/modules/mob/living/living_defines.dm 46](git.png)
The item the user is actively blocking with if any.
active_parry_item ![code/modules/mob/living/living_defines.dm 51](git.png)
The itme the user is currently parrying with, if any.
block_parry_data ![code/modules/mob/living/living_defines.dm 39](git.png)
Our block_parry_data for unarmed blocks/parries. Currently only used for parrying, as unarmed block isn't implemented yet. YOU MUST RUN [get_block_parry_data(this)] INSTEAD OF DIRECTLY ACCESSING!
body_maptext_height_offset ![code/modules/mob/living/living_defines.dm 196](git.png)
The height offset of a mob's maptext due to their current size.
body_position ![code/modules/mob/living/living_defines.dm 35](git.png)
Variable to track the body position of a mob, regardgless of the actual angle of rotation (usually matching it, but not necessarily).
body_position_pixel_x_offset ![code/modules/mob/living/living_defines.dm 192](git.png)
The x amount a mob's sprite should be offset due to the current position they're in
body_position_pixel_y_offset ![code/modules/mob/living/living_defines.dm 194](git.png)
The y amount a mob's sprite should be offset due to the current position they're in or size (e.g. lying down moves your sprite down)
buckle_message_cooldown ![code/modules/mob/living/living_defines.dm 155](git.png)
Next world.time when we can get the "you can't move while buckled to [thing]" message.
combat_flags ![code/modules/mob/living/living_defines.dm 159](git.png)
/ CITADEL STATION COMBAT //// See __DEFINES/combat.dm
combat_mode ![code/modules/mob/living/living_defines.dm 163](git.png)
If combat mode is on or not
combatmessagecooldown ![code/modules/mob/living/living_defines.dm 161](git.png)
Next world.time when we will show a visible message on entering combat mode voluntarily again.
default_block_parry_data ![code/modules/mob/living/living_defines.dm 41](git.png)
Default
fov_traits ![code/modules/mob/living/living_defines.dm 190](git.png)
Lazy list of FOV traits that will apply a FOV view when handled.
fov_view ![code/modules/mob/living/living_defines.dm 186](git.png)
FOV view that is applied from either nativeness or traits
last_autoparry ![code/modules/mob/living/living_defines.dm 59](git.png)
Last autoparry
native_fov ![code/modules/mob/living/living_defines.dm 188](git.png)
Native FOV that will be applied if a config is enabled
navigate_cooldown ![modular_splurt/code/modules/mob/living/navigation.dm 5](git.png)
Cooldown of the navigate() verb.
next_preyloop ![code/modules/vore/eating/living.dm 20](git.png)
Next time vore sounds get played for the prey, do not change manually as it is intended to be set automatically
parry_end_time_last ![code/modules/mob/living/living_defines.dm 57](git.png)
world.time of last parry end
parry_start_time ![code/modules/mob/living/living_defines.dm 53](git.png)
world.time of parry action start
parry_visual_effect ![code/modules/mob/living/living_defines.dm 55](git.png)
Current parry effect.
parrying ![code/modules/mob/living/living_defines.dm 49](git.png)
Whether or not the user is in the middle of an active parry. Set to UNARMED_PARRY, [ITEM_PARRY], [MARTIAL_PARRY] if parrying.
pugilist_block_parry_data ![code/modules/mob/living/living_defines.dm 43](git.png)
If we're a pugilist
stamina_buffer ![code/modules/mob/living/living_defines.dm 177](git.png)
Our stamina buffer
stamina_buffer_last_use ![code/modules/mob/living/living_defines.dm 183](git.png)
Last time we used stamina buffer
stamina_buffer_regen_last ![code/modules/mob/living/living_defines.dm 181](git.png)
Last time stamina buffer regen was done
stamina_buffer_regen_mod ![code/modules/mob/living/living_defines.dm 179](git.png)
Stamina buffer regen modifier
successful_parries ![code/modules/mob/living/living_defines.dm 61](git.png)
Successful parries within the current parry cycle. It's a list of efficiency percentages.
successful_parry_counterattacks ![code/modules/mob/living/living_defines.dm 63](git.png)
Current parry counterattacks. Makes sure we can only counterattack someone once per parry.
vore_organs ![code/modules/vore/eating/living.dm 9](git.png)
List of vore containers inside a mob
vore_selected ![code/modules/vore/eating/living.dm 7](git.png)
Default to no vore capability.
vore_smell ![code/modules/vore/eating/living.dm 13](git.png)
What the character smells like
vore_taste ![code/modules/vore/eating/living.dm 11](git.png)
What the character tastes like
Proc Details
AdjustConfused
Sets confusion to current amount + given, clamped between lower and higher bounds.
Arguments:
- amount - Amount to add. Can be negative to reduce duration.
- bound_lower - Minimum bound to set at least to. Defaults to 0.
- bound_upper - Maximum bound to set up to. Defaults to infinity.
BiologicalLife
Handles biological life processes like chemical metabolism, breathing, etc Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.
Confused
Sets confusion if it's higher than current.
HealAllImmobilityUpTo
Makes sure all 5 of the non-knockout immobilizing status effects are lower or equal to amount.
IsDazed
DAZED
IsFrozen
FROZEN
IsImmobilized
IMMOBILIZED
IsKnockdown
KNOCKDOWN
IsParalyzed
PARALYZED
IsSleeping
SLEEPING
IsStaggered
STAGGERED
IsStun
STUN
IsUnconscious
UNCONSCIOUS
Life
Called by SSmobs at an interval of 2 seconds. Splits off into PhysicalLife() and BiologicalLife(). Override those instead of this.
PhysicalLife
Handles physical life processes like being on fire. Don't ask why this is considered "Life". Returns TRUE or FALSE based on if we were interrupted. This is used by overridden variants to check if they should stop.
RechargeStaminaBuffer
Boosts our stamina buffer by this much.
SetConfused
Sets confusion if it's higher than zero.
ShoveOffBalance
OFF BALANCE/SHOVIES
UpdateStaminaBuffer
Updates our stamina buffer amount.
UseStaminaBuffer
Attempts to use an amount of stamina from our stamina buffer. Does not use anything if we don't have enough.
Returns TRUE or FALSE based on if we have it.
active_block_effect_end
Visual effect cleanup for starting a directional block
active_block_effect_start
Visual effect setup for starting a directional block
active_parry_reflex_counter
Called when an attack is parried and block_parra_data indicates to use a proc to handle counterattack.
add_fov_trait
Adds a trait which limits a user's FOV
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_DAMAGE]
Arguuments:
- damage - amount of damage
- damagetype - one of [BRUTE], [BURN], [TOX], [OXY], [CLONE], [STAMINA]
- def_zone - zone that is being hit if any
- blocked - armor value applied
- forced - bypass hit percentage
- spread_damage - used in overrides
Returns TRUE if damage applied
attempt_auto_parry
Attempts to automatically parry an attacker.
bleedDragAmount
Returns how much blood we're losing from being dragged a tile, from [mob/living/proc/makeTrail]
can_move_under_living
whether or not we can slide under another living mob. defaults to if we're not dense. CanPass should check "overriding circumstances" like buckled mobs/having PASSMOB flag, etc.
change_gender
Gender Change
check_orgasm
Acts properly if the given genital has orgasm modifiers
Arguments:
- genital: Genital to check for any orgasm modifiers.
check_unarmed_parry_activation_special
Check if we can unarmed parry
cure_blind
TRAIT PROCS
determine_parry_method
Massive snowflake proc for getting something to parry with.
@return list of [method, data, tool], where method is the parry method define, data is the block_parry_data var that must be run through return_block_parry_data, and tool is the concept/object/martial art/etc used.
do_facefart
U N H O L Y
do_resist
The actual proc for resisting. Return TRUE to give CLICK_CD_RESIST clickdelay.
do_run_block
- The actual proc for block checks. DO NOT USE THIS DIRECTLY UNLESS YOU HAVE VERY GOOD REASON TO. To reduce copypaste for differences between handling for real attacks and virtual checks.
- Automatically checks all held items for /obj/item/proc/run_block() with the same parameters.
- @params
- real_attack - If this attack is real. This one is quirky; If it's real, run_block is called. If it's not, check_block is called and none of the regular checks happen, and this is effectively only useful
-
for populating return_list with blocking metadata.
- object - Whatever /atom is actually hitting us, in essence. For example, projectile if gun, item if melee, structure/whatever if it's a thrown, etc.
- damage - The nominal damage this would do if it was to hit. Obviously doesn't take into effect explosions/magic/similar things.. unless you implement it to raise the value.
- attack_text - The text that this attack should show, in the context of something like "[src] blocks [attack_text]!"
- attack_type - See __DEFINES/combat.dm - Attack types, to distinguish between, for example, someone throwing an item at us vs bashing us with it.
- armour_penetration - 0-100 value of how effectively armor penetrating the attack should be.
- attacker - Set to the mob attacking IF KNOWN. Do not expect this to always be set!
- def_zone - The zone this'll impact.
- return_list - If something wants to grab things from what items/whatever put into list/block_return on obj/item/run_block and the comsig, pass in a list so you can grab anything put in it after block runs.
- attack_direction - Direction of the attack. It is highly recommended to put this in, as the automatic guesswork that's done otherwise is quite inaccurate at times.
do_strange_reagent_revival
Called by strange_reagent, with the amount of healing the strange reagent is doing It uses the healing amount on brute/fire damage, and then uses the excess healing for revive
electrocute_act
As the name suggests, this should be called to apply electric shocks.
emote_laugh_maniac
Особый эмоут для антуража (кекв)
end_parry_sequence
Called via timer when the parry sequence ends.
find_active_block_item
Gets the first item we can that can block, but if that fails, default to active held item.COMSIG_ENABLE_COMBAT_MODE
find_backup_parry_item
Tries to find a backup parry item. Does not look at active held item.
find_nearest_stair_or_ladder
Finds nearest ladder or staircase either up or down.
Arguments:
- direction - UP or DOWN.
get_blocking_items
Gets an unsortedlist of objects to run block checks on. List must have associative values for priorities!
get_confusion
Returns current amount of confusion, 0 if none.
get_equipped_items
Used to return a list of equipped items on a mob; does not include held items (use get_all_gear)
Argument(s):
- Optional - include_pockets (TRUE/FALSE), whether or not to include the pockets and suit storage in the returned list
get_fluid_mod
Returns the fluid modifier if the genital has one.
Arguments:
- amount: Amount of fluid to be released.
- genital: Genital to check for any fluid modifiers.
get_parry_data
Gets the datum/block_parry_data we're going to use to parry.
get_parry_stage
Gets the stage of our parry sequence we're currently in.
get_parry_time
Gets the current decisecond "frame" of an active parry.
handle_block_parry
Called every life tick to handle blocking/parrying effects.
handle_parry_ending_effects
Handles ending effects for parrying.
handle_parry_starting_effects
Handles starting effects for parrying.
handle_post_sex
Handles the sex, if cumming returns true.
hasparasites
parasite tracking/finding procs
hud_set_nanite_indicator
Diagnostic HUDs!
ignore_slowdown
Ignores all slowdowns that lack the IGNORE_NOSLOW flag.
in_fov
Is observed_atom
in a mob's field of view? This takes blindness, nearsightness and FOV into consideration
initiate_parry_sequence
Initiates a parrying sequence.
is_barefoot
Are we wearing something that covers our shoes?
is_bottomless
Are we wearing something that covers our groin?
is_topless
Are we wearing something that covers our chest?
keybind_parry
Called from keybindings.
keybind_start_active_blocking
Proc called by keybindings to start active blocking.
keybind_stop_active_blocking
Proc called by keybindings to stop active blocking.
keybind_toggle_active_blocking
Proc called by keybindings to toggle active blocking.
remove_fov_trait
Removes a trait which limits a user's FOV
remove_movespeed_mod_immunities
Unignores specific slowdowns. Accepts a list of slowdowns.
resist
Resist verb for attempting to get out of whatever is restraining your motion. Gives you resist clickdelay if do_resist() returns true.
run_parry
same return values as normal blocking, called with absolute highest priority in the block "chain".
run_parry_countereffects
Run counterattack if any
set_activity
Continuous and static "/me"
set_jump_component
Sets up the jump component for the mob. Proc args can be altered so different mobs have different 'default' jump settings
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.
subtle
VERB CODE
subtler
VERB CODE 2
subtler_table
VERB CODE 3
toggle_admin_freeze
Toggle admin frozen
toggle_admin_sleep
Toggle admin sleeping
transfer_blood_to
BLOOD TRANSFERS
unignore_slowdown
Unignores all slowdowns that lack the IGNORE_NOSLOW flag.
update_fov
Updates the applied FOV value and applies the handler to client if able
update_fov_client
Updates the FOV for the client.
update_size
Returns false on failure