mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-20 03:19:58 +01:00
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 |
143 lines
5.2 KiB
Plaintext
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"
|