Commit Graph

6 Commits

Author SHA1 Message Date
Erki 6c47fb889a Revert #3241 (#3670) 2017-10-17 20:39:50 -05:00
Lohikar b9a4ecd173 DEvent, Mk II (#3241)
Redesign of PR #2209, now with sane unregistration + a new event.
2017-09-06 18:08:44 +02:00
PsiOmegaDelta 6089ccccea Makes events global.
Greatly decreases the number of objects that need to be created (currently 3 event handlers in total vs basically 3 per datum)
The price is a slower lookup of listeners but on a per round basis it should still be much less than the current startup time penalty.
2016-01-26 13:12:37 +01:00
PsiOmegaDelta 7d7aa4b50b Turns events into vars instead of a list, to greatly simplify qdel() cleanup. 2015-12-14 13:44:05 +01:00
PsiOmegaDelta 3d0417d622 Corrects and adds more sanity checking. 2015-11-15 14:45:36 +01:00
PsiOmegaDelta 7484385e0d Adds hacking tool.
In normal mode a hacking tool acts and functions just like any multitool. Use a screwdriver to toggle between normal and hacking mode.
Hacking attempts will take 20 +(0 to 20) seconds (triangular distribution, averages at +10 seconds).
Once an airlock has been successfully hacked the user will have full access to the door operation interface normally restricted to silicons.

A hacking tool will remember the last 6 to 8 hacked airlocks.  No time is needed to again hack remembered airlocks.
Once the limit has been reached the least recently accessed airlock is forgotten. Hacking a remembered airlock will update the last accessed time.

Also adds a basic observer/listener pattern implementation to, for example, make it easier to catch when objects have been destroyed and clear references.
2015-11-13 21:59:56 +01:00