Commit Graph

1109 Commits

Author SHA1 Message Date
Aleksej Komarov
a6e60e47e7 tgui 4.3 (#56080) 2021-01-16 19:54:31 -08:00
Emmanuel S
222cdccd10 [bounty code moment] Adds a way to view the 'Server's Last Round' (#55646)
* Adds "View Last Server Round Report" option.
2021-01-12 18:22:26 +01:00
Seris02
a6f93b4f96 Some of the unsorted chat types being sorted (#55947)
The emote CSS class was no longer in use, it has been unitalicized and made into the actual emote class, back into local.
    A CSS class for info has been created which has no special CSS.
    The who verb has been put into info. (infoplain CSS class)
    PDA message receiving has been put into info (PDA message sending was already in info). (infoplain CSS class)
    Supply radio has been properly placed into radio.
    Service radio has been properly placed into radio.
    Binary talk has been placed into radio.
    A CSS class for minor announcements has been created.
    Minor announcements (shuttle purchases, head of staff office announcements, silicon announcements, etc) have been placed into radio (major announcements are already in radio). (minorannounce CSS class)
2021-01-06 12:20:40 -03:00
Qustinnus
f66ca34626 Refactors monkeys into a species (#55614)
Changes monkeys from carbon subtype to species.
2020-12-30 16:30:15 +01:00
Rob Bailey
cb01640043 Filterrific! (#55246)
Filter refactor + In Game Filter Editor
Accessed via VV in the dropdown of atoms. "Edit Filters.
Makes filters actually usable.

Co-authored-by: ghgh <hghgh>
2020-12-18 20:05:20 +02:00
Emmanuel S
9ba0893657 removes penalizing players for turning off their deadchat broadcast (#55541)
accidently put some code where i shouldn't have in #55395 that made all mob verbs locked behind the broadcast_login_logout pref
2020-12-16 18:43:46 +00:00
Emmanuel S
3b733918a8 Disconnect and Reconnect messages for deadchat (#55395)
adds messages to deadchat when a client with a mob disconnects or reconnects
2020-12-14 06:53:15 +00:00
KathrinBailey
f3b2802b9c Fixes an oversight allowing players to list ckeys and the names of the mobs they're controlling under certain conditions (#55332)
About The Pull Request

• Resolves a probably unknown oversight allowing players to find out who plays who by using the ignore verb, which if the user is a ghost, will list the names of people's mobs alongside their ckey if they are also a ghost.
Why It's Good For The Game

Removes a potential method of metagrudging and addresses a privacy concern for those who wish to play anonymous characters. Yes, you can still see this stuff in the round-end report.
We don't lose anything here. If we're using this verb, we're doing it because we want to ignore someone's OOC messages. We don't need this additional information. I feel like this is just an oversight.
Changelog

🆑
fix: Players can no longer us the ignore verb to gather a list of people's characters and ckeys together.
/🆑
2020-12-13 18:43:39 +13:00
Timberpoes
5d6e6e81ab Extends the IC chat filter to be checked in two major renaming procs (#55217)
About The Pull Request

Honestly, I'm not sure this is the... Correct solution? But people more familiar with this will likely show me da wae.

Prohibits creating names that can't actually be spoken in-character due to chat filters by adding CHAT_FILTER_CHECKs to the procs that handle sanitising them.

For admin-utilised renaming procs, they'll be given a simple alert box to warn them their chosen name contains words prohibited by the IC chat filter and be allowed to confirm or cancel out.
Why It's Good For The Game

If you can't speak the name IC, chances are the name shouldn't be allowed at all. Players may occasionally be forced to ahelp certain names because they contain words prohibited in chat filters.
2020-12-03 09:07:11 +13:00
TiviPlus
0eaab0bc54 Grep for space indentation (#54850)
#54604 atomizing
Since a lot of the space indents are in lists ill atomize those later
2020-11-30 12:48:40 -05:00
Bobbahbrown
1b0b13a737 Replace tgalert with tgui_alert (#55157)
Adds TGUI-based alerts to replace the old tgalert system. Replaces all uses of tgalert with tgui_alert except for one, the 'Report Issue' button, as people were (understandably) concerned that this button using tgui will prevent a tgui bug from being easily reported.

These windows have a nice little progress bar indicator of how much time they have left, and will automatically close themselves after this time elapses.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-11-25 22:46:19 +02:00
tralezab
3c1f235e9f AIs can now select portraits as their display (#53994)
A new option has been added to the AI display radial menu alongside random, "Portrait"

It opens a small menu that lets you peruse all of the portraits and select one as your display.

This can let avid artists draw exactly what they want their AI to be like, and not-so-avid artists to bring tears to my eyes.
2020-11-20 05:37:08 +02:00
TemporalOroboros
edd6500d78 /obj/screen --> /atom/movable/screen (#54403)
Repaths screen objects to /atom/movable
2020-11-08 23:07:15 -03:00
Jared-Fogle
80bb4cd03f New view tracked playtime menu (#54681)
* New view tracked playtime menu

* Put living/ghost in their own category
2020-11-03 03:43:17 +02:00
Ghom
cc51e57b44 datum/client_colour refactor. (#54741) 2020-11-02 12:20:34 -08:00
cacogen
d6f9264ff4 Capitalises Settings, Ghost and Sound menu titles at top (#54640)
This makes it so the Settings menu and the Ghost and Sound submenus have their names capitalised like the rest of the options on the menu bar at the top of the screen.
2020-10-29 00:49:23 -03:00
LemonInTheDark
3c218846ef Properly sanitizes the pixel scaling pref (#54592)
It was being rounded to 1, which breaks one of the options.
I've added a float sanitize proc that accepts a degree to round to, I've set it to 0.5 in this case.
2020-10-25 22:12:45 -03:00
Bobbahbrown
4e48e1379d Interview System / Soft Panic Bunker (#54465)
About The Pull Request

Ports and improves my interview system that has been previously used in the summer ball and toolbox tournament events. Allows for a 'softer' panic bunker, wherein players who fall below the required living time limit can still join the server and be restricted to filling out a questionnaire. Upon completing the questionnaire, the player may be allowed into the server by an administrator. If the application is approved, they get a notification that they will be reconnected and upon reconnecting will have all verbs as they usually would. If the application is denied the user is put on a cooldown after which they may submit a new questionnaire.

Players who are being interviewed (herein interviewees) have no verbs other than those required for the stat panel to function, as well as a verb to pull up the interview panel. Interviews do not persist through restarts, and the ability to join that is granted by an accepted interview is only valid for the duration of that round.

Open interviews are listed under a new 'interviews' tab for admins, which is VERY similar to the existing tickets tab.

Below is what a player who is flagged as an interviewee will see when they join the server. They can do nothing but respond to the questionnaire or leave.
image

This is what an administrator sees after an interview is submitted, they will also see a corresponding message within their chatbox, and an age-old BWOINK when an interview is submitted.
image

The interviews tab, which is similar to the tickets menu. You can open the interview manager panel to view all active (including non-submitted) interviews, queued (submitted) interviews, and closed interviews.

image
FAQ:

What happens if someone submits an interview when no admins are on? It's treated like adminhelps are, the message gets sent to TGS to be dispatched off to configured end-points (like Discord or IRC), and the user is notified that their interview was handled this way.

Can you configure the questions? Yes, in config/ there is now a interviews.txt file in which the welcome message and the individual questions can be set and modified.

Can this be turned on and off during a round? Yes, it can be toggled like the panic bunker. It requires the panic bunker to be raised in order to function.

Can interviewees have further questions asked to them? Yes, if you admin-pm them, which is possible using regular means or a conveniently placed button on the interview UI, they will be able to respond to the message.
Technical details

To use the interview system you must have the panic bunker enabled, this is an additional setting for the panic bunker. It can be set through the PANIC_BUNKER_INTERVIEW setting in config.txt, or alternatively enabled in-game as prompted during the panic bunker toggling process. It also can be toggled on its own using a verb added for this purpose, Toggle PB Interviews found under the server tab. These new actions are included in the logging for the panic bunker. I have also added a reporting stat to the world topic status keyword, which now reports if the interview system is on using the keyword interviews.

As mentioned above, for server operators, configure the questions and welcome message in config/interviews.txt.

Note to maintainers and those with big brains I had to add a call to init_verbs on the stat panel window being ready because seemingly a race condition exists wherein the add_verb of the 'view my interview' verb doesn't cause a refresh of the tabs (and therefore doesn't show the 'Interview' tab) when running in dream daemon but running it directly from visual studio code properly shows the tab. Adding a init_verbs call directly after adding the verb didn't seem to help.
A note for downstreams

If you don't use the HTML stat panel (which may not be a bad thing) then you will have to do some conversion from the HTML stat panel stuff used here to the old style stat panels. It's pretty trivial, but just be aware of that. You can see how I used to use the old stat panels in my PR from the summer ball, here, which should be helpful.
Why It's Good For The Game

This allows for a softer version of the panic bunker which impedes the flow of malicious players while allowing genuine players a chance to enter a round to gain enough time to not be affected by the panic bunker's restrictions.
Changelog

🆑 bobbahbrown
add: Added the interview system, a 'soft' panic bunker which lets players who would normally be blocked from joining be interviewed by admins to be selectively allowed to play.
/🆑
2020-10-25 14:10:06 +13:00
Ghom
b6099da14b Merges species/var/list/default_features with species/var/list/mutant_bodyparts. (#54525)
default_features and mutant_bodyparts have been used ambivelently since a long time, so I'm merging the two together and replacing relevant 'in' list access operations with '[ ]' for performance while I'm at it.
2020-10-23 14:05:31 -03:00
Rob Bailey
7446e460f1 fix fix chat (#54517)
Makes fix chat more robust as well as giving a more visible method to fix it.

Stand in while I investigate methods to hopefully make this unneeded.
2020-10-23 08:50:04 +03:00
ZeWaka
9629feed35 Converts A && A.B into A?.B (#54342)
Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.
2020-10-13 16:43:53 -03:00
LemonInTheDark
ca0be3a5f9 Adds a living time config to the panic bunker (#54341)
* Adds a living time value to the panic bunker, so you can keep people out based on time spent playing the game

* updates the admin verb, and enables %minutes% as an option

* Makes a proc call more clear

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>

* than

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-10-13 11:00:20 -04:00
Tad Hardesty
2161005a44 Fix up a couple more dmdoc crosslinks (#54258) 2020-10-10 20:49:21 -03:00
Rohesie
5beb871aea [s] Reworks the sanitize_ooccolor proc (#54221)
* Reworks the sanitize_ooccolor proc

* regex

* cleanup

* grammer is herd
2020-10-08 23:23:13 +08:00
Couls
3599368503 Keybinding Conflicts now wait 5 seconds before being announced (#54152) 2020-10-03 14:33:56 -07:00
Coul
ac8061a099 unbinding movement and communication should work now
not sure why'd you ever want to do that though.. weirdo.
2020-09-30 09:10:46 -04:00
Rohesie
7ad9394efe Fixes some keybind setting ambiguity (#53992) 2020-09-29 21:29:33 -07:00
Couls
bef647660b Communication hotfix of a hotfix (#54091)
remove an endless recursive loop
2020-09-29 19:20:01 -07:00
anconfuzedrock
cbc6842e8c adds a new default "dance" suicide. (#54040)
About The Pull Request

This adds a new default help intent suicide, a dance.
Why It's Good For The Game

I think fondly of our suicides getting more and more fun over time, and even the defaults go from "bites his tongue" to now "getting high on life" and I think this is a fun new default suicide.
Changelog

cl
add: adds a new default suicide, a dance.
/cl
2020-09-30 14:07:58 +13:00
Couls
ed02f99f92 Communication hotfix (#54084) 2020-09-29 15:28:22 -07:00
Couls
6855fb9fa8 newly added keybinds no longer need savefile updates (#54050)
Keybinds check if there are any new keybinds when loading preferences now
If there's a conflict it doesn't bind the key to anything
2020-09-29 13:21:13 -03:00
Couls
1432662d57 Rebindable communication(OOC, Say, Me) (#54035)
OOC, Say and Me is now rebindable
2020-09-29 13:07:03 -03:00
Bobbahbrown
0d5d5af0e5 Restyles Stat Panel, Adds Subpanel Sub-Categories (#53947)
I re-styled the CSS for the stat panel in hopes to make it look nice, and I also added the ability to use sub-categories (currently a single level) of verbs using a . (period), an example being Admin.Fun instead of the previous Admin - Fun. This now results in a sub-category being automagically generated in the stat panel.
2020-09-29 06:36:14 -03:00
Rohesie
b3eb90b5e9 Fixes cases of held keys getting stuck (#53988) 2020-09-29 01:20:11 -07:00
Jared-Fogle
b79daed120 Remove tab before names in Who for deadmins (#53930)
Previously, names were prefixed with tabs for deadmins. This makes the output look significantly worse.
2020-09-26 21:38:33 -07:00
ArcaneDefence
2eb6b1362e Separates mothpeople antennae into a mutant bodypart (#53928)
Removes the antennae part of the original moth wing sprites and adds them back as a mutant bodypart.
Seeing as they were then separated I made it a preference so that players can choose which antennae sprite they would like to have, instead of being restricted solely to the ones built into the wing sprite.
2020-09-25 08:47:00 -03:00
Jared-Fogle
e0b6f80912 Change the "Who" verb to display a table rather than a list (#53839)
Doesn't apply for active admins since those have longer lines that wouldn't fit well.
2020-09-23 06:53:28 -03:00
Tad Hardesty
f80836d00d Fix broken dmdoc crosslinks (#53896)
- Backtick-escape code samples which contain `[]` syntax.
- Fix all crosslinks to nonexistent symbols.
- Somewhat improve docs for qdel defines, research defines, dynamic mode, and others.
- Remove unused bloodcrawling defines.

Some crosslinks to defined but undocumented symbols remain. For BYOND builtins, a future dmdoc version may link those symbols to their entries in the DM reference. Other symbols could be documented by a future PR.

New "file" crosslinks as used in `research.dm` are slated for release in a future dmdoc version.
2020-09-23 03:47:44 -03:00
Jared-Fogle
78b79aef36 Block movement now locks turning, migrate old save files to Ctrl (#53871)
The block movement key now correctly locks turning like it used to.

Old save files are now migrated to Ctrl if they didn't bind it to anything before. This correctly replicates the old behavior.
2020-09-23 03:42:41 -03:00
Rohesie
8b224ef13e Refactors the keys_held rolling buffer (#53773)
* rolling key rip

* category

* comment

* oops
2020-09-20 15:01:21 -07:00
Qustinnus
fc75f2cb51 Makes locking movement a hotkey (#53771)
* kinda done

* Update code/datums/keybinding/mob.dm

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

* Update code/datums/keybinding/mob.dm

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

* Update code/datums/keybinding/mob.dm

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

* Update code/datums/keybinding/mob.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-09-18 22:15:02 -04:00
Timberpoes
6f2bcf879a Add additional info to a runtime situation to be able to handle it better in the future. (#53727)
Added two CRASHes for two areas where this could go wrong to better understand what and why this is happening.
2020-09-15 19:16:10 -04:00
Couls
75cdfc88f6 Optimize stat panel and fix guardian verbs (#53463)
Optimizes stat panel code for better performance, including icon caching and removing some unnecessary processing
Also fixes #53432
fix #53381
fix #53724
Changelog

add: icons are back on alt clicks
fix: horrible performance from alt clicking turfs with multiple objects
tweak:browser should notify the SS when it's ready to receive data

* Update statbrowser.html

* Apply suggestions from code review

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>

* hidden = TRUE

* almost ready

* Browser should notify when ready to receive data

* Apply MSO's suggestions

* reset cache if something in it gets deleted

* Fix runtime

* fix my stupid code

* send href_token when adding admin tabs

* fix an issue with cyborg suit topic

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-14 23:36:46 -07:00
TiviPlus
9f153219d0 cleanup (#53677) 2020-09-14 16:55:17 +08:00
uomo
ca19c4ebe3 Change "Hear Admin Triggered Sounds (Midis)" to "Hear Admin Triggered Music/Sounds" (#53457) 2020-09-06 04:04:29 -07:00
Tad Hardesty
3ad54d0606 Avoid resizing chat to nothing in the Fit Viewport verb (#53393) 2020-09-04 23:08:11 +03:00
Couls
fe551f68e9 Fix Alt Clicking opening up a window and add back some object verbs to the browser stat panel (#53369)
Fixes some more issues with browser stat panel

- Alt clicking items in the listed turf tab doesn't open up a popup
- Toggle suit sensors button missing
2020-09-02 18:18:09 -07:00
Kyle Spier-Swenson
f0b02b1abd Tweak file upload limits (#53371)
halfed it for players, more than doubled it for admins. (mainly for map 
templates, admins playing 2mb sound files using this will be punted 
into the cafeteria)

Could use with being more refined, per-extention, maybe have sound have 
a seperate check since thats a function of size*players, and the rest 
of this is not.
2020-09-02 17:49:40 -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
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