Commit Graph

312 Commits

Author SHA1 Message Date
Gandalf
72f6221689 Interactions tidyup (#8850)
* Updated interactions

* Update interaction_menu.dm

* Colors

* Update interaction_menu.dm

* Update interaction_menu.dm

* Update interaction_menu.dm

* Better code for all.

* Update interaction_component.dm

* Removes support for TARGET SPEAK and USER SPEAK due to instability.

* Update interactions.dm

* Update interaction_component.dm

* Enables you to interact from a distance again.
2021-10-18 01:01:14 +01:00
SkyratBot
09c2297ad1 [MIRROR] Secret Gateways: Config loaded Away Missions + Anti-observing Z level traits [MDB IGNORE] (#8437)
* Secret Gateways: Config loaded Away Missions + Anti-observing Z level traits

* 0

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-04 00:11:28 +01:00
SkyratBot
460b6e653c [MIRROR] Fix word bounds on filters, where they would only be applied at the beginning [MDB IGNORE] (#8444)
* Fix word bounds on filters, where they would only be applied at the beginning (#61714)

* Fix word bounds on filters, where they would only be applied at the beginning

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-28 04:50:38 +01:00
SkyratBot
357150d50e [MIRROR] Change the word filter configuration to allow providing reasons, fix emotes not working in filters, and implement separate OOC/IC/PDA filters (#8406)
* 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>
2021-09-26 14:26:51 +01:00
SkyratBot
90ae165e50 [MIRROR] Asset log config (#8400)
* Asset log config (#61687)

Adds config to toggle on/off logging to asset.log

Special thanks to @ TiviPlus who stole it from @ TiviPlus at tgstation/TerraGov-Marine-Corps#8406

* Asset log config

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2021-09-26 01:48:37 +01:00
SkyratBot
fb1a28a55f [MIRROR] Add support for multiple MOTD in config (#8307)
* Add support for multiple MOTD in config (#61589)

## About The Pull Request
Changes "motd.txt" from being hardcoded to being a list of files which are read sequentially.

CC @ MrStonedOne for config changes

## Why It's Good For The Game
On production, our MOTDs contain several individual sections:

- Active Trial Admin threads
- General game information
- MRP specific information

I want to automate number 1, I want number 2 to be shared among all servers, and I want number 3 to be shared among all MRP servers.

* Add support for multiple MOTD in config

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-23 01:27:18 +01:00
SkyratBot
124ddd7cca [MIRROR] tgui Preferences Menu + total rewrite of the preferences backend (#8153)
* tgui Preferences Menu + total rewrite of the preferences backend

* nah, we dont need to ping those people

* trying to remove the funny stuff

* unmodularizing this

* prefs reset

* this may need to be reverted, who knows

* okay, this part

* perhaps

* EEEEEEEEE

* unsanitary

* E

* Stage 1 + loadout system

* more fixes

* E

* I mean, it launches?

* More fixes and reorganisation

* E

* customisation code is spaget.

* disable ERP prefs

* Update erp_preferences.dm

* Update erp_preferences.dm

* E

* Slowly getting there

* It may be time for help :)

* tri...colors... help

* preferences now pass preferences

* Update dna.dm

* Fuck this man

* missing savefile return, set_species works, removed dumb stuff from updateappearance

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224

* https://github.com/tgstation/tgstation/pull/61519

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278

* e

* le butonAZARAK HELLO

* hhh

* Proper recognition where it's due, MrMelbert!

* EEEE

* examine block

* Better gen hit sounds from whitedream

* final loadout touches, more bug fixes im sure to come

* i said there would be bugfixes

* Update LoadoutManager.js

* Missing preferences in the html menu

* LIVE TESTING PHASE BABY

* Update LoadoutManager.js

* EEE

* LAUNCH TEST FIRE

* Update job.dm

* Update new_player.dm

* 50gb DAY ONE PATCH

* EEE

* Update preferences.dm

* buggle fixes

* Update examine.dm

* >LOOC starts on

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-09-23 00:40:37 +01:00
SkyratBot
1efa5bb148 [MIRROR] Give admins the ability to put a popup notice for players in tickets (#7856)
* Give admins the ability to put a popup notice for players in tickets (#61010)

Admins can now give players a popup if they are not responding to tickets.
Popup is cleared when player replies or ticket is resolved/closed.
As more and more of the chat screen is made irrelevant, new players read it less and less.
This means that a lot of new players are ignoring ahelps, which is something I've encountered myself.

* Give admins the ability to put a popup notice for players in tickets

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-09-01 16:06:09 +01:00
SkyratBot
0b23aaad55 Fixes the cross comms exemption of the current server. (#60951) (#7763)
Added a lowercase variable to string, string lists and keyed list configs.
Currently lowercase is only TRUE for keyed lists because they have been working like that since 2018. It might be changed to be FALSE by default but it'll take a while looking at the parsed logs for the config entries.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-08-25 11:05:49 -04:00
SkyratBot
839a703c5e [MIRROR] Adds new config flag to mirror logging of suspicious failed logins to its own file. (#7538)
* Adds new config flag to mirror logging of suspicious failed logins to its own file.

* Update IsBanned.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-15 22:59:50 +01:00
SkyratBot
91070a797c [MIRROR] Job refactor 2: less hardcoded lists (#7410)
* Job refactor 2: less hardcoded lists

* CRITICAL DEP 1

* CRITCAL DEP 2

* Update nanotrasen_admiral.dm

* Update nanotrasen_admiral.dm

* Update nanotrasen_admiral.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-06 01:42:53 +01:00
SkyratBot
df651808d4 [MIRROR] Drastic Lag Mitigation Subsystem: SSlag_switch (#6786)
* 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

* Drastic Lag Mitigation Subsystem: SSlag_switch

* mirrored the changes to the modular file

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-07-08 03:24:16 +02:00
SkyratBot
86517eaf36 [MIRROR] [s] Remove ability to circumvent config VAS protection (#6635)
* Remove ability to circumvent config VAS protection (#59875)

* [s] Remove ability to circumvent config VAS protection

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2021-07-01 22:57:17 +01:00
SkyratBot
a2d29d582d [MIRROR] Add $reset directive to config processor for setting a config entry to default value (#6602)
* Add $reset directive to config processor for setting a config entry to default value

* Update game_options.dm

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-30 20:20:24 +01:00
SkyratBot
78afb2bccf Adds configs to disable laggy hard deletes (#6559)
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-06-28 14:19:27 +01:00
SkyratBot
c96dcd4506 [MIRROR] Port: fixes of SStimer subsystem from RU SS220 Paradise (#6446)
* Port: fixes of SStimer subsystem from RU SS220 Paradise (#59718)

Unobvious problem spot

#define BUCKET_POS(timer) (((round((timer.timeToRun - SStimer.head_offset) / world.tick_lag)+1) % BUCKET_LEN)||BUCKET_LEN)

With tick_lag equal to 0.1, 0.25, 0.5, rounding of division is normal. But at other values it may be shifted either more or less due to the specifics of floating-point storage and processing. Numbers 0.1, 0.25, 0.5 have blank mantissa, unlike others which lead to numbers such as 245.0000004 when divided.
PS: tick_lag is rounded to the first two decimal places.

Fixes

    Rewrote the circular doubly linked list to a regular doubly linked list, because it could cause timers to loop infinitely.
    Fixed re-creation of a bucket if the timer does not have a callback.
    Added debug stat indicator RST to MC SStimer.
    Added optional ability to log dump all timers on crash.
    Fixed subsystem logic when a bucket position is misplaced due to division and rounding inaccuracy. The system now captures such rounding errors and restores the correct timer position.

References

[RU] SS220 Paradise port process from TGstation and fixes:

    ss220-space/Paradise#5
    ss220-space/Paradise#10
    ss220-space/Paradise#26
    ss220-space/Paradise#32
    ss220-space/Paradise#37

Contributors

    @ semoro: fixes
    @ Bizzonium: port

Changelog

cl Semoro and azizonkg
fix: Ported fixes of SStimer subsystem from RU SS220 Paradise
config: Added a new config var: flag/log_timers_on_bucket_reset
/cl

* Port: fixes of SStimer subsystem from RU SS220 Paradise

Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
2021-06-22 22:38:52 +01:00
SkyratBot
e2519525f9 [MIRROR] Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#6436)
* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount (#59676)

Refactors dbcore to work off a subsystem if executed async and limits the maximum amount of concurrent async queries to 25.

This has been tested locally on a mysql docker image and there were no crashes (as long as you didn't run it with debug extools) + data was getting recorded fine.
Why It's Good For The Game

May or may not resolve terry crashes, however, each query creates a new thread which takes up 2mb, preventing the game from using that 2mb. This can lead to ooms if they stack up, e.g. due to poor connectivity. This solves that issue.

maintainer note: this did not actually resolve the crashes, but has value anyway. Crashes were sidestepped fixed by finding out Large Address Awareness works

cl
refactor: Refactors dbcore.dm to possibly resolve the crashes that happen on Terry.
/cl

* Refactors dbcore and limits the maximum amount of concurrent async queries to a variable amount

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
2021-06-22 00:49:20 +01:00
SkyratBot
0fa2b48b59 [MIRROR] 2FA for Admins (#6221)
* 2FA for Admins

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-10 23:59:30 +01:00
SkyratBot
04abb98894 [MIRROR] Remove a bunch of old gamemode code (#6025)
* Remove a bunch of old gamemode code

* Mirror!

* Woopsie, modular game modes!

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-01 12:36:59 +12:00
SkyratBot
341ca10760 [MIRROR] Reduce default Maint. Drone playtime requirement (#5595)
* Reduce default Maint. Drone playtime requirement (#59011)

* Reduce default Maint. Drone playtime requirement

Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
2021-05-10 22:46:46 +01:00
SkyratBot
b7cefa3986 [MIRROR] Adds SDQL Spells & a Menu to Give Them to Players - Take 2: Commit Cleanup (#5274)
* SDQL Spells & Menu to Give Them to Players (#58118)

SDQL spells are spells that execute an SDQL query. This requires a config flag to be enabled in game_options.txt. When enabled, admins with debug verbs have the ability to open a menu allowing them to define all the relevant vars for the spell, including icons and spell requirements.

It also fixes a bug with superuser SDQL queries always runtime if they try to call a proc.

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

* Adds SDQL Spells & a Menu to Give Them to Players - Take 2: Commit Cleanup

Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
Co-authored-by: Emmett Gaines <ninjanomnom@ gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
2021-04-29 00:30:19 +01:00
SkyratBot
2ab15aecb5 [MIRROR] Remove all gamemodes except Dynamic (#5173)
* Remove all gamemodes except Dynamic

* qaaaaaaaa

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-04-25 21:20:30 +01:00
SkyratBot
a08d398675 [MIRROR] Renews Maintenance Drones (#4868)
* Renews Maintenance Drones

* And these have conflicts too, but you can't see them

* Skyrat Map Updates (Adding Supermatter Room Area)

Co-authored-by: Jonathan Rubenstein <jrubcop@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-04-16 13:04:21 +02:00
SkyratBot
4c68e4fe4e [MIRROR] Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern. (#4864)
* Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern. (#58236)

About The Pull Request

ID cards when equipped will check the player's living hours if the USE_LOW_LIVING_HOUR_INTERN flag is set. If their living hours is less than the first of the following (checked in order from 1st to 3rd until a valid value is found):

    Config USE_LOW_LIVING_HOUR_INTERN_HOURS
    Config USE_EXP_RESTRICTIONS_HEADS_HOURS
    Hardcoded 15 hours

Then their ID card is tagged as Intern Assignment, unless they're a Head of Staff in which case they become an Assignment-in-Training.

PDAs, Wallets and Tablets also update any ID cards they hold, so equipping a PDA, Tablet or Wallet will also update any ID cards inside it.

This occurs automatically, even if the card does not belong to the owner. This only occurs when the user's assigned_role is a station job.

* Implements a new auto-tagging system for ID card which adds a config to auto-flag them as an intern.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-04-13 02:01:42 +01:00
Funce
e5e448ab62 Ambition logging (#4765)
* Sets up ambition logging baseline framework

* That's one line, how did I write it

* Have to rewrite all the logs!

* I don't know what I'm doing anymore

* I think this is the last thing

* Log ambition is now added to config

* Ambition flag now correctly checks for the ambition flag

* Okay /here/ we go

* No more lowercase ckeys in admin chat

* Admin actions are now logged too
2021-04-09 16:01:00 +01:00
Cheshify
3bfb26f12a [SEMI MODULAR] Discord Link Updates (Config) (TM this) (#4507)
* Unga Dunga Config Changes :)

* More Config Stuff
2021-04-01 17:34:59 +01:00
SkyratBot
b332b46b65 [MIRROR] Remove hideous inline tab indentation, and bans it in contributing guidelines (#3394)
* Remove hideous inline tab indentation, and bans it in contributing guidelines

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-15 15:32:02 +00:00
SkyratBot
18d9daadb1 [MIRROR] Improves friendly commendation code (#3110)
* Improves friendly commendation code (#56453)

* Improves friendly commendation code

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2021-02-05 21:42:47 +00:00
SkyratBot
25df6e7da3 Cleaning up robot code: modules renamed to models & DOGBORG REWORK (#2837)
* Cleaning up robot code: modules renamed to models

* Merge branch 'master' into upstream-merge-56312

* [PR Fix] Modular_Skyrat borgos (#3019)

* No more linter complaining

* Halfway (or full way, I don't know) through moving stuff around

* Caps!

* a

Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-02-05 21:28:06 +00:00
SkyratBot
0d687afc93 [MIRROR] Reverts the recent config changes (#3039)
* Reverts the recent config changes

* aaa

* a

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
2021-02-03 14:53:43 +00:00
SkyratBot
2c23315b69 [MIRROR] Fixes included config files not loading (#3038)
* Fixes included config files not loading

* Update configuration.dm

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-02-03 14:27:37 +00:00
SkyratBot
51bb9fb188 [MIRROR] Adds configuration consistency tests (#3036)
* Adds configuration consistency tests (#56562)

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

* Adds configuration consistency tests

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Jared-Fogle@ users.noreply.github.com>
2021-02-03 14:24:16 +00:00
SkyratBot
d9c8ffef60 [MIRROR] Changed the population scaling coefficients minimal values to 0. (#2995)
* Changed the population scaling coefficients minimal values to 0. (#56522)

## About The Pull Request

So, there on the downstream we've encountered a problem with the security officer slots jumping to 12 every time the round starts, regardless of what we set them to in the configs.
In the configs it says that you can set the coefficients to 0 to disable scaling, and upon investigation, it seems that all the scaling coefficients suffer from similar problem.
https://github.com/tgstation/tgstation/blob/master/config/game_options.txt#L198
the `min_val` in the config entry datums is 1 on each of them, leading to unexpected behaviour

## Why It's Good For The Game

It fixes certain config values leading to unexpected and unwanted behaviour

* Changed the population scaling coefficients minimal values to 0.

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-02-01 13:23:29 +00:00
SkyratBot
7f7252d855 [MIRROR] Adds logging to uplinks, spellbooks, and the codex ciatrix (#2937)
* Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)

* Initial logging

* Bugfix and adds uplink logging to config file

* Another bugfix

* Adds logging to uplinks, spellbooks, and the codex ciatrix

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-01-29 14:12:01 +00:00
Miss Fox
3727431c10 [NON-MODULAR] [TM Only] Added the SQL logging.. waf (#2668)
* Added the SQL logging.. waf

* I dont know why CI does not like my sql......

* I think i fixed the sql....

* Attempt #1 to make linter happy

* Shhh linter, it will be over soon

Just breath into this cloth... ignore the chloroform smell.

(Add a Preprocesser statement, to make the SpacemanDMM linter ignore the SQL code in a mob atom obj, that causes it to trigger its hard coded test for stoplag.
This only does not trigger on other SQL, as there is hard coded exception in SpacemanDMM that ignores the other objects. the better fix would be to update SpacemanDMM to add this into the exclusion. but this change at least allows the PR to be merged finally)

Co-authored-by: MissFox <github@aesir.org.uk>
2021-01-28 18:25:19 +00:00
SkyratBot
11acb0c634 [MIRROR] Fix startup double runtimes again (#2607)
* Fix startup double runtimes again (#56047)

Prevents runtimes that occur before /world/New is called from runtiming in /world/Error due to lack of the config being loaded.

* Fix startup double runtimes again

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2021-01-10 08:21:34 +01:00
SkyratBot
d7f054b035 [MIRROR] Refactors monkeys into a species (#2379)
* Refactors monkeys into a species

* aaa

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-31 21:08:07 +01:00
SkyratBot
e0a5c58460 [MIRROR] Add config for discord bot prefix (#2122)
* Add config for discord bot prefix (#55400)

This allows you to set this in config, save having to hardcode it

I also fixed a mistake where only one message was changed in the
messaging from the account linking system

* Add config for discord bot prefix

Co-authored-by: oranges <email@oranges.net.nz>
2020-12-11 00:26:25 +00:00
Gandalf
7ee24f06bd Gamma Alert [SEMI-MODULAR] (#2029)
* aaah

* a
2020-12-03 21:39:49 +01:00
SkyratBot
c487c73f39 [MIRROR] Grep for space indentation (#1969)
* Grep for space indentation

* aa

* Update species.dm

* Update species.dm

* Update maps.dm

* Update examine.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-12-01 12:26:41 +01:00
SkyratBot
67a9fd3a45 [MIRROR] Remove the hyphen from the default value of the github url string (no longer -tg-station) (#1858)
* Remove the hyphen from the default value of the github url string (no longer -tg-station) (#55136)

* Remove the hyphen from the default value of the github url string (no longer -tg-station)

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-11-26 23:18:34 +00:00
Gandalf
6ef0e46849 Server tagline [SEMI-MODULAR] (#1835)
* aaaaaaa

* Update world.dm

* aaa

* Update config.txt
2020-11-25 15:32:14 -06:00
uomo
6912895247 Fixes and cleanup for logging. (#1735)
* Fixes and a little cleanup.

* False by default.

* Apply suggestions from code review

Co-authored-by: Azarak <azarak10@gmail.com>

* Modularization and comments.

* #include

Co-authored-by: Azarak <azarak10@gmail.com>
2020-11-23 20:27:59 +01:00
SkyratBot
af3fdb588d [MIRROR] Fix erroneous logging of config errors for str_list configuration type (#1645)
* Fix erroneous logging of config errors for str_list configuration type (#54676)

Fixed issue brought up by @ Cyberboss wherein the new ``str_list`` config type doesn't properly return true after setting the values and as a result has an erroneous error pop up in the config error log.

* Fix erroneous logging of config errors for str_list configuration type

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-11-09 20:14:08 +00:00
SkyratBot
91773c46da [MIRROR] Interview System / Soft Panic Bunker (#1458)
* Interview System / Soft Panic Bunker

* a

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-26 08:32:37 +01:00
SkyratBot
6e08e3cd8d [MIRROR] Adds a living time config to the panic bunker (#1289)
* 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>

* Adds a living time config to the panic bunker

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2020-10-13 23:04:07 +02:00
SkyratBot
c1dccf5870 [MIRROR] Adds Cross-Server Communication Network Option (PAID* CODE) (#1096)
* Adds Cross-Server Communication Network Option (PAID* CODE) (#54070)

* Adds Cross-Server Communication Network Option (PAID* CODE)

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-10-01 12:25:58 +02:00
SkyratBot
41788d096e [MIRROR] Overhauls discord verification system (#588)
* 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>
2020-09-02 02:47:22 +02:00
SkyratBot
c4c9dfabf6 [MIRROR] Fix various issues with browser statpanel (#580)
* Fix various issues with browser statpanel

* a

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-02 02:42:40 +02:00
SkyratBot
d9b246cca9 [MIRROR] tgchat (#342)
* tgchat (#52426)

Replaces goonchat with a tgui based chat panel

    Fixes #52898
    Fixes #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>
2020-08-14 23:30:16 +02:00