Daedalus Dock - Modules - TypesVar Details - Proc Details

skillchip

Vars

abstract_parent_typeUsed to determine if this is an abstract type or not. If this is meant to be an abstract type, set it to the type's path. Will be overridden by subsequent abstract parents. See /datum/action/item_action/chameleon/change/skillchip/initialize_disguises()
activate_messageMessage shown when activating the chip
activeSet to TRUE when the skill chip's effects are applied. Set to FALSE when they're not.
auto_traitsTraits automatically granted by this chip, optional. Lazylist.
chip_categoryCategory string. Used alongside SKILLCHIP_RESTRICTED_CATEGORIES flag to make a chip incompatible with chips from another category.
chip_cooldownCooldown for chip actions.
complexityHow complex the skillchip is. Brains can only handle so much complexity at once and skillchips will start to deactivate when the brain's complexity limit is exceeded.
cooldownCooldown before the skillchip can be extracted after it has been implanted.
deactivate_messageMessage shown when deactivating the chip
holding_brainBrain that holds this skillchip.
incompatibility_listList of any incompatible categories.
skill_descriptionSkill description shown on UI
skill_iconFontawesome icon show on UI, list of possible icons https://fontawesome.com/icons?d=gallery&m=free
skill_nameSkill name shown on UI
skillchip_flagsVariable for flags. DANGEROUS - Child types overwrite flags instead of adding to them. If you change this, make sure all child types have the appropriate flags set too.
slot_useHow many slots taken up in the brain by this chip. Max brain slots are hard set and should not be changed at all.

Procs

get_chip_dataReturns a list of basic chip info. Used by the skill station.
get_complexityReturns the chip's complexity.
get_metadataGets key metadata from this skillchip in an assoc list.
has_activate_incompatibilityChecks whether a given skillchip has an incompatibility with a brain that should render it impossible to activate.
has_brain_incompatibilityPerforms a full sweep of checks that dictate if this chip can be implanted in a given brain.
has_mob_incompatibilityPerforms a full sweep of checks that dictate if this chip can be implanted in a given target.
has_skillchip_incompatibilityChecks for skillchip incompatibility with another chip.
is_activeReturns whether the chip is active.
is_on_cooldownReturns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated.
on_activateCalled when a skillchip is activated.
on_deactivateCalled when a skillchip is deactivated.
on_implantCalled when a skillchip is inserted in a user's brain.
on_removalCalled when a skillchip is removed from the user's brain.
set_metadataSets key metadata for this skillchip from an assoc list.
try_activate_skillchipActivates the skillchip, if possible.
try_deactivate_skillchipDeactivates the skillchip, if possible.

Var Details

abstract_parent_type

Used to determine if this is an abstract type or not. If this is meant to be an abstract type, set it to the type's path. Will be overridden by subsequent abstract parents. See /datum/action/item_action/chameleon/change/skillchip/initialize_disguises()

activate_message

Message shown when activating the chip

active

Set to TRUE when the skill chip's effects are applied. Set to FALSE when they're not.

auto_traits

Traits automatically granted by this chip, optional. Lazylist.

chip_category

Category string. Used alongside SKILLCHIP_RESTRICTED_CATEGORIES flag to make a chip incompatible with chips from another category.

chip_cooldown

Cooldown for chip actions.

complexity

How complex the skillchip is. Brains can only handle so much complexity at once and skillchips will start to deactivate when the brain's complexity limit is exceeded.

cooldown

Cooldown before the skillchip can be extracted after it has been implanted.

deactivate_message

Message shown when deactivating the chip

holding_brain

Brain that holds this skillchip.

incompatibility_list

List of any incompatible categories.

skill_description

Skill description shown on UI

skill_icon

Fontawesome icon show on UI, list of possible icons https://fontawesome.com/icons?d=gallery&m=free

skill_name

Skill name shown on UI

skillchip_flags

Variable for flags. DANGEROUS - Child types overwrite flags instead of adding to them. If you change this, make sure all child types have the appropriate flags set too.

slot_use

How many slots taken up in the brain by this chip. Max brain slots are hard set and should not be changed at all.

Proc Details

get_chip_data

Returns a list of basic chip info. Used by the skill station.

get_complexity

Returns the chip's complexity.

Intended to be overriden.

get_metadata

Gets key metadata from this skillchip in an assoc list.

If you override this proc, don't forget to also override set_metadata, which takes the output of this proc and uses it to set the metadata. Does not copy over any owner or brain status. Handle that externally.

has_activate_incompatibility

Checks whether a given skillchip has an incompatibility with a brain that should render it impossible to activate.

Returns a string with an explanation if the chip is not activatable. FALSE otherwise. Arguments:

has_brain_incompatibility

Performs a full sweep of checks that dictate if this chip can be implanted in a given brain.

Override this with any snowflake chip checks. Returns TRUE if the chip is fully compatible, FALSE otherwise. Arguments:

has_mob_incompatibility

Performs a full sweep of checks that dictate if this chip can be implanted in a given target.

Override this with any snowflake chip checks. An example of which would be checking if a target is mindshielded if you've got a special security skillchip. Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE if it is compatible. Arguments:

has_skillchip_incompatibility

Checks for skillchip incompatibility with another chip.

Does this skillchip have incompatibility with the skillchip in the args? Override this with any snowflake chip-vs-chip incompatibility checks. Returns a string with an incompatibility explanation if the chip is not compatible, returns FALSE if it is compatible. Arguments:

is_active

Returns whether the chip is active.

Intended to be overriden. Returns TRUE if the chip is active.

is_on_cooldown

Returns whether the chip is on cooldown. Chips ordinarily go on cooldown when activated.

This does not mean the chip should be impossible to do anything with. It's up to each individual piece of code to decide what it does with the result of this proc.

Returns TRUE if the chip's extraction cooldown hasn't yet passed.

on_activate

Called when a skillchip is activated.

Arguments:

on_deactivate

Called when a skillchip is deactivated.

Arguments:

on_implant

Called when a skillchip is inserted in a user's brain.

Arguments:

on_removal

Called when a skillchip is removed from the user's brain.

Always deactivates the skillchip. Arguments:

set_metadata

Sets key metadata for this skillchip from an assoc list.

Best used with the output from get_metadata() of another chip. If you override this proc, don't forget to also override get_metadata, which is where you should usually get the assoc list that feeds into this proc. Does not set any owner or brain status. Handle that externally. Arguments: metadata - Ideally the output of another chip's get_metadata proc. Assoc list of metadata.

try_activate_skillchip

Activates the skillchip, if possible.

Returns a message containing the reason if activation is not possible. Arguments:

try_deactivate_skillchip

Deactivates the skillchip, if possible.

Returns a message containing the reason if deactivation is not possible. Arguments: