Commit Graph

1601 Commits

Author SHA1 Message Date
vuonojenmustaturska
fb45b7a017 Turns trait accessors into defines, fixes some bugs (#43820)
It's free performance.
2019-05-06 19:44:05 -04:00
Tad Hardesty
9183a6f66b Clean up workaround for fixed compiler bug (#43698) 2019-04-29 10:59:28 +02:00
William Wallace
a944c2a362 Ghosts can analyze gas mixes and some new objects can be analyzed (#43502)
* Ghosts can analyze gas mixes and some new objects can be analyzed

* Replace show_air_status_to with atmosanalyzer_scan
2019-04-16 21:46:36 +12:00
JJRcop
1cf1df847c [READY] Adds selector lists to SDQL (#43383)
* [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
2019-04-15 09:22:30 +02:00
Tad Hardesty
bbef4190f8 Fix runtime when lightning smiting non-humans (#43537) 2019-04-08 15:54:32 -04:00
Tad Hardesty
9c9cc9110a Improve cancellability of Run Weather admin verb (#43528) 2019-04-08 15:53:44 -04:00
nervere
80ff869077 Fixes for asay, asay darkmode, and asay when custom asay colors enabled (#43422)
About The Pull Request

Fixes several annoying and unintentional things about asay.
Fixes #43370
Changelog

cl Nervere
fix: Default color for when custom asay colors is not enabled is now orange, not red.
fix: Asay is now properly bolded in lightmode.
fix: Asay is now properly bolded in darkmode.
tweak: Default color for when custom asay colors is enabled is now orange, not black.
/cl

closes #43370
2019-04-03 10:51:24 +13:00
Rob Bailey
ceca1e605e [READY] Yet more darkmode tweaks and fixes (#43306)
* fuck you whoever made the last icon it was garbage

* ticket log fixes

* ticket log fixes

* changes colors from hardcode per line to a define

* some nicer darkmode colors

* asay and ooc name default fixes

* fuck you appveyer build again

* slight brightening of the default font color

* properly fixes tip of the round being hard to read
2019-03-25 20:49:59 +13:00
Rob Bailey
930e9dc501 [READY] Darkmode fixes (#43252)
* better darkmode v1

* ever better colors

* slightly improved tip color + fixed scrolly bug

* updates skin.dmf as well as some small color tweaks

* slightly tweaked more readable info and admin shit

* span_class fix

* merges ooc fixes

* whoops

* MC and ticket screen fix

* no default darkmode

* skin fixes

* more obnoxious adminpm

* more obnoxious adminshit

* skin revert to ensure proper light theme.

* prevents weirdness with default whiteness
2019-03-22 08:56:17 +13:00
Kmc2000
6b6537cccd Adds toggleable darkmode to the game! (#43072)
* Adds toggleable darkmode to the game! (Use the toggle darkmode verb if you want to use light mode)

* Removes a random linechange

* Undo unintentional changes

* Changes some forced font tags to use spans, which won't break darkmode.

* Fixes up some problems I found while testing
Darkmode is no longer default (this caused some issues with people getting a broken chat)

* Darkmode sucks less now

* Darkmode button now works again
2019-03-21 11:02:41 +13:00
ShizCalev
85be0e5804 Fix stealthmin adminpm issue (#43167) 2019-03-19 14:17:27 -07:00
JJRcop
8748e6d83e Internet midi respects start and end times (#43021)
* Play Internet Sound respects start time
For example, adding &t=400 to youtube links.
Doesn't try to parse the start time, youtube-dl does that for us already. Will probably work on most sites not just youtube.

* [Play Internet Sound] now supports end time too

Switched event handler for start to loadeddata from canplay

loadeddata fires when the first frame is available
this is quicker and more consistent than canplay, which tries
to predict at least a few moments of playability being
available before it fires

* [Internet Sound] music_extra_data now starts null
2019-03-08 10:51:04 -05:00
Menshin
7f9e50c33b Fixes advanced proc calls not working + various code cleaning (#42952)
* Fixes advanced proc calls not working + various code cleaning

* Reverted Destroy() call protection.
2019-03-08 11:33:57 +01:00
AnturK
70f97d34e1 Adds missing logging for admin tickets. 2019-03-06 11:39:09 +01:00
Tad Hardesty
3756bbf900 Move GLOBAL_PROTECT statements after their globals 2019-02-21 20:59:41 -08:00
Tad Hardesty
396101e3a1 Fix some incorrect list/ type annotations 2019-02-20 19:54:23 -08:00
81Denton
0195ce430f Add cancel button to ahelp and asay popup (#42835) 2019-02-18 19:58:36 -08:00
oranges
cd05d64bcf Species types sources refactor (#42523)
There is now a bitflag that controls all the ways a species can be
selected from the different methods of changing species, xeno spawn,
pride mirror, magic mirror etc.

The soviet and capitalist golems are no longer selectable from the pride
or magic mirrors (just the badmin one)

interesting thing I found, androids and synths (including military
synth) are acheivable via xeno extracts!
2019-02-03 20:33:11 +11:00
Kyle Spier-Swenson
fbcb1b924f [s]Advance proc call no longer allows you to call world/datum procs as global procs (#42529)
* [s]Advance proc call no longer allows you to call world/datum procs as static procs

* Update debug.dm
2019-01-26 15:22:43 -05:00
kevinz000
a7e974f9d3 [READY]Ports yet another SDQL2 upgrade, refactors SDQL2 to a datum, adds SDQL2 options/more features (#42008)
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.
2019-01-07 20:03:41 +13:00
YoYoBatty
a0e336e682 Check plumbing verb upgrade + t-ray view verb (#42218)
cl YoYoBatty
add: Added a ghost verb that lets you t-ray view underfloor objects
admin: Checking plumbing verb checks every atmospheric component instead of just pipes
code: Check plumbing verb is less snowflakey
/cl
2019-01-07 19:45:48 +13:00
Jordie0608
b9fb0388f7 rework of legacy admin loading to support punctuation with new format 2018-12-22 18:35:50 +11:00
oranges
ede3e0b4d7 Update the SDQL grammar comment
variable allows for proc calls and technically the call option just uses variable to parse out it's function (even if you provide something that makes no sense)
2018-12-15 08:42:35 +13:00
Unknown
7ff32c1b8c as text to as message
it really is that easy
2018-12-07 20:09:29 -08:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
tralezab
6933179559 It's not my fault! I'm not to blame! It is the gypsy girl, the witch who set this flame! 2018-11-19 09:07:16 -08:00
ShizCalev
f999167b80 Replaces radio channel names and keys with defines 2018-11-16 09:36:49 -05:00
ShizCalev
b08987bfd2 Adds a dirty var viewer in TESTING mode (#41498) 2018-11-16 06:31:20 -05:00
ShizCalev
c167d37121 Fixes admin damage editting not logging the target's real name / key. (#41318)
* Fixes admin damage editting not logging the target's real name / key.

* few more areas
2018-11-06 14:10:20 -05:00
ShizCalev
c12012c3ad Admin prefs stuff (#41041)
fixes #41106 since it'll have it's own fucking location.

cl ShizCalev
add: Admins can now personalize their asay message color on servers with the feature enabled.
tweak: Moved some admin only preference verbs out of the Preferences tab and to a new admin preferences tab to help unclutter it / prevent accidental toggling of fun things.
/cl

Note that the start of the admin message will still use the default formatting just so it can be quickly recognized as an admin message and not an OOC one.
2018-10-25 11:43:30 +13:00
MrDoomBringer
62529acdde Cleans up and adds more concise admin logging to the centcom podlauncher (#40696)
* shoutout to spacemaniac and qusdtyu

* slight yeets

* slight grammer fixes

* yes

* asdf

* yikes

* fixes

* ok this should be better

* key_name

* begone, proc overhead
2018-10-23 14:45:19 +02:00
Purpose
648e5382af minor typo fix 2018-10-21 18:28:14 +01:00
MrDoomBringer
33eef00d85 Clean up some admin-transform related code (#40890)
1. there was an option for cancel when the input already had a cancel button
2. hitting either of these cancels did nothing, and it continued on with the
   transformation
3. there were some 1's and 0's that shoulda been TRUE and FALSE
2018-10-13 12:16:40 -07:00
Jordan Brown
96b486e9d8 Merge pull request #40785 from Jordie0608/anothergreatstepforwardforbadminning
Stealthmode dsay now supports joke rank names
2018-10-10 18:29:45 -04:00
kevinz000
3e7184c975 Combat/Stun (slip) overhaul staging, mobility flags, adds crawling (#39967)
Aiming to implement the framework oranges has detailed in https://tgstation13.org/phpBB/viewtopic.php?f=10&t=19102
Moves canmove to a bitflag in a new variable called mobility_flags, that will allow finer grain control of what someone can do codewise, for example, letting them move but not stand up, or stand up but not move.

Adds Immobilize()d status effect that freezes movement but does not prevent anything else.
Adds Paralyze()d which is oldstun "You can't do anything at all and knock down).
Stun() will now prevent any item/UI usage and movement (which is similar to before).
Knockdown() will now only knockdown without preventing item usage/movement.
People knocked down will be able to crawl at softcrit-speeds
Refactors some /mob variables and procs to /mob/living.
update_canmove() refactored to update_mobility() and will handle mobility_flags instead of the removed canmove

cl
rscadd: Crawling is now possible if you are down but not stunned. Obviously, you will be slower.
/cl
Refactors are done. I'd rather get this merged faster than try to fine tune stuff like slips. The most obvious gameplay effect this pr has will be crawling, and I believe I made tiny tweaks but I can't find it Anything I missed or weird behavior should be reported.
2018-10-11 11:22:21 +13:00
deathride58
9e9fa70a7c Make asay support emoji (#40795) 2018-10-09 21:55:30 -07:00
ShizCalev
97293d4f12 Fix admin_headset_message() runtime (#40766) 2018-10-09 11:37:58 -07:00
Jordie0608
9a808567f1 stealthmode dsay now supports joke rank names 2018-10-09 04:43:04 +11:00
subject217
35171566d5 Revert "Improve youtube-dl subsystem (#40396)" (#40665)
This reverts commit 7d05db3.

This was done on behalf of Arianya for testmerge. Kevinz broke the play internet sound verb.
2018-10-06 07:54:45 +13:00
kevinz000
7d05db3cdd Improve youtube-dl subsystem (#40396)
admins can now specify pitch for internet sound

The code is also now seperated from the play internet sound admin verb
2018-10-03 09:54:07 +13:00
MrDoomBringer
32ffba28cd Adds a "Launch Supplypod (Quick)" adminverb (#40501)
cl MrDoomBringer
admin: Admins can now launch supplypods the old, slightly quicker way as well
/cl

Saves a few button presses, and some admins requested it.
Tested, should work fine.
2018-10-01 15:02:04 +13:00
Whoneedspacee
8c370f73ad Ash Drake Combat Buff (#40355)
cl Whoneedspacee
add: new arena attack where ash drake summons lava around you
del: removed old swooping above you, instead flies above you instantly
balance: ash drake now spawns temporary lava pools instead of meteors falling down
balance: ash drake takes twice as long to swoop down now that he instantly goes above you
balance: ash drake now moves twice as fast
balance: increases the odds of lava spawns in the lava pool attack
balance: increases fire line damage and decreases lava attacks direct damage
tweak: ash drake fire now shoots in the direction of the target
tweak: changes times of certain animations
tweak: changes sounds of meteor falling to lava creation
fix: a bug where ash drakes attacks did not damage mechs
imageadd: changes meteor icon to lava creation animation from lava staff
/cl

[why]: Ash drake is one of the easiest megafauna despite giving fairly better loot than others like legion. Also he's a fairly boring boss to fight since he spends most of his time in the air with attacks that can't really hurt you ever as long as you keep moving. I did this to make his fight more fun and less one dimensional.
2018-09-28 09:26:01 +12:00
MrDoomBringer
c7ef142616 [DOCUMENTED AND READY TO MINGLE](EPIC MEME VIDEO INSIDE!) NEW COOL ADMIN TOOL: ADVANCED HIGH DEFINITION SUPPLYPOD SUMMONING (also supplypod refactor) (PLEASE UPTHUMB) (#39936)
MrDoomBringer

admin: Admins can now spawn things in ICly (as well as do a bunch of other cool new stuff) using the Config/Launch Supplypod verb!

code: also supplypods have been refactored
2018-09-21 08:59:52 +12:00
Crazy Lemon
6a93ce9d7f Ports paradise's modular buildmode (#40105)
* Ports paradise's modular buildmode

* Axes logout callback of buildmode

* AnturK's changes

- Code formatting
- Gives mob to throw args
- Selection overlays are on ABOVE_LIGHTING_PLANE to be visible on space

Other:
- Doubleclicks of observers and AI no longer "double-tap" click
intercepts
2018-09-13 10:48:37 +02:00
ShizCalev
8a7df8ba45 Makes usage of Nar-Sie consistent (#40029)
cl ShizCalev
spellcheck: Nar-Sie's name has been revised to Nar'Sie.
/cl
2018-09-08 13:31:09 +12:00
vuonojenmustaturska
f2ed477232 [READY] playsound performance (#40045)
tl;dr: we have lists of playermobs on the z-level, which generally have fewer player mobs to iterate through. If we use them, we can get rid of the z-level checks too. On the off-chance that something plays a sound in nullspace, we can skip pretty much everything. The client-check can go too, there are no playermobs without a client.
2018-09-08 13:27:01 +12:00
ShizCalev
98a6b39cca Clean up mixed space & tab usage (#40121) 2018-09-05 22:51:20 -07:00
vuonojenmustaturska
1092e186f4 OOF (#40082) 2018-09-05 13:05:25 -04:00
vuonojenmustaturska
bc7006f266 Small refactor to to_chat to get rid of needless list-wrapping (#39899)
This is frequently called from inside a loop. Probably no measurable performance impact but I sleep easier knowing we don't do this. Also includes a helper define for getting a client from a clientful thing.

I also shuffled some things around for more nano-optimizations.
2018-08-26 12:49:26 +12:00
JJRcop
c73ecda2fe Asay logs have ASAY: again (#39896)
The log_adminsay proc was orphaned so I adopted it.
2018-08-25 14:31:48 -07:00