Commit Graph

1031 Commits

Author SHA1 Message Date
Jordan Brown
495ab46854 Merge pull request #51419 from Rohesie/vars
More variable declarations moved to their object definition 4
2020-06-09 20:59:05 -04:00
Tad Hardesty
829e95896e Replace BSQL with rust-g, paramaterize all queries (#51255)
cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl

Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.

Also updates rust-g to v0.4.5:

    Improved Linux .so detection
    Perlin noise functions

Also updates Travis script to bionic.
2020-06-08 16:00:07 +12:00
L
4e5306f754 More defines moves 2020-06-01 20:18:44 -03:00
BeeSting12
b0a17333f3 fixes grammar (#51387) 2020-06-01 03:04:12 +02:00
Rohesie
9768c09637 Client vars (#51325) 2020-06-01 02:42:18 +02:00
PrimordialOoze
60a9158a9b Better Player Ignore (#51353)
* Revamp the player ignore system

* Move a variable definition out of a loop

* Replace a |= with +=

* Improve some code

* Fix some code

Co-authored-by: Local <none>
2020-06-01 01:01:40 +02:00
Ryll Ryll
6bf874839a Adds new body type pref (#51058)
* tgdb

* tgdb

* Auto stash before cherry pick of "balance changes, enables burn surgery, various body improvements"

* moves unnecessary list out of client

* describes a var

* corrects
2020-05-29 14:25:01 -03:00
MrDoomBringer
3546417d7f Improves player retention by leveraging existing assets to incentivize higher average playetime (#51297)
* im a player ok that means i play

* FINE

* you win this time, shaps

* makes floyd happy

* Update code/__DEFINES/misc.dm

* i was just playing cyberboss dont be mad at me

* changes one character in a comment
2020-05-27 18:29:42 -04:00
nemvar
8aa8d867a4 Fixes scaling names (#51311) 2020-05-27 23:09:07 +08:00
Qustinnus
cab62745bb fuck (#51250) 2020-05-26 22:19:31 +08:00
LemonInTheDark
a08f2113a4 Unfucks smallscreen, removes my stupidity (#51266)
* slightly less SHIT FUCK SHIT FUCK

* Turns out we do need this

* YaYeet

* That should do it
2020-05-25 23:38:10 -03:00
spessman-007
ab84042f94 [READY] Improve spelling (#51134)
* Improve spelling

* Spell isn't, ain't, shouldn't, hasn't, wasn't correctly

Co-authored-by: NewSta <spessman-007@users.noreply.github.com>
2020-05-25 02:13:37 +08:00
LemonInTheDark
1614501d23 Datum view and some other things (#51208)
* Datumizes all uses of change_view

* Cleanup and helper procs

* tweaks values to match the format, hint hint, (value - 0.5) works just fine

* And there's the rest

* woop, braindamage

* and one more

* fuck you menu file

* woops

* we should apply that

* fixes tooltip drift, thank you goon coders

* you can shake but you can't zoom
2020-05-25 01:53:51 +08:00
Ryll Ryll
753af7bda5 Adds friendly commendations (#51217)
* with message

* remove message, neaten up
2020-05-25 01:49:12 +08:00
Jordan Brown
63e20801ed TGS chat usage cleanup
- Rename send2tgs to sent2adminchat.
- Move both chat procs to SSdiscord.dm.
- Fix bug when sending to TGS4 non-admin chats.
- Add DMdocs
- Improve notify command
  - Store mentions as strings
  - Disable command if config setting isn't enabled
2020-05-23 13:33:09 -04:00
Qustinnus
3803d6a817 Adds hardcore random mode: Earn your way onto a score-board with difficult random characters (#50606)
* start

* done

* done

* gold wheelchair

* mats

* icons

* Update code/datums/achievements/hardcore_random.dm

Co-Authored-By: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* fixes

* Update code/controllers/subsystem/processing/quirks.dm

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

* proc

* Update code/__HELPERS/roundend.dm

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

* Update code/__HELPERS/roundend.dm

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

* playtime stuff

* Update code/__HELPERS/roundend.dm

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

* Update code/__HELPERS/roundend.dm

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

* Update code/__HELPERS/roundend.dm

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

* Update code/datums/traits/_quirk.dm

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

* Update code/datums/traits/negative.dm

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

* Update code/modules/client/preferences.dm

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

* Update code/modules/client/preferences.dm

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

* Update code/modules/client/preferences.dm

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

* fixes

* done

* fix

* removes u

* Update code/modules/client/preferences_savefile.dm

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

* overlay

* Update code/modules/mob/dead/new_player/preferences_setup.dm

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

* Update code/modules/mob/dead/new_player/preferences_setup.dm

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

* less braindead code

* woops

* Update code/__HELPERS/roundend.dm

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

* Update code/__HELPERS/roundend.dm

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

* Update code/controllers/subsystem/ticker.dm

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

* done

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-05-10 12:16:01 -03:00
Rob Bailey
a522c199c7 change default pref for viewport fitting (#50749)
About The Pull Request

Changes the pref for fitting viewport to automatic. This not being the default has always confused me, and should resolve some teething issues widescreen is having.
Changelog

cl
tweak: Auto fit viewport is now the default, and everyone's setting for this has been reset to the default. If you don't know what this means, it's safe to ignore.
/cl
2020-04-30 10:31:11 +12:00
Iamgoofball
c1aec94be8 Fixes the 50% time dilation on every server by removing demos, an admin only tool that is the laggiest thing on the planet for incredibly little gain. (#50658)
* Fixes the 50% time dilation on every server by removing demos, an admin only tool that is the laggiest thing on the planet for incredibly little gain.

* appeases the linter
2020-04-26 12:54:01 +12:00
Bobbahbrown
6578479184 [READY] Runechat: 'Runescape-like' Chat Message Overlays (It's back!) (#50608)
* first-version

* let's do those recommendations first

* color moment

* reorganization, prefs

* certified layer moment

* virtual speakers BEGONNE

* remove naughty bits, better sizing

* gimme the message mode

* rename that pesky pref and hide chat bubbles

* exponential decay moment

* async moment

* fixes

* fixes

* the players have decided they don't want to hear themselves on radio

* Fix bug with holograms incorrectly rendering messages

* rohesie's suggestion

* Color tweaks

* hallucinating now shows message properly

* pref moment

* updates

* rohesie's suggestions

* fix moment number 5

* less smelly more epic

* unfix the fixes and refix them

* a conscious change

* return of the prefs
2020-04-25 15:48:10 -03: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
Rob Bailey
c20a04543b Port of Replays from Yogstation (#48579)
* demos (ported from yogstation)

rustg update + write with no format

use external hook for logging

use proper log vars

fix + clarifying comment

don't start the log

release build of rust-g

fix something caught by the lint

Update code/__DEFINES/subsystems.dm

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

Update code/controllers/subsystem/demo.dm

Co-Authored-By: JJRcop <jrubcop@gmail.com>

Update code/controllers/subsystem/demo.dm

Co-Authored-By: JJRcop <jrubcop@gmail.com>

moves hooks out of a dedicated file

len = 0 to Cut(), remove semicolons

untyped loop

* updated rust_g

* 513 updates
2020-04-06 13:15:48 -04:00
Rohesie
6f7f3bab9f Client var moves (#50304) 2020-04-01 14:39:49 +08:00
Kyle Spier-Swenson
128859ab81 Smart Asset Cache - no more resending assets on round restart. (#49982)
The asset cache will now store json on the player's computer with info on what browser assets they have, all non-active assets (anything but .js(m) and .htm(l)) are reused in further connections. Browser assets in byond persist for an individual dream seeker instance, and are destoryed when the window is closed (so this only helps reconnects and round restarts) The data is stored in the client's asset folder to ensure its current and retrieved using javascript and sent back to the server using ajax(XHR).

The md5 of the asset files are generated on the server and stored on the client. It is used to validate the asset hasn't changed from a code update, and is not re-checked client side.

To ensure this can't be used by a malicious byond server to override javascript assets before redirecting people to /tg/ (where the attacker's javascript would then be allowed to run verbs and spoof topics) we do not mark javascript as pre-loaded when loading the client's asset cache json file on connection.
Other Changes

    I moved some things around, the asset cache file was getting thicc:
        Put new asset cache datums into code/modules/asset_cache/asset_list_items.dm
        Find the asset cache datum abstract definitions inside code/modules/asset_cache/asset_list.dm
    I fixed a bug where blocking asset sends would not block later calls to send the same asset while the send was still underway - todo: have it bind to the first send rather then initating its own.
    The small file sent to the client to verify it got all pending asset sends will no longer use random names. This should keep the client's asset folder from exploding with hundreds of random htm files, much to the joy of oranges.
    Passively loading assets no longer batches.
    Unified the two procs.
2020-03-26 22:05:43 +13:00
skoglol
0df6ed819b increases prefs bitflag sanitize to 24 bits (#49993)
About The Pull Request

We didnt increase the sanitize range when we started using 24 bit bitfields, kept defaulting you if you happened to use any of the newer settings.
Why It's Good For The Game

Fixes #48978
Fixes #49988
Changelog

cl Skoglol
fix: OOC preferences should now be saving properly again.
/cl
2020-03-17 12:23:35 +13:00
KomradeSpectre
05b64182a9 Adds an End of Round Sound Toggle Preference (#49805)
* how about yee(naw)

* Fixes an issue with order in preferences.dm and adds a null check in ticker.dm

* updates the savefile max ver and adds a condition for it in update_preferences

* Puts the call sound(round_end_sound) outside of the loop into a variable that we insert the reference into the loop.
2020-03-14 12:34:04 +01:00
Time-Green
0cac6d4e20 adds snail achievement to genetics (#49515) 2020-02-25 16:07:42 +01:00
spookydonut
6401ba5708 Merge pull request #49421 from ShizCalev/define-cleanup
Cleans up redundant math defines
2020-02-20 19:32:36 +08:00
ShizCalev
7a24755696 Merge pull request #49393 from kriskog/keybinds
Forces basic keybind reset, fixes some older savefile issues.
2020-02-18 22:43:04 -05:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
Aleksej Komarov
baf9bd2f95 REMOVES TGUI (#49330)
* Removes tgui

* Make tgui script executable again

* Set version of packages to 2.0.0

* Update copypasta docs to match the current best practice

* Rebuild tgui

* Update .github/CONTRIBUTING.md

Co-Authored-By: BadSS13Player <58376109+BadSS13Player@users.noreply.github.com>

* Remove holy bible by Arcane

* rebuild

Co-authored-by: BadSS13Player <58376109+BadSS13Player@users.noreply.github.com>
Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-02-17 04:51:56 -08:00
skoglol
eb075ffc59 Sets more sane default keybinds 2020-02-16 14:29:37 +01:00
Denton
c39fecf80f Moves duplicate CID/IP logging to log_admin_private() 2020-02-10 20:46:01 +01:00
peoplearestrange
c8bd6a175d changes to category
changes Administration to Admin
2020-02-04 20:23:30 +00:00
peoplearestrange
060d16d5eb Changes to category
changes Administration to Admin
2020-02-04 20:23:13 +00:00
peoplearestrange
75304837f0 Changes Category
Adminwho = Administration
2020-02-04 04:36:01 +00:00
peoplearestrange
c9f82866ae Changes Category
Set player OOC color = Server
Reset player OOC color = Server
Adminnotice = Administration
2020-02-04 04:35:21 +00:00
AnturK
b93781eb71 Fix /client/Del to call Destroy (#49096)
Weird side-effects here we go.

Moved the removal to the top because that's pretty much most important thing here.
2020-02-02 19:59:06 -08:00
MrPerson
12eecfd181 Makes raw HTML and browser datum popups UTF-8 aware (#49066)
* Makes raw HTML and browser datum popups UTF-8 aware

Admin menus specifically really shouldn't break just because you named some guy "☺s the Clown"

* Fixed new_player.dm

* Fucking filing cabinets
2020-02-01 22:14:31 +01:00
Names Are Hard
a77376977a Fix phobia quirk preferences not being saved (#49005)
Phobias are finally saved properly in character prefs, whoops.
2020-01-26 16:29:16 -08:00
skoglol
b735d25cb6 Swaps boh and ooc confirm dialog button positions (#48905)
* Swaps boh confirm dialog button positions

* and the ooc alert
2020-01-22 12:52:17 -05: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
spookydonut
3195ceaa22 Update SpacemanDMM suite to 1.2 (#48785)
* Update SpacemanDMM suite to 1.2

* Fix new lint errors
2020-01-16 11:49:39 -05:00
AnturK
8e94ad36a1 Fix santize_hexcolor (#48716)
This whole helper is a mess. Maybe I should just replace it completely 
instead.
2020-01-12 19:13:00 -08:00
Qustinnus
be23312096 New achievements and achievements icons (#48544)
* sdasd

* fixes

* fixed

* attempt 2

* Update skill_achievements.dm
2020-01-12 18:46:51 -08:00
actioninja
db161a7570 Roulette Machine
initial work

more work

more roulette work

more work

more

yet more

FINALLY

small fixes

use global colors for last spun box

no low memory mode

cleanup

nuke old roulette assets

kills remaining 2 usages

forgot this var
2020-01-10 20:05:11 -08:00
oranges
70bb8fde34 Some changes suggested by lummox 2020-01-05 05:12:06 +00:00
Rob Bailey
ba876548f3 Revert "[ready] Smooth-ish move rising: revengeance" (#48156)
Reverts #47817

People are complaining about motion sickness and I don't know what the issue is.
2020-01-04 23:58:31 +13:00
Jordan Brown
b679b35bca Fixes false positive quirk cap trigger (#48452)
The positive quirk cap failure will only trigger when attempting to add more positive quirks
2019-12-30 22:49:38 +01:00
AnturK
47b168f4a3 Makes config version check support beta properly. (#48459) 2019-12-30 15:57:10 -05:00