[READY]Medical Kiosks V3.0. New TGUI Interface, New functionality, some minor fixes. (#47578)

AKA: This shit again.
About The Pull Request

So based on feedback I've been getting over the past month, the main issue with medical kiosks is that even as a roundstart, public medical analyzer, the cost on use at T1 isn't anywhere near helpful enough to warrant not breaking into medical storage and printing an analyzer. This go around I'm pretty much scrapping the dependence on upgrades in order to turn it into an economy reliant machine instead.


Now featuring so much info with all 4 scans, I had to put them into tabs!

Now, the machine begins with the full docket of information typically provided by the Advanced Medical Analyzer, but each section of information is an individual purchase. General Information is provided under "Patient Health", Issues where the player may realize something non-obvious is wrong can be found under "Symptom Based Checkup", and "Neuro/Radiological Scan" covers the host of Cellular/Radiation issues.

As a means of alleviating concerns about having the whole host of advanced medical scanner information available round-start, I've bumped up the minimum cost for each scan type to 10 credits, so for the whole set of information it'll cost you about 40 credits.

Quick video link showing how it works in practice:
https://cdn.discordapp.com/attachments/184507411648741378/642437277632561182/2019-11-08_13-49-31.mp4

In addition to that, some sanity checks that were missing from the first couple PRs were added, so Ghosts and Borgs won't runtime trying to use a machine that only works on the living.

Bugfixes from the first time (I am so sorry about the line spacing)
Have a working, functional TGUI that shows all the old Kiosk information plus what you can get off of medical analyzers that I skipped over

And these things if/when I get to it:

Adds emagged functionality.

    Allow for crew to scan other crew using the machine.

In the meantime this is SUPER DNM until at least those first 3 are ironed out.
Why It's Good For The Game

Helps to Enforce the Medical Kiosk as what I initially hoped it would function as, a money sink for Medbay. With the new budget changes, this means that crew who use the medical kiosk are actively paying every member of medbay.

Additionally, the feedback I got from literally everyone I've talked to has been pretty universal: The medical kiosk is pretty much worthless to use, even at shift start, because it's not worth upgrading and by the time you DO upgrade it, you can just print your own medical analyzer and skip the whole process.
Changelog

cl
add: Medical Kiosks now have more functionality available, including showing blood levels, virus information, and cumulative total health.
add: You now now alt-click a Medical Kiosk to remove a medical scanner wand, so that you can scan someone else.
add: Medical Kiosks now use TGUI-next.
tweak: Now, the information in the medical kiosk is split up between 4 different scan types, General, Symptom based, Neuro/Radiologic, and Chemical Analysis scans.
balance: Each medical kiosk scan costs a base 10 credits minimum.
fix: Medical Kiosks don't runtime on ghosts and borgs anymore.
/cl
This commit is contained in:
ArcaneMusic
2019-11-16 19:10:17 -05:00
committed by oranges
parent 52def2bf42
commit a7021f483d
8 changed files with 555 additions and 64 deletions

View File

@@ -31,7 +31,9 @@ import { CrewConsole } from './interfaces/CrewConsole';
import { Cryo } from './interfaces/Cryo';
import { DisposalUnit } from './interfaces/DisposalUnit';
import { Gps } from './interfaces/Gps';
import { KitchenSink } from './interfaces/KitchenSink';
import { LanguageMenu } from './interfaces/LanguageMenu';
import { MedicalKiosk } from './interfaces/MedicalKiosk';
import { Mint } from './interfaces/Mint';
import { NtosMain } from './interfaces/NtosMain';
import { NtosSupermatterMonitor } from './interfaces/NtosSupermatterMonitor';
@@ -194,6 +196,10 @@ const ROUTES = {
component: () => LanguageMenu,
scrollable: true,
},
medical_kiosk: {
component: () => MedicalKiosk,
scrollable: false,
},
mint: {
component: () => Mint,
scrollable: false,