Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* Intercom examine tells you about :i
If you're close enough to them
* Intercom exmaine message different depending on proximity
* Intercom examine isn't dynamic
About The Pull Request
When #48236 was in progress, there was discussion about how a crew pinpointer was OP for paramedics. I immediately had an idea for a new one and made a PR to the paramedic PR. 81Denton asked me to make this its own PR after the paramedic PR was merged.
The proximity crew pinpointer does not point in the direction of the patient, but has a circle sprite that gets smaller larger as you get closer, so you have to search around, or combine it with the handheld crew monitor.
The circle is at maximum the smallest size after 29 tiles away, so you must be 28 or fewer tiles away for an indication that you are getting close. I welcome feedback on this. The handheld crew monitor can be used to find the area they are in.
proxpin
Demo video: https://youtu.be/_rXeJ49b-e8 (The pinpointer gets bigger rather than smaller now)
This is only attainable at the moment to paramedics as they spawn. Should it also be available elsewhere? now constructable from the Biological Technology techweb
Further changes
Moved Crew Pinpointer into premium nanomed items for 900 credits
Moved Handheld Crew monitor into premium nanomed items for 1750 credits, same price as before
Why It's Good For The Game
In #48236 it was stated that paramedics should start with the bare minimum equipment to do their job. The crew pinpointer that points them in exactly the right direction is pretty powerful, and this nerf will encourage them to either get used to the proximity one, or upgrade to the normal one at a price from the NanoMed or from techwebs.
Moving the Crew Monitor into premium was necessary to make it more of a luxury than an instant grab.
Feedback for nanomed premium prices on the normal pinpointer and the handheld monitor would help a lot
Changelog
cl JJRcop
add: New proximity crew pinpointer.
balance: Paramedic's crew pinpointer replaced with proximity crew pinpointer.
balance: The crew monitor was moved to premium items in nanomed, same with the handheld crew pinpointer
/cl
* update_icon() improvements
Fixes some update_icon() calls to properly call parent and use update_overlays() and update_icon_state().
The rest of obj/item fuck it
* Suggested fixes, also passes the linter
* I always forget . = ..() is faster than return ..() FOR SOME FUCKING REASON
* Actually this is better
* Signilzes datum/action to update its icon when its connected item does.
* Makes all CanPass procs call parent
* Makes CanPass more extendable and gives the mover a say in the matter
* Replace CanPass with CanAllowThrough to use the new system
Regex replace `(?<!proc)/CanPass\(` => `/CanAllowThrough(`
* Simple optimization pass
* Unicode support Part 1
Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.
Adds defines for the footext_char() procs to maintain 512 support.
I did some cleanup on the text helpers since a lot of them were really, really bad.
reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.
* Give travis a more recent beta
* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron
* Suggested fixes, removes the last of the dd_ helpers
* Reading the reference is very important!
* Minor code improvements and a comment
* Typo
The grille one could use a lower level solution eventually. As in
separation of simple animal attack/visuals/aftereffects but that's
bigger refactor.
* Fixes explosion dismemberment runtime.
* Fixes removing pen from PDA runtime.
* Mulebot bullet act runtime.
* Trying to refuel plasmacutter with fuel runtime.
* Fixes grille runtime.
* Teslium reaction runtime
* lavaland elite win runtime
* PDA cart swapping, eject hotkey and verb
* Update PDA.dm and action.dm
- Toggle light action button
- Proper use of mob/user instead of usr when appropriate
- Fixes UI not updating when ejecting or inserting cartridge or ejecting ID
- Makes toggle_light item action work with PDAs
* Squashes Commits, has BEPIS, Techs, TGUIs, Rewards, and fixes.
* Makes rewardable techs a variable in all_nodes, and removes RnD Points rewards from the minor reward pool.
* Fixes conflict with pubby and beam icon.
* Review comments and basic cleanup A
* Review Comments and basic cleanup B, also cleans up icon states to work fluidly.
* Map Update
* Indentation, flipped Update_decal_path, and rebuilds tgui
* One last clean up of icon_state, adds the last bit of changes from review, and that should be everything.
* Alright last change for real I swear 105%
* Last change, adds simple sanity check for silicons.
* Moved Human and card variables into ui_interact.
* Fixes map conflict
* Alright Review Round 2 Part A, Fixes Grammar, splits polycircuit into it's own file, UI QOL improvements, Withdrawing credits, changes from arbitary values on the mini RLD, etc.
* More review bits, Part 2:B. Easier returns for less processing, Defines, fixes the merge conflict and updates the UI with new buttons. Just need to figure out Button Mapping for the UI and Duplicate prevention.
* Implemented duplicate tech protection. Yeet.
* Get back in there you
* Alright why are you breaking on me god damnit.
* It's optimized, closer to god, nearly perfect, all together it's ready to ship.
* Cleans up all of the decal painter, shorter, cleaner, works around all the turf_decal quirks.
* Tab spacing on github will look fucky
* More review changes.
* Uses use_power == ACTIVE_POWER_USE instead of powered except for the UI
* prices & income
* more prices
* lower megaseed premium prices
* custom prices for premium tools
* slightly lowers prices for some snacks/drinks/cigs
* hey get back here
* Map initial
* removes abstract
ok
* cleanup+Ninja fixes
* Update map_popups.dm
Fixes some runtimes.
* Update map_popups.dm
* coded cringe
gonna lose
* WIP
Adds spyglasses, fixes a pretty major bug.
* more bugfixes
* more bugfixes
* fixes the lighting issue.
* fixes tracking/reorganizes it
just need to do the polishing now. I'll do it when I wake up.
* fixes and shit
should be good to go now. didn't impliment the cloning, mostly because I'd feel it'd be kinda OP.
* feedback for dummies
Fuck the entire "For Dummies" series of books seriously the way that dumb fucker on the cover looks pisses me off it's like his eyes are some shitty anime girl but without any of the ass or thighs present on normal anime girls, literally all the minuses without a smidgen of a plus god FUCK I hate him. He knows it too, the smug bastard is smiling. "tee hee" he thinks, point up at some text we OBVIOUSLY can't see without noticing his smug ass mentioning it. "What a dumbass, can't even see the text" well guess what, idiot. I CAN see it, and I hate you all the more for it.
* ‼️
* background
remember when this was just to get a hacktoberfest tshirt lmao
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
About The Pull Request
Mura, noticing a disturbing lack of banjos in space, decided to start making some!
Why It's Good For The Game
-Adds a very nice banjo to the musician's arsenal, which hopefully may offset the ear-destruction that is the violin and accordion.
-Play rag on something that sounds nice.
-Space redneck shenanigans.
-Murder people with a banjo.
Changelog
cl
add: Mura space banjos are now in stock at your local NT instrument supplier! Start picking today!
/cl
* 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
* relic file
* Revert "Merge branch 'master' of https://github.com/tralezab/tgstation"
This reverts commit 826916d87b421dbb0ebcfce7fad96e456b6d3674, reversing
changes made to a0f476d874.
* mime pda
* hey maybe it works
* some steps forward
* IT WORKS HAHAHA YAAAAAAAAAAAAAAAAA
* logged properly in everything
* Adds sorting to most input() lists.
* Sorted some global lists, added more input sorting
* Should now use correct sort everywhere.
* compiles
* Last fixes.
* Refactors screen object update_icon to call parent
And makes update_icon an /atom proc
* Cleans up some missed null checks
The student teaches the master
* Nanotrasen fires the Wave Motion Gun at the Clock Cult
* Fixes a random changelog appearing from the reebe void.
* Fixes a wrong type reference regarding the bronze sheets in the Lavaland Ruin for it.
* Fixes redundant cells after CC removal in ruin by populating them with varied ore chunks, or destruction clutter.
* why is it /obj/item/stack/sheet/metal but not /obj/item/stack/sheet/iron
* Fixes the lavaland ratvar ruin to have fluff variant structures of deleted shit it referenced instead what I thought was reasonable.