Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/mob_signals.dm

COMSIG_MOB_LOGINSignals for /mob, /mob/living, and subtypes that have too few related signals to put in separate files. Doc format: /// when the signal is called: (signal arguments). All signals send the source datum of the signal as the first argument from base of /mob/Login(): ()
COMSIG_HUMAN_LOGINcalled in human/login
COMSIG_MOB_LOGOUTfrom base of /mob/Logout(): ()
COMSIG_MOB_DEATHfrom base of mob/death(): (gibbed)
COMSIG_MOB_STATCHANGEfrom base of mob/set_stat(): (new_stat)
COMSIG_MOB_CLICKONfrom base of mob/clickon(): (atom/A, params)
COMSIG_MOB_MIDDLECLICKONfrom base of mob/MiddleClickOn(): (atom/A)
COMSIG_MOB_ALTCLICKONfrom base of mob/AltClickOn(): (atom/A)
COMSIG_MOB_ALLOWEDfrom base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj
COMSIG_MOB_RECEIVE_MAGICfrom base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources)
COMSIG_MOB_HUD_CREATEDfrom base of mob/create_mob_hud(): ()
COMSIG_MOB_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user)
COMSIG_MOB_ITEM_ATTACKfrom base of /obj/item/attack(): (mob/M, mob/user)
COMSIG_MOB_APPLY_DAMAGEfrom base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone)
COMSIG_MOB_ITEM_AFTERATTACKfrom base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)
COMSIG_MOB_ATTACK_RANGEDfrom base of mob/RangedAttack(): (atom/A, params)
COMSIG_MOB_THROWfrom base of /mob/throw_item(): (atom/target)
COMSIG_MOB_WILLINGLY_DROPcalled when a user willingly drops something (i.e. keybind, or UI action)
COMSIG_MOB_WEAPON_APPEARScalled when a user is getting new weapon and we want to remove previous weapon to clear hands
COMSIG_MOB_EXAMINATEfrom base of /mob/verb/examinate(): (atom/target)
COMSIG_MOB_UPDATE_SIGHTfrom base of /mob/update_sight(): ()
COMSIG_MOB_SAYfrom /mob/living/say(): ()
COMSIG_MOB_DEADSAYfrom /mob/say_dead(): (mob/speaker, message)
COMSIG_MOB_PREEMOTESignal fired when an emote is used but before it's executed. from /datum/emote/proc/try_run_emote(): (key, intentional)
COMPONENT_BLOCK_EMOTE_UNUSABLEReturn this to block an emote and let the user know the emote is unusable.
COMPONENT_BLOCK_EMOTE_SILENTReturn this to block an emote silently.
COMSIG_MOB_EMOTEGeneral signal fired when a mob does any old emote from /datum/emote/proc/run_emote(): (key, intentional)
COMSIG_MOB_EMOTEDSpecific signal used to track when a specific emote is used. From /datum/emote/run_emote(): (P, key, m_type, message, intentional)
COMSIG_MOB_EMOTE_ATFrom /datum/emote/select_param(): (target, key, intentional)
COMSIG_MOB_SWAPPING_HANDSfrom base of mob/swap_hand(): (obj/item)
COMPONENT_BLOCK_SWAPPrevent the mob from changing hands
COMSIG_MOB_SWAPPED_HANDSPerformed after the hands are swapped.
COMSIG_MOVE_INTENT_TOGGLEDCalled when movement intent is toggled.
COMSIG_LIVING_RESISTfrom base of mob/living/resist() (/mob/living)
COMSIG_LIVING_IGNITEDfrom base of mob/living/IgniteMob() (/mob/living)
COMSIG_LIVING_EXTINGUISHEDfrom base of mob/living/ExtinguishMob() (/mob/living)
COMSIG_LIVING_ELECTROCUTE_ACTfrom base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)
COMSIG_LIVING_SHOCK_PREVENTEDsent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)
COMSIG_LIVING_MINOR_SHOCKsent by stuff like stunbatons and tasers: ()
COMSIG_LIVING_PRE_DEFIBSent from defibrillators when everything seems good and the user will be shocked: (defibber, defib_item, ghost)
COMPONENT_BLOCK_DEFIBIf returned from LIVING_BEFORE_DEFIB or LIVING_DEFIBBED, the defibrillation will fail
COMPONENT_DEFIB_OVERRIDEIf returned, don't even show the "failed" message, defer to the signal handler to do that.
COMPONENT_DEFIB_FAKEDEATH_ACCEPTEDIf returned, allow to revive through false death.
COMPONENT_DEFIB_FAKEDEATH_DENIEDIf returned, make the fake death look like a unresponsive ghost.
COMSIG_LIVING_DEFIBBEDsend from defibs on ressurection: (defibber, defib_item, ghost)
COMSIG_LIVING_REVIVEfrom base of mob/living/revive() (full_heal, admin_revive)
COMSIG_LIVING_REGENERATE_LIMBSfrom base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)
COMSIG_LIVING_ATTACH_LIMBfrom base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment
COMSIG_LIVING_HEALTH_UPDATEfrom base of mob/living/health_update()
COMSIG_PROCESS_BORGCHARGER_OCCUPANTsent from borg recharge stations: (amount, repairs)
COMSIG_ENTERED_BORGCHARGERsent when a mob enters a borg charger
COMSIG_EXITED_BORGCHARGERsent when a mob exits a borg charger
COMSIG_MOB_CLIENT_LOGINsent when a mob/login() finishes: (client)
COMSIG_BORG_SAFE_DECONSTRUCTsent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)
COMSIG_LIVING_FIRE_TICKsent from living mobs every tick of fire
COMSIG_LIVING_STATUS_STUNfrom base of mob/living/Stun() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_WEAKENfrom base of mob/living/Stun() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_PARALYSEfrom base of mob/living/Knockdown() (amount, ignore_canstun) #define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown" // one day from base of mob/living/Paralyse() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_IMMOBILIZEfrom base of mob/living/Immobilize() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_UNCONSCIOUSfrom base of mob/living/Unconscious() (amount, ignore_canstun)
COMSIG_LIVING_STATUS_SLEEPfrom base of mob/living/Sleeping() (amount, ignore_canstun)
COMSIG_LIVING_CAN_TRACKfrom base of /mob/living/can_track(): (mob/user)
COMSIG_LIVING_WRITE_MEMORYfrom base of mob/living/Write_Memory()
COMSIG_SIMPLEANIMAL_HANDLE_ENVIRONMENTfrom /mob/living/simple_animal/handle_environment()
COMSIG_DO_MOB_STRIPfrom of mob/MouseDrop(): (/atom/over, /mob/user)
COMSIG_GHOST_START_OBSERVINGfrom observer_base/do_observe(): (mob/now_followed)
COMSIG_GHOST_STOP_OBSERVINGfrom observer_base/do_observe(): (mob/no_longer_following)
COMSIG_LIVING_CLEAR_STUNScalled when a living mob's stun status is cleared: ()
COMSIG_FLAYER_RETRACT_IMPLANTScalled when something needs to force a mindflayer to retract their weapon implants
COMSIG_MOB_PRE_JAUNTSent from datum/spell/ethereal_jaunt/cast, before the mob enters jaunting as a pre-check: (mob/jaunter)
COMSIG_LIVING_EXIT_VENTCRAWLfrom remove_ventcrawler(): (mob/living/crawler)

