Commit Graph

3056 Commits

Author SHA1 Message Date
SkyratBot
c0706f4a41 [MIRROR] Field of View and Blindness improvements [bounty + upstream push] [MDB IGNORE] (#10060)
* Field of View and Blindness improvements [bounty + upstream push]

* Update death.dm

* almost done

* Update fov_handler.dm

* Face mouse when in combat mode, fix

* Fixes the category for the fov admin verb. #63401

* Fixes objects with bad planes and FoV bugs #63412

* pain

* there we go

* face pref

Co-authored-by: Azarak <azarak10@gmail.com>
2021-12-22 14:56:01 +00:00
SkyratBot
e33577856c [MIRROR] Fix: potential bucket corruption in timer reset_buckets [MDB IGNORE] (#10156)
* Fix: potential bucket corruption in timer reset_buckets (#63427)

Ports Semoro's fix (ss220-space/Paradise#511) related to potential SStimer bucket corruption which caused infinite loop.

    The essence of the fix is that earlier timers with a built linkedlist could get into the second queue, which could cause an incorrect state. It works super stupidly, resets the state to the original correct one

BUT THERE IS STILL A BUG IN THE CODE RELATED TO THE INFINITE LOOP!

For some reason the SStimer on our server started to break recently at the beginning of the round. Found that code for waterfall drip effect was causing the issue. Found that setting frequensy to 0 (and calling reset_bucket sometimes) can be used to reproduce the bug. Tried to fix it with this PR

there is an oustanding bug with airlocks causing SStimer to brake sometimes.

cl
fix: fixed potential bucket corruption in timer reset_buckets
/cl

* Fix: potential bucket corruption in timer reset_buckets

Co-authored-by: Aziz Chynaliev <azizonkg@gmail.com>
2021-12-22 14:48:24 +00:00
SkyratBot
3e1dc23525 [MIRROR] Updates Round End News Message for when Nuclear Operatives succeed to be more gender-neutral [MDB IGNORE] (#10163)
* Updates Round End News Message for when Nuclear Operatives succeed to be more gender-neutral (#63512)

About The Pull Request

On the tin. Hopefully the comedic timing isn't TOO gadzonked from this, but I think it feels OK.
Why It's Good For The Game

It just doesn't make sense to have the gender-neutral "he" for this game when you could have someone playing a female character (or anything else). I shrug my shoulders and ride off into the sunset.
Changelog

cl
fix: The Nanotrasen News Network has updated their news tickers for when a station horrifically blows up to be more accommodating towards the person directly responsible for making sure it didn't horrifically blow up.
/cl

* Updates Round End News Message for when Nuclear Operatives succeed to be more gender-neutral

Co-authored-by: san7890 <34697715+san7890@users.noreply.github.com>
2021-12-21 18:02:00 +00:00
Seris02
2d5af68b75 [SEMI-MODULAR] Nerve staple bounty (#9970)
* temp commit

* nerve staple

* adds an icon

* yeah okay sure

* icon fixes

* final changes

Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2021-12-19 02:19:20 +00:00
SkyratBot
a526c6070a [MIRROR] Makes all default job titles, defines. [MDB IGNORE] (#10080)
* Makes all default job titles, defines.

* Makes all default job titles, defines.

* whitespace

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
2021-12-18 16:54:03 +00:00
Zonespace
9979fc30f8 [NON-MODULAR] The flavor text requirement now doesn't let you open the latejoin menu or ready up (#10063)
* fuck

* let's do pregame too
2021-12-15 17:19:05 +00:00
Gandalf
27c2f9fd08 Events audit, moving overrides to modular files + TEMP FIX (#9941)
* RESET

* debug stuff

* Update events.dm

* fixed

* Modular override file

* Update event_overrides.dm

* Update event_overrides.dm

* Update cme.dm

* Update event_overrides.dm

* Update game.dm

* 0

* 0

* Update events.dm

* E

* Update code/modules/events/_event.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update event_overrides.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-12-15 01:48:44 +00:00
ChungusGamer666
9b405a82a0 Makes the "Do your job regardless of alt title" warning extra loud and obnoxious (#9999)
* if you ignore this you are legally blind

* woops.

* even louder
2021-12-13 11:01:42 +00:00
nevimer
a2fb4eb5ab [SEMI-MODULAR]Require flavour text to join the round. (#9969)
* Place 1 missing distro pipe segment

* Revert "[MIRROR] Gasmaks tint and tint calculation update (Oranges approved edition) [MDB IGNORE] (#9817)"

This reverts commit d0987f545e.

* Revert "Revert "[MIRROR] Gasmaks tint and tint calculation update (Oranges approved edition) [MDB IGNORE] (#9817)""

This reverts commit df2c3caa41f60a6711ff59e290edc835154fcd9f.

* Require flavour text to enter the round.

* Update code/__DEFINES/jobs.dm

Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>

* 150 min

* request for unicode

Co-authored-by: SkyratBot <skyratcommunity@gmail.com>
Co-authored-by: nevimer <foxmail@protonmail.com>
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
2021-12-13 10:43:09 +00:00
SkyratBot
624c7d6d55 [MIRROR] TGUI input box conversions 1 [MDB IGNORE] (#10020)
* TGUI input box conversions 1

* Fixing conflicts!

* Whoops

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-12-13 10:41:44 +00:00
SkyratBot
b7164873d4 [MIRROR] Speeds up the preference menu, significantly. Adds object pooling, other stuff too [MDB IGNORE] (#9962)
* Speeds up the preference menu, significantly. Adds object pooling, other stuff too

* First fixes

* Feex

* Quick fix for the unit test to shut up

* Fixing the runtime with randomly-colored jumpsuits

* Fixes that one hard del

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-12-10 02:22:41 +00:00
SkyratBot
e5276a2c6f [MIRROR] Paintings improvements. [MDB IGNORE] (#9977)
* Paintings improvements. (#63170)

About The Pull Request

    Paintings can now do stroke painting.
    Added painting management panel for admins.
    Paintings now display author's character name, year of painting, medium and patron when hung on wall.
    You can become new patron by paying more than the previous one.
    Added painter's palettes to library vendor. (Sprites by @ Mickyan )

Backend changes:

    Images are now stored in /data/paintings/images/*.png instead of /data/paintings/[category]/*.png
    Old categories are now just tags

Screens & Video
Changelog

cl
add: You can now become patron of your favorite painting by buying sponsorship from Nanotrasen Trust Foundation.
add: Painter's palettes are now available at library vendor.
qol: Can use strokes in paintings now
/cl

* Paintings improvements.

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2021-12-09 16:47:52 -05:00
SkyratBot
463c2fc71d [MIRROR] multiz movement refactor redux [MDB IGNORE] (#9925)
* multiz movement refactor redux (#62132)

* multiz movement refactor redux

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-12-07 08:27:12 -05:00
SpaceVampire
3e3b7f3ae5 aaaa (#9845) 2021-12-04 02:37:49 +00:00
SkyratBot
959f66bf47 [MIRROR] Fixed spelling of possession, Separate, and Cemetery [MDB IGNORE] (#9862)
* Fixed spelling of possession, separate, and cemetery (#63203)

Just fixes some spelling for gangs. I also fixed misspellings for "posession" to "possession". Fixed "seperate " to "Separate" Fixed "Cemetary" to "Cemetery"

* Fixed spelling of possession, Separate, and Cemetery

Co-authored-by: Doctor Pope <84367152+Dr-Pope@users.noreply.github.com>
2021-12-03 16:58:40 -05:00
SkyratBot
2174618823 [MIRROR] TGUI pAI Hotfix 1 [MDB IGNORE] (#9855)
* TGUI pAI Hotfix 1 (#63160)

Adds a new ui state so that players can access the paicard tgui while it's slotted in their PDA (inside the pda wasn't technically in the user's close inventory).
Adds some documentation for the pAI candidate file
Users now get notifications if they can't save files (guest keys).
pAIs previously had NO on screen indicator of hack progress, so I've given them a progressbar over the door
More visual output for pAIs
More output for edge cases
More documentation
Fixes #63161

* TGUI pAI Hotfix 1

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2021-12-03 15:47:45 -05:00
SkyratBot
bfd0fed710 [MIRROR] Synthesizers and headphones can now have circuits! [MDB IGNORE] (#9818)
* Synthesizers and headphones can now have circuits! (#62825)

About The Pull Request

A circuit and shell components have been added to Synthesizers (headphones and spacepods included, though with a reduced capacity because of their size), so they can now be used for wiremod. Just like for instant cameras, no shell design here. They are meant to be found in dorms or maybe ordered from cargo.
Why It's Good For The Game

The station outside the sci department has plenty of USB ports stuff but is lacking when it comes to circuits shell. This is another small step toward a better and more applicable wiremod.
Changelog

cl
expansion: Synthesizers and headphones can now have circuits installed.
/cl

* Synthesizers and headphones can now have circuits!

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-12-01 22:32:33 +00:00
SkyratBot
43cb9a554b [MIRROR] pAI TGUI conversion [MDB IGNORE] (#9784)
* pAI TGUI conversion

* Feeeeeeex

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-11-30 01:18:16 -05:00
Tastyfish
4eefadc8b4 Alternative job titles in the Occupations screen actually used in-game (#9420)
* Added alt jobs names actually doing something.

* Also add late join announcements.

* Fix custom roles showing up first in crew monitor

* Cleanup to match upstream changes

* Updates from review, also improve both tgui manifests

* Compromise for Skyrat edit notes vs JSX vs linter

* Compromise for optimization vs not making a horrible mess of passing client around

* Follow module rules

* Revert no longer true changed to customization readme

* Update dme

* Fixed comments for alt titles
2021-11-27 22:18:45 -05:00
Tom
056b652ebc Barber fix (#9613) 2021-11-26 16:56:00 -05:00
SkyratBot
ea65511447 [MIRROR] Add disabling footstep sounds and parallax to the lag switch panel [MDB IGNORE] (#9645)
* Add disabling footstep sounds and parallax to the lag switch panel (#62999)

At the last Toolbox Tournament, @ MrStonedOne pointed out some big performance consumers. Some are disablable through easy means, but others were not. This adds two easy ones to the mix.

* Add disabling footstep sounds and parallax to the lag switch panel

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-11-23 08:44:29 -05:00
SkyratBot
05e3188e09 [MIRROR] Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second. [MDB IGNORE] (#9604)
* Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second. (#62969)

Before, all items deleted would sit in a queue for 5 minutes, with all shrinks and expansions of said queue requiring byond to copy all of these items over to the new list.

Theory: 99% of items soft-delete within byond within the first second. (5 minutes is only needed because a byond quirk with items referenced by verbs)

Result:

Within the first 7 minutes of a local test launch and round start, ~35,000 things get qdeleted.

Of those 35 THOUSAND things, only 12 things failed as still referenced with a 1 second pre-queue.

Said 12 things passed as garbage collected at the 5 minute queue.

(Note: 30 thousand of these items are from world start and round init.)

I have no data on how much this speeds anything up, leaving a 30 thousand list (that has to be copyed every time qdelete processes it and cuts off the items it processed) hanging around for no reason for the first 5 minutes of the round was all i needed to justify the pr.

* Adds an additional queue to the qdel subsystem to quickly filter out things that garbage collect within the first second.

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2021-11-22 00:37:09 -05:00
SkyratBot
47dc6ab03d [MIRROR] [FUCK] Votes work again [MDB IGNORE] (#9593)
* Votes work again (#62973)

So, it was runtiming because it wasn't checking for the length of the list, so it was failing to display the results and failing to do anything about the results of said vote. That means map votes didn't do anything.

* [FUCK] Votes work again

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-11-21 01:10:24 +00:00
SkyratBot
d6a1ad473f [MIRROR] Allows players to send more visible adminhelps when no admins are on, which'll definitely alert admins [MDB IGNORE] (#9583)
* Allows players to send more visible adminhelps when no admins are on, which'll definitely alert admins

* db portion sorted out

* now it really is

* should work about fine

* one last touch

* well, one more

* also botched comment

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2021-11-20 22:41:53 +01:00
SkyratBot
a94325afe4 [MIRROR] Replacing more C-style for loops with the faster, traditional ones. [MDB IGNORE] (#9560)
* Replacing more C-style for loops with the faster, traditional ones. (#62908)

* Replacing more C-style for loops with the faster, traditional ones.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-11-19 20:37:13 +00:00
SkyratBot
7c55a7602f [MIRROR] Move conveyor belts to their own subsystem for easier disabling, rename conveyor2 to conveyor [MDB IGNORE] (#9554)
* Move conveyor belts to their own system, rename conveyor2 (#62911)

Renames conveyor2.dm to conveyor.dm, and removes the historical comment about "new conveyor belts". As a reminder, comments should be about what the code is now, not what it used to be. (Muh history -Lemon)

Moves conveyor belts to their own SS with an identical wait. It is very common, as an admin, for me to want to adjust conveyor belt processing, either to make it faster (for laughs) or to disable it when it is causing heavy lag. It is very difficult to do this (especially the former) because it just uses fast process.

* Move conveyor belts to their own subsystem for easier disabling, rename conveyor2 to conveyor

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-11-19 20:37:02 +00:00
OrionTheFox
6c117e2d3f Modularizes HUD icons, fixes missing HUD icons & department guards' IDs (#9482)
* Fix departmental guard ID/HUD

* hudfuckeryihatethissomuch

Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-11-17 03:10:18 +00:00
SkyratBot
97c8ff50ec [MIRROR] FindOccupationCandidates will no longer die if the client disappears halfway through the proc. [MDB IGNORE] (#9493)
* FindOccupationCandidates will no longer die if the client disappears halfway through the proc. (#62819)

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

* FindOccupationCandidates will no longer die if the client disappears halfway through the proc.

Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-11-16 15:54:46 -05:00
SkyratBot
296d749e2e [MIRROR] market crashing is now a status strait to avoid concurrence problems. [MDB IGNORE] (#9434)
* market crashing is now a status strait to avoid concurrence problems.

* Update economy.dm

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-11-14 23:32:09 +00:00
SkyratBot
2e0e84a6dd [MIRROR] Antag HUDs will now animate if you have multiple antagonists, and will no longer clear on deconversion [MDB IGNORE] (#9397)
* Antag HUDs will now animate if you have multiple antagonists, and will no longer clear on deconversion (#62718)

About The Pull Request

This is for the admin combo HUD. Players shouldn't notice any difference (except at roundend).
2021-11-09T16-27-26.mp4

Removes the ability to set custom antag HUDs for custom admin teams for complexity, though if there's a large enough demand I can try to bring it back in another PR.

Fixes #59767

TM candidate only so that I can make sure antags aren't getting leaked to people who shouldn't see them.
Changelog

cl
fix: Antag HUDs will no longer clear on deconversion if the player was another antag.
qol: Antag HUDs (as seen by admins and at the round end) will now animate between all antagonists, rather than just choosing the most latest.
/cl

* Antag HUDs will now animate if you have multiple antagonists, and will no longer clear on deconversion

* Update sol_fed.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-11-14 23:27:01 +00:00
SkyratBot
ff74ed72a1 [MIRROR] Removes cryostasis pods from the game pending creation of a proper design document [MDB IGNORE] (#9418)
* Removes cryostasis pods from the game pending creation of a proper design document

* Axe body spray

* Update ai.dm

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-11-14 22:44:45 +00:00
SkyratBot
270a8253bf [MIRROR] Routine Cargo Departmental Deliveries [MDB IGNORE] (#9405)
* Routine Cargo Departmental Deliveries (#61992)

About The Pull Request

Document: https://hackmd.io/@ bazelart/HkY-SO9VF

Each department's request console is upgraded. Instead of making requests, they are only able to see crates related to their department that helps the department. They can order one for free (so not out of anyone's wallet) and it will arrive at cargo. Cargo gets the price of the ordered crate for bringing it to the department that ordered it (via an area check, of which the crate will remain locked until satisfied, emitter cracking aside).

Ordering a crate puts the console on a cooldown depending on the price of the crate ordered. The time ranges from 10 minutes at the lowest value, to capped at 20 minutes at 4x the default crate's price. the price in time follows a ease in out circular function, where the time increases slowly as the time goes up, but a lot in the middle. towards the higher end it slows down again.

Cargo will start with far less money, but this is countered by the new source of income.

Finish Mapping it
Finish tgui panel for department orders
Testmerge it for balance and feedback who cares

    Maybe give multiple destination areas, just in case one area gets obliterated who cares!

Why It's Good For The Game

Cargo starts with a budget to spend on themselves, which lets them order their department rewards before doing anything. There is no inherent reward to delivering to other departments other than social expectations of filling the job, which means cargo will simply ignore deliveries and requests if there are more self-important things going on, since those deliveries both cost cargo and do not help cargo in any way
Changelog

cl
add: replaced the request consoles in each department with department order consoles, which order for free on a cooldown. cargo gets these orders and delivers the crates, which are locked until delivery. upon delivery, cargo gets paid the value of the crate, and can then sell the crate back on the shuttle.
balance: cargo doesn't start with a budget, other departments get what their budget was split up amongst them
/cl

* Routine Cargo Departmental Deliveries

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-14 12:04:29 -05:00
SkyratBot
08bd01ea3d [MIRROR] Overhauls job eligibility checking and improves job debug logging. [MDB IGNORE] (#9348)
* Overhauls job eligibility checking and improves job debug logging.

* Fixing conflicts

* Makes Veteran the first check since it's the most likely.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-10 16:39:42 -05:00
SkyratBot
9750cca7cb [MIRROR] The word filter will now be less scared of double or trailing spaces [MDB IGNORE] (#9375)
* The word filter will now be less scared of double or trailing spaces (#62703)

It kept on tripping because the RegEx expression was malformed due to an absence of words in to_join_on_whitespace_splits, which caused it to filter out spaces that were at the beginning or at the end of a message, or if there was two spaces one by the other.

Also prevents people from sending a message that's only spaces in OOC, because that's a little silly.

* The word filter will now be less scared of double or trailing spaces

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-11-10 14:47:59 -05:00
SkyratBot
ad008ecfa6 [MIRROR] Adds logging for all Silicon rather than just Laws [MDB IGNORE] (#9346)
* Adds logging for all Silicon rather than just Laws (#62500)

I find stuffing everything in game.log is a real problem when you need to actually find useful information about what happened to a specific Silicon. It's hard to tell what happened to Silicon throughout a round, even when crossreferencing attack/game logs, so having a Silicon log for all the information related to them would be really useful.
For example, a Cyborg can spawn unlinked on Robocop, go Janitor and crowbar someone to death with a Robodoctor AI. When looking through logs, an Admin can easily assume it was a rogue Engineering cyborg who disobeyed their laws to kill someone.
This also isn't adding a whole new log file, more than it is just renaming the law log file to silicon and adding more useful things into it, so it isn't logging bloat (if that's even a concern)

* Adds logging for all Silicon rather than just Laws

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-11-09 14:16:27 -05:00
SkyratBot
c9b3accbac [MIRROR] Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby [MDB IGNORE] (#9341)
* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby (#62670)

* Adminwho and the status panel now shows when fellow admins are readied up in pre-game lobby

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2021-11-09 09:41:43 -05:00
SkyratBot
5d5428ed6d [MIRROR] Add healing aura component [MDB IGNORE] (#9303)
* Add healing aura component (#62526)

* Add healing aura component

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-11-08 06:45:41 -05:00
SkyratBot
551fa984bb [MIRROR] Map load unit testing and directory whitelisting - Mojave Sun is a really cool downstream, like and subscribe for longer PR names. oranges was here and made this github PR name much longer, thereby proving once and for all that upstreams do add value to the downstream not just endless amounts of refactoring because we can't write any api's in a modular fashion the first time around so have to update them later to be modular. Anyway do you think a taco counts as a sandwich? [MDB IGNORE] (#9290)
* Map load unit testing and directory whitelisting - Mojave Sun is a really cool downstream, like and subscribe for longer PR names. oranges was here and made this github PR name much longer, thereby proving once and for all that upstreams do add value to the downstream not just endless amounts of refactoring because we can't write any api's in a modular fashion the first time around so have to update them later to be modular. Anyway do you think a taco counts as a sandwich? (#62620)

About The Pull Request

This is a fix for map not load anymore because of security changes
Why It's Good For The Game

Maps are good as they encourage gameplay and differentiate ss13 from a classic MUD game
Changelog

cl
add: unit test for map load
add: directory param to map load + whitelist for data and _maps
add: advertising for mojave sun in tg commit logs
/cl

* Map load unit testing and directory whitelisting - Mojave Sun is a really cool downstream, like and subscribe for longer PR names. oranges was here and made this github PR name much longer, thereby proving once and for all that upstreams do add value to the downstream not just endless amounts of refactoring because we can't write any api's in a modular fashion the first time around so have to update them later to be modular. Anyway do you think a taco counts as a sandwich?

Co-authored-by: AndrewL97 <andrewjlove97@gmail.com>
2021-11-07 08:09:43 -05:00
SkyratBot
ec8ac5f18f [MIRROR] Makes maps be able to load correctly again [MDB IGNORE] (#9276)
* Makes maps be able to load correctly again

* Feex

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-11-06 15:27:52 -04:00
SkyratBot
d45e3ce55f [MIRROR] [s] Security vulnerability patch [MDB IGNORE] (#9256)
* [s] Security vulnerability patch (#62568)

About The Pull Request

In my personal, subjective opinion; trialmins should not, in fact, be able to read and delete server/box configuration files on a whim.

cl
server: Patches multiple(?) arbitrary file related vulnerabilities
/cl

* [s] Security vulnerability patch

Co-authored-by: TheFakeElon <59686430+TheFakeElon@users.noreply.github.com>
2021-11-06 19:47:20 +13:00
SkyratBot
b7b6bd501f [MIRROR] removes double spaces AFTER symbols [MDB IGNORE] (#9226)
* removes double spaces AFTER symbols

* Fixing conflicts

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-05 18:15:12 -04:00
SkyratBot
c4f64adb2c [MIRROR] Splits init profiles into a seperate log file [MDB IGNORE] (#9253)
* Splits init profiles into a seperate log file (#62545)

* Splits init profiles into their own file, so we can better track where pain points come from.
After all there's no point in knowing that sprite sheets generate 32 seconds of overtime during init if you
only care about inround, or vis versa.

(I'm tired of people freaking out about blends that are only done during init)

* Whoops

* Splits init profiles into a seperate log file

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-11-05 17:18:15 -04:00
SkyratBot
835e2b42d8 [MIRROR] Undoes "Removes CHECK_TICK from overlays, following the same theory as instant explosions" (#58382) [MDB IGNORE] (#9216)
* Undoes "Removes CHECK_TICK from overlays, following the same theory as instant explosions" (#58382) (#61919)

* Undoes "Removes CHECK_TICK from overlays, following the same theory as instant explosions" (#58382)

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-11-03 07:00:05 -04:00
SkyratBot
e90627be0e [MIRROR] Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed [MDB IGNORE] (#9176)
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed

* Fixing conflicts

* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)

* Removing more lingering rad armor (woo)

* Damnit powerarmors

* Bye bye rad collectors!

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-11-02 10:36:46 -04:00
SkyratBot
a31e4bedfa [MIRROR] Tackles various problems with keyed_list config entries, fixing broken roundstart races and more! [MDB IGNORE] (#9131)
* Tackles various problems with keyed_list config entries, fixing broken roundstart races and more! (#62359)

While helping RaveRadbury debug some issues with enabling Halloween species early via the brute force method of enabling them in the config rather than the gentleman's solution of testmerging a PR that changes the Halloween date, we discovered something dreadful.

Cloth golems cannot be enabled! Infact, any species with a space in the ID cannot be enabled.

It uses the splitter despite VALUE_MODE_FLAG being set. So a key entry like ROUNDSTART_RACES cloth golem would get parsed as cloth = golem, then entered into the config as cloth = TRUE
NEW AND IMPROVED PART HERE

I've re-written how keyed_list config entries are parsed, splitting it into a number of procs to do some discrete block of logic.

Based on feedback from MSO, he expected that VALUE_MODE_FLAG keyed_list entries could have elements overridden. However, this functionality was not present in the code.

I have implemented it. We now support 3 methods of setting VALUE_MODE_FLAGS.

Implicitly enable the config entry: CONFIG_ENTRY config_key_goes_here
Explicitly enable the config entry: CONFIG_ENTRY config_key_goes_here 1
Explicitly disable the config entry: CONFIG_ENTRY config_key_goes_here 0

There have been functionality changes too. Previously, everything before the first splitter was the key and everything after was the value. However, in ambiguous config entries (Such as ROUNDSTART_RACES cloth golem 0) it would be unclear if the intent was (cloth, golem 0) or (cloth golem, 0) or indeed if the intent was (cloth golem 0, 1).

As a result, there is now the following paradigm in place: Everything after the LAST splitter is the value, everything before is the key and a log_config warning is now given explaining the problem and showing how it was resolved.

[2021-10-27 19:48:12.840] WARNING: Multiple splitter characters (" ") found. Using "cloth golem" as config key and "1" as config value.

This warning will trigger if multiple splitters are present for any keyed_list config entry, and will trigger on implicit VALUE_MODE_FLAGS entries that have splitters. The example above is it triggering on ROUNDSTART_RACES cloth golem - It has detected that there is potential ambiguity between (cloth, golem) or (cloth golem, 1), has picked a sensible option for the data type and has warned about it.

The intent is that no config entry should be ambiguous. It should be clear what is key and what is value when dealing with keyed_list config entries.

There's probably more work to do on other config entries to bring them up to this standard, but this is the thing I'm hitting in this PR.

Similarly, I have improved the validation aspect of keyed_list config entries with additional logging in general.
[2021-10-27 19:47:53.135] ERROR: Invalid KEY_MODE_TYPE typepath. Is not a valid typepath: /mob/living/carbon/monkey

I have added a unit test to make sure species IDs do not contain splitters from the two keyed_list subtypes relating to species.

I have added sanity checking to the race config subtypes since we have a big dick global list of all races sorted by ID, so a race not existing will fail validation and output a meaningful config log entry.

I have removed /datum/config_entry/keyed_list/probability from the code as it is unused with the removal of all game modes except Dynamic.

The config change necessitated the renaming of all golem species IDs. Doing so and renaming the clothgolem.ts file to match has fixed the broken cloth golem page too.

* Tackles various problems with keyed_list config entries, fixing broken roundstart races and more!

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-10-29 21:07:21 +01:00
SkyratBot
b6ffb1e31b [MIRROR] Refactor /turf/var/intact [MDB IGNORE] (#9114)
* Refactor /turf/var/intact (#62331)

Turfs have a variable, intact, which conflates three meanings:

    Determining whether there's something that can be pried out, such as directly with a crowbar or indirectly with a tile stack and a crowbar off-hand.
    Determining whether underfloor pieces are visible.
    Determining whether underfloor pieces can be interacted with - by players with tools, through interaction with effects like chemical acid, or foam.

When plating is hit with a stack of tiles, /turf/open/floor/attackby checks whether the turf is intact, and if so, ends the attack chain regardless of whether or not the attempt to hotswap a turf (with a crowbar) is successful or not. However, turfs which want the underfloor to be visible - such as catwalks and glass - set the intact variable to FALSE, and so can be repeatedly placed over one another, as if they were the first tile to be placed over the plating.

This refactors /turf/var/intact into two distinct variables:

    /turf/var/overfloor_placed, for whether or not there is something over plating.
    /turf/var/underfloor_visible, for whether or not the various underfloor pieces should be invisible, visible, or both visible and interactable.

All references to /turf/var/intact have been replaced with an equivalent overfloor_placed or underfloor_visible reference, depending on which check is appropriate. underfloor_accessibility can take one of UNDERFLOOR_HIDDEN, UNDERFLOOR_VISIBLE, or UNDERFLOOR_INTERACTABLE. This prevents cases such as acid foam or tools phasing through glass floors to affect the underfloor pieces underneath, and covers all kinds of unusual, not-wiring-visiblity usage such as Holodeck completeness, Revenant interaction, or station integrity checking.

* Refactor /turf/var/intact

* Thank

Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-10-30 00:19:21 +13:00
SkyratBot
7954d664a8 [MIRROR] removes double spaces before symbols [MDB IGNORE] (#9117)
* removes double spaces before symbols (#62397)

This can apparently cause some bugs on occasions, so I thought I might as well try to kill them all.

* removes double spaces before symbols

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-10-29 04:14:00 +01:00
SkyratBot
fad38d8c24 [MIRROR] Adds the ability to soft filter words, also fixes some word filter bugs [MDB IGNORE] (#9062)
* Adds the ability to soft filter words, also fixes some word filter bugs (#62158)

* Adds the ability to soft filter words, also fixes some word filter bugs

* Fixing linters (you're welcome Jake!)

* Punctuation is my passion!1!!111!

Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: GoldenAlpharex<jerego1234@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-10-27 20:06:23 -04:00
Iamgoofball
fd577e0227 GoofSec: Departmental Guards, Stamina Crit Fixes, Armory Rework, 3-Hit-Stamcrit Batons, Flashbang fixes (#8524)
* GoofSec: Departmental Guards, Stamina Crit Fixes, Armory Rework, 3-Hit-Stamcrit Batons, Flashbang fixes

* More realism changes to the guns.

* "lmao lets just make bullets do double damage!!!!!"

* maint-fu properly restored

* fixes disabler desc

* sagwfwdqdqa

* Departmental Guard Drip + Fixing Guard Rolling Antags

* adds the trims for the guards

* haha yes i totally forgot the knockdown

* Brute damage hardlight bullets + map fixes!

* afwefqdqwd

* fixes security armor balance lmfao

* NICE FUCKIN MERGE CONFLICT

* Big Security Armor Rework + Fixing cell swapping issues

* Space Police!

* removes 2hand from the guns for now

* Fixes Guard antag rolling.

* Stamina crit filter is back!

* Fixed vendors, 911 overhaul, Re-added sec crates to cargo

* whoops haha

* afwvwsadcwaed

* efWEFwedqadq

* bank error, you have been rewarded 20 thousand credits

Co-authored-by: Funce <funce.973@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-26 17:17:20 +01:00
SkyratBot
5df61ee977 fixes non-widescreen titles not getting auto-centered on bootup (#8963)
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-23 00:43:14 +01:00