Files
Aurora.3/code/__DEFINES/dcs/signals.dm
T
VMSolidusandGitHub fe4f84703c Morale Modifying Skills (#22508)
This PR adds a new Everyday skill called Ministry, which is targeted
both for the Chaplain role, as well as for characters with Theological
training in general. It provides a character with a unique action called
"Offer Blessing", appearing in the action bar on the top-left corner of
the screen. When used on an adjacent character, it offers a series of RP
prompts for the user to write a blessing of their choice to said
character.

If the blessing is accepted and received, the recipient gains a small
Morale Modifier that scales with the user's Ministry skill ranks.
The morale modifier is also increased if the two characters involved
share a religion in common.

<img width="1907" height="971" alt="image"
src="https://github.com/user-attachments/assets/fef51432-2206-4513-a734-fe62a3acfc6c"
/>

<img width="357" height="94" alt="image"
src="https://github.com/user-attachments/assets/2f344d04-10c9-4fbc-9183-3471c4b51e7c"
/>

<img width="322" height="148" alt="image"
src="https://github.com/user-attachments/assets/fb5cc21f-60bb-4c9f-ba5b-45f6e3ec94ff"
/>

<img width="703" height="34" alt="image"
src="https://github.com/user-attachments/assets/8df6b6c3-8ea7-4f64-b8c4-a439ccadc076"
/>

<img width="361" height="83" alt="image"
src="https://github.com/user-attachments/assets/fe7b6d32-7cb5-4e60-89d8-38353981ffb2"
/>

There is also now a similar skill for the combat category, called
Leadership.

<img width="1268" height="987" alt="image"
src="https://github.com/user-attachments/assets/44448560-1ff7-4bae-966b-1b8f7481005d"
/>

<img width="912" height="67" alt="image"
src="https://github.com/user-attachments/assets/30531b15-0aa3-4ab6-b75c-3af26f8b5bdd"
/>


I have fully tested this PR to its completion.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:

| Path | Original Author | License |
| icons/hud/action_buttons/skills.dmi | gabrielgabey (Discord) |
CC-BY-SA-3.0 |
2026-05-27 15:38:57 +00:00

143 lines
5.2 KiB
Plaintext

// All signals. Format:
// When the signal is called: (signal arguments)
// All signals send the source datum of the signal as the first argument
// global signals
// These are signals which can be listened to by any component on any parent
// when we expand maxz
#define COMSIG_GLOB_NEW_Z "!new_z"
// when we expand maxx and maxy (do we ever do this)
#define COMSIG_GLOB_EXPANDED_WORLD_BOUNDS "!expanded_world_bounds"
//////////////////////////////////////////////////////////////////
// /atom signals
/// Called from atom/Initialize() of target: (atom/target)
#define COMSIG_ATOM_INITIALIZED_ON "atom_initialized_on"
// /area signals
#define COMSIG_AREA_FIRE_ALARM "fire_alarm"
// /turf signals
/// From base of turf/ChangeTurf(): (path)
#define COMSIG_TURF_CHANGE "turf_change"
// /atom/movable signals
#define COMSIG_MOVABLE_HEAR "movable_hear"
#define HEARING_MESSAGE 1
#define HEARING_SPEAKER 2
#define HEARING_LANGUAGE 3
#define HEARING_RAW_MESSAGE 4
// /mob signals
#define COMSIG_MOB_EXAMINATE "mob_examinate"
#define COMSIG_MOB_FACEDIR "mob_facedir"
#define COMSIG_MOB_POINT "mob_point"
#define COMSIG_MOB_ZONE_SEL_CHANGE "mob_zone_sel_change"
///from base of /mob/Login(): ()
#define COMSIG_MOB_LOGIN "mob_login"
/// Sent at the end of /mob/LateLogin() after the client is fully initialized.
#define COMSIG_MOB_AFTER_LOGIN "mob_after_login"
///from base of /mob/Logout(): ()
#define COMSIG_MOB_LOGOUT "mob_logout"
/// from mob/get_status_tab_items(): (list/items)
#define COMSIG_MOB_GET_STATUS_TAB_ITEMS "mob_get_status_tab_items"
///from /mob/living/carbon/human/proc/force_say(): ()
#define COMSIG_HUMAN_FORCESAY "human_forcesay"
///Mob is trying to open the wires of a target [/atom], from /datum/wires/interactable(): (atom/target)
#define COMSIG_TRY_WIRES_INTERACT "try_wires_interact"
#define COMPONENT_CANT_INTERACT_WIRES (1<<0)
/// Sent from /proc/do_after if someone starts a do_after action bar.
#define COMSIG_DO_AFTER_BEGAN "mob_do_after_began"
/// Sent from /proc/do_after once a do_after action completes, whether via the bar filling or via interruption.
#define COMSIG_DO_AFTER_ENDED "mob_do_after_ended"
// /obj signals
/// when a hood is unequipped
#define COMSIG_ITEM_REMOVE "item_remove"
/// checks an item's state
#define COMSIG_ITEM_STATE_CHECK "state_check"
/// updates an item between several states
#define COMSIG_ITEM_UPDATE_STATE "update_state"
/// updates sprites
#define COMSIG_ITEM_ICON_UPDATE "icon_update"
/// when a gun mag is emptied
#define COMSIG_EMPTIED_MAGAZINE "emptied_magazine"
// tgui signals
#define COMSIG_TGUI_CLOSE "tgui_close"
// Psionics signals
/// Raised on the target of a "mind-affecting" psionic power.
#define COMSIG_PSI_MIND_POWER "psi_block_check"
/// Raised on a mob to check it's psi-sensitivity rating. This is not the same thing as checking if someone is psionic, but psionic people have an innate bonus to the check.
#define COMSIG_PSI_CHECK_SENSITIVITY "psi_check_sensitivity"
// directional input signals.
// TODO: Please rework these if you are porting actual keybindings.
/// Raised on a mob when receiving a "Northeast" input key, typically the 'e' key.
#define COMSIG_INPUT_KEY_QUICK_EQUIP "quick-equip_key_pressed"
/// Raised on a mob when receiving a "Northwest" input key, typically the 'q' key.
#define COMSIG_INPUT_KEY_DROP "drop_key_pressed"
/*******Component Specific Signals*******/
// /obj/item/gun signals
#define COMSIG_GUN_TOGGLE_FIRING_MODE "gun_toggle_firing_mode"
#define COMSIG_BEFORE_GUN_FIRE "before_gun_fire"
// Mech signals
#define COMSIG_MECH_MOVE_WASD "mech_move_wasd"
#define COMSIG_MECH_MOVE_STRAFE "mech_move_strafe"
#define COMSIG_MECH_TOGGLE_POWER "mech_toggle_power"
// Unarmed Combat Signals
#define COMSIG_UNARMED_HARM_ATTACKER "unarmed_harm_attacker"
#define COMSIG_UNARMED_HARM_DEFENDER "unarmed_harm_defender"
#define COMSIG_UNARMED_DISARM_ATTACKER "unarmed_disarm_attacker"
#define COMSIG_UNARMED_DISARM_DEFENDER "unarmed_disarm_defender"
// Bartending Skill Signals
#define COMSIG_CONTAINER_DRANK "container_drank"
// Hydroponics Signals
/// Signal raised against the harvester of a plant during the Harvest() proc.
#define COMSIG_PLANT_HARVESTER "plant_harvester"
/// Signal raised against the plant being harvested during the Harvest() proc.
#define COMSIG_PLANT_HARVESTED "plant_harvested"
// Armed Combat Signals
#define COMSIG_APPLY_HIT_EFFECT "apply_hit_effect"
// Various computer signals for interrupting via skill or other effects.
#define COMSIG_USE_REACTOR_COMPUTER "use_reactor_computer"
#define COMSIG_USE_MECH_FAB "use_mech_fab"
// Surgery Signals
/// Signal raised against the surgeon attempting to perform a surgery to query their components for any rate mods.
#define COMSIG_GET_SURGERY_SUCCESS_MODIFIERS "get_surgery_success_modifiers"
/// Signal raised against a character attempting to give a ministry moodlet to someone.
#define COMSIG_GET_MINISTRY_MODIFIERS "get_ministry_modifiers"
/// Signal raised against the recipient of the Ministry skill action, allowing effects to interrupt the received moodlet.
#define COMSIG_RECEIVE_MINISTRY_MODIFIERS "receive_ministry_modifiers"
/// Signal raised against a character attempting to deliver a speech.
#define COMSIG_GET_LEADERSHIP_MODIFIERS "get_leadership_modifiers"