Commit Graph

955 Commits

Author SHA1 Message Date
Useroth
6b01fe9df6 Added a Combat Indicator config setting (#3326) 2021-02-12 17:41:29 +00:00
BluBerry016
c3570d7168 [Semi-Modular] Adds Shipstation, an entire station... on a shuttle. (#2680)
* Adds Shipstation

* Whoops, haven't ported the turnstile module in yet

* Update maps.txt

* SHIPSTATION OVERHAUL BABYYYY

Updates shipstation to (most) of Kath's suggestions, adds a dedicated shuttle pilot job and completely overhauls the map itself.

* Shuttle Pilot  Landmark

* Air Supply

* Scrubber Pipes

* Scrubber Pipes 2

* Digi Fix

* card.dmi fix

* Update tgstation.dme

* a

* Update tgstation.dme

* card.dmi

* HOP Office Beutification

Sec next

* sec overhaul compliance

* Update station_ship.dmm

* area / iron repath

Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-02-12 14:34:26 +00:00
BluBerry016
0b40512064 [Semi-Modular] Cybersun Overhaul (#2888)
* Create forgottenship_skyrat.dmm

* Cybersun Overhaul

* Whoops

* Add pipe dispenser and porta-pump as per Kath's suggestions

* Config fix

* Update space.dm

* Updates per Kath's requests
2021-02-12 14:22:47 +00:00
KathrinBailey
045645bbb0 Adjusts job slots for Prisoner, AI, Cyborgs & Adds latejoin Prisoner spawns (#3234)
* Adjusts miner and prisoner slots

* Update landmarks.dm

* Oh yeah, borg slots.
2021-02-09 11:46:40 +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
Gandalf
db677186eb Lopland Security and Armadyne Weaponry rework [Security Medic and Sergeant] [RFT] (#2860)
* REMOVE BATONG

* Stage 2 emitters

* aaa

* aaaa

* Climb up and start the rotors

* the DOORS MASON

* Stage 3 emitters

* a

* a

* Update belt.dm

* aaaa

* more clothes

* update, wintercoat!

* Update wardrobes.dm

* Update wardrobes.dm

* test

* Better

* STAGE-4 BOIS

* No wait, it's stage 5

* aaa

* gunsets and tokens!

* hot backend stuff

* Fixes

* aaa

* QUICKDRAW!

* The smartgun

* a

* a

* a

* Map changes

* a

* Merge branch 'master' into thesecining

* Merge branch 'master' into thesecining

* PHASE 6 LADS, IT'S DONE!

* Merge branch 'master' into thesecining

* smartgun delay

* New HUD and ID cards + EMP protection system

* Create readme.md

* flashlight

* clof

* Update master.dm

* 6.5

* armadyne

* SECURITY SERGEANT AND MANY TWEAKS

* Update security.dm

* a

* Update jobs.txt

* Update security_sergeant.dm

* Report to!

* Update guns.dm

* Merge branch 'master' into thesecining

* redesign

* Update MetaStation_skyrat.dmm

* Update KiloStation_skyrat.dmm

* Update decals.dm

* It's nearly done lads.

* corpo

* a

* Update ammo.dm

* a

* Update bullets.dm

* fuxes

* Update shields.dm

* a

* Update guns.dm

* Bullet drive + fixes

* Update gunsets.dm

* Update bulletdrive.dmi

* Update hud.dmi

* fix

* fs

* a

* .

* Update bullets.dm

* aaa

* Update bullets.dm

* Update tgstation.dme

* bulletbot

* Update bulletbot.dm

* a

* oops

* fixes

* aaaa

* Update vending.dmi

* a

* seclock

* aaa

* a

* a

* a

* Update ammoboxes.dmi

* fixesa

* a

* Update guns.dm

* a

* Update guns.dm

* Peacekeeper hardsuit

* a

* a

* aaa

* Update peacekeeper_clothing.dm

* couple fixes

* Merge branch 'master' into thesecining

* hitscan laser gun

* a

* Merge branch 'master' into thesecining

* a

* a
2021-02-04 16:38:48 +00:00
SkyratBot
528c8b4659 [MIRROR] Dynamic 2021 (#3070)
* Dynamic 2021 (#56221)

About The Pull Request

Dynamic 2021, among much other things, splits the threat level into two separate budgets, one for round start and one for midround/latejoin. You can read the design doc, plus methodology and charts here: https://hackmd.io/@ tgstation/S1C4dYJkO.

To server owners: this is incompatible with current dynamic.json configurations. This is not just because some fields have different values now, but because the older values are not balanced towards this system.

Inidividual list of changes (as I remember them):

    Threat level is now split into two separate budgets, one for round start and one for midround/latejoin.
    In TESTING, you can now run dynamic simulations to see the roundstart picks.
    antag_cap is now based on an equation rather than a fixed list of antags per indice--the old system is not scalable. You can now pass it either a number for a fixed constant, or a list with "denominator" and an optional "offset" to fit the equation ceil(x / denominator) + offset, with x being population.
    Midround/latejoin timers are now vars on /datum/game_mode/dynamic itself, and thus can be configured by head admins per server.
    Removes some older, as far as I can tell completely unused admin tools relating to dynamic.
    autotraitor_cooldown is now properly respected from config, and is based on an exact time rather than on ticks (450 used to be 15 minutes, now it's just 15 MINUTES).
    The rulesets dynamic chooses are now in a dynamic.json file in round logs. Relies on tgstation/tgstation13.org#64 to be public.
    Adds more logging to the autotraitor ruleset for admins.
    Midround/latejoin chance modifiers are now configurable.

Labelled "Do Not Merge", as the design doc outlines the specific playtesting schedule I would like to perform.

    Note to self: Remove the custom MOTD before merge.

Why It's Good For The Game

(Copied from design doc)

Dynamic currently dumps as much threat as it can into round start threats. This means that rounds at ~50 threat can have an absurd amount of antagonists round start, while leaving very little threat for midround/latejoin antagonists. What inevitably happens is just one of those picked decides to murderbone, leading to the inevitable 20 minute shuttle call. Furthermore, once those antagonists are dead, Dynamic doesn’t have any threat left to spend on new antagonists that keep the round flowing, promoting the mentality of “antags dead, I’m bored, let’s leave”.

The proposed solution of Dynamic 2021 is to split threat level into two separate budgets, one for round start and one for midround/latejoin. This split, like threat level, will also be done on a lorentz curve–meaning that while most rounds will have them evenly split, there is still the possibility of chaotic high antagonist round start rounds, or the possibility of a midround onslaught.

* Dynamic 2021

Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-04 16:08:32 +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
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
Gandalf
adfe2f099b DS-1 Assault Group + Skyrat Modular Map System [READY FOR TESTING, MODULAR] (#2317)
* START

* aaaaa

* Update assaultops.dm

* aaa

* Logic Systematic Sense

* Logic v2

* Update assaultops.dm

* Update assaultops.dm

* Update assaultops.dm

* Updates.

* Update assaultops.dm

* a

* Update radial.dmi

* Docs

* Update assaultops.dm

* Update one_click_antag.dm

* shuttle!

* Update syndicate_cruiser.dmm

* Update syndicate_cruiser.dmm

* aaaa

* Update shuttle.dm

* Update syndicate_cruiser.dmm

* aaa

* SMMS+Centcom

* Shuttles now get decals!

* Update to shuttle, centcom level!

* Update CentCom_Skyrat.dmm

* New objectives+win conditions

* a

* Merge branch 'master' into assaultops

* system updates + prison area

* Desc fix

* Delete assaultops_dynamic.dm

* a

* Update assaultops.dm

* Make Ass Team

* Update assaultops.dm

* fixes

* Update syndicate_cruiser.dmm

* watch!

* Update assaultops.dm

* Merge branch 'master' into assaultops

* super datumized

* aaaa

* nothing to see here

* Massive map changes.

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update syndicate_cruiser.dmm

* Merge branch 'master' into assaultops

* Merge branch 'master' into assaultops

* aaaa

* Update large_doors.dm

* aaa

* Update assaultops_gamemode.dm

* Update assaultops_datum.dm

* aa

* spawners!

* aaa

* Update assaultops_outfits.dm

* Update assaultops_spawners.dm

* Update assaultops_spawners.dm

* Update assaultops_spawners.dm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* a

* Base alarm!

* Update base_alarm.dm

* a

* aa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* aaa

* Update areas.dm

* aaaa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* WOOO MORE SHIT!

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* aa

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* Update syndicate_frigate.dmm

* a

* Update CentCom_Skyrat.dmm

* Assault Ops Card Stuff (#2803)

* Automatic changelog generation for PR #2803 [ci skip]

* Assault Ops Map Tweaks (#2861)

* Update CentCom_Skyrat.dmm

* Update syndicate_frigate.dmm

* Update CentCom_Skyrat.dmm

* Update CentCom_Skyrat.dmm

* modularmaps

* duisables mining

* Removes the gosh darn Orbital Mech Pad (#2917)

Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com>
Co-authored-by: SkyratBot <59378654+SkyratBot@users.noreply.github.com>
2021-01-30 00:32:04 +01: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
BluBerry016
881723868e Syndicate Lavaland Rework (#2252)
* Syndie Bases

* Fixes tradeship windows

* Update icemoon_underground_syndicate_base1_skyrat.dmm

* Removes Mirror / Fixes Icemoon Areas Again

* Moves to mapping module

* whoops, fixes config quickly.

* Update code/datums/ruins/lavaland.dm

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

* Update code/datums/ruins/lavaland.dm

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

* Update code/game/area/areas/ruins/lavaland.dm

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

* Monkey FEEX

Co-authored-by: Azarak <azarak10@gmail.com>
2021-01-12 04:31:02 +00: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
SkyratBot
2dd962a799 [MIRROR] Bring back Kilostation v3.0 (#2107)
* Bring back Kilostation v3.0 (#54588)

This replaces Pubbystation with Kilostation. Kilostation was originally created by Okand, you can read about it [here](https://tgstation13.org/phpBB/viewtopic.php?f=11&t=22551). Kilo has been out of rotation for quite a while, as it was causing out of memory crashes for reasons no one could find. This was recently fixed in #54245 through the effort of quite a few people. Paxilmaniac brought the map back, I've gone through and done the necessary cleanup. Things that were identified from the test merges (including the SM), or I've found elsewhere should now be fixed. All the varedited atmos mixes should be gone, though there may be a few oddly edited icons remaining.

* Bring back Kilostation v3.0

Co-authored-by: Maurukas <66576896+Maurukas@users.noreply.github.com>
2020-12-10 12:33:29 +00:00
Azarak
53a538b92f Modular wiki, corporate regulations in spacelaw book (#2101)
* aaa

* Update code/game/objects/items/manuals.dm
2020-12-10 06:32:23 +01:00
Gandalf
7ee24f06bd Gamma Alert [SEMI-MODULAR] (#2029)
* aaah

* a
2020-12-03 21:39:49 +01:00
Azarak
f0551d4c4d a (#1968) 2020-11-30 18:44:16 +00:00
Azarak
491d9f48a2 aaa (#1910) 2020-11-28 17:18:33 +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
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
Azarak
7b455ad45a [READY] [SEMI-MODULAR] Ports the mentor system. (#1209)
* Mentor system

* weh

* Update mentorsay.dm

* weh

* weh
2020-10-19 19:10:34 +01:00
Azarak
0a3ea7114e zzz (#1325) 2020-10-15 22:06:05 +01:00
Gandalf
24656d9263 Jukebox changes [SEMI-MODULAR] (#902)
* Jukebox time

* Update README.txt

* removes cancer earrape

* better sprites

* ico

* Updates to sprite, makes it nice and light

* updoot

* Update dance_machine.dm

* Update tgstation.dme

* Update readme.md

* Update dance_machine.dm

* Update tgstation.dme

Co-authored-by: Azarak <azarak10@gmail.com>
2020-10-15 02:43:24 +02: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
Azarak
61854773af [SEMI-MODULAR] Adds missing alerts and various alert features (#1238)
* alertz

* Create readme.md
2020-10-11 05:47:36 +01:00
Azarak
a7cb5eb7ee weh 2020-10-10 03:42:07 +02:00
Azarak
a17fcc90d4 Adds 5 lore friendly species, and humanoids. (#1161)
* tajarans and vulpkanins

* moaaar

* bweh

* namess
2020-10-06 02:54:58 +01:00
SkyratBot
c4e85d51ae [MIRROR] Completely FIX Hilbert's Hotel and its associated ruin to the game. (#1111)
* Completely FIX Hilbert's Hotel and its associated ruin to the game. (#53830)

Reverts the removal in #53790.
Broken in #53586.

Because turfNumber++ must be incremented on turf, not on every ATOM it
EVERY TURF, and anyway it don't trigger since first turfs don't have
atoms in it.

Fix #53794, Hilbert's Hotel peephole runtime.
Fix #53795, hhmysteryRoomNumber generates only once.

* Completely FIX Hilbert's Hotel and its associated ruin to the game.

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-10-02 14:56:57 +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
7332b271cf [MIRROR] Removes removed config setting from sample config (#1088)
* Removes removed config setting from sample config (#54080)

* Removes removed config setting from sample config

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-09-30 22:49:30 +02:00
SkyratBot
7979f4d1b0 [MIRROR] Fully removes devil and affiliated shitcode (#922)
* Fully removes devil and affiliated shitcode (#53612)

Its all over the place, messy, and overall a bad enough gamemode to be removed from rotation.
A rework would have to tear out everything as is so there is no reason to allow the shitcode to live beyond tripping up everything.

* Fully removes devil and affiliated shitcode

* weh

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 10:00:29 +01:00
Azarak
068c461c4f [READY] [MODULAR] Adds support for general donator group, +goodies for loadout (#916)
* weh

* donator pointz
2020-09-22 22:29:53 +01:00
SkyratBot
3eb4b68b60 [MIRROR] Completely removes Hilbert's Hotel and its associated ruin from the game. (#881)
* Completely removes Hilbert's Hotel and its associated ruin from the game. (#53790)

The Hotel is a runtime machine. When it swaps rooms, its turfs runtime. When people are actively using it, things in it constantly runtime. It's half broken, half buggy. Turfs don't remember contents. Sometimes blank rooms spawn. Sometimes nothing at all.

It's not worth the time and effort to fix or maintain it.

I'm opening this PR to completely remove it.

* Completely removes Hilbert's Hotel and its associated ruin from the game.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-20 00:36:15 +01:00
Azarak
2aed129615 Revert "Adds different random title screens! (I'm bored) (#841)" (#868)
This reverts commit a0694b7308.
2020-09-18 15:00:07 +01:00
Gandalf
a0694b7308 Adds different random title screens! (I'm bored) (#841) 2020-09-18 00:59:12 +01:00
Azarak
fb6720c7f9 [SEMI-MODULAR] Customization (#675)
* 1

* a

* aaa

* aa

* aint got no pancake mix

* hhh

* aa

* hhh

* taurssss

* aaa

* organ partss

* genitals wip

* aaaaa

* h

* a

* mutation dna

* fixed limbs rendering

* mammols

* and thats wings and snouts

* a

* markings except they dont render yet oooooh

* woo lots of markingas

* Body marking sets!

* loadout part 1

* marking re-write. part 1 of loadout

* Loadouts, fully functional, but no customization

* Loadouts readyy

* Default features + savefiles

* Examines

* Fixes genital visibility

* Fixes husking colors

* Fixes very custom loadouts

* Fixed organ colors and bepis icon states

* Fixes genitals save/load

* Species part 1

* Just markings

* Voxes!

* Vox fixes, more validation, better randomisation

* markings refactor, languages

* Some fixes

* Missing accessories, some fixes

* Fixes, underwear toggles, examine for kinky bits

* updates code to master

* travis travis travis

* does this help???

* traaaavis

* Update species.dm

* Inches

* missing whitelines

* small fix

* more small fixes

* Preview preference bug fix

* commentomodularization

* Update tails.dm

* hoo boy

* Update preferences_savefile.dm

* Update species.dm

* Lizard fix!

* Update sprite_accessories.dm

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/human_update_icons.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/species.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-09-16 03:40:00 +02:00
Azarak
891f08281c widescreen (#796) 2020-09-15 00:23:50 +01:00
SkyratBot
b24040d593 [MIRROR] Make repository config default to HUMANS_NEED_SURNAMES (#692)
* Make repository config default to HUMANS_NEED_SURNAMES (#53465)

* Make repository config default to HUMANS_NEED_SURNAMES

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-09 08:11:42 +02:00
SkyratBot
dd49a70aa3 [MIRROR] Add warning about https to the external rsc config. (#631)
* Add warning about https to the external rsc config (#53367)

today in hostchat we discovered that most of the servers who tried to 
do cdn the .rsc, had unknown issues because they had used https:// 
urls. Byond can't into https.

like 5 servers had failed to get this to work because of that pitfall, 
so im gonna add a warning to the config.

* Add warning about https to the external rsc config.

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-09-04 00:12:11 +01:00
SkyratBot
6fe43c533f [MIRROR] Fix documentation about TGS channel tagging (#629)
* Fix documentation about TGS channel tagging (#53387)

* Fix documentation about TGS channel tagging

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-09-04 00:11:32 +01: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
SkyratBot
e8bfe6eb68 [MIRROR] [Ready] CDN browser assets! (#312)
* [Ready] CDN browser assets! (#52681)

Rewrites the asset_cache system to handle sending assets to a CDN via a webroot.

see https://github.com/MrStonedOne/tgstation/blob/asset-cdn/code/modules/asset_cache/readme.md

Fixed a lot of bugs with assets, removed some dead code.

Changes:
    Moved asset cache code to transport datums, the currently loaded one is located at SSassets.transport, asset cache calls made before the config is loaded use the simple browse_rsc transport.
    Added subsystem call for when the config loads or reloads.
    Added a webroot CDN asset transport. assets are saved to a file in a format based on the file's hash (currently md5).
    Assets that don't use get_asset_url or get_url_mappings (such as browser assets referred to by static html files like changelog.html or static css files) can be saved to browse_rsc even when in cdn asset mode by setting legacy to TRUE on the datum returned by register_assets
    Added a system for saving assets on a cdn in a hash based namespace (folder), assets within the same namespace will always be able to refer to each other by relative names. (used to allow cdn'ing font awesome without having to make something that regenerates it's css files.).
    The simple/namespaced asset cache datum helper will handle generating a namespace composed of the combined md5 of everything in the same datum, as well as registering them properly.
    Moved external resource from a snowflake loaded file to a config entry, added it to resources.txt
    To ensure the system breaks in local testing in any situation that wouldn't work in cdn mode, the simple transport will mutate the filenames of non-legacy and non-namespaced assets and return this with get_asset_url.
    Simple transport's passive send of all roundstart assets to all clients is now a config that defaults to off. this is to break race conditions during local testings from devs accidentally relying on this instead of using send() properly.

cl
refactor: Interface assets (js/css/images) can now be managed using an external webserver instead of byond's one at a time file transfer queue.
admin: Adds admin verb toggle-cdn that allows admins to disable the external webserver asset transport and revert to the old system. Useful if the webserver backing this goes down (thanks cloudflare).
config: New config file, resources.txt, (must be loaded by an $include statement from the main config)
server: The external_rsc_urls.txt config has been moved to the main config system.
/cl
Porting notes:

Interface webpages must refer to their assets (css/js/image/etc) by a generated url, or the asset must register itself as a legacy asset. The system is designed to break in localtest (on simple/legacy mode) in most situations that would break in cdn mode.

Requires latest tgui.

The webserver must set the proper CORS headers for font files or font awesome (and other fonts) won't load.

/tg/'s webserver config: https://gist.github.com/MrStonedOne/523388b2f161af832292d98a8aad0eae

* [Ready] CDN browser assets!

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-08-12 11:32:37 +01:00
SkyratBot
46953e4d46 [MIRROR] CentCom Galactic Ban DB: Bigger and Better Edition (#247)
* CentCom Galactic Ban DB: Bigger and Better Edition (#52588)

Admins will now be able to look up a player's bans from several other servers via the player panel.

My hope is that porting this to as many servers as possible will encourage more servers to make their bans publicly viewable so they can be included in this system. Direct access to a server's database is not required (or even supported).

Supported servers:

    BeeStation
    /vg/station
    OracleStation
    FTL13
    Fulpstation
    TGMC

Planned support (WIP):

    World Server
    Yogstation
    Halo: SSE
    Any other server willing to make their bans publicly visible.

API: https://centcom.melonmesa.com
Source: https://github.com/bobbahbrown/CentCom
Changelog

cl ike709 and bobbahbrown
add: Admins can now see your bans on (some) other servers.
/cl

* CentCom Galactic Ban DB: Bigger and Better Edition

Co-authored-by: ike709 <ike709@users.noreply.github.com>
2020-08-10 07:49:28 +01:00
SkyratBot
b7e1bd1973 [MIRROR] Revert "CentCom Galactic Ban DB" (#135)
* Merge pull request #52565 from tgstation/revert-52519-centcom

Revert "CentCom Galactic Ban DB"

* Revert "CentCom Galactic Ban DB"

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-07-31 00:29:30 +02:00
SkyratBot
d316e90a3c [MIRROR] CentCom Galactic Ban DB (#109)
* CentCom Galactic Ban DB (#52519)

* CentCom Galactic Ban DB

* Sanitize and config

* Apparently TG has a http_request datum

* Tweaks

* An excellent suggestion

* Turns out BYOND is better at JSON parsing than I thought it was

* Fun fact: 4 out of 5 UIs don't bother to do this

* CentCom Galactic Ban DB

Co-authored-by: ike709 <ike709@users.noreply.github.com>
2020-07-29 01:01:14 +01:00
ShizCalev
daee56e486 Update Discord URL to the new one (#52299)
Replace `discordapp.com` with `discord.com`.
2020-07-19 10:10:36 -07:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00