55 Commits
Author SHA1 Message Date
WildkinsandGitHub 84d3a447ab Lag War Day 2: TGUI performance improvements (#21848)
<img width="707" height="659" alt="image"
src="https://github.com/user-attachments/assets/6c8db0bf-dec6-40f2-86e8-120531fa5693"
/>

the traitor uplink is causing a genuine hostage situation to the server
by simply being open due to the frankly insane amount of data that it
builds and ships every single UI process tick (which is very often!!!)

i've never been ragebaited by a single .dm file before so hard in my
entire developer career so I simply neutered it into using static data
and hit the commit button. it might break, if it does we're burning it
to the ground and remaking it. genuinely heinous crimes going on there

In addition I'm porting:

* [Fix several SHOULD_NOT_SLEEP hits in SStgui.update_uis()
tgstation/tgstation#75411](https://github.com/tgstation/tgstation/pull/75411)
* [Moves ui references from the tgui subsystem to datums themselves
tgstation/tgstation#76215](https://github.com/tgstation/tgstation/pull/76215)
* [Fixes some spurious runtimes in SStgui procs
tgstation/tgstation#76251](https://github.com/tgstation/tgstation/pull/76251)
* [Fixes tgui_open_uis tracking
tgstation/tgstation#77101](https://github.com/tgstation/tgstation/pull/77101)

moving ui references to the datums themselves is a pretty nice
performance boost because otherwise we have to iterate across all open
uis every time a list input closes which sucks! the rest are just fixes
to that original PR.

thank you for your attention to this matter
2026-02-14 02:17:23 +00:00
Cody BrittainandGitHub 3f62424312 [MDB Ignore] [IDB Ignore] Kills off /obj/item/device (#21774)
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>
2026-02-01 05:14:26 +00:00
ike709andGitHub 419b3e7e32 Fixes pointless for() loops (#21613)
OpenDream's `EmptyBlock` pragma had a bug that prevented it from firing
in certain cases of empty `for()` loops. That has been resolved and it's
uncovered a few issues with your code.

Please merge this ASAP as it has no impact on current behavior (besides
saving CPU cycles) and the bad code is currently blocking OpenDream CI
for the linked PR.
2025-11-20 15:36:03 +00:00
GeevesandGitHub 9ca3144086 Fixes Exploitable Formatting (#21281)
* Fixed exploitables not formatting correctly.

Before:
<img width="400" height="400" alt="image"
src="https://github.com/user-attachments/assets/91546d9a-2dde-483e-a144-e6b3ca691c2f"
/>

After:
<img width="720" height="573" alt="image"
src="https://github.com/user-attachments/assets/676b4154-d0fa-4a9f-8cf7-7583c1d5aef4"
/>
2025-09-04 17:50:01 +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
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 63acc59d1e Removed away_mission deprecated system (#20445)
Removed away_mission deprecated system, made initialization a little
faster.

Made global uplink datum a GLOB.

Remember to purge
https://github.com/Aurorastation/Aurora.3/wiki/Dynamic-Maps
2025-02-09 12:09:11 +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 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 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
cadd19beac Ports the TG globals controller and converts globals. (#18057)
* 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>
2023-12-26 01:16:02 +00:00
3daec39efa Changes the discord bot into a subsystem and adds quite a bit of additional logging (#17996)
* Changes the discord bot into a subsystem and adds quite a bit of additional logging

* Removes a forgotten todo

* replaces call with RUSTG_CALL (to make it compile) and adds a comment

* Re-Add log prefix

---------

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2023-12-19 22:54:57 +00:00
df03176859 Aurora: Vietnam Edition (#17859)
* standstill landmine

* more

* fsdfsa

* cl

* sdaf

* Apply suggestions from code review

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>

* sadsdf

* sdaf

* sdaf

---------

Co-authored-by: Matt Atlas <mattiathebest2000@hotmail.it>
2023-12-09 21:28:54 +00:00
AlaunusLuxandGitHub 00395e1874 Add search to traitor uplink (#17868)
* Add search to traitor uplink

* closing brace

* Remove braces in DM, rename nano to tg, change list instatiation
2023-12-05 11:39:37 +00:00
06601c9ec3 Split up and rename var/flags (#17794)
* Split up and rename `var/flags`

* Various fixes

* CL

* Don't rename Phoron Guard phoron preset

---------

Co-authored-by: Cody Brittain <cbrittain10@live.com>
2023-11-22 16:27:51 +00:00
GeevesandGitHub ebf0f3458f Mecha Gamemode: Jockeys (#17148) 2023-10-18 16:49:44 +02:00
DreamySkrellGitHubDreamySkrell <>
e381a5fa88 Uplink tgui (#17336)
* add uplink.tsx

* a

* a

* a

* a

* a

* exploitables

* close gui

* a

* delete uplink.tmpl

* 1

* ooooooooooooooooooooooooo

* lint

* c

---------

Co-authored-by: DreamySkrell <>
2023-10-06 22:15:38 +00:00
FluffyandGitHub 4538e2a7cc Fix indentations (#17481)
* cbt

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* fsadffsda sad

* sadfasd

* jhn

* dsfa

* saf

* safsad

* sda
2023-10-05 10:15:58 +00:00
FluffyGitHubFluffyGhost <FluffyGhost>
3d5c33af11 Uplink refdrop (#17249)
* Atomization

* dsf

---------

Co-authored-by: FluffyGhost <FluffyGhost>
2023-09-05 21:50:47 +00:00
316a80c231 Splits telecrystals into bluecrystals and telecrystals. (#16380)
* bluecrystals 1

* Splits telecrystals into bluecrystals and telecrystals.

* fixes

* dans ma tete ce n'est pas evident

* c'est toujours trop beau pour etre vrai

* on ne peut toucher le ciel des doigts

* thanks lily

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-06-18 12:43:49 +00:00
SleepyGemmyandGitHub 403787278b Renames Station Bounced Radio to Shortwave Radio (#15364) 2022-12-21 15:11:10 +01:00
DreamySkrellandGitHub ecb5a8e769 Uplink item buy limit mechanism (#14999) 2022-11-12 23:08:54 +01:00
TheDanseMacabreandGitHub 278f0d23b9 Antag Rebalances, Armory Restock (#13830) 2022-06-29 20:45:58 +02:00
GeevesandGitHub f38f1342bb Ninja Token (#11288) 2021-04-07 16:26:05 +02:00
Matt AtlasandGitHub 622612d077 Revert "New Check" (#11344) 2021-03-01 18:24:59 +01:00
GeevesandGitHub 714448e714 New Check (#11304) 2021-03-01 16:40:59 +01:00
WernerandGitHub 1762f16344 Migrate basic build to drone (#10651)
* 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)
2020-11-26 17:13:56 +01:00
JohnWildkinsandGitHub 616776f886 Modular PDAs: The End of an Era (#10319)
PDAs are dead, long live PDAs. All trace of old PDAs has been scoured from the codebase, and in its place are modular computer PDAs that are feature-equivalent. Essentially every PDA function except the Syndicate detonation feature and Notepad has been ported over, and battery life for handheld computers has been boosted alongside the addition of charging cables to make things easier.
2020-11-01 21:09:50 +02:00
Wowzewow (Wezzy)andGitHub 307c214541 makes w_class use defines (#9848) 2020-09-06 17:37:56 -03:00
GeevesandGitHub 05f6e81c60 Lowpop Antag: Burglar (#9193)
Added a lowpop gamemode called 'Burglars', featuring a new type of antagonist, a mix between a heister and a traitor. Neutered for lowpop fun.
    Added a mixed gamemode, 'Conflict', which is heisters and burglars.
2020-06-29 09:35:18 +03:00
e28d09f88a description_fluff, description_antag and description_info shortening (#8896)
* description_fluff, description_antag and description_info shortening

* Update wezzy_desc-shit.yml

* Update html/changelogs/wezzy_desc-shit.yml

Co-authored-by: Werner <Arrow768@users.noreply.github.com>

Co-authored-by: Werner <Arrow768@users.noreply.github.com>
2020-05-21 12:45:22 +02:00
GeevesandAlberyk bead18d3f1 Revolution Improvements (#7878)
- Added a new category to the traitor uplink, which is only available to revolutionaries.

- Head Revolutionaries now spawn with an uplink that has 50 TC, they also get an alert telling them to not abuse it.

- Revamped the drill dropper into a generic orbital dropper, capable of dropping ANY sort of item you wish it to.

- Added a Mech orbital dropper. Added an Armory orbital dropper.

- Made loyalty implants display their text correctly when they implant someone.

- Added aggression implants, which makes whoever it is implanted into extremely aggressive. Quite useful for starting a revolution.

- Added some description_antag to mercenary cipherkeys, informing the reader that the mercenary radio key is :t.

- Added a gear crate (not for mercs) which is just six syndicate softsuits. Useful in a pinch.
2020-01-08 18:45:58 -03:00
AlberykandErki 2824a51cf0 Adds more depth to citizenship and religion choices at the character setup (#6785)
This pr adds some depth to the citizenship and religion choices at the character setup.
Citizenship will now affect your loadout and mission as a consular officer.
Religion will now affect your chaplain's religion name, bible name and sprite.
Selecting any option will bring a small lore pop up for citizenship and religion choices.
2019-08-16 19:16:20 +03:00
KarolisandErki 8b785b3815 New record consoles and removal of old datacore, adds SSrecords (#4878)
This PR is depending on #4868 for it's ui framework. This PR mostly makes new SSrecords subsystem responsible for storing records. This should replace old datacore.

Make new SSrecords.
Make things use SSrecords and whole code compile
Made VueUi button <vui-button> to push parameters as JSON, preserving client side data stricture.

    Add new records console and admin record management.

I am mostly looking for feedback regarding SSrecords and it's data storage mechanism criticism (It's using lists for storage)
2019-07-27 12:24:16 +03:00
ErkiandGitHub bd2d9a184d Better factions and contractors (#6493)
Intent of this PR: make factions actually matter.

How we're going to do this:

Make factions limit job choices.
Make factions have alternative loadouts that override job uniforms
Make factions be visible in the employment records.
Revert existing faction loadout options or put them behind a preference, in favour of new shit.
2019-07-16 00:21:34 +03:00
WernerandGitHub 3c8d4b6f8d Window for Fake Announcer (#6345)
The fake, captain and announcements now get a larger window so you can more easily see the message you are about to send
2019-04-26 01:25:38 +02:00
LordFowlandErki 8d436c4a03 Converts all necessary << outputs into the to_chat() macro. (#6076)
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;

All << is converted into to_chat().
2019-03-10 23:39:03 +02:00
KarolisandErki 4065e29e86 Vue.js UI implementation (#4868)
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.
2018-08-04 20:19:29 +03:00
RonandWerner 6b957ffbc3 Fixes uplinks (#4517)
Fixes traitors being able to see the ninja categories
Fixes mercs being unable to see their special items
Fixes #4238
2018-04-03 10:24:53 +02:00
WernerandErki 8723dce8b7 Should send fake announcements to the ccia channel. (#4345)
Should send CCIA Announcements to the CCIA Channel.
2018-03-08 22:57:28 +02:00
RonandErki 81e8d371de Ninja changes (#3851)
This changes the ninja suit to start off with only essential modules. The Ninja now gets telecrystals and access to a restricted uplink category filled with hardsuit modules. Also adds the EMAG hand module, EMP dissipation module, and emergency power generation module. Other changes include a buff across the board for ninja including an increase in their armor values, a buff towards their ninja modules (which they now have to buy), and changing their suit to say "stealth" instead of ominous. This should make the Ninja have a better chance against security while also ensuring it maintains its stealth antag title.

 👍 5
2017-12-17 11:36:18 +02:00
WernerandErki 94fe548cf7 Should fix #3841 (#3861)
Makes printing announcments a parameter of .Announce() and changes a few announcements to use that.
Should fix #3841
2017-12-08 23:05:52 +02:00
AlberykandWerner deaddd90b4 Makes rev great again (#3605)
* Makes rev great again

* changelong
2017-10-12 19:55:59 +02:00
skull132andGitHub a3ec0cf45d Better SQL prepared statements (#2474)
The system used to be of complexity O(n^2). Essentially two for loops running per every argument. Which ended up being surprisingly slow (there were instances where I saw the argument parser as using quite a lot of CPU time).

This replaces it with a more linear algorithm. It's somewhere near O(n) where n is the length of the unparsed query. Which is more stable and faaaster. This comes with two changes, however:

Parameters inside the query now have to be delimited from both sides with : (colons). The alternative to this would be to use something like $n or just assume that space marks the end of a marker. Only the former is workable, the latter would break a few queries already.
Arguments in the argument array no longer have to be prefixed by : (colons). So, while in the query you would write :thing:, you'd initialize the array of args as: list("thing" = somevar). It could be made to work without it, but eh, I think this is fine.
Argument validation is slightly weaker. What I mean by this is that with the old system, unused keys would result in an error. This is no longer a thing. Missing keys will still result in an error, however.
One more improvement: double delimiting removes an edge case where if key A partially covers key B, depending on the order, key A would mangle key B.
Updated and tested all queries that I could find. So this should be good.
2017-05-29 21:17:41 +03:00
Lohikarandskull132 3be27b9efa Merge SSnanoui & Nanomanager (#2427)
Merges the NanoUI subsystem with Nanomanager, as well as cleans up some nanomanager code.
Most of the files in this commit are changed as a result of removing the nanomanager global in favor of the SSnanoui global.
2017-05-23 16:33:00 +03:00
Wernerandskull132 6e35029341 Fixes the contract uplink (#2204)
Right now its not possible to view the details about of a posted contract due to two bugs.

This PR fixes these bugs.
2017-05-13 12:51:42 +03:00
Alberykandskull132 7451b4aff7 Fix not working fake central command announcement (#1692)
- Fixes #1663
-maybe fix pAI not being selected
-fix invisible tactical tracksuits
2017-02-04 00:06:30 +02:00
Bedshapedandskull132 48f9c995b6 FINISHED ALL NON-PREF ERRORS (#27)
* code\game\machinery\cryopod.dm:482:error: orient_right: undefined var

* code\modules\mob\mob_movement.dm:272:error: mob.last_move_intent: undefined var

* code\modules\mob\living\simple_animal\simple_animal.dm:377&402:error: user.changeNext_move: undefined proc

* code\modules\mob\living\silicon\robot\robot_items.dm:31:error: loaded_item.reliability: undefined var

* fixes whatever to do with chameleon.dm

* camera.dm

* didn't get chameloeon the first time round

* uplink.dm

* code\game\objects\items\devices\PDA\PDA.dm:959:error: U.last_target_click: undefined var

* code\modules\clothing\head\misc_special.dm:159:error: icon_head: undefined var
2016-12-04 19:39:20 +02:00
skull132 87e041aa75 Merge remote-tracking branch 'bay12-upstream/master' into development 2016-10-07 00:58:39 +03:00
PsiOmegaDelta dcfe907ff0 Makes it possible to convert uplink TCs into physical form.
These crystals can be inserted into active uplinks, making it possible to trade them.
Variant of https://github.com/ParadiseSS13/Paradise/pull/3174/files.

The uplink now always shows the description to avoid annoying button shifting.
2016-01-11 16:58:42 +01:00