Commit Graph
630 Commits
Author SHA1 Message Date
FabianK3andGitHub 36d267d83e Persistent data framework (#21055)
# Summary

This PR has the goal of adding a base framework for tracking, saving and
otherwise managing persistent data between rounds, written from scratch.

Persistent data can be anything - Most expectedly noticeboards, dirt,
papers, etc.

_Technical details about the PR below are subject to change._

## Estimated scope

The first iteration of the persistence framework should include the
functioning subsystem and the first implementation of a persistent type
using said subsystem.

- [x] Prepare database for persistent data
- [x] Add new features to `/obj/`
- [x] Logic to get and load persistent data into objects for the
subsystem
  - [x] Internal logic for tracking and other
- [x] Implement subsystem
  - [x] Basics, files, integration of subsystem
  - [x] Database queries for different operations
- [x] Methods for registering and de-registering object tracking for
`/obj`
  - [x] Round start logic
  - [x] Round end logic
- [x] Implement first persistent type: Papers on notice boards
- [ ] Code review
  - [x] Scope validation
  - [x] Testing
  - [x] Full changelog
- Merge
- [ ] Setup logging config for new subsystem
- [x] Documentation for developers ([How to add new persistent
types](https://github.com/Aurorastation/Aurora.3/wiki/Persistence))

## Inner workings

The new persistence subsystem has the following concept:
At round start the subsystem reads existing data from the database and
creates objects for them.
During the round objects can be added to the tracking using a register
function (or removed by a de-register function).
At round end the subsystem goes over all it's actively tracked objects:
Create new objects (that don't have a persistent ID from the database),
update objects that changed during the round and expire objects that are
no longer tracked.

The objects in questions can register themselves, de-register themselves
and decide themselves what content should be stored and handle how to
set themselves up during the subsystems init phase.

## Information on the new table

`id` - database generated ID for tracking persistent objects over
multiple rounds, objects without an ID are considered new and created
during the round.
`author_ckey` - With the first implementation unused, but expected to be
required in the future to allow any staff/moderation on persistent data.
Nullable as persistent data also can be things like decals without an
actual owner.
`type` - Type of persistent data used for creating objects at round
start.
`created_at` - Statistical values.
`expire_at` - Used for cleaning the database and setting limits for
persistent data types. It's optional and allows permanent persistent
data (command notice boards?).
`content` - JSON formatted data containing the actual properties of an
individual tracked object (e.g. what's written on a paper, what's its
title).
`x`, `y`, `z` - Coordinates taken and given from/to the object during
save/load. Those can be null for future purposes.

## The goal on how to add new persistent data types

`/obj` received two new methods which need to be overriden in the to-be
added new persistent type:
`persistence_get_content()` and `persistence_apply_content(content, x,
y, z)`.

The first method has the responsibility to provide all custom content of
a new type to the subsystem in the form of an associated list (`["title"
= "Hello, World!", "value" = 1337].

What does that mean?  
In the example of a piece of paper, the method needs to put the papers
title and text content into a an associated list, that list will be
saved by the persistence subsystem.

The second method has the responsibility to apply the previously saved
content when persistent data is initialized at the start of the round:
The associated list needs to be read back and applied to the paper,
additionally coordinates are provided for the object that have been
taken during saving. Note that the coordinates might be null and could
be ignored during setup.

During the round, when a new object is created, like a paper, you need
to call the subsystem and register a track:
`SSpersistence.register_track(your_object_to_track, ckey (optional)`.
The subsystem will be using the methods above when the round ends and
saves the object - and loads it at the start of the round using the
second method. The ckey needs to be given for all persistent that
contains user generated content, e.g. papers.

In case a persistent object gets removed, you need to call
`SSpersistence.deregister_track(your_tracked_object)`. At the end of the
round the object will be removed from the storage.

`/obj` contains the variable (along some other technical vars)
`persistance_initial_expiration_time_days`, which has a default value of
30 days, but can be safely overriden on a per-type basis. This value (in
days) will be used for the persistent data entry expiration date when a
new object of said type is stored in the database.

## PR description changelog

- Added *The goal on how to add new persistent data types*.
- Updates *Estimated scope* format.
- Updates *Inner workings*.
- Final iteration.

*(Grammer and formatting not tracked manually)*
2025-08-16 22:00:12 +00:00
BatrachophrenoandGitHub af6c74d917 Verb organization stuff (#21131)
Currently, only Preferences Verbs use subcategories. As a result, all
other Verb tabs are only organized alphabetically, meaning that a single
mechanic (ie. languages) has its governing Verbs scattered rather than
grouped together.

Verb organization by Tab handles broad organization - IC, OOC, Objects,
etc.- highly effectively but requires the user to click-navigate to
other Tabs to access any other verbs.

Verb organization within a Tab can be handled by A.) subcategories and
B.) Verb name prefixes (such as Earphones - *****). The first option is
the clearest and cleanest, but consumes additional vertical space. The
second option conserves vertical space at the cost of visual clarity.

This PR attempts to reorganize Verbs by their Tabs, Subcategories, and
prefixes with the following priorities in mind:
- Minimal disruption; any radical change must be justified (don't move
shit around just for the sake of moving shit around.)
- Verbs which share common functions (such as Languages) should be
grouped together.
- Maintainability. Contributors should not need to memorize an
excessively convoluted Subcategories list; Subcategories must be
intuitive and simple.
- Subcategories should be used judiciously when grouping Verbs to
conserve vertical space. Example: Instead of creating a Subcategory for
Emotes, just rename Audible Emote and Visual Emote to Emote (Audible)
and Emote (Visual).
- Subcategories should highlight uncommon or unusual verbs when
reasonable. Example: There are several animal husbandry-related Verbs,
and because most characters will not have access to those verbs
regularly, we can be less conservative with space (because they'll be
gone most of the time) for the sake of emphasizing their availability.

This PR covers the IC, OOC, and Object Tabs.

Subcategories:
OOC.Chat (Chat functions)
- AOOC
- LOOC
- Devsay (moved from Special Verbs)
- Dsay (moved from Special Verbs)
- OOC

OOC.Debug (Fix shit)
- Fit viewport
- Fix chat
- Refresh TGUI

OOC.Round (Round information)
- Check Gamemode Probability
- Check Round Info
- Custom Event Info
- Vote

IC.Antag (Antag verbs w/o their own tab)
- Invite to the Loyalists
- Invite to the Revolutionaries
- Set Ambition

IC.Critters (More critter stuff than you'd expect there to be)
- Befriend Carp (Previous name 'Become Friends')
- Befriend Cat (Previous name 'Become Friends')
- Befriend Dog
- Befriend Ives
- Name Alien Species
- Name Animal

IC.Language (Language-related stuff)
- Check Default Language
- Check Known Languages
- Set Default Language

IC.Maneuver (Movement, positioning, etc.)
- Adjust walk speed
- Do Pushup
- Face Direction
- Look Down
- Look Up
- Move Downwards
- Move Upwards
- Rest

Object.Equipped (Equipped object stuff, mostly for drip)
- Adjust Badge
- Adjust Bag Straps (Backpacks)
- Adjust Goggles
- Adjust Mask
- Adjust Welding Goggles
- Adjust Welding Mask
- Change Glasses Layer
- Change Pants Layer
- Change Wrist Radio Layer
- Change Wristwear Layer
- Check Time
- Flip Badge
- Flip Belt
- Flip Eyepatch
- Flip Hat
- Flip ID card (ID card)
- Flip Radio (Clip-on radio)
- Flip Wristwear
- Fold Collar
- Lock Antenna(e)
- Point At Watch
- Raise Shroud
- Roll Up Cape Mantle
- Roll Up/Down Jumpsuit
- Roll Up/Down Sleeves
- Switch Belt Layer
- Switch ID Layer
- Switch Lanyard Layer
- Switch Shoe Layer
- Toggle Aviators (Like a dozen variants)
- Toggle Ceremonial Garment Lights
- Toggle Coat Buttons
- Toggle Coat Zipper
- Toggle Hair Coverage (For hats helmets etc)
- Toggle Hair Coverage (FOR BABY CARP!!!!!)
- Toggle Helmet Camera
- Toggle Hood
- Toggle Lyodsuit Mask
- Toggle Poncho Tail Coverage
- Toggle Shirt Buttons
- Toggle Suit Sensors
- Toggle Visor (Pilot helmet)
- Toggle Waistcoat Buttons
- Transform Holoclothing
- Voidsuit - Eject Suit Cooler
- Voidsuit - Eject Tank
- Voidsuit - Toggle Helmet

Object.Held (If you're HOLDING it, its probably relevant to you rn)
- Activate Held Object (Silicons; moved from IC)
- Alter Beacon's Signal (Radio beacon)
- Change Bite Size (Utensils)
- Change Pen Colour
- Choose Colour (Paint sprayer)
- Choose Decal (Paint sprayer)
- Choose Direction (Paint sprayer)
- Choose Preset Colour (Paint sprayer)
- Describe Prototype
- Draw Boot Knife
- Empty Bee Net
- Empty Spray Bottle
- Holster
- Name Gun
- Name Prototype
- Plant Flag (Flags)
- Print Plant Report
- Remove Chopsticks
- Remove Top
- Set Detector High-Bound (Light meter)
- Set Detector Low-Bound (Light meter)
- Set Hailer Message (Hailer)
- Set Timer (Timer igniter)
- Set Valve Pressure (Pneumatic cannon)
- Show Held Item
- Spin Cylinder (Revolvers)
- Switch Verbosity (Health analyzer)
- Toggle Chainsaw Power (Chainsaw)
- Toggle Flashlight Brightness (Flashlights)
- Toggle Gun Safety
- Toggle Hazard Vest
- Toggle Pinpointer Mode (Pinpointer)
- Toggle Mister (Backpack water tank. Goes into/out of hands)
- Twist Cap
- Use Scope
- Wield Pick/Drill
- Wield Two-Handed Weapon (Two-handed weapons)

Object.Cards (I fucking hate cards!!!)
- Deck - Deal
- Deck - Draw
- Deck - Pick
- Hand - Pick
- Turn Hand Into Deck

Object.Earphones (Enough here to separate out)
- Eject Music Cartridge
- Change Volume
- Next Song
- Pause/Unpause
- Play/Stop
- Previous Song

Object.Jetpack (This is probably really important to see quickly)
- Toggle Jetpack
- Toggle Jetpack Stabilization

Object.Tape Recorder (Enough here to separate out)
- Start Recording
- Stop Recording
- Clear Memory
- Playback Memory
- Print Transcript
- Eject Portable Storage

**IC tab example:**
<img width="1061" height="277" alt="Screenshot 2025-08-09 101813"
src="https://github.com/user-attachments/assets/a2afe92d-34fd-4160-bf68-b459a4195e26"
/>
**Objects tab example:**
<img width="1100" height="472" alt="Screenshot 2025-08-09 101807"
src="https://github.com/user-attachments/assets/a36e4c76-594e-4569-93ba-ffcda57e8760"
/>
2025-08-11 15:12:56 +00:00
BatrachophrenoandGitHub c2f054fd81 DMdocs (#21103)
Progress on DMDocs. PRing progress so far so there's not one mega PR
later with 1500 affected files.

I want my goddamn highlight text on what all these goddamn procs goddamn
do goddamnit. >:(

No actual code change anywhere in this PR, only comments.

---------

Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
2025-08-09 12:22:56 +00:00
BatrachophrenoandGitHub 790aeafbdf Storyteller admin/mod/fun verb smorgasbord (#20831)
As title: grants STs a small selection of admin/mod/fun verbs without
needing them to have an admin_rank configured on the back end.

I've been extra permissive here on the assumption that Those That Be
will veto anything they don't like. The granted verbs:
	/client/proc/toggle_view_range,
	/client/proc/jumptozlevel,
	/client/proc/jumptoshuttle,
	/client/proc/jumptoship,
	/client/proc/jumptosector,
	/client/proc/Getmob,
	/client/proc/Jump,
	/client/proc/jumptomob,
	/client/proc/jumptoturf,
	/client/proc/check_ai_laws,
	/client/proc/manage_silicon_laws,
	/client/proc/odyssey_panel,
	/client/proc/damage_menu,
	/client/proc/change_human_appearance_admin,
	/client/proc/change_security_level,
	/client/proc/cmd_dev_bst,
	/datum/admins/proc/create_admin_fax,
	/client/proc/check_fax_history,
	/client/proc/clear_toxins,
	/datum/admins/proc/call_supply_drop,
	/datum/admins/proc/call_drop_pod,
	/client/proc/event_manager_panel,
	/client/proc/toggle_random_events
	
This PR is full of _gross code_ but it _does_ work.
2025-08-06 12:43:42 +00:00
Wowzewow (Wezzy)andGitHub a45faab183 Michael Wave, Return of Microwaves (#21072)
- Readds microwaves, and most of their old recipes where applicable.
- Resprites the small oven. It was small and ugly and I hated it.

Now, you may be asking, Wezzy - some of these recipes are an affront to
god. Microwaves can't do that.
And to that I say, It's mostly there to be a decent stand-in for small
rinky-dink maps and ships where you can't particularly fit the whole
kitchen suite in a convenient place. It's nice to have a bit of an
asspull in places like these, so.

Also, donk pockets actually become hot and cool down properly again,
now. It only took 15 years. (jesus christ)

Ported from Bay which ported from us.


![dreamseeker_6aMUIkYymn](https://github.com/user-attachments/assets/76c64677-78b2-4a3b-a35a-002b1cfe7cc7)
2025-08-04 12:20:42 +00:00
BatrachophrenoandGitHub 387cee9243 Object Examine Text Overhaul (#20923)
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>
2025-07-21 15:35:14 +00:00
smellieandGitHub bfb076eea5 Uncharted Space (#20937)
Adds 3 Crescent Expanse regions due to how large a region it is:
- Crescent Expanse (West): Nralakk and Solarian heavy region.
- Crescent Expanse (East): Coalition and Solarian heavy region.
- Crescent Expanse (Uncharted): Deep Crescent expanse, independents and
certain surveyors only.

Also adds a Lemurian Sea (Uncharted) sector if we ever go there.

Adds a `ccia_link` variable for sectors. Only usage is to block outbound
faxes to Central Command. For uncharted sectors. EBS remains an option
due to necessary CCIA functions (eg. scuttling), per Bear's wishes.

Adds `low_supply` variants of most vending machines and dispensers. For
later use, none mapped in.

Removes the `TEMPLATE_FLAG_SPAWN_GUARANTEED` flag from the sensors
array, because it meant it wasn't affected by `sectors_blacklist`. The
sensors array isn't so important it needs to be in every sector anyway.

Removes Burzsia from the `ALL_DANGEROUS_SECTORS` list, as the crisis has
passed and humanitarian relief efforts completed.

Adds the `ALL_EVENT_ONLY_SECTORS` for limited usage during event
arcs/similar where canon odysseys or certain thirdparties may infringe
upon an arc's narrative. Allows selective enabling/disabling of canon
odysseys or third parties for said arcs. Not intended for liberal
application.

### Asset Licenses
The following assets that **have not** been created by myself are
included in this PR:
| Path | Original Author | License |
| --- | --- | --- |
sound/music/lobby/crescent_expanse/crescent_expanse_1.ogg | "Lüüü -
Weedance" by Lüüü, Obtained from
https://myprivateunderground.bandcamp.com/track/lu-u-u-weedance | CC
BY-NC-SA 3.0.
sound/music/lobby/crescent_expanse/crescent_expanse_2.ogg | "Little
Bradley - Sunset Drive" by Little Bradley, Obtained from
https://myprivateunderground.bandcamp.com/track/little-bradley-sunset-drive
| CC BY-NC 3.0
sound/music/lobby/dangerous_space/dangerous_space_1.ogg | "You Can't
Kill The Boogeyman" by Karl Casey. Obtained from
https://karlcasey.bandcamp.com/track/you-can-t-kill-the-boogeyman | CC
BY 3.0
sound/music/lobby/dangerous_space_2.ogg | "Prison Planet" by Karl Casey,
Obtained from https://karlcasey.bandcamp.com/track/prison-planet | CC BY
3.0
sound/music/lobby/lights_edge/lights_edge_1.ogg | "Is Anyone Left?" by
Karl Casey. Obtained from
https://karlcasey.bandcamp.com/track/is-anyone-left | CC BY 3.0
sound/music/lobby/lights_edge/lights_edge_2.ogg | "Running From The
Wendigo" by Karl Casey. Obtained from
https://karlcasey.bandcamp.com/track/running-from-the-wendigo | CC BY
3.0
2025-07-12 12:12:40 +00:00
Matt AtlasandGitHub 22f3e5580d Fixes some 516 UIs. (#20662) 2025-03-27 02:14:59 +01:00
04bc9fbd13 516 compatibility for browsers (#20652)
this is a bit of

https://github.com/cmss13-devs/cmss13/pull/8646
https://github.com/cmss13-devs/cmss13/pull/8875
https://github.com/cmss13-devs/cmss13/pull/8606
https://github.com/cmss13-devs/cmss13/pull/8607
https://github.com/cmss13-devs/cmss13/pull/8359
https://github.com/cmss13-devs/cmss13/pull/7860
( and thus https://github.com/ParadiseSS13/Paradise/pull/25105
https://github.com/ParadiseSS13/Paradise/pull/25205
https://github.com/ParadiseSS13/Paradise/pull/25363
https://github.com/ParadiseSS13/Paradise/pull/26423 and
https://github.com/ParadiseSS13/Paradise/pull/26433 )
https://github.com/tgstation/tgstation/pull/89766

in order to work properly - using the efficient storage method, instead
of the byond json method - github pages needs to be enabled and built
from the gh-pages branch. because yeah

---------

Co-authored-by: harryob <55142896+harryob@users.noreply.github.com>
2025-03-26 21:41:18 +00:00
FluffyandGitHub 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
FluffyandGitHub 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
FluffyandGitHub f3dab68568 Area tweaks (#20391)
Reworked area changes and power define channels

No player visible changes (hopefully)
2025-02-16 18:53:46 +00:00
Wowzewow (Wezzy)andGitHub e7232d04fc The Great Device Resprite and Contained Sprite-ening (#20344)
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.
2025-01-24 12:16:30 +00:00
FluffyandGitHub 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
FluffyandGitHub 1ba0b35838 New opendream pragmas (#20260)
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)
2024-12-29 11:12:09 +00:00
FluffyandGitHub 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
27704cc8d2 The Great Unstationing (#20269)
Replaces many references of station with SSatlas variables using
station_name().

Touches alot of things in the process (mostly moving some aspects to
New() to allow for calling of proc/variable.)

---------

Signed-off-by: Ben <91219575+Ben10083@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: Fluffy <65877598+FluffyGhoster@users.noreply.github.com>
2024-12-24 12:42:53 +00:00
46b044d302 Nuclear Missile Silo (#20222)
The Nuclear Missile Silo Bunker Thingamjig is a 2-z odyssey map. Should
be nice and generic so storytellers can tell a variety of stories,
including just blocking off the entire bunker and having a nice snowy
town if they want to.

![StrongDMM-2024-12-13 09 59
43](https://github.com/user-attachments/assets/30d36670-72a9-41d1-b48b-84d20d166600)

![image](https://github.com/user-attachments/assets/ced645a8-4896-4739-b17c-255da643c534)

And the sub-maps:

![image](https://github.com/user-attachments/assets/3add3533-7f41-4e3e-960e-cf61b36a7172)


Future plans for a later PR include a day/night cycle and maybe weather

---------

Co-authored-by: Stev-the-third <rose@flurf.net>
2024-12-15 13:52:34 +00:00
1da20ad33f Adds the Odyssey gamemode. (#18972)
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 <>
2024-11-26 20:18:43 +00:00
FluffyandGitHub 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
FluffyandGitHub 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
FluffyandGitHub 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
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
FluffyandGitHub fe905b2953 Nano printers (computer component) will now refuse papers that are already written onto. (#19890)
Nano printers (computer component) will now refuse papers that are
already written onto.

Fixes #19889
2024-09-21 11:24:46 +00:00
FluffyandGitHub 530fbf11f5 Fluff paper tweaks (#19894)
Fluff papers now update the free space on the paper correctly on
initialization.
Moved all the fluff paper in code, from the maps.
Added maplinting for fluff papers.
Added DMDoc for fluff papers.
2024-09-21 11:23:37 +00:00
FluffyandGitHub 77f0f0730d Fixed a runtime on deletion of paper stacks due to erroneous conversion of datum bracket access (#19891)
Fixed a runtime on deletion of paper stacks due to erroneous conversion
of datum bracket access.
Some DMDocs.

Potentially fixes #19888
2024-09-21 11:20:45 +00:00
FluffyandGitHub 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
FluffyandGitHub 50582fc1e2 Fixed all datum[index] accesses (#19798)
Fixed all datum[index] accesses, they are considered undocumented
behavior and fail from 515.1641.
Flipped the OpenDream pragma for the above to emit an error instead of a
warning.
2024-08-20 14:00:58 +00:00
DreamySkrellGitHubDreamySkrell <>
db8d0918e6 Remove the Crew Armory and the Leviathan (#19728)
end of an era


![image](https://github.com/user-attachments/assets/3a8c35b1-5dd6-4456-8f87-b807e61b8535)

![image](https://github.com/user-attachments/assets/723dd548-852d-48f8-9255-881aa7e6f71b)

![image](https://github.com/user-attachments/assets/157491eb-a1b8-465b-868a-d8df1c56aa41)

![image](https://github.com/user-attachments/assets/50c1ebbb-0d4f-40f0-bc4f-2675f126b8be)

![image](https://github.com/user-attachments/assets/e3e8c83f-4d77-4c81-aa55-263e90eb0c90)


----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

----------------------------------------------------------------------------------

changes:
  - rscadd: "Removes the Crew Armory."
  - rscadd: "Removes the Leviathan."
  - rscadd: "Updates mapmerge2 tool with most current tg version."



MATT'S EDIT: For whoever is reading, the Leviathan and the Crew Armoury
are being removed to try and lower the Horizon's passive militarization
a bit. We're going to try playing without the crew armoury, but in case
security stomps are unbearable and Ops can't properly fulfill the role
of "giving people guns", then ERTs will likely end up being readded.

There will be an IC explanation given for the Leviathan's removal. The
crew armoury one will probably be a straight retcon.

---------

Co-authored-by: DreamySkrell <>
2024-08-11 01:14:32 +00:00
FluffyandGitHub 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
CatsinHDandGitHub 61baeb7b9a Adds Notepads (#19617)
Adds a colorable notepad to the loadout, alongside a blue and gold SCC
variant to the faction section.
The notepad functions identically to the journal.
Sprites are by me, or modification of the existing journal sprites.


![notepads](https://github.com/Aurorastation/Aurora.3/assets/31459154/f61015df-c8e3-4656-a6fb-e1c3c6e4cbd9)

![notepads_open](https://github.com/Aurorastation/Aurora.3/assets/31459154/b205c7da-fc0f-4a21-b65c-186aff6ace0c)

![notepads_writing](https://github.com/Aurorastation/Aurora.3/assets/31459154/6efe24b7-b160-40a2-84f7-8b4f6269946d)
2024-07-27 10:10:06 +00:00
FluffyandGitHub cf8866e480 Fixed the message server PDA messages logging (#19668)
Fixed the message server PDA messages logging.
Fixed the message monitoring console for the aforementioned use.
Fixed a runtime for AI distance check on trying to read papers.
Created a preset for the message server so it's autolinked on the
horizon.

Fixes #11701 (For the Message Logs part)
2024-07-24 19:42:20 +00:00
d2ef4f5c02 IHSS Reclamation Mapping Fixes (#19323)
Fixes https://github.com/Aurorastation/Aurora.3/issues/19317 (hopefully)

This has quickly ballooned to become general fixes for the IHSS
Reclamation, from fixing docking to fixing ghostroles + other missing
aspects.

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2024-06-11 08:39:37 +00:00
FluffyandGitHub 3dc4cce9c2 Minor span refactoring (#19177)
Minor span refactoring
2024-05-19 16:37:29 +00:00
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
2b57e893ad ZTA -> ZAT Spellcheck (#19043)
For the longest time the Leviathan ZAT has been incorrectly labeled as
ZTA. This sweeps through all instances and renames it back to ZAT.


![image](https://github.com/Aurorastation/Aurora.3/assets/91219575/416a0288-6fa4-42c6-9b2d-c2c3137ed2a7)

---------

Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
2024-04-28 10:54:05 +00:00
RustingWithYouandGitHub ad4df4f72b Fluff Paper Language Setting (#18850)
Fluff papers can now have a written language set, as the code for
translating things was copypasted in like 6 places.
2024-04-18 14:03:13 +00:00
ddb14f4036 Planes & Layers part 1: The Re-Layering Redux (#18741)
This is part 1 of a project to, eventually, bring the render planes
system from /tg/ and bay into Aurora. This is a prerequisite and blocker
for many things the development team and community want to have, and
this was long overdue.

Many objects have been re-assigned layers, which are now thoroughly
defined. Maps have had their custom layer defines purged, as we should
be moving away from this in favor of saner definitions in the base
items.

This should be a test-merge due to the sheer amount of layers changed,
which will very likely create issues that I cannot possibly discover and
debug in a reasonable amount of time myself.

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2024-04-01 14:50:27 +00:00
FluffyandGitHub 1b40dbce82 Updated the sound system (#18724)
* sdaf

* sdaf

* sdfa

* sadf

* sfda

* gfd

* reduce thrusters volume

* sdafsadsdaf

* sdfa

* Reduced some sound ranges and made some/more not ignore walls for loops

* health analyzers too

* ivdrip adjustment

* most tools now use play_tool_sound to have the sound played, reduced range for it
2024-03-25 20:40:36 +00:00
fec6dbe24f Adjusts the force of all items to be multiplied. (#18708)
* force balancing?

* force

* cl & maglight nerf

---------

Co-authored-by: DreamySkrell <>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-03-24 17:10:31 +00:00
3815b45120 Unicode support in browser (#18668)
* feat(macros): add meta charset patcher

Added a proc that will add a meta tag to browser
content with the encoding set to Unicode.

Ported from NebulaSS13/Nebula

* feat: replace `ISO-8859-1` with `utf-8`

* feat(newscaster): use `show_browser` macro

* feat(admin): use `show_browser` macro

* feat(player_notes_sql): use `show_browser` macro

* feat(warning): use `show_browser` macro

* feat(paper_bundle): use `show_browser` macro

* feat(photography): use `show_browser` macro

* chore: add changelog for browser changes

* fix(macros): recover the deleted macro

* feat(macro): convert place_meta_charset to macro

* style(macros): use spaces between macross and body

* Apply suggestions from code review

Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
Signed-off-by: SidVeld <sidveld@gmail.com>

* fix(macros): change the position of the bracket

---------

Signed-off-by: SidVeld <sidveld@gmail.com>
Co-authored-by: Werner <1331699+Arrow768@users.noreply.github.com>
2024-03-24 16:04:10 +00:00
ef2d524a0f Robopen Rename Fix (#18694)
* Robopen fix

* rerequested changes

* Whitespace

Signed-off-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>

---------

Signed-off-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Co-authored-by: Ben10083 <Ben10083@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2024-03-20 23:37:46 +00:00
FluffyandGitHub cf056641d3 dgdsg (#18575) 2024-03-03 19:52:57 +00:00
Greenjoe12345andGitHub d09b964546 cops (#18518) 2024-02-29 17:39:27 +00:00
FluffyandGitHub 9afe761db3 Some refactors, DMDoc and UT (#18365)
* dsfa

* accessories fix

* fixed "has been hit by" message with intent check

* sdfa
2024-02-12 15:32:23 +00:00
4423d03f2f Adds examine boxes. (#18370)
* Adds examine boxes.

* lint

* what kind of dreams did you dream?

* unlimited

* midgardsormr

* sdsd

* fixes

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-02-11 21:58:20 +00:00
LlywelwynandGitHub 7f1db2d6ac Makes journals recolourable, and adds them to the loadout so they're accessible to anyone (#18366)
* adds journal to loadout

* cuts apart journal into overlays + bases

* swaps out full sprites for bases + uncoloured overlays (the paper)

* makes sprite white ready for recolouring

* default journal colour

* changelog

* sprites to library.dmi

* downsizes the journal (no longer bigger than a house)
2024-02-11 18:54:55 +00:00
FluffyandGitHub 25dc248979 Updated statpanel and added client pings (#18337)
* 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
2024-02-08 12:29:42 +00:00
FluffyandGitHub ca6b04e1d7 Updated SSgarbage (#18173)
* 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
2024-01-15 14:08:27 +00:00
fa0a1c245c Fixes the Send Admin Fax verb. (#18121)
* fax fix

* sdasda

* fix a lot more shit, jesus

* adssad

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2024-01-02 12:21:35 +00:00