Define Details

COMPONENT_BLOCK_DEFIB

If returned from LIVING_BEFORE_DEFIB or LIVING_DEFIBBED, the defibrillation will fail

COMPONENT_BLOCK_EMOTE_SILENT

Return this to block an emote silently.

COMPONENT_BLOCK_EMOTE_UNUSABLE

Return this to block an emote and let the user know the emote is unusable.

COMPONENT_BLOCK_SWAP

Prevent the mob from changing hands

COMPONENT_DEFIB_FAKEDEATH_ACCEPTED

If returned, allow to revive through false death.

COMPONENT_DEFIB_FAKEDEATH_DENIED

If returned, make the fake death look like a unresponsive ghost.

COMPONENT_DEFIB_OVERRIDE

If returned, don't even show the "failed" message, defer to the signal handler to do that.

COMSIG_BORG_SAFE_DECONSTRUCT

sent from borg mobs to itself, for tools to catch an upcoming destroy() due to safe decon (rather than detonation)

COMSIG_DO_MOB_STRIP

from of mob/MouseDrop(): (/atom/over, /mob/user)

COMSIG_ENTERED_BORGCHARGER

sent when a mob enters a borg charger

COMSIG_EXITED_BORGCHARGER

sent when a mob exits a borg charger

COMSIG_FLAYER_RETRACT_IMPLANTS

