tgstation/-tg-station — pull request #3334 by Krypt0n33 (2014-04-05 21:40:13+00:00)
Title: [RFC][do not merge yet] Modular Scanner

First commit for the introduction of modular Scanners. Scanners will become empty frames that can be filled with scanning modules. This will allow reuse of scanner code, easily upgradeable scanners and the health/reagent scanner you always wanted.

Inb4 copy&paste code, yes a lot of the code for the scanner modules is copy and pasted from the "real" scanners, but the intention is to replace them.

Unrelated:
-renamed scanner.dm to detective-scanner.dm to avoid confusion

Implemented:
-one 2-slot scanner (using Analyzer sprite)
-3 modules (using PDA cartridge sprite)
-health scanner module
-blood dna scanner module
-atmosphere scanner module

ToDo:
-recording and printing ( for some scanners, not all of them) like the detective scanner
-more modules (seperate health and virus, wire, fingerprint, fibers, reagents, maybe something new)
-integrate modules and scanner into R&D (multiple versions with more range/features/slots)
-more frames (maybe restricted to some types of modules)
-replace existing scanner with modular scanner
-sprites(?)

Ideas for the future:
-PDAs get one module slot

I'd like to get some feedback on the idea itself and on my implementation.
This is my first feature pr, so please do not just close it, tell me what is wrong and how I can improve it.