/tg/ Station 13 - Modules - TypesDefine Details

code/__DEFINES/dcs/signals/signals_atom/signals_atom_attack.dm

COMSIG_ATOM_ATTACKBYfrom base of atom/attackby(): (/obj/item, /mob/living, params)
COMSIG_ATOM_ATTACKBY_SECONDARYFrom base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)
COMSIG_ATOM_AFTER_ATTACKEDBYFrom [/item/attack()], sent by an atom which was just attacked by an item: (/obj/item/weapon, /mob/user, proximity_flag, click_parameters)
COMSIG_ATOM_ATTACK_HAND_SECONDARYFrom base of /atom/proc/attack_hand_secondary: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.
COMPONENT_NO_AFTERATTACKReturn this in response if you don't want afterattack to be called
COMSIG_ATOM_HULK_ATTACKfrom base of atom/attack_hulk(): (/mob/living/carbon/human)
COMSIG_ATOM_ATTACK_ANIMALfrom base of atom/animal_attack(): (/mob/user)
COMSIG_ATOM_BREAKfrom /atom/proc/atom_break: (damage_flag)
COMSIG_ATOM_FIXfrom base of /atom/proc/atom_fix: ()
COMSIG_ATOM_DESTRUCTIONfrom base of /atom/proc/atom_destruction: (damage_flag)
COMSIG_ATOM_EXTINGUISHfrom base of /atom/proc/extinguish
COMSIG_ATOM_INTEGRITY_CHANGEDfrom base of /atom/proc/update_integrity: (old_value, new_value)
COMSIG_ATOM_TAKE_DAMAGEfrom base of /atom/proc/take_damage: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)
COMPONENT_NO_TAKE_DAMAGEReturn bitflags for the above signal which prevents the atom taking any damage.
COMPONENT_CANCEL_ATTACK_CHAINtool_act -> pre_attack -> target.attackby (item.attack) -> afterattack Ends the attack chain. If sent early might cause posterior attacks not to happen.
COMPONENT_SKIP_ATTACKSkips the specific attack step, continuing for the next one to happen.
COMSIG_ATOM_ATTACK_GHOSTfrom base of atom/attack_ghost(): (mob/dead/observer/ghost)
COMSIG_ATOM_ATTACK_HANDfrom base of atom/attack_hand(): (mob/user, list/modifiers)
COMSIG_ATOM_ATTACK_PAWfrom base of atom/attack_paw(): (mob/user)
COMSIG_ATOM_ATTACK_MECHfrom base of atom/mech_melee_attack(): (obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user)
COMSIG_ATOM_ATTACK_ROBOTfrom base of atom/attack_robot(): (mob/user)
COMSIG_ATOM_ATTACK_ROBOT_SECONDARYfrom base of atom/attack_robot_secondary(): (mob/user)
COMSIG_ATOM_WAS_ATTACKEDfrom relay_attackers element: (atom/attacker, attack_flags)
COMSIG_PRE_TILT_AND_CRUSHCalled before a atom gets something tilted on them. If [COMPONENT_IMMUNE_TO_TILT_AND_CRUSH] is returned in a signal, the atom will be unaffected: (atom/target, atom/source)
COMSIG_POST_TILT_AND_CRUSHCalled when a atom gets something tilted on them: (atom/target, atom/source)
COMSIG_ATOM_SPLASHEDCalled when an atom is splashed with something: (atom/source)
ATTACKER_STAMINA_ATTACKThe damage type of the weapon projectile is non-lethal stamina
ATTACKER_SHOVINGthe attacker is shoving the source
ATTACKER_DAMAGING_ATTACKThe attack is a damaging-type attack
COMSIG_ATOM_HOLYATTACKCalled on the atom being hit, from /datum/component/anti_magic/on_attack() : (obj/item/weapon, mob/user, antimagic_flags)

Define Details

ATTACKER_DAMAGING_ATTACK

The attack is a damaging-type attack

ATTACKER_SHOVING

the attacker is shoving the source

ATTACKER_STAMINA_ATTACK

The damage type of the weapon projectile is non-lethal stamina

COMPONENT_CANCEL_ATTACK_CHAIN

tool_act -> pre_attack -> target.attackby (item.attack) -> afterattack Ends the attack chain. If sent early might cause posterior attacks not to happen.

COMPONENT_NO_AFTERATTACK

Return this in response if you don't want afterattack to be called

COMPONENT_NO_TAKE_DAMAGE

Return bitflags for the above signal which prevents the atom taking any damage.

COMPONENT_SKIP_ATTACK

Skips the specific attack step, continuing for the next one to happen.

COMSIG_ATOM_AFTER_ATTACKEDBY

From [/item/attack()], sent by an atom which was just attacked by an item: (/obj/item/weapon, /mob/user, proximity_flag, click_parameters)

COMSIG_ATOM_ATTACKBY

from base of atom/attackby(): (/obj/item, /mob/living, params)

COMSIG_ATOM_ATTACKBY_SECONDARY

From base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)

COMSIG_ATOM_ATTACK_ANIMAL

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

COMSIG_ATOM_ATTACK_GHOST

from base of atom/attack_ghost(): (mob/dead/observer/ghost)

COMSIG_ATOM_ATTACK_HAND

from base of atom/attack_hand(): (mob/user, list/modifiers)

COMSIG_ATOM_ATTACK_HAND_SECONDARY

From base of /atom/proc/attack_hand_secondary: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.

COMSIG_ATOM_ATTACK_MECH

from base of atom/mech_melee_attack(): (obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user)

COMSIG_ATOM_ATTACK_PAW

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

COMSIG_ATOM_ATTACK_ROBOT

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

COMSIG_ATOM_ATTACK_ROBOT_SECONDARY

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

COMSIG_ATOM_BREAK

from /atom/proc/atom_break: (damage_flag)

COMSIG_ATOM_DESTRUCTION

from base of /atom/proc/atom_destruction: (damage_flag)

COMSIG_ATOM_EXTINGUISH

from base of /atom/proc/extinguish

COMSIG_ATOM_FIX

from base of /atom/proc/atom_fix: ()

COMSIG_ATOM_HOLYATTACK

Called on the atom being hit, from /datum/component/anti_magic/on_attack() : (obj/item/weapon, mob/user, antimagic_flags)

COMSIG_ATOM_HULK_ATTACK

from base of atom/attack_hulk(): (/mob/living/carbon/human)

COMSIG_ATOM_INTEGRITY_CHANGED

from base of /atom/proc/update_integrity: (old_value, new_value)

COMSIG_ATOM_SPLASHED

Called when an atom is splashed with something: (atom/source)

COMSIG_ATOM_TAKE_DAMAGE

from base of /atom/proc/take_damage: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)

COMSIG_ATOM_WAS_ATTACKED

from relay_attackers element: (atom/attacker, attack_flags)

COMSIG_POST_TILT_AND_CRUSH

Called when a atom gets something tilted on them: (atom/target, atom/source)

COMSIG_PRE_TILT_AND_CRUSH

Called before a atom gets something tilted on them. If [COMPONENT_IMMUNE_TO_TILT_AND_CRUSH] is returned in a signal, the atom will be unaffected: (atom/target, atom/source)