Fix meteor spawning directions, add meteor subtypes
Created by: dylanstrategie
Whereas a new era downs on space rocks
General technical changes :
- Fixed meteor spawning directions. Meteors will no longer get caught in the transition zone (especially when spawning from the east), and will head to the opposite side 100 % of the time (I guess it was that hard to write x and y axis transitions properly ?)
- Meteors now have a functional delay for spawning, which means that meteors will spawn within 1 to 3 ticks of eachother. That might sound very short, but it's certainly much, much more sequenced than the "all 100 of them at once" technique that caused apocalyptic lag. Talking of which
- Lag has been massively reduced again, and since meteors don't strike all at once wave sizes no longer impact latency. Waves also last much longer, which means intelligent Engineers can go to the side the meteors aren't striking to repair shit
- Increased meteor wave sizes from (50, 100) to (60, 125) to adjust for the multiple changes in meteor destructiveness. Benchmarked to breach the AI Core at shuttle arrival and leave little standing if no repairs or fortification are attempted
- Used event weighted lists as a model to spawn weighted meteors. This makes everything more modular, and also means small meteor waves will now spawn 100 % of their meteors, and so will medium ones (instead of 40 % and 95 % respectively)
New meteor types, all meteors are weighted at 5 % chance of spawning (out of total of all meteors, same as big meteors previously) :
- Small flash meteor, flashes everyone in view similar to a flashbang. Explodes like a small meteor
- Medium radioactive meteor, irradiates everyone in view for (5, 10). Explodes like a normal meteor
- Medium piercing meteor, devastates first tile in the way (allowing it to pass unless bomb-proof), then explodes like a normal meteor
- Big cluster meteor, devastates own tile on explosion and sends three medium meteors hurling in random directions
- All meteor types have blazing new sprites (a bit coder-y art, but distinct), even old ones (so the big meteor is now visually big, for the viewing pleasure of whoever is on the receiving end)
Changelog included. Discussion goes below