51 Commits
Author SHA1 Message Date
siliconsandGitHub 6144b87b9a [IDB IGNORE] [MDB IGNORE] orbital support update 1 / 3 (#7361) 2026-01-20 14:46:22 +01:00
siliconsandGitHub c93dd0afe6 virtual level helpers for mapping subsystem (#7488)
used to go in directions when levels are stitched together across
z-levels
2026-01-16 23:57:55 +00:00
siliconsandGitHub 60db51850c experimental gc / init fixes and optimizations, and fixes emotes (#7431) 2025-12-15 09:13:19 +01:00
4ab234f10c maploader / overmaps update - struct system, overmaps location bindings, misc backend improvements (#6403)
tl;dr level collections that can easily be logically restructured/moved
as necessary

will eventually be used for radio and overmaps location resolution.

this is the last part of
https://github.com/Citadel-Station-13/Citadel-Station-13-RP/pull/4841
that has not yet been integrated.
this will be a draft for a while.

---------

Co-authored-by: LetterN <24603524+LetterN@users.noreply.github.com>
2025-11-06 17:49:23 -08:00
siliconsandGitHub 5f16804ab2 riot suppression electrostaff (#7365) 2025-11-04 10:19:06 +01:00
siliconsandGitHub b131da168a adds custom overmap loading and some general overmap / area fixes (#7357) 2025-10-16 18:53:52 +02:00
siliconsandGitHub 508911787e experimental zstack fix (#7332) 2025-10-14 19:19:24 +02:00
10d2505338 TGUI update (from letterN branch) (#7244)
Co-authored-by: LetterN <24603524+LetterN@users.noreply.github.com>
2025-10-04 10:45:41 +02:00
SorrowfulwindsandGitHub 95790dae04 Repairs the gateway away mission selection (#7107)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Turns out the Gateway is supposed to pick a random away mission at the
start of every round. You know that stargate rip off in the back of
explo?
Looks like it's been loosely broken since #2917 4 years ago. Though I
don't remember anybody ever using the gateway since before that.

This PR fixes the system and simplifies it quite a bit. 
code/modules/awaymissions/zlevels.dm is now gateway_maps.dm

The method for loading and picking a map has been reduced to a hardcoded
list in gateway_maps.dm instead of using a hardcoded txt file loaded
using a bunch of nonsensical string processing.

There are 4 functional maps I've fixed and added back in:
Carpfarm
Listening  post
Snowfield
Snow outpost

Zoo would be really nice to have but it has a number of issues that are
outside the scope of this PR so I've set it as a TODO.
Similarly I'm sure a bunch of the archived missions might be quite fun.

For those unfamiliar with the gameplay loop of the Gateway (considering
its never worked):
1. The gateway has a ~30 minute timer roundstart where it is performing
"warpspace triangulation". (Click on it it will tell you)
2. After that timer is over you can activate the Gateway and walk into
it.
3. This will teleport you to the Gateway mission level randomly.
4. Find the Gateway in the mission level and smack it with a multitool
to calibrate it and return.
5. Once you calibrate the return gateway you can teleport between the
two freely.
!!All of these maps are explo HARDCORE mode and will absolutely kill
you. This ain't miaphus!!


Devdocs:
If you want to make a gateway map it's extremely simple!:
1. Build a gateway, It's like 8 separate pieces just copy one from a
station map.
2. Set the gateway console center bit to a:
/obj/machinery/gateway/centeraway.
3. Sprinkle your map with /obj/landmark/gateway_scatter. 
- Players will be randomly teleported to these while the gateway is
uncalibrated. Consider them your starting spawns.
5. Add a /datum/map_level/gateway/[mapname] and a
/datum/map/gateway/[mapname] to your maps .dm file
- See maps/away_missions/carpfarm_140/carpfarm.dm for example.
6. Add the /datum/map/gateway/[mapname] path to the
potentialGatewayLevels list in
code/modules/awaymissions/gateway_maps.dm.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
I don't particularly want the Gateway to even exist from a lore and game
design standpoint.
But content today is better than content tomorrow.
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog
-Rebuild gateway away mission maps
-Rebuild gateway away mission selection at roundstart
-Touch up away_mission folders and names
<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑 Shadowcat
refactor: refactored gateway mission code
fix: Fixed gateway random mission picker
fix: Fixed a few gateway missions to actually work
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2025-04-26 11:22:22 -07:00
siliconsandGitHub 4137b01947 guncode update (and misc refactors) (#6740) 2025-02-22 16:31:23 +01:00
siliconsandGitHub 9d6a141e5b mc update: init stages, better subsystem init tracking, etc (#6857)
modifies the hollow metrics API; that'll probably be implemented soon
adds init stages
changes SSatoms to not abuse its `initialized` variable

closes #6858
2024-11-15 14:41:25 -07:00
siliconsandGitHub 59d7d4411d shuttle templates and some ports from shuttles branch (#6755)
to enable new shuttles to be made.
2024-09-19 23:17:53 -04:00
siliconsandGitHub b0cec39d84 overmaps 1 - generation & spatial (#6550)
here we go gamers
2024-07-14 18:20:27 -06:00
siliconsandGitHub 43a8f6fd98 turf reservations - borders (#6536) 2024-06-24 11:28:17 +02:00
e9dd4a8893 factions cleanup - removes most factions from station (#6531)
Co-authored-by: BlueWildrose <57083662+BlueWildrose@users.noreply.github.com>
2024-06-24 11:25:21 +02:00
siliconsandGitHub 57eec77ebf Fixes bad maps being picked in CI (real) (#6534) 2024-06-21 09:26:51 +02:00
siliconsandGitHub 7b5c263ae5 fast turf reservation lookups & aligned spatial grid lookups (#6532)
# why?

non-player facing

we're going to need fast lookups for "is this thing in range of this
other thing" at some point, for things like telecomms

this current solution consumes about 16KB per reservation level

we also add the capability to use spatial grids to quickly get atoms on
a level.
spatial grids are also at 16KB per grid, per world level

all in all worth it in my opinion.
2024-06-20 17:26:53 -06:00
siliconsandGitHub efc6e6111a Spatial Grids (#6521) 2024-06-19 19:24:46 +02:00
siliconsandGitHub 615c08671d fixes infinite loop in map system (#6494)
FUCK
2024-06-05 20:41:37 -06:00
siliconsandGitHub 6037dd194c shuttles/storytellers - maploader injections and context (#6464)
i decided to atomize my prs a little

- map obfuscation module upgraded
- obfuscation now happens via mangling id, inspired by nebula. atoms loaded with the same mangling id will generate the same obfuscated ids from a given and matching input id
- /datum/map_injection added; it's a composition-based system for modifying maps during spawn
- /datum/map_injection/starting_gear; inspired by barotrauma, pretty much just injects starting gear as necessary with a given configuration. multiple of these can be stacked in a given maploading.
- /obj/map_helper/gear_marker; markers for where starting_gear should populate things.
2024-06-04 20:47:18 +02:00
siliconsandGitHub 4269e13f32 access helper system + airlock access helpers (#6457) 2024-05-26 20:04:46 +02:00
LordMEandGitHub e1b0434c0d print map when starting Mapping init (#6387)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
qol: Mapping subsystem now prints the active map to world, so you know
on which map IntTest errors occur
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2024-04-14 21:54:23 -07:00
c13f143417 maybe fixes travis (#6335)
Co-authored-by: silicons <no@you.cat>
2024-03-13 09:40:32 +01:00
siliconsGitHubVM_USER <VM_USER>silicons
8ca04ad274 persistence update + spraycans + graffiti + persistent debris + glass shards (#4301)
Co-authored-by: VM_USER <VM_USER>
Co-authored-by: silicons <no@you.cat>
2024-03-04 23:06:10 +01:00
e2dae42dc4 runtime maploading 2/3: multiz update (#6145)
3/3 is world structs and the fun that comes with that

this pr has:

- transitions
- new multiz system
- lookup optimizations
- misc updates

---------

Co-authored-by: silicons <no@you.cat>
2023-11-26 18:55:55 -08:00
7986ef5daf map rotation (#5835)
Co-authored-by: silicons <no@you.cat>
2023-08-09 20:14:13 +02:00
4289b2169f relicenses a bunch of files written entirely by me to MIT (#5762)
i decided i'm following in stylemistake's light

the files in this pr are entirely written by me instead of regurgitated
tgcode;
i'm also marking a lot of other files but they're in their own prs
(inventory module in hand pr, materials/atom damage related stuff in
atom damage, etc)

Co-authored-by: silicons <no@you.cat>
2023-07-23 11:23:51 +01:00
07102bc841 triumph 192x192 + adds atlas levels instead of triumph levels (#5743)
Co-authored-by: silicons <no@you.cat>
2023-07-22 11:59:53 +02:00
siliconsandGitHub 9d7f15056a SSmapping now writes next map immediately when admin-verb change map'd (#5706)
stops crashes/harder reboots from preventing map swaps.
2023-07-16 21:26:32 +01:00
89dd0d6625 fixes planet generation (#5659)
Co-authored-by: silicons <no@you.cat>
2023-06-29 17:14:31 -07:00
2333345890 legacy map ports & maploader adjustments (#5620)
Co-authored-by: silicons <no@you.cat>
2023-06-19 09:44:28 +02:00
siliconsGitHubVM_USER <VM_USER>silicons
fd5e67ff71 runtime maploading: fifth time is the charm (#5524)
Co-authored-by: VM_USER <VM_USER>
Co-authored-by: silicons <no@you.cat>
2023-06-15 19:21:14 +02:00
11f2ff42d5 [MDB IGNORE] kicks all _maps/ back to maps/ (#5228)
since lohikar / moony talked sense into me we're not doing the
everything must be .json thing anymore

this means there's no more point to separating the folders

i'll be unifying the maploader after this pr and adding
traits/attributes as-is

---------

Co-authored-by: silicons <no@you.cat>
2023-03-26 15:07:09 -07:00
cba27ca08b Triangulation + Bioscanners (#5100)
Co-authored-by: silicons <no@you.cat>
Co-authored-by: Felix <58342752+TheLordME@users.noreply.github.com>
2023-02-25 12:47:17 +01:00
a4e709d740 reworks gps (#4930)
Co-authored-by: silicons <no@you.cat>
2023-01-08 16:32:59 +01:00
1a524b77eb SSao, Z-Mimic, and O7 Lighting (#4846)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
Z-Mimic is nice.

Currently just SSao atm, why SSao? Filter-based ao doesn't really work
with Z-Mimic

O7 Lighting cause I got tired of trying to make ours work with this. But
hey, we got directional lights now so that's cool.

🆑 @Zandario & @Lohikar
add: SSzmimic
add: O7 Lighting
add: SSao
del: SSopenspace
tweak: Lights now can shine in angles between 0 and 180
/🆑

Co-authored-by: Lohikar <lohikar@protonmail.com>
2023-01-01 05:04:11 -08:00
siliconsGitHubVM_USER <VM_USER>
2a1ab43518 experimental performance fixes (#4870)
Co-authored-by: VM_USER <VM_USER>
2022-12-27 15:26:12 -06:00
siliconsGitHubVM_USER <VM_USER>
f13aa201e8 adds standard turfmakers (#4835)
Co-authored-by: VM_USER <VM_USER>
2022-12-16 20:04:43 -06:00
siliconsGitHubVM_USER <VM_USER>
fa3856bf7f renames flags to atom_flags for, well, atoms; transitions some reasonable atom flags to be more, well, obvious (#4837)
Co-authored-by: VM_USER <VM_USER>
2022-12-15 18:54:20 +01:00
siliconsGitHubVM_USER <VM_USER>
94dd2baeb4 sorts file helpers; add directory walk helpers (#4703)
Co-authored-by: VM_USER <VM_USER>
2022-11-12 19:12:09 +01:00
siliconsGitHubVM_USER <VM_USER>
7b23c31c84 vis contents gas overlays but they don't explode this time (#4442)
* changes hopefully this isn't a memory leak aha right haha

* fastboot

* oh the preprocessor sucks lol

* oops

* ay

Co-authored-by: VM_USER <VM_USER>
2022-09-24 23:48:49 -07:00
siliconsGitHubVM_USER <VM_USER>
6dec5d41e7 refactors pushing, movespeed, actionspeed, throwing, movement, pass flags, and probably things i forgot about; adds overhand throwing (#4360)
* initial

* wack

* changes

* insanity

* staging

* t

* note2self

* wild

* find replace

* changes

* pain

* fixes

* that's right out

* augh

* augh

* wild

* lol

* fuck this not refacotring all that in one day

* oopsy doopsy

* that goes away

* fixes

* pain!

* throwing stuff

* Fixes

* g

* eternal curse upon you, space indenter

* eternal curse upon you, space indenter x2

* real combat refactor energy

* refactors

* stuff

* subsystem logic

* a

* pain

* logic

* push logic

* logic

* i hate micros

* fixes

* a

* convert the rest

* let's finish this

* s

* fixes

* aah.

* augh

* AUGH

* stuff

* a

* more

* a
git pu

* fixes

* fixes

* fix

* fixes

* warnings

* more

* maybe don't have them throw past walls

* fixes

* ack

* f

* better ui

* fixes

* fixes

* a

* proximity monitors

* proximity monitors

* proximity monitors

* wack

* swap stuff

* a

* fix

* fix

* fix

* default

* Fix

* fixes

* ayy

* aoug

* aoug

* stuff

* fix

* fix

* ay

* ay

* ough

* ayo

* fix

* cannon

* wack

* i tested it

* fix

* why

Co-authored-by: VM_USER <VM_USER>
2022-09-08 01:43:03 -07:00
siliconsGitHubfake_vm_user <fake_vm_user>VM_USER <VM_USER>
934ad25bfe refactors: inventory, mousedrag, stripping, species bodytypes, inventory HUD, and probably some unrelated things (#4092)
* start

* i hate people who pack shit into one file

* sigh

* regex

* inventory rework

* stubs

* regex

* this is insanity

* oh no

* backend moment

* a

* changes

* wild

* regexing

* changes

* put in hands

* more errorS

* attackby

* more helpers

* replacements

* wild

* fixes

* pain

* fxies

* fixes

* unneeded

* ape

* ape

* wild

* wild

* more

* wild

* there

* fixes

* fixes

* l

* wild

* more

* moer

* fixes

* enough for todayd

* regexing

* long time coming

* shaking and crying

* end me

* fixes

* fixes

* e

* fxies

* rig refactor moment

* fixes

* fixes

* fixes

* fixes

* out with the shitcode

* thanks git

* partial rig rewrite here we go

* more

* fixes

* WWWW

* ok

* wild

* bitfield defines

* nobludgeon

* pain

* pain

* fixes

* more

* wild

* wild

* fixes

* pain

* move behaviorsr

* fixes

* next up, finishing core procs

* y

* .

* time to finish this

* time to finish this

* propagate accessories

* hate this accursed engine

* hate this accursed engine

* pain

* more

* cancer

* epic

* genuinely hate

* wild

* that

* why

* circuitry is my bane

* y

* how

* sort

* logging

* logging

* im dying

* fixes

* next

* f

* more

* epic style

* fixes

* on meta

* fix

* wild

* uh

* quirky

* fixes

* agh

* pain

* fixes

* fix

* sigh

* a

* epic1

* fixes

* ugh

* epic

* fixes

* uhh.

* is this even a fix

* fix

* fixes

* fixes

* we love optimization

* wear over system

* correct

* worn over stuff

* just augments

* coggy

* implant magnetic catch

* implant magnetic catch

* fixe

* a

* g

* t

* fix

* fix

* wack!

* fix

* a

* semantics

* fix

* that

* fixes

* handle denesting

* w

* fixes

* e

* bugs

* fixes

* fixes

* unit tests

* absolutely wild

* fixes

* fix

* fix

* fixes

* on god this is bad

* fixes

* fixes

* fix

* fix

* wacky!

* fix

* wack

* manual

* fixes

* closets

* OOPS

* wack

* pain

* pain

* flags

* regex

* fixes

* wakc

* changes

* more

* augh

* more

* replaces

* more

* that

* acc

* acc

* fix

* fix

* fix

* oh woops that was important

* wack

* epic

Co-authored-by: fake_vm_user <fake_vm_user>
Co-authored-by: VM_USER <VM_USER>
2022-07-29 00:20:47 -07:00
siliconsandGitHub 3085c68890 [MDB IGNORE] repaths landmark back to /obj because I apparently am an idiot (#4197)
* oops

* why

* here you go

* oops
2022-06-14 14:58:22 -07:00
ZandarioandGitHub 5a7f357b85 CitadelRP (#4108)
* dme and dmb

* Heeeere we gooo

* fasease

* Continued.

* AAAAAAAAAAAAAAAAAAAAAAAA

* Brain going numb

* agh

* The suffering will be worth it... right?

* Going blank...

* Am I done?

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* Fixes

* Should be everything I care about right now.
2022-05-26 01:37:55 -07:00
siliconsGitHubfake_vm_user <fake_vm_user>
c85571f7f4 adds wave automata, reworks sonar (#4042)
* start

* stuff

* stuff

* rm

* gotta be fucking kidding me i hate byond

* a

* a

* sigh i just remmebered why i didn't do that

* a

* a

* stub

* Shadowcast

* Shadowcast

* Shadowcast

* uh oh

* uh oh

* Wild

* Wild

* Wild

* automata stuff

* stuff

* let's go

* that

* that

* fixes

* fix

* fxies

* fixes

* that works

* diagonals

* diagonals

* diagonals

* diagonals

* diagonals

* diagonals

* diagonals

* diagonals

* diagonals

* diagonals

* diagonals

* wild

* wild

* i hate lummox

* ihate you byond

* wow.

* refactor that

* why

* fix

* mistakes

* thank you bhijn

* wild

* i'm an idiot

* adjust

* adjust

* that

* blacklist that too

* what if we

* Fix

* fin

Co-authored-by: fake_vm_user <fake_vm_user>
2022-05-19 21:33:17 -07:00
siliconsandGitHub 237a184c7f fixes some things breaking from last sync (#4078)
* logs

* that

* this

* this
2022-05-18 20:11:52 -07:00
ZandarioandGitHub ed27a01b58 Massive backend updoot: Juke Build, TGUI upgrades, Soft Ping, and too much to list! (#3990)
* Time to become our TGUI God.

* Visually sprucing the copyrights.

These shouldn't be ignored :)

* babababa

* https://github.com/tgstation/tgstation/pull/50422

* dooootdooot

* Holy fuck

Updates the tools folder
Updates our build tooling
Updates TGUI MASSIVELY
I'm going to go scream in a hole now

* ??

* Was it this dum thing?

* orrrr

* It's this isn't it

* Did it manually

* hubah

* TGUI Changelog

* oops

* What if I use the original?

* Lets try this again

* Shit commenting out for now

* asdasd

* Fuck it use the old one and remember to replace later

* Updates yarn.lock

* Lets try something horrid

* Nope it HATES THAT

* fucc

* The great eslinting

* HOLY SHIT

* Final?

* ?

* asd

tgstation/tgstation/pull/59914
tgstation/tgstation/pull/66317

* Improved Asset handling.

* Oops

* Subsystem stuff

* Recompiles the Changelong again.

* Finally Fixed Communicators

* Compiled Changelogs... AGAIN
2022-05-09 18:02:09 -07:00
siliconsGitHubfake_vm_user <fake_vm_user>
5a496c5dff Baseturfs (#3938)
* ill do this in the coffee shop later

* has to go

* add stuff

* changes

* this is going to explode

* this is going to explode x2

* more

* *scream

* move

* w

* oh god oh fuck now for main proc

* progress

* wack

* next segment..

* update

* shuttles are next

* AAA

* sigh

* this is going to be ugly

* ugh

* epic!

* pain

* hope this works

* patch

* patch

* patch

* patch

* patch

* epic!

* wack

* oh god..

* oh god..

* wack

Co-authored-by: fake_vm_user <fake_vm_user>
2022-05-06 20:13:51 -07:00
fake_vm_user f04a7d5336 landmark repath 2022-05-01 18:00:16 -07:00