Since we no longer have to send data on first UI view we can remove those
checks and only look at the data we need to send when we need to send it.
Also fixed a couple of the links on the status display function.
* Simplified the code used in ui_interact procs and updated all current uses.
* Removed ununused jsviews JavaScript code (replaced it with vanilla jsrender).
* Added a message to the UI which shows if JavaScript is disabled (people with JavaScript disabled previously got blank UIs).
as you don't need to provide the full data structure up-front, part of an effort to make NanoUI more accessible.
I have removed the carets (^) from all templates as they are not used any more.
For safety I moved the src_object and user checks from the master controller to the nanoui process proc.
When a user sends or recieves a Message using a PDA, the UI (if open) will now update instantly to show the sent/received message (this uses the new nanomanager.update_user_uis proc).
Fixes the line breaks in notes so it doesn't piss of nanoUI when you have multiple lines.
Also fixed quotes, this will remove the ability to use less then and greater then in notes but not much I can do about that without
adding a bunch of replacetext procs encoding and decoding only those items.
Creates NanoUI for the PDA and Syndicate Uplink.
New features:
Crew manifest now sorted with department heads at the top.
Can select individual conversations and delete individual conversations among PDA's
Powernet Monitor much more simple now and easier to read.
Janitorial supplies locator now includes Janicart.
Items will actually refresh if you click "Refresh"
Some other changes:
Captain's PDA cartridge now has all access (added janitor access and quartermaster access)
With the conversation change I had to change how tnote (the variable that holds PDA messages works.
Setup the message server to use the new methods.
Removed procs that will no longer be used (UI generation procs from old UI methods)
Commented everything the best I can.
Created HORRIBLE, TERRIBLE lists. But it's pretty much required because that's how nanoUI rolls.
Created a variable on the uplink called NanoUI items, this list is created upon creation of the
uplink.
I included the functionality for Mimes and Clowns for our downstream servers that have those.
Updated ashtray to actually accept cig butts and crush lit cigs properly.
Applied random transform to cig butts, and made fingerprints from original cig carry over.
Tanks placed in canisters, scanned with PDA or other analysis tool will set the manipulated_by variable to whoever did so.
The idea is that this person is aware what's in the tank and will act accordingly when you press the internals HUD icon.
If the user was the last person to manipulate the tank (or it's not been manipulated) then the user is smart about selecting the proper tank.
If the user was not the last person to manipulate the tank then he is only checking the pressure gauge to see what tank is fullest that matches his species breath_type
If that tank has nasties in it, welp he is going to get a breathful of nasties.
DNA now stores blocks internally as numbers and only makes the uni_identity and struc_enzymes strings when something has changed. This is vastly more efficient.
In addition, the API for using it has been simplified. Common tasks, such as setting a sub-block, or getting a value from the block, are handled entirely by the DNA datum with simple, easy-to-use procs.
Tested on local server, but may need balancing and additional look-over since the code is from our server (/vg/) and I likely broke or forgot something.
Problem: Person fixing bug #2006 was a bit too specific about type of autoinjectors able to fit in belt.
Solution: Be less specific. Now hyposprays fit in belts.