mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-18 11:30:35 +01:00
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 |
This commit is contained in:
@@ -14,6 +14,9 @@
|
||||
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_PSI_CHECK_SENSITIVITY, PROC_REF(modify_sensitivity), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_GET_MINISTRY_MODIFIERS, PROC_REF(modify_ministry_empathy), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_RECEIVE_MINISTRY_MODIFIERS, PROC_REF(modify_ministry_receiving), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_GET_LEADERSHIP_MODIFIERS, PROC_REF(modify_leadership_empathy), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/replaced()
|
||||
. = ..()
|
||||
@@ -22,6 +25,9 @@
|
||||
|
||||
RegisterSignal(owner, COMSIG_PSI_MIND_POWER, PROC_REF(cancel_power), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_PSI_CHECK_SENSITIVITY, PROC_REF(modify_sensitivity), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_GET_MINISTRY_MODIFIERS, PROC_REF(modify_ministry_empathy), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_RECEIVE_MINISTRY_MODIFIERS, PROC_REF(modify_ministry_receiving), override = TRUE)
|
||||
RegisterSignal(owner, COMSIG_GET_LEADERSHIP_MODIFIERS, PROC_REF(modify_leadership_empathy), override = TRUE)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/removed()
|
||||
if(!owner)
|
||||
@@ -29,9 +35,12 @@
|
||||
|
||||
UnregisterSignal(owner, COMSIG_PSI_MIND_POWER)
|
||||
UnregisterSignal(owner, COMSIG_PSI_CHECK_SENSITIVITY)
|
||||
UnregisterSignal(owner, COMSIG_GET_MINISTRY_MODIFIERS)
|
||||
UnregisterSignal(owner, COMSIG_RECEIVE_MINISTRY_MODIFIERS)
|
||||
UnregisterSignal(owner, COMSIG_GET_LEADERSHIP_MODIFIERS)
|
||||
return ..()
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/proc/cancel_power(var/implantee, var/caster, var/cancelled, var/cancel_return, var/wide_field)
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/proc/cancel_power(implantee, caster, cancelled, cancel_return, wide_field)
|
||||
SIGNAL_HANDLER
|
||||
if(is_broken())
|
||||
return
|
||||
@@ -42,13 +51,37 @@
|
||||
|
||||
to_chat(implantee, SPAN_DANGER("Your mind wriggles as it repulses an outside thought."))
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/proc/modify_sensitivity(var/implantee, var/effective_sensitivity)
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/proc/modify_sensitivity(implantee, effective_sensitivity)
|
||||
SIGNAL_HANDLER
|
||||
if(is_broken())
|
||||
return
|
||||
|
||||
*effective_sensitivity += sensitivity_modifier
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/proc/modify_ministry_empathy(minister, ministree, moodlet_value)
|
||||
SIGNAL_HANDLER
|
||||
if (!(*moodlet_value))
|
||||
return
|
||||
|
||||
to_chat(minister, SPAN_BAD("Why should you care how [ministree] feels?"))
|
||||
*moodlet_value = 0
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/proc/modify_ministry_receiving(ministree, minister, moodlet_value)
|
||||
SIGNAL_HANDLER
|
||||
if (!(*moodlet_value))
|
||||
return
|
||||
|
||||
to_chat(ministree, SPAN_BAD("You feel nothing from [minister]'s words."))
|
||||
*moodlet_value = 0
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker/proc/modify_leadership_empathy(leader, moodlet_value)
|
||||
SIGNAL_HANDLER
|
||||
if (!(*moodlet_value))
|
||||
return
|
||||
|
||||
to_chat(leader, SPAN_BAD("Why should you care about how others feel?"))
|
||||
*moodlet_value = 0
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker_lethal
|
||||
name = "lethal mind blanker"
|
||||
desc = "A small, discrete organ attached near the base of the brainstem." \
|
||||
@@ -82,7 +115,7 @@
|
||||
UnregisterSignal(owner, COMSIG_PSI_MIND_POWER)
|
||||
UnregisterSignal(owner, COMSIG_PSI_CHECK_SENSITIVITY)
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker_lethal/proc/cancel_power_lethal(var/mob/living/carbon/human/implantee, var/caster, var/cancelled, var/cancel_return, var/wide_field)
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker_lethal/proc/cancel_power_lethal(mob/living/carbon/human/implantee, caster, cancelled, cancel_return, wide_field)
|
||||
SIGNAL_HANDLER
|
||||
if(is_broken())
|
||||
return
|
||||
@@ -98,7 +131,7 @@
|
||||
victim.confused += 20
|
||||
*cancel_return = SPAN_DANGER("Agony lances through my brain as their mind clamps down upon me!")
|
||||
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker_lethal/proc/modify_sensitivity(var/implantee, var/effective_sensitivity)
|
||||
/obj/item/organ/internal/augment/bioaug/mind_blanker_lethal/proc/modify_sensitivity(implantee, effective_sensitivity)
|
||||
SIGNAL_HANDLER
|
||||
if(is_broken())
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user