Commit Graph

146 Commits

Author SHA1 Message Date
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
Neo
a98753b7a7 Removes an unused config (map rotation chance delta ) (#49297)
* fixes map rotation chance

* removes the config part 1

* part 2
2020-02-12 09:24:38 -05:00
Dingo-Dongler
6ea23349c1 Add citation functionality to the SecHud (#49017)
* PUT THE CAN IN THE TRASH

* max fine now a config opiton

* more proper hud check

* mention maxfine at citation, moving return correctly?
2020-02-11 20:25:35 -05:00
kevinz000
e13b3352bf Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-01-24 13:25:09 -07:00
MrPerson
f7eb2c905b Unicode awareness Part 2 -- copytext() (#48512)
* Unicode support Part 2 -- copytext()

This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.

I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````

with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.

This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.

* Makes the code functional

* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.

* Removes ninjaspeak since it's unused
2020-01-18 13:07:22 +13:00
kevinz000
c91e19c442 Merge remote-tracking branch 'tgstation/master' into movespeed_modifiers_take_two 2020-01-11 22:17:04 -08:00
kevinz000
63d54e3e4f PAIN 2020-01-11 22:11:29 -08:00
AnturK
6a62a139a8 Basic auto profiler (#48672)
* Basic auto profiler

* Makes it update periodically in case of crash.

* informative comment.

* Early start & config upgrades.

* Fixup
2020-01-09 19:32:57 -05:00
ArcaneMusic
a6f5cc8499 Alright, fine, we'll stick with 64 for now. Just in case. 2020-01-06 16:44:08 -05:00
ArcaneMusic
cf03da347a Lowers the value to a more manageable 32 maximum mice, fixes config, grammar clarification 2020-01-06 04:15:57 -05:00
ArcaneMusic
cf83c4d081 Global Variable and config option 2020-01-03 22:40:24 -05:00
81Denton
0564d6609f Moves shuttle related logs into a new log file (#48441)
* Logs shuttle computer usage

* Adds a separate shuttle log

* Adds missing logs to INDIVIDUAL_SHOW_ALL_LOG

* no message
2019-12-30 15:56:05 -05:00
spookydonut
4e8ff18b07 Fix Travis grep script to use PCRE to actually match things (#47065)
Several of the greps were missing the `-P` switch which caused them to 
fail to match things. The EOL grep also wasn't working right so I 
replaced it with the one I added to TGMC.
2019-10-19 10:21:05 -07:00
TheChosenEvilOne
92424a4480 remove DYNAMIC_CONFIG_FILE
Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>
2019-08-30 15:38:51 +03:00
TheChosenEvilOne
ab78f63ddf Dynamic configuration file.
Signed-off-by: TheChosenEvilOne <tceo-email@protonmail.com>
2019-08-25 19:22:18 +03:00
AnturK
6c2a6e8d64 Supresses policy file runtime but messages admins about it. 2019-07-07 21:28:21 +02:00
JJRcop
938789d0a7 [READY] Blocked words tell you which ones (#44728)
About The Pull Request

Same premise as #44712 but using a simple regex replace and also on the client side
Closes #44712

I was gonna PR it to #44712 but half way through I realized I had already replaced nearly all of bobbah's changes, and after I was finished the branches shared nothing.
Why It's Good For The Game

The delta is way smaller and simpler
Should solve the DoS concerns without needing a limit on bad chats because it's not a loop it's on the client side
Changelog

cl JJRcop and Bobbahbrown
tweak: When attempting to say a blocked word in character you will be notified which ones were blocked.
/cl
2019-06-29 21:09:56 +12:00
Unknown
62edbcf64f Satisfies the fruit 2019-06-19 19:48:08 -06:00
Unknown
8e65bb63c4 Config 2019-06-19 18:39:34 -06:00
AnturK
69ac935bde Upgrades policy config + policy verb. (#44296)
* Upgrades policy config + policy verb.

* Better example and proper default value.

* hr on top

* Cleanup
2019-06-10 11:51:25 -04:00
TheChosenEvilOne
a66126d7e3 Add map voting (#44244)
- Add map voting
- Rename config option for preferred map weighted map selection
2019-06-04 23:55:14 +02:00
Rob Bailey
0d86efdb52 Widescreen toggle support (doesn't actually enable it) (#43754)
cl
add: Added support for a widescreen toggle, actual widescreen will require a config change.
tweak: Auto-fit view is now the default. This will only apply to new players.
/cl
2019-06-03 11:11:09 +12:00
Whoneedspacee
5b89dea70f [Ready] The Virtual Reality Hub (#42879)
About The Pull Request

VR sleepers now lead to the VR Hub, a place with a bunch of portals that lead you to other areas, or just has chill stuff like a bar. Includes portals to all the old vr maps, the megafauna training simulator map, a soon to be minecraft map, and my crappy game runner where you run away from falling tiles and fight to be the last person to survive. Merges murderdome and syndicate trainer into the vr hub map so they spawn every time with vr. Recall portals now can have multiple exits to support the old vr waypoint system from the hub. Also moves a lot of stuff around in the files to make it more organized. There's now also a ghost role that can access VR as well with infinite spawns.

VR NOW HAS A CONFIG OPTION SO ENABLE IT OR VR WILL NOT WORK.
Why It's Good For The Game

Being a ghost is boring for most people, it's nice to have a place for people to hang out rather than just leave the server. This is also a nice place where people can put gamemodes they're testing or other fun little minigames that can't be main gamemodes. VR currently is not used by really anyone so I don't see anyone getting bothered by this PR as well.
2019-04-22 12:16:11 +12:00
ShizCalev
d1c3ac84ba allows byond members to bypass pop cap (#43458)
* allows byond members to bypass pop cap

* fix

* new line
2019-04-03 10:20:03 -04:00
ShizCalev
192a5333c3 Automatic deadminning (#42780)
* does the thing

* cleanup

* unbroke deadminning

param broke the verb somehow? honk.

* correct prefs

* more robust handling

* corrected return, cleanup
2019-03-23 10:46:35 +01:00
oranges
de70c67639 Merge pull request #43152 from kevinz000/bunker_message
Panic bunker message is now a config.
2019-03-20 22:09:12 +13:00
ShizCalev
2c9b6c4d44 [s] adds logging to cloning 2019-03-18 16:18:02 -04:00
kevinz000
92983243c5 panic bunker message config 2019-03-17 14:41:35 -07:00
Tad Hardesty
55db6f8761 Remove misleading THIS_PROC_TYPE macro 2019-03-06 18:28:42 -08:00
oranges
c9d2b8c5f8 Logging tweaks and fixes (#42817)
* Add a virus log, plus a log for facehuggers

Logs each infect event and contains detailed descriptions of the virus

I also added a log message for printing virus culture bottles including
who printed them

Finally i tacked on a change to adding a game log entry for facehuggers
because why not

* Further logging fixes and updates

Medbots now combat log

combat log no longer tries to run keyname on an object because that
doesn't make much sense

* Dead say no longer logs twice

* tabs to spaces
2019-02-26 21:13:36 +11:00
zxaber
aba756ea58 Adds a max length config option for AI law upload boards. (#42700)
* Adds a length check for freeforms, 250 char cap

* added a define as requested.

* Actually it's better if it applies to all boards

* Now it's better good

Also added a max to the Asimov board that was missing it before.

* Better defined

* Undefining defines

* Config code

* Adding config line

* whoops

* Update AI_modules.dm
2019-02-12 15:18:17 -05:00
nichlas0010
3ec4eb619f [s] disables the Middle Mouse Button exploit (#42594)
* disables the MMB exploit

* Adds a config option to set a minimum build, with the recommended minimum build for 512 users being 1421

* readds the post-block detection, and changes MMB -> Middle Mouse Button

* Makes it the standard, I guess

Co-Authored-By: nichlas0010 <nichlas00100@gmail.com>

* Update client_procs.dm
2019-01-30 11:07:45 -05:00
Carbonhell
449bd89c9e Adds the system discussed in the felinid poll, to allow for people with a felinid character to not be reset to human 2018-12-18 01:20:12 +01:00
Jordie
8a66665e95 Ban system and interface update (#41176)
Spiritual successor and extension to #17798, an almost entire rebuild of the SQL ban system backend and interface.
Bantypes are removed per #8584 and #6174. All bans are now 'role bans', server bans are when a ban's role is server. Admin bans are a column, meaning it's possible to ban admins from jobs.
Bans now have only an expiry datetime, duration is calculated from this when queried.
unbanned column is removed as it's superfluous, checking unban status is now done through checking unban_datetime. unban_round_id column added. Each ip and computerid columns rearranged so ip is always first, like in other tables. Bans now permit a null ckey, ip and computerid.

Ban checking is split into two procs now is_banned_from() does a check if a ckey is banned from one or more roles and returns true or false. This effectively replaces jobban_isbanned() used in simple if() statements. If connected a client's ban cache is checked rather than querying the DB. This makes it possible for a client connected to two or more servers to ignore any bans made on one server until their ban cache is rebuilt on the others. Could be avoided with cross-server calls to update ban caches or just the removal of the ban cache but as is I've done neither since I think it's enough of an edge case to not be worth it.
The second proc is is_banned_from_with_details(), this queries the DB for a role ban on a player's ckey, ip or CID and returns the details. This replaces direct queries in IsBanned.dm and the preferences menu.

The legacy ban system is removed.

The interfaces for banning, unbanning and editing bans have been remade to require less clicking and easier simultaneous operations. The banning and jobban panel are combined. They also store player connection details when opened so a client disconnecting no longer stops a ban being placed.

New banning panel:
Key, IP and CID can all be toggled to allow excluding them from a ban.
Checking Use IP and CID from last connection lets you enter only a ckey and have the DB fill these fields in for you, if possible.
Temporary bans have a drop-menu which lets you select between seconds, minutes, hours, days, weeks, months and years so you don't need to calculate how many minutes a long ban would be. The ban is still converted into minutes on the DB however.
Checking any of the head roles will check both of the boxes for you.
The red role box indicates there is already a ban on that role for this ckey. You can apply additional role bans to stack them.

New unbanning panel:
Unbanning panel is now separate from the banning panel but otherwise functionally the same.

Ban editing panel:
Actually just a modified banning panel, all the features from it work the same here.
You can now edit almost all parameters of a ban instead of just the reason.
You can't edit severity as it's not really part of the ban.
The panels have been tested but I've not been able to get my local server to be accessible so ban functionality isn't properly confirmed. Plenty of testing will be required as I'd rather not break bans.



cl
admin: Ban interface rework. The banning and unbanning panels have received a new design which is easier to use and allows multiple role bans to be made at once.
prefix: Ban search and unbanning moved to unbanning panel, which is now a separate panel to the old banning panel.
/cl
2018-12-05 08:48:37 +13:00
Jordan Brown
db68cd1f9d Leverage the TGS4 chat tagging system for the new game message (#41697)
Allows specifying the tag to send the game announce message to on TGS4

Needed by downstreams
2018-12-01 15:33:20 -08:00
Kyle Spier-Swenson
08ff95180a Allows floats on all config entries that have no valid reason to disallow them (#41624)
* Allows floats on all config entries that have no valid reason to disallow them

Needed for run speed changes, but I'm allowing them on any config that has no bonafide reason to disallow them.

The criteria used was "Is there a technical reason why floats should not be allowed or is there a technical/logical reason why floats would never mean anything more compared to a integer".

For instance: The cloning timer was made to allow floats because 0.5 ds increments are valid at our current fps and more would be valid at other fpses. Yes, from a practical standpoint nobody would ever want to have cloning be valid for 30 minutes and 50 milliseconds after death, but from a technical standpoint there is no reason not to let them.

* Update general.dm
2018-11-22 18:33:53 -05:00
XDTM
2ddf3609fe configurize 2018-10-26 16:49:59 +02:00
ShizCalev
c12012c3ad Admin prefs stuff (#41041)
fixes #41106 since it'll have it's own fucking location.

cl ShizCalev
add: Admins can now personalize their asay message color on servers with the feature enabled.
tweak: Moved some admin only preference verbs out of the Preferences tab and to a new admin preferences tab to help unclutter it / prevent accidental toggling of fun things.
/cl

Note that the start of the admin message will still use the default formatting just so it can be quickly recognized as an admin message and not an OOC one.
2018-10-25 11:43:30 +13:00
ShizCalev
d05a25d43b changed config to use seconds to be more user friendly 2018-10-18 17:48:27 -04:00
ShizCalev
b3e4cc3dc2 Automatically reopens position slots of mobs who suicide at roundstart 2018-10-17 19:57:15 -04:00
Mike Long
8dc15f30d1 Fixes errant capitalization based compile error 2018-10-13 18:35:04 -04:00
Mike Long
ca088fbe19 Fixes gamemode reports to not generate duplicates when there's a gamemode subtype. 2018-10-13 18:28:56 -04:00
vuonojenmustaturska
6f26dfd1df Overhaul mecha logging (revival of oranges's PR) (#40664)
* Overhaul mecha logging

Removes user access to the log, not needed and that log can get large

removes all the internal log vars and passes all logging through to a
new log file, the mecha log

* somehow this makes it compile

* add it to the config too
2018-10-05 09:59:28 +13:00