Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit c7226a1

Browse filesBrowse files
authored
Modernizes components (yogstation13#17260)
* Part 1 * Refactor signals into different files * Remove redundant file * Add missing movable signals * Add signals log * Split signal registering with list into new proc * Add comments to component.dm and remove signal_enabled * Fix yogs code * Not this one * Hopefully make linter happy * Remove duplicate file * More duplicates signals
1 parent bc61c15 commit c7226a1
Copy full SHA for c7226a1

115 files changed

+2,612-699Lines changed: 2612 additions & 699 deletions

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎code/__DEFINES/components.dm‎

Copy file name to clipboardExpand all lines: code/__DEFINES/components.dm
-440Lines changed: 0 additions & 440 deletions
This file was deleted.
Collapse file

‎code/__DEFINES/dcs/flags.dm‎

Copy file name to clipboard
+43Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
/// Return this from `/datum/component/Initialize` or `datum/component/OnTransfer` to have the component be deleted if it's applied to an incorrect type.
2+
/// `parent` must not be modified if this is to be returned.
3+
/// This will be noted in the runtime logs
4+
#define COMPONENT_INCOMPATIBLE 1
5+
/// Returned in PostTransfer to prevent transfer, similar to `COMPONENT_INCOMPATIBLE`
6+
#define COMPONENT_NOTRANSFER 2
7+
8+
/// Return value to cancel attaching
9+
#define ELEMENT_INCOMPATIBLE 1
10+
11+
// /datum/element flags
12+
/// Causes the detach proc to be called when the host object is being deleted
13+
#define ELEMENT_DETACH (1 << 0)
14+
/// Only elements created with the same arguments given after `id_arg_index` share an element instance
15+
/// The arguments are the same when the text and number values are the same and all other values have the same ref
16+
#define ELEMENT_BESPOKE (1 << 1)
17+
/// Causes all detach arguments to be passed to detach instead of only being used to identify the element
18+
/// When this is used your Detach proc should have the same signature as your Attach proc
19+
#define ELEMENT_COMPLEX_DETACH (1 << 2)
20+
21+
// How multiple components of the exact same type are handled in the same datum
22+
/// old component is deleted (default)
23+
#define COMPONENT_DUPE_HIGHLANDER 0
24+
/// duplicates allowed
25+
#define COMPONENT_DUPE_ALLOWED 1
26+
/// new component is deleted
27+
#define COMPONENT_DUPE_UNIQUE 2
28+
/// old component is given the initialization args of the new
29+
#define COMPONENT_DUPE_UNIQUE_PASSARGS 4
30+
/// each component of the same type is consulted as to whether the duplicate should be allowed
31+
#define COMPONENT_DUPE_SELECTIVE 5
32+
33+
34+
//Arch
35+
#define ARCH_PROB "probability" //Probability for each item
36+
#define ARCH_MAXDROP "max_drop_amount" //each item's max drop amount
37+
38+
//Ouch my toes!
39+
#define CALTROP_BYPASS_SHOES (1 << 0)
40+
#define CALTROP_IGNORE_WALKERS (1 << 1)
41+
#define CALTROP_SILENT (1 << 2)
42+
#define CALTROP_NOSTUN (1 << 3)
43+
#define CALTROP_NOCRAWL (1 << 4)
Collapse file

‎code/__DEFINES/dcs/helpers.dm‎

Copy file name to clipboardExpand all lines: code/__DEFINES/dcs/helpers.dm
+12Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,15 @@
99
/// Signifies that this proc is used to handle signals.
1010
/// Every proc you pass to RegisterSignal must have this.
1111
#define SIGNAL_HANDLER SHOULD_NOT_SLEEP(TRUE)
12+
13+
/// A wrapper for _AddElement that allows us to pretend we're using normal named arguments
14+
#define AddElement(arguments...) _AddElement(list(##arguments))
15+
16+
/// A wrapper for _RemoveElement that allows us to pretend we're using normal named arguments
17+
#define RemoveElement(arguments...) _RemoveElement(list(##arguments))
18+
19+
/// A wrapper for _AddComponent that allows us to pretend we're using normal named arguments
20+
#define AddComponent(arguments...) _AddComponent(list(##arguments))
21+
22+
/// A wrapper for _LoadComponent that allows us to pretend we're using normal named arguments
23+
#define LoadComponent(arguments...) _LoadComponent(list(##arguments))
Collapse file
+5Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
// /datum/species signals
2+
///from datum/species/on_species_gain(): (datum/species/new_species, datum/species/old_species)
3+
#define COMSIG_SPECIES_GAIN "species_gain"
4+
///from datum/species/on_species_loss(): (datum/species/lost_species)
5+
#define COMSIG_SPECIES_LOSS "species_loss"
Collapse file
+41Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Action signals
2+
3+
///from base of datum/action/proc/Trigger(): (datum/action)
4+
#define COMSIG_ACTION_TRIGGER "action_trigger"
5+
// Return to block the trigger from occuring
6+
#define COMPONENT_ACTION_BLOCK_TRIGGER (1<<0)
7+
/// From /datum/action/Grant(): (mob/grant_to)
8+
#define COMSIG_ACTION_GRANTED "action_grant"
9+
/// From /datum/action/Grant(): (datum/action)
10+
#define COMSIG_MOB_GRANTED_ACTION "mob_action_grant"
11+
/// From /datum/action/Remove(): (mob/removed_from)
12+
#define COMSIG_ACTION_REMOVED "action_removed"
13+
/// From /datum/action/Remove(): (datum/action)
14+
#define COMSIG_MOB_REMOVED_ACTION "mob_action_removed"
15+
/// From /datum/action/apply_button_overlay()
16+
#define COMSIG_ACTION_OVERLAY_APPLY "action_overlay_applied"
17+
18+
// Cooldown action signals
19+
20+
/// From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/activated)
21+
#define COMSIG_MOB_ABILITY_STARTED "mob_ability_base_started"
22+
/// Return to block the ability from starting / activating
23+
#define COMPONENT_BLOCK_ABILITY_START (1<<0)
24+
/// From base of /datum/action/cooldown/proc/PreActivate(), sent to the action owner: (datum/action/cooldown/finished)
25+
#define COMSIG_MOB_ABILITY_FINISHED "mob_ability_base_finished"
26+
27+
/// From base of /datum/action/cooldown/proc/set_statpanel_format(): (list/stat_panel_data)
28+
#define COMSIG_ACTION_SET_STATPANEL "ability_set_statpanel"
29+
30+
// Specific cooldown action signals
31+
32+
/// From base of /datum/action/cooldown/mob_cooldown/blood_warp/proc/blood_warp(): ()
33+
#define COMSIG_BLOOD_WARP "mob_ability_blood_warp"
34+
/// From base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()
35+
#define COMSIG_STARTED_CHARGE "mob_ability_charge_started"
36+
/// From base of /datum/action/cooldown/mob_cooldown/charge/proc/do_charge(): ()
37+
#define COMSIG_FINISHED_CHARGE "mob_ability_charge_finished"
38+
/// From base of /datum/action/cooldown/mob_cooldown/lava_swoop/proc/swoop_attack(): ()
39+
#define COMSIG_SWOOP_INVULNERABILITY_STARTED "mob_swoop_invulnerability_started"
40+
/// From base of /datum/action/cooldown/mob_cooldown/lava_swoop/proc/swoop_attack(): ()
41+
#define COMSIG_LAVA_ARENA_FAILED "mob_lava_arena_failed"
Collapse file
+33Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// Format:
2+
// When the signal is called: (signal arguments)
3+
// All signals send the source datum of the signal as the first argument
4+
5+
///! from base of area/proc/power_change(): ()
6+
#define COMSIG_AREA_POWER_CHANGE "area_power_change"
7+
8+
// /area signals///! from base of area/Entered(): (atom/movable/M)
9+
#define COMSIG_AREA_ENTERED "area_entered"
10+
///! from base of area/Exited(): (atom/movable/M)
11+
#define COMSIG_AREA_EXITED "area_exited"
12+
///from base of area/Entered(): (area/new_area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
13+
#define COMSIG_ENTER_AREA "enter_area"
14+
///from base of area/Exited(): (area). Sent to "area-sensitive" movables, see __DEFINES/traits.dm for info.
15+
#define COMSIG_EXIT_AREA "exit_area"
16+
17+
// Alarm listener datum signals
18+
///Sent when an alarm is fired and an alarm listener has tracked onto it (alarm, area/source_area)
19+
#define COMSIG_ALARM_LISTENER_TRIGGERED "alarm_listener_triggered"
20+
///Send when an alarm source is cleared and an alarm listener has tracked onto it (alarm_type, area/source_area)
21+
#define COMSIG_ALARM_LISTENER_CLEARED "alarm_listener_clear"
22+
23+
/// Called when an alarm handler fires an alarm
24+
#define COMSIG_ALARM_TRIGGERED "alarm_triggered"
25+
/// Called when an alarm handler clears an alarm
26+
#define COMSIG_ALARM_CLEARED "alarm_cleared"
27+
28+
/// Called when the air alarm mode is updated
29+
#define COMSIG_AIRALARM_UPDATE_MODE "airalarm_update_mode"
30+
31+
// Area fire signals
32+
/// Sent when an area's fire var changes: (fire_value)
33+
#define COMSIG_AREA_FIRE_CHANGED "area_fire_set"
Collapse file
+48Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
// Atom attack signals. Format:
2+
// When the signal is called: (signal arguments)
3+
// All signals send the source datum of the signal as the first argument
4+
5+
///from base of atom/attackby(): (/obj/item, /mob/living, params)
6+
#define COMSIG_PARENT_ATTACKBY "atom_attackby"
7+
/// From base of [atom/proc/attacby_secondary()]: (/obj/item/weapon, /mob/user, params)
8+
#define COMSIG_PARENT_ATTACKBY_SECONDARY "atom_attackby_secondary"
9+
/// From base of [/atom/proc/attack_hand_secondary]: (mob/user, list/modifiers) - Called when the atom receives a secondary unarmed attack.
10+
#define COMSIG_ATOM_ATTACK_HAND_SECONDARY "atom_attack_hand_secondary"
11+
///Return this in response if you don't want afterattack to be called
12+
#define COMPONENT_NO_AFTERATTACK (1<<0)
13+
///from base of atom/attack_hulk(): (/mob/living/carbon/human)
14+
#define COMSIG_ATOM_HULK_ATTACK "hulk_attack"
15+
///from base of atom/animal_attack(): (/mob/user)
16+
#define COMSIG_ATOM_ATTACK_ANIMAL "attack_animal"
17+
//from base of atom/attack_basic_mob(): (/mob/user)
18+
#define COMSIG_ATOM_ATTACK_BASIC_MOB "attack_basic_mob"
19+
/// from /atom/proc/atom_break: (damage_flag)
20+
#define COMSIG_ATOM_BREAK "atom_break"
21+
/// from base of [/atom/proc/atom_fix]: ()
22+
#define COMSIG_ATOM_FIX "atom_fix"
23+
/// from base of [/atom/proc/atom_destruction]: (damage_flag)
24+
#define COMSIG_ATOM_DESTRUCTION "atom_destruction"
25+
///from base of [/atom/proc/update_integrity]: (old_value, new_value)
26+
#define COMSIG_ATOM_INTEGRITY_CHANGED "atom_integrity_changed"
27+
///from base of [/atom/proc/take_damage]: (damage_amount, damage_type, damage_flag, sound_effect, attack_dir, aurmor_penetration)
28+
#define COMSIG_ATOM_TAKE_DAMAGE "atom_take_damage"
29+
/// Return bitflags for the above signal which prevents the atom taking any damage.
30+
#define COMPONENT_NO_TAKE_DAMAGE (1<<0)
31+
/* Attack signals. They should share the returned flags, to standardize the attack chain. */
32+
/// tool_act -> pre_attack -> target.attackby (item.attack) -> afterattack
33+
///Ends the attack chain. If sent early might cause posterior attacks not to happen.
34+
#define COMPONENT_CANCEL_ATTACK_CHAIN (1<<0)
35+
///Skips the specific attack step, continuing for the next one to happen.
36+
#define COMPONENT_SKIP_ATTACK (1<<1)
37+
///from base of atom/attack_ghost(): (mob/dead/observer/ghost)
38+
#define COMSIG_ATOM_ATTACK_GHOST "atom_attack_ghost"
39+
///from base of atom/attack_hand(): (mob/user, list/modifiers)
40+
#define COMSIG_ATOM_ATTACK_HAND "atom_attack_hand"
41+
///from base of atom/attack_paw(): (mob/user)
42+
#define COMSIG_ATOM_ATTACK_PAW "atom_attack_paw"
43+
//works on all 3.
44+
#define COMPONENT_NO_ATTACK_HAND 1
45+
///from base of atom/mech_melee_attack(): (obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user)
46+
#define COMSIG_ATOM_ATTACK_MECH "atom_attack_mech"
47+
///from relay_attackers element: (atom/attacker)
48+
#define COMSIG_ATOM_WAS_ATTACKED "atom_was_attacked"
Collapse file
+29Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Atom lighting signals. Format:
2+
// When the signal is called: (signal arguments)
3+
// All signals send the source datum of the signal as the first argument
4+
5+
// Lighting:
6+
///from base of [atom/proc/set_light]: (l_range, l_power, l_color, l_on)
7+
#define COMSIG_ATOM_SET_LIGHT "atom_set_light"
8+
/// Blocks [/atom/proc/set_light], [/atom/proc/set_light_power], [/atom/proc/set_light_range], [/atom/proc/set_light_color], [/atom/proc/set_light_on], and [/atom/proc/set_light_flags].
9+
#define COMPONENT_BLOCK_LIGHT_UPDATE (1<<0)
10+
///Called right before the atom changes the value of light_power to a different one, from base [atom/proc/set_light_power]: (new_power)
11+
#define COMSIG_ATOM_SET_LIGHT_POWER "atom_set_light_power"
12+
///Called right after the atom changes the value of light_power to a different one, from base of [/atom/proc/set_light_power]: (old_power)
13+
#define COMSIG_ATOM_UPDATE_LIGHT_POWER "atom_update_light_power"
14+
///Called right before the atom changes the value of light_range to a different one, from base [atom/proc/set_light_range]: (new_range)
15+
#define COMSIG_ATOM_SET_LIGHT_RANGE "atom_set_light_range"
16+
///Called right after the atom changes the value of light_range to a different one, from base of [/atom/proc/set_light_range]: (old_range)
17+
#define COMSIG_ATOM_UPDATE_LIGHT_RANGE "atom_update_light_range"
18+
///Called right before the atom changes the value of light_color to a different one, from base [atom/proc/set_light_color]: (new_color)
19+
#define COMSIG_ATOM_SET_LIGHT_COLOR "atom_set_light_color"
20+
///Called right after the atom changes the value of light_color to a different one, from base of [/atom/proc/set_light_color]: (old_color)
21+
#define COMSIG_ATOM_UPDATE_LIGHT_COLOR "atom_update_light_color"
22+
///Called right before the atom changes the value of light_on to a different one, from base [atom/proc/set_light_on]: (new_value)
23+
#define COMSIG_ATOM_SET_LIGHT_ON "atom_set_light_on"
24+
///Called right after the atom changes the value of light_on to a different one, from base of [/atom/proc/set_light_on]: (old_value)
25+
#define COMSIG_ATOM_UPDATE_LIGHT_ON "atom_update_light_on"
26+
///Called right before the atom changes the value of light_flags to a different one, from base [atom/proc/set_light_flags]: (new_flags)
27+
#define COMSIG_ATOM_SET_LIGHT_FLAGS "atom_set_light_flags"
28+
///Called right after the atom changes the value of light_flags to a different one, from base of [/atom/proc/set_light_flags]: (old_flags)
29+
#define COMSIG_ATOM_UPDATE_LIGHT_FLAGS "atom_update_light_flags"
Collapse file
+107Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
// Main atom signals. Format:
2+
// When the signal is called: (signal arguments)
3+
// All signals send the source datum of the signal as the first argument
4+
5+
// /atom signals
6+
///from base of atom/proc/Initialize(): sent any time a new atom is created in this atom
7+
#define COMSIG_ATOM_INITIALIZED_ON "atom_initialized_on"
8+
//from SSatoms InitAtom - Only if the atom was not deleted or failed initialization
9+
#define COMSIG_ATOM_AFTER_SUCCESSFUL_INITIALIZE "atom_init_success"
10+
///from base of atom/examine(): (/mob, list/examine_text)
11+
#define COMSIG_PARENT_EXAMINE "atom_examine"
12+
///from base of atom/get_examine_name(): (/mob, list/overrides)
13+
#define COMSIG_ATOM_GET_EXAMINE_NAME "atom_examine_name"
14+
#define COMSIG_PARENT_EXAMINE_MORE "atom_examine_more" ///from base of atom/examine_more(): (/mob)
15+
//Positions for overrides list
16+
#define EXAMINE_POSITION_ARTICLE (1<<0)
17+
#define EXAMINE_POSITION_BEFORE (1<<1)
18+
//End positions
19+
#define COMPONENT_EXNAME_CHANGED (1<<0)
20+
///from base of [/atom/proc/update_appearance]: (updates)
21+
#define COMSIG_ATOM_UPDATE_APPEARANCE "atom_update_appearance"
22+
/// If returned from [COMSIG_ATOM_UPDATE_APPEARANCE] it prevents the atom from updating its name.
23+
#define COMSIG_ATOM_NO_UPDATE_NAME UPDATE_NAME
24+
/// If returned from [COMSIG_ATOM_UPDATE_APPEARANCE] it prevents the atom from updating its desc.
25+
#define COMSIG_ATOM_NO_UPDATE_DESC UPDATE_DESC
26+
/// If returned from [COMSIG_ATOM_UPDATE_APPEARANCE] it prevents the atom from updating its icon.
27+
#define COMSIG_ATOM_NO_UPDATE_ICON UPDATE_ICON
28+
///from base of [/atom/proc/update_name]: (updates)
29+
#define COMSIG_ATOM_UPDATE_NAME "atom_update_name"
30+
///from base of [/atom/proc/update_desc]: (updates)
31+
#define COMSIG_ATOM_UPDATE_DESC "atom_update_desc"
32+
///from base of [/atom/update_icon]: ()
33+
#define COMSIG_ATOM_UPDATE_ICON "atom_update_icon"
34+
/// If returned from [COMSIG_ATOM_UPDATE_ICON] it prevents the atom from updating its icon state.
35+
#define COMSIG_ATOM_NO_UPDATE_ICON_STATE UPDATE_ICON_STATE
36+
/// If returned from [COMSIG_ATOM_UPDATE_ICON] it prevents the atom from updating its overlays.
37+
#define COMSIG_ATOM_NO_UPDATE_OVERLAYS UPDATE_OVERLAYS
38+
///from base of [atom/update_icon_state]: ()
39+
#define COMSIG_ATOM_UPDATE_ICON_STATE "atom_update_icon_state"
40+
///from base of [/atom/update_overlays]: (list/new_overlays)
41+
#define COMSIG_ATOM_UPDATE_OVERLAYS "atom_update_overlays"
42+
///from base of [/atom/update_icon]: (signalOut, did_anything)
43+
#define COMSIG_ATOM_UPDATED_ICON "atom_updated_icon"
44+
///from base of [/atom/proc/smooth_icon]: ()
45+
#define COMSIG_ATOM_SMOOTHED_ICON "atom_smoothed_icon"
46+
///from base of atom/Entered(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
47+
#define COMSIG_ATOM_ENTERED "atom_entered"
48+
///from base of atom/movable/Moved(): (atom/movable/arrived, atom/old_loc, list/atom/old_locs)
49+
#define COMSIG_ATOM_ABSTRACT_ENTERED "atom_abstract_entered"
50+
/// Sent from the atom that just Entered src. From base of atom/Entered(): (/atom/destination, atom/old_loc, list/atom/old_locs)
51+
#define COMSIG_ATOM_ENTERING "atom_entering"
52+
///from base of atom/Exit(): (/atom/movable/leaving, direction)
53+
#define COMSIG_ATOM_EXIT "atom_exit"
54+
#define COMPONENT_ATOM_BLOCK_EXIT (1<<0)
55+
///from base of atom/Exited(): (atom/movable/gone, direction)
56+
#define COMSIG_ATOM_EXITED "atom_exited"
57+
///from base of atom/movable/Moved(): (atom/movable/gone, direction)
58+
#define COMSIG_ATOM_ABSTRACT_EXITED "atom_abstract_exited"
59+
///from base of atom/Bumped(): (/atom/movable)
60+
#define COMSIG_ATOM_BUMPED "atom_bumped"
61+
///from base of atom/handle_atom_del(): (atom/deleted)
62+
#define COMSIG_ATOM_CONTENTS_DEL "atom_contents_del"
63+
///from base of atom/has_gravity(): (turf/location, list/forced_gravities)
64+
#define COMSIG_ATOM_HAS_GRAVITY "atom_has_gravity"
65+
///from internal loop in atom/movable/proc/CanReach(): (list/next)
66+
#define COMSIG_ATOM_CANREACH "atom_can_reach"
67+
#define COMPONENT_BLOCK_REACH 1
68+
///for when an atom has been created through processing (atom/original_atom, list/chosen_processing_option)
69+
#define COMSIG_ATOM_CREATEDBY_PROCESSING "atom_createdby_processing"
70+
///when an atom is processed (mob/living/user, obj/item/I, list/atom/results)
71+
#define COMSIG_ATOM_PROCESSED "atom_processed"
72+
///called when teleporting into a protected turf: (channel, turf/origin)
73+
#define COMSIG_ATOM_INTERCEPT_TELEPORT "intercept_teleport"
74+
#define COMPONENT_BLOCK_TELEPORT (1<<0)
75+
///called when an atom is added to the hearers on get_hearers_in_view(): (list/processing_list, list/hearers)
76+
#define COMSIG_ATOM_HEARER_IN_VIEW "atom_hearer_in_view"
77+
///called when an atom starts orbiting another atom: (atom)
78+
#define COMSIG_ATOM_ORBIT_BEGIN "atom_orbit_begin"
79+
///called when an atom stops orbiting another atom: (atom)
80+
#define COMSIG_ATOM_ORBIT_STOP "atom_orbit_stop"
81+
///from base of atom/set_opacity(): (new_opacity)
82+
#define COMSIG_ATOM_SET_OPACITY "atom_set_opacity"
83+
///from base of atom/hitby(atom/movable/AM, skipcatch, hitpush, blocked, datum/thrownthing/throwingdatum)
84+
#define COMSIG_ATOM_HITBY "atom_hitby"
85+
///when an atom starts playing a song datum (datum/song)
86+
#define COMSIG_ATOM_STARTING_INSTRUMENT "atom_starting_instrument"
87+
88+
///When the transform or an atom is varedited through vv topic.
89+
#define COMSIG_ATOM_VV_MODIFY_TRANSFORM "atom_vv_modify_transform"
90+
91+
/// generally called before temporary non-parallel animate()s on the atom (animation_duration)
92+
#define COMSIG_ATOM_TEMPORARY_ANIMATION_START "atom_temp_animate_start"
93+
94+
/// from internal loop in /atom/proc/propagate_radiation_pulse: (atom/pulse_source)
95+
#define COMSIG_ATOM_PROPAGATE_RAD_PULSE "atom_propagate_radiation_pulse"
96+
/// from cosmetic items to restyle certain mobs, objects or organs: (atom/source, mob/living/trimmer, atom/movable/original_target, body_zone, restyle_type, style_speed)
97+
#define COMSIG_ATOM_RESTYLE "atom_restyle"
98+
99+
///! from proc/get_rad_contents(): ()
100+
#define COMSIG_ATOM_RAD_PROBE "atom_rad_probe"
101+
#define COMPONENT_BLOCK_RADIATION 1
102+
///! from base of datum/radiation_wave/radiate(): (strength)
103+
#define COMSIG_ATOM_RAD_CONTAMINATING "atom_rad_contam"
104+
#define COMPONENT_BLOCK_CONTAMINATION 1
105+
///! from base of datum/radiation_wave/check_obstructions(): (datum/radiation_wave, width)
106+
#define COMSIG_ATOM_RAD_WAVE_PASSING "atom_rad_wave_pass"
107+
#define COMPONENT_RAD_WAVE_HANDLED 1
Collapse file
+26Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Atom mouse signals. Format:
2+
// When the signal is called: (signal arguments)
3+
// All signals send the source datum of the signal as the first argument
4+
5+
///from base of atom/Click(): (location, control, params, mob/user)
6+
#define COMSIG_CLICK "atom_click"
7+
///from base of atom/ShiftClick(): (/mob)
8+
#define COMSIG_CLICK_SHIFT "shift_click"
9+
#define COMPONENT_ALLOW_EXAMINATE (1<<0) //Allows the user to examinate regardless of client.eye.
10+
///from base of atom/CtrlClickOn(): (/mob)
11+
#define COMSIG_CLICK_CTRL "ctrl_click"
12+
///from base of atom/AltClick(): (/mob)
13+
#define COMSIG_CLICK_ALT "alt_click"
14+
#define COMPONENT_CANCEL_CLICK_ALT (1<<0)
15+
///from base of atom/alt_click_secondary(): (/mob)
16+
#define COMSIG_CLICK_ALT_SECONDARY "alt_click_secondary"
17+
#define COMPONENT_CANCEL_CLICK_ALT_SECONDARY (1<<0)
18+
///from base of atom/CtrlShiftClick(/mob)
19+
#define COMSIG_CLICK_CTRL_SHIFT "ctrl_shift_click"
20+
///from base of atom/MouseDrop(): (/atom/over, /mob/user)
21+
#define COMSIG_MOUSEDROP_ONTO "mousedrop_onto"
22+
#define COMPONENT_NO_MOUSEDROP (1<<0)
23+
///from base of atom/MouseDrop_T: (/atom/from, /mob/user)
24+
#define COMSIG_MOUSEDROPPED_ONTO "mousedropped_onto"
25+
///from base of mob/MouseWheelOn(): (/atom, delta_x, delta_y, params)
26+
#define COMSIG_MOUSE_SCROLL_ON "mousescroll_on"

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.