carbon
Vars | |
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 |
Procs | |
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. |
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 |
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) |
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. |
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. |
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 |
getOrganLoss | If an organ exists in the slot requested, return the amount of damage that organ has |
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_average_siemens_coeff | Returns an average siemen's coeffecient of the user's worn items |
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. |
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. |
get_total_bleed_rate | get our total bleedrate |
get_traumas | TRAUMAS |
give | Proc called when offering an item to another player |
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. |
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. |
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 |
notify_pain | Flashes the pain overlay and provides a chat message. |
on_noaddiction_trait_gain | On gain of TRAIT_NO_ADDICTION |
on_nobreath_trait_gain | On gain of TRAIT_NOBREATH |
on_nometabolism_trait_gain | On gain of TRAIT_NOMETABOLISM |
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. |
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. |
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. |
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 |
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. |
take | Proc called when the player clicks the give alert |
take_bodypart_damage | Damages ONE bodypart randomly selected from damagable ones. |
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 |
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. |
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. |
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. |
try_dream | Begins the dreaming process on a sleeping carbon. |
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. |
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 |
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:
- slot - organ slot, like [ORGAN_SLOT_HEART]
- amount - damage to be done
- maximum - currently an arbitrarily large number, can be set so as to limit damage
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:
- amount The amount of degrees to change body temperature by
- min_temp (optional) The minimum body temperature after adjustment
- max_temp (optional) The maximum body temperature after adjustment
- use_insulation (optional) modifies the amount based on the amount of insulation the mob has
- use_steps (optional) Use the body temp divisors and max change rates
- capped (optional) default True used to cap step mode
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:
- bleed_amt- When we run this from [/mob/living/carbon/human/proc/handle_blood] we already know how much blood we're losing this tick, so we can skip tallying it again with this
- forced-
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:
- cloned_chip_holder - The new holder for the cloned chips. Please don't be null.
- not_removable - Special override, whether or not to force cloned chips to be non-removable, i.e. to delete on removal.
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:
- is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
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:
- bite: /atom the reagents to expel
- amount: int The amount of reagent
getOrganLoss
If an organ exists in the slot requested, return the amount of damage that organ has
Arguments:
- slot - organ slot, like [ORGAN_SLOT_HEART]
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_average_siemens_coeff
Returns an average siemen's coeffecient of the user's worn items
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:
- skillchip - The skillchip you want to insert.
- silent - Whether or not to display the implanting message.
- force - Whether to force the implant to happen, including forcing activating if activate = TRUE. Ignores incompatibility checks. Used by changelings.
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:
- environemnt: The environment gas mix
- delta_time: The amount of time that has elapsed since the last tick
- times_fired: The number of times SSmobs has ticked
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:
- tank - The given tank to open and start breathing from.
- is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
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:
- target - The living carbon whose brain you want to remove the chip from.
- silent - Whether or not to display the removal message.
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:
- slot - organ slot, like [ORGAN_SLOT_HEART]
- amount - damage to be set to
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:
- M The mob/living/carbon that is sharing body heat
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:
- splatter_direction: Which direction the blood is flying
- splatter_strength: How many tiles it can go, and how many items it can pass over and dirty
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:
- offerer - The person giving the original item
- I - The item being given by the offerer
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:
- is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
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:
- tank - The given tank to toggle open and start breathing from externally.
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:
- tank - The given tank to toggle open and start breathing from internally.
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:
- tank - The given tank to toggle open and start breathing from.
- is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
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:
- tank - The given tank we will attempt to toggle open and start breathing from.
- is_external - A boolean which indicates if the air tank must be equipped, or stored elsewhere.
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