Files
VMSolidusandGitHub 27f727b71f Mechanical Engineering Cross Role Interactions (#22880)
<img width="606" height="144" alt="image"
src="https://github.com/user-attachments/assets/f1c88863-37be-41e0-be79-27fca980a3f3"
/>

This PR adds new "Cross-Role Interactions" for the Mechanical
Engineering skill, with two specific kinds that are aimed at a variety
of different roles.

1. **Bonus damage vs. structures**: Having ranks in MechE makes you deal
bonus damage when melee attacking structures like Airlocks and Windows.
This makes it a desireable niche pick for any kind of job that can see
themself wanting to take a breaching to a room's entrance! For example,
paramedics, shaft miners, and security can all make use of it on
occasion.
2. **Mech Repair Speed**: This one is aimed specifically at Machinists.
Repairing mechs with a welder is no longer instantaneous (That was very
powergamey in practice for 'battle machinists'). Instead it has a repair
speed (and repair amount) that scales with your Mechanical Engineering
skill.

Why MechE and not Robotics? To encourage further "Machinist
Specialization". Machinist players were already pretty naturally
inclined to position their character as either being a Robotics
Specialist, or a Mechatronics Specialist, by sheer virtue of there being
two machinist slots and two noticeably distinctive roles. This
separation of skill interactions is there to further encourage this
degree of separation between machinist skillsets.

As a side note, just so I'm not thoroughly pissing off every machinist
main. As a quality of life improvement, I've made it so that attempting
to repair a mech with a welder will loop the repair until completed or
interrupted.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
2026-08-16 16:13:43 +00:00

104 lines
6.9 KiB
Plaintext

/singleton/skill/electrical_engineering
name = "Electrical Engineering"
description = "Electrical engineering covers usage and maintenance of various electrical systems, such as wiring."
maximum_level = SKILL_LEVEL_PROFESSIONAL
uneducated_skill_cap = SKILL_LEVEL_FAMILIAR
category = /singleton/skill_category/occupational
subcategory = SKILL_SUBCATEGORY_ENGINEERING
required = TRUE
component_type = ELECTRICAL_ENGINEERING_SKILL_COMPONENT
skill_level_descriptions = alist(
SKILL_LEVEL_UNFAMILIAR = "You have little to no experience working with electrical systems.",
SKILL_LEVEL_FAMILIAR = "You have some experience working with electrical systems, though are not formally trained.<br>" \
+ " - You can use a power cell to attempt emergency power bypasses on piloting consoles when they're unpowered.<br>" \
+ " - You can recognize what a few wires do in electrical devices by sight.",
SKILL_LEVEL_TRAINED = "You have formal training in electrical engineering concepts, equivalent to a Bachelor's Degree.<br>" \
+ " - You can use a power cell to attempt emergency power bypasses on piloting consoles when they're unpowered.<br>" \
+ " - You can recognize what several wires do in electrical devices by sight.",
SKILL_LEVEL_PROFESSIONAL = "You have many years of training in electrical related Engineering concepts, equivalent to a Master's Degree or better.<br>" \
+ " - You can recognize what many wires do in electrical devices by sight." \
)
/singleton/skill/mechanical_engineering
name = "Mechanical Engineering"
description = "Mechanical engineering has to do with general construction of objects, walls, windows, and so on. It is also necessary for the usage of heavy machinery \
such as emitters. This skill is also commonly used for crafting items out of raw materials, and heavily governs the quality of said objects. \
It also modifies the damage you deal when attacking structures such as airlocks and windows."
maximum_level = SKILL_LEVEL_PROFESSIONAL
uneducated_skill_cap = SKILL_LEVEL_FAMILIAR
category = /singleton/skill_category/occupational
subcategory = SKILL_SUBCATEGORY_ENGINEERING
required = TRUE
component_type = MECHANICAL_ENGINEERING_SKILL_COMPONENT
skill_level_descriptions = alist(
SKILL_LEVEL_UNFAMILIAR = "You have little to no experience working with physical machinery.<br>" \
+ " - Items you craft will typically be of low quality.<br>" \
+ " - You take twice as long to craft anything.<br>" \
+ " - You cannot craft any object that requires this skill.<br>" \
+ " - You cannot interact with most Engineering machinery.",
SKILL_LEVEL_FAMILIAR = "You have some experience working with physical machinery, though are not formally trained.<br>" \
+ " - Items you craft will be of slightly lower than average quality.<br>" \
+ " - You take 50% longer to craft anything.<br>" \
+ " - You can interact with some Engineering-related machinery.<br>" \
+ " - You deal 10% more damage when attacking structures such as airlocks, windows, and machinery.<br>" \
+ " - You can repair exosuits 25% faster<br>" \
+ " - Each use of a welder on an exosuit repairs 5 more damage.<br>" \
+ " - You can recognize what a few wires do in mechanical devices by sight.",
SKILL_LEVEL_TRAINED = "You have formal training in general Engineering concepts, equivalent to a Bachelor's Degree. <br>" \
+ " - You can craft items at the standard speed.<br>" \
+ " - Items you craft are generally at average quality.<br>" \
+ " - You can interact with most if not all Engineering equipment.<br>" \
+ " - You deal 15% more damage when attacking structures such as airlocks, windows, and machinery.<br>" \
+ " - You can repair exosuits 50% faster<br>" \
+ " - Each use of a welder on an exosuit repairs 10 more damage.<br>" \
+ " - You can recognize what several wires do in mechanical devices by sight.",
SKILL_LEVEL_PROFESSIONAL = "You have many years of training in general Engineering concepts, equivalent to a Master's Degree or better.<br>" \
+ " - You can craft items 50% faster.<br>" \
+ " - Items you craft are of much higher quality on average.<br>" \
+ " - You deal 20% more damage when attacking structures such as airlocks, windows, and machinery.<br>" \
+ " - You can repair exosuits 75% faster<br>" \
+ " - Each use of a welder on an exosuit repairs 15 more damage.<br>" \
+ " - You can recognize what many wires do in mechanical devices by sight.",
)
/singleton/skill/atmospherics_systems
name = "Atmospherics Systems"
description = "Not currently implemented."
maximum_level = SKILL_LEVEL_PROFESSIONAL
uneducated_skill_cap = SKILL_LEVEL_FAMILIAR
category = /singleton/skill_category/occupational
subcategory = SKILL_SUBCATEGORY_ENGINEERING
required = TRUE
component_type = ATMOSPHERICS_SYSTEMS_SKILL_COMPONENT
skill_level_descriptions = alist(
SKILL_LEVEL_UNFAMILIAR = "You have little to no experience working with atmospherics systems.<br>" \
+ " - No mechanical changes implemented at this skill level.",
SKILL_LEVEL_FAMILIAR = "You have some experience working with atmospherics systems, though are not formally trained.<br>" \
+ " - You can recognize what a few wires do in atmospherics devices by sight.",
SKILL_LEVEL_TRAINED = "You have formal training in general Engineering concepts, equivalent to a Bachelor's Degree. <br>" \
+ " - You can recognize what some wires do in atmospherics devices by sight.",
SKILL_LEVEL_PROFESSIONAL = "You have many years of training in general Engineering concepts, equivalent to a Master's Degree or better.<br>" \
+ " - You can recognize what many wires do in atmospherics devices by sight." \
)
/singleton/skill/reactor_systems
name = "Reactor Systems"
description = "Reactor systems envelops anything used for reactors, such as the computers and gyrotrons for the INDRA. It is also necessary to correctly interpret information \
from reactor monitoring programs."
maximum_level = SKILL_LEVEL_PROFESSIONAL
uneducated_skill_cap = SKILL_LEVEL_FAMILIAR
category = /singleton/skill_category/occupational
subcategory = SKILL_SUBCATEGORY_ENGINEERING
required = TRUE
component_type = REACTOR_SYSTEMS_SKILL_COMPONENT
skill_level_descriptions = alist(
SKILL_LEVEL_UNFAMILIAR = "You have little to no experience working with reactor systems.<br>" \
+ " - You cannot interact with Reactor computers such as the INDRA controllers.",
SKILL_LEVEL_FAMILIAR = "You have some experience working with reactor systems, though are not formally trained.<br>" \
+ " - You cannot interact with Reactor computers such as the INDRA controller.",
SKILL_LEVEL_TRAINED = "You have formal training in general Engineering concepts, equivalent to a Bachelor's Degree. <br>" \
+ " - This is the minimum skill level required to operate the INDRA.",
SKILL_LEVEL_PROFESSIONAL = "You have many years of training in general Engineering concepts, equivalent to a Master's Degree or better.<br>" \
+ " - Not currently implemented differently from Trained." \
)