1. Look up now follows your mob (no more auto-removal when you move,
only when you go below a solid tile). Maybe add a hotkey?
2. Made the codebase work with the latest version of spacemandmm lint.
3. Advanced kits don't work on robotic limbs.
4. Density shifting should now always use set_density. Ported
TRAIT_UNDENSE from CM to better control the density of living mobs.
Fixes weird shifting behaviour with wall leaning -- what was happening
is that mob density was getting reset to TRUE because the mob wasn't
lying down.
5. TGUI say light prefs actually save.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Prompted by
[this](https://github.com/Aurorastation/Aurora.3/issues/21090) (Atmos
control app not reliably updating all alarms from
SSmachinery.processing). Did what I could but barring a larger refactor
of how computer programs are initialized, didn't want to burn Too much
time so implemented a Refresh button in the application interface as an
in-game fallback option.
Also fixes the bug with Loadout-spawned laptops not booting; their hard
drives were being initialized with default software due to accidental
codeblock removal
[here](https://github.com/Aurorastation/Aurora.3/pull/20660/files#diff-40a75a936400e3c347fd8c3d4c804190a63ac9be980912f6a9995efd1b296a1e).
Restored the affecting code.
Updated several other files I discovered in passing while working on
this with proper DMdocs formatting.
Scope creeped PR. Fixes a breaking bug in the Atmos Alarm Control
application introduced after areas-cleanup PR, but also refactors it
into a grid-based interface that actually allows you to reliably search
alarms by name, department, and deck # (possible now with all the area
metadata we have to play with).
Also does behind-the-scenes cleanup of alarm panel code in general, a
few area def problems, and some manually defined air alarm names on the
map.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
**Goals:**
1. Delete area definitions no longer used in any map or file.
2. Update area definitions such that everything used in mapping the
Horizon exists in 'maps\sccv_horizon\areas' with the parent
'area\horizon\'.
3. Reorganize/rename/restructure those Horizon area definitions to make
future mapping easier and code that hooks into area properties easier.
4. Present area names and blurbs in the status panel.
This PR only handles Horizon and Runtime areas, for digestibility/ease
of reviewing. Offsite areas for another PR.
Naming convention reference:
The /area/ 'name' variable no longer contains either 'Horizon' or the
Deck# of the area or its approx location on the ship. All Horizon areas
now have several new variables as metadata-- area names now need only be
strictly descriptive, and the appropriate constants used in the area
definition, and a new function generates the display name with
consistent formatting for us.
Detailed documentation to follow after any adjustments are made to
mappers' preferences.
This also adds area blurbs to most areas- if not bespoke, then general
department-wide blurbs to parents. I know feature creep always sucks,
but while some areas having pre-existing blurbs, the overwhelming
majority of areas don't, and while testing it was very distracting to
see them randomly appearing and disappearing. Most blurbs are pretty
basic but I feel are entirely presentable- more clever individual ones
can follow in a separate PR.
Currently, the Custodial Supplies Locator app provided X and Y coords of
every single mop, bucket, janicart, and cleanbot on the entire server.
This PR makes it so that these objects will only be registered to the
global list of custodial supplies if they are present on the Horizon on
init, and it will also provide Z coords so you can tell if they're on a
different deck.
The app also has a weird built-in GPS function that tracks the reader's
movements instead of the device's. Instead of fixing this to follow the
device, I just removed GPS feedback text- a Janitor can grab one of the
GPS units that comes in their lockers, and this also allows them to be
tracked by other units.
Nanotrasen and Nanotrasen aggressive law modules/boards renamed to
Conglomerate/Conglomerate Aggressive
Adds the Conglomerate Aggressive lawboard (this lawset already exists,
just never was given a board?). Adds a copy to AI Secure Storage
(alongisde the existing lawboards, this falls under a board the SCC
would have just in case, like the other ones there.)
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
**NOTE TO SYSADMINS: See "SQL Details" section below for information on
SQL modifications.**
Moves the data containing cargo items (i.e. the ones you order from ops
and get in the cargo shuttle) from the online database to the codebase.
Everything from suppliers to categories to individual items is now
code-side and editable by developers/contributors.
Refactors cargo items to use `singletons` instead of `datums` for
`cargo_supplier`, `cargo_category`, and `cargo_item`. Multiple-instnace
things like cargo_orders, etc. still use `datums`.
Fixed a bunch of strange discrepancies in categories, suppliers, and
pricing for various cargo items. I did a little bit, but it's exhausting
to go through all of it right now.
Clicking the 'Details' button on the Cargo Order app now actually gives
you details instead of bluescreening. Also added some UI elements to the
Cargo Order app - Cargo Control and Delivery remain untouched.
Overhauled the Cargo Order console TGUI window. It now has tabs on the
left, displays restricted access, supplier information, and boasts
search functionality.
### SQL Details
<details>
<summary>SQL Details [Click to Expand]</summary>
The following SQL tables should be deleted or deprecated from the server
database, as they are no longer in use:
- `ss13_cargo_items`
- `ss13_cargo_categories`
- `ss13_cargo_suppliers`
The included migration file, `V011__codeside_cargo`, creates a new table
`ss13_cargo_item_orderlog` to the DB. This **replaces**
`ss13_cargo_orderlog_items`. Because of this,
`ss13_cargo_orderlog_items` is deprecated and should either be deleted
or locked & preserved for logging purposes.
</details>
## Screenshots





