* Save 2.2s minimum (with zero ruins, likely a good bit more in production) of atom init time (#69564)
Pre-sort smoothing_groups and canSmoothWith
Without any ruins, these sorts were taking more than 0.6s, and the bulk of the runtime cost of sortTim during init time.
This only happens on init and they are never changed apart from that, so pre-sorts everything and adds a unit test (in the form of #ifdef UNIT_TESTS, because you can't initial a list) to ensure that they are proper.
Keep visibilityChanged() to mapload only for turf/Initialize
Saves about 0.4s worst case scenario (e.g. with no ruins). Very expensive code (175k loop iterations) for 0 side effects.
Space areas now have the fullbright overlay, not the space turfs
Saves about 0.8s worst case scenario. Seems to work fine with starlight.
Remove is_station_level check for window spawners assigning RCD memory.
Saves about 0.3s worst case scenario. The logic for this isn't consistent since neither walls nor floors check this (for performance), plus some minor micro-opts to spawners.
Optimize is_station_level
Doubles in speed, used heavily in /turf/open/floor and in other initialization procs. Bit hard to tell exactly how much is saved, though.
* Save 2.2s minimum (with zero ruins, likely a good bit more in production) of atom init time
* Hopefully fixes the broken CI
* Okay now it shouldn't be failing CI anymore (hopefully)
* Fixes even more issues with smoothing_groups, this time hopefully for good
* Okay NOW it's going to pass CI, surely...
* Okay haha what if it passes this time? :)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes some internal spelling of "auxillary" (#69789)
Today I tried searching for the code related to the auxillary base location remote.
Today I learned that I didn't know how to spell "auxiliary".
Fortunately, I learned that two other people made this same mistake, so I don't feel stupid.
Searching for other common mispellings of the word didn't show anything, and there are only so many ways to spell it wrong.
* Fixes some internal spelling of "auxillary"
Co-authored-by: Rhials <Datguy33456@gmail.com>
* Unique ambience for virology! NOW NOT BROKEN! (#69407)
A literal re-upload of #69031 because of that rust DLL problem. I don't wanna fix it the hard way, so easy way it is.
About The Pull Request
Now virology has a new Plague Inc inspired ambience sound (Made by myself in FL studio so no licensing problems). It has it's own define, and is used in the virology area.
There is 3 sounds, you can listen to them there:
ambiviro_1.mp4
Each of them weights ~100 KB which is not alot.
Why It's Good For The Game
First of all, medbay literally only has only one ambient sound, and only 1 area of medbay had unique ambience (Morgue). It's neat to have more areas with unique ambiences, especially when that area on almost every map is seperated from the rest of medbay.
With this mysterious ambient, every virologist will feel himself making something dangerous and scary, even if it's a benefical virus.
Changelog
cl
soundadd: Virology got new mysterious ambient sounds.
/cl
* Unique ambience for virology! NOW NOT BROKEN!
Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
* Ambience buzzing no longer refreshes when you move into areas with the same buzzing sound (#69002)
* Fixes refreshing buzzes
* Forgot to remove some lines
* Update areas.dm
Co-authored-by: Capybara <Capybara@ CapybaraMailingServices.com>
* Ambience buzzing no longer refreshes when you move into areas with the same buzzing sound
Co-authored-by: CapybaraExtravagante <110635252+CapybaraExtravagante@users.noreply.github.com>
Co-authored-by: Capybara <Capybara@ CapybaraMailingServices.com>
* Completely removes `proc_holders` from existence. Refactors all wizard, xeno, spider, and genetics powers to be actions. Also refactors and sorts ton of accompanying code.
* our changes
* yes
* 0
* Update blackmesa.dmm
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* (code bounty) The tram is now unstoppably powerful. it cannot be stopped, it cannot be slowed, it cannot be reasoned with. YOU HAVE NO IDEA HOW READY YOU ARE
* fex
* fex
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Icemoon Shorelines - Monster-Station Interaction Prevention Scheme (#67494)
* Icemoon Shorelines - Monster-Station Interaction Prevention Scheme
Hey there,
On production (as well as several complaints that I have heard), there were a few instances where very strong icemoon fauna would wander into station structures. This was especially apparent on the lower z-level, where prisoners (being next-to-completely-defenseless) got owned extremely hard by wandering fauna.
So, I looked at a few options of fixing it. Shutters will _not_ do, that just obfuscates the problem and muddies "secure" and "non-secure" areas. Nerfing the fauna didn't really feel right to me, and more chasms doesn't really help on the lower z-level. So, I came up with _The Shoreline_.
Basically, it's a new type of cave generator area that does not spawn any fauna or megafauna. I went through the mining z-levels of IceBox and I added roughly 4-5 tiles between the "wilderness" and the developed station/chasms. I put them next to chasms because sometimes, fauna would fall down when they generate on ledges with nowhere to go. While polar bears would die in the plasma river, the demonic watchers would just immediately aggro and take no plasma damage.
The results were very encouraging in my local tests. It still retains that level of danger for miners who plunge further into the depths, while allowing the rest of the station who aren't armed with the hyper-specific machinery to tackle such problems to not get owned. Icemoon fauna have not been balanced since their introduction in 2020, and I think this is the best change that currently reflects how we have the map structured.
* Icemoon Shorelines - Monster-Station Interaction Prevention Scheme
Co-authored-by: san7890 <the@san7890.com>
* Assorted Ordnance Code+Map Quality Pass and QoL (#67097)
Three main things I do:
Reinforce the remap that i have made with code changes, making the atmos control devices sane and easy to put if someone else stumbles upon this part of the code again. (a4aea1e - f16e620)
Splits the ordnance areas and renames them, kills ordnance misc and things that have nothing to do with ordnance (anymore?) moves them to exp_lab (useful stuff here) and aux_lab (fluff stuff here like laser range in delta or second circuit lab in tram). (0c99f9f- 3c82a88)
Adds a roundstart program disk containing nt frontier to the ordnance office table. Added a hint to file manager there too to help give players a nudge on how to publish papers. (fd747dc)
First one: Makes mapping these things not require varedit, nicer for other people that dont know how the atmos control stuffs works.
Second one: Misc lab has nothing to do with ordnance jesus christ. Also ord hallway is now irrelevant, our ordnance labs are very far from box now. Will probably make downstreams a bit angry for a while though since they might not be fully up to date on the ordnance maps.
Third one: Pretty much justified it in the about section.
Why is this not atomic: This touches all five maps and needs code backing, so I might as well combine them into one maintenance PR instead of giving my peers merge conflict three times.
* Assorted Ordnance Code+Map Quality Pass and QoL
* set 1
* revert
* Update CentCom_skyrat.dmm
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Permabrig's Large Area Splittening (call it a comeback?) (#67230)
* Permabrig's Large Area Splittening (call it a comeback?)
Co-authored-by: san7890 <the@san7890.com>
* [MDB Ignore] OH GOD OH FUCK OH SHIT OH LORD - SPACE AND RUINS IS BROKEN (#67324)
So, for the last few days on production, Space Ruin generation has refused to work. Why is this? It's because in #67107 (cfc2330528), we repathed `/area/space` to `/area/misc/space` (lol i should have paid attention to that) without updating everything in code to match. I couldn't seem to get `/area/misc/space` to properly work somehow (this could have also been something I was doing wrong), but I worked it back to just making everything vanilla `/area/space` and all of those unwanted behaviors should be squashed out. Let's get the game working again.
* fix
* fix2
Co-authored-by: san7890 <the@san7890.com>
* [MDB IGNORE] More /area/ typepath organization and cleanup (#67107)
This further continues what I did in b4fb8f3ed1 (but instead of just stations, its now every (most) applicable area in the game
* [MDB IGNORE] More /area/ typepath organization and cleanup
* wew
* e
* Update CentCom_skyrat.dmm
* wew
* ews
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Spinward Smoothies Space Ruin (#67001)
Adds a space ruin called Spinward Smoothies. It's a nature-themed smoothie bar built into an asteroid. Also includes recipes for six smoothies to match the theme.
It's a cute little thing to find in space, enabling space explorers to grab a drink there and relax for a while. More things to explore.
* Spinward Smoothies Space Ruin
* add sugar to pink milk
Co-authored-by: Sylphet <58074918+Sylphet@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
* Oldstation overall improvements (#66975)
* Revamps oldstation
- Adds a supermatter chamber (very barebones to allow players to set the SM up themselves
- Adds a Gravity generator (the ruin is no longer magically given gravity)
- Adds a custodial closet
- Adds an external exit to Deltastation, so you don't have to blast a hole in the wall to move machines over due to them not fitting in the transit tubes
- Replaced Plasma canisters in SM storage, with SMES parts and an emitter reflector
- Shuffles around Beta storage room
- Moves the emergency power room's cables/APC around
- Adds plumbing
- Fixes lack of vents in the bathrooms
- Adds a third RTG
* adds area over the third RTG (lol)
* Adds a biogenerator to botany
* adds a plating to help gravity gen users
* removes repeat cable coil
* sets vendors to off-station mode
* multi cyclelink + dirtier SM room
* Requested san fixes
* airless, firelocks and AI sat floors.
Oldstation is one of my favorite spawners and my biggest problem with it is people leave when they feel they 'beat' the ruin. Adding more Engineering stuff and improving Service stuff could potentially help with this, as it would feel more worthwhile to spend your time on working towards these projects and goals, rather than just leaving.
There also used to just have 2 rooms in the northwest that just didn't have anything. I assume the hallway left is supposed to be 'alpha' station which is completely gone, but the room north (which is now going to be gravity generator) had no real purpose other than to accidentally depressurize the only pressurized room in Beta since it had no firelocks. It just wasn't really worth being there.
* Oldstation overall improvements
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* [MDB IGNORE] You can have your cake and eat it too. Remake of #66406 (Splitting up areas.dmi + code related stuff) (#66726)
Areas.dmi right now houses all of our mapped turfs icons (which is roughly 400 icons). Not an issue, but it's incredibly large and clunky to navigate right now. This isn't an issue for the average coder and/or player code diving, but it is for mappers wanting to add new turfs. Currently, the file has some organization, but its still an overall mess. This PR aims to slice the behemoth with multiple .dmi files corresponding to specific areas.
I also plan to repath /area/* -> /area/station/* for station turf only. This is to clean it up, as most other turfs follow this format (that being /area/turf_zone/*).
I'm also writing an update paths file as I go along.
* fixbatch 1
* fug
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Adds an APC to the IceBox Mining Area on lowest level and seperates area (#66464)
Makes a "lower eva" area for the lowest level of the mining station on IceBox and adds an APC.
* Adds an APC to the IceBox Mining Area on lowest level and seperates area
Co-authored-by: Son-of-Space <63861499+Son-of-Space@users.noreply.github.com>
* Fixes Area Overrides in Centcom.dm (Blame me?) (#66270)
* Fixes Area Overrides in Centcom.dm (Blame me?)
Hey there,
I merged #66149 (d411393e72) and forgot to ask for the areas to be changed. I might as well fix it to set a better tone.
* Fixes Area Overrides in Centcom.dm (Blame me?)
Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
* NukeOps Firebase Rework (#66149)
Attention Recruit: Welcome to Firebase Balthazord
Here you will lean how to:
-Kill corpo scum
-Kill corpo scum
-Kill corpo scu-
This has been on my docket for months. Ever since gave the Holding Facility a much needed facelift. I have been eyeballing the nukie base, waiting for that stroke of inspiration to hit me. It finally did. Gone are the aging walls of the old encampment. Nukies finally have what well-funded corpo-terrorists always dream of- a home.
It's more than a Home. This is a sweeping rework that is part of a series of reworks to revisit old locations and not only bring them up to date with our current asset roster, but to make them properly belong within the game world. The Nuke-Ops base may ultimately be a tiny chunk of the overall SS13 experience, but I'll be damned if it isn't a defining one. It's also a location that has the capacity to do one thing that I have always wanted to do. Purchase Property. You heard me right, you get to buy rooms now. The newly expanded Nuke-Ops base features, with @ Mothblocks blessing, further expansions that you can purchase from your local Syndicate Uplink. Spend your TC, expand your capabilities, and utilize your expertise in order to create
the most mind-boggling disky heists there are.
Possible expansions to your terrorism suite include:
-Ordinance Lab
-Bio-Terrorism Lab
-Chemical Manufacturing Plant
Definite expansions to your Nuke-Ops Firebase include:
-Crew Bunks
-Lab Wing
-War Table
-Upgraded "Disembarkment" Bay"
* NukeOps Firebase Rework
* Update CentCom_skyrat.dmm
Co-authored-by: Zytolg <33048583+Zytolg@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Updates some of Old Stations areas and organizes them, also adds a few new ones too (#65585)
* Charlie Wooh
* oh yeah apcs are supposed to be in rooms, who would've known
* Updates some of Old Stations areas and organizes them, also adds a few new ones too
Co-authored-by: Jolly <70232195+Jolly-66@users.noreply.github.com>
* Adds an Area Turf Sprite for the Diner (#65474)
Hey there,
Take a peeksies at Tram.
It looks blobby, when it's not. Let's change that by giving the lower area (the Diner) it's own special area turf.
* Adds an Area Turf Sprite for the Diner
Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>