Yogstation 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_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_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_WAS_ATTACKEDfrom relay_attackers element: (atom/attacker)

Define Details

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_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_BREAK

from /atom/proc/atom_break: (damage_flag)

COMSIG_ATOM_DESTRUCTION

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

COMSIG_ATOM_FIX

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

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_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)