---------
Signed-off-by: naut <55491249+nauticall@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
Fixed ninja teleporter requiring access to run.
Renamed the program to 'ninja teleporter' and removed the standard
teleporter from the program list for the preset.
Fixes#20237
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.
Merchant program refactor to remove need to have subtypes, causing less
issues
Minor fixes to Golden Deep ship (gramophone is anchored)
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
https://forums.aurorastation.org/topic/20198-mission-briefing-auroras-gamemode-revolution
To-do:
- [x] Finish storyteller verbs.
- [x] Storyteller landmarks.
- [x] Proper storyteller spawning. Right now the gamemode system is
happy with just picking one storyteller and no actors.
- [x] Antagonist whitelists code.
- [x] Adding the Storyteller whitelist.
- [x] Mission map loading code.
- [x] Map in a bunch of missions.
- [ ] Storyteller adminhelps.
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: DreamySkrell <>
Added some modular computer program preset tests.
Fixed some modular computer program preset that had duplicate programs.
Refactored how the computer program presets generate the list of
programs to install.
Turned some comments into DMDocs, some cleanup around.
Tests disabled reasons are now enclosed in the group correctly.
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.
When selecting a sensor in the engineering power-monitor program, you
are not able to return to the sensor list without restarting the whole
console.
Even though the issue is known for some time now, i weren't able to find
an issue to reference in the PR.
- Fixes broken UI navigation when trying to return to the sensor list.
- Resets UI navigation state when program gets closed.
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
AI programs added in a previous PR were not given the correct flags.
Teleport program removed as it was not needed + useless (only usable for
nearby teleporter)
---------
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
* Made a bunch of improvements to the PDA chat program. Clicking on
someone or a channel's name will now immediately open the chat. Text
inputs will now not input unless you press enter.
* PDA chat messages will now have spaces between them, unless it's the
same person sending multiple messages in a row.
* Updating a PDA chat channel's password will now output that it changed
into the chat.
Removed the gelf logging infrastructure.
Refactored the various logging procs to be a direct call in light of the
above.
Removed ancilliary UDP related things.
~~In preparation for my grand political strategy to get SMES hacking
wires added to the aurora wiki, I made sure they were working.~~
It's on the wiki now so you have to merge this it's canon 🫡
Changes:
* The RCON wire in a SMES now actually disconnects a SMES from RCON
(before it only prevented AI control).
* When the input wire is cut in a SMES, it will now correctly report
that the SMES is not charging on the UI.
* The Failsafe and Grounding wires of a SMES now correctly trigger the
red light when only one is cut, instead of both needing to be triggered.
---------
Signed-off-by: FlamingLily <80451102+FlamingLily@users.noreply.github.com>
Adds some new fields to the shuttle manifest:
- Destination (Per shuttle)
- Heading (Per shuttle)
- Mission (Per shuttle)
- Departure Time (Per Shuttle)
- Return Time (Per Shuttle)
- Expedition/Mission Leader (One per shuttle)
- Shuttle Pilot (One per shuttle)
Also adds the shuttle manifest to Bridge Crew PDAs by default.
<img width="458" alt="image"
src="https://github.com/Aurorastation/Aurora.3/assets/26849270/802d9a8d-9c43-4883-a5a7-d23967616766">


