https://www.youtube.com/watch?v=9mPvZ96pHJI
A pull request commissioned by the Synthetic Lore Team to
comprehensively rework synthetics (read: IPCs) and how they work in
Aurora. The objective is to make IPCs as unique as possible from humans,
upgrading the robotic feel and atmosphere, while also preserving a good
sense of balance in-game.
Key features:
- A comprehensive expansion of synthetic organs, all of which now
fulfill a purpose: hydraulics, cooling units, power systems, actuators,
diagnostics units.
- Customizable organs with benefits and drawbacks, such as with cooling
units and power systems.
- Unique ways to repair the organs and more involved steps.
- Unique damage mechanics - every organ has wiring and electronics which
affect its functioning, and they are defended by plating which provides
natural armour.
- Improved and immersive diagnostics.
- Unique features, benefits, and drawbacks for every IPC frame.
- A rework of the positronic brain, which can be either destroyed or
shut down, alongside effects caused by low integrity.
- A rework of how EMPs affect IPC organs.
- Non-binary damage states for each organ.
To-do:
- [x] Finish the unique features for each frame.
- [x] Look into if mechanical synthskin is possible.
- [x] Power system.
- [x] Posibrain mechanics.
- [ ] Passive cooling expansion.
- [x] EMP mechanics.
- [x] Repair mechanics.
- [x] Mob weight mechanics.
- [ ] Gurney for heavy mobs.
- [x] New augments.
- [ ] IPC tag scanning and flashing.
---------
Signed-off-by: Werner <1331699+Arrow768@users.noreply.github.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: Geeves <22774890+Geevies@users.noreply.github.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
Added armor defines
Converted raw strings use to defines
Added UT test to ensure people set the armor var correctly (to a list)
No player facing changes
Refactored mousedrag procs, added signals, some safeguards, did some
cleanups around, renamed them to make a little more sense. Mostly put in
line with TG's code.
Fast clicking and releasing with a drag, depending on the grace period
and how fast it is done, can be counted as clicks, to aid in combat
scenarios where you spamclick.
Fixes https://github.com/Aurorastation/Aurora.3/issues/20039
Power cells can no longer be put into exosuits, this fixes the oversight
where someone could install a power cell anyways, which results in it
becoming useable when removed.
Description of chassis updated to make it clear you need a power core
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
* Added power cores, a type of large battery cell that get used by
exosuits. The nuclear and phoron variants are self-charging.
* Combat mechs now start with nuclear power cores, allowing them to
sustain themselves indefinitely, so long as they stay out of the action
for a bit.
* Removed basic power cells from the mechfab, replaced with the mech
powercores.
* Mech cell statuses now instantly update as soon as the cell charges or
discharges.
* Added a stack of 10 uranium to the machinist's workshop, which can
print two nuclear power cores.
Cleaned up the examination code a bit, added signal for atom
examination, DMDoc'd, SDMM headers.
Refactored mech missing parts code to be included in the examination.
Moved atom examine code to a separate file.
Unified most of the procs into one definition, so there are no duplicate
around the codebase.
Marked some of the above as overridable if a good enough case can be
made for them (eg. external dependency or unlikely to be used).
Mech ballistic and laser armor has been buffed, allowing them to function for longer in firefights. Combat armor melee armor has also been buffed.
Fixed analyzing mechs not giving the correct integrity values.
Mech UIs can no longer be moved via click-drag.
The lower left mech UI has received a make-over.
You can now use a cyborg analyzer on a mech to get its diagnostics report.
The armour and armor again strikes:
Apparently original Mech port PR has overridden borg's armor definition and was using it. This fixes it by making mech's armor a child of borg's armor instead.
renames borg's armour to armor references.
Mech's melee damage has been increased. It depends on manipulator type. Light: 15, Regular: 20, Combat 30, Heavy: 50. Fixes#7665
Adds missed check in mech's destroy proc
Spent lots of time and lots of changes to fix issues:
bugfix: "Mechs no longer runtime during destroy call."
bugfix: "Turrets and NPCS no longer target empty mechs."
bugfix: "Mechs no longer runtime during armor check. Mechs now use their armor and values for it. Before it would ignore them entirely and deal 100% damage."
Added ismech() define and also QDEL_NULL_LIST() define from TG. Matt's suggestion
renamed any armour references in mech code to armor to keep it consistent