* Fixing the chat client (#60920)
Corrects the chat restriction on using ASII characters only. (This PR was created for Skyrat-TG, but the collaborator of that repository asked me to adapt this PR for tgstation.)
This will fix#54598
In the original code, the chat client uses only ASII standard characters, which is very limited in its capabilities. For example, does not allow you to use specialized characters, which would have taken the atmosphere of the old messengers, as well as regional characters. The lack of regional characters complicates the game for non-English-speaking servers. For example, the Russian-speaking player community Space Station 13 The Fluffy Frontier uses the original Skyrat-tg build. And the players of this community almost do not use the chat client to communicate due to the fact that they can not use Cyrillic characters.
* Fixing the chat client
Co-authored-by: twilightwanderer <88540658+twilightwanderer@users.noreply.github.com>
* Change the word filter configuration to allow providing reasons, fix emotes not working in filters, and implement separate OOC/IC/PDA filters (#61606)
* Change the word filter configuration to allow providing reasons, fix emotes not working in filters, and implement separate OOC/IC/PDA filters
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Uses regex datums and macros for text-manipulation (#61042)
* Uses regex datums and macros for text-manipulation
* a
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
* In-spect scanner tweaks (#56720)
* Spellchecks the in-spect scanner description
- Renames it the N-spect scanner
- Changes the sound effect from the quaint voiced placeholder to something I found on Freesound
- Changes the report to be a piece of paper
- Adds encrypted WGW protocol report to paper
* In-spect scanner tweaks
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* 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.
* Extends the IC chat filter to be checked in two major renaming procs
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Canister max. pressure capacity display fix (#54600)
Atmos canisters now display their correct max. pressure capacity. Game code always expects kPa, code for SI-prefix-generation only expects the base unit (here: Pa), so the displayed value was always off by the factor 1000.
* Canister max. pressure capacity display fix
Co-authored-by: MadMedicineMan <65600900+MadMedicineMan@users.noreply.github.com>
* Ports #10649 from Citadel: An attempt at making hijack not shit and more about point defence (#54146)
So essentially there was discussion already here (https://tgstation13.org/phpBB/viewtopic.php?f=33&t=27620) about how hijack is one of the few objectives on Manuel that you can murderbone with, which is mildly at odds with the intention of the server.
Personally, I think hijack is just straight up terrible regardless of what server you're on. The way it functions is dreadful. Nobody must be aboard the shuttle in any part of the shuttle at all. This means you have people hiding in the walls or hiding in some invisible corner of the shuttle, cucking you of the hijack. For the most part, the only way to actually hijack the shuttle is to render it completely inhospitable or destroying it utterly save for, maybe, one square. The one you are standing on.
It's absurd. So, I knew kev made a pretty honest attempt at reworking hijack. And it works pretty well. It doesn't necessarily solve the problem of hijackers being mandatory mass shooters, but it goes some ways to improving the objective in a more interesting fashion, and allows for the discussion around the objective to be a little more open ended for the sake of the higher roleplay servers without actually detracting from the lower roleplay servers at all. If anything, this should improve the experience of being that gamer to stage a hijacking all the more interesting and about robustness, and less of hide-and-go-seek.
* Ports #10649 from Citadel: An attempt at making hijack not shit and more about point defence
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
* Overhauls discord verification system (#53289)
This completely replaces the previous verification system, for one that
will interoperate with a discord redbot instance that uses the cogs
located at you github.com/optimumtact/orangescogs
This cuts out several steps in the system, but it also leaves alone the
existing notify system (which just uses a file list of discord ids) as a
record of who to notify
SQL changes required for the new database system
Version 5.10, 7 August 2020, by oranges
Changes how the discord verification process works.
Adds the discord_links table, and migrates discord id entries from
player table to the discord links table in a once off operation and then
removes the discord id on the player table
The user connects to any tg server, and uses the "Verify Discord
Account" verb, this generates a six word one time use token, with a 4
hour time validity period (defined as 4 hours from the timestamp value)
in the discord links table.
This one time token, and the ckey of the user are stored in
discord_links
At this point the entire DM side is done, this is all it does
* Overhauls discord verification system
Co-authored-by: oranges <email@oranges.net.nz>
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>
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup
* The rest of the owl
* plushvar bad
* Can't follow my own advice.
* Cleanup up all instances of using var/ definitions in proc parameters.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Fixed#51574 - Added htmlrendertext and implemented it for the voice analyzer
* Made a htmlrendertext regex static
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
* Made a htmlrendertext regex static again
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
* Added si unit formatting proc, and unit tests for it
* Added canister examine note for what their max pressure is
* Fixed the siunit proc comment abit
This adds a sanity short circuit, such that if the string passed into
the reject bad name function is 3 times the maximum length allowable for
a name, this function will refuse to process it at all, instead of doing
the character by character processing of the entire name before deciding
it's over maximum length.
cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl
Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.
Also updates rust-g to v0.4.5:
Improved Linux .so detection
Perlin noise functions
Also updates Travis script to bionic.
* 10K hours
60,000 minutes
hahah
sure if you want a trailing newline i can do that
default cloak gets default skill
lazy list and no equip good
necessary ig
Update code/datums/skills/_skill.dm
Co-Authored-By: nemvar <47324920+nemvar@users.noreply.github.com>
Update code/datums/skills/gaming.dm
Co-Authored-By: Angust <46400996+Angustmeta@users.noreply.github.com>
WIP PDA skill monitor program
hacky fixes till i refactor skills
refactors skills a bit, adds admin skill edit menu
If you have a failing, it's that you're always demanding perfection
...IF you have a failing
i think that's it for the admin skill manger
appeases lord flord
bruh
level names
FUCK!!
unga
Update code/modules/vehicles/vehicle_key.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Update code/modules/admin/topic.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Update code/modules/admin/skill_panel.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Update code/modules/admin/skill_panel.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Apply suggestions from code review
frick
Co-authored-by: Rohesie <rohesie@gmail.com>
EOL and dumb spaces
more rohsie bait
tgui: Query Windows Registry for BYOND cache directory
hell yeah brother
update tgui and dmi
CLRF and bat file
typo ig
* tgui and new janicloak that i accdiently changed on another branch
* jani
* gamer cloak
* trim trailing whitespace
* tgui
* bruh
* variable renaming
About The Pull Request
Cryptographic sequencers can no longer open airlocks
The Airlock Authentication Override Card can open airlocks (3 charges, each charge refills over the course of a couple minutes)
Why It's Good For The Game
@optimumtact said it was good for the game
The data says the emag is the most bought traitor item. This is because the emag has too much bloat. To help mitigate this this we've taken away airlock hacking from the emag, however instead of removing the feature outright (as in #50632) we move the feature to a new item, for those who really still want to be able to hack doors
Changelog
cl MrDoomBringer with some code stolen from itseasytosee
add: added the Airlock Authentication Override Card. Use it to open airlocks!
add: added Syndicate Jaws of Life to the nuke op uplink. Use it in it's crowbar configuration to open as many doors as you'd like!
del: The cryptographic sequencer can no longer open airlocks :(
/cl
Closes#50632
* Unicode support Part 1
Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.
Adds defines for the footext_char() procs to maintain 512 support.
I did some cleanup on the text helpers since a lot of them were really, really bad.
reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.
* Give travis a more recent beta
* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron
* Suggested fixes, removes the last of the dd_ helpers
* Reading the reference is very important!
* Minor code improvements and a comment
* Typo
Several of the greps were missing the `-P` switch which caused them to
fail to match things. The EOL grep also wasn't working right so I
replaced it with the one I added to TGMC.
* You can no longer give the AI laws containing IC filtered words. Adds a proc to accomplish this.
* turns proc into a define, adds it to hacked module because I forgot
* Emag bounty computer to show contract connection
* Corrupted text helper
* WIP on corrupted text
* Randomly corrupt text when looking at connect screen
* Barebones accessible Syndicate bounties screen
* Contract barebones and Synd UI work
* Further text changes, antag checks
* Further UI changes, full contract generation with areas/target
* dropoff point checks, and move to uplink item for requesting bounties
* WIP contract uplink item
* Contract uplink and continued contract improvements
* Completed contract uplink, and continued contract work
* Droppod WIP
* Further droppod work
* Mob WIP
* Further mob WIP
* No mob
* Callback for putting in mob
* Further WIP with pod checks
* Better location picking and signal fix
* Further pod changes, WIP of payouts
* Overall finished payment/contract system
* Code cleanup
Revert changes to bounty console
Remove debug messages
* Small refactor
* Add kit with set and randomised items.
* Fix box
* Very minor flavor text for inserting into pod, plus roundend text
* Pod return sound
* Contract uplink slight styling changes
* We don't keep giving telecrystals until they literally can't hold anymore
* Ship them off to ninja base instead
* Nerf bring them dead, but give a nice boost for bring them alive
Overall this is a nerf, so we also throw in an agent card to the bundle
* Ship them back
* Minor text changes and slight TC change
* Always give the black and red variant space suit
* Error sounds
* Dropoff area locator
There's sometimes duplicates, i.e. security office - but only one of them will work. This shows you where to go.
* Small fixes
* Bugfix, further changing of TC
* Ransom wip
* Ransom system
* Few changes
* Properly pay for ransoms and appropriate logic for dropoffs
* Terminal sounds
* Talk on command channel when ransom is given, or if they were too late
* Change to announce system
* Announcements/auto pay ransom
* Proper wait
* Name pods properly
* Don't send blacklisted items
* fix
* Improvements
* Announcements are less huge...
* Not a file...
* Improvement
* Drop them not in a wall
* Halves eye blur and styles payment vend
* No memes allowed
cl Qustinnus / Floyd / Ethereal sprites by Space, is that it? / Alerts and food sprites by MrDroppodBringer
add: Adds Ethereal; a race which lives off of electricity and shines bright. If they are healthy they shine a bright green light, and the more damaged they are, the less they shine and the greyer they become. Their punches do burn damage and they are weak to blunt attacks!
They dont need to eat normal food and dont have nutrition, Instead they gain charge by going into borg rechargers, eating ethereal food or doign specific interactions.
refactor: all nutrition changes now go through a proc so we can override behavior
/cl
Adds Ethereal. A race which is essentialy inspired by Zoltan but then with different mechanics to make it fit with SS13 more. I'm trying to stay away from making them actually provide power but the change from nutrition to electricity seemed kind of fun.
They have the following specifications:
They are walking lights; and shine bright and green if healthy, and get greyer and darker the more damaged they are. When dead they are just a grey unlit corpse.
They do burn punch damage instead of blunt.
They are weaker to blunt; especially when low on charge
They have charge instead of nutrition. Charge is gained by some interactions or by going into a borg charger. or eating new ethereal food.
They are slightly stronger to shock damage, and gain charge from it a bit; however, it is still deadly to them and thus they aren't free insulated gloves.
* Add BSQL library v1.1.1.0
* Modify dbcore to use BSQL
* Add missing QDEL_NULL for connectOperation
* Moves BSQL_Shutdown() call to dbcore shutdown
* Fix passing the wrong argument to DBQuery/New()
* Darn it @Jordie0608. Fixes db calls without Connect check
No seriously please make sure I'm not breaking anything
* Queries with a null connection won't runtime
* Fix quoting
* Fix mistake
* Update BSQL to v1.1.2.0
* Update BSQL DMAPI to v1.0.1.0
* Fix connection instatiation
* Does the smart thing in regards to quoting
* Fix braces
* Update BSQL to 1.2.0.0. DMAPI to 1.1.0.0
* Execute/NextRow/MassInsert now have async parameter
* Build BSQL for tests
* Add missing apt source
* Def still need gcc-multilib
* Wut
* Revert "Wut"
This reverts commit d7c98a9a6b27f6db03e9f5cc534650d59d018048.
* Try this then
* Could it really be that simple?
* Literally running out of ideas here
* Update BSQL to v1.2.1.0 DMAPI to v1.1.1.0
* Update BSQL travis version
* Nothing about this makes sense tbqhwyfam
* Whoo boy
* No idea why this isn't working tbh
* Absolute madness
* Ahhhhhhhhhhhhh
* *deep breath*
* "though yet again i was frustrated by failure"
* Add BSQL to Dockerfile
* Pass through MassInsert async param
* BSQL to v1.3.0.0 DMAPI to 1.2.0.0
* Add timeout support
* Wait, something's fucky
* Wtf is this meme?
* Just get good lmao
* Just stop being shit lol
* Stupid verbose logging
* Remove verbosity
* Good god
* BSQL to v1.3.0.1 DMAPI to v1.2.0.1
* BSQL to v1.3.0.2
* Update BSQL travis version
* Update BSQL docker version
* Didn't mean to change that
* Strip connection information from debug logs and make it configgable
* Move this to where CONFIG_GET is defined
* Play Internet Sound sanity checks
Now checks if the content URL uses http(s) before playing
* HTML is not HTTP: renames regex
* Converted global regexes to procs that return them
* Revert "Converted global regexes to procs that return them"
This reverts commit 2eedbd6982b0c4de943a72c94f92f9d75001c06e.
* Configuration datum refactor
* More WIP
* New easier on the eyes format
* More WIP
* Finished config.txt
* Fucktons more WIP
* The end of conversion draws near...
* Add all this shit
* Done converting entries finally
* Hunting down compile errors
* More WIP
* MORE CONVERSIONS
* More WIP
* More WIP
* Oh shit only 90 errors this time!
* IT COMPILES!!!
* Fixes world start runtimes
Goonchat will use the asset cache, you now have to specify who to send the icons too.
Goonchat will now load icons in the background, displaying them once they load. this prevents the message from being delayed while the icons are sent.
Icons that aren't preloaded using the asset cache system will not render on ie8 clients. This is because of a ie8 bug that prevents changes on runtime created images from rendering.