changes:
- rscadd: "Adds Synthetic Blood Substitute."
other info:
- ~~shell IPCs have white blood (other IPCs keep their black oil
blood)~~ (removed/reverted on request, shells keep black oil blood, no
change here with this PR)
- organics can optionally pick the SBS blood type to get white blood
- this is intended mainly for heavily augmented organics, and you have
to be have at least 8 augmented organs or limbs
- white blood has no mechanical differences (positive or negative)
represented in game, as it is supposed to still just be blood (but with
potentially better characteristics)
- white blood is incompatible with red blood, both ways, including organ
transplantations
---------
Co-authored-by: DreamySkrell <>
Operation Managers and Hangar Techs were supposed to always have the
Cargo Control program downloadable, but it was access-locked behind HOP
(which has been changed to executive officer). I also gave the program
the ability to run on laptops, so cargo techs actually have a reason to
bring a laptop.
Fixes some cargo bounties that were bugged (including #17225) and
removed some that cannot be fulfilled. Smoke grenades were removed from
security, machinists can't print the Telecomms Traffic Control board,
science can't print NVGs anymore, and there is no way in-game to produce
monkey hide.
This PR brings back the more accurate title for First Responders, of
Paramedic, to bring it in line with some snippets of the SOP and to be
more accurate to the role itself, as both Security Officers and the rare
and elusive Firefighting Atmospherics Technician can be considered first
responders.
also I just like it better.
Changes any mentions of first responder in gear/access/etc to Paramedic
or PARAMEDIC where applicable.
fixes https://github.com/Aurorastation/Aurora.3/issues/19156
tl;dr: chat client is supposed to try turning the service back on
automatically when you open it, but it was only doing that if manually
disabled, which is a different state. this makes it do it if it's killed
(like via running out of charge) or disabled manually
- bugfix: "Fixed PDA Chat Client not working properly after a PDA loses
charge."
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>
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).
Character preferences / records are now decoded correctly for the
computer UI and character preference.
Known issues, that already existed before this PR: Security incident
reports cannot be imported (nothing appears), charges and details of an
incident do not show up on the PDA application

* SSatlas.current_map
* hardsuit spell tab appears to clear correctly
* sdfsa
* from the moment i understood the weakness of my flesh, it disgusted me
* sdf
* Change various PAI abilities from proc to verb, init their verbs on creation
* Provide exit button on notFound and missingExport page
* Prevent programs with no ID from populating. Will still show in services. Things like pAI Flashlight
* allows pAIs to use PDAs they are inserted into
* prevent RTE for admin created pAIs
* adds error message when trying to download incompatible software
* fixes not being able to open pAI computer UIs if the client is closed with the UIs open
* changelog
* test fix?
* Revert "Provide exit button on notFound and missingExport page"
This reverts commit 77168da050.
* changelog change
* to_chat
* don't code 30s after waking up
* pain
* sadfas
* sdfa
* sdfasf
* sfa
* sdf
* might the lord have mercy on our soul
* i cri everidai
* adeste fideles
* sdf
* where will this lead, what's coming next, from your inventions
* dear lord
* gjvhk
* i cri everidai
* fsgf
* sdfa
* sdaf
* hiuhi
* Ports the Baystation Journalism Camera! Part 2!
* Ports the Baystation Journalism Camera! Part 2!
* map fix
* matt changes + changelog change
* embrace modernity
* includes tvcamera.dmi
* forgor
* lint fix
* map fix?
* finding da sauce of the issue
* power fix i hope
* we're so back i think
* i forgor again
* Revert "map fix?"
This reverts commit fff52660be.
* uggggh
* HEEEEEEEEELP
* matt + arrow changes
* asdasd
---------
Co-authored-by: Indie Doggus <photosandpens@gmail.com>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
* SDQL2 update
* fix that verb
* cl
* fix that
* toworld
* this is pointless
* update info
* siiiiick..
* vv edit update
* fix that
* fix editing vars
* fix VV
* Port the /TG/ globals controller.
* part 1
* part 2
* oops
* part 3
* Hollow Purple
* sadas
* bsbsdb
* muda na agaki ta
* ids 1-15
* 16-31
* 41-75
* bring me back to how things used to be before i lost it all
* the strength of mayhem
* final touches
* cl
* protect some vars
* update sdql2 to use glob
* stuff?
* forgot that is not defined there
* whoops
* observ
* but it never gets better
* a
---------
Co-authored-by: Matt Atlas <liermattia@gmail.com>