Commit Graph

244 Commits

Author SHA1 Message Date
Batrachophreno
9fba0357b5 Multiple href fixes (#20967)
Fixes a whole bunch of stuff caused by unclosed hrefs, details in
changelogs

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-07-08 23:14:59 +00:00
Stev-the-third
aa9793217e Removes old mech sprites, adds new previews. (#20824)
Adds new preview mech sprites, deletes the old deprecated ones, edits
the Horizon Z-4 to not have an old broken mech.

This was quite a lot of changes, so I veeeery likely missed something? I
searched to see if I left any mentions of mecha.dmi around, but I very
well could've missed some. It compiles fine for me at least.


![image](https://github.com/user-attachments/assets/30431f04-5bb9-459a-b27d-8da92a1921be)

![image](https://github.com/user-attachments/assets/adf42e7d-2612-4d39-adfd-34909a02b8b7)

![image](https://github.com/user-attachments/assets/e147d9da-b6ca-454a-b101-082fe7e26fdd)
Yes this only shows up while editing maps, it just annoyed me ok.

Co-authored-by: steviii <cormallenfield123@gmail.com>
2025-06-16 22:18:58 +00:00
Fluffy
86f8d6fd4f Movement update v2 (#20548)
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.
2025-03-22 11:38:05 +00:00
Fluffy
c5dabb9cda Armor defines (#20563)
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
2025-03-09 21:37:46 +00:00
Fluffy
3185c10cf1 516 internal links (#20428)
Convert all (appropriate) links to use the required `byond://` for 516

Added a grep to detect incompatible ones
2025-02-20 22:54:10 +00:00
Ben
2ea694c5b6 Exosuit Voice Commands: Toggle Power and Maintenance (#20481)
- Toggle maintenance protocol can now be done by anyone if no pilot in
an exosuit and with no link(allowing for species such as bulwarks to be
able to do more with exosuits)
- New command to toggle power (self-explanatory), minor refactor of
toggle power code for exosuit to permit this.

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2025-02-20 11:50:47 +00:00
Fluffy
7265630dde Turn more unmanaged global vars into GLOB (#20446)
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.
2025-02-17 23:34:02 +00:00
Fluffy
457a091d9a Clicks refactor (#20321)
Added various events to the dcs system in regards to click handling.
Refactored various mouse related procs.
Fixed MUI mask.
Fixed AI jump on double click.
Fixed some runtimes with the click handler system.
Updated the click handler system.
Fixed fireman carry.
2025-01-09 23:04:48 +00:00
Matt Atlas
580cbd5512 Fixes an extremely annoying log messaging admins for no reason. (#20308)
admins shouldn't get a log in their chat every single time a mech weapon
is fired (that includes mech KAs, by the way)

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-12-28 18:20:21 +00:00
Geeves
08fcffad44 Exosuit Ore Summoners (#20247)
* 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.
2024-12-26 14:34:37 +00:00
Fluffy
df014f9bc0 Mouse drop refactor (#20256)
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.
2024-12-26 14:26:32 +00:00
Geeves
9724f02187 Exosuit Heavy Kinetic Accelerators (#20246)
* 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.
2024-12-24 12:43:06 +00:00
Ben
4dcdc3883a Advanced Health Analyser Fixes (#20226)
Should fix https://github.com/Aurorastation/Aurora.3/issues/18325
Fixes for Advanced Health Analyser for shell and exosuit

QoL for Exosuit analyzer full scan, making it clearer which mode you are
on, and having the scan print alongside displaying it to the pilot(s)

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2024-12-03 12:44:56 +00:00
Ben
534a0774eb AI Remote Control Fixes (#20198)
Fixes https://github.com/Aurorastation/Aurora.3/issues/13267
Fixes https://github.com/Aurorastation/Aurora.3/issues/16881
Fixes https://github.com/Aurorastation/Aurora.3/issues/14039
Fixes https://github.com/Aurorastation/Aurora.3/issues/14062

Also adds QoL where pressing eject on remote controlled mechs exits
remote control.

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2024-12-03 12:44:02 +00:00
Ben
39df07f83f Exosuit Power Cell Install Fix (#20217)
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>
2024-11-30 21:42:08 +00:00
Snowy1237
7d6d16f7d5 Fixes the exosuit autolathe being unable to pick up lead, aluminium or plastic (#20160)
Just another simple bugfix.
2024-11-14 14:16:20 +00:00
Fluffy
513facdb0d Refactored deletion observables to use the COMSIG_QDELETING signal (#20121)
Refactored deletion observables to use the COMSIG_QDELETING signal
instead, removed the observable.
2024-11-04 21:51:18 +00:00
Fluffy
d9c44532fc Refactored directionals (#20082)
Refactored directionals, ported lists of directions from TG, got rid of
useless proc to get the reverse direction.
2024-10-25 17:56:02 +00:00
Fluffy
404c90f688 Replaced the outside turfs with exoplanet ones for the digsite (#20066)
Replaced the outside turfs with exoplanet ones for the digsite.
Fixed some exoplanet areas not having an exoplanet base turf.
Wrote a unit test for exoplanet areas to ensure they have an exoplanet
base turf.
2024-10-20 18:49:39 +00:00
Fluffy
af863b9f56 Fixes exosuit sleeper TGUI runtime (#20023)
Fixes exosuit sleeper TGUI runtime due to invalid parameter

Potentially fixes #19997 since I tried to reproduce that issue 30 times
without success afterwards
2024-10-10 17:48:04 +00:00
Fluffy
b8902e2e16 Runtime map now loads in ~11 seconds instead of ~40, sped up various other things (#19957)
Runtime map now has a bunch of new areas / items with often-tested
stuffs, and some hard-to-put-at-runtime stuffs.
Runtime map jobs now are positioned to make it faster to reach the
aforementioned often-tested stuffs.
Runtime map doesn't generate an overmap anymore by default, which speeds
up the process.
Runtime map now loads in ~11 seconds instead of ~40 seconds as it was
before.
Updated the maploader to be faster in parsing maps.
Bapi is not engaged anymore if we're only measuring the map size, which
speeds up the process.
In fastboot we do not generate the codexes anymore, which speeds up the
process.
In fastboot and if exoplanets and away sites are not enabled, we do not
parse the map templates anymore, which speeds up the process.
Updated the icon smoothing to be faster.
Optimized cargo area code.
Other optimizations.
2024-10-06 21:31:01 +00:00
Fluffy
9636363e60 Refactored the attack proc (#19908)
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.
2024-10-06 21:30:00 +00:00
hazelrat
eafcc13b50 TCAF Corvette Remap (#19877)
This is a remap of the TCAF Corvette offship, intended to be more
intuitive than the current one.

**This is up for review.**

Notes:

1. The combustion engine isn't the only source of power in the ship,
there's also a portable generator that should be able to produce enough
to keep the ship going.
2. This adds a few clothing and overmap sprites for use in the
ghostrole, credit to Noble for them, and it also consolidates a few of
the existing TCAF assets into a single faction file. It isn't
comprehensive, but it's more organised than it was.
3. The armoury has been diversified a little. It's now composed of two
blaster rifles, one bolt slinger, one combat laser rifle, one pump
shotgun, and one burst rifle, plus the PEAC and six blaster revolvers as
sidearms. The primary intention of the combat laser rifle, pump shotgun,
and burst rifle is to provide a little AP which blasters universally
badly lack, so the ghostrole should be decently competitive against
armour. My hope is it should be roughly as strong as the Coalition
Ranger ship in combat.
4. I'm not totally happy with the hangar, but I'm not satisfied with any
of the docking port designs I've been able to think of, so I'm running
with it for now. I do believe a docking port is generally preferable.
5. Per Trio, species restrictions are tightened a bit on the Decurion to
only cover humans, Skrell, IPCs, and Vaurca Warriors. Liable to be
changed. Vaurca workers have also been excluded from every combatant
ghostrole, playable only as technicians. I'll be prodding at adding
bulwarks too, but they're not currently included due to some fickleness
with giving them appropriate uniforms.
6. The sensors are the strong variant for the shuttle and ship, with the
idea that it should be particularly good at reconnaissance. I doubt
anyone would use the shuttle to scout the sector, but the sensors are
good to throw a bone in that direction.
2024-09-30 22:00:15 +00:00
Fluffy
c24b4c7097 Projectile refactoring madness (#19878)
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.
2024-09-23 10:12:57 +00:00
Fluffy
8f9de7c3e2 Text() away (#19850)
Refactored all the builtin text procs to use string interpolation
instead.
Added a linting for the above.

This is based on, and should only be merged after, #19847
2024-09-21 12:46:31 +00:00
Cody Brittain
dc610520fe Refactor /obj/screen to /atom/movable/screen (#19852)
Part of backend stuff required for #19188. Should probably be test
merged.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-09-21 12:12:07 +00:00
Fluffy
0ae0b10764 Refactored all the backslash ref and ref() calls to use REF() instead (#19847)
Refactored all the backslash ref and ref() calls to use REF() instead.
Added a linting for raw ref proc calls.
2024-09-13 10:17:32 +00:00
Fluffy
a3a4d46fa7 Hitby refactor (#19624)
Refactored hitby to be in line with TG's version.
Refactored item weight defines to a more clear naming scheme, also in
line with TG's version.
Refactored how the movement bumps are handled, ported signals to handle
them, in preparation for the movement update.
Fixed disposal hit bouncing the hitting atom on the wall.
Items do not push other items anymore if they are tiny.
2024-07-28 20:52:08 +00:00
Fluffy
3e1b9d4170 Repathed /obj/item/projectile to /obj/projectile (#19693)
Repathed /obj/item/projectile to /obj/projectile, same as TG and Bay,
that's pretty much it.
2024-07-27 10:09:46 +00:00
Fluffy
e6917d84e5 Fixed relaymove blocking you in place (#19595)
Fixed relaymove blocking you in place

Should fix #19569 and #19507
2024-07-09 15:41:23 +00:00
Fluffy
b3a4aa501f Life changes (#19560)
Refactored Life() to receive seconds per tick and times fired as
parameters.
Life() now cannot be slept in, turned various sleepings into async calls
procs.
Optimized mob AI subsystems, gave them new priorities levels and flags.
Grab upgrades are now elaborated asynchronously, tweaked them to avoid
stacking multiple upgrades.
Fixed plains tyrants keeping sending messages about stomping even if
dead.
2024-07-08 12:48:18 +00:00
Fluffy
67030cf90e Relaymove tweaks (#19489)
Made relaymoves uniform in function header and non sleepable.
Improved IPC/borg recharger, made it time constant.
Tweaked client/Move() to avoid a range(), moved a relaymove around to
fix a bug, some minor tweaks.
Fixed IPC/borg recharge station not taking the IPC/Borg in on bump.
2024-06-22 15:13:29 +00:00
RustingWithYou
d0e3da103e Premade exosuits now spawn with power cores (#19503)
Premade exosuits weren't spawning with power cores, which meant that
mapped-in mechs off the Horizon were effectively unusable. All premade
mechs will now spawn with an appropriate power core.
2024-06-21 05:35:14 +00:00
Fluffy
92c3ec6caf SSthrowing (#19421)
Ported SSThrowing from TG, to handle throwings.
Updated movement system to the latest iteration, made it a datum as per
latest iteration.
Updated pass/hit handling of atoms, introduced pass_flag_self to
determine what atoms allow to pass.
Moved procs and defines around to make them more organized.
2024-06-18 19:32:06 +00:00
Geeves
b40f276673 Mech Attacking Fix (#19474)
* Moving away from a mech while using a wrench or a remote upgrade will
no longer hit it.
2024-06-18 04:38:04 +00:00
Geeves
faf5bacaad Floating Chat Pixel Fix (#19473)
* Fixed the floating chat offset when you speak from inside a mech.
2024-06-18 04:37:58 +00:00
Geeves
2bf39c7ee9 Exosuit Nuclear Power Cores (#18268)
* 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.
2024-06-09 21:14:59 +00:00
Fluffy
ec194f9988 Tyrant tweaks (#19371)
Added some notifications of proximity to the plains tyrant.
Reduced health and auto-brute-healing of the plains tyrant.
Fixed traps pathing so that mobs should now pass in them.
Optimized SA_attackable proc.
Mechs are no longer opaque, this fixes the simplemobs not attacking them
(because the line of sight check fails as the turf they stand on is
opaque if they are opaque too) as well as avoid lighting recomputing on
every step.

---------

Signed-off-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2024-06-09 17:08:04 +00:00
Fluffy
174bdf9d8c Added rotating alarm lights (#19240)
Added rotating alarm lights, ported (with modifications) from Baystation
12.
Cleaned up some code around visual flags and renamed one layer to align
with bay's name.
2024-06-08 16:47:43 +00:00
Fluffy
33fe9c55a1 Cleaned up the examination code (#19273)
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.
2024-05-31 21:23:58 +00:00
Fluffy
6af1078e19 Fix exosuit frame icon (#19217)
Fixed exosuit frame icon not updating when you remove parts from it.
Minor exosuit code improvements.

Fixes #19170
2024-05-23 19:18:25 +00:00
Fluffy
3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
Cody Brittain
d95734c606 Emissives (#18895)
A significant amount of influence was taken from
https://github.com/Baystation12/Baystation12/pull/33255, however adapted
to Aurora. Key things to note is the port of the newer alpha settings
from /tg/, among other improvements.

The ancient holographic and screen overlay code has been purged. This is
now handled with emissives, while holograms are handled with filters as
well.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-05-12 20:51:45 +00:00
RustingWithYou
f3f802b372 Uueoa-Esa, Part 7 - The Wasteland (#19014)
Adds several ruins for the Wasteland.
2024-05-06 14:56:24 +00:00
Cody Brittain
9983fca311 Update SSOverlays (ported from Baystation) (#19051)
Our SSOverlays system is outdated, and is likely the cause of many of
the issues seen in #18895. It has also been linked to a massive server
performance decrease.

This brings an updated system from Baystation, hopefully with speed
increases.

Should be testmerged, ideally with #18895.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-05-01 07:46:27 +00:00
Fluffy
ab23fbdb70 Function overloads condensation (#18939)
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).
2024-04-19 21:19:41 +00:00
naut
37d7bda9d1 The Xanu Frigate (#18516)
WIP.

Adds the All-Xanu Spacefleet Shrike-class frigate, a comparatively
colossal warship in service with Xanu Prime's navy. Built for combat, it
has a myriad of features designed to make it stand toe-to-toe against
most enemy combatants.

It features:

- Separate navigation bridge and CIC, a la the Horizon's command bunker.
The CIC has its own air and power supply.
- Redundant thruster nacelles; even if one nacelle is destroyed, the
ship can continue operating on a single one.
- Two fusion reactors. The power required by this thing is just that
huge.
- Thiccccc armor plating and whipple shields made of grating to protect
against meteor and dust strikes.
- A Longbow and Grauwolf.
- A fightercraft shuttle, with a Francisca.
- A boarding shuttle.
- Fully-stocked medbay with operating room.
- A brig.

The ghostrole capacity for this is 7 (6 crew + 1 captain), but has
capacity for all the way up to 15 (14 crew + 1 captain) during events.

The intended purpose of this frigate is twofold: a reduced-power
"patrol" configuration for light skirmishes, and a full-armament
"battle" configuration so that the frigate can act as an offship ERT in
case the Horizon gets into trouble, either against another party or
against the Coalition. If used in its battle configuration it can
support 15 crew at full capacity.
<details>
<summary>Screenshots</summary>


![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/8c8ade90-947e-49c8-b710-0997fcf1cb0f)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/c105e515-abf4-42b1-8f8d-d8de5d6692fc)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/e165eb14-6976-472a-b6ab-e243eca9d4ec)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/b811e586-cb75-467b-ba38-2c737221d69e)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/b198b50c-7753-4aaa-839e-eb57a6bcedec)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/00029766-664c-41d0-b075-05cdca325dff)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/bf552c19-7c3d-4d5d-b713-916e3e0b2de3)

![image](https://github.com/Aurorastation/Aurora.3/assets/55491249/3d92a57d-bb72-4c53-86de-fe218c5fe439)

</details>
2024-04-14 12:11:08 +00:00
Cody Brittain
c1d241594b Planes & Layers part 2: Plane Masters (#18749)
Part 2 of the PR series to bring /tg/'s and bay's plane masters to
Aurora, the lack of which is blocking several features we want.

This ports over the easier to understand Bay version of plane masters,
which is detailed in the relevant readme file in the code. Example
effect code for a warp effect is also in, which has been implemented for
gravity catapults.

Relies on #18741

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Cody Brittain <cbrittain10@live.com>
Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2024-04-13 18:07:51 +00:00
Fluffy
5888de6ea0 Implemented SI prefixes (KILO, MEGA, GIGA, TERA etc.) (#18874)
Implemented SI prefixes (KILO, MEGA, GIGA, TERA etc.)
2024-04-12 22:22:14 +00:00
Fluffy
6e3ee53783 Fixed machine processing for ores going in the negatives for alloying (#18781)
Fixed a runtime found on mechs.
Fixed machine processing for ores going in the negatives for alloying.
Some more optimizations, DMdocs, turned a var into a global one, some
defines added and made into bitflags, yada yada you know the usual deal.
2024-04-04 10:45:07 +00:00