This requires a 508 beta version to use. If Travis fails this he's a bitch
Exceptions will generate a stack trace, which is way easier to see and more helpful in actually solving this kind of crap. Also logs all the arguments, src, line, and file automatically.
Removed any dubiously helpful information in the exception names so the runtime condenser won't see each one as a different runtime. If the information is critical to solve these bugs (camera one maybe?), then I'll just make these warnings.
Thrown exceptions crash the currently running proc. Yes that means there's useless returns in a bunch of these, sue me. spawn()'s are to let the proc continue.
Almost all of these are difficult to trigger, but I did test playsound. And frankly even if they do cause bugs by crashing procs, big whoop
Fixes 1128
Changes the href link of the AI tracking to be just the name displayed in-game instead of the reference of the mob.
Removes faketrack from atom/movable/virtualspeaker as it becomes useless.
Enables NTSL to read and set four radio span classes to messages.
Also enables NTSL to set each of the say modification verbs to custom
values.
-Broadcast() proc of NTSL now accepts 5 additional parameters - spans
and each of the Say verbs.
-Adds a Service headset channel, given to the botanists, barman, and chef. The HoP also gets the service channel on his headset.
Note: The Service Preset Server will have to be added to Telecomms on the map before the channel is usable. I'll put up the map when/if this gets merged.
* The server will not warn admins when empty code is being compiled, but it will still log everywhere else.
* Empty code will have no compile time.
* Removed NTSL broadcasting the names in italics if the name is unknown. This was causing issues and it was a very minor feature.
* Placed some duplicated code into a proc, for the IDE verbs.
- Added a GetCleanVar to be used when getting a global variable to use inside the game code, it will sanitize() the variable if the compare argument is not equal to it; the compare argument should used to see if NTSL has changed the value.
- Added a sanitize_data proc for the signal datum. It will sanitize all the data using strip_html_simple().
- Facehuggers will now let you open the bag even if you're wearing facehugger proof gear.
- Added some sanitizing to signal().
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5756 316c924e-a436-60f5-8080-3fe189b3f50e
- Turned down cache lifespan to 1. This will help the server when it has to constantly have people download the resource files and the dynamic cache.
- I was seriously upset about the server room in the new telecomms not being airless. As Kor allowed anyone to make the room airless, I did so. It shouldn't be a room anyone can walk into without the necessary equipment. (It also would give void suits a reason)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5742 316c924e-a436-60f5-8080-3fe189b3f50e
- Added some garbage collecting procs for NTSL.
- APCs now have its missing status text, for the wire interface.
- Clicking on a hand HUD slot, while the hand is actively selected, will make the item being held call attack_self().
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5715 316c924e-a436-60f5-8080-3fe189b3f50e
- You can now send signals with signal(freq, code). Added a cooldown to limit spamming.
- You can now use "elseif" in your scripts to create a chain.
- You can now use "return" in the global scope to end the script from running.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5701 316c924e-a436-60f5-8080-3fe189b3f50e
- Increased the allowed w_class things in secure briefcases. Equalized the amount of stuff you can put in a briefcase with the backpack.
- The staff of animation will turn animations onto their side, if they were created by a different user.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5658 316c924e-a436-60f5-8080-3fe189b3f50e
-Changed the broadcast function using a precreated human. The human would still be existing and a new one was created for every use of the broadcast. Garbage collecting it was almost impossible and deleting it everytime a broadcast is made would be laggy so I modified the broadcast code to not need a mob reference.
-Added some checks in the events.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5477 316c924e-a436-60f5-8080-3fe189b3f50e
Logging for scripts.
A non-recursive replacetext function.
-Fixed an issue with the broadcast() function for NTSL, it will now properly broadcast again.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5462 316c924e-a436-60f5-8080-3fe189b3f50e
>dd_replacetext and dd_replacetext_case are now replacetext and replacetextEx respectively.
>replacetext and replacetextEx works using strings only; it doesn't convert it into a list and then back into a string.
Fixes some dumb-dumbs in textlist and text2listEx
> "<" where there should be a "<="
> no else case for when the separator is longer than the text (causing empty lists to be returned)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4971 316c924e-a436-60f5-8080-3fe189b3f50e
>Replaced dd_text2list, dd_text2listcase, tg_text2listcase and tg_text2list with text2list and text2listEx. text2list will return a list of each and every character in the string if you set separator=""
>added return_file_text(filepath) which returns text from a file after doing some checks: does the file exist? is the file empty? It prints helpful error messages to the world.log if it runs into problems
>Replaced dd_file2list(filepath, seperator) with file2list(filepath, seperator). It just calls text2list(return_file_text(filepath), seperator). rather than copypasta
>Replaced time_stamp() so it's not as retarded
>Lots of the world setup stuff uses file2list now, rather than file2text -> sanity -> text2list
>Added error() warning() testing() procs. These print messages to world.log with a prefix. e.g. ## ERROR: msg.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4948 316c924e-a436-60f5-8080-3fe189b3f50e
-Made the telecommunication server and NTSL broadcast more robust so that having a HUB is an option, if someone decides to create their own network.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4325 316c924e-a436-60f5-8080-3fe189b3f50e
- The alarm needed some more userfriendlyness:
* Spelling sorted
* Turning off PANIC SYPHON now sets scrubbers to scrubbing (default) instead of off.
* Instead of the stupid timeout and VENT NOT FOUND HURRDURR they will just get removed from the list. They were clogging that vent list up as fuck
* Vents pressure settings now have an extra href which resets the vent to ONE_ATMOSPHERE kPa (101.32 or whatever it is)
- The "Outlet position is obstructed" error message when opening exofab now only appears if the turf to south is obstructed, not to east like before.
- AI Modules use attack_self instead of attack_hand
- Fixed chatspam with reverse() and made the explode function use the builtin ss13 one instead of my custom, it proved to be faster.
- Added my self to the changelog, because I can!
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3367 316c924e-a436-60f5-8080-3fe189b3f50e
You can now properly sleep without waking up every half a second.
Work on footprints. There are now different kinds of footprints, and different blood makes different colored prints. Animals leave pawprints, humans leave footprints, aliens leave big claw prints.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3242 316c924e-a436-60f5-8080-3fe189b3f50e
Fixes universal recoders using fix from bs12
Adds a sanity check to telecoms
Sets coder.bad to zero (or at least deincrements it!) and uploads the map that fixes telecom turret access
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3213 316c924e-a436-60f5-8080-3fe189b3f50e