Daedalus Dock - Modules - TypesVar Details - Proc Details

carbon

Vars

bloodstreamBloodstream reagents
bodypartsGets filled up in [create_bodyparts()][/mob/living/carbon/proc/create_bodyparts]
can_be_shoved_intoCan other carbons be shoved into this one to make it fall?
cold_protectionProtection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection
cosmetic_organsList of /obj/item/organ in the mob.
disgustMeasure of how disgusted we are. See DISGUST_LEVEL_GROSS and friends
dnaCarbon
earsonly used by humans.
external"External" air tank. Never set this manually. Not required to stay directly equipped on the mob (i.e. could be a machine or MOD suit module).
failed_last_breathThis is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks.
glassesonly used by humans.
glovesonly used by humans
hand_bodypartsA collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)
handcuffedWhether or not the mob is handcuffed
heat_protectionProtection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection
icon_render_keysA cache of bodypart = icon to prevent excessive icon creation.
last_mindlast mind to control this mob, for blood-based cloning
legcuffedSame as handcuffs but for legs. Bear traps use this.
obscured_slotsA compilation of all equipped items 'flags_inv' vars.
old_disgustHow disgusted we were LAST time we processed disgust. Helps prevent unneeded work
organsList of /obj/item/organ in the mob.
organs_by_slotStores "slot ID" - "organ" pairs for easy access. Contains both functional and cosmetic organs
processing_organsA list of organs that process, used to keep life() fast!
shoesonly used by humans.
silentCan't talk. Value goes down every life proc. NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU.
skillchip_complexity_modifierSimple modifier for whether this mob can handle greater or lesser skillchip complexity. See /datum/mutation/human/biotechcompat/ for example.
sprint_key_downIs this carbon trying to sprint?
sustained_movesHow many tiles we have continuously moved in the same direction
tinttotalTotal level of visualy impairing items
touchingSurface level reagents
transformation_timerTimer id of any transformation
visual_only_organsOnly load in visual organs

Procs

