Commit Graph

1168 Commits

Author SHA1 Message Date
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
RandomGamer123
cf7fd8b912 Removes toggling intent selection style (#59288) 2021-05-25 00:21:31 -07:00
Celotajs
190d0a0384 Replace alert usage with tgui_alert (#58419)
Pretty much every alert() call is replaced with tgui_alert, except one I replaced with tgalert as a fallback. If tgui_alert exists, why not use it?
2021-05-20 22:43:27 +12:00
RandomGamer123
eddecf956a Fixes uplink type being unchangeable and radio uplink frequency (#58908)
* Fixes uplink-related bugs

* Actually fixes radio uplink properly
2021-05-06 15:46:59 -04:00
Celotajs
978055b90d Warn player about cost of implant uplink (#58872)
Co-authored-by: celotajstg <celotajstg@users.noreply.github.com>
2021-05-05 02:18:23 -07:00
Seris02
ff2f6abe83 Sort the majority of the rest of the unsorted chat (#58821)
* FINALLY IT IS DONE FUCK

* tip of the round into ooc

* adds cyopod chat messages to the info chat filter

* last one I promise probably, mob spawner messages to info filter

* holoparasite, round will start in x and keybinding conflict to respective filters

* removed motd from constants, made it infoplain surrounded instead

* changed info to infoplain
2021-05-05 05:57:40 +03:00
Mothblocks
819726b693 Remove gender-specific preferences (#58785)
Makes hair (which already was, I think?), underwear, facial hair, and undershirts all available to all genders.

Random character generation is not changed. Eventually, I want to remake random characters to look more believable, but that is out of scope.

Gender-specific preferences are an outdated trope that make the code harder to work with.

This change is also important as a total makeover of the preferences menu and the preference internals are going underway. It is significantly easier to work with when a preference can simply be a list of things you can choose, rather than having to depend on another preference to decide what they can show. While I could make this change at that time, it is also important that the new preferences menu keep parity, and avoid bikeshed on a trifling detail.
2021-04-30 18:23:48 -07:00
cacogen
5ca89a4640 Clarifies keybinding conflict message (#58676)
Gives the heading an underline to separate it from the rest of the text and makes it title case so it stands out without overstating the urgency of the situation
2021-04-26 01:03:48 -07:00
Y0SH1M4S73R
373895cb51 Custom Chaplain Bible Names (#58367) 2021-04-26 00:55:39 -07:00
Mothblocks
7e4de07506 Remove all gamemodes except Dynamic (#58470)
Removes all /datum/game_mode except dynamic. Eventually, all of mode and game_mode will be removed, and Dynamic will become an ingrained system. Every single other gamemode was unmaintained at best and poisoned other code at worst. Currently all tg servers run 24/7 Dynamic, so the time to act is now.

* Remove gamemode references from age checks

* Monkey

* Remove heretics

* Remove BBs

* Refactor uplinks and remove clown ops

* Remove nuke ops

* Removes and refactors cult

* Remove extended

* Remove and move out meteors

* Removes wizard

* Remove sandbox

* Remove changelings

* Remove traitors

* Remove revs

* Remove gangs

* Remove changing mode and voting for new gamemodes

* get_candidates signature fix

* Summon ERT and NERD in their own panel

* Remove some old unneeded age_check stuff

* Fix old signatures of get_uplink_items

* Use Extended like config for dynamic.json

* Fix discounted gear
2021-04-25 01:55:10 -07:00
celotajstg
20b5420254 Allow splitting admin tabs (#58310)
* Improve code in statpanel.dm

* Improve phrasing in preferences_toggles.dm

* Move "Interviews" under the "Tickets" tab

Co-authored-by: celotajstg <celotajstg@users.noreply.github.com>
2021-04-13 15:58:00 +03:00
Jeremiah
94419dc0d5 Ports Cryopods (#58025)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Kokonut <38844529+maxymax13@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-04-13 01:18:41 -07:00
celotajstg
f57d4687cb Adjust job selection table (#58232)
Changed column height from 17 to 15 and changed the order to a more sensible and aesthetic one.

Co-authored-by: celotajstg <celotajstg@users.noreply.github.com>
2021-04-10 15:12:26 -07:00
ArcaneDefence
3476d18620 Fixes multiple issues related to suicides (#58178) 2021-04-06 16:40:10 -07:00
Timberpoes
f116289e67 Fixes not being able to open inactive ticket browser on admin ticket tab. (#57882)
About The Pull Request

Currently admins can't access the ticket logs for Resolved, Disconnected, Closed and Active tickets due to an early return that will block these from being opened in 100% of circumstances.

Clicking on the Active/Disconnected/Closed/Resolved tickets would have behaviour handled by /datum/admin_help_tickets/proc/BrowseTickets() which was reached through Click() calls.

image

When we call .Click() from topic calls, we provide a null var for the control parameter.

This then leads through to /client/Click() where #57084 added a bunch of if(!control) checks supposedly ported from TGMC (or at least Fikou couldn't explain why we changed that).

I can't find a single instance of us using this locally, it appears it's always passed through to Byond. Byond docs at http://www.byond.com/docs/ref/#/client/proc/Click describe it as control - the name of the skin control involved

I can't see any reason to early return if control is a FALSE-y value. This check is what was blocking access to the admin_help_tickets datum.

In testing, removing these checks restored previous functionality.
Why It's Good For The Game

Admins less triggered.
Changelog

🆑
fix: Admins can once again open the stat panels to look at active, disconnected, closed and resolved tickets.
/🆑
2021-03-22 18:14:47 +13:00
Fikou
ed85d3f5aa Full-Automatic Guns (#57084)
* fullauto component

* eh

* h

* brap

* it works!

* FUCK SHITUP

* dumbass

* l6

* oops

* GOD

* THE LAST 10% OF A PROJECT IS 90% OF THE WORK

* slopwer projecitles, replaces the tesla gun

* heavy

* minigun

* minigun stuff

* runtime fixes, pointer icon

* nuh uh

* makes modifeirs things

* nerf this

* yes

* aghh

* agh

* real high intensity changes here

Co-authored-by: Ryll-Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-03-20 21:39:52 -07:00
Mothblocks
f44c20cdf4 Departmental officers are now put together, rather than separate, if possible (#57685)
Security officers will now be paired up together in the same department, across departments. This means that, instead of 4 officers being split across 4 departments, there'll now be 2 groups of 2.

Late-join officers will be put into any department with only 1 officer. If none exist, the least populous department will be chosen, with their preference having priority.

Updates the maps to have more spawns for departmental officers. Delta previously had none, and now has some. Fixed a bug where MetaStation's security departmental officer was a supply one instead.

Removes the "random" departmental preference. All security officers are now given a department. The "none" preference still exists, but just to show that you don't care which department you're put into.

Updates the config to comment out SEC_START_BRIG. This is what the configuration was already on live servers.

This is something that should likely be test merged, but it mucks with savefiles. Luckily, the only damage it does is changing random departments to none, so if a TM is reverted, only that will have to be changed.
2021-03-20 20:11:11 -04:00
Trigg
8a5c7c12e3 TGUI Select Equipment menu (#57673)
Co-authored-by: Triggeredboi <lucas.moreno2124@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2021-03-15 19:39:02 -07:00
Kokonut
3e46c081c9 Item hover outline FX (#57574)
Ported from BeeStation.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-11 16:34:59 -08:00
Qustinnus
93fdfa1ab4 Adds a hotkey that puts you in throw mode aslong as you hold it (#57331)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-03-08 05:17:19 -08:00
Ryll Ryll
987b050ae2 Fixes ERT Briefing Officer Outfit pref (#57069)
I was dumb in #56345 and committed a suggestion from a maintainer without actually checking what it did, leading to the part where you select what outfit you want in your preferences to not actually let you select an outfit.

This also removes the can_be_admin_equipped var from outfit datums, apparently it was supposed to be used for outfits that were only supposed to be spawned in certain ways or some nonsense, but nothing actually used it so bye bye
2021-02-25 19:40:34 -08:00
TemporalOroboros
e4079c87b8 update_appearance (#55468)
Creates update_name and update_desc
Creates the wrapper proc update_appearance to batch update_name, update_desc, and update_icon together
Less non-icon handling code in update_icon and friends
Signal hooks for things that want to change names and descriptions
99%+ of the changes in this are just from switching everything over to update_appearance from update_icon
2021-02-19 12:06:18 -03:00
Funce
6cf834f375 Fix small oversight with a query deletion (#56997)
Just a tiny bug that can make a lot of screaming! "Undeleted SQL Query"
2021-02-18 18:12:59 +00:00
Qustinnus
e8a7bd566f Hovering your mouse over things now shows their name on the top of the screen (#56729)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-02-16 18:57:34 -08:00
Emmanuel S
1fac34881a 'Server's Last Round' fix (#56934) 2021-02-15 22:56:39 -08:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00