* Upgrades Planetary Weather to vis_contents
Makes the weather on Sif use vis_contents instead of overlays, which should fix all weather-related icon issues, and may or may not be faster.
Weather updates instantly now.
Fixes indoor PoIs having outdoor weather.
* Tries to appease Travis
Doing this in smaller bits
- New random sif mob selector, peaceful animals
- Drone lootpile (basic placeholder loot right now until we figure out how to give them proper drone loot)
- New random spider mob selector, nurse spider and nurse hat spider (hat spider has 10 more health points and is a rare chance to spawn, woo)
- New spacesuit random spawn, medical space suits
- New Random Shotgun spawn
- New random gun spawns
- Fixed icon for random medicine spawn
- Fixed broken icon for 44 magazines
- Fixed Ice Cave dungeon walls being called 'steel'
- Added new Crystal type, to avoid the SM style crystal from spawning in crystal PoIs
try_build() has long accepted `user` parameter, but nothing that called try_build actually passed it!
Upgraded try_build on APC to use the user parameter, and switched to use to_chat while I was there.
try_build() has long accepted `user` parameter, but nothing that called try_build actually passed it!
Upgraded try_build on APC to use the user parameter, and switched to use to_chat while I was there.
When shuttles land on a turf, it takes the appearance of the turf it lands on as an underlay. Must make sure this underlay is on FLOAT_PLANE otherwise it will likely end up OVER the turf itself.
When shuttles land on a turf, it takes the appearance of the turf it lands on as an underlay. Must make sure this underlay is on FLOAT_PLANE otherwise it will likely end up OVER the turf itself.
Adds ability to attack mobs by clicking their tile.
When someone clicks a tile with a weapon while off help intent, and if a mob is occupying that tile, the mob will be attacked as if they were clicked directly.
If more than one mob is on a tile, one is chosen randomly.
You cannot hit yourself by clicking your own tile.
Weapons with cleaving abilities will attempt a cleave on the tile clicked on, making it very easy to hit (simple) mobs with those weapons if near you.
Other changes.
Cleave proc can accept any atom now and not just a mob.
Also cleans up weapons deciding how they can cleave somewhat.
Adds ability to have many different 'versions' of a PoI, yet only having one show up per round.
An example on how to do this is provided with Radio Free Sif (aka DJOutpost).
Just make sure all the different versions have the same 'template_group' value.
* Added "Display Initialize() Log" admin debug command so you can see it mid-round.
* Ported the core of the overlays management subsystem from /tg
- Added SSoverlays subsystem for compiling overlay lists and applying them to atoms in a controlled anti-lag subsystem.
- Added vars and procs to atom which should eventually replace all direct interaction with BYOND's /atom/overlays var outside the subsystem.
- Added OVERLAY_QUEUED flag to var/atom/flags bitfield.
- Added small framework for subsystem performance tracking. So far used only by SSoverlays
- Added admin debug command "Display overlay Log" to see performance stats mid-round.
* Fix runtime on universal pipe adaptor update_icons
* Workaround for appearance_bro not initialized
Unfortuantely BYOND's initialization order is strange, and the appearance_bro var is only half initialized when map starts to load, causing errors. We temporarily fix by moving it to be a global-scoped global.
* Convert fire alarms to use add_overlay() A good first test.
* Convert turfs to use add_overlays(), eliminating the turf_overlay_holder!
- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that
* Convert turf overlay interactions to use add_overlay.
Note: This is a plain and simple conversion of existing code to use SSoverlays. However I look at the line changed, and note that that line likely never fully worked as intended, as it has no way of re-applying itself.
I would make it use a priority overlay, but there is no code present for *removing* said overlay from neighbors when it is no longer required. That code should be implemented by original author.
- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that