I spent a ridiculous amount of time on this.
Arm order now works like:
input disk
input nuke code, press E
input time, press E
press ARM to activate
press ARM again to deactivate (with disk)
press C to clear code input while ready but not armed
* I don't know how I broke everything
* Added trailing lines at end of files to appease the lint gods
* Non-essential fixes / cleanup
* More non essential changes
* Rebuild tgui
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
* Improve tgui fatal error reporting
* Keyboard passthrough in tgui
* New Rapid Pipe Dispenser interface
* Update README with new components
* Release held keys when browser window loses focus
* Power Monitor Interface, NtOS theme and core components
* Yet another CSS rework
* Fix Table, Chart stubs for IE8
* NtOS Main interface
* Supermatter Monitor interface
* Tweak NT color, color + sort gas bars
* gps, suit storage, tank dispenser tgui-next
gps work
Final gps
suit storage + tank dispenser
* Improve GPS with direction arrows
- Added some collection manipulation functions
- Table is 100% wide by default
* Clamp GPS window height to safe range
* Calculate distance using vector maths on client side
* Remove logging
* More robust keying for GPS signal rows
- Protects from sorting glitches
* rebuild
* rebuild
* Radio interface
* Ore redemption machine interface
* Remove candystripe because it looks like shit
* Solar tracker interface
* Add more channels, add full color support to Box
* Cleanup README
* conversion guide draft 1
* Update documentation
* Implement an Input component, update component reference
* Crafting + Language Menu
crafting menu work start
personal crafting menu
rebuild
early return cleanup
remove a debug print
minor refactors
rebuil
* Crafting + Language Menu
crafting menu work start
personal crafting menu
rebuild
early return cleanup
remove a debug print
minor refactors
rebuil
* Unfuck crew console
* import cleanup
* one more
* tgui-next: Low level stuff
- More robust cache reloader, support WSL pathing
- Add a way to only reload the cache once without launching a full dev server
Throw a warning when using lowecase onclick on Button
Improve logging, add loader to inline svgs
- Logger can now handle circular references;
- Logger will not truncate long objects.
Typo, rebase, rebuild
Support --debug flag on dev server, improve logging
Lots of cosmetic and other changes
- Add support for Babel macros
- Implement a "multiline" macro for creating long multiline strings
- Rename interfaces to better match the component naming convention
- LabeledList.Divider size is 2 by default
- Sort routes by name
- Remove package-lock.json files on --clean
- Catch weird JSON parsing errors for better debuggability
Ignore sourcemaps
Clarify what that multiline function is
Try this travis fix
Bump NodeJS version to 12.x
Add a stub to make multiline usable as a template tag
- Just in case we will need to remove macros and have it still working.
Document debug flag in README
Fix LabeledList.Divider, reduce expensive SCSS calls
Separate dev and production builds so that they never overwrite each other
Run linter as a part of the production build
Rebuild tgui
Add react eslint plugin, massive jsx cleanup
* Mint janitor
* Optimization of tgui initialization path
- Call browse with titlebar and resize flags disabled
* Fix backend reducer
* Rebuild, fix linter errors
* tgui
* use_amount return
* cleanup
* Not my fault
* tgui-next interface done
* undoes changes to tgui.js
* Better UI, prod build.
* uhhh extra file from merge.
* and one more
* Initial tgui-next commit
* Improve dev server, slight changes to layout.
* Add more components, fix dragging, finalize scrubber list
* Complete an air alarm interface.
* Multiple improvements based on feedback
- LabeledList now has a "buttons" prop, where you can put buttons.
- Improved Box and Flex components
- Whole UI is now dimmable if non-interactive
- Basic documentation of components (Box and Flex so far).
- Icon and Box now accept a "color" prop.
- Routing improved in "Layout" component, you can now specify whether an interface is scrollable.
* Less harsh dimming
* Redux, Toasts
- Fixed inconsistent backend updates with Redux.
- Added Toasts which are currently unused, but are functional.
* acclimator + ai airlock ui
* Add a progress bar component, implement resizing
* Fix a zero in title bar
* Add a linter to keep shit tidy, fix danger level mapping, add some more docs
* better ai door interact ui
* final ai airlock interface
* Fix issues with code, enforce hard 120 line length cap, automerge binaries
* Implement hot module reloading
* Fix progress bar, add color support
* Fix ProgressBar baseline alignment issues
* Remove unwanted padding on the bottom of the LabeledList.
* Component improvements
- Fix baseline issues with Button and ProgressBar components
- Box how inherits props from Box
- Atomic colors and Button colors are now auto-generated, all range of colors supported
* Chem Dispenser UI, animated numbers, more style fixes
* Add an IE8 polyfill
* Intermediate state of fixing IE8
* Lots of shimming and general misery
* Fully working old TGUI chainloader for IE8, more pipeline improvements
* Support title-less Sections
* Delete Yarn, use Lerna for workspace management
* Improve maths and animated numbers
* Fix loss of focus for scrollable content, activate buttons with keyboard
* Attempt to bust the cache, grab focus on keyboard presses too
* Fix hot module replacement by manually pulling replaced modules.
* backend logging
un-nuke line endings
changes without insane line endings
* helper procs + href support
* slight optimization
* compiles
* Redux, Hotkeys, Kitchen Sink (for UI testing), Tabs component
* Push logs to backend, small kitchen sink changes, tab fixes
* Update component reference in README
* Small fixes
* Next bunch of IE8 fixes, PureComponent optimization for Inferno
* Delete old tgui html
* Log the event of loading the old tgui
* Enable tgui logging on server by default
* Final solution
* Extract routes into a separate file, fix ChemDispenser bug
- Chem dispenser was needlessly disabling transfer amount buttons
* Disable baseline alignment for vertical tabs
* Fix tabs and box units
- Tab content was not taking full page width
- Box can now accepts strings as units, which will be treated as raw style values.
* Fix tgui on Terry
* Fix sending all logs with an "error" flag
* Some macro UI component changes and improvements
- Refer to README.md diff to see what's new
* Tooltip component
* Add support for themes, nanotrasen logo is back
* Clockwork theme hotfix
* Slight adjustment to logo positioning
* Actually proper solution for logo positioning
* Fix color maps
* tgui-next thermomachine interface
* tgui-next canister interface
* Add icon_class_name proc to asset cache
* Lots of stuff backported from actioninja's repo
* Cleanup oopsies
* Cargo UI adjustments
* Nuke lodash
* Minor fixes and cleanup
- Remove local Inferno package in favor of upstream Inferno
- Fix "initial" prop on AnimatedNumber
- Force fancy=0 for IE8
- Click-through dimmer
* Add a bat file for dummies
* podlauncher interface fix
* Update README, assert code dominance
* Clarify usage of event handlers in Inferno
* Document LabeledList.Divider
* Fukken grammar
* fixes cellular emporium readapt button not working
* fixes incorrect action on button in atmos control interface
* remove unneeded data from airlock electronics ui
* Set +x mode on bin/tgui
* Fix filename cases
- They were untracked by git on windows
* Ignore package lock, make batch more robust
- package-lock.json is very random and unreliable as fuck. Yarn was better.
* Build tgui-next in travis
* bruh
- fixes tgui error reporting
* logging cleanup + always log