* Flattens The Floor Plane (Camera Update Too) (#84350)
## About The Pull Request
Ok so like, side map right? It makes things higher up in the world
render above things lower down in the world.
Most of the time this is what we want, but it is NOT what we want for
floors.
Floors are allowed to be larger then 32x32, and if they are we want them
to render based off JUST their layer.
If we don't allow this grass turfs and others get cut off on their
bottom edge, which looks WEIRD.
In order to make this happen, we can add TOPDOWN_LAYER to every layer on
the floor plane and disable sidemap.
I've added documentation for this to VISUALS.md, and have also
implemented unit test errors to prevent mixing TOPDOWN layers with non
topdown planes (or vis versa).
This new test adds ~1 second to tests, which is I think a perfectly
scrumpulent number.
EDIT:
I nerd sniped myself and implemented sidemap layering and lighting for
cameras (also larger then 32x32 icon support for getflat)
The lighting isn't perfect, we don't handle things displaying in the
void all that well (I am convinced getflat blending is broken but I have
no debugger so I can't fix it properly), but it'll do.
This came up cause I had to fix another layering issue in cameras and
thought I might as well go all in.

## Why It's Good For The Game
Old:

New:

## Changelog
🆑
fix: Grass turfs will render properly now. Reworked how floors render,
please report any bugs!
fix: Cameras now properly capture lighting
fix: The layering seen in photos should better match the actual game
/🆑
* Flattens The Floor Plane (Camera Update Too)
* modular things
* Update fluff.dm
---------
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
* Adds a shower drain fluff item (#82071)
## About The Pull Request
Turns the varedited fluff item into its own item so it no longer has a
varedited icon & icon state.
## Why It's Good For The Game
We're varediting this fluff item 17 times on current tg master and it's
pretty bad. Varediting icon/icon state in maps should be discouraged and
hopefully banned later, it's not hard to make a subtype of an item so we
should be able to expect mappers to do that rather than this.
## Changelog
Nothing player-facing.
* Adds a shower drain fluff item
---------
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
museum away mission (#81208)
adds a new gateway map, the Nanotrasen Museum it is filled with
""""Mannequins"""" and Common Core lore
im not putting the preview here because you really should explore it
yourself but if youre that curious i think the Checks tab in mapdiffbot
would have it
this gateway map contains no combat unless you count falling into chasms
because you did not carry a light
or going into the boarded room with no loot or any incentive with
obvious signs that there is the sole enemy on the map in there
the loot is the lore ok thanks
also makes mines detonate if theyre detonated by a non-mob im pretty
sure this couldnt have been intentional
trams stop chasms
and also the relevant items
<details>
<summary>on second thought if you want spoilers check this</summary>

</details>
more gateway maps = good
🆑
add: nanotrasen museum gateway map
/🆑
---------
Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
* Gives broken canisters a description (#79005)
## About The Pull Request
A torn apart canister. It looks like some metal can be salvaged with a
wrench.
## Why It's Good For The Game
It fixes a part of #79003, the rest seems like balance or qol changes.
## Changelog
🆑
spellcheck: Broken canisters now have a description
/🆑
* Gives broken canisters a description
---------
Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
* Remove tiered canister construction (#78909)
## About The Pull Request
In https://github.com/tgstation/tgstation/pull/66210 we removed canister
tiers, but didn't change the construction code. Currently you still have
to build an unfinished frame with 5 iron, 'upgrade' it to tier 1 with
another 5 iron, then complete it.
This combines it all into a single 10 iron recipe.
## Why It's Good For The Game
Eliminates the extra steps in canister construction, since you can't
upgrade above tier 1 any more anyways.
## Changelog
🆑 LT3
qol: Canisters can now be built in one step, no upgrading required
/🆑
* Remove tiered canister construction
* Modular paths
---------
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
* Icon folder cleaning wave one
* Fixe a merge conflict
* Fixes some more merge conflicts
* Fixes some modular icon paths
* Fixes even more modular icon paths...
Hopefully that's the last of them
* Fixes some merge discrepencies
* More merge issues
* ok
* not ok
---------
Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
* Proper broken tiles (#75623)

## About The Pull Request
The current broken tiles have some visual issues:
- There is an ambient occlusion shade when it touches normal tile
- It has a layer higher than it should be which leads to things that are
normally above the floor layer, render below it. Such as atmos
machinery, cleanable overlays, etc.
This PR makes the render on a proper layer and work like a partially
destroyed floor tile that can be reclaimed with crowbar.
Also, the cleanables are now on FLOOR_CLEAN_LAYER to make dirt appear
above catwalks and these new tiles.
And the flat dirt now has 4 variants of sprites, while dust uses the old
dirt sprite. It seems like dust was just dirt with different description
before.
## Why It's Good For The Game
A broken tiling with no visual bugs and proper floor-like logic.
## Changelog
🆑 MTandi, Borbop
fix: Dust now has dust icon, instead of dirt icon. Dust on all maps
replaced with dirt
image: Flat dirt now picks from 4 new sprites
refactor: Made broken tiling work more like tiling and have
corresponding visuals. Added directional mapping variants.
fix: Cleanables now use FLOOR_CLEAN_LAYER to make sure that trash is
visible above catwalks
/🆑
* Proper broken tiles
* Update north_star.dmm
* Update north_star.dmm
---------
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
* Changes the missing food icon test to cover ALL /obj's
* Update implant.dm
* Hopefully fixes all the failing integration tests!
* Fixes more missing icons
* Even more icon fixes
* Hopefully that was all of them
* Okay now SURELY that's all of them
* I'm tired of this shit man
* Hopefully that's all, for real this time!
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Takes the Tram off of the game plane, to make everything on it look a lot less flat (#71858)
## About The Pull Request
That's about it. It being on the game plane sadly had the inherent issue
of "no more ambient occlusion for anything that goes in it", which made
it look jarring.
Sadly, because of this, I had to put regular iron floor tiles over the
pipes/wires/disposals pipes on those crossings, but that's just further
motivation for LT3 and I to work on some new glass plating and actual
glass tiles so we can make this work properly again.
## Why It's Good For The Game
Muh ambient occlusion.
Seriously, it just looks *SO* much better.
## Changelog
🆑 GoldenAlpharex
fix: Everything that goes on the tram should look a lot less flat now!
/🆑
* Takes the Tram off of the game plane, to make everything on it look a lot less flat
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: Jolly-66 <70232195+Jolly-66@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* giant chains now go above mobs (#71259)
## About The Pull Request
giant chains used to go under mobs
they no longer do that
## Why It's Good For The Game
tall vertical objects look garbage when going under mobs
## Changelog
🆑
qol: giant chains now go above mobs
/🆑
* giant chains now go above mobs
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Removes unused clockwork cult icons (#64006)
and also moves them over to the sprite repo
there were still some used, so the fluff pieces got added to obj/fluff.dmi, and also there was one sprite for the wall girder, the toy wrist watch and the null rod, so those got moved into their respective files.
moved the clothing to their respective files aswell.
Why It's Good For The Game
almost all of these sprites are completely unused, aswell as the gamemode being removed from the code anyways, so they can rest in sprite purgatory
* Removes unused clockwork cult icons
* Fixes one of the floor that had no texture
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* chatmessage.dm offset adjustment (#63848)
changes the pixel_y and pixel_x of a 'message' to maptext_width and maptext_height instead of bound_width and bound_height.
* Sets runechat's offset vars to nicer ones
Co-authored-by: ghost sheep <donniescatch@gmail.com>
* Turns existing comments in the file DMdoc comments, adds like one new comment (#58894)
Co-authored-by: Your mother <mothmilk666666666666@ tfwno.gf>
* Turns most extant comments into DMdoc comments and adds one new comment for a variable in code/game/objects/structures/fluff.dm
Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Your mother <mothmilk666666666666@ tfwno.gf>
* Minor tramstation and train-rail-fluff fixes (#57639)
Fixes an incorrectly-shifted sprite for floor tram rails and adds some missing tram-rail fluff objects
Also does some minor renaming (railing -> rail)
cl
fix: Nanotrasen railroad engineers have done some minor repairs to their in-station tram rails.
/cl
* Minor tramstation and train-rail-fluff fixes
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
* Tramstation: choo choo MORE MAP COMIN' THROUH
* Tramstation: Skyrat Edition (#4104)
* Decals Fixed
* Modularity? Whatever
* Fuck me if I need to make a second PR for this
* Blueshield + Cryo + Ian Fursuit
* Automatic changelog generation for PR #4104 [ci skip]
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
Co-authored-by: Cheshify <73589390+Cheshify@users.noreply.github.com>
* renames metal sheets to iron sheets
* Merge branch 'master' into upstream-merge-56643
* yay metal
* Update DeltaStation2_skyrat.dmm
* a
* Update CentCom_skyrat_z2.dmm
* a
* a
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Adds hydroponics shrubs, allowing botanists to grow hedges. (#55496)
Replaces one of the rainbow seeds in the exotic seeds crate with a pack of shrub seeds.
Adds a new, growable seed species for shrubs. Shrubs, when planted (similar to kudzu!) plants a solid, weak barrier in hedges.
These hedges block vision, unless trimmed. Thankfully, we already have a hedge trimming skillchip, so using a sharp implement on the hedge will make it non-opaque.
* Adds hydroponics shrubs, allowing botanists to grow hedges.
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
* Opacity refactor (#52881)
Moves all opacity var manipulation to a proc which sends a signal.
light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
Some opacity-related sight procs optimized as a result of this.
Some variables moved to the object's definition.
A define or two added into the mix for clarity.
Some code cleaning, like turning booleans into their defines.
One file renamed for clarity.
Changelog
cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl
* Opacity refactor
Co-authored-by: Rohesie <rohesie@gmail.com>
* Icon smooth refactor (#52864)
bitflag list construct added: an associative list of bitflags for cheap and quick element comparison between two lists using the same system.
canSmoothWith list turned into a bitflag list.
smoothing_groups list added to substitute the type path list.
smoothing procs turned into atom procs, refactored and optimized a bit.
smooth directions redefined in order to fit in 8 bits for a future smoothing system
some variable names changed, foreseeing a second smoothing system
SMOOTH_OBJ flag added, for things that need to scan turfs for smoothing. The old locate() optimization has the risk of returning false negatives by finding a child and returning null while there might be one of the wanted type as well, as it doesn't match the type exactly.
SMOOTH_TRUE and SMOOTH_MORE condensed into SMOOTH_CORNERS. The old behavior can be replicated using smoothing groups without loss.
Does very minor code cleanup.
Processing-wise didn't find a noticeable difference. The system loses on init a bit by setting the bitflag_lists, and by scanning whole turf contents for object smoothing (increasing accuracy), and gains by making less checks per target to smooth, through the same bitflag_lists.
Memory-wise there should be a small improvement, given that on the old system we had 63512 canSmoothWith lists (a few typelists, most unique), and on this new system canSmoothWith + smoothing_groups are both bitflag_lists from the same pool, totaling 46 in number.
Could be tested a bit to see if I missed any icons not properly smoothing.
* Icon smooth refactor
Co-authored-by: Rohesie <rohesie@gmail.com>
About The Pull Request
Makes rails functional in that they can be vaulted from either side, moved, and repaired. Still doesn't add a way to make them.
Why It's Good For The Game
make multiz great
Waiting/working on a few things for the map so I'm just atomizing the few things I'm sitting on so other map makers can take advantage of in the meantime.
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.
About The Pull Request
Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls
This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE
I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game
Code usability
* wrah wah wah waaaah
* fences, new mountain turfs, sprites, top-side finished, misc stuff
* quick fix
* cut my life into pieces, this is my last resort
* lots of work done to the underground segment, more fluff bits and topside work
* removing depreciated bits and tgm conversion
* step_off
* damn these dirty VARS
* changes n stuff
* wanna build a plasmaman?
* decals commit fix
* map detailing, loot spawns, plasma miners, cyberboss changes, plasma lava turning people into plasmamen
* tgm conversion
* new barricade sprites, final map edits before testing
* mountain wall fix
* Update snow_storm.dm
i ate too mucha pasta
* Rethemes the Necropolis
* clen
* not clever enough, hmm...
* that's a bug. hello, bug.
* no message
* a terrifying Legion room. full of one (1) Legion.
* some tweaks, inside has actual floor type
* tweaks