Many, many, many items have inhand sprites in their .dmis but for
whatever reasons do not display them in-game. This PR:
1. Updates many item definitions to point to their already-existing
inhands correctly. This consists largely of held tools, but also gas
tanks and jetpacks mounted in the suit storage slot.
2. Adds a few codersprites made by me for objects with either missing
inhands or poorly matching mishands (IE, the tape recorder, which has a
black case, reused the white inhand sprites of the health analyzer). The
new sprites are modified or recolored variations of other inhand sprites
from our repo, except for circuitboards which are new.
<img width="444" height="400" alt="image"
src="https://github.com/user-attachments/assets/7f107b9a-fe24-4e31-8f16-4d34768ee117"
/>
3. Adds inhand sprites for Inflatables and Inflatable Boxes made by
Tomixcomics.
<img width="424" height="101" alt="image"
src="https://github.com/user-attachments/assets/434107c4-8577-49a2-a58e-d6b014c03933"
/>
4. Ports inhand sprites for the Hydraulic Rescue Tool from tg's Jaws of
Life.
<img width="224" height="94" alt="Screenshot 2026-02-07 172931"
src="https://github.com/user-attachments/assets/070c7956-f6a8-4fb5-870f-10c64afcc8b3"
/>
5. Some additional cleanup while in the area. The 'analyzer' has been
renamed the 'gas analyzer' to be consistent with the other analyzer
objects, standardized icon_state naming conventions where I saw
oddballs, updated code docs to use DMDocs when in the area, etc.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/hydraulic_rescue_tool.dmi | [SomeAngryMiner (bee
station)](https://github.com/BeeStation/BeeStation-Hornet/pull/2487),
[maxymax
(/tg/station)](https://github.com/tgstation/tgstation/pull/58616) |
CC-BY-SA |
| icons/obj/item/inflatables.dmi |
[Tomixcomics](https://github.com/tomixcomics) | CC-BY-SA |
The next step in the Psi Reworks is here, this time adding all of the
remaining sources and applications of Psi-sensitivity and Psi-protection
that were on my To-Do list. Aside from a variety of tweaks and bugfixes
to powers, the most player-facing addition is the new Psi-sensitivity
related traits, which are High Psi-sensitivity, and Low Psi-sensitivity.
These traits modify the character's psi-sensitivity, which messes with
their interactions with psionics in a variety of ways.
All of these new sources and interactions with psionics are handled
entirely through components, which operate on the previously added
COMSIG_PSI signals.
Check the changelog file for more specific details on what all was
fixed. I've fixed quite a lot of bugs and issues with the various psi
powers.
I have actually tested this PR and verified that it works as advertised.
<img width="1902" height="1015" alt="image"
src="https://github.com/user-attachments/assets/e922593c-0595-4b63-bee4-36080d9cb8b4"
/>
This has zero reason to exist in our code base. We have no procs or
variables tied to this. I removed it to make future modifications
cleaner.
---------
Signed-off-by: Cody Brittain <1779662+Generalcamo@users.noreply.github.com>
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.
This is all back-end code, no new features or functionality from this.
V2 of [previous music playing
PR](https://github.com/Aurorastation/Aurora.3/pull/21466). TLDR no
longer uses the connect_range component for implementation because it
turned out a bit too inflexible for overlapping music players.
Removes a NanoUI template for the [TGUI
update](https://github.com/Aurorastation/Aurora.3/pull/21046).
New changelog:
- refactor: "Ported Jukebox's NanoUI interface to TGUI."
- refactor: "Ported Jukebox audio playing functionality to a component."
- refactor: "Sound keys refactored from singletons to datums, along with
larger breakout of sound.dm to allow for easier SFX updates in future."
- code_imp: "Expanded track datums to include track lengths."
- code_imp: "Reorganized music file folders for more intuitive access."
- rscadd: "Earphone status feedback text now includes track length."
- rscadd: "Added autoplay functionality to earphones."
- bugfix: "Fixed earphones' 'Previous Song' verb not sending you to the
end of the playlist when used while the first track is selected."
- bugfix: "Fixed gain adjustment for 'Konyang-1' (-23 dB -> standard
-9.8 dB)."
- bugfix: "Fixed y-offset of audioconsole-running overlay animation to
line up with the actual screen."
---------
Co-authored-by: VMSolidus <evilexecutive@gmail.com>
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>
<img width="1701" height="292" alt="image"
src="https://github.com/user-attachments/assets/db1dbc50-1a6a-4549-b9e5-b838ec62f849"
/>
**This is but one of several PRs as part of Project Anabasis, and is a
necessary building-block for a Traits System and a Skills System**
This PR was essentially prompted by recent lore changes to Skrell that
weren't yet existing in the game, so I'm kicking off this as a PR to
start a series of more meaningful psionic reworks. With a focus on
Components and Signals as a way of dramatically increasing the systems
interactivity of psionics. With this PR, mobs have an effective
"Psi-Sensitivity" that can be checked by psionic effects, and influence
a wide variety of interactions.
Psi-Sensitivity is calculated based on a Signal interaction, whereby
multiple responding sources have a chance to respond to the signal and
influence the end result of the calculation. For now there still remains
a cutout specifically for owners of a Psi-Complexus(Which is just Skrell
and Antag Psions), who have a bonus to the psi-sensitivity check equal
to their PSI-RATING. That being 1 for Skrell, and 2 for antag psions.
But eventually in the future this should be replaced with a standalone
component separate from the concept of "Sending"
The other common sources of sensitivity currently are the Psionic
Receiver implant, MindShield, and Mind Blanker implants. With Psionic
Receivers giving a bonus to psi-sensitivity, and the latter two giving a
penalty to psi-sensitivity. Both MindShields and Mind Blankers are now
unified in how they interact with psionics, both using the same system
of Signals without a hardcoded check for the mindshield.
As an important distinction to make, Psi-Sensitivity is NOT the same
thing as being Psionic. Actually Psionic characters like Skrell have a
big bonus to their sensitivity. It's more a measurement of how receptive
a character is to Receiving (separate from Sending) psionic influences.
You can actually be capable of using psionic abilities, but have a
sensitivity of 0, effectively meaning such a character can "Send but not
Receive" psi influences.
- [x] I have tested this PR and have verified that it works, you're
welcome.
It turned out these hardsuits had the cost of their roundstart modules
baked into the suits, whereas the machine shop manufactured ones don't
start with such modules, which made them significantly worse than making
literally any other hardsuit. Nobody ever actually had a reason to make
the AMI suit or rescue suit for instance.
So I've tweaked the recipes for the advanced EVA (to reflect that it
doesn't come with a complimentary RCD), rescue suit (to reflect tha it
doesn't come with maneuvering jets and a whole chemical lab), and the
AMI suit to be honest had no business costing phoron (the electronics
already cost phoron). They've all 3 had their other material costs
tweaked in response to fill some new niches. Such as the rescue suit
being the cheapest on steel, but most expensive on aluminium. If you're
pressed for materials, make different suits.
Adds the autopsy scanner to the protolathe. Available at bio tech level
3, which is where we currently start the round, and found udner the
biotech category. The material is matching with other similiar devices.
---------
Signed-off-by: Fyni <itsfyni@gmail.com>
Ship shields currently occupy something like 40% of every machinery
process ticks. Basically generators make a fuckhuge list of all
generated shields (1.5k in the Horizon's case) and then they iterate
over this list every tick strengthening the shields.
The idea in this PR is to shunt shield logic to an abstract datum.
Fields no longer store strength individually; they store damage taken.
They only process once they take damage, they reduce that damage by the
field gain tick value every tick, and then they stop processing when
they no longer need to. Shield strengthening is shunted off to a signal,
so we only need to traverse the big ass list once every round probably.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Destroys a ton of sources of lag:
- /obj/machinery/biogenerator/interact and
/obj/machinery/computer/rdconsole/attack_hand
Both of these call REF(src) constantly on their UI update, which also
happens constantly. Death by a thousand cuts
- /obj/machinery/button/ignition/attack_hand and
/obj/machinery/button/switch/holosign/attack_hand
Sleeps rather than timers, iterating the entire machinery list rather
than just storing the IDs we need at roundstart
- /obj/machinery/telecomms/update_icon and /obj/machinery/meter/process
Calling overlay updates WAY TOO MUCH. UpdateOverlays is a significant
overhead for the server at this point and the two of these combined are
responsible for a little over 20% of updates. They now should only
update overlays when necessary rather than every tick.
- NEW! /obj/machinery/disposal/proc/update and
/obj/machinery/portable_atmospherics/hydroponics/update_icon
These two were also offenders, worse than telecomms but better than
meters. They have also been brought into line.
- /mob/living/carbon/slime
Hard-del'd if grinded into slime extract less than two minutes after
being "born". Fixed by adding TIMER_DELETE_ME flag.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Logistics bounties sometimes asked for a "Heavy Duty Power Cell" which
was an item that was not actually manufacturable by the ship, and could
only be obtained by stealing them from the APCs they spawned in. This PR
adds the ability for protolathes to manufacture them directly, just like
the other upgraded versions of APC power cells.
This PR was requested by the loremaster @Triogenics. According to the
loremaster, all modern electronics in the setting should require a small
amount of elemental phoron for its capacity as a room temperature
superconductor. This is also needed to play into the "Phoron Scarcity"
lore arc.
So this PR does exactly that, making all electronics cost a very small
amount of Phoron to create. Existing machine shop and science stockpiles
of phoron crystals are sufficient to manufacture these for the time
being, though that may not be the case in the future. :)
To keep things logically consistent, I've also made it so that circuit
boards both actually contain the matter used to print them, and can be
recycled to at least partially recover that matter. Have fun breaking
down thousands and thousands of old circuit boards to get a few flakes
of phoron once things start getting bad.
The hazard rig tech levels were lowered, permitting the machinist to
make it without research personnel present. Materials needed are
unchanged. The ballistic protection of it was also buffed to be equal to
the security voidsuit.
The combat rig had new sprites added, allowing taj, unathi and IPC to
also use it.
Done on the request of VeteranGary.
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
| icons/obj/item/clothing/rig/combat.dmi | Noble Row (Aurora Station) |
CC0|
This PR is something me and NobleRow have been cooking behind the scenes
with the goal of adding new Xenoarch content that fits two objectives.
1. Providing cross-department cooperation opportunities (Machinists and
Medical)
2. Making use of content entirely unique to Aurora, such as our recently
refactored organs.
So I've added several new and exciting xenoarch "finds" that relate to
Medical and Machinists, as well as several new parts for Machinists to
work with. On the xenoarch side of things, we have the new "anomalous"
heart and lung items, which you can study by calling over a surgeon to
implant into your free choice of a monkey, or a particularly
enthusiastic human volunteer. There are also two new "anomalous" mech
components, one of them an anomalous drone bay, and the other an
anomalous power core. To study them, call a machinist over and have them
make a mech for you to experiment with.
The new xenoarch "finds" each feature heavily rng stat modifiers that
are unique to the objects in question, and make use of a very large
number of variables that I had previously worked to unhardcode.
I had a batch of sprites done by NobleRow, and I was adding new mech
equipment in this PR, so while we were at it, I've added a new LTL
variant of the mech submachine gun, as well as a new light variant of
the mech-mounted KA, which was highly requested by both miners and
xenoarch players on account of the 9 tile blast radius KA being "Not
always good to have".
All of the sprites in this PR were made by @NobleRow
## About PR
This PR re-sprites and expands notice boards.
With the persistence update I expect an increase in utilizing notice
boards. The current ones are quite old and severely limited by only
allowing five pieces of paper tacked onto them.
So let us change that:
(updated final iteration)
> <img width="1083" height="412" alt="image"
src="https://github.com/user-attachments/assets/112f19fe-2fec-4bb1-b276-138301e7b9c5"
/>
Close up of the glass overlay:
> <img width="370" height="164" alt="image"
src="https://github.com/user-attachments/assets/c8dbde23-7a52-497c-b43a-927598829725"
/>
Regular notice boards now support up to twenty (20) pieces of highly
informative pieces of paper pinned up by the crew.
Command (lockable) notice boards support up to six (6) pieces of very
important information by your beloved departmental heads.
### FAQ
Q: Why is there a discrepancy between the command and regular notice
boards?
A: Command is expected to pin up actually important information. The
incentive is that command is a bit more conscious what they pin in
these, now that they persist through rounds.
Q: Why twenty for the regular board?
A: Super full notice boards are funny. I may add even more, depending on
how long I need to finish the code.
Q: Why is there stuff in the screenshots redacted?
A: It is for a feature for the command notice boards but I am not sure
yet if it is desirable or practical to have.
Q: Why does your code look so bad?
A: Sorry :( I put up the PR so I get help or co-authored by people who
actually know what they are doing.
> [!IMPORTANT]
> The new notice boards have not been mapped in yet! 😃
---------
Signed-off-by: KingOfThePing <43940569+KingOfThePing@users.noreply.github.com>
Co-authored-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
This PR significantly rebalances the construction costs and times of the
"Mech" side of the machine shop in order to break up the "Light mech
hoverthruster meta" that has been severely prevalent. In general steel
usage for many things is going down, in exchange for using aluminium by
the same amount. Lead is being introduced as the material to use for
"Anything that gives you radiation protection", and most hardsuits and
some mech armors now call for its use.
The biggest thing to be rebalanced are the Hoverthrusters. Imagine my
surprise when I discover that not only were the hoverthrusters insanely
cheap, they also had the lowest power draw of any mech chassis in the
game, which meant that if you used them with the self-recharging power
cells, you essentially had infinite power and full flight.
Hoverthrusters of both kinds are being changed to require rare
materials. So I significantly increased the power draw for
hoverthrusters(For god's sake they let the mech fly at high speed,
they're the exact opposite of low power). As a small concession, the
health for the light thrusters is increased slightly.
Finally, to help encourage more experimenting with lesser-used mech
chassis, I removed the tech requirements for the quadruped chassis,
allowing Machinists to experiment with trying out different, "Less
ideal" mech designs.
The one thing I forgot. Agony.
This PR adds in the missing circuit board datums for the falcata
exoskeleton. This is what not having a fully functional dev environment
does to a man.
This PR adds a new tier 1 exoskeleton to the hardsuit designs. I've been
bothered for awhile that there exist security hardsuit modules available
at roundstart, which cannot actually be used without science first
unlocking combat hardsuits, since normal hardsuits cannot use them. So
this PR adds a new exoskeleton(notably not a hardsuit, it offers no
space protection!), which serves to provide a means of putting those
tier 1 security modules on something, without invalidating the later
combat hardsuits(which are all significant upgrades over this).
Many of these lower tier security modules were essentially invalidated
by higher tier sec modules that would get unlocked alongside actual
combat hardsuits.
The falcata exoskeleton has the same armor values as security's heavy
body armor, essentially meaning its primarily only an upgrade over said
armor in the sense that it lets the wearer use the shoulder mounted
taser module.
<img width="993" height="248" alt="image"
src="https://github.com/user-attachments/assets/68418219-b159-4a4d-92d2-5bbc8476c6ce"
/>
<img width="1274" height="316" alt="image"
src="https://github.com/user-attachments/assets/f77d7810-7b0c-4333-8ec8-5f7575fb4c61"
/>
### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| icons/obj/item/clothing/rig/falcata.dmi | noblerow (discord) |
CC-BY-SA-3.0 |
---------
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
This PR adds back in missing recipes for the teargas and smoke exosuit
grenade launchers, which were present in the game files, but not
available to manufacture unlike their stinger and flashbang
counterparts. Both of these launcher types previously weren't accessible
anywhere in the game.
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.
Almost certainly a candidate for test merge.
Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
This PR adds a pair of new "BioAugs" as loadout options for Galatean
characters, called Mind Blanker. They come in two variants, and both are
available exclusively to Galateans. The basic version of the mind
blanker makes its user immune to mind-affecting psionic powers.
The advanced version of it inflicts lethal biofeedback on any psychic
that attempts to enter the user's mind, while also providing the user
with the same protection as the basic version. The advanced version is
more expensive, and is exclusively available to Galatean Consulars.
This PR was requested by Human Lore for their "Galatean Bioaugments"
list.
<img width="739" height="334" alt="image"
src="https://github.com/user-attachments/assets/8dd0e65c-2834-4949-8a03-8966f22eeca4"
/>
---------
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
This PR adds in the missing construction recipe for the pilot hardsuit
assembly, which wasn't present in the mechatronic fabricator.
There was already a recipe in the circuit imprinter for the pilot suit
central control board here:
<img width="491" height="267" alt="image"
src="https://github.com/user-attachments/assets/aaeed072-75e5-4c94-a98e-9e1839939e06"
/>
However, no such assembly existed in the exosuit fabricator:
<img width="508" height="329" alt="image"
src="https://github.com/user-attachments/assets/21eca010-8a09-4848-843f-e9b1aab0546e"
/>
And while the code implied it was possible to make a pilot suit by using
the pilot circuit board on an EVA suit assembly, it would instead make
an EVA suit.
<img width="315" height="183" alt="image"
src="https://github.com/user-attachments/assets/167889a4-f04a-4415-a3eb-77988f546649"
/>
So this PR adds the ability to make the pilot hardsuit assemblies
directly, allowing for the pilot suit to be made using the circuit board
that already existed as a roundstart hardsuit option.
Refactored (second passage) how movement works, now it's mostly in line
with TG handling and avoids calling 3 gazillion Cross() Uncross() etc.
on every atom in a turf.
Fixed EMP protection from species not actually protecting (this includes
the surge prevention for IPCs).
Fixed EMP 3D calculation runtiming because I forgot to make the value
absolute and it was doing the square root of a negative number.
It's now possible to queue the round to start with the Start Round verb
even while the system is initializing, for an even faster pain train to
enter the round and test things.
Fixes#19603Fixes#20558
- bugfix: "Fixes plant bags - now uses storage_slot system, along with
other bag subtypes."
- bugfix: "Borgs can interact with tables again."
- refactor: "Refactors make_exact_fit to be a binary variable."
- refactor: "Refactors storage items to use make_exact_fit instead of
arbitrary max_storage_space values."
- refactor: "Refactors storage items to use defines for storage space."
- bugfix: "Fixes monkey cube boxes having superfluous overlay."
- rscadd: "Updates the progress bar toggle message."
- qol: "Objects that rotated 90 degrees in storage no longer rotate in
storage slots."
<img width="732" alt="dreamseeker_qRVkIlYN78"
src="https://github.com/user-attachments/assets/1226ed22-52c1-4965-a1b4-2290e56a2ab3"
/>
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
Turned a ton of unmanaged globals into managed globals.
Refactored some UT output.
Removed some unused things, including vars.
Added a test to ensure people don't keep adding new unmanaged vars.
Title. 'nuff seid.
Also fixes the fucked up material insertion animations to use
flick_overlay_view so it isn't laggy as fuck.
And adds emissives to machines that have lights so they glow in the dark
epically.
<img width="138" alt="dreamseeker_N6egRW6Yz3"
src="https://github.com/user-attachments/assets/a17f12ba-b768-4ad6-a35f-baf33aaae658"
/>
Don't let the large file size scare you, it's just mostly splitting
stuff into contained sprites and putting them in the correct place.
Anyway, resprites most non-resprited devices in devices.dmi, and puts
them in contained sprites.
Also puts any related /obj/item/device into contained sprites too.
That's basically the long and short of it.
- bugfix: "Fixed PDAs not being automatically updated by the Force
Change Name admin action."
- bugfix: "Announcements from non-Horizon ships drifting into hazards no
longer spawn observer chat. You will only get the announcements if you
are on the same z-level. The Horizon will still send its announcements
globally."
- bugfix: "Offships no longer send newscaster announcements."
- bugfix: "Fixed ling stings not working. Again."
- bugfix: "The robotics core console no longer reverts into a normal R&D
console when disassembled and reassembled."
- bugfix: "The robotics core console now has its own circuit that can be
made through R&D."
- bugfix: "Fixed the message that simple mobs print when they step on a
trap."
- bugfix: "Fixed the foam sword sprite."
- bugfix: "Fixed damaged wall overlays."
- bugfix: "Fixed the INDRA field getting messed up by pointing at it."
- bugfix: "Apple pies now count for the pie bounty."
- bugfix: "Changeling chameleon claws no longer spawn in the warehouse."
- bugfix: "Admin click-drag to possess has been fixed."
- bugfix: "Added a minimum damage threshold to delimb, in order to stops
ridiculously small damage from taking off limbs. The threshold is the
organ's max damage divided by 3."
- bugfix: "The Pull psionic ability no longer pulls anchored objects."
Fixes#17739Fixes#17369Fixes#19535Fixes#19166Fixes#20184Fixes#20165Fixes#20164Fixes#20117Fixes#19961Fixes#20231Fixes#20277Fixes#20346
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Enabled new opendream pragmas
Fixed some runtime access check operators (`:`) around the codebase (not
all, some are unfixable as they're used in macros)
No player facing changes (hopefully)
* Added an exosuit compatible ore summoner, capable of pulling ore
directly into an ore box held within the exosuit's clamp. Machinists can
print them at the cost of steel and glass, and the mining mech dropped
from the dropper comes with it equipped.
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.
* Added an exosuit compatible kinetic accelerator, capable of clearing
vast swathes of mineable walls. Machinists can print them at a steep
steel cost, and the mining mech dropped from the dropper comes with it
equipped.
Refactored the attack proc signature.
Added signals and components for the attack proc.
Added signals and components for the attackby proc.
Adjusted some leftover attackby procs signatures.
Added grep test to ensure people don't keep adding attack/attackby procs
with the wrong signature.
- Adds the circuit boards for the miniature fusion reactors to circuit
imprinters.
- Also adds a spare board (but no parts) and some extra tritium to
engineering hard storage. It could serve as an emergency power source
for the Horizon in the event something goes catastrophically wrong with
the main engines (provided Research can print upgraded parts too), or
even be used for power when establishing an outpost on an exoplanet (I'm
delusional).
Refactored the projectile code, mostly in line with TG's now.
Refactored various procs that are used or depends on it.
Projectiles can now ricochet if enabled to.
Damage falloffs with distance.
Homing projectiles can now have accuracy falloff with distance.
Projectiles have a maximum range.
Muzzle flash is configurable per projectile.
Impact effect of the projectile is configurable per projectile.
Accuracy decreases with distance.
Projectiles work with signals and emits them, for easy hooking up from
other parts of the code.
Meatshielding is now less effective .
Impact sound is now configurable per projectile.
High risk.