Commit Graph

2831 Commits

Author SHA1 Message Date
Jared-Fogle
09b9ad869e Change signature of BINARY_INSERT to require the full type path, add test (#53217)
BINARY_INSERT used to only take typepaths like/this. Now, it expects them to be /like/this, to be more consistent with ther est of the code.

Adds documentation to COMPTYPE.

Adds a test for BINARY_INSERT.
2020-09-01 04:40:52 -03:00
oranges
6c9d88a4cd Overhauls discord verification system (#53289)
This completely replaces the previous verification system, for one that
will interoperate with a discord redbot instance that uses the cogs
located at you github.com/optimumtact/orangescogs

This cuts out several steps in the system, but it also leaves alone the
existing notify system (which just uses a file list of discord ids) as a
record of who to notify

SQL changes required for the new database system

Version 5.10, 7 August 2020, by oranges

Changes how the discord verification process works.
Adds the discord_links table, and migrates discord id entries from
player table to the discord links table in a once off operation and then
removes the discord id on the player table

The user connects to any tg server, and uses the "Verify Discord
Account" verb, this generates a six word one time use token, with a 4
hour time validity period (defined as 4 hours from the timestamp value)
in the discord links table.

This one time token, and the ckey of the user are stored in
discord_links

At this point the entire DM side is done, this is all it does
2020-08-30 18:24:23 -07:00
Tad Hardesty
89b4e01680 Fix various issues with browser statpanel (#53263)
* Keep tab buttons in view when scrolled down
* Unfocus tab buttons after click so scrollbar keeps working
* Fix some subsystem stat entries
* Improve key passthrough
* Fix runtimes from nulls in AI connected_robot list
* Add missing info in MC tab for global/config/etc.
* Fix #53298 by including turf in alt-click menu
2020-08-29 23:51:42 -03:00
Qustinnus
11a00bd3c7 Implements jungle generation and area map generator datums (#51082) 2020-08-29 03:18:19 -07:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-28 14:26:37 -07:00
ArcaneMusic
4187c6f791 Waterworks: Plumbing enabled sinks, tanks, plant trays, and showers. (#52865)
https://cdn.discordapp.com/attachments/326831214667235328/740812723956482118/2020-08-06_02-04-14.mp4
For everything in this PR working at the same time, watch this video!

Alright, from the top:
Sinks now need plumbing to pump out liquids.

All sinks now has a demand-only plumbing pipe face the opposite direction of the sink itself. A standard iron sink will hold 100 units of water, and must be constructed from a sink frame. To complete the frame, a new stock part, the water recycler must be applied to the frame. Once the sink is constructed, it will only hold those 100 units of water until new water is piped in.
This however doesn't extend just to water, as a result. Any reagent can be piped into the sink, and will be used 5 units at a time per use. This means water isn't just an infinite resource, and will need to be resupplied to the station if, somehow, you're using a metric ton of water somehow.
image
A basic sink setup with water being plumbed in.
Showers now need plumbing to wash you off.

Want to dispense reagents faster on your Patients Victims Friends Coworkers? Well, you may also construct a shower frame, in a similar fashion to a sink frame, and pipe in your own reagents into the loop. The shower drains reagents much faster than the shower, and also preforms vapor and touch reagent reactions, resulting in a constant stream of chemicals being processed. This can lead to horrible situations, like a chemical heater hooked up to a vat of cooking oil being pumped into a shower.
Additionally, showers will display the reagents they're pumping out visually based on the color of their chemical contents. As a result, dangerous or unique showers are going to look noticeably different if their contents are dangerous looking.
image
A safe shower.
image
A very unsafe shower.
Wait what was that bit about cooking oil?

So, reagent dispensers, like water/fuel tanks, Virus Food, Cooking Oil Vats, Pepperspray, and the like, can now be converted into a stationary tank of reagents by using a sheet of metal on it, allowing it to behave as a simple supply of their respective contents, and can be pumped into a plumbing network. This means rolling water tanks can be used to resupply sinks and showers, as well as allow for inventive uses of otherwise unused chemicals located all around the station. Pump welding fuel into a resupply line to fight a blob! Pump pepper spray into the dorms showers! Create a deep fryer shower! The possibilities are LIMITED (Because we have very few reagent dispensers)! Still, this will prevent sinks and showers from being completely unfix-able should all the water run out, as cargo can purchase many of these chemical tanks at will.
Hydroponics is now also plumbing enabled.

So there I was, thinking, have I gone mad? Is the barking I hear in my noggin my own dogs rattling and raging against the eternal ocean tide, or are these the hounds of tindalos come to finally rip me to shreds within the sea of causality?
The answer to this is quite simple: I added plumbing simple-demand components to hydroponics.
Now, the trays will accept a pumping input, which can provide the plants themselves a reagent input for their nutrients, and SHOULD (current not fixed yet) also contribute to refilling the trays water. As a check to this horrible decision, there are very few plumbing chems that don't suffer from some kind of downside if exclusively pumped into the trays, so this should be done delicately and with forethought applied, or you'll have a row of plants with dead stats because they OD'd on ammonia.
image
Holy damn why are you doing this

I'm thinking this pr is probably in need of some serious trimming and will probably be closed as a result of the need to atomize this down, but this way I can start to get some feedback and ideas on which aspects would be better suited towards the current design direction of plumbing/bio-chem/reagent heavy jobs. As far as I'm aware, this is all in accordance with the relevant design docs, but this way I'll know for sure 🤷‍♂️
To-do before being 100% sparkly and clean

Fix hydroponics trays adding water to the nutrient reagents slot (NOT A TRUE FIX, SEE COMMENTS BELOW PLEASE)
Make disconnected sinks/showers slowly regenerate water so that a stationwide plumbing net isn't required so Anturk doesn't snap my kneecaps off
Make water/fuel tanks use their snowflaked stationary tank sprites instead of the custom overlay version

    Yeet out the existing psudo-plumbing from hydroponics

Why It's Good For The Game

We've discussed adding plumbing into the game for forever now, and with all the new and tangentally related plumbing content we have, almost everything we have now perfectly enables servers to properly create a station-wide plumbing network.

Sinks and showers provide an infinite supply of water all shift long, and since they can be produced with any material, anywhere, practically for free, that was the first and foremost reason why I made this PR, to make water slightly more precious on station, to justify the 20+ water tanks mapped across every station. Plus, no more meatsink spam in the middle of the hallways.

Hydroponics has a built in feature that was intended to work similar to plumbing, before we had plumbing, for sharing resources/water, but it was pretty rough and is still exceptionally difficult to make look very pretty on live servers. By integrating them with actual plumbing pipes, this enables one step closer to integrating chemistry and botany to merge going forward, and give them an incentive to include each other in their supply chains each shift.

On the reagent tank conversion, That's just an interesting feature I felt the need for while testing everything else, and found pretty great success in. Being able to pipe in large supplies of a single reagent that ordinarily would just sit on a wall or in mait somewhere proved extra useful, and would be beneficial for refilling plumbing heavy areas like bathrooms/medbay, etc.
2020-08-27 23:23:55 -07:00
Rob Bailey
533201a9f1 Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)
Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.

Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.
2020-08-27 18:34:11 -07:00
Couls
e7f99e3b8b Browser Status Panel (#53112) 2020-08-27 15:28:03 -07:00
Aleksej Komarov
9638d2af51 tgui: Improve logging, Fix external links (#53226)
* tgui: Improve logging, Fix external links

* Print suspending on the same line

* Streamline fix chat verb

* Muh https
2020-08-27 00:08:18 +03:00
81Denton
3858b72bdb Merge pull request #53020 from Qustinnus/fatgrowing
[READY] Vatgrowing: Third time's the charm
2020-08-24 22:46:08 +02:00
TemporalOroboros
6e950daccc Defines damage flags. (#53158) 2020-08-24 08:20:33 -03:00
floyd
d8c2e683a0 Merge branch 'master' into fatgrowing 2020-08-22 23:01:19 +02:00
Rohesie
7859721611 Explosions SS runtime fix + code cleanup (#52894)
* runtime fix

* turf references are immortal
2020-08-21 21:57:29 +02:00
floyd
9b4a488216 no food stuff 2020-08-20 23:36:18 +03:00
ArcaneMusic
1352bbbb88 Arconomy Balance Pass 2: Market Tendency (#52974)
Price inflation is now based upon averages, and is now uncapped from 5.
Civilian budget is no longer the worst budget to pay out from.
Medical Civilian bounties are no longer chees-able in seconds.


* I'll pick this up later because it's going to need a UI with keyed lists

* Updated market crash and average inflation values.

* Alright, I'm confident now.

* Make the market crash end at the beginning of the event end

* And on the 2nd day, the lord spoke, "Compile"

* Division by zero protection.

* That should have been a max, smhing my smhead
2020-08-20 12:47:43 -03:00
Jared-Fogle
45c14f6330 Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)
Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl
2020-08-20 09:11:28 +12:00
Aleksej Komarov
c59d88470a tgui: Yarn Berry (#53026)
This pull request upgrades Yarn to version 2 (also known as Yarn Berry).
* Update build validator

* Provide inferno in the root level package

* Remove type module from package.json

* Powershell build script
2020-08-19 02:26:30 -03:00
tralezab
46ec19aa81 New Event: Shuttle Catastrophe (#53003)
The shuttle runs into some kind of horrible event, and is no longer servicable. The station is given a new one!
2020-08-18 21:42:06 -03:00
Aleksej Komarov
64dcf44cc6 tgchat: Hotfixes, Message Annotations (#52947)
This PR changes the message pipeline a little bit to support list-based messages, which can be annotated with custom data. Function signature of to_chat was slightly changed as well:

// Plain text message
to_chat(client,
  type = MESSAGE_TYPE_INFO,
  text = "foo")

// HTML message
to_chat(client,
  type = MESSAGE_TYPE_INFO,
  html = "<span class='notice'>foo</span>")

Old to_chat format is still supported, but handle_whitespace, trailing_newline and confidential flags have no effect. confidential flag could still be revived though, if there is enough merit in it, for example to filter out confidential messages when saving a chat log.

The reason for using /list and not /datum, is because lists are plain faster, and there are minimal data transformations - these lists are fed directly to json_encode and sent to tgchat.

Plain text messages do not need to be HTML-escaped, which makes them safer and more performant than HTML messages. Plain text messages can be made interactive (or formatted with CSS) by custom-handling them in javscript based on message type and annotations.

It would be impossible to annotate every single message in the game (at the moment of writing, there are 9447 to_chat calls in the code), but it could be done selectively, for only those messages that are hard to classify by span classes (and there are still A LOT of them).
Please annotate more messages. Thank you.

    Fixes #52943
    Fixes #52908
    Fixes #52816

Changelog

cl
add: tgchat: Unread message count is now smarter and won't increase on other tabs if you have already read the same message in the active tab.
add: tgchat: Admin PMs are now properly annotated and can be filtered into separate tabs.
fix: tgchat: Fix: Highlighted message overlay no longer blocks clicks. Clicking a highlighted (F) link should work as it should.
fix: tgui: Fixed NTOS bluescreen due to calling .includes() on a stylesheet href which could be null on certain browsers.
code: tgchat: Chat schema bumped to version 5. All chat-related settings were reset to avoid breakage.
/cl
2020-08-17 10:38:38 +12:00
silicons
16eb86ddcf Baystruments - I had two tgstation forks for some reason and had to delete one and that nuked the last PR (#51459)
Instruments and sound channels refactor.
2020-08-15 10:39:46 +02:00
Aleksej Komarov
0e1b20e6db tgchat (#52426)
Replaces goonchat with a tgui based chat panel

    Fixes #52898
    Fixes #52663

It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.

Additional features that you will get with tgchat right now:
    Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
    Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
    More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
    Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
    If using the highlighting feature, it highlights the whole message as well as the matching word.
    "Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.

Architecture is as following:
```
to_chat() -+
           |
        SSchat
   (queue, batching)
           |
  window.send_message()
           |
           v
+-------------+
| tgui-panel  |
|+-----------+|
|| tgchat    ||
|+-----------+|
+-------------+
```

Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.

/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.

tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.

It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.
2020-08-14 13:21:40 +12:00
Rohesie
b6452b32ac Fixes a parallax SS runtime (#52897)
Lazy list macros weren't being used properly.
Did a bit of code cleaning as well.

Runtime:

[17:39:46] Runtime in parallax.dm, line 43: type mismatch: null -= Sukie Braun (/mob/dead/observer)
proc name: fire (/datum/controller/subsystem/parallax/fire)
src: Parallax (/datum/controller/subsystem/parallax)
call stack:
Parallax (/datum/controller/subsystem/parallax): fire(0)
Parallax (/datum/controller/subsystem/parallax): ignite(0)
Master (/datum/controller/master): RunQueue()
Master (/datum/controller/master): Loop()
Master (/datum/controller/master): StartProcessing(0)
2020-08-13 14:05:32 +12:00
Rohesie
b0726e032b Icon smooth refactor (#52864)
bitflag list construct added: an associative list of bitflags for cheap and quick element comparison between two lists using the same system.

    canSmoothWith list turned into a bitflag list.

    smoothing_groups list added to substitute the type path list.

    smoothing procs turned into atom procs, refactored and optimized a bit.

    smooth directions redefined in order to fit in 8 bits for a future smoothing system

    some variable names changed, foreseeing a second smoothing system

    SMOOTH_OBJ flag added, for things that need to scan turfs for smoothing. The old locate() optimization has the risk of returning false negatives by finding a child and returning null while there might be one of the wanted type as well, as it doesn't match the type exactly.

    SMOOTH_TRUE and SMOOTH_MORE condensed into SMOOTH_CORNERS. The old behavior can be replicated using smoothing groups without loss.

    Does very minor code cleanup.

    Processing-wise didn't find a noticeable difference. The system loses on init a bit by setting the bitflag_lists, and by scanning whole turf contents for object smoothing (increasing accuracy), and gains by making less checks per target to smooth, through the same bitflag_lists.

    Memory-wise there should be a small improvement, given that on the old system we had 63512 canSmoothWith lists (a few typelists, most unique), and on this new system canSmoothWith + smoothing_groups are both bitflag_lists from the same pool, totaling 46 in number.

Could be tested a bit to see if I missed any icons not properly smoothing.
2020-08-13 14:03:49 +12:00
Kyle Spier-Swenson
aed07e116a The profiler now starts earlier into the init process. + Documents the initialization order and pipeline (#52662)
* The profiler now starts earlier into the init process.
Also documents the init pipeline and order in world/New()'s codedoc.

* better early profiler

* NEWMAN!
2020-08-12 11:18:22 -03:00
Kyle Spier-Swenson
8df93ba39e [Ready] CDN browser assets! (#52681)
Rewrites the asset_cache system to handle sending assets to a CDN via a webroot.

see https://github.com/MrStonedOne/tgstation/blob/asset-cdn/code/modules/asset_cache/readme.md

Fixed a lot of bugs with assets, removed some dead code.

Changes:
    Moved asset cache code to transport datums, the currently loaded one is located at SSassets.transport, asset cache calls made before the config is loaded use the simple browse_rsc transport.
    Added subsystem call for when the config loads or reloads.
    Added a webroot CDN asset transport. assets are saved to a file in a format based on the file's hash (currently md5).
    Assets that don't use get_asset_url or get_url_mappings (such as browser assets referred to by static html files like changelog.html or static css files) can be saved to browse_rsc even when in cdn asset mode by setting legacy to TRUE on the datum returned by register_assets
    Added a system for saving assets on a cdn in a hash based namespace (folder), assets within the same namespace will always be able to refer to each other by relative names. (used to allow cdn'ing font awesome without having to make something that regenerates it's css files.).
    The simple/namespaced asset cache datum helper will handle generating a namespace composed of the combined md5 of everything in the same datum, as well as registering them properly.
    Moved external resource from a snowflake loaded file to a config entry, added it to resources.txt
    To ensure the system breaks in local testing in any situation that wouldn't work in cdn mode, the simple transport will mutate the filenames of non-legacy and non-namespaced assets and return this with get_asset_url.
    Simple transport's passive send of all roundstart assets to all clients is now a config that defaults to off. this is to break race conditions during local testings from devs accidentally relying on this instead of using send() properly.

cl
refactor: Interface assets (js/css/images) can now be managed using an external webserver instead of byond's one at a time file transfer queue.
admin: Adds admin verb toggle-cdn that allows admins to disable the external webserver asset transport and revert to the old system. Useful if the webserver backing this goes down (thanks cloudflare).
config: New config file, resources.txt, (must be loaded by an $include statement from the main config)
server: The external_rsc_urls.txt config has been moved to the main config system.
/cl
Porting notes:

Interface webpages must refer to their assets (css/js/image/etc) by a generated url, or the asset must register itself as a legacy asset. The system is designed to break in localtest (on simple/legacy mode) in most situations that would break in cdn mode.

Requires latest tgui.

The webserver must set the proper CORS headers for font files or font awesome (and other fonts) won't load.

/tg/'s webserver config: https://gist.github.com/MrStonedOne/523388b2f161af832292d98a8aad0eae
2020-08-12 13:51:43 +12:00
TiviPlus
b4fe4f717b Refactors area stuff (#52751)
-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more
2020-08-10 16:31:59 -03:00
Ryll Ryll
b7ae6fc64d Refactors Temporal Scarring, changes how it works, removes longtimer quirk (#52688)
* changes temporal scarring

* hhh why is there no ckey

* note

* oops

* fixed
2020-08-10 16:29:27 -03:00
ike709
4b529e30cf CentCom Galactic Ban DB: Bigger and Better Edition (#52588)
Admins will now be able to look up a player's bans from several other servers via the player panel.

My hope is that porting this to as many servers as possible will encourage more servers to make their bans publicly viewable so they can be included in this system. Direct access to a server's database is not required (or even supported).

Supported servers:

    BeeStation
    /vg/station
    OracleStation
    FTL13
    Fulpstation
    TGMC

Planned support (WIP):

    World Server
    Yogstation
    Halo: SSE
    Any other server willing to make their bans publicly visible.

API: https://centcom.melonmesa.com
Source: https://github.com/bobbahbrown/CentCom
Changelog

cl ike709 and bobbahbrown
add: Admins can now see your bans on (some) other servers.
/cl
2020-08-10 08:33:11 +12:00
Timberpoes
19c3bbde31 Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.
2020-08-07 12:23:42 -03:00
tralezab
c26a134945 Ghost Pool Protection Admin Button (#52683)
* Ghost Pool Protection

* okay

* Update tgui.bundle.js

* just a bit of feedback

* temporarily

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>

* Update GhostPoolProtection.js

* Update tgui.bundle.js

* my devserver broke

* okay done for real

* conflict resolution bundle

* Rohesies dope review

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-06 18:00:55 -03:00
Jordan Brown
1e486a34cd Fix using tag instead of custom_tag in send2chat (#52675)
* Adds more documentation to TGS chat funcs

* Fix using `tag` instead of `custom_tag` for chat channels

* Make new game notifcation message clearer
2020-08-03 14:34:34 -03:00
ArcaneMusic
0d19232b98 Makes Bounty Pads fireproof and prevents EconomySS from randomly opening UIs. (#52665)
* Makes pad fireproof and makes machines spam less

* Update code/game/machinery/civilian_bountys.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-03 05:09:20 -03:00
LemonInTheDark
092af76b5d Adds an atmos debugging tool and excited group visualizer (#52395)
* Adds an atmos debugging tool and excited group visualizer

* rebuild moment

* yarn install -> yarn run build

* Sigh

* Fixed UI, did not test, needs a rebuild.

* Proper flexing

* Adds varied colors, improved ui courtusy of stylemistake:

* Fixes a runtime, updates tgui

* added superconductors, cleaned up some shitcode, removed a clashing color

* Woop

* Speed

* rebuild

* Adds a tick count

* begone auto-update

* color defines

* rebuild moment

* color improvements, fixes updating

* adds another preprocesser define to handle showing max shares in the ui

* test of application system?

* patches up some display issues, allows for smooth flowing from one group to another

* overlay-ified

* client testing

* dmi moment

* plane master

* it fucking works

* size change

* passthrough

* rebuild moment

* adresses review concerns, toggles active turf vis on when testing

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-03 09:15:08 +02:00
Jordan Brown
8c0809d0b2 Adds more documentation to TGS chat funcs (#52601) 2020-08-02 23:37:59 +08:00
ShizCalev
bd87fc8e74 Fixes NPC pool runtime (#52655)
* Fixes NPC pool runtime

* idle
2020-08-02 23:35:10 +08:00
Ryll Ryll
3064105bec Running unit tests no longer requires a launch parameter (#52529)
* for once i actually AM pushing _compile_options.dm

* cool, i get to touch travis
2020-08-01 13:13:19 -04:00
AnturK
a20f79f206 Adds Documentation for Entire Timer Subsystem With Minor Refactors (#52415)
* temp

* cleanup

* more

* Revert "more"

This reverts commit 8707bfe75d.

* less is better

* some documentation

* almost there

* we did it

* words

* better words

* Update code/controllers/subsystem/timer.dm

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>

* Update code/controllers/subsystem/timer.dm

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>

* whitespace

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-07-30 08:16:08 +02:00
ShizCalev
3eeef6c272 Cleans up some unused procs and makes is_blocked_turf a turf proc. (#52482)
* Cleans up some unused procs and makes is_blocked_turf a turf proc.

* Update code/game/turfs/turf.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-30 02:20:35 -03:00
ShizCalev
f79df59305 Merge pull request #52565 from tgstation/revert-52519-centcom
Revert "CentCom Galactic Ban DB"
2020-07-30 01:10:22 -04:00
bobbahbrown
fb8533d776 whitespace 2020-07-30 00:18:34 -03:00
bobbahbrown
000fba61ef Merge branch 'master' into timers 2020-07-30 00:15:29 -03:00
AnturK
6995c36f05 Secret Sauce Fix Episode Two (#52545) 2020-07-29 10:09:23 -03:00
Rohesie
cb9f81e43c Renames smooth var to smoothing_flags (#52427)
* smooth_flags

* SMOOTH_FALSE

* smooth_flags
2020-07-29 10:19:23 +02:00
oranges
9fb883f66d Revert "CentCom Galactic Ban DB (#52519)"
This reverts commit 0f5652bc0b.
2020-07-29 09:11:38 +12:00
ike709
0f5652bc0b CentCom Galactic Ban DB (#52519)
* CentCom Galactic Ban DB

* Sanitize and config

* Apparently TG has a http_request datum

* Tweaks

* An excellent suggestion

* Turns out BYOND is better at JSON parsing than I thought it was

* Fun fact: 4 out of 5 UIs don't bother to do this
2020-07-28 13:11:38 -04:00
Jared-Fogle
2b14436488 Add check timer sources debug command (#52417)
* Add check timer sources command

* Recognize linked list implementation
2020-07-28 12:36:53 +02:00
Rohesie
93a37dfe88 Reference tracking (#52403)
* ref tracking

* legacy

* legacy procs

* fixes

* tweaks

* clarity comments

* wth
2020-07-28 11:56:27 +02:00
Rohesie
ed019679ba Ups the timer SS priority (#52405)
A lot of issues happen when the tick overruns due to less important and more expensive subsystems. If timer is not ran or breaks, a lot of stuff breaks.
2020-07-26 11:41:48 +12:00
skoglol
bb451949b0 Merge pull request #52435 from AnturK/notsosecret
Fixes secret sauce resetting too often and adds some logging.
2020-07-25 19:22:32 +02:00
Bobbahbrown
6510fe4d6e Adds Runechat Subsystem - Deprecates Use of Timers for Runechat (#52425)
* first pass

* one wacky dot

* documentation

* we're the garbage man now

* doc update

* couple of bugs never hurt nobody
2020-07-25 15:57:07 +02:00