* Adds drone tasks to Execute UTs on Aurora and Exodus
* Adds a drone task to Migrate SQL and Perform the SQL UT on Runtime
* Changes the SQL UT to respect the config.sql_enabled setting and
use that sql connection
* Changes the default config.sql_enabled state to 0, so uncommenting
SQL_ENABLED has a actual effect
* Moves a number of UT tests into a helper script (code_check.sh)
* Updates the way the RUST_G dll/so is located
* Adds a check to load_databases to verify that sql is enabled
* Adds a check to establish_db_connection to verify that sql is enabled
* Adds spearate config files used during the UTs (which hold the UT db
connection info and enable/disable the db epending on the UT)
* Mitigates research recycling exploits by minimizing what can be recycled
* Moves the research design check into a new unit test
* Adds unit test for stack material recipes costs and fixes these costs
* Instead of changing recipes the resulting materials are worth less
* Crap fix
Converts reagents to use typepaths instead of IDs.
Centralises reagent spawning in a lot of places to use reagents_to_add instead of a variety of custom methods or initialise overrides.
Diona now feel pain, although they only take 70% of the pain other species experience.
Unathi now get a unique pain message, instead of the dear god one.
The lifeless live again. Or in this case, what never actually lived here.
Ports Baystation12/Baystation12#17460 probably for real this time. What this allows us to do is create shuttles on runtime and make shuttles easier by just making landmarks and a shuttle instead of areas and shuttles. Also allows runtime landmark creation via flares or whatever AND allows shuttles to use different landmarks at will.
I removed most of the overmap stuff, I think. It shouldn't be hard to slam it in whenever we need to.
Changes:
"Shuttle code has been completely reworked."
"Shuttles can now be modified to have more than one destination."
"Shuttles now have a takeoff sound."
"You can now throw mobs against walls to damage them. A lot."
"You now need a neckgrab to throw mobs."
"BEING UNBUCKLED DURING SHUTTLE LAUNCH IS DANGEROUS! Don't do it."
"Adminghosts can now interact with all shuttles."
"Random" unit test failures appear to be a long-existing BYOND issue (~4 years at least). If I figure out how to solve this I'll resubmit... (unlikely)
We can keep in the various icon fixes from the PR that added this test.
tweak: "Security's base nonlethal equipment - tasers and rubbers - is now a bit better."
bugfix: "Fixed teargas doing practically nothing."
bugfix: "Fixed a lot of stuff not applying pain damage. Ow."
bugfix: "Fixed undefined values on the CMC."
bugfix: "Fixed dionae not regenerating damage."
Turns the z-level restriction procs into macros
Changes z-level restrictions to use the macros
Use contact_levels for announcements (instead of player_levels)
Restricts the teleporter to station_levels instead of player_levels
Restricts AI tracking to station_levels instead of player_levels
Mechs only get tracking beacons if they are on station_levels (instead of player_levels)
Construction Drones gib if they enter a station level
Mining Drones gib if they leave the station levels
Removes the mining equipment vendor from the scrapheap
DreamDaemon leaks memory between restarts, which might exacerbate us potentially running out of memory. This allows us to reboot the server every n rounds.
Also refactors the way we handle things that should be saved inbetween rounds. Like gamemode and the restart counter.
Overview
This is the github WIP PR for the reagent system project. This is for other developers and users to track progress of the code if they're curious about it, as well as to show that it actually works.
This UI is going to be more integrated with BYOND host objects. It's update principal is very different from nanoui's. It is based around state that is being synchronized with server and client (browser). Such synchronization has it's problems, like it can't handle rapid changes, what could cause client and server to become out of sync and client state to be discard.
* Repaths eyes, observers, dview, and new_players to /mob/abstract subtypes.
* Adds /mob/abstract, a base type for 'abstract' mobs that aren't meant to be directly affected by the game world.
This PR adds 2 subtypes of industrial and two subtypes of baseline, one for each cybernetics manufacturer. Sprites by BRAINOS.
other changes:
IPCs can now be flashed or flashbanged.
Admin spawn paths have been added for subspecies that did not have them.
IPCs are no longer slowed by being cold.
Changes: Industrial IPC burn modifier changed to 1.1. Baseline IPC burn modifier changed to 1.2. Industrial IPCs should tank more damage, baselines should tank less due to their more agile frame, though brute is still only moderately effective against baselines. They aren't brittle but aren't tanky like industrials. This also makes baselines take a fair bit more damage from remaining in a vacuum, which they took very little before. Industrials were applied this in a bit of an unfair way, however, given they are walking heat sinks and should be treated as such. Both will still get roasted by lasers, the baseline moreso than the industrial.
changes:
Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
This pr adds the second essential part of the merchant's implementation, mapping the merchant's shuttle, base and the dock. And more merchant related fixes and tweaks.
HACKS ARE NOT A SOLUTION TO THE PROBLEM.
True. But. The issue is convoluted to the point where fixing it is out of the question for the time being. And the invalid timer RT is ruining the readability of Travis tests: it's generating useless noise without conveying any new information. As such, until a time that this issue is fixed, I propose silencing the RTs generated by invalid timers for unit tests only.
Hopefully we won't fuck with the timer system enough to where we need to monitor it for mass invalid timer errors.
Also removes the .int file as the bug it was intended to fix has been fixed with BYOND.