mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-07-10 15:36:47 +01:00
fe4f84703c
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 |
40 lines
2.7 KiB
Plaintext
40 lines
2.7 KiB
Plaintext
#define COMSIG_BASENAME_RENAME "base_name_rename"
|
|
#define COMSIG_BASENAME_SETNAME "base_name_setname"
|
|
#define ARMED_COMBAT_SKILL_COMPONENT /datum/component/skill/armed_combat
|
|
#define FIREARMS_SKILL_COMPONENT /datum/component/skill/firearms
|
|
#define UNARMED_COMBAT_SKILL_COMPONENT /datum/component/skill/unarmed_combat
|
|
#define PILOT_MECHS_SKILL_COMPONENT /datum/component/skill/pilot_mechs
|
|
#define PILOT_SPACECRAFT_SKILL_COMPONENT /datum/component/skill/pilot_spacecraft
|
|
#define ROBOTICS_SKILL_COMPONENT /datum/component/skill/robotics
|
|
#define ARCHAOLOGY_SKILL_COMPONENT /datum/component/skill/archaology
|
|
#define RESEARCH_SKILL_COMPONENT /datum/component/skill/research
|
|
#define XENOBIOLOGY_SKILL_COMPONENT /datum/component/skill/xenobiology
|
|
#define XENOBOTANY_SKILL_COMPONENT /datum/component/skill/xenobotany
|
|
#define BARTENDING_SKILL_COMPONENT /datum/component/skill/bartending
|
|
#define COOKING_SKILL_COMPONENT /datum/component/skill/cooking
|
|
#define ENTERTAINING_SKILL_COMPONENT /datum/component/skill/entertaining
|
|
#define GARDENING_SKILL_COMPONENT /datum/component/skill/gardening
|
|
#define MEDICINE_SKILL_COMPONENT /datum/component/skill/medicine
|
|
#define SKILL_COMPONENT /datum/component/skill
|
|
#define MORALE_COMPONENT /datum/component/morale
|
|
#define ELECTRICAL_ENGINEERING_SKILL_COMPONENT /datum/component/skill/electrical_engineering
|
|
#define MECHANICAL_ENGINEERING_SKILL_COMPONENT /datum/component/skill/mechanical_engineering
|
|
#define ATMOSPHERICS_SYSTEMS_SKILL_COMPONENT /datum/component/skill/atmospherics_systems
|
|
#define REACTOR_SYSTEMS_SKILL_COMPONENT /datum/component/skill/reactor_systems
|
|
#define LEADERSHIP_SKILL_COMPONENT /datum/component/skill/leadership
|
|
#define ANATOMY_SKILL_COMPONENT /datum/component/skill/anatomy
|
|
#define FORENSICS_SKILL_COMPONENT /datum/component/skill/forensics
|
|
#define PHARMACOLOGY_SKILL_COMPONENT /datum/component/skill/pharmacology
|
|
#define SURGERY_SKILL_COMPONENT /datum/component/skill/surgery
|
|
#define TOOL_COMPONENT /datum/component/tool_quality_container
|
|
#define CAROUSING_SKILL_COMPONENT /datum/component/skill/carousing
|
|
#define TENACITY_SKILL_COMPONENT /datum/component/skill/tenacity
|
|
#define MINISTRY_SKILL_COMPONENT /datum/component/skill/ministry
|
|
|
|
/**
|
|
* Trinary-Boolean helper that either returns null, or the skill level of a given skill component(which can be zero).
|
|
* It will ALWAYS be null if you try to use this to check for something that isn't a skill component, so just don't. Refer to the list above this function to see what your options are.
|
|
* Therefore, merely checking if (!this) is not sufficient to use this function, and instead you should be using isnull() on it to determine whether or not the skill exists.
|
|
*/
|
|
#define GET_SKILL_LEVEL(user, comp) astype(user.GetComponent(comp), SKILL_COMPONENT)?.skill_level
|