add_bodypartProc to hook behavior on bodypart additions. Do not directly call. You're looking for [/obj/item/bodypart/proc/attach_limb()].
adjustOrganLossIf an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the damage proc on that organ.
adjustPlasmaAdjusts the plasma level of the carbon's plasma vessel if they have one
adjust_bodytemperatureAdjust the body temperature of a mob expanded for carbon mobs allowing the use of insulation and change steps
adjust_skillchip_complexity_modifierModifies max_skillchip_count and updates active skillchips
afterEquipItemThis proc is called after an item has been successfully handled and equipped to a slot.
bleed_warnbleed_warn() is used to for carbons with an active client to occasionally receive messages warning them about their bleeding status (if applicable)
can_breathe_helmetReturns TRUE if an air tank compatible helmet is equipped.
can_breathe_internalsReturns TRUE if an air tank compatible mask or breathing tube is equipped.
can_breathe_maskReturns TRUE if an air tank compatible mask is equipped.
can_breathe_tubeReturns TRUE if a breathing tube is equipped.
check_obscured_slotsReturns a bitfield of covered item slots.
check_self_for_injuriesCheck ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel
check_virusMedical HUD! Basic mode needs suit sensors on.
clear_shove_slowdownConsume stamina to disarm
clone_skillchip_listCreates a list of new skillchips cloned from old skillchips in the mob's brain.
close_all_airtanksQuickly/lazily close all airtanks without any returns or notifications.
close_externalsClose the the currently open external (that's EX-ternal) air tank. Returns TREUE if successful.
close_internalsActually closes the active internal or external air tank. Returns TRUE if the tank was opened successfully.
create_carbon_reagentsHumans need to init these early for species purposes
cutoff_internalsPrepares emergency disconnect from open air tanks and notifies in chat. Usually called after mob suddenly unequips breathing apparatus.
destroy_all_skillchipsDestroys all skillchips in the brain, handling appropriate cleanup and event calls.
disarmAttempt to disarm the target mob. Will shove the target mob back, and drop them if they're in front of something dense or another carbon.
electrocute_actAdds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.
expel_ingestedExpel the reagents you just tried to ingest
getOrganLossIf an organ exists in the slot requested, return the amount of damage that organ has
getPlasmaGets the plasma level of this carbon's plasma vessel, or -1 if they don't have one
get_all_covered_flagsReturns a bitfield of all zones covered by clothing
get_bleed_rateA helper to see how much blood we're losing per tick
get_blood_dna_listGet the mobs dna list
get_cold_protectionThis returns the percentage of protection from cold as a value from 0 - 1 temperature is the temperature you're being exposed to
get_covered_body_zonesReturns a list of all body_zones covered by clothing
get_damageable_bodypartsReturns a list of damageable bodyparts
get_damaged_bodypartsReturns a list of damaged bodyparts
get_heat_protectionThis returns the percentage of protection from heat as a value from 0 - 1 temperature is the temperature you're being exposed to
get_insulation_protectionGet the insulation that is appropriate to the temperature you're being exposed to. All clothing, natural insulation, and traits are combined returning a single value.
get_item_covering_bodypartReturns an item that is covering a bodypart.
get_item_covering_zoneReturns an item that is covering a body_zone (BODY_ZONE_CHEST, etc)
get_pulsegenerates realistic-ish pulse output based on preset levels as text
get_random_dreamGenerates a dream sequence to be displayed to the sleeper.
get_total_bleed_rateget our total bleedrate
get_traumasTRAUMAS
giveProc called when offering an item to another player
handle_environmentBase carbon environment handler, adds natural stabilization
handle_liverCheck to see if we have the liver, if not automatically gives you last-stage effects of lacking a liver.
heal_bodypart_damageHeals ONE bodypart randomly selected from damaged ones.
heal_overall_damageHeal MANY bodyparts, in random order
humanizeHumanize
immortalityFor the Wishgranter
implant_skillchipBrain health scales the pain passout modifier with an importance of 80% Blood circulation scales the pain passout modifier with an importance of 40% Attempts to implant this skillchip into the target carbon's brain.
invalid_internalsReturns truthy if air tank is open and mob lacks apparatus, or if the tank moved away from the mob.
is_bleedingif any of our bodyparts are bleeding
is_bodypart_visibly_coveredThis proc expects to be passed a list of covered zones, for optimization in loops. Use get_covered_body_zones(exact_only = TRUE) for that..
lying_angle_on_lying_downSpecial carbon interaction on lying down, to transform its sprite by a rotation.
natural_bodytemperature_stabilizationUsed to stabilize the body temperature back to normal on living mobs
notify_painFlashes the pain overlay and provides a chat message.
on_noaddiction_trait_gainOn gain of TRAIT_NO_ADDICTION
on_nobreath_trait_gainOn gain of TRAIT_NOBREATH
on_nometabolism_trait_gainOn gain of TRAIT_NOMETABOLISM
open_internalsOpen the internal air tank without checking for any breathing apparatus. Returns TRUE if the air tank was opened successfully. Closes any existing tanks before opening another one.
pain_emotePerform a pain response emote, amount is the amount of pain they are in. See pain defines for easy numbers.
remove_all_embedded_objectsRemove all embedded objects from all limbs on the carbon mob
remove_bodypartProc to hook behavior on bodypart removals. Do not directly call. You're looking for [/obj/item/bodypart/proc/drop_limb()].
remove_embedded_objectRemove a specific embedded item from the carbon mob
remove_skillchipAttempts to remove this skillchip from the target carbon's brain.
secondary_shockCalled slightly after electrocute act to apply a secondary stun.
setOrganLossIf an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the set damage proc on that organ, which can set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss.
set_handcuffedModifies the handcuffed value if a different value is passed, returning FALSE otherwise. The variable should only be changed through this proc.
share_bodytemperatureHave two mobs share body heat between each other. Account for the insulation and max temperature change range for the mob
should_electrocuteReturns whether or not the carbon should be able to be shocked
spray_bloodThis proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment.
takeProc called when the player clicks the give alert
take_bodypart_damageDamages ONE bodypart randomly selected from damagable ones.
take_overall_damagedamage MANY bodyparts, in random order
toggle_close_internalsPrepares to close the currently open internal air tank and notifies in chat. Handles displaying messages to the user before doing the actual closing. Returns TRUE if
toggle_externalsToggles the given external (that's EX-ternal) air tank open, or close the currently open one, if a compatible breathing apparatus is found. Returns TRUE if the tank was opened successfully.
toggle_internalsToggles the given internal air tank open, or close the currently open one, if a compatible breathing apparatus is found. Returns TRUE if the tank was opened successfully.
toggle_open_internalsPrepares to open the internal air tank and notifies the mob in chat. Handles displaying messages to the user before doing the actual opening. Returns TRUE if the tank was opened/closed successfully.
try_dreamBegins the dreaming process on a sleeping carbon.
try_open_internalsOpens the given internal air tank if a breathing apparatus is found. Returns TRUE if successful, FALSE otherwise. Returns TRUE if the tank was opened successfully.
update_body_partsChecks to see if any bodyparts need to be redrawn, then does so. update_limb_data = TRUE redraws the limbs to conform to the owner.
update_bodypart_bleed_overlaysHas each bodypart update its bleed/wound overlay icon states
update_eyesUpdate the eye sprite on the carbon. Calling with refresh = TRUE will update the sprite information of the eye organ first.
update_obscurityCompiles all flags_inv vars of worn items.
update_slots_for_itemUpdate any visuals relating to an item when it's equipped, unequipped, or it's flags_inv changes.
wearing_shock_proof_glovesReturns if the carbon is wearing shock proof gloves

Var Details

bloodstream

Bloodstream reagents

bodyparts

Gets filled up in [create_bodyparts()][/mob/living/carbon/proc/create_bodyparts]

can_be_shoved_into

Can other carbons be shoved into this one to make it fall?

cold_protection

Protection (insulation) from the cold, Value 0-1 corresponding to the percentage of protection

cosmetic_organs

List of /obj/item/organ in the mob.

disgust

Measure of how disgusted we are. See DISGUST_LEVEL_GROSS and friends

dna

Carbon

ears

only used by humans.

external

"External" air tank. Never set this manually. Not required to stay directly equipped on the mob (i.e. could be a machine or MOD suit module).

failed_last_breath

This is used to determine if the mob failed a breath. If they did fail a brath, they will attempt to breathe each tick, otherwise just once per 4 ticks.

glasses

only used by humans.

gloves

only used by humans

hand_bodyparts

A collection of arms (or actually whatever the fug /bodyparts you monsters use to wreck my systems)

handcuffed

Whether or not the mob is handcuffed

heat_protection

Protection (insulation) from the heat, Value 0-1 corresponding to the percentage of protection

icon_render_keys

A cache of bodypart = icon to prevent excessive icon creation.

last_mind

last mind to control this mob, for blood-based cloning

legcuffed

Same as handcuffs but for legs. Bear traps use this.

obscured_slots

A compilation of all equipped items 'flags_inv' vars.

old_disgust

How disgusted we were LAST time we processed disgust. Helps prevent unneeded work

organs

List of /obj/item/organ in the mob.

organs_by_slot

Stores "slot ID" - "organ" pairs for easy access. Contains both functional and cosmetic organs

processing_organs

A list of organs that process, used to keep life() fast!

shoes

only used by humans.

silent

Can't talk. Value goes down every life proc. NOTE TO FUTURE CODERS: DO NOT INITIALIZE NUMERICAL VARS AS NULL OR I WILL MURDER YOU.

skillchip_complexity_modifier

Simple modifier for whether this mob can handle greater or lesser skillchip complexity. See /datum/mutation/human/biotechcompat/ for example.

sprint_key_down

Is this carbon trying to sprint?

sustained_moves

How many tiles we have continuously moved in the same direction

tinttotal

Total level of visualy impairing items

touching

Surface level reagents

transformation_timer

Timer id of any transformation

visual_only_organs

Only load in visual organs

Proc Details

add_bodypart

Proc to hook behavior on bodypart additions. Do not directly call. You're looking for [/obj/item/bodypart/proc/attach_limb()].

adjustOrganLoss

If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the damage proc on that organ.

Arguments:

adjustPlasma

Adjusts the plasma level of the carbon's plasma vessel if they have one

adjust_bodytemperature

Adjust the body temperature of a mob expanded for carbon mobs allowing the use of insulation and change steps

vars:

adjust_skillchip_complexity_modifier

Modifies max_skillchip_count and updates active skillchips

afterEquipItem

This proc is called after an item has been successfully handled and equipped to a slot.

bleed_warn

bleed_warn() is used to for carbons with an active client to occasionally receive messages warning them about their bleeding status (if applicable)

Arguments:

can_breathe_helmet

Returns TRUE if an air tank compatible helmet is equipped.

can_breathe_internals

Returns TRUE if an air tank compatible mask or breathing tube is equipped.

can_breathe_mask

Returns TRUE if an air tank compatible mask is equipped.

can_breathe_tube

Returns TRUE if a breathing tube is equipped.

check_obscured_slots

Returns a bitfield of covered item slots.

check_self_for_injuries

Check ourselves to see if we've got any shrapnel, return true if we do. This is a much simpler version of what humans do, we only indicate we're checking ourselves if there's actually shrapnel

check_virus

Medical HUD! Basic mode needs suit sensors on.

clear_shove_slowdown

Consume stamina to disarm

clone_skillchip_list

Creates a list of new skillchips cloned from old skillchips in the mob's brain.

Returns a complete list of new skillchips cloned from the mob's brain's existing skillchip stock. Rumour has it that Changelings just LOVE this proc. Arguments:

close_all_airtanks

Quickly/lazily close all airtanks without any returns or notifications.

close_externals

Close the the currently open external (that's EX-ternal) air tank. Returns TREUE if successful.

close_internals

Actually closes the active internal or external air tank. Returns TRUE if the tank was opened successfully.

Arguments:

create_carbon_reagents

Humans need to init these early for species purposes

cutoff_internals

Prepares emergency disconnect from open air tanks and notifies in chat. Usually called after mob suddenly unequips breathing apparatus.

destroy_all_skillchips

Destroys all skillchips in the brain, handling appropriate cleanup and event calls.

disarm

Attempt to disarm the target mob. Will shove the target mob back, and drop them if they're in front of something dense or another carbon.

electrocute_act

Adds to the parent by also adding functionality to propagate shocks through pulling and doing some fluff effects.

expel_ingested

Expel the reagents you just tried to ingest

When you try to ingest reagents but you do not have a stomach you will spew the reagents on the floor.

Vars:

getOrganLoss

If an organ exists in the slot requested, return the amount of damage that organ has

Arguments:

getPlasma

Gets the plasma level of this carbon's plasma vessel, or -1 if they don't have one

get_all_covered_flags

Returns a bitfield of all zones covered by clothing

get_bleed_rate

A helper to see how much blood we're losing per tick

get_blood_dna_list

Get the mobs dna list

get_cold_protection

This returns the percentage of protection from cold as a value from 0 - 1 temperature is the temperature you're being exposed to

get_covered_body_zones

Returns a list of all body_zones covered by clothing

get_damageable_bodyparts

Returns a list of damageable bodyparts

get_damaged_bodyparts

Returns a list of damaged bodyparts

get_heat_protection

This returns the percentage of protection from heat as a value from 0 - 1 temperature is the temperature you're being exposed to

get_insulation_protection

Get the insulation that is appropriate to the temperature you're being exposed to. All clothing, natural insulation, and traits are combined returning a single value.

required temperature The Temperature that you're being exposed to

return the percentage of protection as a value from 0 - 1

get_item_covering_bodypart

Returns an item that is covering a bodypart.

get_item_covering_zone

Returns an item that is covering a body_zone (BODY_ZONE_CHEST, etc)

get_pulse

generates realistic-ish pulse output based on preset levels as text

get_random_dream

Generates a dream sequence to be displayed to the sleeper.

Generates the "dream" to display to the sleeper. A dream consists of a subject, a verb, and (most of the time) an object, displayed in sequence to the sleeper. Dreams are generated as a list of strings stored inside dream_fragments, which is passed to and displayed in dream_sequence(). Bedsheets on the sleeper will provide a custom subject for the dream, pulled from the dream_messages on each bedsheet.

get_total_bleed_rate

get our total bleedrate

get_traumas

TRAUMAS

give

Proc called when offering an item to another player

This handles creating an alert and adding an overlay to it

handle_environment

Base carbon environment handler, adds natural stabilization

handle_liver

Check to see if we have the liver, if not automatically gives you last-stage effects of lacking a liver.

heal_bodypart_damage

Heals ONE bodypart randomly selected from damaged ones.

It automatically updates damage overlays if necessary

It automatically updates health status

heal_overall_damage

Heal MANY bodyparts, in random order

humanize

Humanize

immortality

For the Wishgranter

implant_skillchip

Brain health scales the pain passout modifier with an importance of 80% Blood circulation scales the pain passout modifier with an importance of 40% Attempts to implant this skillchip into the target carbon's brain.

Returns whether the skillchip was inserted or not. Can optionally give chat message notification to the mob. Arguments:

invalid_internals

Returns truthy if air tank is open and mob lacks apparatus, or if the tank moved away from the mob.

is_bleeding

if any of our bodyparts are bleeding

is_bodypart_visibly_covered

This proc expects to be passed a list of covered zones, for optimization in loops. Use get_covered_body_zones(exact_only = TRUE) for that..

lying_angle_on_lying_down

Special carbon interaction on lying down, to transform its sprite by a rotation.

natural_bodytemperature_stabilization

Used to stabilize the body temperature back to normal on living mobs

Arguments:

notify_pain

Flashes the pain overlay and provides a chat message.

on_noaddiction_trait_gain

On gain of TRAIT_NO_ADDICTION

This will remove all addictions.

on_nobreath_trait_gain

On gain of TRAIT_NOBREATH

This will clear all alerts and moods related to breathing.

on_nometabolism_trait_gain

On gain of TRAIT_NOMETABOLISM

This will clear all moods related to addictions and stop metabolization.

open_internals

Open the internal air tank without checking for any breathing apparatus. Returns TRUE if the air tank was opened successfully. Closes any existing tanks before opening another one.

Arguments:

pain_emote

Perform a pain response emote, amount is the amount of pain they are in. See pain defines for easy numbers.

remove_all_embedded_objects

Remove all embedded objects from all limbs on the carbon mob

remove_bodypart

Proc to hook behavior on bodypart removals. Do not directly call. You're looking for [/obj/item/bodypart/proc/drop_limb()].

remove_embedded_object

Remove a specific embedded item from the carbon mob

remove_skillchip

Attempts to remove this skillchip from the target carbon's brain.

Returns FALSE when the skillchip couldn't be removed for some reason, including the target or brain not existing or the skillchip not being in the brain. Arguments:

secondary_shock

Called slightly after electrocute act to apply a secondary stun.

setOrganLoss

If an organ exists in the slot requested, and we are capable of taking damage (we don't have [GODMODE] on), call the set damage proc on that organ, which can set or clear the failing variable on that organ, making it either cease or start functions again, unlike adjustOrganLoss.

Arguments:

set_handcuffed

Modifies the handcuffed value if a different value is passed, returning FALSE otherwise. The variable should only be changed through this proc.

share_bodytemperature

Have two mobs share body heat between each other. Account for the insulation and max temperature change range for the mob

vars:

should_electrocute

Returns whether or not the carbon should be able to be shocked

spray_blood

This proc is a helper for spraying blood for things like slashing/piercing wounds and dismemberment.

The strength of the splatter in the second argument determines how much it can dirty and how far it can go

Arguments:

take

Proc called when the player clicks the give alert

Handles checking if the player taking the item has open slots and is in range of the offerer Also deals with the actual transferring of the item to the players hands Arguments:

take_bodypart_damage

Damages ONE bodypart randomly selected from damagable ones.

It automatically updates damage overlays if necessary

It automatically updates health status

take_overall_damage

damage MANY bodyparts, in random order

toggle_close_internals

Prepares to close the currently open internal air tank and notifies in chat. Handles displaying messages to the user before doing the actual closing. Returns TRUE if

Arguments:

toggle_externals

Toggles the given external (that's EX-ternal) air tank open, or close the currently open one, if a compatible breathing apparatus is found. Returns TRUE if the tank was opened successfully.

Arguments:

toggle_internals

Toggles the given internal air tank open, or close the currently open one, if a compatible breathing apparatus is found. Returns TRUE if the tank was opened successfully.

Arguments:

toggle_open_internals

Prepares to open the internal air tank and notifies the mob in chat. Handles displaying messages to the user before doing the actual opening. Returns TRUE if the tank was opened/closed successfully.

Arguments:

try_dream

Begins the dreaming process on a sleeping carbon.

Only one dream sequence can be active at a time.

try_open_internals

Opens the given internal air tank if a breathing apparatus is found. Returns TRUE if successful, FALSE otherwise. Returns TRUE if the tank was opened successfully.

Arguments:

update_body_parts

Checks to see if any bodyparts need to be redrawn, then does so. update_limb_data = TRUE redraws the limbs to conform to the owner.

update_bodypart_bleed_overlays

Has each bodypart update its bleed/wound overlay icon states

update_eyes

Update the eye sprite on the carbon. Calling with refresh = TRUE will update the sprite information of the eye organ first.

update_obscurity

Compiles all flags_inv vars of worn items.

update_slots_for_item

Update any visuals relating to an item when it's equipped, unequipped, or it's flags_inv changes.

wearing_shock_proof_gloves

Returns if the carbon is wearing shock proof gloves