* 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
* adds a new default "dance" suicide.
Co-authored-by: anconfuzedrock <anconfuzedrock@users.noreply.github.com>
* Remove tab before names in Who for deadmins (#53930)
Previously, names were prefixed with tabs for deadmins. This makes the output look significantly worse.
* Remove tab before names in Who for deadmins
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* 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.
* Change the "Who" verb to display a table rather than a list
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* 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.
* Add additional info to a runtime situation to be able to handle it better in the future.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* 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#53432fix#53381fix#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>
* Optimize stat panel and fix guardian verbs
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
* Avoid resizing chat to nothing in the Fit Viewport verb (#53393)
* Avoid resizing chat to nothing in the Fit Viewport verb
Co-authored-by: Tad Hardesty <tad@platymuus.com>
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>
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
* tgchat (#52426)
Replaces goonchat with a tgui based chat panel
Fixes#52898Fixes#52663
It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.
Additional features that you will get with tgchat right now:
Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
If using the highlighting feature, it highlights the whole message as well as the matching word.
"Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.
Architecture is as following:
```
to_chat() -+
|
SSchat
(queue, batching)
|
window.send_message()
|
v
+-------------+
| tgui-panel |
|+-----------+|
|| tgchat ||
|+-----------+|
+-------------+
```
Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.
/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.
tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.
It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.
* tgchat
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* Refactors area stuff (#52751)
-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more
* Refactors area stuff
Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
* Case of lower
* More changes
* Ruins the nice 420 diff, brainfart when doing the second batch of conversions
* More changes
* Next batch. I think
* Converts even more paths
* Restarts bots
* Capital Free Zone
* Come on travis, do something
* Renames areas
* Bots, please stop dying
* Updates CONTRIBUTING.md and updates a few paths I missed.
* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
* Revamp the player ignore system
* Move a variable definition out of a loop
* Replace a |= with +=
* Improve some code
* Fix some code
Co-authored-by: Local <none>
* Makes raw HTML and browser datum popups UTF-8 aware
Admin menus specifically really shouldn't break just because you named some guy "☺s the Clown"
* Fixed new_player.dm
* Fucking filing cabinets
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
About The Pull Request
Adds a new disarm intent suicide. Fixes the intent logic, it will now run different suicides for disarm and grab. Added some ghostize that I overlooked last time.
https://streamable.com/ifx25
Why It's Good For The Game
Fixes, silly new content
Changelog
cl Skoglol
fix: All human intent suicides now work properly
add: New disarm intent suicide
/cl
* fixes modifier hotkeys and adds alternative move intent toggle
* Fixes pulling keybind
* make the wrappers look more like the old popup windows
* it was the freaking save file
* bump up save file version
* reset keybindings to default
* custom keybindings
* Update _lists.dm
* Update robot.dm
* modify weights and clean up some vars
* Update say.dm
* Apply suggestions from code review
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* some review changes
* formatting
* include focus hack, remove me_wrapper, give default keybinds to new characters, misc fixes
* revert hack and more reviews
* remove another focus hack
this was causing issues with the keydown proc returning early
* Reverts italics-span back to no color.
* Cleans up many extra spaces and indents.
* Adds 'hear' span class.
* Replaces all 'italics' used in heard messages with 'hear'.
About The Pull Request
Fixes#46039. Or should at least I haven't tested it.
please note I did not write the ignoring code
Why It's Good For The Game
bug, fix, etc
Changelog
cl bandit
fix: Fixed an erroneous message with ignoring a player's OOC messages.
/cl
This PR moves player death+suicide logging from the game log to the attack log.
@nfreader @bobbahbrown You might have to adjust your log services if this gets merged.
Why It's Good For The Game
Attacks and succumbing are already being logged in the attack log - moving deaths+suicides to the attack log makes it easier for admins to establish death timelines.
Changelog
cl Denton
admin: Player deaths+suicides are now logged in the attack log and no longer in the game log.
/cl
* 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