Commit Graph

188 Commits

Author SHA1 Message Date
Mothblocks
e2b929974e Remove a bunch of old gamemode code (#59067)
* Beep beep gamemode removal coming through

* More cleaning

* More cleaning

* Clean up station_was_nuked

* Station nuke source

* Remove name

* More unused functions

* Remove antag rep, which was unused in dynamic

* Remove more antag rep stuff, which was UNUSED IN DYNAMIC

* Station goals outside of mode

* Remove setup_done

* Remove player lists

* Move some older procs

* Fix simulations

* Attempt to fix this stupid case sensitive bullshit

* Revert "Attempt to fix this stupid case sensitive bullshit"

This reverts commit 8693c02d67602543d7d4b92130a7a32cd973e5bf.

* ???

* Delete icons/Testing directory

* Move station_goals global definition
2021-05-29 11:03:41 +02:00
Jonathan Rubenstein
ed666fc56d Reduce default Maint. Drone playtime requirement (#59011) 2021-05-10 15:32:08 -04:00
Y0SH1M4S73R
3bd7a0db6b 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>
2021-04-28 03:23:51 +03:00
Mothblocks
7e4de07506 Remove all gamemodes except Dynamic (#58470)
Removes all /datum/game_mode except dynamic. Eventually, all of mode and game_mode will be removed, and Dynamic will become an ingrained system. Every single other gamemode was unmaintained at best and poisoned other code at worst. Currently all tg servers run 24/7 Dynamic, so the time to act is now.

* Remove gamemode references from age checks

* Monkey

* Remove heretics

* Remove BBs

* Refactor uplinks and remove clown ops

* Remove nuke ops

* Removes and refactors cult

* Remove extended

* Remove and move out meteors

* Removes wizard

* Remove sandbox

* Remove changelings

* Remove traitors

* Remove revs

* Remove gangs

* Remove changing mode and voting for new gamemodes

* get_candidates signature fix

* Summon ERT and NERD in their own panel

* Remove some old unneeded age_check stuff

* Fix old signatures of get_uplink_items

* Use Extended like config for dynamic.json

* Fix discounted gear
2021-04-25 01:55:10 -07:00
Jonathan Rubenstein
456e475da5 Renews Maintenance Drones (#58249)
It's the second try! (First: #48456)

Drones are little robots inspired by Keepers from the Mass Effect games. With laws to maintain both the station, and their distance from the matters of others, they were a great ghost role that let you fix up the station when you were otherwise out of the round. They were in the game for quite a while, but were abused. The abusive players completely ignored the laws and did whatever they wanted. Being tiny ventcrawlers, this became a huge issue for admins.

I attempted to bring them back, this time with some gameplay restrictions to enforce their laws a bit better. It seemed to go well, but I required headmin approval, and this all happened near a headmin election, so the project died.

Recently, some people have wanted to bring drones back. So, they gave me a ring, and I started a discussion with the admin team to see what other changes they would want in addition to the previous ones.

Here are those changes:

    They can't interact at all when close to another being, living or dead
    Their binary chat has been removed to separate them from AI and borgs
    They can only hold a whitelist of items necessary to do their job
    They can only interact with machines necessary to do their job
    The drone satchel is gone, and drones now have built in basic tools
    They also can't interact in some blacklisted high risk areas
    Finally, you must play 40 hours total as a Silicon role in order to play as a drone

Additionally, the drone dispenser is not mapped, and the drones must be researched to be constructed.
Why It's Good For The Game

Drones are a fun way to pass the time, and this time they have a lot less freedom. You can still perform the basic function of maintaining the station, but not without difficulty and tedium. This will allow other station roles to perform much better than the drones, while still letting them chug along at their slower pace.
2021-04-13 13:10:36 +12:00
Timberpoes
9034dab179 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.
2021-04-13 12:24:27 +12:00
Mothblocks
0f435d5dff Remove hideous inline tab indentation, and bans it in contributing guidelines (#56912)
Done using this command sed -Ei 's/(\s*\S+)\s*\t+/\1 /g' code/**/*.dm

We have countless examples in the codebase with this style gone wrong, and defines and such being on hideously different levels of indentation. Fixing this to keep the alignment involves tainting the blames of code your PR doesn't need to be touching at all. And ultimately, it's hideous.

There are some files that this sed makes uglier. I can fix these when they are pointed out, but I believe this is ultimately for the greater good of readability. I'm more concerned with if any strings relied on this.

Hi codeowners!

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-14 16:53:29 -08:00
Ryll Ryll
e6cae4fac5 Improves friendly commendation code (#56453) 2021-02-05 01:42:34 -08:00
LemonInTheDark
dd6cea82d9 Reverts the recent config changes (#56606)
* Revert "Fixes included config files not loading (#56602)"

This reverts commit 0749b322f6.

* Revert "Adds configuration consistency tests (#56562)"

This reverts commit 4f44014e25.
2021-02-02 22:14:47 -05:00
LemonInTheDark
0749b322f6 Fixes included config files not loading (#56602)
Fixes included config files not loading, adds an error to catch future instances, cleans up some code and comments a proc
We were passing a list as a filename, which is never good for file loading
2021-02-02 20:31:17 -05:00
Jordan Brown
4f44014e25 Adds configuration consistency tests (#56562)
Co-authored-by: Mothblocks <35135081+Jared-Fogle@users.noreply.github.com>
2021-02-02 13:22:52 -08:00
Useroth
60591fd3b1 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
2021-01-31 21:13:53 -05:00
TemporalOroboros
11b3d16edb Adds logging to uplinks, spellbooks, and the codex ciatrix (#56450)
* Initial logging

* Bugfix and adds uplink logging to config file

* Another bugfix
2021-01-29 14:34:59 +08:00
dragomagol
f837ce4397 Cyborg modules renamed to models (#56312)
Changes the references of borg module (type) to model, adds a file for robot declarations and one for model declarations. Basically trying to make the code layout a little more sane.

Initially changed them to 'configurations' but I prefer model; its meaning is closer to module than configuration and avoids confusion with actual config.
2021-01-22 21:38:35 +02:00
Jordan Brown
cd22f91ddf 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.
2021-01-10 00:04:58 -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
oranges
574a18d13c 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
2020-12-10 16:03:44 -08: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
9f0640c414 Remove the hyphen from the default value of the github url string (no longer -tg-station) (#55136) 2020-11-26 14:42:54 +00:00
Bobbahbrown
cdd2c10124 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.
2020-11-08 19:51:52 -05: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
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
Bobbahbrown
7b1bed7fc0 Adds Cross-Server Communication Network Option (PAID* CODE) (#54070) 2020-09-30 22:25:54 -07:00
oranges
6c9d88a4cd 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
2020-08-30 18:24:23 -07:00
Tad Hardesty
89b4e01680 Fix various issues with browser statpanel (#53263)
* Keep tab buttons in view when scrolled down
* Unfocus tab buttons after click so scrollbar keeps working
* Fix some subsystem stat entries
* Improve key passthrough
* Fix runtimes from nulls in AI connected_robot list
* Add missing info in MC tab for global/config/etc.
* Fix #53298 by including turf in alt-click menu
2020-08-29 23:51:42 -03:00
Aleksej Komarov
0e1b20e6db 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.
2020-08-14 13:21:40 +12:00
Kyle Spier-Swenson
8df93ba39e [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
2020-08-12 13:51:43 +12:00
ike709
4b529e30cf 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
2020-08-10 08:33:11 +12:00
oranges
9fb883f66d Revert "CentCom Galactic Ban DB (#52519)"
This reverts commit 0f5652bc0b.
2020-07-29 09:11:38 +12:00
ike709
0f5652bc0b 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
2020-07-28 13:11:38 -04: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
ShizCalev
254536072e [s] sanity checks vv_edit_var() values (#52255)
cl ShizCalev
fix: Added some sanity checking for varedit values.
/cl
* sanity checks vv_edit_var() values

* this should be an or

* one more fix
2020-07-16 10:20:41 +12:00
AnturK
9f66ffce9d Cleans up unused config entries. (#51844)
* Removes unused config entries.

* Cleans up default config old entries.

* huh did i change my settings here.
2020-06-26 11:21:40 -04:00
EdgeLordExe
b237791423 HERETICS: Solo Antagonist that grows with power (#51199)
* basic antag items


hey


based


game is on


ree


e


brings back good sprites


eueuuee


eeeeeeeeeeeeeeeeeeee


more


tgui baby


FINALLY


e


Small changes


adds better point s


Finishing touch!


FINISHED

ANTAG FINISHED. FUCKING. FINALLY
grammer


E


E?

* rebuilt tgui

* gamemode fixes

* i love inconsistent var names

* sprootes

* ath review

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* Automatic changelog compile [ci skip]

* a shit ton of changes

* Apply suggestions from code review

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* sprootes

* more changes ree

* Fixes and upgrades

* sprootes done

* dmdoc compliance

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* mewtewnew revieww ~~

* e

* Automatic changelog compile [ci skip]

* e

* Apply suggestions from code review

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

* E

* autodoc

* E

* Apply suggestions from code review

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

* removed Destroy()

* * 0.5

* bugsquash

* e

* changes to ashlord's rite

* e

e

* e?

* the fuck

* adds station wide alerts for ascension events

* fixes an autodoc

* tgui

* e

e

* removes a redundant line of code

* sickly blade is now normal size item

* changes a line of code in flesh

* no revives for ghouls!

* uwu

* Update code/modules/antagonists/eldritch_cult/eldritch_knowledge.dm

Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>

* E

* E2

* Automatic changelog compile [ci skip]

* Makes eldritch cult into HERETICS

* Apply suggestions from code review

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

* E

* unfucks medallions code

* long live list loops

* E

* E

* i love my git crashing

* Magics

* E

* removes TRAIT_GHOUL since it was redundant

* Update code/modules/mob/living/carbon/inventory.dm

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

* Update code/modules/mob/living/carbon/inventory.dm

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

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

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

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

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

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

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

* fixies uwu

* hopefully i fixed all return ..()

* E

* EEEEEEE

* wormie now is refactored

* removes destroy

* Update code/modules/surgery/bodyparts/bodyparts.dm

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

* Automatic changelog compile [ci skip]

* Update code/modules/mob/living/simple_animal/eldritch_demons.dm

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

* Update code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm

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

* Update code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm

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

* E

* E

* Update code/modules/mob/living/simple_animal/eldritch_demons.dm

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

* Update code/modules/antagonists/eldritch_cult/knowledge/rust_lore.dm

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

* Update code/modules/mob/living/simple_animal/eldritch_demons.dm

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

* Update code/modules/mob/living/simple_animal/eldritch_demons.dm

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

* E

* E?

* E

* one more

* k

* OH SHIT OH FUCK

* replaces ROLE_ECULT with ROLE_HERETIC and fixes preferences

* REE

* fleshy fixes

* fixes summonings

* REE

* texture fix

* fixes a stupid fucking runtime that i noticed coz i forgot people can be borged. FUCK

* grammer

* nullrods can now remove runes

* HOLY SHIT, HOTFIX NERF

* E

* E

* TEMPORARY SOLUTION TO MAKE HERETICS SPAWN NATURALLY

* Update code/modules/antagonists/eldritch_cult/eldritch_antag.dm

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

* Update code/modules/antagonists/eldritch_cult/eldritch_book.dm

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

* Update code/modules/antagonists/eldritch_cult/eldritch_effects.dm

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

* Update code/modules/antagonists/eldritch_cult/eldritch_items.dm

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

* SECOND TEMPORARY FIX

* fixes fixes fixes fixes

* i hope this no longer will qdel summons

* E

* please push this asap

* E

* buffs sickly blade to 17 damage and only allowes culties to use it

* Explanations uwu

* examine changes ree

* e

* E

* )

* E

* E

* Ash fix

* changes to mad touch

* replaces e_cult with heretics and fixes protect objective to suceed when someone suicides

* E

* makes worm code use COMSIG_MOVABLE_MOVED

* replaces bad var names

* makes eldritch knowledge an assoc list

* E

* Update code/modules/mob/living/simple_animal/eldritch_demons.dm

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

* what the fuck

* the fuck

* fixies

* EEE

* fixes

* e

* fixes

* mansus grasp slight buff

* changes overall changes

* E

* logging

* changes the eldritch armor into a nicer looking kryson robes

* tgui bundle

* QOL sprites and a spell to contract armsy

* SPRITES

* readds rust floors

* Fixes pointed out by anturk

* E

* E

* E

* Apply suggestions from code review

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

* Cleanup

* Fixes

* E

* EEEEEEEEEEE

* makes heretics a little bit more common

* Update code/modules/antagonists/eldritch_cult/knowledge/flesh_lore.dm

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

* EEE

* eee

* E

* E

* Init

* Makes shit more readable

* h

* e

* E

* wounds compatibility patch

* hnng

* rusty better sprite

* turn

* Apply suggestions from code review

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

* E

* further renames e

* E

* JS side

* changes reee

* e

* E

* yeesh

* e

* E

* pr

* e

* E

* changes re

* AAAAAAAAAAAAAA

* e

* antag huud

* e

* e

* hnnng

* hnng

* HNNNNG final patch - LAST TESTMERGABLE COMMIT

* HNNG NEVERMIND THIS IS THE LAST TESTMERGABLE COMMIT DONT LISTEN TO LIES BELOW

* e

* FINAL PATCH - MERGE READY

Adds defines, buffs blood siphon a bit so it can utilize wounds and replaces ROLE_CULTIST with ROLE_HERETIC

* forgot about a single debug line aaa

* hnnnhng

* hng

* a!

* aaa

* applies code review

* e

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-06-14 18:10:16 +02:00
Jordan Brown
0e158aca43 New configuration option to enable the notify command (#51417)
CHAT_NEW_GAME_NOTIFICATIONS

I can't find the commit that untied the original config to the announcement, but this is how it originally was: db68cd1#diff-d91ba57ba114207ed6985097e129dd9cR137

Whoever did it obviously didn't read the send2irc (now send2chat) doc comment

Closes #51416
2020-06-10 20:10:22 +12:00
Jordie
5a319257fd Remove BSQL_DEBUG config option (#51508)
Leftover code does nothing now.
2020-06-09 17:07:07 -07:00
Ryll Ryll
753af7bda5 Adds friendly commendations (#51217)
* with message

* remove message, neaten up
2020-05-25 01:49:12 +08:00
Whoneedspacee
8af93a638b Icebox Station (#51090)
* there was an attempt

* adds ice moon map

adds config options for choosing mining maps

areas now have options that affect random generation on them

weather now has an option to not target indoor areas

adds base for icemoon ruins

turns many 1's into booleans

adds ice chasms

adds ztraits for weather stuff

* fixes up ice ruins to be ice moon compatible

adds lower z level to the ice moon mine

ice chasms now have a smoothed icon

megafauna only spawn in the underground portion of ice moon now

* openspace fixes

* adds new areas and underground specific ruins

* Adds the abandoned village ruin for Ice Moon

* adds abandoned village ruin and fixes some area and tile stuff to work with ice moon

* random mining maps are no longer picked in the config

you can no longer change the mining map before setup is complete

* adds above and below ground ruin as a test

* adds debug functionality for ice moon ruins

fixes a bug where multiz was impossible unless there were shared areas because of whitelisted areas

adds multiple whitelist areas for ruin placement in a list

all underground areas are now outdoors

underground plasma lava rivers are now only spawned in unexplored areas so ruins don't get destroyed by them

* adds unique spawners to icemoon to replace tendrils

adds 2 new mobs to icemoon the polar bear and wolf

adds a clothing flag for shoes that dont slip on ice

modifies mining site to be ready except for the boss

adds the ability for tunnel width to be a specification, ice moon can have 1 tile wide tunnels and rarely 2 wide tunnels

adds a no caves mineral for ice moon ruins

* wolves no longer run into lava or chasms

bears now enrage sooner

bear spawners can now actually be created

adds base for ice moon atmospherics

adds base for a new boss and achievements / score

really bad coder icon for ice boots added

* ice moon now has it's own planetary atmos! (thank god)

* new frost miner stuff

megafauna recovery time can now be tailored to have different cooldowns to ranged or melee attacks
by default sets both of them, with two arguments the first is ranged cooldown and the second is melee cooldown

* converts a bunch of lavaland maps to be compatible with ice moon

adds tendrils from lavaland to the bottom of ice moon with the other megafauna

* updates mob drops for ice moon mobs

updates config entry default value for ice moon

updates ice moon map to have new gulag

* updates station parallax for icemoon

removes extra lavaland ported ruins

updates to demonic frost miner

adds ladder to icemoon map near station

* updates ice moon map to have the ladder inside the mining base

plant flora dont spawn on the lower z level of ice moon now

you get sand from mining rocks now

buncha demonic frost miner changes holy cow

* adds the buried library

* improves map, fixes comment

* make this crap work with the station cause i have to lol it is pretty cool though and now i understand the mapping crap better

* updates ice ruin blacklist

* ice moon stop being too cold thanks

icebox changes, now actually has its own z level that can spawn ruins and such instead of just being openspace

tunnel width is now not stupid

* fixes a demonic frost miner bug where orbs werent exploding after death

atmosphere temp is now correct

fixes library ruin for icemoon

polar bear range is now fixed, only aggros in a short range and follows further than 3 tiles

reverts necropolis chest change

* Adds a new ruin: bathouse, barebones edition

* adds many new ruins

fixes a bug with tunnel creation that caused it to enter no tunnel allowed areas

finishes the frost miner and adds loot to him

you can now force a wabbajack option

* main z level now always has gravity for ice box

* hopefully the hot springs arent the buggiest thing in the world anymore

protects areas near the station from having openspace

* icebox takes less players

fixes the ladder positioning on every icemoon map

* snowstorms now only occur on the station level

fixes some issues with the icebox z level having openspace over the lower level mining base

* Update code/datums/map_config.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/datums/ruins/lavaland.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/objects/structures/lavaland/necropolis_tendril.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/turfs/closed/minerals.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/turfs/open/chasm.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/game/turfs/open/floor/plating/asteroid.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/megafauna/megafauna.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/mining_mobs/polarbear.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/mob/living/simple_animal/hostile/mining_mobs/wolf.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* Update code/modules/ruins/icemoonruin_code/hotsprings.dm

Co-Authored-By: spookydonut <github@spooksoftware.com>

* fixes areas on the lust ruin

polar bears now drop a goliath plate equivalent

wolfs now drop a watcher sinew equivalent

adds snow legions

adds a crusher trophy for the demonic frost miner that prevents movement

fixes a bug with asteroid mobs where the aggro icon would never show

adds ice to the snow cave tunnel generation

* starts work on the wendigo megafauna

* replaces snowball machine gun with more miner useful content

adds gentle var for knockback to prevent stunning on hit

polar bears move slower now

new icon for phase 2 demonic miner now

* fixes lust ruin areas

fixes whitespace

fixes nesting issues

adds underground specific mobs

* name / location fixes

demonic frost miner doesnt stun on knockback now

ice demons move faster

* fixes icebox having the wrong baseturf

* adds achievement defines to the wendigo

snowstorm for the lower z level again

adds a new helper for ranged target turfs

theres now a specific subtype for rivers

fixes a bug where ice and spawners spawned with rocks and other flora on top of them

adds indestructible ice rock turf

fixes a bug with ice demons teleport distance being incorrect

adds the start of wendigos attacks

* Apply suggestions from code review

Co-Authored-By: Rohesie <rohesie@gmail.com>

* Update code/modules/mapping/ruins.dm

Co-Authored-By: Rohesie <rohesie@gmail.com>

* Fixes a dumb bug with ruins from a webedit review

The syndicate shuttle can now land on mineral turfs

* the final commit, all that im going to change after this is documentation for procs lol

makes both ice moon z levels below the station underground, and makes it so they generate rivers of their baseturf

* adds nice animation to wendigo scream

* small fixes

* finishes autodoccing everything i could find

* ok im done for real now

* adds anywhere ruins

does review stuff

* review stuff

* ok it removes the stuff now

* fix removal

* fixes from the git

* adds surroundings to the asteroid and lavaland sites

adds butchering gloves to wrath ruins

the lower icebox levels are no longer station levels

fixes capitals on blood drunk and frost miner boss medals

adds engineering outpost ruin by trollbreeder

adds boxstation job changes to icebox

polar bear transformation no longer has immunity to lavaland mobs

fixes ice whelp spelling mistake

* fixes engi outpost atmospherics

fixes missing plating on solar panels

changes slowdown for icemoon turfs

* fixes ruins areas so tunnels can spawn into some of them

adds lights to icebox below area

openspace turfs mine the thing below them now

* fixes wall boundings on asteroid and lavaland domes

* ur lame armhulen

* adds public mining area to icebox

adds computer vendors to icebox

* minor fixes

* fixes map type error

* removes slowdown entirely

increases ore chances

fixes openspace on main map

fixes a ton of active turfs at roundstart

modifies demonic frost miner loot to be cooler and more useful since the boss was hardly killed during tests

tunnels are wider underground now

openspace now deletes itself if it spawns above a ruin

* improve da ruins

* tries to fix multiple atmos issues with ruins

removes bz from the planetary atmos since it could cause unstoppable chain reactions which would cause massive lag

demonic frost miner drill now automatically scans everywhere around you

fixes tunnel generation issue

makes it so randomly generated turfs inherit their no_ruins flags

Co-authored-by: Jonathan Church <jchurch093@gmail.com>
Co-authored-by: s <wesoda24@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-05-22 02:17:15 -07:00
Rob Bailey
ec332a96e9 demos config (#50615)
* demos config

* safety

* functional

* cut lists on init
2020-04-24 16:31:52 +12:00
ArcaneMusic
b20683b1e0 Merge remote-tracking branch 'upstream/master' into cashlogging 2020-04-21 21:02:38 -04:00
ArcaneMusic
0e2dfb6cc3 I think this is the thing for public logging? 2020-04-21 20:28:38 -04:00
Ryll Ryll
ad3a5bc6a5 Add auto-deadmin timegate option + pref for admins to ignore cult ghost summon (#50460)
About The Pull Request

1 config change and 1 preference change:

    Adds a config option AUTO_DEADMIN_TIMEGATE that, when defined, only enforces config force-deadmins for all roles/sec/command/silicon/antag for the first X seconds in the round. After this time expires, the game will defer to the individual's deadmin settings.
    Adds a preference for admins to ignore being summoned by cult ghosts, starts disabled by default. Nice for when you're sitting around observing a cultist and don't want to be bugged by them suddenly summoning you!

I'm not 100% with dealing with prefs and configs but stock settings preserve previous functionality and must be manually enabled to have effect. Please look it over and offer advice if changes are needed!
Why It's Good For The Game

I don't like the auto-deadmin config option being on in the first place since it's annoying to get deadmin'd when I'm testing antag stuff, but I spoke to @Twaticus who indicated they like having it for roundstart, but agreed it was annoying when trying to test stuff later in the round. This is a simple compromise that lets config-controllers still force people to deadmin at the starts of shifts where most of the proscribed roles are assigned, while not bothering other admins who make themselves a blob at the thunderdome an hour in to test something.
As for the cult ghosts, I hate suddenly getting summoned as a cult ghost while I'm adminning, but other people like being able to be summoned while currently admin'd, so pref time.
Changelog

🆑 Ryll/Shaps
config: Added AUTO_DEADMIN_TIMEGATE which allows config force deadmin settings to only apply for the first X seconds in a round. Starts disabled
admin: New preference to ignore being summoned as a cult ghost while admin'd, starts disabled
/🆑
2020-04-19 21:42:41 +12:00
Kyle Spier-Swenson
b2872fa6bc Hubstuff (#50422)
cl Qustinnus
add: Hub visibility can now automatically turn on/off based on population (config-based)
/cl

did this for the headmins
2020-04-07 16:14:12 +12:00
Bobbahbrown
fdcbc8cd83 Adds Configurable Living Time Requirement to Discord Auto Enrollment (#50052)
About The Pull Request

As requested by oranges this enforces a requirement, when configured, that a player must have a certain amount of living playtime in hours to auto-enroll into a discord role.
Why It's Good For The Game

Removes discord moderation requirement
Changelog

cl bobbahbrown
server: Discord role auto enrollment can now be configured to require a certain number of living hours.
/cl
2020-03-20 21:09:16 +13:00
kevinz000
df38abf7a1 Merge branch 'master' into movespeed_modifiers_take_two 2020-02-21 01:38:09 -07:00
spookydonut
6401ba5708 Merge pull request #49421 from ShizCalev/define-cleanup
Cleans up redundant math defines
2020-02-20 19:32:36 +08:00
AffectedArc07
0315245729 Adds in discord auto-roling (#49374)
About The Pull Request

When a user successfully links their BYOND accounts and discord accounts, they will now be automatically roled, based on config settings.

NOTE: This does not update pre-linked accounts, but I can write an external bot to do that if needed

RUST-G has also been updated in this PR, to be inline with this PR over at RUST-G tgstation/rust-g#23

Why It's Good For The Game

People with linked accounts can now be given a specific role in the discord, which is good for verification.
Changelog

🆑 AffectedArc07
add: Linking your discord and BYOND accounts will now give you a role in the discord
/🆑
2020-02-20 22:37:14 +13:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
kevinz000
256d20cde0 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-02-17 05:50:27 -07:00
Fikou
730dc2d261 makes the nuke op leader getting the war declaration a config (#49279)
* the war declarator is now a config

* makes war ops a config

* makes war ops a config

* update 1

Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>

* update 2

Co-Authored-By: Jordan Brown <Cyberboss@users.noreply.github.com>

* update 3

* ehh??

* grognak

* yes this works

* yeah ok togopal

* fuck

* heck

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
2020-02-13 21:08:26 -05:00