Commit Graph

29 Commits

Author SHA1 Message Date
John Willard b5975bd915 Unit tests now catch decals in walls/space (#75189)
## About The Pull Request

Unit tests will now fail if there's a decal in a wall or open space
turf. Open space turf could be limiting to mappers but I don't think it
makes sense for decals (like dirt, glass shards, etc) to be floating
around in space in the exact same spot.

If there's a decal you want to put in space, decals have a
``turf_loc_check`` var that will bypass this.

**Important note: This is not changing existing behavior. Decals already
delete themselves when they spawn in these incorrect locations, we're
just avoiding them from spawning in the first place.**

### Changes I made

- Ash flora are now lava immune, rivers spawn after flora does, so I
decided that it would be easiest (and more flavorful) to have them be
lava-immune rather than to not have them spawn at all.
- Decals can now be spawned in non-turf locations. This is currently
done by mail, which can give you bones as part of the mail. Currently it
will just delete itself instead.
- Trading Card button is now on the same tile as their display, which
now uses an offset. Before it would spawn it on the tile next to it,
which could be a wall in some instances.
- Mirrors now have floating movement type. They ARE floating since
they're attached to the wall, and it prevents them from burning up due
to lava in the Pride ruin.
- I also added a broken mirror subtype because I thought the icon_state
check was terrible.
- Bubblegum called ``DestroySurroundings`` several times on the same
thing, I hopefully fixed some of that. Their charge ability also
registered ``COMSIG_MOB_STATCHANGE`` despite ``/datum/action`` doing it
by default, so I fixed that too.

## Why It's Good For The Game

Decals in walls is already a bad idea, but currently all it does is
delete it on Initialize. It would be better if we ensured they wouldn't
spawn in the first place.

## Changelog

🆑
fix: Lava will no longer burn 6 of the mirrors in pride ruin
fix: Lava will no longer burn plants that spawn in them.
/🆑
2023-06-15 16:39:22 -07:00
san7890 2d182eb093 Fixes Ceiling Generation for Lavaland Icemoon Ruin - Whoops (#74567)
## About The Pull Request

Forgot to do this in #74410. It's **not** the reason why we see active
turfs on icebox station though, because this is just closed turfs. The
active turfs never spawned as a result of this, they only spawn as a
result of the open turfs of the ruin mixing with chasm air. The ceiling
looks a lot better now though.
## Why It's Good For The Game

Should have always been like this.
## Changelog
doesn't really matter.
2023-04-08 09:52:31 -04:00
san7890 e1221c986f Chasm Hell On Icebox - 300 Active Turfs on Prod Moment (#74410)
## About The Pull Request

Spontaneous regressions introduced by #74359
(1e58c1875d).
```txt
 - Z-Level 2 has 150 active turf(s).
 - Z-Level 3 has 150 active turf(s).
 - Z-Level trait Ice Ruins Underground has 300 active turf(s).
 - Z-Level trait Mining has 300 active turf(s).
 - Z-Level trait Station has 300 active turf(s).
 - End of active turf list.
 ```

![image](https://user-images.githubusercontent.com/34697715/229213138-5a6a7a4f-edec-47ab-8def-ee4e4bddfe61.png)

Basically the lavaland ruin sucks dogshit and I had to do a lot of stuff to account for everything failing. There was even a moment where we were adding something to `flags_1` instead of `turf_flags` and that was also really bad to figure out.

![image](https://user-images.githubusercontent.com/34697715/229213428-63bb1f6e-6f88-4604-a3c6-e08e20cbfa7a.png)

i also had to add orange genturfs because it was really getting bad with all of the assertions we had to keep making, especially since stuff like this could also show up:

![image](https://user-images.githubusercontent.com/34697715/229213562-4a145453-5f90-4d05-b8cc-5c1beec2b0dd.png)

That's the prison in the red box, those are active turfs because a chasm scraped it away.

Sorry if this is hard to follow but I promise you everything in this is essential. I wish we didn't have to rely on turf flags as much as we do but this is a fix PR, not a refactor.
## Why It's Good For The Game

Even one active turf on IceBox ate up _three_ seconds of SSair's initialization every single time it was really fucking bad.

We haven't had to deal with chasms for about two years so there's a lot of mapping assertions we made since they just weren't a thing, but now they're back so lets do it properly.
## Changelog
🆑
fix: The prison on IceBox should no longer leak air as often.
/🆑

I have compiled this map about 30 times until active turfs stopped fucking happening and now I am content. This likely doesn't fix _everything_ because some stuff can still be hidden to me, and we still have PRs that need to be merged to reduce the amount of noise we're getting on prod.
2023-04-02 00:25:33 +01:00
san7890 ccef887efe Lints Against Unmanaged Local Defines (#74333)
# MAINTAINER - USE THE BUTTON THAT SAYS "MERGE MASTER" THEN SET THE PR
TO AUTO-MERGE! IT'S MUCH EASIER FOR ME TO FIX THINGS BEFORE THEY SKEW
RATHER THAN AFTER THE FACT.

## About The Pull Request

Hey there,

This took a while to do, but here's the gist:

Python file now regexes every file in `/code` except for those that have
some valid reason to be tacking on more global defines. Some of those
reasons are simply just that I don't have the time right now (doing what
you see in this PR took a few hours) to refactor and parse what should
belong and what should be thrown out. For the time being though, this PR
will at least _halt_ people making the mistake of not `#undef`ing any
files they `#define` "locally", or within the scope of a file.

Most people forget to do this and this leads to a lot of mess later on
due to how many variables can be unmanaged on the global level. I've
made this mistake, you've made this mistake, it's a common thing. Let's
automatically check for it so it can be fixed no-stress.

Scenarios this PR corrects:

* Forgetting to undef a define but undeffing others.
* Not undeffing any defines in your file.
* Earmarking a define as a "file local" define, but not defining it.
* Having a define be a "file local" define, but having it be used
elsewhere.
* Having a "local" define not even be in the file that it only shows up
in.
* Having a completely unused define*

(* I kept some of these because they seemed important... Others were
junked.)
## Why It's Good For The Game

If you wanna use it across multiple files, no reason to not make it a
global define (maybe there's a few reasons but let's assume that this is
the 95% case).

Let me know if you don't like how I re-arranged some of the defines and
how you'd rather see it be implemented, and I'd be happy to do that.
This was mostly just "eh does it need it or not" sorta stuff.

I used a pretty cool way to detect if we should use the standardized
GitHub "error" output, you can see the results of that here
https://github.com/san7890/bruhstation/actions/runs/4549766579/jobs/8022186846#step:7:792
## Changelog
Nothing that really concerns players.

(I fixed up all this stuff using vscode, no regexes beyond what you see
in the python script. sorry downstreams)
2023-03-29 10:17:03 -07:00
RikuTheKiller 5da871e271 Made geysers easier to find (#71608)
## About The Pull Request

This PR raises the geyser spawn rate from 0.1 to 0.15 and increases the
weight of wittel geysers to 10 which is the same as every other special
geyser. (previously 6)

Wittel shouldn't be any less difficult to find than other geysers as all
of the special geysers are equally powerful. Hyper-plasmium oxide can be
used to make extremely powerful explosives that can go beyond maxcaps
and hollow water + protozine can create an infinite amount of strange
reagent.

I've subjected myself to going out of my way to visit lavaland/icemoon
several times to get wittel and each time finding a single geyser takes
about 5 minutes of my time. This, coupled with the fact you really don't
have a lot of time to be wasting on looking for the geysers results in
an unfun experience.

I understand geysers are sort of a necessary evil, however, they
shouldn't be THIS difficult to find. Out of the 10 or so geysers I've
found, only 1 has had wittel in it and it was next to a whelp portal
which ended both me and my miner escort.

I've also hunted the entirety of lavaland with no luck. (Horrendous
experience.)

I've dedicated entire rounds to this, by the way.
## Why It's Good For The Game

If you go out of your way to waste ages hunting for geysers, there
should at least be a reward. That is, in the same round, not after 3 or
more rounds as even megafauna gear isn't gatekept THAT hard.

You shouldn't have to waste this much of a miner's time (who is also
going for megafauna gear) to get something that is arguably less
powerful than what they get for less effort. Megafauna gear is also
available every round and is attained via predictable methods.

This PR will also likely make geyser scanning a more comparable method
of point gain to just mining.

Oh and not to mention that penthrite is available almost roundstart via
luxpens. (It's a wittel chem.)
## Changelog
🆑
balance: Geysers now spawn more often, especially wittel geysers.
/🆑
2022-12-01 20:59:07 -08:00
tattle 5ad52146cd Ports fire blossoms (#71242)
Adds fire blossoms from White Sands/Shiptest, a glowing lavaland plant by Tiramisu and TetraZeta.
2022-11-14 22:33:25 -03:00
Fikou 6d37fc495b lowers megafauna chance, forces a bdm spawn on lavaland (#70945)
## About The Pull Request
quarters the chance of megafauna spawns on icebox (this only applies to
the colossi)
halves the chance of megafauna spawns on lavaland
forces a bdm spawn on lavaland
closes #69677

## Why It's Good For The Game
26 colossi is not fun

![image](https://user-images.githubusercontent.com/23585223/199024381-166e05dd-fe62-4f50-b03f-d7c9754c3576.png)

fighting megafauna is fun and ruin rng screwing you out of one is not
fun

## Changelog
🆑
balance: less megafauna should spawn on icebox and lavaland
qol: blood drunk miner ruin on lavaland will spawn every round
/🆑
2022-11-04 01:02:35 -07:00
tralezab 1ac2779ef8 Bileworm Health Patch: Evolutionary Leap, Vileworms, Proximity Spawning Rules, Better Loot (#70321)
* bileworm health patch

- bileworms start off easier
- vileworms are how they are now + a little tougher
- fixes bileworms breaking proximity spawn rules
- adds gold to bileworm loot

* ssticker

* diagonals readded to attacks\, map fix

* d-delete this

* Update evolutionary_leap.dm

* DONE
2022-10-12 22:48:41 +02:00
LemonInTheDark d34fa4c642 Macro optimizes SSmapping saving 50% (#69632)
* 'optimizes' space transitions by like 0.06 seconds, makes them easier to read tho, so that's an upside

* ''''optimizes'''' parsed map loading

I'm honestly not sure how big a difference this makes, looked like small
percentage points if anything
It's a bit more internally concistent at least, which is nice. Also I
understand the system now.

I'd like to think it helped but I think this is kinda a "do you think
it's easier to read" sort of situation. if it did help it was by the
skin of its teeth

* Saves 0.6 seconds off loading meta and lavaland's map files

This is just a lot of micro stuff.
1: Bound checks don't need to be inside for loops, we can instead bound the iteration counts
2: TGM and DMM are parsed differently. in dmm a grid_set is one z level,
   in tgm it's one collumn. Realizing this allows you to skip copytexts and
   other such silly in the tgm implemenentation, saving a good bit of time
3: Min/max bounds do not need to be checked inside for loops, and can
   instead be handled outside of them, because we know the order of x
   and y iteration. This saves 0.2 seconds

I may or may not have made the code harder to read, if so let me know
and I'll check it over.

* Micro ops key caching significantly. Fixes macros bug

inserting \ into a dmm with no valid target would just less then loop
the string. Dumb

Anyway, optimizations. I save a LOT of time by not needing to call
find_next_delimiter_position for every entry and var set. (like maybe 0.5
seconds, not totally sure)
I save this by using splittext, which is significantly faster. this
would cause parsing issues if you could embed \n into dmms, but you
can't, so I'm safe.

Lemme see uh, lots of little things, stuff that's suboptimal or could be
done cheaper. Some "hey you and I both know a \" is 2 chars long sort of
stuff

I removed trim_text because the quote trimming was never actually used,
and the space trimming was slower then using the code in trim. I also
micro'd trim to save a bit of time. this saves another maybe 0.5.

Few other things, I think that's the main of it. Gives me the fuzzy
feelings

* Saves 50% of build_coordinate's time

Micro optimizing go brrrrr
I made turf_blacklist an assoc list rather then just a normal one, so
lookups are O(log n) instead of O(n). Also it's faster for the base case
of loading mostly space.

Instead of toggling the map loader right before and right after New()
calls, we toggle at the start of mapload, and disable then reenable if
we check tick. This saves like 0.3 seconds

Rather then tracking an area cache ourselves, and needing to pass it
around, we use a locally static list to reference the global list of
area -> type. This is much faster, if slightly fragile.

Rather then checking for a null turf at every line, we do it at the
start of the proc and not after. Faster this way, tho it can in theory
drop area vvs.

Avoids calling world.preloader_setup unless we actually have a unique
set of attributes. We use another static list to make this comparison
cheap. This saves another 0.3

Rather then checking for area paths in the turf logic, or vis versa, we
assume we are creating the type implied by the index we're reading off.
So only the last type entry will be loaded like a turf, etc.
This is slightly unsafe but saves a good bit of time, and will properly
error on fucked maps.

Also, rather then using a datum to hold preloader vars, we use 2 global
variables. This is faster.

This marks the end of my optimizations for direct maploading. I've
reduced the cost of loading a map by more then 50% now. Get owned.

* Adds a define for maploading tick check

* makes shuttles load again, removes some of the hard limits I had on the reader for profiling

* Macro ops cave generation

Cave generation was insanely more expensive then it had any right to be.
Maybe 0.5 seconds was saved off not doing a range(12) for EVERY SPAWNED
MOB.
0.14 was saved off using expanded weighted lists (A new idea of mine)
This is useful because I can take a weighted list, and condense it into
weight * path count. This is more memory heavy, and costs more to
create, but is so much faster then the proc.

I also added a naive implementation of gcd to make this a bit less bad.
It's not great, but it'll do for this usecase.

Oh and I changed some ChangeTurfs into New()s. I'm still not entirely
sure what the core difference between the two is, but it seems to work
fine.
I believe it's safe because the turf below us hasn't init'd yet, there's
nothing to take from them. It's like 3 seconds faster too so I'll be sad
when it turns out I'm being dumb

* Micros river spawning

This uses the same sort of concepts as the last change, mostly New being
preferable to ChangeTurf at this level of code.
This bit isn't nearly as detailed as the last few, I honestly got a bit
tired. It's still like 0.4 seconds saved tho

* Micros ruin loading

Turns out it saves time if you don't check area type for every tile on a
ruin. Not a whole ton faster, like 0.03, but faster.

Saves even more time (0.1) to not iterate all your ruin's turfs 3 times
to clear away lavaland mobs, when you're IN SPACE who wrote this.

Oh it also saves time to only pull your turf list once, rather then 3
times
2022-09-22 15:34:10 -07:00
tralezab 0728fb3840 New Lavaland Monster: Bileworms (#68967)
Bileworms are a new lavaland monster, that has unique AI that should prove them.

Instead of moving normally, it periodically burrows underground and resurfaces nearby.
Its attack is an AOE acid spit.
2022-08-05 11:07:34 +02:00
DragonTrance 89650214fd [MDB Ignore] Refactoring Flora code (#66978)
* organizing flora file and icon states, & flags

Changes the typepath for a lot of flora, and adds new paths depending on the amount of icon states the flora had, for better modularization on mappers. Also adds flags to the flora depending on what type it was, instead of 3 bools

* Getting ready to attempt to modularize flora

Moving most vars and procs from ash flora into the normal flora type path, as a general preparation to add more here

* Weighted products & Region Messages

Rewrites flora code so a flora's produced items can be initialized with a weighted list. Also has some improvements, relating to item stacks.

Adds an option via variables to separate 3 messages into 3 possible regions, or the old method where the message changes when the value is exactly the same as the low or high harvest value

* organizing + documentation on procs

* Documentation, Organization & Modularization

(DOMing) yeah, I dom
Gives variables for tools that can harvest flora, a blacklist of them, and modularizes variables a bit.

Retypes the stump to be a subtype of a tree, which just deletes after being harvested

* Adds the ability to uproot flora with a shovel

* added eswords to the list of things that can cut

* ausbush junk

* code review appreciation + changing drag_slowdown

* more code review appreciation

* kirbyplants ComponentInitialize() -> Initialize()

* forgot glob.
2022-05-16 00:00:54 -07:00
LemonInTheDark 0e904f7032 [MDB IGNORE] Moves non floor turfs off /floor. You can put lattices on lavaland edition (#65504)
About The Pull Request

Alternative to #65354

Ok so like, there was a lot of not floor types on /floor. They didn't actually want any of their parent type's functionality, except maybe reacting to breaking (which was easy to move down) and some other minor stuff.
Part of what we don't want them to have is "plateable" logic.
I should not be able to put floor tiles on the snow and be fine. It's dumb.

Instead, I've moved all non floor types down to a new type, called /misc.

It holds very little logic. Mostly allowing pipes and wires and preventing blob stuff.
It also supports lattice based construction, which is one of the major changes here. I think it makes more sense, and it fixes an assumption in shuttle code that assumed you couldn't place "a new tile" by just hitting some snow with a floor tile.
Oh and lattices don't smooth with asteroid tiles anymore, this looks nicer I think.

Moving on to commits, and minor changes

Changes clf3 to try and burn any turfs it's exposed to, instead of just floors
Moves break_tile down to the turf definition, alongside burn_tile
If you're in basic buildmode and click on anything that's not handled in a targeted way, you just build plating
FUNCTION CHANGE: you can't use cult pylons to convert misc tiles over anymore
Generalizes building floors on top of something into two helper procs on /turf/open, reducing copypasta
Adds a new turf flag, IS_SOLID, that describes if a turf is tangible or not.
Uses this alongside a carpet and open check to replace plating and floor checks in carpet code. This does mean that non iron tiles can be carpeted, but I think that's fine

Moves the /floor update_icon -> update_visuals call to /open
This change is horrificly old, dating back to 8e112f6 but that commit describes nothing about why it was done. Choosing to believe it was a newfriend mistake. Uncomfortable nuking it though, because of just how old it is. Moving down instead

Create a buildable "misc" type off open, moves /dirt onto it
Basically, we want a type we can use to make something support
construction, since that can be a messy bit of logic. Also enough
structure to set things up sanely.

I'm planning on moving most misc turfs onto it, if only because
constructing on a dirt tile with rods should be possible, and the same
applies to most things

Murders captain planet, disentangles /turf/open/floor/grass/snow/basalt

Adds a diggable component that applies the behavior of "digging"
something out from a turf.

Uses it to free the above pain typepath into something a bit more
sensible

The typepaths that aren't actually used by floor tiles are moved onto
/misc

The others are given names that better describe them, and kept in
fancy_floor

Oh and snowshoes don't work on basalt anymore, sorry

Snowed over platings now actually have broken/burned icon states, fixing black holes to nowhere

Misc turfs no longer smooth as floors, so lattices will ignore them

Placing a lattice will no longer scrape the tile it's on

Ok this is a really old one.
I believe this logic is a holdover from kor's baseturf pr
(97990c9)
It used to be that turfs didn't have a concept of "beneath" and instead
just decided what should be under them by induction. This logic of "if
it's being latticed scapeaway to space" made sense then, but has since
been somewhat distorted

We do want to scape away on lattice spawn sometimes, mostly when we're
being destroyed, but not always. We especially don't want to scape away
if someone is just placing a rod, that's dumb.

Adds a path updating script for this change

I've done my best to find all the errors this repathing will pull out, but I may have missed some. I'm sorry.
Why It's Good For The Game

Very old code made better, more consistent turfs for lavaland and icebox, better visuals, minor fix to snowed plating, demon banishment in lattice placement, fixes the icebox mining shuttle not being repairable
Changelog

cl
add: Rather then being tileable with just floor tiles, lavaland turfs, asteroid and snow (among other things) now support lattice -> floor tile construction
fix: Because of the above, you can now properly fix the icebox mining shuttle
refactor: Non floor turfs are no longer typed as floor. This may break things, please yell at me if it does
/cl
2022-03-16 15:55:56 +13:00
san7890 e74d0990e2 Adds Ruinless Cave Generation to IceBoxStation (#64671)
* Adds Ruinless Cave Generation to Lavaland

This PR adds a new type of cave generation to lavaland, where you can specify different areas to spawn without ruins. This is especially important for the parts indicated in the image below, because they're bald and ugly in order to help accomodate for the structures below.

I add a new datum for cave generation that doesn't spawn ruins (simply because the generation subsystem can't spend budget in those areas), as well as a nice new area and genturf sprite to help improve contrast for the mappers who succeed me.
2022-02-13 14:40:30 -07:00
Fikou 4f90d3af7c Brimdemons (#64592)
Adds brimdemons, these are lavaland creatures firing blood lasers at their enemies.
Brimdemons drop brimdust, which can be used as a botany reagent (it heals the plant, removes weeds and pests and increases potency), and also to craft ore sensors, which are basically primitive ore scanners, on your ears.
Adds tropical lobstrosities to lavaland and removes them from xenobiology, also gives them a crusher trophy that staggers enemies for 3 seconds.
2022-02-02 12:36:23 -08:00
John Willard 6c0aba5da4 removes double spaces AFTER symbols (#62515)
* removes double spaces AFTER symbols

* found more
2021-11-03 21:09:35 -04:00
Ghilker 95c8e00af7 cleanup _HELPERS/_lists.dm and all the necessary files (#61827)
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
2021-10-12 14:48:51 +01:00
TiviPlus 519a15032e Default Baselighting to white (#61544) 2021-09-19 03:18:24 -07:00
TiviPlus e629c36feb Refactor area and turf lighting (#60954) 2021-08-25 15:07:38 -07:00
Watermelon914 375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
EOBGames b05af8b31d Add Lizard Food: a Taste of the Homeworld (#59412)
The aims of this commit are threefold:

 - To introduce lizard culture (based upon Common Core) in a tangible way.
 - Give some more variety of techniques and recipes to the chef and bartender.
 - To give some flavour (metaphorically and literally).

🆑 Inept, Coiax, AdipemDragon, YakumoChen
add: The release of the new cookbook, "Tiziran Cooking: a Taste of the Homeworld" has brought Lizard food to the masses! Try out some new treats, like Moonfish, Nectar Larvae, and perhaps even Headcheese at the kitchen today!
add: To coincide with the new popularity of Lizard cuisine, Nanotrasen now stocks seeds for Korta Nuts, a common ingredient in lizard cooking, in the Megaseed vendors. Botanists, you know what to do.
add: A few Tiziran fish are also available for you aquaculture lovers out there. They all like saltwater!
add: A few new snacks are also now available at the station's snack vendors, for those of you too lazy to visit the kitchen.
/🆑

Co-authored-by: coiax <yellowbounder@gmail.com>
2021-06-12 20:01:44 +01:00
Time-Green 448d9bd841 Geyser rebalancing, gives miners points for discovering geysers (#58859)
Co-authored-by: Matthew J. <GoldenKeyboard@users.noreply.github.com>
2021-05-07 03:55:07 -07:00
Fikou 60424d0e0e adds a bitflag for no random pixel shift on dropping, adds turf_flags var to replace usage of flags_1 on turfs (#57263)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-01 01:23:38 -08:00
Whoneedspacee 9ee4703133 Icebox QoL minus features (#56472) 2021-02-17 03:17:41 -08:00
Qustinnus c7f09a672b Fixes up icebox cave gen (#55788)
Icebox cavegen generates the correct mobs and ore on the bottom z-level again
2020-12-31 17:44:57 -08:00
Qustinnus 3984f85202 Fixes icebox gen (#55506)
Adds some more rock formations on the surface of icebox.
2020-12-17 14:23:31 -08:00
Qustinnus ff9d794e84 fix (#55462) 2020-12-11 16:51:24 +01:00
Qustinnus 15c7de802a Refactor the procedural generation of lavaland and turf/closed/mineral (#54915)
This replaces lavaland's old diagonal tunnel gen which was really 
horrendously jammed into asteroid floor code (?????) with Cellular 
Automata which runs in rust (PR for that here: 
https://github.com/tgstation/rust-g/pull/57 ). The new code is a bit 
cleaner, but also looks better.

VID: https://streamable.com/a45ke2

Things to do:
- Make an icemoon version
- Fix the roundstart atmos adjacency issues

I asked AnturK if this was an acceptable PR for this month; he said it 
was okay as long as I didn't add new areas, which I don't plan to do. 
But if anyone thinks this PR breaks the spirit of the month I'll open 
it again in december.
2020-12-10 20:59:29 -08:00
TiviPlus 9fb0c73f63 Grep for proc(var/bad) (#54848) 2020-11-09 08:44:35 -03:00
Qustinnus 11a00bd3c7 Implements jungle generation and area map generator datums (#51082) 2020-08-29 03:18:19 -07:00