Space Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/attack_chain_signals.dm

ITEM_INTERACT_COMPLETECancel the rest of the attack chain, indicating success.
ITEM_INTERACT_SKIP_TO_AFTER_ATTACKSkip pre-attack and attack/attack_by, going straight to after_attack.
COMSIG_INTERACT_TARGETSent when this atom is clicked on by a mob with an item.
COMSIG_INTERACT_USERSent to a mob clicking on an atom with an item.
COMSIG_INTERACTINGSent to an item clicking on an atom.
COMSIG_INTERACT_RANGED/atom/proc/ranged_item_interaction
COMSIG_INTERACTING_RANGED/atom/proc/ranged_item_interaction
COMSIG_ACTIVATE_SELF/obj/item/proc/activate_self -> mob/user
COMPONENT_CANCEL_ATTACK_CHAINCancel the attack chain entirely.
COMPONENT_SKIP_ATTACKSkip this attack step, continuing for the next one to happen.
COMPONENT_SKIP_AFTERATTACKSkip after_attacks (while allowing for e.g. attack_by).
COMSIG_PRE_ATTACK/obj/item/proc/pre_attack -> atom/target, mob/user, params
COMSIG_ATTACK/obj/item/proc/attack -> mob/living/target, mob/living/user
COMSIG_ATTACK_OBJ/obj/item/proc/attack_obj -> obj/attacked, mob/user
COMSIG_ATTACK_OBJ_LIVING/obj/item/proc/attack_obj -> obj/attacked
COMSIG_ATTACK_BY[/atom/proc/attackby] -> obj/item/weapon, mob/living/user, params
COMSIG_AFTER_ATTACK[/obj/item/proc/afterattack] -> atom/target, mob/user, params
COMSIG_AFTER_ATTACKED_BY[/obj/item/proc/afterattack] -> obj/item/weapon, mob/user, proximity_flag, params
CONTINUE_ATTACKContinue the attack chain, i.e. allow other signals to respond.
FINISH_ATTACKDo not continue the attack chain.
COMSIG_TOOL_ATTACK[/obj/item/proc/tool_attack_chain] -> atom/tool, mob/user

Define Details

COMPONENT_CANCEL_ATTACK_CHAIN

Cancel the attack chain entirely.

COMPONENT_SKIP_AFTERATTACK

Skip after_attacks (while allowing for e.g. attack_by).

COMPONENT_SKIP_ATTACK

Skip this attack step, continuing for the next one to happen.

COMSIG_ACTIVATE_SELF

/obj/item/proc/activate_self -> mob/user

COMSIG_AFTER_ATTACK

[/obj/item/proc/afterattack] -> atom/target, mob/user, params

COMSIG_AFTER_ATTACKED_BY

[/obj/item/proc/afterattack] -> obj/item/weapon, mob/user, proximity_flag, params

COMSIG_ATTACK

/obj/item/proc/attack -> mob/living/target, mob/living/user

COMSIG_ATTACK_BY

[/atom/proc/attackby] -> obj/item/weapon, mob/living/user, params

COMSIG_ATTACK_OBJ

/obj/item/proc/attack_obj -> obj/attacked, mob/user

COMSIG_ATTACK_OBJ_LIVING

/obj/item/proc/attack_obj -> obj/attacked

COMSIG_INTERACTING

Sent to an item clicking on an atom.

/atom/proc/item_interaction -> mob/living/user, atom/target, list/modifiers

COMSIG_INTERACTING_RANGED

/atom/proc/ranged_item_interaction

COMSIG_INTERACT_RANGED

/atom/proc/ranged_item_interaction

COMSIG_INTERACT_TARGET

Sent when this atom is clicked on by a mob with an item.

/atom/proc/item_interaction -> mob/living/user, obj/item/tool, list/modifiers

COMSIG_INTERACT_USER

Sent to a mob clicking on an atom with an item.

/atom/proc/item_interaction -> atom/target, obj/item/tool, list/modifiers

COMSIG_PRE_ATTACK

/obj/item/proc/pre_attack -> atom/target, mob/user, params

COMSIG_TOOL_ATTACK

[/obj/item/proc/tool_attack_chain] -> atom/tool, mob/user

CONTINUE_ATTACK

Continue the attack chain, i.e. allow other signals to respond.

FINISH_ATTACK

Do not continue the attack chain.

ITEM_INTERACT_COMPLETE

Cancel the rest of the attack chain, indicating success.

ITEM_INTERACT_SKIP_TO_AFTER_ATTACK

Skip pre-attack and attack/attack_by, going straight to after_attack.