Skip to content

Port experimental base_turf system from Baystation - Third time in a row

Rob Nelson requested to merge pull/5203/Base-Turf into Bleeding-Edge

Created by: dylanstrategie

No, I don't know how to manually fix conflicts on a PR, and this doesn't make me wanna figure out how it's done

Fuck you too for not even trying when you were working on Endgame @N3X15

Also thanks for fucking up my PR by stealth-merging a fix @Comic

Because Baystation has finally gotten around to it, and because the code looked simple, I decided to get my hands on porting a system that allows up to define base_turfs. As a bonus, it also defines them per Z-level. So if you wanted, you could have a space station, and a Z-level on a map-spanning asteroid, and then an away mission on land, all in the same file

Note that you can modify it mid-round via a DEBUG flag verb, it will however only affect destroyed turfs (it won't change space, which I suppose is intentional)

Tested were destroying walls and floors and even dropping a bomb in the middle of Medbay

Not tested were more finicky conditions like the Singularity or buildmode. I simply replaced all ChangeTurf() instructions that pointed to space, because that is how Baystation implemented it

Only problem with this is that it doesn't work on a per-map basis, so unless some wizardry is done on that code, it'll be hard to get anything interesting going with it. Just create custom Z-levels and use those in your map. Remember that it does not replace pre-existing space tiles though.

Discussions go below. Since this is pure code refactor, I doubt there'll be much up to debate

  • Old PR over at #5192
  • Older PR over at #5167

Example picture (with the current code, there would be no lattices over the sand) :

dune

This PR was fully tested to all extents and should work with regular deletion, singularities, Nar'Sie and build mode

Merge request reports