Commit Graph

1193 Commits

Author SHA1 Message Date
AnturK
f03fd9dd8a Few minor runtime fixes (#62394) 2021-10-28 19:24:18 -03:00
NamelessFairy
1238ce2373 Adds the ability to soft filter words, also fixes some word filter bugs (#62158) 2021-10-26 12:45:36 -07:00
Watermelon914
001db28eac Players now see any notes they may have gotten whilst disconnected when they join the server for the next time (#62063)
Players no longer find out they were noted days later when they check their notes for any notes/bans applied by an admin.
2021-10-25 11:22:57 -04:00
Mickyan
37c6f90013 Nearsighted quirk lets you pick the look of the glasses you spawn with (#62145)
expansion: Nearsighter quirk now lets you pick the look of your prescription glasses from the character preference menu
imageadd: Added thin prescription glasses
2021-10-19 17:51:57 -04:00
Gandalf
9f8a5a96e7 Moves hair gradients to the preferences menu (#62102)
* Hmm yes.

* let's not make everyone have rainbow hair

* Update basic.dm

* Undoes the dyekit removal!

* Update tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/species_features.tsx

* Update tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/species_features.tsx

* Update basic.dm
2021-10-15 17:06:14 -07:00
Seris02
694c2999b0 makes it so the sanitize_hexcolors' default is 6 characters rather than 3 and gets rid of color_legacy (#61980) 2021-10-15 11:48:55 -07:00
Ryll Ryll
b3f176998d Buffs eye contact, adds "Shifty Eyes" quirk (#61711) 2021-10-14 00:19:27 -07:00
Ghilker
95c8e00af7 cleanup _HELPERS/_lists.dm and all the necessary files (#61827)
Bring _HELPERS/_lists.dm to latest standards by:
-Adding proper documentation and fixing existing one
-Giving vars proper names
-Procs now use snake case as per standard (many files that use those procs will be affected)
2021-10-12 14:48:51 +01:00
Mothblocks
ed89d9fbd4 Add reset keybindings button (#61942) 2021-10-10 14:50:38 +03:00
Watermelon914
7f0bb743b4 Fixes default FPS and makes it apply to new players (#61957)
Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-10-08 05:04:56 -07:00
Ghilker
b95c0366a4 _HELPERS/unsorted.dm has been sorted (#61882)
bring code up to latest standards, move many procs to named files inside _HELPERS
no idea where to put some of these procs, help is appreciated
made more files to contain some unique code, deleted unsorted.dm, we can rest now
2021-10-05 20:22:57 +01:00
MrMelbert
a11e9f7a00 (Maybe) fixes panic-bunker rejecting people it shouldn't when interviews is enabled (#61837)
This pr (maybe) fixes #61383 . Testing it is difficult as I don't know how to set up a DB on local - I suggest a testmerge on Manuel?

If panic bunker interviews are enabled, everyone should be able to connect - either they have enough hours and don't need an interview or are a new player and will enter an interview.
If panic bunker interviews are disabled, we then check panic_bunker_living.
If 0, we only check for whether the client has a database entry.
If a set number, we check for the client's playtime vs that number. (Players underneath the living playtime, will be prompted to fill out an interview)
#60289 made it so people who should bypass the panic bunker to enter an interview were wrongfully rejected.

Since the default value for living time was 0, and the time we use on the game servers was 0, it ALWAYS rejected new players from entering the game, even if interviews was enabled.
2021-10-04 19:13:17 +01:00
Mothblocks
f158357375 Add preference to disable deadmin preferences in CentCom (#61751) 2021-10-01 04:00:32 +03:00
TiviPlus
901bbf7699 Rendering refactor P1: Plane unification and render relaying (pictures and video included) (#61286)
What does the PR do

This reworks how our rendering is handled, specifically moves away from plane masters as the end solution:

Instead we replace plane masters rendering directly to client with planes that render multiple planes onto them as objects in order to be able to affect multiple planes while treating them as a single object. This is done by relaying the plane using a "render relay" onto a "render plate" which acts as a plane master of plane masters of sorts, and since planes are rendered onto it as single objects any filters we apply to them will render over the planes, treating them as a single unit
image

Also cleaned up unused plane masters and render targets to reduce clutter, as well as removing a useless filter that was resulting from confusion due to said clutter.

Clientside performance testing showed no significant change, no effect on serverside performance as this is clientside.

Also added the blackness plane master so it can be relayed, side effect is that it can now be used to adjust how blackness is rendered

P2 should introduce rendering one plane to multiple render_plates, but i want to get this done before I finish that, though testing shows its feasible

Why It's Good For The Game

Allows more advanced effects.
As an example i made a grav anomaly effect in like 30 seconds for this video i will improve it once im awake properly:
https://streamable.com/lu98dz

Documentation images should be merged here after this pr is done
tgstation/documentation-assets#2
Changelog

cl
qol: grav anomalies now have a pretty effect
refactor: Rendering has been refactored, remember to report bugs
/cl
2021-09-29 22:51:14 +13:00
Mothblocks
dbe560f4d9 Change the word filter configuration to allow providing reasons, fix emotes not working in filters, and implement separate OOC/IC/PDA filters (#61606) 2021-09-25 21:13:43 -07:00
Mothblocks
ec69a3433e Fix incorrect antagonists showing up on be_special (#61676)
Fixed not being able to disable specific antagonists randomly.
For me, this meant I was unable to toggle cultist and traitor. This might've been a migration bug, though it's safe to just sanitize it on read.
2021-09-25 09:32:40 +01:00
LemonInTheDark
d610ab97c8 Adds keyloop to the autoclearing ss, cleans up ssambience a bit (#61540)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-21 17:57:27 -07:00
Mothblocks
0ce04c12b1 Fix quirks list in preferences menu being empty before SSquirks (#61492)
About The Pull Request

Fixes #61490
Changelog

cl
fix: Fixed the quirks list in the preferences menu sometimes being empty.
/cl
2021-09-22 12:14:53 +12:00
Mothblocks
b2cb5156b6 Sanitize quirks after being loaded (#61588)
Fixes #61468, where quirks being removed/renamed/rebalanced would fuck with your quirk settings.
2021-09-21 16:32:13 +01:00
LemonInTheDark
a08f698230 Harddeletes: Accident edition (#61562)
So I started with fixing some timing stuff in #61540, decided to look into foam harddels since I've known about them for a while, got bored, tried to figure out the plane master failures I've seen, and well uh, did.

I'm sure there'll be more, but for now:
Fixes foam darts sticking around post qdel due to dumb guncode, adds a stack trace to handle it.
Makes map popups actually clear the screen they're effecting of their objects, preventing plane master harddels, most commonly sourced from admin pod memes. Not clearing from the screen WAS SOMEHOW AN INTENDED FEATURE!?!@ because "clients log out often anyway and that clears screen so it's fine" I am having a meltdown
Changes examine timers from a ref + signal to a ref(), the timer's 1 second, it's not gonna cause any collisions for the love of christ
2021-09-20 17:17:09 +01:00
Mothblocks
fac93a0d4f Change preference cache from addtimer to spawn, ideally preventing the savefile bug from happening pre-init (#61536)
The bug #61469 (940d9aa99d) was trying to fix is mostly successful, except in rare cases of a lot of people opening preferences pre-timer SS init, where addtimer is delayed. This changes it to spawn, which is good to run pre-init, though in small amounts. If this doesn't work, then I'm going to make a savefile pass through every proc as an argument, but it's a very tedious and frustrating change to do, and I only really want to do it if necessary.
2021-09-19 12:24:55 -07:00
Mothblocks
cde482bb24 Fix FPS and other preferences not properly applying after reconnect (#61542)
Fixes #61515. Preferences were only applied on load_preferences(), which only fires when the preferences datum is created. Preferences datums are cached, and so load_preferences is only called the once.
2021-09-19 12:15:47 -07:00
Mothblocks
43a1cb4496 Fix typo in prefs menu documentation (#61519)
Feature<number> to FeatureToggle
2021-09-18 17:19:11 +01:00
Mothblocks
940d9aa99d Cache savefiles just for a tick, likely fixing savefile misses (#61469) 2021-09-15 18:26:35 -07:00
Mothblocks
5a4c87a9fc tgui Preferences Menu + total rewrite of the preferences backend (#61313)
About The Pull Request

Rewrites the entire preferences menu in tgui. Rewrites the entire backend to be built upon datumized preferences, rather than constant additions to the preferences base datum.

Splits game preferences into its own window.

Antagonists are now split into their individual rulesets. You can now be a roundstart heretic without signing up for latejoin heretic, as an example.

This iteration matches parity, and provides very little new functionality, but adding anything new will be much easier.

Fixes #60823
Fixes #28907
Fixes #44887
Fixes #59912
Fixes #58458
Fixes #59181
Major TODOs

Quirk icons, from @Fikou (with some slight adjustments from me)
Lore text, from @EOBGames (4/6, need moths and then ethereal lore from @AMonkeyThatCodes)
Heavy documentation on how one would add new preferences, species, jobs, etc

    A lot of specialized testing so that people's real data don't get corrupted

Changelog

cl Mothblocks, Floyd on lots of the design
refactor: The preferences menu has been completely rewritten in tgui.
refactor: The "Stop Sounds" verb has been moved to OOC.
/cl
2021-09-15 10:11:11 +12:00
Bobbahbrown
8549cc0bed Add Requests Manager to View All Prayers, Centcom/Syndicate Requests & Nuke Code Requests in Round (#60905)
Implements the Requests Manager, a new admin tool used to view all prayers, Centcom/Syndicate requests, and nuke code requests within the span of a round.

The verb can be found under Admin.Game, or alternatively just use the verb directly Requests Manager. The requests can be filtered by type (using the type filter button), or using a text search which searches both the message text as well as the request owner's name.
2021-08-26 02:30:07 +01:00
Timberpoes
dc5158324b Adds new config flag to mirror logging of suspicious failed logins to its own file (#60791) 2021-08-12 17:58:08 -07:00
Rohesie
6c4134d1ea Job refactor 2: less hardcoded lists (#60578)
* Job refactor 2: less hardcoded lists

* Obsessed can happen
2021-08-05 21:13:05 +02:00
Mothblocks
dc6d079899 Add admin panel for viewing circuits (#60504)
* Add admin panel for viewing circuits

* Resizable, make wider

* Better info, button to open panel

* Add saving/duplicating
2021-08-04 19:08:08 +02:00
Ryll Ryll
ba59702cee Adds a preference to make flashes darken your screen (#60434) 2021-08-01 14:18:36 -07:00
Kyle Spier-Swenson
36052af453 [s]Improve admin messages around players with the same ip or cid (#60488)
It will now check any disconnected player who was once inside the round (round start or late join) on top of the existing connected players check.

It will now omit an extra notice to admins when players match both cid and ip, as well as make the existing one stand out.

It will now inform admins when one of the pairs is active in the round.
2021-07-29 11:43:28 -03:00
tralezab
43fd840b2f Kills _globalvars/misc.dm (#60358) 2021-07-26 16:58:18 -07:00
Wayland-Smithy
4105023acb Fixes OOC chat avoid_highlighting (#60413)
Adds `avoid_highlighting` args to OOC `to_chat()` calls.

Passes `avoid_highlighting` through to `to_chat_immediate()` before SSchat is ready.
2021-07-25 19:49:45 -04:00
TiviPlus
80118bccd9 Fix normal panic bunker rejecting when it shouldnt (#60289)
If panic bunker is enabled, interviews disabled, and living bunker disabled, and a player whitelisted previously by only observing connects, you will get the message
"ADMIN LOG: Failed Login: [Ckey attempting to join] - Account attempting to connect during panic bunker, but they do not have the required living time 0/0."

Instead what should happen is the living time is ignored as it should be

(This also fixes when it's set to say 5 minutes and someone with 5 minutes connect but is rejected anyway)
2021-07-23 12:09:57 -03:00
Rohesie
4c21166e4f Job refactor: strings to references and typepaths (#59841)
* Job refactor: strings to references and typepaths
2021-07-18 20:48:47 +02:00
Rohesie
d5613ffee3 Admins can multikey (#60257) 2021-07-17 03:53:41 -07:00
Time-Green
302e80faa2 Fixes lizard and moth preferences missing chunks (#60144)
Preferences were apparently dependent on species_feature list, one which I changed. Preferences for the ported organs now uses external_organs
2021-07-11 23:45:24 -07:00
Wayland-Smithy
7b948b96c1 Fixes Fit Viewport being forced onto all connecting clients regardless of their manual Auto Fit preference (#60079)
Removed a single line calling fit_viewport() when clients connect with no consideration for preference.
2021-07-08 20:14:50 -07:00
Wayland-Smithy
0d1ef29662 Drastic Lag Mitigation Subsystem: SSlag_switch (#59717)
Requested by oranges and inspired by the upcoming event. A new subsyetem, non-processing (for now), aimed at providing some toggle switches that can be flipped as a last ditch effort to save some CPU cycles by sacrificing some non-critical mechanics. Below you can see each individual toggle.

Screenshot of the admin panel:
image
Surely there are more opportunities for toggles I missed, but adding new ones is not very difficult at all.
Why It's Good For The Game

Better performance during extreme pop, I hope.
Changelog

cl
code: Introduces the Lag Switch subsystem for when a smoother experience is worth trading a few bells and whistles for. Performance enhancement measures can be togged by admins with the Show Lag Switches admin verb or enabled automatically at a pop amount set via config.
config: Added a new config var: number/auto_lag_switch_pop
2021-07-08 11:02:52 +12:00
Rohesie
24cb23fa74 Inexistent prefs runtime fix and a little cleanup (#59915) 2021-07-03 20:49:32 +02:00
Ryll Ryll
1524f80565 Fixes OOC heart commendations not saving between rounds (#59904) 2021-07-01 01:13:42 -07:00
Timberpoes
fbdfde900c The to_chat proc no longer accepts null or empty strings and runtimes instead. (#59843)
* Catch null text sent to to_chat

* Brain traumas no longer send empty to_chat gain strings

* Make to_chat_immediate changes and clean up args list formatting

* Fix empty to_chat message where there is no memo for admins

* Fix additional edge case where there are no messages for the ckey.
2021-06-28 16:11:33 +03:00
DragonTrance
279c93a0a7 Adds Defines for Species IDs (#59797)
Simply puts species IDs into defines ("lizard" turns into #define SPECIES_LIZARD "lizard"). This does not affect any gameplay, and is purely for making sure future code doesn't go all fucked up because someone accidentally misspells something

I only changed code that was spelt correctly, so if there actually is a typo somewhere, it isn't changed
2021-06-25 15:30:16 -03:00
Watermelon914
375a20e49b Refactors most spans into span procs (#59645)
Converts most spans into span procs. Mostly used regex for this and sorted out any compile time errors afterwards so there could be some bugs.
Was initially going to do defines, but ninja said to make it into a proc, and if there's any overhead, they can easily be changed to defines.

Makes it easier to control the formatting and prevents typos when creating spans as it'll runtime if you misspell instead of silently failing.
Reduces the code you need to write when writing spans, as you don't need to close the span as that's automatically handled by the proc.

(Note from Lemon: This should be converted to defines once we update the minimum version to 514. Didn't do it now because byond pain and such)
2021-06-14 13:03:53 -07:00
TemporalOroboros
daec5002fc Adds Neon Carpet (#59140)
Adds a couple varieties of neon carpet.
Makes decals care about their plane in addition to their layer.
2021-06-13 15:40:53 -03:00
LemonInTheDark
f90e8cf7a3 Fixes a bunch of harddels that are sourced from player action (#59371)
Sourced from #59118 and a cursed project I'll pr later, This pr contains a lot of harddel fixes for stuff that pops up after a player interacts with something. I'm not gonna list them all here because there's something like 60 130, check the commit log if you're curious

Oh and I moved ref tracking screaming to a separate define, and made some optimizations to the thing in general. I think that's it, this pr is a bit of a frankenstine
2021-06-10 21:44:23 -03:00
Mothblocks
3e1e7f7f92 2FA for Admins (#59467)
Adds a 2FA system for admins. When a config is enabled, a database storing your last CID and IP will be checked to see if you have connected through there before. If not, you will not be able to admin until you are verified. Verification is done by opening a website (decided by config), which is tasked with updating the database entry, which will then let you reverify.

MSO wants to implement this as a forum page, but the DM-side is completely agnostic to whatever the implementation is, just that it updates the database. This means that it could potentially be some TOTP stuff, even.

If the database is down, a backup file is checked for your most recent verified connection (IP + CID). If you are on this connection, you will be able to connect fine. If the database is down and you are on a new connection, someone with +PERMISSIONS can manually verify you through the Permissions Panel.

We've had repeated attacks of admins getting their accounts stolen, it's time.
2021-06-09 17:07:36 -07:00
cacogen
def63eae98 All custom names in Character Settings can be left blank to default or randomise them (#59496)
Allows all custom names in Character Settings to be reverted to either the default name or a random one, instead of only cyborg and bible names.

Allows picking a random religion in Character Settings. Changing your religion updates your bible and deity if applicable. It uses the religions and bible names that were already in chaplain spawning code. I've added deities to most of them, to save players having to figure them out themselves. I wasn't familiar with a lot of these religions and references so let me know if I've gotten something wrong.
2021-06-07 21:48:47 -03:00
Cimika/Lessie/KathyRyals
61654778fe Ported hair gradients from TGMC. (#59435)
* Ported hair gradients from TGMC.

* Removed preferences. Added hair spray. Added the colorist quirk.

* Adds 2 new longer fade variants

* Added to vendor. Added to goodies.

* Added the sprite for the spray.

* Grammar!

* Update code/modules/mob/living/carbon/human/species.dm

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>

* Doccing and newline.

* Reviewies concerns adressed.

* Update code/modules/mob/living/carbon/human/human_defines.dm

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2021-06-05 20:12:28 -04:00
Gamer025
f73d8a2bae Fixes a bunch of hotkey preferences bugs (#59492)
This fixes the problem of the keybind conflict message being shown over and over again until you manually save your preferences with correct keybinds + resetting to classic keys works now
You had to manually save your prefs because the code didn't save the new unbound keys to the prefs file
Classic mode was broken because the emote hotkeys didn't have classic_keys set to Unbound by default

New hotkeys are now actually set to Unbound if no default key is set
This was broken for emote hotkeys because classic_keys = list("Unbound") was missing for them
It was also broken because the code assumed conflicting keys if some Unbound key already existed ...
The code also used classic key defaults even if you had hotkey mode enabled thats fixed now too
2021-06-05 10:55:33 -03:00