58 Commits

Author SHA1 Message Date
Wildkins 3d183d7262 Begin, the Lag Wars Have (#21839)
<img width="700" height="848" alt="image"
src="https://github.com/user-attachments/assets/e0db50af-35db-43c7-b78e-6c1ea5ac569c"
/>

you take a tiny little two year LOA and this happens
this PR hits some large lag culprits:
- UpdateOverlays() getting spammed by human/update_icon. This was 0.85%
of server CPU time during the event. Doesn't sound like a whole lot but
it's insane. 99% of it was caused by sloppy duplicate calls of
update_icon in set_dir (as well as update icon itself!). Refactored to
stop that
- Makes Follow menu update manually, which cuts down on the 2.8 million
REF() calls it made during the event. This was ~1% of CPU time including
ui_data as well.
- Gets rid of a bunch of random runtimes and some lighting-related
harddels.
- NanoUIs now clean themselves up when their owner qdels rather than
forcing the owner to do REF(src) and close all matching UIs. saves us
~0.1% server cpu time! wowza!
2026-02-09 23:20:48 +00:00
Batrachophreno 5277251959 Tool behaviors port (#21663)
For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.

This is all back-end code, no new features or functionality from this.
2026-01-27 08:44:49 +00:00
Batrachophreno 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
Ben a13f33a6e3 Ship/Shuttle Terminal Access Checks (#20227)
Ship consoles such as targeting and sensors now check for access.

Emagging a ship console disables access checks

Horizon shuttles given access requirements (bridge crew can access any
ship)

Went through most offships and added access requirements, likely missed
some however.

For access requirements, I only added them for helm control, targetting,
and shuttle control consoles

---------

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>
2025-01-31 13:53:50 +00:00
Matt Atlas 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
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 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
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
Fluffy 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
Fluffy d8d063edc6 EMP Refactor & Multi Z-level EMPs (#17781)
* sdfasf

* sdfas

* dsf
2023-12-04 19:37:49 +00:00
Matt Atlas 54dc8a0860 Adds TGUI say and TGUI input. (#17471)
* i alone am the honoured one

* THROUGHOUT HEAVEN AND EARTH I ALONE AM THE HONOURED ONE

* hollow point

* nanana

* ssss

* tgsay final touches

* stuff

* tgui inputs

* help

* carpal tunnel syndrome

* ffff

* again and again and again and again

* hehehehe

* dsada

* readd sanitize

* whoops

* dsad

* nah fuck that

* sd

* fix

* ow

* remove prefs for testmerging

* oops

* oops 2

* fix that

* f

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-10-11 23:26:59 +02:00
Geeves 33094b36de Shuttle TGUI (#17432)
* Shuttle TGUI

* eqeqeq

* escapeescapeescape

* bawkses

* linter
2023-09-29 22:38:14 +00:00
DreamySkrell db030df4d5 Docking Ports Management Program (#16802)
* stuff copied from the other branch

* aurorastation.dme reorder

* lint fixes

* docks gui prettier

---------

Co-authored-by: DreamySkrell <>
2023-07-23 18:27:43 +00:00
Fluffy 5e1332d60f OpenDream linting (#16468)
* I wanna set the universe on fire

* dfsaaf

* setup

* dir issue?

* dsf

* Perhaps the script

* saf

* cry

* pain

* sdfas

* Try reintroduction of tag-matcher

* Failed

* Tries to suppress dotnet compile warnings

* Like this maybe?

* woopsie

* Damn pathings

* Hate

* Pragmas

* unlint?

* Maybe?

* GDI

* Redundant ifdef removed and changelog

* Did I forgot the tag matcher, or it was still broken?

* Yea no that script is still broken

* Removed tag-matcher as requested

* *sigh*

* test

* bro what?

* hope

* just fixing the input

* Let's see if we catch it...
2023-06-26 17:05:38 +02:00
Wowzewow (Wezzy) c70f3e26cf The Computer-ening (#13831) 2022-06-04 23:19:33 +02:00
alberyk deb4a92282 console stuff 2021-10-10 15:08:16 -03:00
Geeves e44c4c15eb Overmap Pilot Helmets (#12185) 2021-07-21 14:10:33 +02:00
Geeves 9a2c292cf1 Flight Helmets (#11834) 2021-05-12 21:41:01 +02:00
Geeves b3891901ea Radiojammer Stationbound Blocking (#10246)
* AI Firedoor Rebalance

* Update geeves-because-the-question-is-incorrect.yml

* improve the implementation considerably

* Update geeves-because-the-question-is-incorrect.yml

* put this back

* jammer UI
2020-11-14 12:10:35 +01:00
Werner dddd452ed8 Cargo Order Logging (#9797) 2020-08-31 21:15:51 +02:00
fernerr b9db49aded CC-zlevel flattening, Antag base refurbishment, bugfixes and more (#9686) 2020-08-19 10:24:25 +02:00
Matt Atlas 2e5fdf970c Landmark Shuttles (#8512)
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."
2020-04-05 21:15:31 +03:00
Karolis 204b1614e3 Prevents shuttle from moving if there is no destination. (#7991) 2020-01-12 11:36:47 +01:00
Mykhailo Bykhovtsev 15640f0286 Lohikar's bugfixes (#6364) 2019-05-05 23:06:48 +02:00
LordFowl 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
Panter 9725d1d756 Corrected all occurrences of the typo 'recieve'. (#5236)
I replaced all occurrences of the typo 'recieve' with the correct spelling 'receive'.
2018-09-06 19:41:29 +02:00
BurgerLUA 1620d81661 Extinguisher + Container Reworks (#4793)
Reworked how slipping on tiles work. If there is too much lube/water on one tile, it will spread to all adjacent tiles.

Fixed a potential bug where spilling copious amounts of water on a tile will turn it to ice.

Containers are much more saner now. They all share a standard system, unless specified.

You can drink from any open holdable container using help intent. You can splash the contents of the container on anything via harm intent.

Sinks are more saner, you can refill or empty them easier with various refill amounts.

Removed silly exclusive cyborg limb checking for hyposprays.

Added a new chemsprayer, the "Xenoblaster" which is a significantly weaker chem sprayer. Two can be found in xenobiology.

Large reagent containers (beer kegs, water tanks, fuel tanks) now share a system together. Both can leak their reagents via harm intent with a wrench, and bother can accept any sort of reagent, with exception to the fuel tank.

Large reagent container leaking happens over time as opposed to just leaking every time it moves.

New chemical, Monoammonium phosphate. Monoammonium phosphate is a fertilizer and also a potent fire extinguishing and preventing chemical. It can be made with 1 part ammonia, 1 part sulfuric acid, 1 part sodium, 1 part phosphorus.

All extinguishers now have monoammonium phosphate in them instead of water.

Extinguishers can hold any reagent, however they must be filled using an extinguisher refiller cartridge. These can be ordered or found in atmospherics.

Nerfed the extinguisher range so it only sprays in a 3x3 radius.

Mini-extinguishers spray in a 1x1 radius.

Adds Monoammonium phosphate containers across the station.

Most watertanks are replaced with Monoammonium phosphate containers.
2018-08-05 20:14:00 +03:00
Lohikar 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
Ron 790480c8da Removes all \red and \blue's (#2309)
Removes all \red's and \blues in favor of span classes. \red things that were bold were replaced with danger because it's warning but bold.
2017-05-21 12:07:57 +03:00
Lohikar 0cba68911d Lighting Overhaul & General process improvements (#1612)
This is it. The big one.
Risk: Very large. This modifies or rewrites several important systems.
Some things still need balancing, but that's probably better done if/when this hits dev.

changes:

New smooth lighting system.
Machinery split into three processes: machinery, powernet, pipenet Removed due to breakage. Refactored into multi-step process.
Mob process rewritten.
NanoUI process rewritten.
Objects process rewritten.
Tweaked color output of station lights.
Slime core lights now emit colored light.
Fixed light update frequency issue with fire alarms, hydroponics trays, and airlocks.
Increased light emission from bolted airlocks.
Miscellaneous performance improvements.
New datum pool implementation.
New lighting usage profiler.
Lighting system now tracks UV light, which is not visible to players.
Space now has a parallax effect.
Disabled Spin View verbs due to incompatibility with the new lighting system.
Disabled hallucination view spin due to incompatibility with the new lighting system.
Lighting system now initializes in the lobby before the round starts to reduce BoR deadtime.
Added UV light tracking to lighting engine; dionae now gain energy exclusively from UV light.
Added colored lighting to a few consoles that used default (white) light.
2017-01-29 01:13:54 +02:00
LordFowl 5ccb627531 BayMerge Bugfix; Fixing guns, update computers. (#1263)
Fixes all the snowflake guns unique to our codebase with multiple firemodes so that they now actually behave correctly. Fixes a few bugs relating to computers, and updates modular_computers to use holoscreens.
2016-12-21 21:48:04 +02:00
SoundScopes 97bb1e8e38 Travis: Indentation / list fixes (#1254)
Fixes the tools/indentation.awk script to not demand a comma at the end of perfectly valid comments.
Makes it report unnecessary commas in lists.
Readds it to the Travis build list.
2016-12-19 16:40:52 +02:00
PsiOmegaDelta 89e85925c9 Merge pull request #11516 from Baystation12/dev-freeze
Dev
2015-11-24 14:35:56 +01:00
PsiOmegaDelta e67ff9e903 Merge remote-tracking branch 'upstream/master' into dev-freeze 2015-11-24 14:02:15 +01:00
PsiOmegaDelta 782f0a8bfb Makes shuttle control consoles sturdier.
Fixes #11501.
2015-11-22 11:37:14 +01:00
PsiOmegaDelta 87d4cf4f68 Computers are now overlay based.
Computers now use an overlay based system, instead of demanding a full set of icons (on, off, broken) for every different computer.
Partially ports ParadiseSS13/Paradise#1468 which is a port of tgstation/-tg-station#9931.
2015-07-07 17:23:49 +02:00
PsiOmegaDelta cc7c502fb8 Updates emag attackby usages to emag_act where it's not too much of a headache. 2015-06-16 09:34:13 +02:00
mwerezak 6d15809768 Corrects return values for the Topic procs of several computers and some other machines as well. 2015-02-25 21:32:35 -05:00
mwerezak 550e5f63ea Makes forced launch handled by shuttle/process()
Forced launches are now run by the shuttle controller through process()
instead of in a separate 'thread' launched from the ui.
2014-12-06 18:07:21 -05:00
Mark Aherne 7e7e6cd8ac Continued work in progress on a major revision of the NanoUI templating system. 2014-07-11 10:48:42 +01:00
Walter0o 3e95ad9786 adds shuttle_control access check to proper place 2014-07-04 21:38:39 +02:00
mwerezak 93c13a06d5 Fixes base shuttle console requiring engine access 2014-06-26 14:48:29 -04:00
mwerezak d892099ea3 Adds direction arg for area/move_contents_to()
Attempts to fix shuttle corner transition effect
Fixes bad ETAs appearing on status displays
2014-06-23 23:51:47 -04:00
mwerezak e17b8bffab Replaces the emergency shuttle control console
Replaces the old emergency shuttle control console with a nice new
NanoUI one. Improves the NanoUI for the docking controllers.
2014-06-23 22:01:21 -04:00
mwerezak 9e0562b16c Adds shuttle controller
Moves all ferry shuttle processing into one place: the new shuttle
controller.

Also cleans up the emergency shuttle controller a bit more and fixes
multi-shuttle cooldown.
2014-06-23 22:00:57 -04:00
mwerezak dc304026a9 shuttle_controller now uses a shuttle datum 2014-06-22 18:10:56 -04:00
Zuhayr 69d25ea048 Merge pull request #5301 from mwerezak/cargo-shuttle2
Docking Controllers Stage 3: Cargo Shuttle
2014-06-19 21:08:29 +09:30
mwerezak 462593f0b5 Adds supply shuttle datum 2014-06-18 19:37:30 -04:00
mwerezak 2daab86c89 Fixes special shuttle consoles being...
...deconstructible
2014-06-18 09:37:30 -04:00
mwerezak 6d07d99885 Fixes old ferry shuttles (e.g. supply) not being able to use move() directly.
This shouldn't be necessary once the supply and emergency shuttles are
updated to the new system, however it will keep them working in the meantime.
2014-06-15 11:57:57 -04:00