called when something needs to force a mindflayer to retract their weapon implants

COMSIG_GHOST_START_OBSERVING

from observer_base/do_observe(): (mob/now_followed)

COMSIG_GHOST_STOP_OBSERVING

from observer_base/do_observe(): (mob/no_longer_following)

COMSIG_HUMAN_LOGIN

called in human/login

COMSIG_LIVING_ATTACH_LIMB

from base of /obj/item/bodypart/proc/attach_limb(): (new_limb, special) allows you to fail limb attachment

COMSIG_LIVING_CAN_TRACK

from base of /mob/living/can_track(): (mob/user)

COMSIG_LIVING_CLEAR_STUNS

called when a living mob's stun status is cleared: ()

COMSIG_LIVING_DEFIBBED

send from defibs on ressurection: (defibber, defib_item, ghost)

COMSIG_LIVING_ELECTROCUTE_ACT

from base of mob/living/electrocute_act(): (shock_damage, source, siemens_coeff, flags)

COMSIG_LIVING_EXIT_VENTCRAWL

from remove_ventcrawler(): (mob/living/crawler)

COMSIG_LIVING_EXTINGUISHED

from base of mob/living/ExtinguishMob() (/mob/living)

COMSIG_LIVING_FIRE_TICK

sent from living mobs every tick of fire

COMSIG_LIVING_HEALTH_UPDATE

from base of mob/living/health_update()

COMSIG_LIVING_IGNITED

from base of mob/living/IgniteMob() (/mob/living)

COMSIG_LIVING_MINOR_SHOCK

sent by stuff like stunbatons and tasers: ()

COMSIG_LIVING_PRE_DEFIB

Sent from defibrillators when everything seems good and the user will be shocked: (defibber, defib_item, ghost)

COMSIG_LIVING_REGENERATE_LIMBS

from base of /mob/living/regenerate_limbs(): (noheal, excluded_limbs)

COMSIG_LIVING_RESIST

from base of mob/living/resist() (/mob/living)

COMSIG_LIVING_REVIVE

from base of mob/living/revive() (full_heal, admin_revive)

COMSIG_LIVING_SHOCK_PREVENTED

sent when items with siemen coeff. of 0 block a shock: (power_source, source, siemens_coeff, dist_check)

COMSIG_LIVING_STATUS_IMMOBILIZE

from base of mob/living/Immobilize() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_PARALYSE

from base of mob/living/Knockdown() (amount, ignore_canstun) #define COMSIG_LIVING_STATUS_KNOCKDOWN "living_knockdown" // one day from base of mob/living/Paralyse() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_SLEEP

from base of mob/living/Sleeping() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_STUN

from base of mob/living/Stun() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_UNCONSCIOUS

from base of mob/living/Unconscious() (amount, ignore_canstun)

COMSIG_LIVING_STATUS_WEAKEN

from base of mob/living/Stun() (amount, ignore_canstun)

COMSIG_LIVING_WRITE_MEMORY

from base of mob/living/Write_Memory()

