Commit Graph

38 Commits

Author SHA1 Message Date
Leshana
57ed0f6e9e Sundry Runtime Fixes - March (#5047)
* Fixes Runtime in tools.dm,239: undefined variable /mob/living/simple_animal/retaliate/solargrub/var/handcuffed

* Add logging to help identify the cause of runtime in examining zshadow mobs.

* Fix Runtime in buckling.dm,165: Cannot execute null.forceMove().

* Fixes  Runtime in robot_items.dm,31: Cannot read null.origin_tech

* Fixes Runtime in paper_bundle.dm,183: Cannot read null.loc
2018-03-13 00:13:19 -05:00
Leshana
741e02407a Port SSoverlays & Convert turfs to use it (#5004)
* 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.
2018-03-05 19:43:23 -06:00
Anewbe
d6b249817d Falling onto space no longer hurts (#4774) 2018-02-10 23:25:54 -08:00
Anewbe
64588484bf Mechs can now fall from non-shuttle heights without hurting the occupant (#4776) 2018-02-10 20:03:06 -08:00
Anewbe
f0ce7f9643 Falling one floor is no longer a death sentence (#4759) 2018-02-08 12:59:24 -08:00
Neerti
3fd1571a4b Merge pull request #4724 from Anewbe/ghettoChutes
Fixes ghetto chutes
2018-02-06 14:14:30 -05:00
Leshana
5847319443 Update every initialize() proc to return an initialize hint.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
2018-02-05 15:50:13 -05:00
Leshana
44dc4b7286 Implement SSatoms
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
2018-02-05 15:50:06 -05:00
Anewbe
67e22cf0a6 Closets and Mechs no longer prevent death by freefall 2018-02-05 00:53:12 -06:00
Neerti
d71a610a97 Adds Missing Ceiling Overlay + Fixes Space on Roof
On Multi-Z compatible maps, if a tile is missing a ceiling (IE there is an open space above it), it will display an overlay to show this. This makes it easier to know where the hole in the ceiling is without having to go to the ceiling. Overlay sprite by Mechoid.
Also fixes space tiles appearing when meteors/explosions/other fun things occur on the Southern Cross map instead of open space.
2018-01-22 14:27:19 -05:00
Arokha Sieyes
e3d965c423 POLARIS: zshadow del fix 2018-01-17 02:18:50 -05:00
Leshana
7cb2555dc7 Updates misc atmospherics machinery init and destroy.
Fixes Destroy() proc on zpipes and cryo cells gets rid of a `loc = X`
Updates remaining atmos machinery to use atmos_init
Fixes area atmos computer to use initialize() instead of spawn-in-New
2018-01-09 15:23:17 -05:00
MarinaGryphon
3f98312535 Ports hoists, as well as some macros, from Aurorastation. (#4451)
* Ports hoists.

* Ports use_check
2018-01-01 12:17:35 -08:00
BothNevarBackwards
4540f770d4 Lots of species stuff ported from Baystation (#4442)
* Ports species based footprints from bay
- https://github.com/Baystation12/Baystation12/pull/17935
- https://i.imgur.com/ojAU373.png
- Unathi use claw on right
- Taj and tesh use paw in center

* Flash stuff glasses protection things

* Flash stuff actual thing

* Organ mult thingy

* Floaty eyes and cloak setup

* Species falling
2017-12-26 14:28:21 -05:00
Anewbe
e51f3aad61 Fixes sprites, moves planetary explosion to fall_impact 2017-12-02 16:36:50 -06:00
Anewbe
132168bc81 Further parachute functionality 2017-12-01 22:11:38 -06:00
Anewbe
085c33e39a Adds parachutes 2017-12-01 18:37:30 -06:00
Spades
edfa947278 These are not Vorestation edits. (#4088)
Y'all are confusing the shit out of us.
2017-10-16 23:01:30 -05:00
Woodratt
0f6d0a9e4f Porting see down through open spaces
Ported 'see-down' open spaces from Vore, who ported it from Eris

Ported talking and visible messages traveling upwards through open spaces

Tested, seems to work? Does not seem to break anything, maybe.

Maybe made a changelog.
2017-10-09 22:05:20 -07:00
Woodratt
3e90725a45 Catwalks and Railings
Added catwalks and railings. Ported from Vorestation who ported them from Eris.

Note, catwalks can be placed on plating (as is seen on the vorestation map Tether) and is done so here as well. However it doesn't seem like it is possible to build said catwalks on plating. Did not bother to adjust this at this time. Something to sort in the future.

Adjusted SC station dmm to use both the railing and catwalks as well as a couple fixes for the floor tile adjustment in a earlier commit.
2017-09-16 00:54:33 -07:00
Neerti
b5802fb185 Makes Mechs Fall
Mechs now will fall when crossing an open tile.
Anything below that tile will have a bad day.
Also makes lighting overlays unable to fall just incase.
2017-06-01 15:05:51 -04:00
Leshana
25718bfa7b Fix zpipes losing color in-game.
* Colored zpipes (like scrubbers or supply for example) would always lose color in game becuase atmospherics machinery sets color = null since most pipes use overlays and the icon cache.  For better or worse, zpipes don't, they just use a normal icon_state, so they need color set.
2017-04-26 20:07:00 -04:00
Anewbe
2a872bbd47 Merge pull request #3348 from VOREStation/zpipe-typo
Fix typo in zpipe proc name.
2017-04-22 20:22:34 -05:00
Leshana
23bcfbe28c Fix typo in zpipe proc name.
* The proc obj/machinery/atmospherics/pipe/up/process was supposed to be obj/machinery/atmospherics/pipe/zpipe/process.
* Also changed hard coded integers to use constants while I was editing the file anyway.
2017-04-22 17:05:20 -04:00
comma
5f2d23fbd7 Makes cable use BYOND directions
Instead of 11,12 they use 32,16 for DOWN,UP
Merges multiz handling into main logic
Port of: https://github.com/Baystation12/Baystation12/pull/15907
2017-04-21 11:22:07 -04:00
Leshana
ff3c5238aa De-snowflake thrown objects hitting turfs.
* Port of https://github.com/Baystation12/Baystation12/pull/16942
* Actually tell turfs when a thrown object hits them, and let them decide what to do about it!
  * We do this by calling hitby(), which is how it already works for obj and mob, so this makes behavior consistent.
* This allows us to cleanly solve the problem of a thrown object landing on open space without falling.
2017-04-17 13:13:40 -04:00
Leshana
95b9dde94a Multi-Z code formatting and utilities.
* Global procs should start with /proc
* Use to_chat() macro
* Added utility to find all z-levels are connected (transitively adjacent) and utility to test if two levels are connected.
2017-04-17 11:57:49 -04:00
PsiOmegaDelta
663e2b2d4c Can no longer move up/down from non-turf locations.
Port of https://github.com/Baystation12/Baystation12/pull/16653/
2017-04-16 21:33:16 -04:00
Neerti
0f781e36a7 Adds Multi-Z Test Map 2017-03-03 09:40:34 -05:00
Zuhayr
18c2f33eab Ported ventcrawling from vg. 2016-09-21 17:16:03 +01:00
Neerti
0a389a418b Revert "Ported ventcrawling from vg." 2016-09-20 17:21:58 -04:00
Zuhayr
843c48a9ee Ported ventcrawling from vg. 2016-09-16 04:05:49 +01:00
Zuhayr
f93ea6a78f Tweaks to previous commits.
More tweaks to IPC fixes.
Merge resolution/compile fixes.

Further work on properly integrating, updating and fixing prosthetic options.

Repathed internal organs to organ/internal.

More work on full synthetics, changelings, overheating.

Working on getting organs to qdel properly and spawn properly when robotized.

Finalized some overheating values, added remaining prosthetic icons.

Finalizing the testing version of the full prosthetic bodies branch.

Added suit cyclers to the autolathe and map.

Fixing runtime errors.

Fixing errors.

Changelog.

Replacing limb and organ strings with constants.

Prevented brainless species from becoming full cyborgs.

Fixed issues with brain/MMIs renaming themselves inappropriately.

Various fixes and oversights.
2015-12-24 21:13:40 +10:30
PsiOmega
fa6319d52d Turf initialization tweaking.
Removes the need for a spawn() in New().
2015-09-27 13:18:18 +02:00
SkyMarshal
144dbebb2d Multi-z fixes. 2015-09-26 17:39:16 -07:00
SkyMarshal
8b225e4ba6 Update to stairs. 2015-09-20 18:25:23 -07:00
Joseph Heinemeyer
8c61c3ab6f Fixes multi-z things. 2015-08-30 18:58:37 -07:00
SkyMarshal
772c320303 Multi-Z. 2015-08-30 14:15:20 -07:00