* [SDQL2] Adds selector arrays
* SDQL2 documentation spec updated slightly
* SDQL2 selector array docs + tweaks
If a single list is the only result of a MAP statement,
meaning objs.len == 1, AND it's a list, it will unwrap
the result from its containing list and return it directly.
The selector array logic keeps track of the state of the query
when it starts the first Search. It won't change the state back
to Execute until the top-level is reached, which sets a var
to keep track.
* SDQL2 MAP change from objs.len to length(objs)
* [SDQL2] Reverts MAP list unwrap
* [SDQL] Move (expr) from expr, unary_expr to var
This should result in the same functionality but instead of expressions and unary_expressions processing sub expressions, variables do
This means that expression->value->variable is now completely recursable
* [SDQL2] Update selector list documentation
Thanks to PJB3005
cl
experimental: SDQL2 has been refactored to a datum!
rscadd: A new SDQL2 panel has been added to admin tabs, for tracking, VVing, and halting SDQL2 queries.
rscadd: SDQL2 documentation is now available in SDQL_2.dm
rscadd: SDQL2 now has MAP added. MAP will cause the query to execute on whatever is specified in MAP, whether it's a variable or a procedure call (which will grab the return results), etc etc.
rscadd: SDQL2 now has a superuser mode, for uses outside of admin button pressing. This causes it to operate without admin protection wrapping.
rscadd: SDQL2 now supports options, including ignoring nulls in select or forcing it to operate in high priority mode, which lets it use 95% of the tick instead of obeying the Master Controller's tick limit. USE WITH CAUTION. Also includes a mode for blocking proccalls
rscadd: SDQL2 now supports TRUE/FALSE.
rscadd: To use options, append OPTIONS to the query. Available are "PRIORITY" = HIGH/NORMAL, "SELECT" = FORCE_NULLS/DISABLE or 0/FALSE, "PROCCALL" = ASYNC/BLOCKING.
/cl
Also displaytimetext is refactored.
* converts to using key instead of ckey for user facing logs and ui
* more key_name for airlock wires
* futureproofing check for if key changes
* --onlyckeymatch script argument and fail/success counter
* fix
Previously when no where filter was used it would incorrectly use the
filtered count when reporting what objects were executed against, this
lead to admins erroneously assuming that the where clause was required
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
* Adds new helper, DisplayTimeText
* Removed unused define
Thought it would've been nice to have for the future, but I guess it's
fine to go without it.
* CBB
* Revamp
* Early returns
* More cleanup
* Proc cleanup
* Makes fraction only show if seconds is < 1
* Last cleanup
* Revert
* Corrected incorrect round time.
Dunno how nobody ever caught that it was incorrect on live servers, gg.
There's a certain issue of people spoofing real byond links to admins. Now all links should come with a generated key that is validated when the Topic is run.
Added DEBUG_ADMIN_HREFS to debug this system while we test it (Allows hrefs without tokens and complains about it in the logs)
Just add [HrefToken()] as a parameter to all admin hrefs. Anything that ends up running through VV or Holder will be verified
* Admin proc call guards
* Adds a db warning
* Better this way
* leftover
* )=
* Fix
* Wew
* Better runtime handling
* Make callback use it if var_edited
* ABSOLUTE PATHING!!
* absolutely fucking pathed
* stuffs
* oh that was there for a reason.
* fixes
* stuffs
* my fucking identation >:[
* double no
* no delayed global proccalls.
* /var/s
* /var/s/2
* catch(vars)
* var/expression/e broke without the var/
* lists and wrappers!
* Update SDQL_2.dm
* Update SDQL_2.dm
* Update SDQL_2.dm
* Fixes sdql2 applying comparison operators to lists incorrectly
* Add a comment to prevent future reverts
Just in case
* Removes oranges comment
I'm fucking sick and tired of this shit where people touch code they don't understand.
By adding the comment, you imply that every bit of code thats the same without the same comment is safe to change, but thats not true.
These landmines are important for teaching new coders not to fuck with shit they don't understand.
When you see something and go "why is it doing it that way". the answer is not to go "fuck it, it seems to still work when i change it" the answer is to leave it the fuck alone until it doing it that way is actually an issue.
How many god damn bugs have we had this last year from non-changes like that. I'm sick of them.
spawns have a high overhead.
I only went for easy targets, almost every spawn could be removed with a few subsystems in place to handle delays or cooldowns