Commit Graph

240 Commits

Author SHA1 Message Date
Anewbe
7ed36f51f2 Syringe adjustments 2018-03-07 18:46:50 -06: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
Arokha Sieyes
4fe5f37079 POLARIS: Aura animation proc
Generic proc that allows you to animate an aura around something.
2018-02-24 13:14:13 -05:00
Anewbe
328a7c54df Merge pull request #4926 from VOREStation/vplk-gas-turbine
Make gas turbine constructable and operational
2018-02-23 13:16:56 -06:00
Atermonera
4e9a1a0fba Unobfuscates GPS locations (#4910)
* Makes GPS units more useful, adds helper to give more useful dir strings

* Re-obfuscates PoI gps locations

They keep adir direction though, so finding them should generally be easier

* Re-obfuscates PoI gps locations
2018-02-22 22:10:18 -06:00
Leshana
a1bfd1fb46 Make gas turbine constructable and operational
* Make gas turbine constructable, as well as modernizing its code. Borrowed some from /tg
* Converted the gas turbine control computer to nano ui.
2018-02-22 15:43:38 -05:00
Aronai Sieyes
78d7ef1d72 Port Bay-style attack animations (#4827)
* POLARIS: Attack animations

* POLARIS: Overlay flick system

You can't do this in Byond, unfortunately, so here's some code from /tg/

* Make attack anims a preference
2018-02-15 22:02:04 -06:00
Marina Gryphon
cb3a058aa3 Closing parenthesis. 2018-02-06 11:10:28 -06:00
Marina Gryphon
3b6830de50 Should compile now, oops. 2018-02-06 11:08:04 -06:00
Marina Gryphon
6a3e2fd239 Clarifies comments, reduces line change. 2018-02-06 10:53:20 -06:00
Marina Gryphon
1a005898a0 Makes sure that Z-shadows get updated on move_contents_to being called. Fixes #4669. 2018-02-06 10:51:32 -06:00
Leshana
5a2162a264 Preliminary implementation of ZAS as a StonedMC subsystem.
* Creates the SSair subsystem which replaces the Setup, Start(), and Tick() procs of air_master.
* It may be best to have SSair completely replace air_master, but for now we are having them work together.   It does completely replace the old processScheduer air ticker however.
* Remove the obsolete Setup and Tick procs.
* Adjust admin and debug verbs that dealt with some ZAS internals to work with the new implementation.
2018-01-30 12:28:45 -05:00
Neerti
f4c459624e Merge pull request #4657 from VOREStation/aro-jobsort
Sort jobs into correct departments, cargo color
2018-01-30 09:48:23 -05:00
Neerti
524deb9567 Merge pull request #4656 from VOREStation/aro-decalshuttle
Fixes decals on shuttle floors
2018-01-29 05:14:47 -05:00
Neerti
793600a77a Merge pull request #4652 from VOREStation/aro-givefix
Fixes #4643
2018-01-29 00:31:52 -05:00
Aronai Sieyes
8053d47bfa Adds a 'Save PNG' verb for fun (#4658) 2018-01-28 18:11:49 -08:00
Arokha Sieyes
7366a1307c POLARIS: Sort jobs into correct departments
Also give cargo some color
2018-01-27 14:57:43 -05:00
Arokha Sieyes
f7b70700b4 POLARIS: Shuttle floor decals go with the shuttle 2018-01-27 14:56:27 -05:00
Arokha Sieyes
2907da264f Fixes #4643 2018-01-27 14:46:50 -05:00
Leshana
b6a4531303 Enhance orbiting animations to actually support circles. 2018-01-21 20:52:33 -05:00
Arokha Sieyes
1558cd47df 3 Fixes (#4600)
* POLARIS: Do this lazily

* POLARIS: Speed up visible_message and audible_message

* POLARIS: Destroy this list rather than cutting it, for future safety
2018-01-21 16:17:04 -06:00
Leshana
db0ba60f64 Implements the Tesla engine and supporting features (#4539)
* Adds "typecache" utility functions. A fast way to filter lists by type.

Ported from TG

* Ports the "orbit" feature and subsystem from TG

* Adds a feature that allows mobs and objs to "orbit" around some atom.  They literally are moved around in circles.  See the `orbit` proc in orbit.dm.
* Adds a subsystem that processes the actual movement of orbiting items.

* Adds utility methods for common machinery behavior.

* Adds default_unfasten_wrench which handles the standard anchor/unanchor behavior of wrenches being used on machines.  Together with the other default_x_tool machinery procs we can eliminate having that code duplicated in dozens of places!
* Adds is_wire_tool proc to easily detect when a machine is hit with a tool that should open its wires UI (if it has one).

Based on ideas from Paradise, with improvements for us.

* Implements the Tesla Engine

Ported from a mixture of TG and Paradise code and assets: Edison's Bane

Includes the tesla energy ball itself, the generator that makes it, tesla coils, grounding rods, the circuits and frames to build them.

* Switch dusting to zapping on impact and spin better

Ported /tg SpinAnimation which supports more than triangles.
2018-01-19 14:56:08 -06:00
Arokha Sieyes
f2fef6f410 Planes Framework (#4545)
* Polaris initial plane upstream merge

* POLARIS: Fix RIG visors with new plane system, and material scanner VIS_FULLBRIGHT

* POLARIS: Fix GetFlatIcon so that cameras and id pictures don't show the HUD overlays.

* POLARIS: Adds a 'alter values' proc for plane master ease of tweaking

Setting stuff like colorblindness variety and things.

* Remove NIF reference, fix lighting layer define

* Handle effects above lighting plane

* Moved all layer defines to planes+layers.dm
* Fixed overlays that are supposed to be above lighting to use the PLANE_LIGHTING_ABOVE

* Merge: 3000% human/update_icons() speed improvement

* Merge: Avoid ghosts pointing at things
2018-01-17 13:45:54 -06:00
Neerti
96d3d361d0 Adds Boats, Ports /TG/ Buckling (#4527)
* Adds Boats, Ports /TG/ Buckling

* Travis Appeasement

* Changelog
2018-01-14 14:58:15 -06: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
Leshana
5ebcc92645 Port /tg garbage collection tweaks and statistics improvements
https://github.com/tgstation/tgstation/pull/30118 - Garbage collection tweaks and refactors.
https://github.com/tgstation/tgstation/pull/32022 - Find references fix.
2017-12-27 21:45:37 -05:00
Leshana
a435d73450 Ports /tg controller optimizations
https://github.com/tgstation/tgstation/pull/31092 - Fixes subsystems not returning a qdel hint
https://github.com/tgstation/tgstation/pull/31494 - In which the stoner one gets stoned and tries to address tick contention... again
https://github.com/tgstation/tgstation/pull/31950 - Removes an empty New()
https://github.com/tgstation/tgstation/pull/31951 - Logs subsystem shutdowns
2017-12-27 21:19:55 -05:00
Leshana
c6e8184b58 Ports https://github.com/tgstation/tgstation/pull/30184
* Adds defines for world.tick_usage
* This provides no useful benefit whatsoever, but /tg and Baystation12 have done it, so it will make porting future code easier if we do too.  No real harm done either.
2017-12-27 19:10:15 -05:00
Leshana
032d26010b Merging changes from /tg
https://github.com/tgstation/tgstation/pull/29637 Fixes subsystem MC crash tracking
https://github.com/tgstation/tgstation/pull/30092 Subsystem PreInit() now respects init_order
2017-12-27 18:58:51 -05:00
Neerti
acb208dd3f Works on New Blob 2017-11-29 22:35:01 -05:00
Anewbe
cad5ef12e7 Does work on the event manager role again 2017-10-18 20:00:01 -05:00
Mechoid
9a04744ab6 Turrets detect targets through metal foam. 2017-10-15 13:48:38 -07:00
Anewbe
4459d7087a Revert "Does more prep for the Event Manager role" 2017-10-04 18:33:34 -05:00
Anewbe
c2c6b5949a Does more prep for the Event Manager role 2017-10-02 21:51:48 -05:00
Anewbe
6ffebcef6e Merge pull request #3775 from Neerti/9/8/2017_tg_maploader_port
Port's TG's Maploader
2017-09-11 17:17:23 -04:00
Neerti
1bc28c07c0 Port's TG's Maploader 2017-09-08 12:49:26 -04:00
Neerti
4bfcec55f2 work 2017-09-04 21:52:47 -04:00
Neerti
36b0f5fa99 Even More Circuit Changes
See PR for changes.
2017-08-01 16:13:27 -04:00
Neerti
795fcd6306 Fixes Inability to use Say/LOOC/Other Things
A null entry somehow got into ```player_list```, which caused an important proc called ```get_mobs_and_objs_in_view_fast()``` to fail.  The cause appeared to be a brain mob failing to qdel, then failing to ```logout()```, leaving a null entry in ```player_list```.
```get_mobs_and_objs_in_view_fast()``` now makes sure every entry it iterates over exists, and this should fix the qdel issue as well.
2017-06-24 18:18:10 -04:00
Leshana
fb92653ac9 Ports "Makes global master vars static"
* https://github.com/tgstation/tgstation/pull/27523
2017-06-10 19:01:58 -04:00
Anewbe
5d81148ab8 Merge pull request #3511 from VOREStation/garbage-subsystem
tg Garbage Subsystem
2017-06-10 17:20:22 -05:00
Arokha Sieyes
7de82a599d Greases up get_blahblah_fast
Untypes lists, obj is more likely so it goes first, uses get_turf now that get_turf uses the get_step witchcraft method.
2017-06-09 00:42:16 -04:00
Leshana
e48b548f2b More and more Destroy() cleanups all across the board - Return qdel hints. 2017-06-05 23:01:41 -04:00
PsiOmegaDelta
ebe5cc916d Port of @PsiOmegaDelta's Baystation12/Baystation12#16820
Ports tg's garbage collector subsystem and Destroy() returning qdel hints.
2017-06-05 22:10:06 -04:00
Anewbe
b9007d11a8 Merge pull request #3493 from VOREStation/just-stonedmc
Port of StonedMC master controller framework
2017-06-04 16:15:13 -05:00
Neerti
a0a390e887 Surgery Modifications
Semi-rewrites how surgery failure works.  Using an improper surface will call the surgery step's fail proc instead of just doing a melee attack.
Adds 'surgery odds' var to objs, which determines effectiveness.  The numbers for operating tables/roller beds/tables remain unchanged from the previous version, however doing it this way makes it cleaner to add new surfaces in the future.
Adds a proc to get a surgery surface.
Also makes burn repair on FBPs more efficent, so that one scorched robot does not take literally all of robotic's wires.
2017-05-31 17:41:02 -04:00
Leshana
90dff0ae63 Ports /tg's StonedMC Subsystem from Baystation12
* Partial port of @PsiOmegaDelta's https://github.com/Baystation12/Baystation12/pull/16820
* Only ports the StonedMC changes, not the garbage collector (forthcoming in future)
2017-05-30 21:00:37 -04:00
Leshana
44ff1a70c6 Removes the datum pool, as it is not performant.
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
2017-05-04 01:58:33 -04:00
Neerti
d6683be3ce Adjusts Changelings
See PR
2017-04-23 13:22:32 -04:00
Anewbe
1fbef2de5b Merge pull request #3286 from VOREStation/smooth-lighting
Port tg/paradise/goon soft-edge lighting
2017-04-15 22:52:42 -05:00