182 Commits

Author SHA1 Message Date
Cody Brittain 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
Cody Brittain 364622508d Added a unit test to create defines for Font Awesome entries. (#21738)
Added a unit test that automatically generates byond defines for Font
Awesome entries. I need this for future usage, and it's difficult to get
a list of Font Awesome entries anyway. This solves both problems in an
atomized PR.
2026-01-27 19:02:09 +00:00
VMSolidus e0f4b3b7fc Update To 516.1673 (#21676)
This PR updates the repo fully to Byond 516.1673. We now have access to
Associative Lists, Vectors, Matrices, and a huge number of math
improvements tha will allow us to catapult the repo into a new era of
simulationism.

I have tested this PR to verify that it works.
<img width="1076" height="1079" alt="image"
src="https://github.com/user-attachments/assets/c69a7276-7611-4a59-8630-46d8dd8a12a6"
/>
2025-12-23 23:13:42 +00:00
ike709 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
Matt Atlas 94d92803b4 Replaces our lighting system with CM's. (#21465)
Depends on #21458.

Ports https://github.com/cmss13-devs/cmss13/pull/4229, with the original
authors as:

- https://github.com/tgstation/TerraGov-Marine-Corps/pull/1964 for the
lighting controller (A-lexa)
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/4747 and
https://github.com/tgstation/TerraGov-Marine-Corps/pull/7263 for the
lighting (TiviPlus)
- https://github.com/tgstation/tgstation/pull/54520 for the dir lighting
component
- https://github.com/tgstation/tgstation/pull/75018 for the out of
bounds fix in lighting
- https://github.com/tgstation/TerraGov-Marine-Corps/pull/6678 for the
emissives (TiviPlus)

The main driving reason behind this is that current lighting consumes
way too much processing power, especially for things like odysseys/away
sites where a billion light sources are processing/moving at once and
the game slows down to a crawl. Hopefully this improves the situation by
a good margin, but we will need some testmerging to confirm that.
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/1059ba2b-c0c5-495a-9c76-2d75d0c42bf2"
/>
<img width="1349" height="1349" alt="image"
src="https://github.com/user-attachments/assets/9704b0f6-4cf6-4dfd-a6cb-5702ad07d677"
/>


- [x] Resolve todos
- [x] Look into open space fuckery (border objects)

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: JohnWildkins <john.wildkins@gmail.com>
2025-11-04 21:27:42 +00:00
Batrachophreno 4d41b0595f Horizon mapping cleanup and bugfixes (#21450)
Fixes https://github.com/Aurorastation/Aurora.3/issues/21289
Fixes https://github.com/Aurorastation/Aurora.3/issues/15779

Handles a lot of mapping cleanup, container definitions for the Horizon,
and several bugfixes found along the way.

changes:
- code_imp: "Added set definitions for several Horizon-specific
containers."
- code_imp: "Updated 'full' material stacks on the Horizon from sneaky
var-edited singles to properly defined full stacks"
- code_imp: "Cleaned up all Air Alarms, Fire Alarms, and APCs on the
Horizon that were directional children with their dir var edited."
- code_imp: "Cleaned up all Power Cables on the Horizon that had d1 or
d2 var edited instead of just icon_state."
- code_imp: "Adjusted pixel shifts for 'south' (north-facing) Air
Alarms, Fire Alarms, APCs, and Extinguisher Cabinets to address layering
issues when standing vs. leaning."
- code_imp: "Minor refactor of shuttle/* Air Alarms and APCs to reduce
excess children; req_one_access perms now assigned based on
/area/horizon/shuttle/*."
  - qol: "Adds feedback hint for uses remaining to Emag cards."
- qol: "Added Tip about the shift-click behavior of the 'up-hint'/'Look
Up' button."
- bugfix: "See-through turfs (like lattices/catwalks over open space)
can now be Looked Up through from below."
- bugfix: "Fixed the shift-click behavior of 'up-hint'/'Look Up' button,
allowing you to see nearby turfs that can be Looked Up through."
- bugfix: "Maintenance Panels located on the floor have had their
layering issues fixed."
- bugfix: "Borg eye emissive effects MAYBE no longer visible through
higher z-levels."
- bugfix: "Added missing leanable component to window/shuttle obj type."
2025-10-07 22:12:03 +00:00
Wildkins 290032afc7 Turn hydroponics get and set_trait into defines (#21404)
Hydroponics tray processing is a massive chunk of machinery processing
for no good reason, I have a sneaking suspicion that this is due to proc
overhead on get_trait, as process can call it upwards of 30 times per
tick per tray.

Realistically most of the things that are traits should instead be
variables, but that's a refactor for someone with more time.
2025-09-28 12:09:49 +00:00
Batrachophreno 1945278f24 Unit test: Debug flag on away sites (#20984)
Adds unit test for debug flag accidentally left on away sites
2025-08-09 12:24:11 +00:00
Batrachophreno 0851144182 Area definitions cleanup (Horizon/Runtime) (#20914)
**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.
2025-07-25 19:16:33 +00:00
hazelrat 4d5d2c340e Expands hydroponics temperature/light mechanics (#20890)
This is sorta bulky on the changes since it includes a lot of shuffled
documentation, so I'll try to thoroughly summarise here.

- Introduces 'preferential' temperature and light values to plants. This
means that, while a plant is _within_ 5K and 2 lumens of their ideal
heat and ideal light, they will grow faster than otherwise. In the
current implementation, the base growth is a 15% chance of age being
increased, plus another 15% if you're within preferential temps, and
another 5% if within preferential lumens for a maximum of 35%. This is
intended to incentivise engaging with temperature mechanics to grow
plants with unusual requirements.
- This is different to the existing tolerance values, which instead
check whether the plant is _outside_ of them - if they are, it damages
them. Tolerances cause the plant to die if they're too far from their
ideals, preferences cause the plant to grow faster if they're very close
to their ideals. The range of preferences should always be inside
tolerances.
- To work better with this, the ideals of a few kinds of plant have been
tweaked. Mushrooms, Adhomian plants, and molluscs will all **not** be in
their preferences at room temperature - they will need to be cooled,
which can currently be done in D1 hydroponics. A few warmer plants, such
as sugarcane, will need to be warmed up to reach their preferences.
- None of these will go outside of their tolerances at room temperature
- they won't die, they'll just grow slower.
- Most plants will be within all their preferences without any action by
the gardener.

There's also a few assorted QoL changes to hydrotrays, see the
changelog.

---------

Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2025-07-12 18:21:31 +00:00
Matt Atlas 3837112bd1 Revert "Fix missing pixels in new hairstyle" (#20854)
bad merge
2025-06-17 02:33:31 +02:00
Batrachophreno 156620ad4f Fix missing pixels in new hairstyle (#20828)
See title- the new haircuts leave two pixels of the head uncovered, this
fixes that. My bad, know better testing now... :(
2025-06-16 22:16:59 +00:00
hazelrat b03f76fdd7 Gives Geras Dionae melee armour (#20750)
As title, requested by Diona lore with the intention of making Geras
more viable fighting simplemobs - particularly if you want to play one
as a miner.

This is the same rank of armour as a Vaurca Bulwark, though missing
their substantive brute modifier. This has been implemented as melee
armour instead of a brute modifier so they aren't any less susceptible
to projectiles.

Doesn't apply to Coeus Dionae.
2025-06-11 09:56:04 +00:00
Fluffy 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
Fluffy 389466360e Areas and station areas work (#20195)
Refactored sorting.
Added test to verify all horizon areas (outside exceptions) are marked
as station areas.
Added test to verify shuttle areas are not marked as station areas.
Refactored how the area sorting var is made and used.
Added a global list of all areas.
2024-11-27 13:13:44 +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 2ac1681fd8 Modular computer programs preset support unit test (#20069)
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.
2024-11-14 14:15:19 +00:00
Fluffy d40d459d42 Refactored movement observable away (#20083)
Refactored movement observable away, use only the signal.
Some tweaks to the signal.
2024-10-26 15:53:07 +00:00
Fluffy d9c44532fc Refactored directionals (#20082)
Refactored directionals, ported lists of directions from TG, got rid of
useless proc to get the reverse direction.
2024-10-25 17:56:02 +00:00
Fluffy 404c90f688 Replaced the outside turfs with exoplanet ones for the digsite (#20066)
Replaced the outside turfs with exoplanet ones for the digsite.
Fixed some exoplanet areas not having an exoplanet base turf.
Wrote a unit test for exoplanet areas to ensure they have an exoplanet
base turf.
2024-10-20 18:49:39 +00:00
Fluffy a623e22eda AmbiguousInOrder ODLint (#20046)
Enabled AmbiguousInOrder OpenDream linting to error out
Fixed ambiguous orders with parenthesis to explicit orders
No player facing changes
2024-10-16 21:14:20 +00:00
Fluffy bec05df121 ZAS CBT (#20064)
Let's see what broke this time
2024-10-16 19:06:20 +00:00
Fluffy 42a42143a6 Fix compilation (#20028)
Fixed compilation, forgot that var is only available if TESTING is
defined
2024-10-10 16:58:25 +00:00
Fluffy ee930d675a Maploader tweaks (#20026)
Fixed the maploader sleeping without reinitializing SSAtoms to
initialize, which caused some runtimes in niche cases in the CI.
2024-10-09 22:52:06 +00:00
Cody Brittain 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
Fluffy 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
Fluffy 41a05bc196 Refactored the abstract meta propriety (#19797)
Refactored the abstract meta propriety into defines.
It's now more easy to spot/see abstract types thanks to the macro that
defines them.
Added a check on initialization of atoms to avoid spawning abstract
types.
Made the spawn_atom proc check for abstractness.
Made the spawn_atom proc use tgui_list for types list shorter than 1000
elements, which enables to search in them. It's too laggy on larger
lists so above 1000 it uses the builtin input.
Made the spawn_atom use a list subtraction instead of a double list,
it's lighter on memory and processing.
2024-08-23 10:49:28 +00:00
Fluffy f26e4a0380 Collapse dmms (#19698)
Collapsed all the multi-z dmm maps into single-file dmms
Moved some of the map geometry into traits
2024-07-27 19:00: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
Fluffy 1345beac4b Added the z-level manager system from TG (#19532)
Added the z-level manager system from TG, mostly
2024-07-22 13:00:38 +00:00
Fluffy 5c295f5a10 Landmarks works (#19006)
Fixed some landmarks harddels.
Refactored various landmarks in their own subtype instead of using a
name-based switch system.
2024-04-28 17:04:40 +00:00
Fluffy d2ee41073e Split ruins tests into different pods (#18988)
Split ruins tests into different pods
2024-04-25 12:04:18 +02:00
Fluffy ab23fbdb70 Function overloads condensation (#18939)
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).
2024-04-19 21:19:41 +00:00
RustingWithYou 34e3c3570c Ports Baystation Click Handling & Build Mode (#18896)
Ports the changes to clicking and build mode made in
https://github.com/Baystation12/Baystation12/pull/16292
2024-04-13 16:14:02 +00:00
Fluffy 4e76fc5133 Ruins sanitization and unit test (#18923)
Properly split and use prefixes and suffixes, unit test to verify the
file exists and is not empty, and that the format convention is
respected
2024-04-12 22:21:34 +00:00
Fluffy 343b989747 Mob death signal mannequin ref clearing (#18639)
* Atomization

* sdafs

* sadf

* sdfa

---------

Co-authored-by: FluffyGhost <FluffyGhost>
2024-03-17 21:54:58 +00:00
Fluffy 29f616a5b1 Removed various set backgrounds (#18634)
* Atomization

* sadf

---------

Co-authored-by: FluffyGhost <FluffyGhost>
2024-03-13 21:27:27 +00:00
Fluffy 3236d83cc2 Ballon Alerts and Baloon Chat update (#18587)
* asdf

* sdfa

* sdf

* fghd

* sdf

* dsaf

* sdfsad

* offset more, hopefully fix harddel 4real this time

* sadf
2024-03-09 22:12:20 +00:00
Matt Atlas 13cbf1267e Added a new mob and a weapon for Purpose. (#18500)
* extreme measures

* hunter killer

* Adds a new mob and a weapon for Purpose.

* cl

* Update code/modules/clothing/spacesuits/rig/suits/terminator.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

* Update code/modules/projectiles/guns/energy/scythe.dm

Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>

---------

Signed-off-by: Matt Atlas <mattiathebest2000@hotmail.it>
Co-authored-by: Matt Atlas <liermattia@gmail.com>
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
2024-02-26 08:47:49 +00:00
Fluffy 91e89a3d73 Attempt fix blackscreen (#18434)
* first reordering, committed in case i fuck up badly next

* from the moment i understood the weakness of my flesh

* sdafa

* you asked for this

* we can't have nice things

* sdafasdf

* sdafasd

* sdfa

* fsa

* worth a shot

* more pain

* sdfasdf
2024-02-20 11:37:52 +00:00
Fluffy 4311296f91 Stairs unit test (#18465)
* sdf

* fsaddf

* sadf

* sadf

* expanded documentation on stairs
2024-02-20 11:37:30 +00:00
Fluffy ebbe79d457 Ruins UT should not randomly allow broken ruins to pass the test anymore (#18406)
* sdfa

* pain

* hb

* sdaf

* hjkb

* fsda

* sdaf

* sdfa

* dfg

* safd

* gdfg

* sadfas

* even in death we serve the omnissiah

* asdf

* sfad

* sadf
2024-02-15 16:21:22 +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 849340274d sdaf (#18321) 2024-02-08 12:38:28 +00:00
Fluffy 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
Fluffy f481143eb4 Operating Tables Refactor (#18340)
* sadf

* sdf

* adeste fideles

* sadf
2024-02-08 12:08:09 +00:00
Fluffy 1da2f6e7b8 Added a ruins UT (#18290)
* sdfa

* fas

* the godness guides, the godness protects

* sadf

* sdf

* fsa

* exoplanets_ruins config for UT

* sdaf

* sdf

* curse upon me
2024-01-30 11:00:23 +00:00
Fluffy cc74d7dcc8 Updated spatial gridmap (#18244)
* sadf

* jhbkhbh

* hope

* gsda
2024-01-21 23:29:42 +00:00
Fluffy 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
Fluffy e867030c2e Update MC (#18112)
* sdf

* fsda

* fuck

* fuck2

* toolz

* sdaf

* sdfa

* saf

* sdfa

* sdfa

* sdf

* sdfa

* temp rename

* temp rename

* temp rename

* sdaf

* the pain is immensurable in the land of byond

* the curse of rah

* safd

* sadf

* sadf

* gf

* asf

* fssdfa

* sfd

* sadf

* sfda

* brah

* brah

* it's easier for you to fix this

* ffs

* brah

* brah
2024-01-06 17:03:57 +01:00