COMSIG_MOB_ALLOWED

from base of obj/allowed(mob/M): (/obj) returns bool, if TRUE the mob has id access to the obj

COMSIG_MOB_ALTCLICKON

from base of mob/AltClickOn(): (atom/A)

COMSIG_MOB_APPLY_DAMAGE

from base of /mob/living/proc/apply_damage(): (damage, damagetype, def_zone)

COMSIG_MOB_ATTACK_HAND

from base of atom/attack_hand(): (mob/user)

COMSIG_MOB_ATTACK_RANGED

from base of mob/RangedAttack(): (atom/A, params)

COMSIG_MOB_CLICKON

from base of mob/clickon(): (atom/A, params)

COMSIG_MOB_CLIENT_LOGIN

sent when a mob/login() finishes: (client)

COMSIG_MOB_DEADSAY

from /mob/say_dead(): (mob/speaker, message)

COMSIG_MOB_DEATH

from base of mob/death(): (gibbed)

COMSIG_MOB_EMOTE

General signal fired when a mob does any old emote from /datum/emote/proc/run_emote(): (key, intentional)

COMSIG_MOB_EMOTED

Specific signal used to track when a specific emote is used. From /datum/emote/run_emote(): (P, key, m_type, message, intentional)

COMSIG_MOB_EMOTE_AT

From /datum/emote/select_param(): (target, key, intentional)

COMSIG_MOB_EXAMINATE

from base of /mob/verb/examinate(): (atom/target)

COMSIG_MOB_HUD_CREATED

from base of mob/create_mob_hud(): ()

COMSIG_MOB_ITEM_AFTERATTACK

from base of obj/item/afterattack(): (atom/target, mob/user, proximity_flag, click_parameters)

COMSIG_MOB_ITEM_ATTACK

from base of /obj/item/attack(): (mob/M, mob/user)

COMSIG_MOB_LOGIN

Signals for /mob, /mob/living, and subtypes that have too few related signals to put in separate files. Doc format: /// when the signal is called: (signal arguments). All signals send the source datum of the signal as the first argument from base of /mob/Login(): ()

COMSIG_MOB_LOGOUT

from base of /mob/Logout(): ()

COMSIG_MOB_MIDDLECLICKON

from base of mob/MiddleClickOn(): (atom/A)

COMSIG_MOB_PREEMOTE

Signal fired when an emote is used but before it's executed. from /datum/emote/proc/try_run_emote(): (key, intentional)

COMSIG_MOB_PRE_JAUNT

Sent from datum/spell/ethereal_jaunt/cast, before the mob enters jaunting as a pre-check: (mob/jaunter)

COMSIG_MOB_RECEIVE_MAGIC

from base of mob/anti_magic_check(): (mob/user, magic, holy, tinfoil, chargecost, self, protection_sources)

COMSIG_MOB_SAY

from /mob/living/say(): ()

COMSIG_MOB_STATCHANGE

from base of mob/set_stat(): (new_stat)

COMSIG_MOB_SWAPPED_HANDS

Performed after the hands are swapped.

COMSIG_MOB_SWAPPING_HANDS

from base of mob/swap_hand(): (obj/item)

COMSIG_MOB_THROW

from base of /mob/throw_item(): (atom/target)

COMSIG_MOB_UPDATE_SIGHT

from base of /mob/update_sight(): ()

COMSIG_MOB_WEAPON_APPEARS

called when a user is getting new weapon and we want to remove previous weapon to clear hands

COMSIG_MOB_WILLINGLY_DROP

called when a user willingly drops something (i.e. keybind, or UI action)

COMSIG_MOVE_INTENT_TOGGLED

Called when movement intent is toggled.

COMSIG_PROCESS_BORGCHARGER_OCCUPANT

sent from borg recharge stations: (amount, repairs)

COMSIG_SIMPLEANIMAL_HANDLE_ENVIRONMENT

from /mob/living/simple_animal/handle_environment()